Alex Shinn
ffdce3639b
adding import-immutable to minimize heap usage
2009-12-20 16:08:19 +09:00
Alex Shinn
69166bb523
moving init.scm and config.scm to the module directory
2009-12-18 21:31:03 +09:00
Alex Shinn
d978e750aa
moving library initialization logic from main.c to eval.c.
...
main is just minimal option parsing plus a simple repl now.
still need to switch to using a module path instead of a
single module dir.
2009-12-18 17:31:10 +09:00
Alex Shinn
6fe11ffcd1
Renaming all USE_ settings and all OP_, OPC_ and CORE_ enums
...
to have an SEXP_ prefix. Now all values from the headers
are prefixed with either sexp_ or SEXP_, important for ease
of embedding. "make USE_BOEHM=1" still works as an alias
for "make SEXP_USE_BOEHM=1".
Sorry if this patch breaks your code, it had to be done
sooner or later.
2009-12-18 15:58:23 +09:00
Alex Shinn
6b3b13dec6
adding cases in simplify to optimize let bindings over literals
...
and non-mutated identifiers. helps a lot with the default
syntax-rules constructions - in particular reduces the number of
bytecode allocations for (chibi match) from 2397 to 1872.
2009-12-18 11:37:37 +09:00
Alex Shinn
2baae2cc3b
adding initial optimization pass
...
this includes constant folding, dead-code elimination,
and empty let reduction
2009-12-17 16:41:49 +09:00
Alex Shinn
e4a792bdc4
don't stop making if an individual lib fails to build
2009-12-17 15:57:26 +09:00
Alex Shinn
9d44cbd99a
adding SRFI-0 cond-expand
2009-12-16 20:15:45 +09:00
Alex Shinn
c6b0c2319c
adding srfi-27
2009-12-16 17:43:56 +09:00
Alex Shinn
366e0ee726
adding heap-stats module (hackers only, not built by default)
2009-12-14 14:34:46 +09:00
Alex Shinn
99d8c585f9
adding srfi-33 support (needs testing)
2009-12-14 13:46:04 +09:00
Alex Shinn
a1622ad408
marking generated .c files as "PRECIOUS" so they don't get automatically deleted
2009-12-12 16:01:50 +09:00
Alex Shinn
0efd491c24
fixing nested let-syntax hygiene, simplifying error handling
...
also providing better errors in some cases, and exiting with
a non-zero status on script errors
2009-12-06 17:40:50 +09:00
Alex Shinn
d67e8b46aa
makefile fixes from derick eddington
2009-12-05 18:54:04 +09:00
Alex Shinn
5d2f5912ce
adding parent links to cpointers to prevent freeing shared structures
2009-12-05 17:17:55 +09:00
Alex Shinn
f9e67daf43
adding initial stubber with partial posix and net modules
2009-11-30 04:07:57 +09:00
Alex Shinn
0746c445ed
type checking on load, better error message for missing includes
2009-11-28 16:49:31 +09:00
Alex Shinn
025aae80d6
adding tree search patterns to (chibi match)
2009-11-25 22:46:38 +09:00
Alex Shinn
cca25351fe
adding srfi-98
2009-11-23 02:42:03 +09:00
Alex Shinn
3a55e2b6f3
moving debug.c to opt/ dir
2009-11-22 18:20:24 +09:00
Alex Shinn
3ecea4d666
adding define_foreign_opt to bind C functions with optional parameters
...
moving several opcodes to normal FFI functions, considering
doing the same for all I/O opcodes.
2009-11-16 04:04:23 +09:00
Alex Shinn
0581b41b1e
adding hash-tables and a more friendly FFI
2009-11-16 00:52:16 +09:00
Alex Shinn
1cdd7edfa5
adding support for dynamic loading shared libraries
...
load now recognizes ".so" files and loads them with dlopen,
then calls sexp_init_library(ctx, env) from that library.
2009-11-05 20:41:01 +09:00
Alex Shinn
520c660347
installing config file, fixing installed module search path
2009-11-03 12:54:06 +09:00
Alex Shinn
62c390d68e
initial module system
2009-10-13 18:29:18 +09:00
felix
c6499c8b62
diff should get -b on windows to ignore line-terminator differences; SEXP_API is redundantly redefined in sexp.c
2009-07-19 16:18:30 +02:00
felix
605a8dc87b
resolved conflicts
2009-07-19 16:10:44 +02:00
Alex Shinn
9951c8e921
adding extended numeric tests and fixes for the bignum bugs it turned up
2009-07-15 23:56:51 +09:00
Alex Shinn
41f54a7f41
initial windows mingw support patch from felix winkelmann
2009-07-07 19:58:28 +09:00
Alex Shinn
b1c0ea895b
committing initial bignum support, still needs more thorough testing.
...
can disable with USE_BIGNUMS=0 - the interactions between this and
USE_FLONUMS are messy, so they will likely be merged into a single
option in the near future (i.e. you either have only fixnums, or a
full range of numeric types).
adding rationals based on this would be easy and is a likely future
feature. adding native support for complex numbers is unlikely.
2009-07-07 19:16:23 +09:00
felix
7df9ff823a
merged with upstream commits
2009-07-01 18:30:13 +02:00
felix
cf9ec69fd3
more mingw fixes in Makefile
2009-06-30 09:54:28 +02:00
felix
bf598f6ee5
basic mingw support
2009-06-30 09:50:32 +02:00
Alex Shinn
55a8a38e62
DESTDIR patch from sladegen
2009-06-30 11:38:05 +09:00
Alex Shinn
cca8727354
fixing hex char and number syntax, adding support for n/d numbers
...
as floats
2009-06-28 13:10:34 +09:00
Alex Shinn
32838c1f9b
only using our own buffering for string ports
2009-06-27 23:46:03 +09:00
Alex Shinn
09114aa45d
using -fPIC on object files, running ldconfig on install if available
2009-06-24 00:45:54 +09:00
Alex Shinn
097d6705de
fixes for alternate compile options
2009-06-22 21:30:14 +09:00
Alex Shinn
3d46acee56
putting back in -O2
2009-06-21 17:38:26 +09:00
Alex Shinn
a60cc1e98c
fixing bug in loading init.scm file
2009-06-21 17:26:36 +09:00
Alex Shinn
450548e3e2
store difference between ip and bytecode start instead of the
...
raw ip, which may overflow the integer range.
2009-06-21 16:37:58 +09:00
Alex Shinn
b9f4668027
linux portability fixes
2009-06-21 01:12:20 -04:00
Alex Shinn
6f9e9c1321
cleaning up build
2009-06-21 11:58:55 +09:00
Alex Shinn
24d9bfc950
switching to linking as a library
2009-06-20 21:57:28 +09:00
Alex Shinn
56dcf497de
various fixes, gc can handle running the whole test suite
...
in a loop hundreds of times. the heuristics for growing
the heap still cause it to grow very slowly over time,
but nonetheless slower than boehm.
2009-06-19 17:57:40 +09:00
Alex Shinn
8a8e7c165e
preparing for 0.2 release
2009-06-18 00:49:59 +09:00
Alex Shinn
7e3014ba38
cleanup, removing mid-function returns which could corrupt
...
the gc_var trace.
2009-06-18 00:36:39 +09:00
Alex Shinn
c725c48f74
switching to data-driven sexp_mark
2009-06-15 17:34:26 +09:00
Alex Shinn
b636225da7
fixing some stack pointer management bugs
2009-06-12 17:35:57 +09:00
Alex Shinn
d65e7255f8
stack is now a data type (maybe merge w/ vector),
...
new gc seems initially functional
2009-06-08 02:06:24 +09:00