Commit graph

1377 commits

Author SHA1 Message Date
Alex Shinn
582a3295d4 returning #<eof> for end of input on read-u8 2012-07-16 17:37:47 +09:00
Alex Shinn
6de7d5621d Keeping track of the maximum stack depth a procedure needs for accurate stack checks
(fixes bug #130).  Done in conjunction with code generation refactoring, so that context
objects temporarily use their specific slot instead of having space for useful fields
at runtime.
2012-07-16 16:23:54 +09:00
Alex Shinn
254f6dee05 propagating exceptions from index->offset translation in substring 2012-07-16 14:11:06 +09:00
Alex Shinn
065cdf5d5f checking type of exception procedure when propagating source info 2012-07-16 14:10:48 +09:00
Alex Shinn
7e67460770 Fixing handling of [un]signed integer type names in the FFI. 2012-07-13 06:48:13 +09:00
Alex Shinn
d669b8a788 preserving exactness when adding ratios and complex numbers 2012-07-11 23:17:41 +09:00
Alex Shinn
65f5e9823a preserving exactness when multiplying a ratio by a complex 2012-07-11 23:15:23 +09:00
Alex Shinn
884764036b shortcut multiplication by exact 0 2012-07-11 23:09:25 +09:00
Alex Shinn
afacac6127 handling complex negation with a zero real part 2012-07-11 23:03:43 +09:00
Alex Shinn
386b798b35 disabling placeholder digits by default 2012-07-11 22:08:10 +09:00
Alex Shinn
b101e5c585 Fixing some corner cases with mixed rational/complex notation. 2012-07-11 22:07:05 +09:00
Alex Shinn
d45ecf42ca allowing alternate exponent markers d, f, s, l 2012-07-11 21:55:10 +09:00
Alex Shinn
6adeccf173 closing port immediately on return with-{input-from,output-to}-file 2012-07-11 21:28:14 +09:00
Alex Shinn
f895ace01b missed some bignum/ratio normalization cases 2012-07-10 23:56:51 +09:00
Alex Shinn
96d8c7d797 fixing #e prefix combined with non-finite flonums 2012-07-10 23:36:29 +09:00
Alex Shinn
2d62671df8 breaking down and adding polar notation 2012-07-10 23:19:57 +09:00
Alex Shinn
c063dadd2e build fixes for global symbols and vm profiling 2012-07-10 22:42:31 +09:00
Alex Shinn
d4cd223d7e adding a sync to build-tests 2012-07-10 22:29:44 +09:00
Alex Shinn
2af9643115 fixing missing newline for final row of formatted list output 2012-07-10 20:49:37 +09:00
Alex Shinn
0c832129df allowing configurable prompts (patch from Alan Watson) 2012-07-10 20:45:13 +09:00
Alex Shinn
a2c5d63482 makefile changes to allow linking external libs for 3rd party code 2012-07-09 20:28:18 +09:00
Alex Shinn
446f8910f3 fixing source line checks in chibi-doc 2012-07-09 20:23:16 +09:00
Alex Shinn
150cfd0a8b too dangerous to leave bytecode source uninitialized 2012-07-09 20:20:07 +09:00
Alex Shinn
d622036eb5 prefix and drop-prefix imports will look up exported identifiers if missing 2012-07-09 20:08:08 +09:00
Alex Shinn
e54f400c57 additional checks for NULL source info 2012-07-09 20:05:53 +09:00
Alex Shinn
87fc698e6e Catching case when bytecode source is NULL. 2012-07-08 12:27:07 +09:00
Alex Shinn
3e79138e21 Various fixes for better debug output.
* Associate file/line source info with corresponding bytecode offset.
  * Fixes for losing source info after macro expansion and simplification.
  * Fix for showing the source info of the calling procedure of an error.
2012-07-07 15:26:08 +09:00
Alex Shinn
4a8c8a3a75 Fix for string-concatenate on empty lists. 2012-07-07 14:17:02 +09:00
Alex Shinn
6bcfd141be -q implies modules are loaded 2012-06-28 00:42:44 -07:00
Alex Shinn
88b84d5232 fleshing out hash tests 2012-06-25 22:38:27 -07:00
Alex Shinn
a7e899ce8d (chibi test) now uses only R7RS plus srfi-1 2012-06-25 22:07:27 -07:00
Alex Shinn
881d976464 more accurate current-second 2012-06-25 22:03:54 -07:00
Alex Shinn
1809aad33b (exit #t) exits successfully 2012-06-25 21:46:07 -07:00
Alex Shinn
02d02f40be adding string-tests to lib-tests 2012-06-25 21:02:08 -07:00
Alex Shinn
ef4372a2cd fix for iset-prune! to return an empty iset instead of #f 2012-06-24 23:20:00 -07:00
Alex Shinn
100e5b7d1e using condensed test output by default unless TEST_VERBOSE=1 is set 2012-06-24 23:12:40 -07:00
Alex Shinn
9936ad2d58 adding more test suites to lib tests 2012-06-24 23:11:53 -07:00
Alex Shinn
38144adfc5 better source preservation from syntax-rules on restructured ellipsis patterns 2012-06-24 15:04:49 -07:00
Alex Shinn
5013c0fdcb moving pair-source and pair-source-set! into the core 2012-06-24 14:36:45 -07:00
Alex Shinn
bad54b143c printing debug output on OOM 2012-06-24 14:07:59 -07:00
Alex Shinn
d11ededc50 better initialization checks for out of memory 2012-06-24 10:44:34 -07:00
Alex Shinn
c9d24497d9 Adding todo for dynamic-wind. 2012-06-23 23:41:37 -07:00
Alex Shinn
3b10f4f748 Don't reset dynamic stack on eval. 2012-06-23 23:37:36 -07:00
Alex Shinn
fba762deea Updating R7RS tests with name changes. 2012-06-23 22:30:51 -07:00
Alex Shinn
fa7a567458 Making string-fold/for-each/map n-ary. 2012-06-23 22:30:35 -07:00
Alex Shinn
ed4907e19a Install fixes for char-sets/isets from Ben Weaver. 2012-06-22 06:06:17 -07:00
Alex Shinn
8fe6b8f7bd (chibi strings) functions taking predicates now accept char-sets as well. 2012-06-21 23:08:24 -07:00
Alex Shinn
a18deb68cc Optional code refactoring.
Chibi uses a lot of #if conditioned code so that configuration
management can be done entirely with the C preprocessor.

Originally this also involved conditional includes of .c files
from other source files.  The alterative, which this change
switches to, is to compile and link all files, and for uneeded
files conditionally eliminate their entire bodies so they compile
to empty object files.

Pros for conditionally including all code into one large file:

  * Don't need to declare most functions (keeps .h files small).
  * Can keep most functions static/inlined (keeps objects small).
  * Don't need to even distribute uneeded files with the default
    Makefile (e.g. can prune opt/* from dist for minimal builds).

Pros for linking multiple possibly empty files:

  * Extensions and third-party libs probably want the exported
    declarations anyway.
  * Static analysis tools work better (e.g. flymake on what previously
    was an included file).
  * Can build each file in parallel (i.e. make -j for faster builds).
  * Can build and link in just the changed files, instead of
    having to recompile the whole thing.

For Chibi these are all minor points - it will be small
regardless, and will build fast regardless - but the arguments
for splitting seem stronger.  Note the new shared lib is about
1k larger, but that can be trimmed down later.
2012-06-21 23:04:07 -07:00
Alex Shinn
08e4fead8b small fixes and warning removals for build tests 2012-06-20 21:39:52 -07:00
Alex Shinn
8518ebe641 image header magic field shouldn't be const (removes warning) 2012-06-20 21:07:18 -07:00