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

Reply via email to