summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_builtin.c
Commit message (Collapse)AuthorAge
* altos/scheme: Make eqv? work for numbers and stringsKeith Packard2017-12-11
| | | | | | | Large numbers, floats and strings need a value check, not just a comparison between ao_polys Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Stash cons across value allocation in compareKeith Packard2017-12-11
| | | | | | | Large ints, strings and floats can cause allocation, requiring that the 'cons' pointer be stashed and retrieved in case it moved. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: add list-copyKeith Packard2017-12-11
| | | | | | A lot easier as a built-in; the obvious scheme version is recursive. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add a bunch of string and vector builtinsKeith Packard2017-12-11
| | | | | | Just make the language closer to r7rs Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add vectorsKeith Packard2017-12-10
| | | | | | Constant time and smaller can be a feature. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Let readline know if there's a list in progressKeith Packard2017-12-09
| | | | | | | This lets the interactive prompt change based on what state the lexer is in Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Rename to 'scheme', clean up buildKeith Packard2017-12-05
Constant block is now built in a subdir to avoid messing up source directory. Renamed to ao_scheme to reflect language target. Signed-off-by: Keith Packard <keithp@keithp.com>