foof
47a1c61117
need to free the buffer when using open_memstream
...
(unlike how it's done in the sample in the manpage)
2010-06-22 13:30:24 +00:00
foof
a24de22094
gc bug fixes, adding optional gc debugging utils
2010-06-21 14:42:36 +00:00
Alex Shinn
f8a3296372
moving apply to vm.c
...
copying lambda param lists on creation
2010-05-15 13:05:50 +09:00
Alex Shinn
147686a452
increasing numeric output buffer size
2010-05-05 22:11:30 +09:00
Alex Shinn
aa0af80993
replacing sprintf with snprintf to handle numeric formatting overflow
2010-05-05 22:09:18 +09:00
Alex Shinn
340ab8404c
off by one error on last patch
2010-04-15 22:34:43 +09:00
Alex Shinn
0299d42807
fixing bug reading SEXP_MIN_FIXNUM
2010-04-15 22:25:35 +09:00
Alex Shinn
6e554911e6
simplifying with sexp_assert_type macro
2010-04-04 10:28:09 +09:00
Alex Shinn
d5ddfe6a92
changing type_exception to use self and a type_id
...
this simplifies and reduces the number of different static strings.
specific error messages are still available with sexp_xtype_exception.
2010-04-04 10:10:17 +09:00
Alex Shinn
9f239534b4
rewriting string->number in C to fix the error catching problem (should return #f)
...
this calls sexp_read_number directly passing the base, so the
C implementation is shorter than the Scheme implementation,
much faster, and as an opcode generates smaller bytecode per use.
2010-04-03 11:31:11 +09:00
Alex Shinn
9a3c863630
updating some individual opcodes to new API
2010-03-24 20:42:49 +09:00
Alex Shinn
a89956fc16
new primitives API
...
Primitives now have a signature of prim(ctx, self, n, args ...)
instead of just prim(ctx, args ...). This allows for variadic
primitives, should help clean up exception handling, and will
allow primitives generated from Scheme->C or JIT compilation.
The primitives sometimes used as utility functions from C such as
sexp_memq have been renamed with a "_op" suffix (e.g. sexp_memq_op)
and a macro sexp_memq has been provided filling in the self and n
args automatically. The self is passed as NULL in these macros,
but will be probably replaced with a reference to the opcode later.
2010-03-24 19:58:50 +09:00
Alex Shinn
cc6f727add
sexp_intern, sexp_read_from_string and sexp_eval_string now all take length parameters.
...
this is more flexible and will help if strings are changed to be non-null-terminated.
2010-03-23 20:52:47 +09:00
Alex Shinn
0a9085fbbd
const qualifying char* inputs to various API functions
2010-03-22 15:14:30 +09:00
Alex Shinn
bb3d44054e
fixing syntax error with " .)" in source (issue #45 )
2010-03-16 21:41:32 +09:00
Alex Shinn
e15c49389c
auto-closing gc'ed string ports to prevent memory leaks (issue #41 ).
...
also using a separate port field no_closep to indicate ports whose
underlying streams shouldn't be closed (stdin/stdout/stderr).
2010-03-10 21:39:20 +09:00
Alex Shinn
171966956f
fixing bug in sexp_destroy_context
...
We need to grab a reference to the context heap before sweeping, in
case sweeping overwrites the heap reference.
2010-03-09 20:23:29 +09:00
Alex Shinn
fea1b696a4
adding patches for C++
2010-02-27 23:57:54 +09:00
Alex Shinn
670a4ae67b
adding option to mmap heaps instead of mallocing them
2010-02-25 23:58:57 +09:00
Alex Shinn
4dcfb8aa6b
exponents in numbers always indicate inexactness per R5RS (indirectly fixes issue 34)
2010-02-05 13:42:30 +09:00
Alex Shinn
4020a1c1f6
widening whole # input to a double on read_float_tail (issue 33)
2010-02-05 13:30:00 +09:00
Alex Shinn
8046a3c139
workaround for bug in fmemopen - open /dev/null instead of empty strings
2010-01-24 21:52:46 +09:00
Alex Shinn
add39db40b
fixing error checks on first digit for numbers with #r prefix (issue #27 )
2010-01-20 21:00:37 +09:00
Alex Shinn
562ec60926
adding extended io utils, including custom ports, with high-level
...
custom port constructors such as concatenated and filtered ports.
2010-01-02 20:14:32 +09:00
Alex Shinn
4a5cae51ae
forgot to preserve a var on remainder
2010-01-01 16:16:40 +09:00
Alex Shinn
d954819775
adding (chibi io) w/ interface to fgets, fread, fwrite, etc.
2009-12-31 00:24:19 +09:00