JeffBezanson
2e9a8c21cc
porting over some improvements: now fl_applyn can handle any function
...
(lambda wrappers for opcodes)
faster separate
2010-05-05 05:31:46 +00:00
JeffBezanson
caf7f15f44
porting over some small changes from julia's flisp
2010-05-05 00:00:37 +00:00
JeffBezanson
3bac64cbd7
print improvements
2010-05-04 23:54:07 +00:00
JeffBezanson
271cf34e99
some critical bug fixes
2010-05-04 18:17:55 +00:00
JeffBezanson
6bf5aa0c72
fixes for boehm compatibility
2010-05-03 05:07:22 +00:00
JeffBezanson
23b728155f
some boehm gc tweaks
2010-05-02 23:23:00 +00:00
JeffBezanson
a2b57453cb
adding interoperability with boehm gc if BOEHM_GC is defined
2010-05-02 20:36:39 +00:00
JeffBezanson
b7f08e854f
fully separating femtolisp into library core and main program
2010-05-02 18:17:47 +00:00
JeffBezanson
1dcc71ec82
factoring out startup routine for embedded use
2010-04-29 18:39:17 +00:00
JeffBezanson
eec95c17b8
adding fl_ prefix to some functions
2010-04-29 18:01:26 +00:00
JeffBezanson
731e41cdb6
adding 2 more aliases needed for gambit
2010-03-12 06:19:01 +00:00
JeffBezanson
2e99f52b29
adding dependency on equal.c in makefiles
...
adding a missing va_end
minor change to hash function
2010-02-05 19:56:10 +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
f33ad9348d
fixing some numeric typedefs to avoid conflicts in some environments
2009-12-11 19:12:10 +00:00
JeffBezanson
8eb100a3cf
simplifying copy-list
...
improving the gambit-like read-line function
adding with-output-to-string
2009-12-03 20:12:06 +00:00
JeffBezanson
222eead750
fixing char comparison bug
...
accepting more numeric types in vector.alloc
adding more aliases
2009-11-18 17:38:16 +00:00
JeffBezanson
3dc2275a07
making os name symbols non-constant, so they aren't evaluated at compile time
...
more aliases
2009-10-22 03:32:12 +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
be0d4d0d47
renaming - adding fl_ prefix to some more functions
2009-08-23 07:06:57 +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
0cc3595e80
renaming backquote-related symbols to scheme style
...
adding multi-arg for-each
now R6RS psyntax can be fully bootstrapped
interpreter maintenance
2009-08-18 03:46:09 +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
43b6029727
allowing form (define x)
...
error checking define a bit better
fixing a small bug in expand-lambda
2009-08-12 05:15:21 +00:00
JeffBezanson
332235231c
changing semantics to respect lexical scope more strictly; now
...
anything can be shadowed by closer nested variables
fixing bugs in let-syntax and expanding optional arg default values
improving expansion algorithm on internal define
some small optimizations to the compiler
maintaining interpreter for bootstrapping
2009-08-12 04:56:32 +00:00
JeffBezanson
97c05e8eb4
a couple bug fixes
...
some small performance tweaks
moving some test files around
2009-08-09 20:34:07 +00:00
JeffBezanson
b59dcdc877
fixing bug in with-input-from-file
2009-08-09 18:27:05 +00:00
JeffBezanson
929ec92a65
adding support for eof-object
...
renaming exported symbol NIL to FL_NIL
making default vector fill #f
some misc. cleanup
2009-08-09 18:04:03 +00:00
JeffBezanson
51f645a916
adding gensym?, fixing keyword?
...
checking in psyntax library, and more scheme aliases to make it work
2009-08-09 17:05:40 +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
302ddec770
adding read and print support for named characters, e.g. #\space
...
printing infs and nans in R6RS format
making closure print syntax more compact; fn instead of function
adding more c[ad]+r functions
2009-08-08 21:44:14 +00:00
JeffBezanson
1a6d9d391f
adding with-bindings, with-output-to-file, with-output-to
...
simplifying printing. now based on standard function write,
removing io.print and io.princ
using same top level exception handler for scripts as repl
2009-08-08 00:29:55 +00:00
JeffBezanson
c6a977063e
better error checking for formal argument lists
...
some cosmetic error improvements
adding more tests
2009-08-03 05:00:44 +00:00
JeffBezanson
15c8cb327d
finishing initial implementation of keyword arguments
...
fixing up interpreter so it can be used for bootstrapping again
removing let/copyenv optimization because it really didn't seem to help much
2009-08-02 04:06:07 +00:00
JeffBezanson
adb702cdf8
fixing a bug in optional args + rest args with no required arguments
...
adding some code for keyword argument processing
2009-07-29 04:20:28 +00:00
JeffBezanson
08787a01cd
fixing use of an undefined behavior that was breaking compiles occasionally
2009-07-29 02:32:23 +00:00
JeffBezanson
ecfd81148f
changing optional args to allow default values to be computed from
...
preceding arguments
tidying some stuff with keywords
2009-07-28 04:16:20 +00:00
JeffBezanson
eceeddf6d2
adding support for optional arguments
...
error checking formal argument lists
making filter preserve the order of elements in the input list
2009-07-27 03:34:33 +00:00
JeffBezanson
c61dc10002
adding some combined instructions and teaching the compiler to emit them:
...
brn, brnn, brne, cadr
2009-07-24 04:20:09 +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
66c671bfee
making long argument lists more efficient
2009-07-22 02:10:20 +00:00
JeffBezanson
0278b152b8
fixing a case where tail position was not properly observed
2009-07-21 03:42:15 +00:00
JeffBezanson
57c066fcdf
simplifying code by eliminating the hybrid stack/heap calling convention
...
other misc. cleanup
2009-07-20 04:57:17 +00:00
JeffBezanson
642d1e1bd4
rewriting some primitives to take advantage of the full language; they
...
do not need to be written in terms of the base language any more
moving handling of internal define and multiple-body-lambda to the
compiler where it belongs. macroexpand now only handles syntax.
2009-07-18 02:16:18 +00:00
JeffBezanson
2c304edf42
changing boot file format; the old one did not preserve sharing
...
between top-level functions
making colon at the end also valid for keywords
adding keyword? predicate
fixing bug in map
adding functions to emulate values and call-with-values
adding receive macro
improving equal? on closures
adding lambda-lifting optimization to the compiler
2009-07-17 01:30:26 +00:00
JeffBezanson
c19aaeabd6
keeping track of function names, printing nice stack traces
...
changing default bootstrap process to use VM instead of interpreter
fixing bug where only a fixnum could index a vector
merging equal.c into the main compilation unit
2009-07-10 04:17:39 +00:00
JeffBezanson
2d4a0ae30e
adding functions max and min
...
fixing make-system-image to save aliases of builtins
2009-07-08 19:07:56 +00:00