syntax parameters implemented properly
authorAndy Wingo <wingo@pobox.com>
Sat, 5 Nov 2011 14:36:02 +0000 (15:36 +0100)
committerAndy Wingo <wingo@pobox.com>
Mon, 7 Nov 2011 10:39:04 +0000 (11:39 +0100)
commit5b36d6034b015e540285770aaf920b92852fa705
treeea2defeb9500da69b4fc0ad3e6d94e926385abb6
parentea3ca4e4d07d2bf7a491a5f2bc26297660e982f8
syntax parameters implemented properly

* module/ice-9/psyntax.scm (resolve-identifier): Take an additional
  argument, indicating whether syntax parameters should be resolved or
  not.  Just return three values: the binding type and value, and the
  module for resolving toplevels.
  (chi-install-global): Take an extra arg, the type.  If we are defining
  a syntax parameter, construct a pair for the binding.
  (chi-body): Syntax parameters now use a per-parameter unique value (a
  pair) as a key in the expansion-time environment `r'.
  (syntax-parameterize): Don't allow parameterization of
  non-parameters.  This is an incompatible change, but it is for the
  better; you don't want to allow users to parameterize `lambda', after
  all.
module/ice-9/psyntax.scm