On Fri, 14 Jun 2013 14:54:24 +0200 Jérémy Zurcher <jer...@asynk.ch> said:

> Hi,
> 
> I'm still adding my bits to _eo_class_mro_add,
> the end is near.
> 
> What do you think should be done,
> change a few, bin all , zillions or 1 phab rev, merge like a cowboy ??

actually... i'm more curious... you jumped in on eo pretty quickly after it hit
git... what do you think about eo in general? good/bad? before we start
building our universe around this... are there any really nasty things we
should fix before they are set in stone to retain api/abi? what could be done
to improve it and take it further over time to help people more?

stage 1 is pretty much done. current efl "classes" are mapped to eo and efl is
layered on top. stage 2 is to rebuild out classes/interfaces to make full use
of this so objects now inherit multiple interfaces/classes based on their types
(eg evas text objects would of course inherit basic eo interface plus evas
object geometry interface plus font set interface plus color set interface plus
text set interface - as a simple example (the same text set interface can then
be used on textblock objects and edje objects, and most/all elm widgets etc.).

so ultimately i expect to have this:

eo_do(obj,
      efl_color_set(255, 128, 0, 255),
      efl_font_set("Sans", 16),
      efl_text_set("This is some text"),
      efl_geom_pos_set(20, 30),
      efl_visible_set(1));

maybe? well for sure so you don't need to now know if its evas_ or edje_ or elm_
or ecore_ etc. as namespace... just call something obvious on the object and
presto. all these interfaces need to be defined based on looking at current efl
and finding all the design patterns and turning them into common interface
classes.

keeping in mind that eo is not about replacing c++ but just bringing some of
the convenience of classes, interfaces and inheritance and methods to c, as well
as unifying our callback systems into a single one, making it easy to glue
objects together and have them auto deleted as a group. and of course providing
a safety barrier to separate apps and tools outside of efl with efl itself.
for now the eo id / table lookup is the layer we have, with it being mmaped
outside of normal libc malloc space so its hard to overwrite it. your madvise
stuff you put in so quickly was awesome btw, but over time i'd like to see us
also move more allocation for the insides of objects off into special memory
regions to improve this safety. the eo multi-call varags system lets us
increase this overhead with the eoid indirect lookup but then amortize that
cost over multiple calls, thus keeping us at an efficient level even with the
added work.

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


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to