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
