JeffBezanson
219ffb7e63
clarifying which values are unspecified, and making the unspecified value
...
true, since only #f should be false.
removing not-really-used definitions of true and false, which just seem to
be asking for conflicts
2010-01-06 18:27:28 +00:00
JeffBezanson
be453f2ed5
improving portability to Mac OS
...
fixes for big endian architectures (PowerPC)
renaming exported symbol raise to fl_raise
fixing some bugs and oversights discovered in the process
2009-08-29 00:54:51 +00:00
JeffBezanson
12b9013744
changes to support mac compilation better. patches from Stefan.
2009-08-24 01:11:36 +00:00
JeffBezanson
37a23afb3c
adding io.peekc, top-level-bound? (alias)
...
fixing behavior of number?
fixing bugs in get-output-string, setting eof
2009-08-23 05:07:46 +00:00
JeffBezanson
626801fd1f
adding => form of cond clauses
...
adding path.exists?
R6RS psyntax simple example now works
2009-08-14 03:17:21 +00:00
JeffBezanson
9ed9a51786
adding *print-level* and *print-length*
...
fixing open-string-output-port (R6RS)
making io.tostring! more consistent
adding newlines to boot file; wastes space but will allow more
efficient diffing
2009-08-13 04:09:35 +00:00
JeffBezanson
db94d6ef1f
adding offset and count arguments to io.write
...
making io.write output chars as utf8;
suddenly switching to UTF32 was not intuitive
adding stream argument to newline (R6RS)
adding several more scheme compatibility procedures
2009-08-09 04:04:31 +00:00
JeffBezanson
3fbd5e7da6
adding functions io.copy, io.readall, time.fromstring
...
adding srfi-6 (string ports) functions
removing unnecessary behavior of sometimes printing int32s and int64s in
hexadecimal
2009-08-08 23:43:12 +00:00
JeffBezanson
08787a01cd
fixing use of an undefined behavior that was breaking compiles occasionally
2009-07-29 02:32:23 +00:00
JeffBezanson
88d08edecc
adding io.pos, io.readlines, read-all
...
fixing a small ios bug
2009-07-22 03:50:57 +00:00
JeffBezanson
943c0d71d1
tiny performance tweaks: removing some variables, making some static
2009-06-09 18:46:02 +00:00
JeffBezanson
27a3e413d3
adding opcodes loada0, loada1, loadc00, loadc01
...
adding offset and count arguments to dump
2009-06-08 03:22:32 +00:00
JeffBezanson
c42ee12d4c
allowing multiple expressions in lambda
...
making cond a macro
increasing size limit for cvalues on the managed heap, and inline
allocated hashtables
2009-05-29 04:38:50 +00:00
JeffBezanson
c38c47d264
adding R6RS div, mod, div0, mod0
...
small improvement to cmp_eq
explicit -fomit-frame-pointer was causing test failures with gcc4.3.2
2009-05-14 17:54:59 +00:00
JeffBezanson
ae2a4dd156
adding integer division function div
...
changing / to do real division always
fixing equal? to distinguish -0.0 and 0.0
making equal? and eqv? false on numbers of different exactness
2009-05-14 01:30:25 +00:00
JeffBezanson
ad4a086790
converting for to a special form
...
adding loadi8 instruction
cleaning up numeric comparison, reducing repeated code
2009-04-16 03:05:38 +00:00
JeffBezanson
36a209cd5f
making = a builtin
...
fixing = and eqv? to work properly on NaNs
fixing other comparison predicates to be consistent
2009-04-15 23:54:43 +00:00
JeffBezanson
8e78e4cdbb
making some utf8 routines more robust against invalid data
...
implementing tail position in compiler
adding arg count checking for instructionized builtins
2009-04-02 02:22:38 +00:00
JeffBezanson
2ddbac400a
fixing bug in hash table. growth schedule made it possible for
...
maxprobe to decrease, causing growth during rehashing, which leaks
the table.
2009-03-28 23:46:02 +00:00
JeffBezanson
fe72c101e2
avoiding sprintf for error messages where possible
...
moving raise, logand, logior, logxor, and ash out of core
changing prog1 to a special form
2009-03-25 02:28:21 +00:00
JeffBezanson
5681745bc3
adding apply1, using it in trycatch (avoids consing)
...
allowing left bit shift to overflow to larger types
fixing bug in number->string on uint64
fixing bug in rand.uint64
2009-03-13 22:26:44 +00:00
JeffBezanson
dceced2bb0
fix bug in (case)
...
reducing use of strlen
2009-03-13 14:54:48 +00:00
JeffBezanson
fdfaacfbe5
adding io.putc, io.tostring!, string.map, print-to-string
...
fixing bug in ios, not initializing readonly flag
updating string and sizeof to use new strstream functions
removing some redundant numeric type init functions
2009-03-05 03:48:17 +00:00
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
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
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
a55b46e9a6
switching to scheme #t, #f, and () values
...
porting code to sort out which NILs are false and which are
empty lists
switching to scheme-style special forms. however you feel about
scheme names vs. CL names, using both is silly.
mostly switching to scheme predicate names, with compatibility
aliases for now. adding set-constant! to make this efficient.
adding null?, eqv?, assq, assv, assoc, memq, memv, member
adding 2-argument form of if
allowing else as final cond condition
looking for init file in same directory as executable, so flisp
can be started from anywhere
renaming T to FL_T, since exporting a 1-character symbol is
not very nice
adding opaque type boilerplate example file
adding correctness checking for the pattern-lambda benchmark
bugfix in int2str
2009-01-29 01:04:23 +00:00
JeffBezanson
9716ee3452
making list a builtin
...
increasing default heapsize, giving better performance
adding hexdump and int2str functions to llt
2008-12-31 04:45:08 +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
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
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
581afbf636
fixing the result of casting floating point numbers to uint64
...
handling NULL locale
2008-10-08 01:14:23 +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
72d8dec7df
adding new UTF8 example text
...
adding new example big expression for ast testcase
2008-09-03 18:39:27 +00:00
JeffBezanson
7412a31af3
removing more clutter
2008-09-03 15:42:00 +00:00
JeffBezanson
1ef3c13acf
removing a proprietary file that should not be here; I was using it as
...
a UTF-8 test case
2008-08-30 04:53:59 +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
755bb33714
basic ios read, write, and stream creation
2008-08-17 03:47:32 +00:00
JeffBezanson
fa0e134dd8
adding "d.df" syntax for reading single-precision numbers
...
misc. fixes
more work on ios
2008-08-16 21:15:36 +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
1f81d56b89
import of llt library source
2008-07-01 01:53:51 +00:00