Commit graph

58 commits

Author SHA1 Message Date
Alex Shinn
ea995c6436 Moving exact-sqrt into the core, with exact-integer-sqrt a variant that simply wraps in values. 2014-01-27 23:24:40 +09:00
Alex Shinn
982f39ed97 Removing implicit const cast warnings. 2014-01-21 22:41:25 +09:00
Alex Shinn
b638b9f1b4 Hygiene change. Removing syntactic closure flattening to
support unhygienic insertion.  Breaks the previous assumption
that syntactic closures were never nested.
2014-01-12 19:29:11 +09:00
Alex Shinn
8b15884658 Supporting (chibi repl) advise from main.c. 2013-10-03 23:34:17 +09:00
Alex Shinn
8ddee1f704 Adding missing "extern" from SEXP_API definition.
Fixes issue #197.
2013-10-03 09:34:43 +09:00
Alex Shinn
86d9957ae9 Making sexp_make_primitive_env available from Scheme.
Adding the (chibi primitive) module to access this directly.
2013-09-29 11:05:54 +09:00
Alex Shinn
f56c89fbc1 Documentation clarification on the arguments to sexp_alloc_tagged from Lorenzo. 2013-09-24 15:51:29 +09:00
Alex Shinn
ca6f2e07cf Switching SEXP_USE_SEND_FILE to a whitelist for BSD and Linux,
instead of a blacklist.  Fixes issue #192.
2013-09-14 21:42:11 +09:00
Alex Shinn
fd9e9b5bf1 Replacing exact, inexact opcodes with primitive functions. 2013-09-08 17:48:38 +09:00
Alex Shinn
d32cc99cc1 Adding set-current-environment! and using it in the pure-Scheme load.
This is necessary if the loaded file uses import.
2013-09-02 21:05:42 +09:00
Alex Shinn
7a27341ecd Adding initial send-file interface. 2013-08-18 18:36:24 +09:00
Alex Shinn
a6e71e47b8 Adding port-fileno. 2013-08-18 17:45:23 +09:00
Alex Shinn
a62d82e048 Proper, general fix for Boehm for sexp_read_float_tail. 2013-07-28 19:11:12 +09:00
Alex Shinn
3fe7b71519 CHIBI_MODULE_PATH defaults to ./lib:., but these paths aren't
hardcoded anymore.
2013-07-28 19:09:05 +09:00
Alex Shinn
6dea74036a Making C string port API names match the Scheme side. 2013-07-21 15:24:04 +09:00
Alex Shinn
025f03fde6 sexp_string_size and sexp_string_length both return sexp_uint_t. 2013-07-21 15:03:22 +09:00
Alex Shinn
13b540418e C-level string API redesign with cursor support.
s/sexp_string_length/sexp_string_size/
Make sexp_string_ref/sexp_string_set Unicode aware.
Provide cursor level alternatives for efficiency.
Document all of this.
2013-07-21 14:59:51 +09:00
William Light
34adcd3b19 Implement SEXP_MAX_ANALYZE_DEPTH
This fixes issue #89.
---
 eval.c                   | 90 ++++++++++++++++++++++++++----------------------
 include/chibi/features.h |  4 +++
 2 files changed, 53 insertions(+), 41 deletions(-)
