Mike Gerwitz
431b18e1df
This needs to run in the browser too, where we have no control over stack limits. * build-aux/bootstrap/birth.scm (lex): Non-recursive strategy (loop with mutable list). (make-token): Update doc. Produce list of token, new string, and position. Don't recurse. (body->es): Add `ret' param. Only produce `return' statement if new param is set. (cdfn): Use it. (fnmap) [js:while, js:break]: Add forms. [lambda, let, case]: Use new `body->es' `ret' param. [let*]: Define JS variables in output using `let' instead of `const' to permit mutating with new `set!' form. Use new `body->es' `ret' param. [set!]: Add form. (prebirth->ecmascript): Adjust libprebirth path to be relative to self. * build-aux/bootstrap/libprebirth.js ($$append$b$): Add `append!' procedure. ($$js$regexp, $$js$match, $$js$replace): Move a few lines up. (fs): Provide stub if `require' is not defined. * build-aux/bootstrap/prebirth.js (_lex): Non-recursive strategy (loop with array-appending). (_token): No more mutual recursion with `#_lex'. Return new string and position. (_bodyToEs): Add `ret' param. Only produce `return' statement if new param is set. (fnmap) [js:while, js:break]: Add forms. [let*]: Define JS variables in output using `let' instead of `const' to permit mutating with new `set!' form. Use new `body->es' `ret' param. [set!]: Add form. |
||
---|---|---|
build-aux/bootstrap | ||
COPYING | ||
README.md |
README.md
General Interactive Block-Based Learning Environment (Gibble)
Cute name, little information.
Check back later. I have plenty of information to give, but it is all fairly information and chaotic notes that need to be organized. Besides, you're not supposed to even see the repository in this state (outside of its history, at least)---what are you doing here!? Intruder! Prepare thyself for the wrath of the Gibble!
_ _
,--O---O--.
| |
| |
`---------'