Commit graph

377 commits

Author SHA1 Message Date
Alex Shinn
3087302be6 string-concatenate now takes an optional <separator> argument 2009-12-29 22:19:08 +09:00
Alex Shinn
e2d7291269 belatedly adding type checks on read/write/display 2009-12-29 20:12:09 +09:00
Alex Shinn
351bf36ecf heaps allocate an extra cell to be safe (re: issue #10) 2009-12-29 19:16:15 +09:00
Alex Shinn
ef97713ab7 merging 2009-12-29 19:04:59 +09:00
Alex Shinn
f785134851 updating plan9 mkfile to use features.h 2009-12-29 19:03:50 +09:00
Alex Shinn
7e0464154a number? includes a check for bignums (issue #19) 2009-12-29 18:45:22 +09:00
Alex Shinn
5227209ff8 Added tag 0.3 for changeset 65545bf53d96 2009-12-29 15:35:44 +09:00
Alex Shinn
9bbe80f4bf adding descriptive sexp_release_name for more detailed information
in "about this software" dialogs and such.

0.3 is lithium.  0.1 and 0.2 are retroacively hydrogen and helium,
respectively.
2009-12-29 15:33:06 +09:00
Alex Shinn
98d03e884e adding sexp_version constant which is just a string holding the
version information (currently "0.3").  also adding some features
that may be important to test for: dynamic-loading, modules, and
boehm-gc.
2009-12-29 14:51:13 +09:00
Alex Shinn
dd16dcef2d renaming config.h to features.h 2009-12-29 14:39:13 +09:00
Alex Shinn
e5bcac2142 adding sexp_make_unsigned_integer, using that in the stubber for unsigned types 2009-12-29 14:27:53 +09:00
Alex Shinn
f897ecc9c1 adding chroot-based install test 2009-12-29 03:17:03 +09:00
Alex Shinn
abf0db97d2 merging 2009-12-28 23:42:17 +09:00
Alex Shinn
3a708218c4 removing reference to exit(0) for plan9 2009-12-28 23:41:38 +09:00
Alex Shinn
44a6c530d9 EVAL save/restores the current exception handler.
It doesn't really make sense for an exception to pass
outside of EVAL.  Fixes issue #17.
2009-12-28 23:18:04 +09:00
Alex Shinn
964011c39b fixing build for immediate flonums on 32-bit machines 2009-12-28 22:59:57 +09:00
Alex Shinn
f141b22cb3 adding extended documentation to README, updating version and
copyright information.
2009-12-28 22:53:20 +09:00
Alex Shinn
ad068bc1f8 adding srfi-39 2009-12-28 21:05:25 +09:00
Alex Shinn
02e1bb820d adding a manpage 2009-12-28 19:29:43 +09:00
Alex Shinn
b66c116183 adding srfi-95 2009-12-28 19:13:09 +09:00
Alex Shinn
007c3f07fe switching to SRFI-22 semantics.
-s is no longer needed, only the first non-option argument is
loaded (though you can use -- if the script name begins with a -).
main is then called automatically if defined.  -u was changed to -m.
2009-12-28 16:30:51 +09:00
Alex Shinn
2810fb8b1b sexp_make(_eval)_context now takes an extra parameter to specify the
initial heap size (available as the -h option on the command line).
2009-12-28 13:09:43 +09:00
Alex Shinn
9350920623 adding the SEXP_USE_NO_FEATURES build option 2009-12-28 00:08:33 +09:00
Alex Shinn
793d3931e3 using faster symbolp test when immediate symbols are disabled 2009-12-28 00:07:44 +09:00
Alex Shinn
4f45da310a removing flonums from basic tests 2009-12-28 00:06:59 +09:00
Alex Shinn
1fda388db9 fixing vm <, >, = comparator cases when both flonums and bignums are disabled 2009-12-28 00:06:46 +09:00
Alex Shinn
17e4f63f94 fixing a simple offby1 error in intern previously hidden by the
prevalence of huffman-coded symbols.
2009-12-27 23:19:19 +09:00
Alex Shinn
667e8959e0 port size should be size_t 2009-12-27 22:37:55 +09:00
Alex Shinn
f2fb277eab forgot the return value 2009-12-27 16:39:32 +09:00
Alex Shinn
84404ac54a adding sexp_load_standard_parameters to fix -q option to main 2009-12-27 16:38:37 +09:00
Alex Shinn
6fa8474c42 don't check for bits over 32 on 32-bit machines in integer_log2
(removes shift width warning)
2009-12-27 16:15:28 +09:00
Alex Shinn
482e0d79a9 #t and #f are case-insensitive tokens 2009-12-27 16:08:27 +09:00
Alex Shinn
461fec8e6d adding build-tests script to verify different build options. 2009-12-27 15:44:28 +09:00
Alex Shinn
5f7201ab04 immediate flonums now work on 64-bit machines.
we pack a 32-bit float so there's no funky rounding issues as
on 32-bit machines.  this reduces heap usage, and avoids
allocations during flonum arithmetic.
2009-12-27 13:37:25 +09:00
Alex Shinn
f645ecbb54 updating the sexp_allocated_bytes signature to use the context for
context-local types
2009-12-27 13:34:53 +09:00
Alex Shinn
b1b14fb750 removing opt/debug.c from the eval.o dependencies 2009-12-27 07:29:44 +09:00
Alex Shinn
02a763007d moving disasm to (chibi disasm) module 2009-12-27 01:17:32 +09:00
Alex Shinn
3c2615e2a7 moving file-exists? to (chibi filesystem) 2009-12-27 00:45:28 +09:00
Alex Shinn
23411056c2 resetting current-exception-handler after handler is done 2009-12-27 00:28:20 +09:00
Alex Shinn
2534e81d5b adding initial host system module 2009-12-26 23:48:43 +09:00
Alex Shinn
e9d6f1857a types are now context-group local by default. 2009-12-26 23:46:54 +09:00
Alex Shinn
7eae77d0f9 converting make-exception to a primitive opcode instead of a foreign
function, since foreign functions will always raise any exception they
return (hence the double catch in issue #15).

also restoring the original exception handler when an exception is
raised in with-exception-handler, so that exceptions within the
handler itself don't cause an infinite loop.  this may change, as
with-exception-handler is meant to be a low-level tool on which to
build either guard or condition-case, but until then the restoring
is necessary.
2009-12-26 16:21:37 +09:00
Alex Shinn
55710f48be DIR isn't a struct 2009-12-26 09:09:04 +09:00
Alex Shinn
e82b500b61 adding explicit type-casts when using sexp_cpointer_value,
not all compilers will allow implicit conversions from void*.
also removing Linux-specific stime and utime from siginfo_t.
2009-12-26 09:01:45 +09:00
Alex Shinn
8596e1812a recursive evals now share the same stack.
since in a minimal chibi heap the stack accounts for a large
amount of the space, this makes a big difference - you can
now load (chibi match) in a 2MB heap on a 64-bit system and
it won't grow the heap.
2009-12-26 08:25:57 +09:00
Alex Shinn
7392e082cc adding srfi-46 support 2009-12-26 08:07:28 +09:00
Alex Shinn
05ee7c6725 adding (... ...) escapes and SRFI-46 ellipse specifiers to syntax-rules 2009-12-26 02:07:18 +09:00
Alex Shinn
fea2428eb6 auto-expanding hash-tables 2009-12-26 01:48:12 +09:00
Alex Shinn
09b7b7de69 can't have a null timeval in settimeofday 2009-12-26 01:10:27 +09:00
Alex Shinn
a1941ff08a somewhat reluctantly adding dynamic-wind 2009-12-26 00:50:45 +09:00