2013-06-17 21:09:05 +09:00
Alex Shinn
83fb186edc Wrapping continuable exceptions in specially tagged exceptions rather than pairs.
This way C functions that check for and print exceptions support them
automatically.  Notably continuable errors in macro expansions, will had
temporarily been suppressed, are printed again.
2013-06-15 17:47:37 +09:00
Alex Shinn
1736a8306b Adding set-port-line! and using it in the pure Scheme load to preserve source info. 2013-06-02 10:44:10 +09:00
Alex Shinn
a49f14d011 Adding currently immutable (current-module-path). 2013-05-31 23:39:56 +09:00
Alex Shinn
2b5f8ea007 Adding -s option to escalate warnings to errors.
Fixes issue #107.
2013-05-31 23:31:03 +09:00
Alex Shinn
9ed486dbe3 Adding sexp_maybe_wrap_error utility to pass exceptions from the FFI without raising.
Fixes issue #156.
2013-05-29 23:37:30 +09:00
Alex Shinn
13f9d0f8d0 Fixing SRFI-95 sort for inexacts differing only in the fractional part
(reported by Alan Watson).
Also adding support for complex and ratios.
2013-05-11 12:34:16 +09:00
Alex Shinn
98863f53cb Adding detection of 64bit for powerpc (patch from Stephen Lewis). 2013-04-24 23:43:16 +09:00
Alex Shinn
63a365f214 Factoring out generate opcode and exporting it. 2013-04-07 20:09:39 +09:00
Alex Shinn
f4b42132a3 Making sexp_env_cell_define available. 2013-04-07 17:08:56 +09:00
Alex Shinn
a61cebb1e9 Thread parameters are still needed when threads are disabled. 2013-02-27 09:04:56 +09:00
Alex Shinn
20c62ffe4a The global ABI error object needs to be an immediate, since if
the ABI is incompatible we can't even necessarily refer to a
global from within the bad library.
2013-02-10 16:38:18 +09:00
Alex Shinn
55df642dab Better initial defaults for equality bounds checking. 2013-01-26 23:42:22 +09:00
Alex Shinn
5ab2849d61 Removing useless term from private macro. 2013-01-23 23:34:28 +09:00
Alex Shinn
cdeaef55d3 7 is a nicer number than 6 2013-01-23 23:11:55 +09:00
Alex Shinn
b42379539d Fixing termination condition in certain bignum sqrts, handling negative inputs. 2013-01-03 23:49:31 +09:00
Alex Shinn
7ae254fc28 More accurate square roots for bignums - compute via iteration rather
than approximation via flonums for very large bignums.
2012-12-22 18:06:22 +09:00
Alex Shinn
cdd337f3aa Switching to using a union instead of type-cast to get at the bits
of a flonum for eqv? comparison.
Fixes issue #164.
2012-12-22 03:28:58 +00:00
Bakul Shah
9b0f9c73f2 fix plan9 breakage 2012-11-10 15:16:00 -08:00
Alex Shinn
41c80d06ca Maybe-null patch for strings in chibi-ffi from Lorenzo. 2012-11-10 20:56:27 +09:00
Alex Shinn
4f554499f8 char-ready? shouldn't block, should return #t on EOF 2012-10-21 18:10:45 +09:00
Alex Shinn
9aa03c0a09 Updating eqv? definition (from pre-bignum days) to latest R7RS definition. 2012-10-17 20:53:56 +09:00
Alex Shinn
74d0980b82 Adding file-error? and read-error? predicates. 2012-10-14 23:27:16 +09:00
Alex Shinn
7b31ba7685 disabling bidir ports by default 2012-10-09 21:07:41 +09:00
Alex Shinn
2c5522dfff Don't unwrap syntatic closures in top-level defines by default. 2012-10-01 22:56:21 +09:00
Alex Shinn
9da98bd68d Finalizing stream/fd backed ports will properly flush them.
However, don't try to flush string/custom ports which could result in alloc during gc.
2012-09-23 23:28:09 +09:00
Alex Shinn
e562cc0be3 Incorporating Alan Watson's TAI time library. 2012-08-17 10:04:37 +09:00
Alex Shinn
93ba0926a7 Build fixes for plan9. Moving individual object files out of opt/ since plan9 mkfiles have issues with these. 2012-08-16 16:04:02 +09:00
Alex Shinn
b40370be52 thread-join! now returns the result or raises the exception of the joined thread 2012-08-15 21:23:39 +09:00
Alex Shinn
90ba17a21a s/strcmp/strncmp for abi compatibility checks 2012-07-23 05:32:55 +09:00
Alex Shinn
275bf31b13 adding optional thread debugging output 2012-07-21 17:28:09 +09:00
Alex Shinn
57b2bc281d apply opcode is now tail-recursive - calling it in a non-tail position is an error 2012-07-18 21:34:53 +09:00
Alex Shinn
016560e5fe Additional OOM checks - harder but still not impossible to segfault on OOM. 2012-07-17 23:40:16 +09:00