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
53826be6f9
Handling potential memory overflow in random-integer with a bignum bound.
2014-01-01 13:26:43 +09:00
Alex Shinn
6094e5fb12
Adding string and symbol quote delimiters to list of read delimiters in (scheme read).
2013-09-29 13:42:24 +09:00
Alex Shinn
af71abc817
write/ss only falls back on write in unknown cases.
2013-08-11 12:38:43 +09:00
Alex Shinn
92ccc0144a
Patches from Ben Mather.
...
Allow #f to leave (srfi 99) record constructors and predicates undefined.
Distinguish default immutable fields (raw identifier), from default
mutable fields (list of one identifier) in the syntactic layer by not
creating setters for the immutable fields. The record introspection
can still mutate such fields.
Fixes issue #190 .
2013-07-30 21:15:24 +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
Alex Shinn
b10cb94e17
Reset the current parameters in child threads.
...
This is simple and fast. Inheriting all threads causes immediate
problems with exception handlers, and in general should use
copy-on-write behavior so that child threads can't affect parents. If
we make an eager copy of the parameters we can filter out just the
exception handler, but then thread creation is expensive. The ideal
design might allow selectively enabling parameter inheritance.
2013-05-29 20:40:48 +09:00
Alex Shinn
86cc80f67f
Patch from Lorenzo to fix previous incomplete patch.
2013-05-28 19:53:14 +09:00
Alex Shinn
dde47a7846
Setting new thread's dynamic wind state to a fresh root.
2013-05-27 22:23:54 +09:00
Alex Shinn
99c8992207
make-thread no longer needs to reset the dynamic continuation
2013-05-26 08:58:19 +09:00
Alex Shinn
2cb9d2237f
Better error message for invalid args to sorted?.
2013-05-12 10:31:30 +09:00
Alex Shinn
74775675fc
Fixing sort on vectors for comparators other than <.
...
Also applying the dups fix analog to 0d36042bb1c6 for non-< comparators.
2013-05-12 10:30:38 +09:00
Alex Shinn
59c3171c39
Partition needs to split on <= to handle dups properly.
2013-05-11 13:39:36 +09:00
Alex Shinn
908be71b17
Reverting previous sorted? change.
2013-05-11 13:02:30 +09:00
Alex Shinn
5db2afb02d
Extra gc preservation.
2013-05-11 12:58:20 +09:00
Alex Shinn
7a08f86b3d
sorted? should support <=
2013-05-11 12:41:51 +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
242ab2c8e6
Adding an explicit error for record rtd and constructor conflicts.
2013-04-05 20:22:46 +09:00
Alex Shinn
e281854483
SRFI-18 can now build without error for threadless builds, as an empty library.
...
Actually importing it in this case reports an error.
2013-02-27 20:58:44 +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
3e241e3a3e
Simplifying scheduler case where the only available thread is waiting on a port.
...
Instead of a one-time poll, we just use the default small sleep + loop case,
so we use the normal poll next time through the scheduler.
This fixes a potential case where a lone thread waiting on I/O could hang,
discovered by Lorenzo.
2013-01-14 17:59:40 +09:00
Alex Shinn
da328bb88c
Another thread patch from Lorenzo. If we're reduced to scheduling
...
a single thread blocked on an fd and the poll fails, optimistically
unblock it (so it can block again naturally), instead of just running
it still in a wait status.
2013-01-06 00:22:54 +09:00
Alex Shinn
f209c38f4f
sexp_blocker can block on fileno objects
2012-12-31 00:25:13 +09:00
Alex Shinn
e4b86a5807
Updating SRFI-2 to support single variable references as clauses, and adding tests.
...
Also allowing empty bodies. (I think both are terrible extensions.)
2012-12-15 13:06:32 +09:00
Alex Shinn
60690e303c
Removing reference to digit-value.
2012-11-11 15:12:16 +09:00
Alex Shinn
6a0b9ee10b
Allowing complex with #d prefix in srfi-38.
2012-11-04 00:42:23 +09:00
Alex Shinn
c55fa6fe4d
Allowing fractions with prefixes in srfi-38.
2012-11-04 00:35:55 +09:00
Alex Shinn
5f323551c9
Fixing negative numbers with base prefixes in srfi-38.
2012-11-04 00:32:13 +09:00
Alex Shinn
195cbeca6d
Fixing unquote-splicing in srfi-38.
2012-11-03 23:37:41 +09:00
Alex Shinn
90856b8de2
Adding bytevector support to srfi-38.
2012-11-03 23:35:37 +09:00
Alex Shinn
83a2de519c
Fixing #| ... |# comments.
2012-11-03 23:29:13 +09:00
Alex Shinn
9cae7fada9
Supporting hex char escapes in extended reader.
2012-11-02 00:02:26 +09:00
Alex Shinn
08a5a2e0e8
Renaming the (scheme) library to (chibi). Leaving (scheme) as an alias for backwards compatibility.
2012-10-14 22:11:47 +09:00
Alex Shinn
3d161d4d2f
If we are re-awakened waiting on a thread-join! but without timing out,
...
try to join again to make sure it's really dead.
2012-10-13 23:51:55 +09:00
Alex Shinn
35bfe1702b
thread-sleep! and other timeouts now accept ratios
2012-09-17 15:11:05 +09:00
Alex Shinn
21d4fc670c
fixing bug in scheduler queueing paused threads
2012-09-16 15:08:19 +09:00
Alex Shinn
fcaa906954
Another patch from Lorenzo for non-fixnum thread timeouts.
2012-09-03 20:17:46 +09:00
Alex Shinn
f6c3d1d415
adding file necessary for non-threaded parameters
2012-08-26 13:56:10 +09:00
Alex Shinn
4bd428da9e
Unblock the current thread if it was waiting on an fd with activity.
...
Prevents useless extra polling slowing down the process as noted in issue #144 .
2012-08-25 12:49:34 +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
51c12f6115
If the only available thread is paused and we need to schedule it, remove it from the paused list.
...
Fixes issue #138 - otherwise the thread can be revived in the repl after we sleep.
2012-08-13 13:49:48 +00:00
Alex Shinn
736ff434e6
Updating srfi-38 to support writing labels only for values which cause cycles.
...
Also switching to srfi-69 for efficiency.
2012-08-12 21:28:36 +09:00
Alex Shinn
10b1110439
Fixing mutex-unlock! with paused thread waiting on mutex-lock!
2012-08-08 00:21:00 +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
a3daf9f728
don't check for a timeout on thread-join! unless one was specified
2012-07-21 18:46:56 +09:00
Alex Shinn
cdb8760fcc
Need to unpause a paused thread if we want to terminate it.
2012-07-21 17:05:05 +09:00
Alex Shinn
0553dd41b9
Need to rename field parameter names in record constructors.
2012-07-16 22:49:48 +09:00
Alex Shinn
06d82e5695
fixing bignum integer-length for real
2012-06-10 23:06:44 +09:00
Alex Shinn
25247ee4b5
Fixing integer-length for bignums.
2012-06-07 00:48:43 +09:00
Alex Shinn
6ca990016a
Fixing bug in bignum<->fixnum bitwise-[ix]or modifying inputs instead of outputs (oops).
2012-06-05 00:16:22 +09:00