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