Abdulaziz Ghuloum
d231301e2f
added workaround for missing CPP definitions on FreeBSD.
2009-08-26 19:13:40 +03:00
Abdulaziz Ghuloum
399a428382
Added #include <limits.h> to src/ikarus-runtime.c.
2009-08-26 18:50:55 +03:00
Abdulaziz Ghuloum
8adc203ded
string-hash and string-ci-hash now return nonnegative fixnums only.
2009-08-26 18:46:55 +03:00
Abdulaziz Ghuloum
57de27827a
custom hashtables' hash functions can now return any exact integer,
...
instead of returning nonnegative exact integers.
2009-08-26 18:23:07 +03:00
Abdulaziz Ghuloum
c0233db219
fixed the bahavior of fxaithmetic-shift{-left,-right,} when the
...
shift amount is not in range and when the result overflows.
2009-08-26 18:04:18 +03:00
Abdulaziz Ghuloum
b1c9fda05c
bytevector-{u,s}int-set! now err when the size argument is not
...
positive.
2009-08-26 16:40:59 +03:00
Abdulaziz Ghuloum
8bd012bfeb
fx{+,-,*}/carry now chech that all their arguments are fixnums
...
(causes segfaults when unchecked).
2009-08-24 15:22:51 +03:00
Abdulaziz Ghuloum
402c4aa468
fixed bug in shift-left by multiples of 32/64 bits where the shifted
...
data was misplaced in the resulting number.
2009-08-03 20:55:14 +03:00
Abdulaziz Ghuloum
22dc82567d
added a "warning" procedure, that's like assertion-violation and
...
error except that it throws a warning via raise-continuable.
2009-08-03 10:36:18 +03:00
Abdulaziz Ghuloum
a884cc9ff7
fixed bytevector-ieee-double-{ref,set!} that use wrong endianness
...
when the index is unaligned.
2009-08-02 21:44:02 +03:00
Abdulaziz Ghuloum
7e5b27f822
wrong alignment check in bytevector-{s,u}64-set! fixed.
2009-08-02 21:23:27 +03:00
Abdulaziz Ghuloum
c67865ff09
alignment requirement for bytevector-u64-ref and bytevector-s64-ref
...
is removed.
2009-08-02 15:12:58 +03:00
Abdulaziz Ghuloum
97dfb20a53
fixed incorrect error message for non-real arguments to negative?,
...
positive?, and abs.
2009-08-02 15:00:54 +03:00
Abdulaziz Ghuloum
e3ce873118
mantissa-width syntax of inexact numbers is now parsed and ignored.
2009-08-02 14:01:35 +03:00
Abdulaziz Ghuloum
3e71a5aa5e
fixed reading of polar notation
2009-08-02 12:23:07 +03:00
Abdulaziz Ghuloum
b2bca8a00a
some refactoring of string-to-number parsers
2009-08-02 10:47:39 +03:00
Abdulaziz Ghuloum
4df1dcb25a
attempting to reference/modify unexportable bindings was crashing
...
the expander instead of raising a proper error. fixed.
2009-08-01 22:18:26 +03:00
Abdulaziz Ghuloum
b586d2e21a
some asserion violations in the reader are converted to &lexicals so
...
that the repl displays them properly. E.g.,
(read (open-string-input-port "#!r6rs |foo|")) shows an &assertion,
but typing #!r6rs |foo| at the repl causes the repl to reset without
a message.
2009-07-30 21:46:11 +03:00
Abdulaziz Ghuloum
af233a2ac2
added post-gc-hooks, a list of thunks that are invoked after garbage
...
collection.
2009-07-30 14:19:46 +03:00
Abdulaziz Ghuloum
7d2c1b0b9e
added missing punctuations that are allowd in scribble parens.
2009-07-29 19:43:49 +03:00
Abdulaziz Ghuloum
ac3581286f
Ikarus now supports PLT's Scribble syntax!
...
- The only thing unsupported is the transposition of punctuations,
e.g., @`foo{bar} => `@foo{bar}.
2009-07-29 19:07:03 +03:00
Abdulaziz Ghuloum
cdea4e0942
added define-fluid-syntax and fixed fluid-let-syntax.
2009-07-28 22:12:48 +03:00
Abdulaziz Ghuloum
7961405db7
input ports now support "input-port-column-number" and
...
"input-port-row-number". These currently work for string ports,
latin-1 ports, and utf-8 ports as long as only ascii chars are
read.
2009-07-23 16:35:05 +03:00
Abdulaziz Ghuloum
9e764c76b4
- eqv? and equal? now guarantee #t when given two NaNs (unspecified
...
by R6RS).
2009-07-20 10:01:05 +03:00
Abdulaziz Ghuloum
fe88c7bd0d
fixed incorrect setting of IKARUS_LIBRARY_PATH.
2009-07-06 13:20:09 +03:00
Abdulaziz Ghuloum
acbd00c356
fixed a bug in expanding macros in definition context where the
...
scope would get messed up when the macro call appears inside
let/letrec-syntax. Basically, in the following example,
(let-syntax ([id-macro (syntax-rules () [(_ x) x])])
(let ()
(define (foo) (display "not ok\n"))
(let-syntax ([foo (syntax-rules () [(_) (display "ok\n")])])
(id-macro (foo)))))
the call to (id-macro) would make (foo) refer to the foo in the
internal-definition context (the not ok one) instead of the
let-syntax one.
On the plus side, macro expansion is now half a second faster!
2009-07-06 12:14:08 +03:00
Abdulaziz Ghuloum
cda06eba58
added a parameter to switch between different letrec handling routines
2009-07-06 12:07:18 +03:00
Abdulaziz Ghuloum
832fe616d2
revived waddell's letrec/letrec* optimization
2009-07-04 21:05:03 +03:00
Abdulaziz Ghuloum
7a6ae6322c
added basic letrec/letrec* handling (as in the one defined in R5RS)
2009-07-04 20:33:38 +03:00
Abdulaziz Ghuloum
cc569cce64
letrec optimization moved into its own file.
2009-07-04 19:47:15 +03:00
Abdulaziz Ghuloum
0cc2aae7dc
added two aux libraries for parsing and formatting floating point
...
numbers.
2009-06-30 19:01:20 +03:00
Abdulaziz Ghuloum
b324709e86
- ratnum->flonum now handles more numbers, though it's now slower
...
and may still be incorrect in some cases.
- (- <compnum> <flonum>) was raising an incorrect error.
2009-06-30 07:27:26 +03:00
Abdulaziz Ghuloum
7de0f39736
fixed floating point exception in (modulo <fx> 0).
2009-06-30 04:10:51 +03:00
Abdulaziz Ghuloum
6e7f0ccf84
fixed a bug in get-bytevector-n! when n == 1.
2009-06-30 03:51:01 +03:00
Abdulaziz Ghuloum
b8cfdbbf66
bzr-snapshot more verbose
2009-06-27 11:45:11 +03:00
Abdulaziz Ghuloum
5e26cf5313
added a script to extract latest development snapshot from bzr
2009-06-27 10:22:04 +03:00
Abdulaziz Ghuloum
f766b91fe8
make-string now signals an error if given a very large fixnum
...
I.e., greater than (fxsra (greatest-fixnum) 1).
2009-06-26 13:01:48 +03:00
Abdulaziz Ghuloum
9692eb097f
Made libffi autodetectable as per bug 288748. Thanks to Andreas
...
Rottmann for supplying the patch.
2009-06-26 12:12:25 +03:00
Abdulaziz Ghuloum
f5f61f60d3
Fixed tcp examples in lab directory. Thanks to Dudley Flanders for
...
reporting this.
2009-06-26 12:04:39 +03:00
Abdulaziz Ghuloum
30ac7870de
the debugger now propagates nonserious conditions upwards instead of
...
trapping on them.
2009-06-26 11:33:32 +03:00
Abdulaziz Ghuloum
1803f9f23c
fixed (modulo <bignum> 0) and (modulo <bignum> <largish-fixnum>)
...
errors that caused either a segfault or returning an incorrect
value.
2009-06-26 11:15:02 +03:00
Abdulaziz Ghuloum
f495665f7d
changed "condition" to "exception" in debugger output.
2009-06-26 11:05:40 +03:00
Abdulaziz Ghuloum
d2cc4c65a3
put-string now takes the required optional arguments (same as
...
put-bytevector)
2009-06-26 10:52:56 +03:00
Abdulaziz Ghuloum
3d17aa7cf8
small cleanup to the reader.
2009-06-26 10:07:26 +03:00
Abdulaziz Ghuloum
5e02972e7f
enabled debug-scc flag for debugging the scc pass of the compiler
...
(not useful for casual users)
2009-06-14 12:06:48 +03:00
Abdulaziz Ghuloum
2a0e53dcb0
minor work on command-line:
...
- no dependence on ikarus
- split tests from main library
2009-06-02 01:12:07 +03:00
Abdulaziz Ghuloum
471921fcc7
NEW: ikarus --r6rs-repl <script-name>
...
runs the script according to the R6RS semantics, then starts a
repl in an interaction environment made of everything visible
(imported and defined) in the script.
Use cases include:
* debugging a script.
* starting ikarus in some predefined environment, e.g.,
$ ikarus --r6rs-repl rnrs.ss
where rnrs.ss contains (import (rnrs))
Also, interaction-environment is made a parameter with an initial
value set prior to entering the repl.
2009-05-31 13:32:33 +03:00
Abdulaziz Ghuloum
5f4151a2e9
moved port position into cookie instead of being its own vector.
2009-05-30 13:34:18 +03:00
Abdulaziz Ghuloum
3099d1d629
moved output strings, file descriptors, and port mode into a port "cookie"
2009-05-30 13:18:43 +03:00
Abdulaziz Ghuloum
eec9453fc7
- if IKARUS_LIBRARY_PATH is set, "." is no longer added to
...
library-path, so, whereever you set it, you should decide whether
to include "." or exclude it.
["$prefix/lib/ikarus" is still added to the path so that multiple
versions of ikarus can exist and each uses its own sources dir
without interference]
- some cleanup in compiler to use the new include library instead of
"ikarus.include-src.ss" which is no longer needed.
2009-05-30 10:46:45 +03:00