Commit Graph

64 Commits

Author SHA1 Message Date
JeffBezanson 21dd640454 some fixes to ios 2012-01-17 04:31:08 +00:00
JeffBezanson 3f4b26a46f checking for overflow in integer literals
fixing FLT_EPSILON
2011-08-16 19:59:46 +00:00
JeffBezanson 0bbfb48b9c improved implementation of backquote 2011-04-11 03:24:30 +00:00
JeffBezanson 4cd78cb562 getting rid of label
adding optional, faster built-in map
checking in soon-to-be code for quasiquote
a couple library bug fixes
2010-12-23 06:49:37 +00:00
JeffBezanson 9e07001ae0 adding \e character escape
calling GC_init when appropriate
fixing some ios bugs
adding ios_static_buffer
2010-08-28 05:07:02 +00:00
JeffBezanson eaac150672 misc. updates, mostly about portability and warnings
removing some unnecessary #includes
2010-08-04 19:03:19 +00:00
JeffBezanson 8ea6157c15 some LLT fixes
improve portability of byte order test
2010-05-14 21:01:00 +00:00
JeffBezanson 46009027c2 fixing a 64-bit issue and a nan issue 2010-05-09 00:42:37 +00:00
JeffBezanson a2b57453cb adding interoperability with boehm gc if BOEHM_GC is defined 2010-05-02 20:36:39 +00:00
JeffBezanson 8d7576250d porting over some minor changes to LLT 2010-05-02 18:28:53 +00:00
JeffBezanson 45c11c944b porting over some small LLT fixes 2010-04-10 04:25:59 +00:00
JeffBezanson 716a6447f9 adding arraylist to LLT 2010-03-05 18:08:31 +00:00
JeffBezanson 7d652f9c5a some LLT cleanup:
making allocation functions customizable
  adding ios_vprintf
  simplifying config variables for mac
2010-02-25 04:37:33 +00:00
JeffBezanson 1649e64ad3 putting llt_init in a separate file 2010-01-06 20:27:04 +00:00
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