On Thu, 10 Apr 2014 02:35:12 +0100 Tom Hacohen <tom.haco...@samsung.com> wrote:
> Neither. I'll just have to do it myself then. > On 09/04/14 14:18, David Seikel wrote: > > Soooo, does this new EO 2 have run time introspection, or will it be > > added? > > > > > > On Tue, 18 Mar 2014 15:22:23 +1000 David Seikel <onef...@gmail.com> > > wrote: > > > >> On Tue, 18 Mar 2014 13:55:46 +0900 Cedric BAIL > >> <cedric.b...@free.fr> wrote: > >> > >>> On Tue, Mar 18, 2014 at 10:28 AM, David Seikel <onef...@gmail.com> > >>> wrote: > >>>> On Tue, 18 Mar 2014 09:53:28 +0900 Cedric BAIL > >>>> <cedric.b...@free.fr> wrote: > >>>>> Hello, > >>>>> > >>>>> On Tue, Mar 18, 2014 at 3:39 AM, David Seikel > >>>>> <onef...@gmail.com> wrote: > >>>>>> I have a project I'd like to start soon that involves > >>>>>> introspection on the stuff that Eo handles. Way back in early > >>>>>> 2012 when Eobj was announced, Raster mentioned - > >>>>>> > >>>>>>> bonuses: > >>>>>>> 7. we get some method introspection while we're at it > >>>>>> > >>>>>> Based on that I was always planning on doing my introspection > >>>>>> project. Two years later, Eobj got renamed to Eo, and naw Eo + > >>>>>> Eolian is happening, and it's time for me to actually look at > >>>>>> that introspection stuff. I think the introspection ball got > >>>>>> dropped, or I'm just not seeing it. > >>>>> > >>>>> Maybe because there is a difference in what raster mean by > >>>>> introspection and what you expect. Eolian is our source of > >>>>> introspection, meaning static compile time introspection, not at > >>>>> runtime introspection. There is an obvious reason for that... > >>>>> speed and memory usage. > >>>> > >>>> Er, the suggestion I made on how to implement run time > >>>> introspection would not be a major speed or memory hit. B-) > >>> > >>> Well, you start by adding a hash table to find class by name, then > >>> functions, then parameters... I did go through your proposal > >>> really quickly, but I don't think you looked at how to get the > >>> parameters of a function. > >> > >> I stopped when I got as deep as methods, coz it was obvious none of > >> the rest was there. There's already a separate thing for ops and > >> methods, could also have one for method parameters (a list of the > >> parameters for each method) indexed by the same ID. Or add it to > >> the op data. > >> > >>> That's going to be quite painful to manage. I guess that the > >>> easiest things to do, would be to just compress and store the .eo > >>> class definition inside the generated C file and have an API to > >>> access that field in read only. > >> > >> Or stored in a separate file maybe. > >> > >>> Combined with an iterator over instantiated class (We don't know > >>> anything about class that have no object created yet) and also a > >>> hash table to find the class instance would do it. Of course that > >>> would make introspection quite costly to use... > >> > >> Costly introspection is why I have a class cache in my old project > >> that used it extensively. B-) > >> > >> Also, none of this introspection data need be created until the > >> user calls eo_introspection_init() or some such. So it only need > >> take up time and space when someone actually wants to use it. > >> > >> Introspection doesn't have to be that hard, others have done it > >> easily. > >> > >>>>> Also everything you have been looking at his related to Eo not > >>>>> Eo2, which is where we are going for various reason (speed, ease > >>>>> of use in C, ...), but not for runtime introspection as far as I > >>>>> know. Maybe Tom has some more information on the subject. > >>>> > >>>> I don't suppose this Eo2 is anywhere that I can look at it? Is > >>>> there an ETA on Eo2? > >>> > >>> It is : > >>> https://git.enlightenment.org/core/efl.git/log/?h=devs/jeyzu/eo2 > >> > >> Ah in a branch. My git update script only grabs the master branch. > >> I'll have a look at that later. > >> > > > > > > > > > > ------------------------------------------------------------------------------ > > Put Bad Developers to Shame > > Dominate Development with Jenkins Continuous Integration > > Continuously Automate Build, Test & Deployment > > Start a new project now. Try Jenkins in the cloud. > > http://p.sf.net/sfu/13600_Cloudbees > > > > > > > > _______________________________________________ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > ------------------------------------------------------------------------------ > Put Bad Developers to Shame > Dominate Development with Jenkins Continuous Integration > Continuously Automate Build, Test & Deployment > Start a new project now. Try Jenkins in the cloud. > http://p.sf.net/sfu/13600_Cloudbees > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world.
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel