Sat Mar 13 16:00:18 CET 2010

What are macros?

  1. Untyped macros: Scheme deals well with hygienic modular macros.
     Advantage: generality.  Disadvantages: 1. object code binding
     structure is not respected.  2. no static meaning.

  2. Typed staged programming: not as general as a Scheme macro
     system, but does handle binding structure of object code

     What I remember from [3] is that staging goes under lambda.  The
     interpolation (escape) operation in staging is related to
     variable reference, but one needs to take care that the bindings
     in different stages do not clash.

  3. Parameterized programming[1][2].  I read the first one a couple
     of years ago.  Basic idea seems to be about equations and

[1] http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=3538530B13621FE83E2532A38E7A8B47?doi=
[2] http://maude.cs.uiuc.edu/
[3] http://okmij.org/ftp/Computation/staging/metafx.pdf