Continuation labels and variable identifiers may be integers
authorAndy Wingo <wingo@pobox.com>
Fri, 28 Mar 2014 13:21:06 +0000 (14:21 +0100)
committerAndy Wingo <wingo@pobox.com>
Mon, 31 Mar 2014 16:20:55 +0000 (18:20 +0200)
commit9a1dfb7d2ecfea1642f14ab2baacf9efea49131a
tree34dbe3b117f5bacd19593482ad058e009c902fbe
parentecc7987427a32fb0748de05bcca0b65fb16a3b26
Continuation labels and variable identifiers may be integers

* module/language/cps.scm (label-counter, var-counter): New parameters,
  for producing fresh label and var names.
  (fresh-label, fresh-var): New procedures.
  (let-fresh): New macro, will replace let-gensyms.
  (build-cps-term): Use let-fresh.

* module/language/tree-il/compile-cps.scm: Use let-fresh to generate
  fresh names.

* module/system/vm/assembler.scm (make-meta, begin-kw-arity): Allow
  exact integers as labels.
  (link-debug): Explicitly mark low-pc as being an "addr" value.
.dir-locals.el
module/language/cps.scm
module/language/tree-il/compile-cps.scm
module/system/vm/assembler.scm