Commit graph

45 commits

Author SHA1 Message Date
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
e0101944fd Raising an error in do iterator clauses with more then 3 terms.
Provides a friendlier error for cases like issue #187.
2013-07-20 15:12:52 +09:00
Alex Shinn
4ffa62d4ef Adding string-offset->index. 2013-07-15 15:22:45 +09:00
Alex Shinn
b713fb8c34 Fixing (atan -0.0 -1.0) case. 2013-07-13 09:26:25 +09:00
Alex Shinn
d7db3effa8 The guard-like macro in the core language is now called protect.
This is the recommended syntax for error-handling in Chibi-specific
programs, since it's not possible to get stack traces when using
R[67]RS guard.  guard is defined separately and according to the
standard in (scheme base).
2013-06-15 18:43:44 +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
d3cc4de281 Fixing typo in integer case of inexact numerator/denominator.
Fixes issue #179.
2013-06-11 21:01:38 +09:00
Alex Shinn
5f628c8e72 Max and min should coerce to inexact if any argument if inexact.
Fixes issue #178.
2013-06-04 22:01:13 +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
9c622fef67 Renaming dynamic-wind point routines to avoid likely user names. 2013-05-29 23:32:54 +09:00
Alex Shinn
2e63b2be00 Using non-mutating tree of dynamic-wind state for thread safety. 2013-04-07 23:59:41 +09:00
Alex Shinn
0f723c17ea Alternate guard form - evaluate the guard clauses in the continuation of the raise.
We need to override the current-exception-handler and still pass a thunk to be
applied on return, but this allows us to print stack traces inside guards.
2013-04-03 00:18:58 +09:00
Alex Shinn
6af5f46721 Fixing exception handlers for threadless builds. 2013-02-27 20:57:40 +09:00
Alex Shinn
27af40b2fa load shouldn't search for the file 2013-02-20 20:43:25 +09:00
Alex Shinn
c468e328a5 defining load on source files in scheme 2013-02-11 15:22:06 +09:00
Alex Shinn
3afa5589a7 Fixing regression bug in dotted ellipsis syntax-rules patterns. 2013-01-29 21:53:39 +09:00
Alex Shinn
4089370373 quasiquote should check to quote literal identifiers, not just symbols 2013-01-12 21:38:52 +09:00
Alex Shinn
0daa2f270a Ensuring exact-integer-sqrt always returns positive remainders.
Moving out of (chibi) into only (scheme base).
2013-01-05 23:45:30 +09:00
Alex Shinn
97dd0977a6 Fixing template depth count in certain fast-tracked template patterns.
Fixes issue #169.
2013-01-04 11:11:29 +09:00
Alex Shinn
cdc9465b1b Handling zeros and infinities in 2-arg atan. 2012-12-27 00:17:17 +09:00
Alex Shinn
e701c63762 string[-ci]<>=? are also n-ary 2012-12-26 23:58:08 +09:00
Alex Shinn
544b6a50c5 char[-ci]<>=? is n-ary (alas) 2012-12-26 23:26:32 +09:00
Alex Shinn
11cdc6930d The imaginary part of a non-complex is exact 0. 2012-12-21 21:39:23 +09:00
Alex Shinn
b4c2bbb625 delete-file raises a file-error on failure.
Other file operations continue to return #t/#f - may change this later.
2012-12-04 20:09:21 +09:00
Alex Shinn
54483179d2 Making chibi's write-string agree with R7RS.
Adding additional write tests.
2012-11-11 15:13:47 +09:00
Alex Shinn
2f5f7f73c7 Adding full unicode digit-value. 2012-11-11 13:38:17 +09:00
Alex Shinn
b3005cc0ee log takes two arguments now 2012-11-03 23:07:18 +09:00
Alex Shinn
72094b760b Fixing bug in vector-copy for non-zero start. 2012-11-01 22:55:07 +09:00
Alex Shinn
e53230c439 odd? should check absolute value of remainder 2012-11-01 20:33:37 +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
cec55dfe41 Adding let-optionals* to core as recommended way of handling optional arguments.
This is much faster (in chibi) and more concise than case-lambda.  Also adding
(chibi optional) for the let-optionals and opt-lambda variants.
Still need to add let-keywords*.
2012-10-21 17:22:16 +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
1ba4aeecaf More optional start/end parameters. 2012-10-14 23:07:07 +09:00
Alex Shinn
31278c016a string-copy now takes start/end arguments 2012-10-14 22:52:16 +09:00
Alex Shinn
4d10734110 string->list now takes optional start/end params 2012-10-14 22:47:45 +09:00
Alex Shinn
287d1a992f Adding string-size and substring-cursor to the ASCII version. 2012-07-23 23:18:48 +09:00
Alex Shinn
3ee50bd0d7 length now requires a proper list.
It still accepts cyclic lists and returns #f, like SRFI-1 length+.
It's convenient to be able to accept improper lists (e.g. for
parameter lists), so the old behavior is available as length*.
Fixes issue #97.
2012-07-21 19:22:56 +09:00
Alex Shinn
a9784b56f8 raising an error on non-numeric input to number->string 2012-07-19 21:37:15 +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
6adeccf173 closing port immediately on return with-{input-from,output-to}-file 2012-07-11 21:28:14 +09:00
Alex Shinn
38144adfc5 better source preservation from syntax-rules on restructured ellipsis patterns 2012-06-24 15:04:49 -07:00
Alex Shinn
c9d24497d9 Adding todo for dynamic-wind. 2012-06-23 23:41:37 -07:00
Alex Shinn
c4bf82842c updates for changes from results of the fifth ballot 2012-05-20 18:44:25 +09:00
Alex Shinn
c8f13f8538 Adding (scheme cxr) library, removing all other references to c[ad]{3,4]r. 2012-05-20 15:16:11 +09:00
Alex Shinn
85a7efc003 automatically making sockets non-blocking on accept 2012-05-14 08:37:45 -04:00