|  | Commit message (Collapse) | Author | Age | 
|---|
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | * print -> write, patom -> display
* Add read-char, write-char
* Add exit, current-jiffy, current-second, jiffies-per-second
* Add for-each and string-for-each
* Avoid duplicate builtins with different atoms
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| | And all of the library routines that use it, map, string-map and friends.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| | Also add back escaped characters in strings.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| 
| 
| | * Arithmetic functions and tests
* append, reverse and list-tail
* set-car! and set-cdr!
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | Add 'if'.
setq -> set!, but doesn't define new variables
def -> define
Add pair? and list?
Add eq? and eqv? as aliases for =
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| | Cond and while compare against #f, just like scheme says to.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| | Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| | This allows for (defun foo())
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| 
| | 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> | 
| | 
| 
| 
| 
| 
| | Added nth, or and and.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| 
| | This assumes that macros are all pure functions, which should be true
for syntactic macros.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| 
| 
| | Progn as a builtin will help with tail-recursion.
while provides for loops until tail-recursion works :-)
read and eval are kinda useful.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| 
| | Provide an abstraction for the OS interface so that it
can build more cleanly on Linux and AltOS. Add defun macro.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| | Not working yet
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| 
| 
| 
| 
| | Pass reference to move API so it can change the values in-place, then
let it return '1' when the underlying object has already been moved to
shorten GC times.
Signed-off-by: Keith Packard <keithp@keithp.com> | 
| | 
| 
| 
| | Signed-off-by: Keith Packard <keithp@keithp.com> | 
|  | This makes all lisp objects use 16-bit ints for references so we can
hold more stuff in small amounts of memory. Also adds a separate
constant pool of lisp objects for builtins, initial atoms and constant
lisp code.
Now builds (and runs!) on the nucleo-32 boards.
Signed-off-by: Keith Packard <keithp@keithp.com> |