Commit Graph

4 Commits (b9f8e24ec2265375afc57b03bd14977b73f90f9d)

Author SHA1 Message Date
Mike Gerwitz 7e3f3f0b0a
Gibble=>Ulambda Scheme
Gibble is still the ultimate goal, but since I seem to have gone down
precisely the path that I did _not_ want to go down (implementing a full
Scheme), this deserves to be its own project.

Oh, and Gibble is the "{General=>Graphical} Block-Based Learning
Environment".
2018-02-08 23:40:00 -05:00
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