Commit graph

57 commits

Author SHA1 Message Date
Alex Shinn
02a763007d moving disasm to (chibi disasm) module 2009-12-27 01:17:32 +09:00
Alex Shinn
e9d6f1857a types are now context-group local by default. 2009-12-26 23:46:54 +09:00
Alex Shinn
fea2428eb6 auto-expanding hash-tables 2009-12-26 01:48:12 +09:00
Alex Shinn
77f2990f28 factoring (chibi posix) into filesystem, process and time modules.
the time module is garbage, because libc time handling is garbage.
the signal handling is still experimental, use at your own risk.
still need a host module for user/group and other host information.
2009-12-25 21:11:56 +09:00
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