Elf M. Sternberg
bb0c06b073
Reverting back to working version.
2015-07-23 16:21:28 -07:00
Elf M. Sternberg
e6b4a73559
Fail.
2015-07-23 16:17:20 -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
c816fa9eb8
[chore] cleaned up after a lint pass
2015-07-08 20:46:36 -07:00
Elf M. Sternberg
1c113a2f7a
[test] Tests for 'block' and 'return' added. All tests passing. W00t!
2015-07-08 20:36:56 -07:00
Elf M. Sternberg
5e8172d233
[feat] labeled 'block' and 'return' added! Woot!
2015-07-08 20:35:55 -07:00
Elf M. Sternberg
07a800cfbf
[docs] Updated blog message with addenda from site.
2015-07-08 15:16:59 -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
111ad5d8dc
[test] Coffeelint configuration file. 120 character line length is okay by me.
2015-07-08 15:06:06 -07:00
Elf M. Sternberg
de3aa61e22
[test] Added Coffeelint to list to of features.
2015-07-08 15:04:32 -07:00
Elf M. Sternberg
8cf6e4fb5b
[feat] Added 'watch' to list of Makefile targets
...
'Watch' depends upon the inotify toolkit; it will automagically
run the test suite locally every time you press "save".
2015-07-08 14:47:04 -07:00
Elf M. Sternberg
b9a60e3fed
[doc] Including blog entry for Chapter 3
...
As a chronic blogger, I've been updating my journey on my website
at http://elfsternberg.com . This is where the original markdown
files are kept.
2015-07-08 14:45:59 -07:00
Elf M. Sternberg
1a777acb4c
[docs] Including Jenkins configuration file
...
This file is highly localized for my personal set-up. If you want to
run Jenkins yourself, you *will* have to edit it, or use it as an example
in your own set-up.
2015-07-07 20:27:11 -07:00
Elf M. Sternberg
7bd66b6080
[docs] That *is* coffee!
2015-07-07 20:22:19 -07:00
Elf M. Sternberg
983f29c1eb
[docs] Updating the README to be more... well, just *more*
2015-07-07 20:19:04 -07:00
Elf M. Sternberg
b4f5add0b8
[docs] Updating the README to be more... well, just *more*
2015-07-07 20:17:57 -07:00
Elf M. Sternberg
1676584db2
[docs] Updating the README to be more... well, just *more*
2015-07-07 20:17:13 -07:00
Elf M. Sternberg
fb7dab6b33
[chore] Removed a symbolic link that went nowhere.
2015-07-07 20:01:59 -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
560bcd4dda
[bug] Fixed the reader to handle dotted lists.
...
This support is ugly and probably incorrect, but it passes all the current
tests and handles test cases in the original documentation.
2015-07-07 19:56:11 -07:00
Elf M. Sternberg
8572d84817
Merge fix.
2015-07-04 15:28:56 -07:00
Ken Elf Mathieu Sternberg
1c4975067d
TEST: Add tests for the reader (!), which I had forgotten.
...
This also adds a number of accesory functions necessary for rationalizing
the record structure of an object in the lex/parse phase into something
more lisp-like. There's a metadata issue here that I'm not quite wrapping
my head around.
2015-07-03 15:47:04 -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
bd9cb09298
Unicode seems borked on my desktop. Sorry about this.
2015-07-01 13:32:50 -07:00
Ken Elf Mathieu Sternberg
fc0ad0c05a
Update.
2015-07-01 13:32:07 -07:00
Ken Elf Mathieu Sternberg
cbd2c168da
Trying to keep test artifacts out of the repo.
2015-07-01 13:25:34 -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
df6f3f17ae
Elf clarified test messages to distinguish interpreter cores.
2015-06-17 15:35:16 -07:00
Elf M. Sternberg
b8a19d5c79
Improving test results.
2015-06-17 15:34:11 -07:00
Elf M. Sternberg
a5e4558df9
Back to JUnit.
2015-06-17 13:55:58 -07:00
Elf M. Sternberg
8c9f6622d4
A different Jenkins integration.
2015-06-17 13:49:15 -07:00
Elf M. Sternberg
b8909fcfd1
That's not coffee.
2015-06-17 13:47:15 -07:00
Elf M. Sternberg
1127498546
Added jenkins-style reporatge.
2015-06-17 13:46:22 -07:00
Elf M. Sternberg
3238844835
Added tests.
2015-06-17 13:41:32 -07:00
Elf M. Sternberg
b8aa463993
Updated.
2015-06-17 13:02:37 -07:00
Elf M. Sternberg
cff2d5cb97
Updated interpreter. Chapter 3 is still underway.
2015-06-17 12:37:02 -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
c0bcc268a0
Commented invoke() usage.
2015-06-01 10:08:17 -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
Elf M. Sternberg
2bc6312415
Moving to a more nuanced naming scheme. What happens next will amaze you!
2015-05-20 16:52:36 -07:00
Elf M. Sternberg
11e1ed7cf4
It works recursively. This will restore your faith in humanity!
...
I spent far too much time debugging an issue with metacadr (see the
cons-list commits for details), but this now successfully recurses
and all of its code paths are exercised by the factorial/fibonacci
exercises. This is a Coffeescript implementation of the language
described at the end of chapter 1 of Lisp In Small Pieces.
Also, added a syntax-aware pretty printer. It's very primitive, but
it's good enough for some debugging.
2015-05-20 15:47:51 -07:00
Elf M. Sternberg
570fb2b1df
Some renaming; one major bugfix, using cons-lists instead of a local library.
2015-05-20 09:41:30 -07:00