Commit Graph

1860 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum f33e304606 updated to newer auto tools and fixed c32 and c64 to be more generic. 2009-09-02 20:52:56 +03:00
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