Commit graph

609 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
ded9bbf0b6 updating libraries and genstubs to use new primitives API 2010-03-24 20:13:05 +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
36043bb8da making sexp_make_procedure public 2010-03-24 01:27:09 +09:00
Alex Shinn
135d53a8f0 forgot to include eval.h 2010-03-23 20:53:12 +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
adbf0d9370 Added tag stable for changeset b5e6d5afc88e 2010-03-23 17:08:00 +09:00
Alex Shinn
0e6c2ffde9 updating authors 2010-03-22 15:20:21 +09:00
Alex Shinn
87e80f85c0 also making core form names const char* 2010-03-22 15:19:48 +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
9897107d53 replacing SEXP_OPC_ACCESSOR with separate getter & setter opcode classes 2010-03-16 15:19:46 +09:00
Alex Shinn
9604d91440 reordering some immediates 2010-03-15 16:38:17 +09:00
Alex Shinn
ca1f6202ae adding (pointer void) support 2010-03-15 13:29:43 +09:00
Alex Shinn
a1566b79d0 repl creates a new env so new definitions don't show in the standard env 2010-03-14 21:11:28 +09:00
Alex Shinn
725316ad3c initial sexp_copy_context - need utils to dump/load initial image 2010-03-13 23:19:52 +09:00
Alex Shinn
2e9a09fc1e type checking env arg to eval (issue #44) 2010-03-13 18:31:30 +09:00
Alex Shinn
4b2ed4cf48 verifying command-line option arguments are given when needed (issue #43) 2010-03-12 14:26:03 +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
d6c3b04e06 Adding AUTHORS file. 2010-03-09 20:47:10 +09:00
Alex Shinn
f866875e68 adding alignment bytcode patch for ARM 2010-03-09 20:28:32 +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
95e0b0bb31 adding type-checking on the remaining I/O opcodes 2010-03-09 19:08:58 +09:00
Alex Shinn
a630d84413 adding dll fixes for mingw 2010-03-04 12:35:18 +09:00
Alex Shinn
3123d48da7 removing negative and inverse opcodes from disasm 2010-03-01 15:57:02 +09:00
Alex Shinn
e569fd1847 ignoring generated clibs.c 2010-03-01 15:55:41 +09:00
Alex Shinn
32de527a77 adding tests 2010-03-01 15:53:55 +09:00
Alex Shinn
5002f796d8 backing out the zero-arity option to - and / 2010-03-01 13:54:57 +09:00
Alex Shinn
325007d2b9 Removing SEXP_OP_NEGATIVE and SEXP_OP_INVERSE - these are compiled
directly by generate_opcode_app now.  Zero arity cases now supported:
(-) => 0, (/) => 1, equivalent to the zero arity + and * cases.
2010-03-01 13:15:06 +09:00
Alex Shinn
e999b1a77a Need to wrap constant-folded results in a literal. 2010-03-01 12:55:24 +09:00
Alex Shinn
8dd1d572f0 fixing test for 1e2 - should be inexact 2010-03-01 01:49:26 +09:00
Alex Shinn
fea1b696a4 adding patches for C++ 2010-02-27 23:57:54 +09:00
Alex Shinn
a7ad2d547c removing warning about no shared object extension when compiling statically.
patch from andreas rottman (issue 36).
2010-02-26 00:11:12 +09:00
Alex Shinn
20da1b8909 fixing string-ref for 8-bit values (need to separate strings from byte-vectors) 2010-02-26 00:04:46 +09:00
Alex Shinn
c14e32a0eb exposing sexp_free_vars 2010-02-25 23:59:40 +09:00
Alex Shinn
670a4ae67b adding option to mmap heaps instead of mallocing them 2010-02-25 23:58:57 +09:00
Alex Shinn
5ee65cd71b fixing bug in multiple -p/-e options to main 2010-02-25 23:56:28 +09:00
Alex Shinn
445f5f5f31 stripping syntactic-closures from record descriptive names 2010-02-25 23:55:38 +09:00
Alex Shinn
819fbd2c99 fixing bug in sorted? 2010-02-25 23:54:47 +09:00
Alex Shinn
b71195955e fixing sort when less predicate is given without a key 2010-02-11 19:00:53 +09:00
Alex Shinn
efb6f24a61 don't push back final char when reading a bignum-sized float (issue 32, part 2) 2010-02-06 21:33:45 +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
e8030d7eb7 fixing bug when reading invalid "." in non-decimal bignums (issue 32) 2010-02-05 13:27:04 +09:00
Alex Shinn
2d8c382978 fixing sign of (- bignum flonum) (issue 31) 2010-02-05 13:17:43 +09:00
Alex Shinn
7d4a34a175 fixing installed lib files (thanks sladegen) 2010-02-05 10:31:22 +09:00
Alex Shinn
d4eaecd658 (/ big big) and (- big flo) patches from lorenzo campedelli (issue 31) 2010-01-28 01:02:33 +09:00
Alex Shinn
59e88c7ded fixing simplify bug, neither var can be mutated for a let id substitution (issue 30) 2010-01-27 22:35:59 +09:00
Alex Shinn
b8e816c460 number->string and string->number edge cases (issue 29) 2010-01-24 22:03:36 +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