summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_vector.c
Commit message (Collapse)AuthorAge
* altos/scheme: Move ao-scheme to a separate repositoryKeith Packard2018-01-10
| | | | | | This way it can be incorporated into multiple operating systems more easily. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: remove debug code from vector writeKeith Packard2018-01-07
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add ports. Split scheme code up.Keith Packard2018-01-06
| | | | | | And lots of other changes, including freeing unreferenced atoms. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add start/end args to vector->listKeith Packard2018-01-03
| | | | | | | This is an r7rs extension which allows you to extract a subset of the vector. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Replace per-type indexed stash with poly stash heapKeith Packard2017-12-19
| | | | | | | Instead of having a random set of stash arrays with explicit indices used by callers, just have a general heap. Less error prone, and less code. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Rework display/write codeKeith Packard2017-12-19
| | | | | | | | | | Unify output functions and add bool to switch between write and display mode. Make that only affect strings (as per r⁷rs). Use print recursion detection in frame and stack code, eliminating PRINT flags in type field. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Use memory manager mark code to note recursive printKeith Packard2017-12-17
| | | | | | | This flags any object being printed and checks before recursing to avoid infinite loops. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: swap BIGINT and STRING typesKeith Packard2017-12-14
| | | | | | | | This lets BIGINT be a primitive type, allowing it to use all 32 bits for storage. This does make strings another byte longer, and also slightly harder to deal with. It's a trade off. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add ao_scheme_vector.cKeith Packard2017-12-12
Useful to include the code for implementing vectors Signed-off-by: Keith Packard <keithp@keithp.com>