summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_read.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: Allow unicode in lexerKeith Packard2018-01-08
| | | | | | | This just passes any bytes with the high bit set through the system so programs can include UTF-8 in strings and symbols. What the heck. Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/lambdakey-v1.0: Switch back to command buffered inputKeith Packard2018-01-06
| | | | | | Instead of just reading from stdin with no echo or editing. 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: Accept more escaped character constantsKeith Packard2018-01-04
| | | | | | Allow all those specified in r7rs Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: fix parsing of vector followed by listKeith Packard2018-01-03
| | | | | | | The 'parsing a vector' state value wasn't getting cleared at the end of the vector, so that (#(1 2) (3 4) returned (#(1 2) #(3 4) Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: Add support for hex, octal and binary constantsKeith Packard2018-01-03
| | | | Signed-off-by: Keith Packard <keithp@keithp.com>
* altos/scheme: ao_scheme__cons -> ao_scheme_consKeith Packard2017-12-19
| | | | | | Fix the double underscore in this name. Ick. 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: Support scheme subsetting via feature settingsKeith Packard2017-12-12
| | | | | | | This provides for the creation of smaller versions of the interpreter, leaving out options like floating point numbers and vectors. 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>