On May 25, 2009, at 4:17 PM, Michele Simionato wrote:

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/

1. Part 1: the easy part
   * library body is not indented properly.
   * there is an extra display call that's not contributing
     to the remaining slides (also, the library initialization
     section should be used to initialize the library, as said
     earlier too many times :0).
   * probably one definition should be a procedure
2. Import syntax (I): import with prefix
   * the proper syntax is
     (import (rnrs) (prefix (my-lib) my-lib:))
     not
     (import (rnrs) (my-lib (prefix my-lib:)))
3. Meta levels in macros:
   * Aren't (literals ...) meta-level 0? (not that I care!
     we're all likely to get it all wrong anyways :))
4. Levels/phases are ordered
    * You say "inner levels are compiled first".  This is
      not exactly correct.  Say you have
      (define-syntax foo meta-expr-1)
      (define-syntax bar
        (lambda (x)
           (define-syntax baz meta-expr-2)
           ---))
      Here, meta-expr-1 is compiled before meta-expr-2.
      Maybe you just want a recursive definition, like:
      ``code at level n is compiled after all level n+1
        code within it is compiled.''
    * You say "outermost templates are evaluated later".
      I don't know what templates mean here.

Aziz,,,

Reply via email to