Commit Graph

11 Commits

Author SHA1 Message Date
JeffBezanson e7e5677d51 support reading hex float literals
better text representation of infs and nans

removing construction of low-level numeric types directly from strings

adding hash function corresponding to equal

better way to initialize builtins

moving advanced bitvector ops to separate compilation unit

rearranging hash table code so it can be specialized for different
comparison functions

one good way to bloat a piece of software is to add several
ASCII pictures of the mona lisa
2008-11-23 07:12:37 +00:00
JeffBezanson 120522c212 updating bitvector functions to use int64s in more places, since
after all that's the whole point of bitvectors

some prettyprinting tweaks

more uniform way to handle forwarding pointers. fix forwarding
of gensyms

:keyword symbols
2008-10-31 02:50:00 +00:00
JeffBezanson c8c59b1dfc added globals *install-dir* and *print-width*, parameterized
prettyprinter by screen width

decent accumulate-while and accumulate-for
2008-09-11 02:37:38 +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 d6470ac62f fixed array constructor so it doesn't require allocating a generic
container first

updates and improvements to ios
2008-08-29 03:27:59 +00:00
JeffBezanson 9acdf313b9 adding more ios functions
porting femtolisp to use ios for all I/O
2008-08-17 18:16:31 +00:00
JeffBezanson 62e5c359d0 adding string.inc and string.dec
moving string functions to their own file
2008-08-05 04:34:14 +00:00
JeffBezanson 46f2f47b14 switched to 3-bit type tags for simpler checking
fixnums still have 30 bits

moving towards making "guest functions" more opaque; their type is now
just 'builtin

pretty printing some forms better: defun, defmacro, for, label
support *print-pretty*
2008-08-05 01:43:12 +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 0c9010a117 import femtolisp source 2008-07-01 01:54:22 +00:00