Re: Covariance / catcall approach -- RE: standardization of ELKS
Eric Bezault <ericb-D6Qt/9opevxWk0Htik3J/[email protected]> Thu, 14 Aug 2008 19:26:35 +0200
| Newsgroups | gmane.comp.lang.eiffel.ise,gmane.comp.lang.eiffel.gobo.general |
|---|---|
| Message-ID | <[email protected]> |
Helmut Brandl wrote: > Eric Bezault wrote: >> Helmut Brandl wrote: >> >>> your proposal in a nutshell: Let the runtime find out, if the call is >>> valid or not. >>> >>> Actually all compilers I know of (EiffelStudio, SmartEiffel, The Eiffel >>> Compiler, probably also the Gobo Eiffel compiler) do it that way. >>> >> The Gobo compiler has two modes: either report CAT-calls at compilation >> time (using the dynamic type sets as described in ETL2), or at run-time. >> The former is the default. >> >> > Great. I would be interested in your experience with the algorithm > described in ETL2. I have heard that it is rather pessimistic, i.e. it > flags many catcalls even if in reality there is no real danger of a catcall. Yes, it's pessimistic. But all solutions that I heard of are pessimistic. The advantage of this one is that it exists, and it does not require any new Eiffel extension (which is very important for backward compatibility). Note that the fact that it is pessimistic did not prevent to have the whole Gobo package (including a program as complex as an Eiffel compiler) to be compliant. > I have sent this message to your gobo mailing list as well, because it > might be more appropriate to discuss it there. > > By the way: In your documentation at gobosoft.com (dated march 2006) you > described a lot of limitations of your compiler. Have you already > overcome these limitations? You can have garbage collection with the Boehm GC. `deep_*' features are implemented, Unique constants as well. Exceptions are only partially implemented. These limitations may seem a lot, but gec is nevertheless able to compile applications with several thousand classes that were initially developed with ISE EiffelStudio, and that without having to modify a single line of code in the source of the applications. -- Eric Bezault mailto:ericb-D6Qt/9opevxWk0Htik3J/[email protected] http://www.gobosoft.com ------------------------------------