serialize module information into syncase's output -- getting ready for hygiene
authorAndy Wingo <wingo@pobox.com>
Sun, 29 Mar 2009 17:41:27 +0000 (10:41 -0700)
committerAndy Wingo <wingo@pobox.com>
Fri, 17 Apr 2009 13:20:15 +0000 (15:20 +0200)
commit9d80c15649e21fd3798eae06e15a120839a9e14e
tree9f79b2b61e3ba5caf3b0d671c17b24b19bff426c
parent17df23e324eec8b8541bdd283e361c19a4159fa3
serialize module information into syncase's output -- getting ready for hygiene

* module/ice-9/Makefile.am: Replace annotate.scm with expand-support.scm.

* module/ice-9/annotate.scm: Removed; subsumed into expand-support.scm.

* module/ice-9/compile-psyntax.scm: Strip out expansion structures before
  writing to disk.

* module/ice-9/expand-support.scm: New file. Provides annotation support,
  and other compound data types for use by the expander. Currently the
  only one that is used is the toplevel reference, <module-ref>, but we
  will record lexicals this way soon.

* module/ice-9/psyntax-pp.scm: Regenerate.

* module/ice-9/psyntax.scm (build-global-reference)
  (build-global-assignment): Instead of expanding out global references
  as symbols, expand them as <module-ref> structures, with space to
  record the module that they should be scoped against. This is in
  anticipation of us actually threading the module info through the
  syntax transformation, so that we can get hygiene with respect to
  modules.

* module/ice-9/syncase.scm: Replace eval-when. Since sc-expand will give
  us something that isn't Scheme because we put the <module-ref>
  structures in it, strip that info whenever we actually do need scheme.

* module/language/scheme/compile-ghil.scm (lookup-transformer): Strip
  expansion structures here too.

* module/language/scheme/expand.scm (language): Swap annotate for
  expand-support. But this file will die soon, I think.
module/ice-9/Makefile.am
module/ice-9/compile-psyntax.scm
module/ice-9/expand-support.scm [moved from module/ice-9/annotate.scm with 53% similarity]
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
module/ice-9/syncase.scm
module/language/scheme/compile-ghil.scm
module/language/scheme/expand.scm