guile-devel
[Top][All Lists]
Advanced

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

Re: Anything better for delayed lexical evaluation than (lambda () ...)?


From: Andy Wingo
Subject: Re: Anything better for delayed lexical evaluation than (lambda () ...)?
Date: Wed, 14 Dec 2011 00:44:28 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

On Wed 14 Dec 2011 00:16, David Kastrup <address@hidden> writes:

> guile> '#{ \relative c' { $p 2  \mark #4 } #}
> (#<procedure embedded-lilypond (parser lily-string filename line closures)> 
> parser " \\relative c' { $p 2  \\mark #4 } " #f 2 (list (cons 17 (lambda () 
> p))))

Ah, thanks for this example.  Thanks also for the previous example music
mail.

> The obvious wishlist item would be to replace the potentially long and
> expensive to create argument "closures" (which needs to get consed
> together on each call since (lambda () p) needs to be created in the
> current environment) with (package-environment).

I can see how this is a bit irritating, but at least if you are running
with the compiler, this is likely to be significantly faster than 1.8.

> I have no reliable idea what "memoize" means exactly in Guile's
> terminology, and the parts of the manual I have consulted have no qualms
> using this expression, but don't bother explaining it.

There are only two instances of this word in the Guile 2.0 manual :)

Andy
-- 
http://wingolog.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]