Commit Graph

3 Commits (0559d3a73bc2eadb7e965091e3303ecded1839e6)

Author SHA1 Message Date
Mike Gerwitz b9f8e24ec2
Bootstrap: Integrate Rebirth
This bootstraps up to the final Rebirth generation.  I had been doing this
manually from the command line for far too long.

This also includes an ASCII Ulambda logo.

* README.md: Add Ulabmda logo
* build-aux/bootstrap/Bootstrap.js:
  (bootstrap): Extract majority of existing code into separate methods.
    Add invocation of `_rebirth'.
  (_birth): Extracted from `bootstrap'.  Extracted compiler function
    creation into separate method `_makeCompiler'.  Extract self-
    verification into `_verifyBirthOutput'.
  (_verifyBirthOutput, _makeCompiler): Extracted from `_birth'/`bootstrap'.
  (_rebirth, _compileRebirth): New methods.
  (_loadPath)[desc]: Default param value to empty string.
  (_strmap)[header]: Change logo.
    [loadingf]: Account for optional empty `desc'.
    [prebirthDesc, birthCompiled, birthVerifyOk]: Prefix with "+".
    [prebirthComplete]: Remove prefix "[prebirth]".
    [birthSelfCompiling, birthVerify]: Remove prefix "[birth]".
    [rebirthCompiling, rebirthCompiled, rebirthDone]: New keys.
    [ok]: Update to indicate that bootstrapping isn't complete yet.
  (_supmap): New field.
2018-08-10 23:22:14 -04:00
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 6138731304
bootstrap: Formalize (both command-line and browser)
This allows bootstrapping in either a development environment (Node.js) or
simply using the intended runtime environment: the user's browser.

* bootstrap.html: Add file (browser).
* bootstrap.js: Add file (command-line).
* bootstrap/Bootstrap.js: Add class.  Formalize bootstrap process.
* bootstrap/libprebirth.js
  (fsdata): Add variable to serve as filesystem stub.
  (fs): Always throw error when `fs' module is unavailable.
  ($$js$file$_$$g$string): Consider `fsdata'.
* bootstrap/prebirth.js: Export as CommonJS module if in proper
    environment.  Abort automatic processing via stdin if root CommonJS
    module.
2017-11-12 00:29:40 -05:00