[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elk] Re: compiling Elk



On Fri, Sep 26, 2003, Thies Pfeiffer wrote:

> >    I must admit I don't understand your example. R4RS and R5RS state
> > that the argument to ,@ (unquote-splicing) must evaluate to a list, and
> > (1 2 . 3) obviously doesn't. It might be an extension to the standard,
> > but then I need a proper example of what the expected behaviour is.
> That's true - so calling it a bug was wrong... I would call it an
> improvement of behavior.

   Okay, I see what you are looking for. I had a look at other Scheme
implementations and asked them to evaluate `(,@(cons 1 2)), here are the
results:

   RScheme, MIT Scheme, rep: (1 . 2)
   Guile, MZScheme, SCM, Gauche, Bigloo: error 

   None of them output (1 2) which is your expected output. I am pretty
reluctanct to implement this patch if it makes the behaviour inconsistent
with every other implementation.

> So we should have converted our (a . b) in a (list a b) first.

   This is definitely the way to fix the problem IMHO.

> [...]
> 
> A standard garbage collector would indeed extremely simplify the
> interoperation with c and c++ modules. The GC_LINK/UNLINK stuff would be
> no longer necessary. On the other hand I do not know if the elk garbage
> collector has been optimized for speed... Perhaps moving to a different,
> more general one, could induce a performance drain...

   Well, Elk has already many performance issues. I haven't tried to
profile it yet, but it is still about twice as slow as Guile, which is
itself twice as slow as SCM. I plan to improve that.

-- 
Sam.
-- 
This is the elk mailing-list, see http://sam.zoy.org/projects/elk/
Trouble unsubscribing? Please contact <sam@zoy.org>