ulambda/build-aux/bootstrap
Mike Gerwitz 62ab1ee732
rebirth: Primitive environment support
Note that this doesn't yet provide any useful abstractions for creating
discrete environments---it merely provides support for them moving
forward.  Hopefully.

This is the next big step toward rewriting the compiler as a series of macro
passes.  I'll write more on this later; it has profound consequences (well,
as a jump from Rebirth into Ulambda, which is a name that I haven't
mentioned until now).

It was yesterday that I also got word that I'll be speaking at
LibrePlanet 2018 in March.  This is great news, but unfortunate news for
this project---it has had very little of time time to begin with, and now
it's going to have even less until after the conference.

* build-aux/bootstrap/rebirth.scm: Add toplevel note about Ulambda.
    Add notes to "Step 2" regarding environments.
  (es:envf, %es:env): Add macros.
  (lambda, let*, let, set!): Macro forms use environments.
  (%es:has-own-prop, %es:proto-of, %es:envobj-for, %es:setenv): New
    procedures for `set!' macro.
  (es:null?): Add procedure.
  (_macros): Remove ES global (now using `_env.macros').
  (cdfn-macro, macro?): Use `_env.macros' in place of `macros'.
  (tparam->es, tname-verbatim?, env-ref, env-params): Add procedures.
  (tname->id): Use `tname-verbatim?', which extracts the digit check.
  (cdfn-var, cdfn-proc): Also assign to current environment.
  (apply-proc-or-macro): Use `_env.macros'.  Apply function from
    environment.
  (sexp->es)[symbol]: Generate environment reference.
  (rebirth->ecmascript): Generate toplevel environment.
2018-01-07 00:26:41 -05:00
..
Bootstrap.js bootstrap: Formalize (both command-line and browser) 2017-11-12 00:29:40 -05:00
birth.scm rebirth: Replace most built-in forms with macros 2017-12-15 00:40:10 -05:00
libprebirth.js prebirth, birth, rebirth: Consistently use "es" instead of "js" 2017-12-12 01:03:37 -05:00
prebirth.js prebirth, birth, rebirth: Consistently use "es" instead of "js" 2017-12-12 01:03:37 -05:00
rebirth.scm rebirth: Primitive environment support 2018-01-07 00:26:41 -05:00