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
Elf M. Sternberg
86efa8c09a
Coffeescript attempt.
2015-05-13 22:28:55 -07:00
Elf M. Sternberg
0551a6fd4c
Chapter 3 stub.
2015-05-13 22:23:30 -07:00
Elf M. Sternberg
34fef03ba8
Caught a silly typo; now sufficient to support classic factorials with recursions.
2015-04-28 08:51:34 -07:00
Elf M. Sternberg
54de465dbe
Making the predicate operator a macro.
2015-04-15 16:33:25 -07:00
Elf M. Sternberg
525668310b
Cleanup pass over comments in chapter 1.
2015-04-15 16:01:30 -07:00
Elf M. Sternberg
5ac7969712
Added README. Whee.
2015-04-15 15:57:52 -07:00
Elf M. Sternberg
0f4c149eb6
Merge branch 'master' of github.com:elfsternberg/LispInSmallPieces
...
* 'master' of github.com:elfsternberg/LispInSmallPieces:
Initial commit
2015-04-15 15:57:10 -07:00
Elf M. Sternberg
6fda499306
Initial commit
2015-04-15 15:54:38 -07:00
Elf M. Sternberg
d7f8dddb91
Chapter one. It actually works.
2015-04-15 15:50:53 -07:00