| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
This way it can be incorporated into multiple operating systems more easily.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
And lots of other changes, including freeing unreferenced atoms.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
It can default to #f
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
This is used enough to warrant a builtin, rather than lisp implementation
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Allocate a blank string.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This is an r7rs extension which allows you to extract a subset of the
vector.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
Does what 'quotient' did before, now quotient rounds towards zero
while floor-quotient rounds down.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
This inline was already defined; just use it. Also, switch some places
to use ao_scheme_is_pair instead as appropriate.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Fix the double underscore in this name. Ick.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Make local funcs static. Don't mix decls and code.x
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Mostly printf and friends.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Large numbers, floats and strings need a value check, not just a
comparison between ao_polys
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
A lot easier as a built-in; the obvious scheme version is recursive.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Just make the language closer to r7rs
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
| |
Constant time and smaller can be a feature.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
|
|
|
| |
This lets the interactive prompt change based on what state the lexer
is in
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
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>
|