Commit Graph

14 Commits

Author SHA1 Message Date
JeffBezanson 7e65db3e74 faster append
removing 'equal' alias
removing some top level bindings
2009-05-30 21:13:13 +00:00
JeffBezanson 99c17feac1 made cons hashing tail recursive on cdrs
plus one more test
2009-05-20 18:52:09 +00:00
JeffBezanson ff650e3049 fixing hash function to do a better job on long lists. 2009-05-20 04:30:00 +00:00
JeffBezanson bfbbf051c9 doing a better job hashing circular structure. the hash function is now
always fast and gives conservative correct answers, at the expense of
fidelity on medium and large size structures. for example (hash (iota 15))
gives the same result as (hash (iota 14)).
2009-05-20 03:39:20 +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 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 4cb9685266 adding support for arbitrarily-long argument lists
argument lists are heap-allocated after a certain cutoff (currently 127)
2009-03-27 03:06:55 +00:00
JeffBezanson 17d81eb4e6 adding #b, #o, #d, #x numeric literals
accepting r6rs IEEE literals +-nan.0 and +-inf.0
printing distinguished -0.0, indicating float with .0f instead
of #float, double with .0 instead of #double

more renaming (? on predicates, ! on mutating operators)
changing T to #t :( all those #s are so ugly
2009-02-01 01:53:58 +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 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 ee9f565d89 fixing bug in for where lambda body was self-evaluating 2008-12-12 21:06:20 +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 6e515a532e fix oops in new apply()
more cvalues design
2008-08-07 05:08:10 +00:00
JeffBezanson 0c9010a117 import femtolisp source 2008-07-01 01:54:22 +00:00