Alex Shinn
35776a2bc3
removing small maximum heap size from testing
2009-12-05 17:39:27 +09:00
Alex Shinn
035aa7005c
no longer exit(2)ing on OOM, pre-allocating a global OOM exception
2009-12-05 17:34:27 +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
6bd1bd3687
adding directory-files to posix module
2009-12-02 03:51:39 +09:00
Alex Shinn
b49153dfdf
adding time_t type handling to stubber, with 2010 "chibi" epoch
2009-12-02 03:13:04 +09:00
Alex Shinn
a3578d1ef8
going slightly overboard in auto-generating the correct indefinite article
2009-12-02 02:09:48 +09:00
Alex Shinn
f9e67daf43
adding initial stubber with partial posix and net modules
2009-11-30 04:07:57 +09:00
Alex Shinn
ce9bc2edeb
minor bignum bugfixes
2009-11-30 01:10:15 +09:00
Alex Shinn
d0aa8de1e6
adding basic finalizer functionality
2009-11-28 18:27:42 +09:00
Alex Shinn
532a717ed9
using relative paths for include files
2009-11-28 17:44:47 +09:00
Alex Shinn
574b1daa32
using include-shared for shared object files for portability
2009-11-28 17:27:01 +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
353594a028
fixing some 64-bit bignum arithmetic cases
2009-11-28 16:05:59 +09:00
Alex Shinn
025aae80d6
adding tree search patterns to (chibi match)
2009-11-25 22:46:38 +09:00
Alex Shinn
f74fcbce29
adding (command-line-arguments)
2009-11-23 03:54:29 +09:00
Alex Shinn
cca25351fe
adding srfi-98
2009-11-23 02:42:03 +09:00
Alex Shinn
671b983214
adding (chibi match) module
2009-11-23 02:07:05 +09:00
Alex Shinn
8481f543a9
cleanup, making infinities optional, fixing build for plan9
2009-11-23 01:54:22 +09:00
Alex Shinn
66bd9a52bb
no more globals!
...
Each contexts keep a link to the heap which it is a part
of (when using the native GC), as well as a vector of
special globals that it needs quick access to (e.g. the
`quote' and `quasiquote', etc. symbols. You can use this
to manage multiple completely unrelated VMs in the same
application, and everything will be thread-safe.
The old behavior is still available by editing config.h,
which now includes somewhat better descriptions of all
the settings.
2009-11-23 01:13:42 +09:00
Alex Shinn
3a55e2b6f3
moving debug.c to opt/ dir
2009-11-22 18:20:24 +09:00
Alex Shinn
bb251082f6
fixing a small bug that missed some tail-recursion cases
2009-11-22 18:14:46 +09:00
Alex Shinn
3a47a903e8
disasm defaults to printing to (current-error-port)
2009-11-22 17:54:45 +09:00
Alex Shinn
636e9d75c0
adding #! as a line-comment to support unix scripts
2009-11-18 01:11:28 +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
311c567c06
making EQUAL? comparison data-driven
...
all native types, present and future, now supported.
allows for distinguishing which slots should be used
for comparison (e.g. source info of pairs isn't compared).
2009-11-15 18:45:08 +09:00
Alex Shinn
6db4ed9155
removing strndups
2009-11-11 01:43:47 +09:00
Alex Shinn
edd08d6740
adding srfi-9 based on native types
2009-11-11 01:27:20 +09:00
Alex Shinn
f53e4df208
adding support for runtime definition of new types
2009-11-10 21:50:59 +09:00
Alex Shinn
f9b50ba909
renaming env_define to sexp_env_define since it's a public API
2009-11-05 20:51:35 +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
58a6724dea
setting correct top in sexp_apply
2009-11-05 18:54:25 +09:00
Alex Shinn
9c128c49fa
removing unintended immutability check from OP_STRING_REF
2009-11-05 06:54:52 +09:00
Alex Shinn
6afc9f964d
stripping syntactic-closures in syntax-rules error messages
2009-11-03 12:57:38 +09:00
Alex Shinn
520c660347
installing config file, fixing installed module search path
2009-11-03 12:54:06 +09:00
Alex Shinn
eafd40c193
adding some handy syntax modules
2009-11-03 01:44:36 +09:00
Alex Shinn
99dd2b98e1
reporting better error for unmatched syntax-rules patterns
2009-11-03 01:05:22 +09:00
Alex Shinn
c1e8606c01
forgot to push config file
2009-11-03 01:04:53 +09:00
Alex Shinn
44d0156c80
better type checking in the VM
...
Fixes http://code.google.com/p/chibi-scheme/issues/detail?id=5
Some non-opcode primitive functions may still need type checking.
2009-11-02 23:52:19 +09:00
Alex Shinn
c4625e1c86
fixnum/integer naming cleanup
...
Replacing sexp_make_integer, sexp_integerp, etc. with sexp_make_fixnum,
sexp_fixnump, etc. Defining the old names as variants handling either
fixnums or bignums, or just as aliases for the new terms when compiled
without bignum support. sexp_make_integer needs to take a context now
in case it generates a bignum.
2009-11-02 23:39:42 +09:00
Alex Shinn
5b14a3a19d
adding todo list
2009-11-02 01:31:23 +09:00
Alex Shinn
576a20b3bc
simplifying gc variable preservation
...
Adding sexp_gc_var1..6 and corresponding _preserve/release1..6
referring to fixed preservation variable names, to substantially
reduce the boilerplate on C functions which produce temporary sexp
values. The fixed variable names are safe because we never nest
them within the same C function. The original macros are still
available for manual naming, block local variables and cases of
more than 6 gc vars.
Consider combining var+preserve into a single macro, since splitting
them is rare.
2009-11-01 19:48:30 +09:00
Alex Shinn
445f8e9fa4
adding bignum support for 64-bit machines
...
using gcc 128-bit register extensions to hold the result of
multpliying two 64-bit integers.
2009-11-01 18:53:32 +09:00
Alex Shinn
91efc04852
fixes for 64-bit machines
2009-11-01 17:17:06 +09:00
Alex Shinn
e50950316f
commenting out name used for debugging stack references into the heap
2009-10-14 10:42:10 +09:00
Alex Shinn
62c390d68e
initial module system
2009-10-13 18:29:18 +09:00
Alex Shinn
6376198e92
additions in preparation for module system
2009-10-11 18:45:32 +09:00
Alex Shinn
34a9b15645
adding reader support for infinities
2009-08-24 22:48:33 +09:00
Alex Shinn
386a1cdb0a
working on 9p support
2009-08-24 22:41:54 +09:00
Alex Shinn
d36e70f6bf
fixing various numeric operations
2009-08-24 22:41:33 +09:00