Re: Git development

Howard Thomson <[email protected]> Fri, 14 Aug 2009 20:44:41 +0100
Newsgroups gmane.comp.lang.eiffel.gobo.devel
Message-ID <[email protected]>
Hi Wolfgang,

On Friday 14 August 2009, you wrote:
> 
> The approach to implement the persistence closure etc.
> may be emphasized as follows:
> The Eiffel compiler is written in Eiffel.
> So, why not also implementing the Eiffel runtime system in Eiffel?  
>

I considered writing the Eiffel GC substantially in Eiffel, and I may well transliterate much
of the new GC code into Eiffel at some point, once we have [or I understand ... !] some means
of either separately generating library code [with Gobo], or some means of ensuring that all
of the GC classes are 'in' the system; actually not too difficult ...

I think Gobo's ability to inline code needs to be enhanced before it makes sense to do that.

> BTW, does your GC mark/seep or move/compress? In the former case,
> object marking may also be interesting when building the persistence 
> closure.
> Currently, the already seen objects are registered
> in a DS_HASH_TABLE[INTEGER,POINTER]. This is inconvenient
> because of the POINTER keys. Marking like the GC would be an
> interesting alternative.

It is currently a simple mark/sweep, non-moving, but precise collector, so
the ability to move / compact could be added later. Correctness is much
more important, and there are still some code generation changes that
need to be made to ensure that all references are visible to the GC at
any point where it may be invoked.

> 
> > One of the areas of the code generator that I intend to alter is the 
> > polymorphic
> >
> > dispatch implementation, for two reasons:
> >
> > Firstly for rapid re-compilation, I want to be able to generate an 
> > initial code package as
> >
> > an executable stub with dynamic library, where libraries register 
> > their routine addresses
> >
> > with the runtime, with subsequent partial re-compilation code 
> > generated as an additional
> >
> > dynamic library whose routines override the registered routines of the 
> > initial library. This
> >
> > requires that routine dispatch be done using a tree data structure, of 
> > some sort ...
> >
> > Secondly, I envisage that it should be possible, as with Java and 
> > other languages [mostly interpreted ..],
> >
> > to dynamically add class libraries to an executable system, where such 
> > libraries have been packaged,
> >
> > [compiled or otherwise verified against] to be compatible with classes 
> > already in the current system.
> >
> > That would also require that the dispatch to reachable routines be 
> > dynamically extendable.
> >
> This sounds very interesting. Extendibility of a program, dynamic 
> linking etc. seems to be
> necessary for contemporary software (otherwise, Eiffel will never have a 
> chance).
> >

I think it is essential ...


Regards

Howard

--
"Only two things are infinite, the universe and human stupidity,
and I'm not sure about the former." -- Albert Einstein

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july

_______________________________________________
gobo-eiffel-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gobo-eiffel-develop