On Mon, May 25, 2009 at 3:34 PM, Alex Shinn <[email protected]> wrote: > 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.
Point taken. > 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." Ok. Anybody here knowing Common Lisp can tell me how Common Lisp would work in that example?
