a2b57453cbadding interoperability with boehm gc if BOEHM_GC is defined
JeffBezanson
2010-05-02 20:36:39 +0000
8d7576250dporting over some minor changes to LLT
JeffBezanson
2010-05-02 18:28:53 +0000
b7f08e854ffully separating femtolisp into library core and main program
JeffBezanson
2010-05-02 18:17:47 +0000
1dcc71ec82factoring out startup routine for embedded use
JeffBezanson
2010-04-29 18:39:17 +0000
eec95c17b8adding fl_ prefix to some functions
JeffBezanson
2010-04-29 18:01:26 +0000
45c11c944bporting over some small LLT fixes
JeffBezanson
2010-04-10 04:25:59 +0000
731e41cdb6adding 2 more aliases needed for gambit
JeffBezanson
2010-03-12 06:19:01 +0000
716a6447f9adding arraylist to LLT
JeffBezanson
2010-03-05 18:08:31 +0000
7d652f9c5asome LLT cleanup: making allocation functions customizable adding ios_vprintf simplifying config variables for mac
JeffBezanson
2010-02-25 04:37:33 +0000
2e99f52b29adding dependency on equal.c in makefiles adding a missing va_end minor change to hash function
JeffBezanson
2010-02-05 19:56:10 +0000
1649e64ad3putting llt_init in a separate file
JeffBezanson
2010-01-06 20:27:04 +0000
219ffb7e63clarifying 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
JeffBezanson
2010-01-06 18:27:28 +0000
f33ad9348dfixing some numeric typedefs to avoid conflicts in some environments
JeffBezanson
2009-12-11 19:12:10 +0000
8eb100a3cfsimplifying copy-list improving the gambit-like read-line function adding with-output-to-string
JeffBezanson
2009-12-03 20:12:06 +0000
222eead750fixing char comparison bug accepting more numeric types in vector.alloc adding more aliases
JeffBezanson
2009-11-18 17:38:16 +0000
3dc2275a07making os name symbols non-constant, so they aren't evaluated at compile time more aliases
JeffBezanson
2009-10-22 03:32:12 +0000
be453f2ed5improving 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
JeffBezanson
2009-08-29 00:54:51 +0000
12b9013744changes to support mac compilation better. patches from Stefan.
JeffBezanson
2009-08-24 01:11:36 +0000
be0d4d0d47renaming - adding fl_ prefix to some more functions
JeffBezanson
2009-08-23 07:06:57 +0000
37a23afb3cadding io.peekc, top-level-bound? (alias) fixing behavior of number? fixing bugs in get-output-string, setting eof
JeffBezanson
2009-08-23 05:07:46 +0000
0cc3595e80renaming backquote-related symbols to scheme style adding multi-arg for-each now R6RS psyntax can be fully bootstrapped interpreter maintenance
JeffBezanson
2009-08-18 03:46:09 +0000
626801fd1fadding => form of cond clauses adding path.exists? R6RS psyntax simple example now works
JeffBezanson
2009-08-14 03:17:21 +0000
9ed9a51786adding *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
JeffBezanson
2009-08-13 04:09:35 +0000
43b6029727allowing form (define x) error checking define a bit better fixing a small bug in expand-lambda
JeffBezanson
2009-08-12 05:15:21 +0000
332235231cchanging 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
JeffBezanson
2009-08-12 04:56:32 +0000
97c05e8eb4a couple bug fixes some small performance tweaks moving some test files around
JeffBezanson
2009-08-09 20:34:07 +0000
b59dcdc877fixing bug in with-input-from-file
JeffBezanson
2009-08-09 18:27:05 +0000
929ec92a65adding support for eof-object renaming exported symbol NIL to FL_NIL making default vector fill #f some misc. cleanup
JeffBezanson
2009-08-09 18:04:03 +0000
51f645a916adding gensym?, fixing keyword? checking in psyntax library, and more scheme aliases to make it work
JeffBezanson
2009-08-09 17:05:40 +0000
db94d6ef1fadding 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
JeffBezanson
2009-08-09 04:04:31 +0000
3fbd5e7da6adding functions io.copy, io.readall, time.fromstring adding srfi-6 (string ports) functions removing unnecessary behavior of sometimes printing int32s and int64s in hexadecimal
JeffBezanson
2009-08-08 23:43:12 +0000
302ddec770adding 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
JeffBezanson
2009-08-08 21:44:14 +0000
1a6d9d391fadding 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
JeffBezanson
2009-08-08 00:29:55 +0000
c6a977063ebetter error checking for formal argument lists some cosmetic error improvements adding more tests
JeffBezanson
2009-08-03 05:00:44 +0000
15c8cb327dfinishing 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
JeffBezanson
2009-08-02 04:06:07 +0000
adb702cdf8fixing a bug in optional args + rest args with no required arguments adding some code for keyword argument processing
JeffBezanson
2009-07-29 04:20:28 +0000
08787a01cdfixing use of an undefined behavior that was breaking compiles occasionally
JeffBezanson
2009-07-29 02:32:23 +0000
ecfd81148fchanging optional args to allow default values to be computed from preceding arguments tidying some stuff with keywords
JeffBezanson
2009-07-28 04:16:20 +0000
eceeddf6d2adding support for optional arguments error checking formal argument lists making filter preserve the order of elements in the input list
JeffBezanson
2009-07-27 03:34:33 +0000
c61dc10002adding some combined instructions and teaching the compiler to emit them: brn, brnn, brne, cadr
JeffBezanson
2009-07-24 04:20:09 +0000
88d08edeccadding io.pos, io.readlines, read-all fixing a small ios bug
JeffBezanson
2009-07-22 03:50:57 +0000
66c671bfeemaking long argument lists more efficient
JeffBezanson
2009-07-22 02:10:20 +0000
0278b152b8fixing a case where tail position was not properly observed
JeffBezanson
2009-07-21 03:42:15 +0000
57c066fcdfsimplifying code by eliminating the hybrid stack/heap calling convention other misc. cleanup
JeffBezanson
2009-07-20 04:57:17 +0000
642d1e1bd4rewriting 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.
JeffBezanson
2009-07-18 02:16:18 +0000
2c304edf42changing 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
JeffBezanson
2009-07-17 01:30:26 +0000
c19aaeabd6keeping 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
JeffBezanson
2009-07-10 04:17:39 +0000
2d4a0ae30eadding functions max and min fixing make-system-image to save aliases of builtins
JeffBezanson
2009-07-08 19:07:56 +0000
3793cf676cimplementing stack traces some cleanup
JeffBezanson
2009-07-06 03:56:48 +0000
494e439510using lisp value stack for call frames instead of the C stack adding the ability to grow the value stack as needed
JeffBezanson
2009-07-03 18:43:15 +0000
2f78b407easome renaming (intern is now symbol) and moving stuff around adding scheme aliases
JeffBezanson
2009-06-30 03:21:41 +0000
3844191d70adding the ability for the VM to use computed goto where available with gcc v4.3.2 I found the combination of -O2 and computed goto to give the best performance; with -O3 performance was a little worse and computed goto was a wash.
JeffBezanson
2009-06-28 19:47:11 +0000
b5897e0ad1adding maxstack calculation and stack overflow protection making append benchmark more useful by measuring interpreter speed instead of the builtin
JeffBezanson
2009-06-27 23:07:22 +0000
8decdc4ae4making append a builtin making branch destinations relative so we can access the code using *ip instead of code[ip] doing the same to bp (argument access) small improvement to map, builtin->instruction better profiling
JeffBezanson
2009-06-15 02:25:21 +0000
6ec69f5375optimizations to map and case several optimizations to the compiler itself, mostly involving emit and encode-byte-code experimental, very basic profiling utility
JeffBezanson
2009-06-11 00:34:50 +0000
943c0d71d1tiny performance tweaks: removing some variables, making some static
JeffBezanson
2009-06-09 18:46:02 +0000
27a3e413d3adding opcodes loada0, loada1, loadc00, loadc01 adding offset and count arguments to dump
JeffBezanson
2009-06-08 03:22:32 +0000
17752decf4implementing support for lambdas with up to 2^32-1 required arguments using copy-list to implement append2 fixing bug in op_vargc when nrequired==MAX_ARGS making fetching of multibyte numbers from bytecode portable some cleanup in compiler
JeffBezanson
2009-06-06 21:15:54 +0000
7c48f6ae53some renaming and reorganizing using more scheme-like names append! and reverse!
JeffBezanson
2009-05-31 21:06:04 +0000
ba32e4b0e9simplifying the whole list* situation, taking better advantage of existing builtin functionality
JeffBezanson
2009-05-31 18:58:09 +0000
7e65db3e74faster append removing 'equal' alias removing some top level bindings
JeffBezanson
2009-05-30 21:13:13 +0000
bbcc68cfdfmaking copy-list a builtin, since the functionality was there anyway. adding builtin primitive apply-nlist*, to speed up list* and nlist*
JeffBezanson
2009-05-30 17:54:27 +0000
a23bee041ffixing bug in cond when condition wasn't followed by any forms fixing typo in cps.lsp optimizing constant conditions in if
JeffBezanson
2009-05-30 17:04:34 +0000
c42ee12d4callowing multiple expressions in lambda making cond a macro increasing size limit for cvalues on the managed heap, and inline allocated hashtables
JeffBezanson
2009-05-29 04:38:50 +0000
99c17feac1made cons hashing tail recursive on cdrs plus one more test
JeffBezanson
2009-05-20 18:52:09 +0000
ff650e3049fixing hash function to do a better job on long lists.
JeffBezanson
2009-05-20 04:30:00 +0000
bfbbf051c9doing 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)).
JeffBezanson
2009-05-20 03:39:20 +0000
c2026ba77cadding gc handles, making evaluator stack static this provides a better interface and could only help performance starting to add some useful library code
JeffBezanson
2009-05-19 02:54:56 +0000
c38c47d264adding R6RS div, mod, div0, mod0 small improvement to cmp_eq explicit -fomit-frame-pointer was causing test failures with gcc4.3.2
JeffBezanson
2009-05-14 17:54:59 +0000
e365cb1d33adding divide by 0 check in div
JeffBezanson
2009-05-14 02:53:04 +0000
ae2a4dd156adding 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
JeffBezanson
2009-05-14 01:30:25 +0000
6c549f0399fixing hash of circular structure to avoid tree recursion (very important!!) simplifying vector_grow
JeffBezanson
2009-05-13 04:03:13 +0000
77e37368c9fixing trace and untrace replacing function->vector with function:code, function:vals, and function:env
JeffBezanson
2009-05-13 01:13:40 +0000
a7a31cf53afixing vararg apply to work properly
JeffBezanson
2009-05-11 23:55:40 +0000
af72c4f5bdputting the saved environment in the order that matches the current boot file
JeffBezanson
2009-05-08 03:00:40 +0000
2c212fbcf7adding random function fixing bug in integer? sorting environment in make-system-image for more stable diffs
JeffBezanson
2009-05-08 02:52:25 +0000
3dbaa358f9making 3rd argument to string.sub optional some renaming removing 1/Instructions table
JeffBezanson
2009-05-07 02:10:52 +0000
c94774a5dfadding *error-stream* variable removing unnecessary byte after :let in bytecode encoding adding script for easy bootstrapping
JeffBezanson
2009-05-05 23:51:13 +0000
63edc82ba4using global variables uniformly for print settings instead of passing around one of them fixing unwind-protect not to duplicate code
JeffBezanson
2009-05-05 04:01:06 +0000
264df1f90bimproving closure representation some performance tweaks
JeffBezanson
2009-04-28 04:10:18 +0000
de19e4f401adding return special form eliminating some unnecessary top-level bindings adding opcodes add2, sub2, neg
JeffBezanson
2009-04-26 22:19:32 +0000
0dc4c16276making procedure? a builtin fixing type error trying to apply #t, #f, nil
JeffBezanson
2009-04-24 20:43:56 +0000
1259c17837updating interpreter to work better for bootstrapping adding program mkboot0, which can be run in the interpreter to compile source files into a stage-0 boot image.
JeffBezanson
2009-04-23 00:55:03 +0000
909b91ffccfixing printing of invalid UTF-8
JeffBezanson
2009-04-23 00:22:03 +0000
e4488bb065some tweaks to the vm
JeffBezanson
2009-04-22 23:00:13 +0000