Michele Simionato <[email protected]> writes:

> For the interested people: I have nealy finished the slides for my
> talk at EuroLisp.
> You can see a preview here:
> http://www.phyast.pitt.edu/~micheles/scheme/scheme-talk/

Cute slides :)

However, phases are not a "new thing," which is why
Common-Lisp had EVAL-WHEN as long ago as 1984, and
presumably earlier Lisps had similar constructs.

Guile 1.8 is a pure interpreter, which means basically every
procedure application is a mini EVAL, which is why you see
that behavior.  For even more insane behavior on Guile's
part, try:

  guile> (define foo lambda)
  guile> (define (bar x) ((x (y) (+ y 1)) 2))
  guile> (bar foo)
  3

This won't "work" on any other Scheme implementation I'm
aware of.  The example you give in your slides won't work on
most implementations either, and it's misleading to suggest
it's the "old scheme behavior."

-- 
Alex

Reply via email to