| Commit message (Collapse) | Author | Age | 
| | 
| 
| 
|  | 
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
Also includes some code to display stack usage during collect calls.
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
Avoids the extra stack depth of the poly versions.
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>
 | 
| | 
| 
| 
| 
| 
|  | 
Useful to include the code for implementing vectors
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
Reset exceptions at the top so that we can call it more than once.
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
|  | 
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
It's only 32kB.
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>
 | 
| | 
| 
| 
| 
| 
| 
|  | 
These are only collected for debug purposes, but can get quite large
if the interpreter runs for a while.
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
Just make the language closer to r7rs
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Use ao_scheme_cons_cdr to fetch the next list element as that returns
NULL for non-cons elements.
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
Constant time and smaller can be a feature.
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
.lisp -> .scheme
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>
 | 
| | 
| 
| 
|  | 
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
ao_scheme_make_const
This ensures that a parallel build will wait for ao_scheme_builtin.h
to be complete before attempting to compile ao_scheme_make_const
Signed-off-by: Keith Packard <keithp@keithp.com>
 | 
| | 
| 
| 
| 
| 
|  | 
Keeps it away from the usual test setup
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>
 |