On 04/11/2013 09:54 AM, Cedric BAIL wrote: > On Thu, Apr 11, 2013 at 3:41 PM, Michael Blumenkrantz > <michael.blumenkra...@gmail.com> wrote: >> So instead of being able to just write C code for our C libraries, we'd now >> have to write non-C code, run a generator, and then use this in addition to >> C code? > If you want you can still write just C code. It just make your life > easier by having less to type. And you avoid mistakes that you will take time to find, like forgetting one va_arg, swapping two va_args. > >> On Thu, Apr 11, 2013 at 6:06 AM, Cedric BAIL <cedric.b...@free.fr> wrote: >> >>> Hello everyone, >>> >>> One of the annoying things with Eo is that we now need to update a few >>> more place than before when we add a new function. We have to do : >>> - Add enum at the proper place in header >>> - Add macro for the function call in header >>> - Add function with proper argument in the C file >>> - Add declaration at the right place in the object table in the C file >>> - Add description at the right place in the description table in the C file >>> If necessary, we also have to do >>> - Add legacy prototype function in header >>> - Add legacy wrapper function in c file >>> >>> Of course when you create a new object you have even more boilerplate >>> to write. In fact, most of it can be inferred if we did have a >>> properly detailed prototype. So I would like to propose a tool, eo-gen >>> that would take a "json" like format (see a possible example there: >>> https://phab.enlightenment.org/P17 ). From this description file, it >>> will generate or update the .c and .h file. This json file would be >>> included into the distributed header of our library, so it could be >>> used by other tools. >>> >>> To properly update the .c/.h files, it will search for a know pattern >>> in the comment and use that to infer what is going on. Once using >>> eo-gen, it will not be possible to remove those comment without >>> breaking the capability to update the source. >>> >>> I know that some people have also been thinking about this problem, so >>> let's try to find a common solution there. >>> -- >>> Cedric BAIL >>> >>> >>> ------------------------------------------------------------------------------ >>> Precog is a next-generation analytics platform capable of advanced >>> analytics on semi-structured data. The platform includes APIs for building >>> apps and a phenomenal toolset for data science. Developers can use >>> our toolset for easy data analysis & visualization. Get a free account! >>> http://www2.precog.com/precogplatform/slashdotnewsletter >>> _______________________________________________ >>> enlightenment-devel mailing list >>> enlightenment-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >>> >> ------------------------------------------------------------------------------ >> Precog is a next-generation analytics platform capable of advanced >> analytics on semi-structured data. The platform includes APIs for building >> apps and a phenomenal toolset for data science. Developers can use >> our toolset for easy data analysis & visualization. Get a free account! >> http://www2.precog.com/precogplatform/slashdotnewsletter >> _______________________________________________ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > > > -- > Cedric BAIL > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >
------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel