Added multiline REPL support & better error handling. #3

Closed
wants to merge 7 commits into
from

Projects

None yet

2 participants

@gliese1337

Fixed the REPL & the file reader so it will handle multiple expressions on a single line.
Added better error handling.
Added a bunch of extra built-in functions.
Created an alternative eval that uses vau expressions to move all the built in functions and basic syntactic forms out of eval and into the global environment.

gliese1337 added some commits Apr 13, 2012
@gliese1337 gliese1337 Fixed the REPL so it will handle multi-line expressions.
Fixed the REPL & the file reader so it will handle multiple expressions on a single line.
Added better error handling.
Added (exit) function.
Moved built-in functions out of eval and into the global environment; more stuff could be moved out by introducing vau expressions.
db72684
@gliese1337 gliese1337 Edited to use ' instead of (q ) 1fbd228
@gliese1337 gliese1337 Moved parsing to its own module and added a "print" function. f441ebd
@gliese1337 gliese1337 added interpreter based on vau expressions and updated the parser to …
…accept ' as sugar for (q ...)
cdebe3a
@gliese1337 gliese1337 Added docs for tiddlyvau and tiddlyparser. 153922c
@gliese1337 gliese1337 added lazy interpreter & made interpreter closures indistinguishable …
…from python closures (i.e., built-in globals)
9a1d157
@gliese1337 gliese1337 Merge branch 'master' of github.com:gliese1337/tiddlylisp 54020b0
@mnielsen
Owner

Neat! I enjoyed reading this, and learnt some things. I don't plan to merge the changes because the main purpose of the repo is educational, as a complement to my article on "Lisp as the Maxwell's Equations of Software". So I plan to keep the code fixed, except for bug fixes.

@mnielsen mnielsen closed this Apr 16, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment