Commit graph

16 commits

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