JeffBezanson
dc50df083c
adding branch probability annotations
...
wrote a CPS transformer that can be used to provide coroutines
misc. cleanup
2008-12-28 08:01:18 +00:00
JeffBezanson
830e1c986c
renaming 'char' type to 'byte' to avoid confusion
...
wchar will be used for all individual characters
adding string.find function
fixing bug in #sym(...) if sym was undefined
2008-12-24 04:43:36 +00:00
JeffBezanson
8e4ba69a7b
more efficient representation for small tables
...
adding tablep and table.clone
fixing bug with filename string in load
2008-12-22 06:36:50 +00:00
JeffBezanson
dfacb4d897
making all builtins print readably; (builtin 'sym) function
...
hash table functions:
adding get,put,has,del,table.foldl,table.pairs,table.keys,table.values
2008-12-21 05:55:00 +00:00
JeffBezanson
c89111f7cb
refactored escape sequence handling a bit, added error for invalid hex
...
discarding rest of input line after a parse error
made compare() do less work for unordered comparison
added peekc and purge to ios
2008-11-06 04:04:04 +00:00
JeffBezanson
6f934a817b
I decided it was rather random that set was the only function
...
that could access the current environment dynamically. It also
differed unnecessarily from common lisp set in this respect.
So now setq is a builtin special form that sets lexical or
global variables, and set is a function that sets global variables.
Rather than eliminate the power of the dynamic set, I extended it
by adding eval*, which evaluates its argument in the current
environment. The justification for this is that the interpreter
is already dynamic enough to allow it with no overhead, so the
ability might as well be exposed.
cleanup; removing some magic numbers
beginning hash tables
2008-09-06 22:19:51 +00:00
JeffBezanson
7cdd489f86
changing license, since google code does not support the CPL
2008-08-30 02:56:46 +00:00
JeffBezanson
c3811312a7
adding vector.map, string.char
...
fixing 0-trip-count case in (for)
2008-08-02 16:18:39 +00:00
JeffBezanson
e08091e4a1
adding (for lo hi f) construct, changing library funcs to use it
...
setting license to CPL v1
2008-07-26 22:04:02 +00:00
JeffBezanson
b76bbe3724
changing environment representation to contiguous values
...
eliminating built-in label form
2008-07-15 01:20:52 +00:00
JeffBezanson
b3b2bc3300
fix to how defun was using macroexpand
2008-07-12 02:58:55 +00:00
JeffBezanson
0c9010a117
import femtolisp source
2008-07-01 01:54:22 +00:00