Commit graph

53 commits

Author SHA1 Message Date
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