On Mon, May 25, 2009 at 9:54 PM, Abdulaziz Ghuloum <[email protected]> wrote:
> 1. Part 1: the easy part
>   * library body is not indented properly.

I must confess I usually do not indent my library bodies.
I think I am not the only one.

>   * 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).

Yes, but I may want (or be asked) to give a live demonstration,
and I find interesting to show that in Ikarus importing a library
does not instantiate it until a variable is actually accessed.
The top-level display is there for that purpose.

>   * 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:)))

ok

> 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 :))

The line you are referring to is this one:

       (syntax-case x (literals ...)  ; meta-level 1

Originally I thought to split it in two:

       (syntax-case x       ; meta-level 1
                  (literals ...)  ; meta-level 0

but then I run out of vertical space! Moreover I thought that after
all literals do not belong to any level, they are just literals. Plus,
since they are matched by the compiler at compile time, it is not
so wrong to put them at meta-level 1 and to save a line ;-)

> 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 are being too picky here! They are slides, which have
no full existence without a guy explaining them and filling the gaps.

>    * You say "outermost templates are evaluated later".
>      I don't know what templates mean here.

I will remove that sentence.

Reply via email to