summaryrefslogtreecommitdiff
path: root/src/lisp
Commit message (Expand)AuthorAge
* altos/lisp: Move stack recursion check after null checkKeith Packard2016-11-18
* altos/lisp: Cleanup some DBG definesKeith Packard2016-11-18
* altos/lisp: Share binary search for memory chunk between mark and moveKeith Packard2016-11-18
* altos/lisp: Add builtin 'collect'Keith Packard2016-11-18
* altos/lisp: Sort frames by atomKeith Packard2016-11-18
* altos/lisp: bounds check in move_map plus binary searchKeith Packard2016-11-18
* altos/lisp: Empty lambda body is not an errorKeith Packard2016-11-18
* altos/lisp: Use poly stashes for stacksKeith Packard2016-11-18
* altos/lisp: Make DBG settings globalKeith Packard2016-11-18
* altos/lisp: Add continuationsKeith Packard2016-11-18
* altos/lisp: have 'while' return the last body valueKeith Packard2016-11-17
* altos/lisp: Take advantage of implicit progn in ROM codeKeith Packard2016-11-17
* altos/lisp: Make lambda, cond and while all have implicit prognsKeith Packard2016-11-17
* altos/lisp: Compile ao_lisp_make_const -no-pieKeith Packard2016-11-17
* altos/lisp: Fix uninitialized values in ao_lisp_make_constKeith Packard2016-11-17
* altos/lisp: Dump globals on errorKeith Packard2016-11-17
* altos/lisp: Fix error atom name in ao_lisp_lengthKeith Packard2016-11-17
* altos/lisp: Remove some stale frame debugging checksKeith Packard2016-11-17
* altos/lisp: Eliminate compiler warning about array bounds at -O3Keith Packard2016-11-17
* altos/lisp: binary search for chunk in collectKeith Packard2016-11-17
* altos/lisp: Allow empty defun bodiesKeith Packard2016-11-17
* altos/lisp: Optimize chunk searching in collectKeith Packard2016-11-17
* altos/lisp: Add incremental collectionKeith Packard2016-11-17
* altos/lisp: Take advantage of multi-arg macros. Add more ROM funcsKeith Packard2016-11-17
* altos/lisp: Allow macro/nlambda/lexpr to have multiple argsKeith Packard2016-11-17
* altos/lisp: Do better checking for un-evaluated macros in ROMKeith Packard2016-11-17
* altos/lisp: re-use small framesKeith Packard2016-11-17
* altos/lisp: Get lambdakey and nucleo-32 building againKeith Packard2016-11-17
* altos/lisp: Evaluate macros once, then smash them into placeKeith Packard2016-11-17
* altos/lisp: Cache freed cons and stack itemsKeith Packard2016-11-17
* altos/lisp: Simplify GC a bit by only marking the head of each objectKeith Packard2016-11-17
* altos/lisp: Change GC to do moves in batches of 32Keith Packard2016-11-17
* altos/lisp: Append a CRC to the saved image to validate on restoreKeith Packard2016-11-17
* altos/lisp: Add save/restore infrastructure. Needs OS support to work.Keith Packard2016-11-17
* altos/lisp: Make sure memmove only happens once per object. Other GC fixesKeith Packard2016-11-17
* altos/lisp: Make ao_lisp_ref and ao_lisp_poly non-inlineKeith Packard2016-11-17
* altos/lisp: Share mark function for mark and moveKeith Packard2016-11-17
* altos/lisp: add length, pack, unpack and flushKeith Packard2016-11-17
* altos/lisp: Deal with memory compation in the middle of operationsKeith Packard2016-11-17
* altos/lisp: Make read() return eof atom on end of fileKeith Packard2016-11-17
* altos/lisp: use regular read-eval-print loop for make constKeith Packard2016-11-17
* altos/lisp: add progn, while, read and evalKeith Packard2016-11-17
* altos/lisp: Clean up OS integration bits, add defunKeith Packard2016-11-17
* altos/lisp: macros appear to work nowKeith Packard2016-11-17
* altos/lisp: working on lexical scopingKeith Packard2016-11-17
* altos/lisp: convert GC to non-recursiveKeith Packard2016-11-17
* altos/lisp: more GC issues. add patomKeith Packard2016-11-17
* altos/lisp: make sure stack->formals_last gets moved during GCKeith Packard2016-11-17
* altos/lisp: Change GC move APIKeith Packard2016-11-17
* altos/lisp: get builtin macros working againKeith Packard2016-11-17