Commit Graph

3 Commits (e8c9c6cdd8e58c8660470046d3177e2d3e9af0c2)

Author SHA1 Message Date
Mike Gerwitz e8c9c6cdd8
rebirth: Add `eval'
* build-aux/bootstrap/rebirth.scm: Provide env to `rebirth->ecmascript-prog'.
  (rebirth->ecmascript-prog)[env-es]: New param.  Use for `_env' in
    generated self-executing ES function.
  (es:empty-env): New procedure.
* build-aux/bootstrap/rebirth/es.scm (es:raw): Remove unused macro.
  (es:envf)[env]: New parameter.  Use in place of hard-coded inherited env.
  (es:inherit-env): New procedure, extracted from proceeding.
  (lambda, let): Use it.
  (null-environment, eval): New procedures.
2018-02-08 23:11:21 -05:00
Mike Gerwitz ec43d7717a
rebirth: Add `begin'
This isn't used yet, but it's a nice thing to have available.

* build-aux/bootstrap/rebirth/es.scm (begin): Add syntatic form.
2018-02-08 23:10:39 -05:00
Mike Gerwitz 9eb8355e22
rebirth: Extract steps into separate source files
It's nice being able to do this now.

This starts to pave the path toward ultimately sharing code with Ulambda.

* build-aux/bootstrap/rebirth.scm: Extract steps 0--2 into separate source
    files.
* build-aux/bootstrap/rebirth/es.scm: New file containing step 2.
* build-aux/bootstrap/rebirth/macro.scm: New file containing step 1.
* build-aux/bootstrap/rebirth/relibprebirth.scm: New file contaiing step 0.
2018-02-08 23:10:06 -05:00