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

Reply via email to