On Sun, 14 Apr 2013 10:54:44 +0300 "daniel.za...@samsung.com"
<daniel.za...@samsung.com> said:

> On 04/14/2013 10:27 AM, Carsten Haitzler (The Rasterman) wrote:
> > On Sun, 14 Apr 2013 10:06:47 +0300 "daniel.za...@samsung.com"
> > <daniel.za...@samsung.com> said:
> >
> >> Hi Raster,
> >>
> >> If I understand correctly, you would like to add some layer above Eo
> >> that would simplify writing code. I don't think people suffered enough
> >> to "hide" Eo ;-)
> >> As you said, a lot of details have to be checked, like for example how
> >> do you call these functions? with the previous writing way or with a
> >> shorten one?
> >> Same thing with eo_data_get and eo_do_super.
> > you call like now: eo_do(obj, methoda(x,y,z), methodb());
> > etc. we are just talking of how to cut down the boilerplate and reduce
> > errors, maing it easier.
> If we take your example, what is methoda? font_source_set or 
> eo_font_font_source_set? With the first one, we must be sure there is 
> not the same function name in another class (for the moment, we have 
> this kind of issue). With the second one, the developer has to guess the 
> function name.

probably 2nd one - but with the 2nd the public header is generated and that is
the canonical/actual api.

> >
> >> If we really go on this way, I would suggest to change the manner get
> >> functions return the values. Maybe something like Python. But here, same
> >> as before, have to check all the corners.
> >>
> >> Imo, we don't need to re-invent a new language that will take time to
> >> adapt to the existing code and may not be approved by all the world (as
> >> with Eo). I think a tool is preferable so I would go to something like
> >> Cedric proposed. And DO NOT THINK I agree with Cedric because we are
> >> both French (and you not) !!!
> > not thinking new lang. just thinking easier way to declare all the eo
> > boilerplate and maintain it. its really just a better cpp before cpp. i
> > don't see why not to be able to just write my c code method content right
> > there and then. otherwise this generator has to not just generate code by
> > EDIT existing code that you will have edited after intial generation as
> > opposed to just generate the surrounding boilerplate c ANd insert the code
> > you just wrote as part of it.
> I understand your point. But the real question is which issue we want to 
> solve. If we just want to add/remove Eo functions, a simple tool is easy 
> to write, sufficient and could be easily integrated into a future EFL 
> IDE. Updating the code is the hardest part but a simple C parser can 
> make the work easy (imo).
> If we want to adapt the syntax to the developer mindset, it is another 
> story that will take more time with more virulent discussions (hehe, as 
> usual in open-source). But it could be a better long-term solution. I 
> really don't know.
> 
> Maybe we need both tools. The simple tool for now, with possibility to 
> extend meta-data files to accept code in the future. And in parallel, 
> thinking and designing a new way to develop on EFL.
> >
> >> JackDanielZ, your favorite larbin
> >>
> >> On 04/11/2013 02:09 PM, Carsten Haitzler (The Rasterman) wrote:
> >>> On Thu, 11 Apr 2013 14:06:04 +0900 Cedric BAIL <cedric.b...@free.fr> said:
> >>>
> >>>> 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.
> >>> frankly i would prefer a syntax that works with the programmers
> >>> mindset/mode of working better:
> >>>
> >>> https://phab.enlightenment.org/P18
> >>>
> >>> and this leads onto the next logical step:
> >>>
> >>> https://phab.enlightenment.org/P19
> >>>
> >>> ie you can even place the code for methods right into the template and
> >>> they get output along with the boilerplate. (in this we make objd always
> >>> be the object private data etc. - sure some things not handled/explained
> >>> - more a position on syntax style and where it leads).
> >>>
> >>>> --
> >>>> 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
> >>>>
> >
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
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