JeffBezanson
40cff81550
more reorganization of LLT
...
adding io.readuntil, io.readline
improvements to ios_readprep
2009-03-03 03:16:30 +00:00
JeffBezanson
2cf5187ca9
adding dump, memstream, io.read, and io.write
...
more renaming
allowing iostreams to be read-only
fixing bug allowing arrays with 0-size elements
2009-03-02 04:26:16 +00:00
JeffBezanson
923c7d5495
fixing bug reading negative constants with #b,o,d,x
...
adding string.trim
2009-02-28 01:59:01 +00:00
JeffBezanson
115b2843fb
adding copy and string.count
2009-02-24 04:12:33 +00:00
JeffBezanson
6c56120669
better solution for allowing an input stream to be relocated while
...
reading from it
improving prettyprinting of lists of short strings
2009-02-24 02:21:16 +00:00
JeffBezanson
3aad0bd6be
fixing some bugs in lerror and read
...
making memory errors non-consing (duh)
cleaning up main() a bit
adding case macro, moving other stuff around a bit
2009-02-20 05:11:05 +00:00
JeffBezanson
0c0471e856
moving implementation of startup, repl, load, and top-level
...
exception handler into system.lsp
adding several iostream functions
adding support for internal define
2009-02-19 03:31:40 +00:00
JeffBezanson
79e12b2dcb
adding io.print and io.princ
...
misc. touch-ups
2009-02-09 05:38:40 +00:00
JeffBezanson
1097597437
file stream creation and io.read
2009-02-09 03:22:31 +00:00
JeffBezanson
2c1bb59486
adding integer? and number->string
...
a bit more renaming
2009-02-01 05:41:43 +00:00
JeffBezanson
8197197ced
misc. cleanup
...
adding without-delimited-continuations
adding skeleton for stream objects
2009-01-05 02:45:21 +00:00
JeffBezanson
d8132ad204
adding CPRIM type, smaller representation for primitives
...
bug fixes in opaque type handling
2009-01-02 23:00:21 +00:00
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
b99d8715ce
generic aref/aset for all arrays
...
(string v) now works on any value, by printing to a string
some bug fixes in ios
2008-12-27 06:02:53 +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
b5dda68eab
adding support for finalization of values
...
enabling type-specific print and relocate behavior
allowing GC to be triggered by large buffer allocations
adding hash table constructor and print function
renamed some functions
2008-12-20 06:16:00 +00:00
JeffBezanson
6962211e76
changing representation of cvalue types so each type is
...
explicitly represented in an fltype_t struct, and symbolic
types are hash-consed. a lot of code is smaller and simpler
as a result. this should allow more features in less space
(both code and data) going forward.
changing \DDD and \x escape sequences to read bytes instead of
characters
re-fixing uint64 cast bug
adding Paul Hsieh's hash function, to be evaluated later
2008-12-11 04:04:17 +00:00
JeffBezanson
a4bb09bcb2
adding equalhash.c
...
some cleanup
moving some library code around for size optimization
now using == instead of flt_equals for float comparison, mostly
for hash compatibility
2008-11-28 21:44:59 +00:00
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
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
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
af8b332367
fixed some small flaws in (compare)
2008-08-30 22:18:20 +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
6e515a532e
fix oops in new apply()
...
more cvalues design
2008-08-07 05:08:10 +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
60644c760e
made apply() entry point more efficient (now non-consing)
...
added selfevaluating(v) predicate
2008-07-26 04:03:48 +00:00
JeffBezanson
180b05fa8e
storing environment size on the stack so lambda doesn't need to
...
compute it. changed penv from pointer to stack index.
result is best performance yet.
fixing constantp to be true for quoted values
2008-07-18 04:16:07 +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