summaryrefslogtreecommitdiff
path: root/src/test/hanoi.lisp
Commit message (Collapse)AuthorAge
* altos/scheme: Move scheme test program to scheme sub-directoryKeith Packard2017-12-05
| | | | | | Keeps it away from the usual test setup Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: split set/def. Add def support to lambdasKeith Packard2017-12-01
| | | | | | | | In scheme, set can only re-define existing variables while def cannot redefine existing variables in lambda context. Def within lambda creates a new variable at the nearest enclosing scope. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/test: Update to build altos lisp test appKeith Packard2017-11-19
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Fix some scheme compat issuesKeith Packard2017-11-18
| | | | | | | | | | flush -> flush-output nth -> list-ref (oh, and add list-tail) add let* (same as let for now) write control chars in octal make hanoi example work Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Clean up hanoi.lisp demo a bitKeith Packard2017-02-20
| | | | | | No serious changes. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Take advantage of implicit progns in hanoi demoKeith Packard2017-02-20
| | | | | | | Remove extra progn wrappers now that cond, lambda and while all support implicit ones. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Clean up hanoi.lisp comments.Keith Packard2017-02-20
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Optimize chunk searching in collectKeith Packard2017-02-20
| | | | | | | Note range of existing chunks to exclude objects outside. Only look at chunks which have been set to reduce loop cost. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Make hanoi example output a bit prettierKeith Packard2017-02-20
| | | | | | Make the towers symmetrical instead of lopsided. Much nicer looking. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: remove nth from hanoi.lispKeith Packard2017-02-20
| | | | | | It's now in ROM. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: remove duplicate 'length' lambda from hanoi exampleKeith Packard2017-02-20
| | | | | | This function is now a builtin. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Add license to hanoi demoKeith Packard2017-02-20
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Improve hanoi demoKeith Packard2017-02-20
| | | | | | | Repaint in place, without first clearing. This makes the updates a lot clealyer looking. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Append a CRC to the saved image to validate on restoreKeith Packard2017-02-20
| | | | | | | The CRC is actually of the ROM bits, so we can tell if the restored image relates to the currently running code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Add save/restore to ao_lisp_testKeith Packard2017-02-20
| | | | | | Allow testing of the save/restore code under Linux. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Share mark function for mark and moveKeith Packard2017-02-20
| | | | | | | These two operations both wanted to walk the referenced objects; sharing is caring. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lisp: Add towers of hanoi exampleKeith Packard2017-02-20
Uses vt100 escape sequences to animate the display even. Signed-off-by: Keith Packard <keithp@keithp.com>