[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange memoizing behavior

From: Thien-Thi Nguyen
Subject: Re: Strange memoizing behavior
Date: Thu, 24 Jan 2002 21:45:44 -0800

   From: Marius Vollmer <address@hidden>
   Date: 24 Jan 2002 21:58:05 +0100

   That is, when looking up a symbol, we might find a variable OR a
   macro transformer.  You would not be able to bind a symbol to a
   macro-transformer with 'define', we would need a new form, for
   example 'define-syntax'.

   For global bindings, this is straightforward to implement, since
   global bindings use 'variable objects' that have their own type and
   can be readily identified.  For local environments, something similar
   can likely be arranged.

   Of course, this all needs to be properly integrated with syntax-case.

   [ I also think that SCM has recently solved the original problem with
     some smallish, elegant change, but I can't remember what it was... ]

i'm guessing it was this (from scm5d4 ChangeLog):

   2000-02-07  Radey Shouman  <address@hidden>

        * Macro.scm (define-syntax): (let-syntax): (letrec-syntax): Made
        Primitive syntax.

        * eval.c (makro): Abstracts process of making syntax.
        (makacro): (makmacro): (makmmacro): Now call makro.
        (makpmacro): (@procedure->primitive-syntax): Scheme level way of
        defining primitive syntax, meaning syntax that @macroexpand and
        hence macro:expand will not expand.

is guile really two years behind scm (at least)?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]