John Clements writes:

 > categorizing them in terms of the "three canonical categories" that
 > Matthias described--apologies if I'm misrepresenting him/you:
 > - changing evaluation order,
 > - implementing a data sublanguage, and
 > - creating new binding forms.
 > 
 > Some of the Rust macros seem to fall into a fourth category, which arises 
 > from the fact that certain things are not expressions:
 > 
 > - abstracting over things that are not expressions.

This looks like a generalization of "creating new binding forms". In
the Lisp family, binding forms are the major category of
non-expression forms.

Konrad.

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to