Commit Graph

23 Commits

Author SHA1 Message Date
Elf M. Sternberg 675577431d [refactor] The great conversion continues. 2015-07-30 07:29:39 -07:00
Elf M. Sternberg 501ac5fe72 [refactor] Knuckled under and made nodes a Javascript type 2015-07-28 16:51:01 -07:00
Elf M. Sternberg 746f92fcdb [refactor] Extended node refactor to Chapter 3 2015-07-27 21:53:14 -07:00
Elf M. Sternberg 5bba101ee2 [refactor] Custom reader types have unique Javascript equivalents now. 2015-07-24 07:44:04 -07:00
Elf M. Sternberg 39f6a09d51 [feat] Most throw/catch conditions work.
I've hit a snag with respect to self-evaluating objects, and the ad-hoc evaluation of
program labels is messed up because of it.  I'm going to have to refactor.
Oddly enough, the strategy I hit upon appears to be the same one found
in Wisp, rather than Clojurescript.

This may actually be an internal detail; the version rendered for the user may actually
not care.  I hope not; the performance could become hairy pretty quickly.
2015-07-21 16:16:13 -07:00
Elf M. Sternberg 5e8172d233 [feat] labeled 'block' and 'return' added! Woot! 2015-07-08 20:35:55 -07:00
Elf M. Sternberg abf6c4ec50 [chore] Lint-picked versions that pass all unit tests. 2015-07-08 15:14:05 -07:00
Elf M. Sternberg bc857b19f1 [feat] The CPS-based interpreter from Chapter 3 of LiSP, with tests.
This passes all the basic tests provided from Lisp In Small Pieces,
chapter 3.  This is a functional LiSP interpreter with limited ability
and very little bug handling, but it's a solid implementation that
matches the specification and passes the tests provided for the CPS
interpreter.

This commit does *not* provide any of the continuation variants
described in the book; it is only the base interpreter.
2015-07-07 19:57:35 -07:00
Elf M. Sternberg 8572d84817 Merge fix. 2015-07-04 15:28:56 -07:00
Ken Elf Mathieu Sternberg 254c1c0f60 FEAT: Completed chapter 3 interpreter implementation. 2015-07-03 15:45:37 -07:00
Elf M. Sternberg f711432626 Updating. 2015-07-03 12:58:08 -07:00
Elf M. Sternberg c2ff0a3d88 Added some comments. 2015-07-02 17:21:50 -07:00
Ken Elf Mathieu Sternberg 51ae30e31f Thinking about that chapter 3 interpreter from the book. 2015-07-01 17:38:31 -07:00
Ken Elf Mathieu Sternberg 368abbf827 Moving stuff around. Broke tests. Fixed tests. 2015-07-01 13:55:22 -07:00
Ken Elf Mathieu Sternberg fc0ad0c05a Update. 2015-07-01 13:32:07 -07:00
Ken Elf Mathieu Sternberg abe220ac1f Not needed. 2015-07-01 13:25:13 -07:00
Ken Elf Mathieu Sternberg 291f9771f5 Found the disconnect. As always, a type issue. Dammit. 2015-07-01 13:24:45 -07:00
Elf M. Sternberg 9d9624632a Fixed test pass. Almost have CPS running. 2015-06-30 08:05:58 -07:00
Elf M. Sternberg b8a19d5c79 Improving test results. 2015-06-17 15:34:11 -07:00
Elf M. Sternberg f17e74207e Re-arranging for Mocha. 2015-06-17 12:34:31 -07:00
Elf M. Sternberg 647dfbbc14 Reverting to a simpler CPS style. 2015-06-10 17:28:47 -07:00
Elf M. Sternberg 74579b9fa0 Added a lot of comments to the interpreter, clearing up a confusion in my mind. 2015-06-01 07:40:15 -07:00
Elf M. Sternberg 40a4d5ca19 Prepping for Chapter 3. 2015-05-21 13:02:39 -07:00