Commit Graph

205 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum ccce44fffa Fixed dynamic loading problem in the cygwin port. Apparently, no
one is using the bzr version of Ikarus under cygwin since it's been
broken for some time now.
2007-11-23 02:29:46 -05:00
Abdulaziz Ghuloum 57171a243a Added bitwise-bit-set? 2007-11-22 17:42:37 -05:00
Abdulaziz Ghuloum 42daf68195 Added string-ci-hash and symbol-hash.
Slight change to ikrt_string_hash.
2007-11-22 17:04:10 -05:00
Abdulaziz Ghuloum c25e04569c Added string-hash. 2007-11-22 16:55:25 -05:00
Abdulaziz Ghuloum 0de54fc0c6 Added get-bytevector-n! 2007-11-22 16:32:01 -05:00
Abdulaziz Ghuloum 5bac0ad766 Added get-string-n! 2007-11-22 16:27:55 -05:00
Abdulaziz Ghuloum e4910e9b61 Added get-bytevector-n 2007-11-22 16:03:44 -05:00
Abdulaziz Ghuloum bfccea7718 Added get-string-n 2007-11-22 15:54:10 -05:00
Abdulaziz Ghuloum cbd4299fec Added put-bytevector 2007-11-22 15:39:33 -05:00
Abdulaziz Ghuloum a97d20ed50 Added put-string. 2007-11-22 15:16:38 -05:00
Abdulaziz Ghuloum d227b28a58 * Added put-datum. 2007-11-22 14:48:29 -05:00
Abdulaziz Ghuloum 63f656896f Added get-datum. 2007-11-22 14:43:39 -05:00
Abdulaziz Ghuloum 043425eb20 Added get-u8. 2007-11-22 14:26:54 -05:00
Abdulaziz Ghuloum 2eca32fc8e Fixes bug 163722: missing open-string-output-port and open-string-input-port 2007-11-21 16:55:56 -05:00
Abdulaziz Ghuloum d314bacc24 Fixes bug 164362: make clean deletes scheme/last-revision 2007-11-21 16:45:27 -05:00
Abdulaziz Ghuloum 91c365d9a6 records/structs are an iota faster to collect. 2007-11-21 16:39:16 -05:00
Abdulaziz Ghuloum eb30e7ab58 * Eliminates a jump-to-jump case in "flatten-code". 2007-11-21 05:31:01 -05:00
Abdulaziz Ghuloum 37aab027da Added an optimization that removes self-references from fix-bound
closures.
2007-11-21 04:00:10 -05:00
Abdulaziz Ghuloum d6a1a177a9 Fixes bug 163982: Extra "" irritant in expander error 2007-11-21 02:23:29 -05:00
Abdulaziz Ghuloum b71de5dab4 * Fixes bug 163980: Error message contains "fmls"
Slightly better error message for malformed formal parameters
  (duplicate and non-identifiers are signaled properly).
2007-11-21 02:10:42 -05:00
Abdulaziz Ghuloum 978093bcc2 * Fixed bug 164173: Added more descriptive errors to incorrect args
to record constructors.
2007-11-21 01:39:31 -05:00
Abdulaziz Ghuloum 888251df70 Small improvement on the situation in bug 163984: Wrong name on
define-record-type proceedures.

Record constructors are now called "a-record-constructor"
Record predicates are called "a-record-predicate"
Record accessors are called "a-record-accessor"
Record mutators are called "a-record-mutator"
2007-11-21 01:24:13 -05:00
Abdulaziz Ghuloum 0644542565 Added a last-revision file and modified scheme/Makefile.am
accordingly.
2007-11-21 00:59:05 -05:00
Abdulaziz Ghuloum c6b66f8661 Added a system library (ikarus system interrupts) that exports:
make-interrupted-condition and interrupted-condition?
2007-11-19 16:50:31 -05:00
Abdulaziz Ghuloum be8123f8b6 * Sligh fix to dependencies in scheme/Makefile.am 2007-11-19 16:16:11 -05:00
Abdulaziz Ghuloum 728daddfc0 Fixes bug 163690: ikarus should display version number instead of
build date in the banner.

The version in bzr now displays:

Ikarus Scheme version 0.0.1+ (revision 1090, build 2007-11-19)
Copyright (c) 2006-2007 Abdulaziz Ghuloum

The shipped versions should display 

Ikarus Scheme version 0.0.2
Copyright (c) 2006-2007 Abdulaziz Ghuloum
2007-11-19 15:37:42 -05:00
Abdulaziz Ghuloum 9349c3a5cb Fixes bug 163681: Ikarus should have an IKARUS_LIBRARY_PATH 2007-11-19 13:34:24 -05:00
Abdulaziz Ghuloum 25555d7ff6 Added getenv, which takes a string and returns a string from the "unix"
environment.  
Example:
  (getenv "HOME") => "/Users/aghuloum"
  (getenv "FOO")  => ""
2007-11-19 12:57:50 -05:00
Abdulaziz Ghuloum f417c7505b * Unfixes bug 161749: (define-syntax (foo x) 12) does not work 2007-11-19 04:18:35 -05:00
Abdulaziz Ghuloum 79d529b224 Much improved error reporting when a library is not found.
Example:

> (import (a b c))
Unhandled exception
 Condition components:
   1. &error
   2. &who: expander
   3. &message: "cannot locate library in library-path"
   4. &library-resolution:
       library: (a b c)
       files: ("./a/b/c.ss" "/Users/ikarus/.opt/lib/ikarus/a/b/c.ss")
2007-11-19 02:46:45 -05:00
Abdulaziz Ghuloum ed3641448d Fixed bug 163723: open-input-string misclassified
* include, make-list, last-pair, quotient+remainder were also
  misclassified
2007-11-19 02:08:32 -05:00
Abdulaziz Ghuloum 8dffa9cf23 Fixed bug 163714: read/write invariance problem with symbols 2007-11-19 02:00:26 -05:00
Abdulaziz Ghuloum 9ff795e02f |symbol| syntax now signals an error in #!r6rs mode. 2007-11-19 01:47:46 -05:00
Abdulaziz Ghuloum a7680d723d Extra libraries found in $pkglibdir can now be imported directly.
For example, (import (streams)) just works!
2007-11-18 22:46:00 -05:00
Abdulaziz Ghuloum 1bd2935e2b Fixes bug 163690: ikarus should display version number instead of
build date in the banner.
2007-11-18 20:22:11 -05:00
Abdulaziz Ghuloum 7282bd1c48 Fixes bug 163589: ikarus does not support the #!r6rs comment.
* Added #!r6rs and #!ikarus tokens to the reader
* #!r6rs disables the #:foo and #{foo bar} gensym syntaxes and it
  also disables the #n= and #n# graphs marks syntax.
* #!ikarus enables both options.
* every opened port starts in the ikarus-mode by default.
2007-11-18 19:53:32 -05:00
Abdulaziz Ghuloum 543d59313b * Added port-mode and set-port-mode! primitives. A port mode is
either the symbol ikarus-mode or the symbol r6rs-mode.
2007-11-18 19:28:59 -05:00
Abdulaziz Ghuloum 442eb1ca00 * Kind of fixes bug 163219: Better error message for expand. 2007-11-18 19:10:03 -05:00
Abdulaziz Ghuloum e99ce9c03b * Added put-char, get-char, and put-u8. 2007-11-18 18:48:24 -05:00
Abdulaziz Ghuloum 499115a226 * Minor performance fix to previous deoptimization
* Appended current timelog.
2007-11-17 12:53:37 -05:00
Abdulaziz Ghuloum 245203eaa0 * Global variables which are assigned (or complex) no longer have lexical
copy.  All references and assignments to them goes through the
  symbol value slot.
2007-11-17 11:06:17 -05:00
Abdulaziz Ghuloum 759474fd85 * libraries are now expanded to a special library-letrec* form. 2007-11-17 09:53:22 -05:00
Abdulaziz Ghuloum eef196c09d * Optimized the zero case in $flonum->exact. 2007-11-17 09:12:49 -05:00
Abdulaziz Ghuloum 87d1cd5ad1 * reverted to previous broken version of ratnum->flonum. 2007-11-17 02:13:44 -05:00
Abdulaziz Ghuloum 7e1c6001eb Fixes a bug in top-level set! that caused the following to signal an
error:

> (define foo 12)
> (begin ((lambda (x) (set! foo x)) 13) 14)
2007-11-17 01:16:24 -05:00
Abdulaziz Ghuloum 3a3bc7dcc1 * keyboard interrupts are now continuable. 2007-11-15 13:40:36 -05:00
Abdulaziz Ghuloum 55254257fb * generalized the fl+, fl-, fl*, and fl/ primops to multiple arguments. 2007-11-15 08:05:17 -05:00
Abdulaziz Ghuloum 7def83f487 * Added fxbit-field. 2007-11-15 07:14:47 -05:00
Abdulaziz Ghuloum ab6c871d76 * Added fxcopy-bit-field. 2007-11-15 07:03:04 -05:00
Abdulaziz Ghuloum d977720ae6 * Added fxcopy-bit. 2007-11-15 06:47:51 -05:00
Abdulaziz Ghuloum edb0abd366 * Added fxbit-set? 2007-11-15 06:40:50 -05:00
Abdulaziz Ghuloum 42866c21c3 * Added fxfirst-bit-set. 2007-11-15 06:33:21 -05:00
Abdulaziz Ghuloum 745c3be26e Fixes bug 162834: Typo in error message. 2007-11-15 05:51:24 -05:00
Abdulaziz Ghuloum d18a041840 * Fixed a bug in number->string for hex/oct/binary numbers. 2007-11-14 23:18:49 -05:00
Abdulaziz Ghuloum 4c632e435b * changed implementation of $flonum->exact. 2007-11-14 20:45:37 -05:00
Abdulaziz Ghuloum f3e412ae9c * Added an implementation of $flonum->integer which takes a flonum
and returns the integer representation of it (if it's an integer
  flonum), or #f otherwise.
2007-11-14 18:45:49 -05:00
Abdulaziz Ghuloum 25aa8d7072 Fixes bug 162741: hygiene breaks exported macros that introduce define-record-type 2007-11-14 17:24:29 -05:00
Abdulaziz Ghuloum 6c1dbba3de * Fixed a problem in the expander that caused libraries that are
expanded from the repl to dump all their bindings into the top
  level as well.
2007-11-14 13:54:54 -05:00
Abdulaziz Ghuloum 79c31416cf * Added $flonum-sbe primop for extracting the signed-biased-exponent
of a flonum.
2007-11-14 12:39:23 -05:00
Abdulaziz Ghuloum 82eda09ea0 * Added fxlength 2007-11-13 23:24:21 -05:00
Abdulaziz Ghuloum e06b84e75d * Added (xorl imm8 mem) instruction to the assembler. 2007-11-13 23:10:49 -05:00
Abdulaziz Ghuloum de635ef3bd * Added fxbit-count. 2007-11-13 22:33:37 -05:00
Abdulaziz Ghuloum a3f1feefb9 * Added bitwise-bit-count 2007-11-13 22:17:02 -05:00
Abdulaziz Ghuloum a0ba3d3d4f Fixes bug 162436: Off-by-one in substring 2007-11-13 12:21:27 -05:00
Abdulaziz Ghuloum 820d1716be * open-coded $flround. 2007-11-13 03:41:54 -05:00
Abdulaziz Ghuloum 47f7016b18 * changed implemenation of flround. 2007-11-13 03:10:39 -05:00
Abdulaziz Ghuloum 3feb49e10c * [Partially] Fixes bug 162334: exact->inexact is broken for 5e-324 2007-11-13 03:00:57 -05:00
Abdulaziz Ghuloum ef6b9c0bae * Comitted half-fix to exact->inexact regarding bug 162334.
- some of the generic arithmetic operations are still broken
    due to rounding errors.
2007-11-13 00:45:04 -05:00
Abdulaziz Ghuloum 4b7f03df1a * Added bitwise-first-bit-set. 2007-11-13 00:10:10 -05:00
Abdulaziz Ghuloum 99d15d2705 Fixes bug 162247: +NaN.0 and -INF.0 are not read properly 2007-11-12 14:12:01 -05:00
Abdulaziz Ghuloum 93868c0731 * Fixed spelling of "auxiliary" in an error message. 2007-11-12 11:37:11 -05:00
Abdulaziz Ghuloum a11cd5be48 * Added an internal library to makefile.ss just to make sure I use
the feature daily.
2007-11-12 05:05:27 -05:00
Abdulaziz Ghuloum c26ef04965 * multiple imports of the same binding into the same context now work. 2007-11-12 05:01:25 -05:00
Abdulaziz Ghuloum 880a6f8efd (ikarus)'s "import" keyword now handles libraries, allowing
libraries to be imported into any definition context including
the top-level, body of a script, body of a library, or body of a
function.
2007-11-12 04:40:48 -05:00
Abdulaziz Ghuloum eaeb6a4876 Fixed bug 162153: Bytevectors should be self evaluating. 2007-11-12 03:34:48 -05:00
Abdulaziz Ghuloum 43eb1bfcb3 Fixes bug 162145: Changing pkglibdir should rebuild ikarus-main.o and relink ikarus 2007-11-12 03:31:14 -05:00
Abdulaziz Ghuloum 6e7e0410fb * (ikarus) now exports the "library" keyword, allowing (library ---)
forms to appear anywhere definitions can appear including the 
  top-level, body of a script, body of a library, or body of a
  function.
2007-11-12 01:27:47 -05:00
Abdulaziz Ghuloum de369b3497 * Copying an already immutable hashtable, and requesting an
immutable table returns the same table without copying.
2007-11-12 00:52:43 -05:00
Abdulaziz Ghuloum 007f05989b * Added hashtable-copy 2007-11-12 00:50:00 -05:00
Abdulaziz Ghuloum 66263b2d69 * Fixes bug 160100: ikarus.boot should not be in /usr/local/bin
ikarus.boot now goes to $pkglibdir/ikarus.boot which translates
  to /usr/local/lib/ikarus/ikarus.boot by default.
2007-11-12 00:27:36 -05:00
Abdulaziz Ghuloum b7cd4df31a * Added ~b, ~x, ~d, and ~o to format/printf/fprintf. 2007-11-12 00:20:02 -05:00
Abdulaziz Ghuloum 0bda5990ec * Added bytevector-u64-native-ref, bytevector-u64-native-set!,
bytevector-s64-native-ref, bytevector-s64-native-set!,
        bytevector-u64-ref, bytevector-u64-set!,
        bytevector-s64-ref, and bytevector-s64-set!.
2007-11-11 23:29:54 -05:00
Abdulaziz Ghuloum 9c8bf4f5c7 * Added fxdiv0, fxmod0, and fxdiv0-and-mod0 2007-11-11 21:52:27 -05:00
Abdulaziz Ghuloum e48c2e17c1 * Added fxdiv, fxmod, fxdiv-and-mod. 2007-11-11 20:43:59 -05:00
Abdulaziz Ghuloum 0d2e1f4246 * Added fldiv0, flmod0, and fldiv0-and-mod0, completing the
(rnrs arithmetic flonums) library.
2007-11-11 20:04:09 -05:00
Abdulaziz Ghuloum 05fef19307 * Added fldiv, flmod, and fldiv-and-mod 2007-11-11 16:48:03 -05:00
Abdulaziz Ghuloum b53f3e6ff0 * Added hashtable-entries. 2007-11-11 01:19:18 -05:00
Abdulaziz Ghuloum d8183bf27a * Added real->flonum 2007-11-11 01:13:09 -05:00
Abdulaziz Ghuloum efa2f0ef43 * '#!eof no longer signals an assembler error
- bug reported by micheal adams in person.
2007-11-11 01:04:07 -05:00
Abdulaziz Ghuloum 5d0f86377e * Fixes bug 161923: Segfault on float ops
(I was trying to be too clever with optimizing the checks.)
2007-11-11 00:09:00 -05:00
Abdulaziz Ghuloum 5a6e106a44 * upgrades to new(er) versions of automake and autoconf.
* updated configure.ac and makefile.ac files for the new version
  (applying some of the patch in bug 160100).
2007-11-10 23:50:54 -05:00
Abdulaziz Ghuloum ff81bb99d9 * Fixed bug 160100: ikarus.boot should not be in /usr/local/bin
- ikarus.boot now goes to $prefix/lib/ikarus/ikarus.boot
  - location of bootfile is now hard-coded in the ikarus executable
  - pdf/README/COPYING/GPL-3 files go to $prefix/doc/ikarus/
  - Added a 1-line "scheme-script" script to bin.
2007-11-10 08:28:19 -05:00
Abdulaziz Ghuloum 6938657fad * Fixed bug 161749: (define-syntax (foo x) 12) does not work 2007-11-10 06:28:29 -05:00
Abdulaziz Ghuloum 2a8cc2a7b4 * Added bytevector-ieee-single-ref and bytevector-ieee-single-set! 2007-11-08 22:56:14 -05:00
Abdulaziz Ghuloum 5ce6ca4efb * Added bytevector-ieee-single-native-ref and bytevector-ieee-single-native-set! 2007-11-08 22:22:24 -05:00
Abdulaziz Ghuloum 62c0643c19 * Added bitwise-not. 2007-11-08 20:57:11 -05:00
Abdulaziz Ghuloum 6e6c9c9c1b * Added bitwise-and 2007-11-08 19:18:37 -05:00
Abdulaziz Ghuloum cd3d4ab77a * Fixed bug 160975: flabs is broken
- flabs had reversed comparison (negating the positive instead of
    the negative), fixed.
  - abs was also broken around -0.0, fixed.
2007-11-08 13:16:26 -05:00
Abdulaziz Ghuloum 82c3e568c7 * Fixed bug 160972: fltruncate throws "not a procedure" 2007-11-08 12:15:28 -05:00
Abdulaziz Ghuloum 97d9c4ca42 * improved performance for fl+, fl-, fl*, fl/, fl=?, fl<?, fl<=?, fl>? and fl>=?
- results in 
    45% reduction in runtime for fpsum
    43% reduction in runtime for fibfp
    29% reduction in runtime for pnpoly
    28% reduction in runtime for mbrot
  - and
    23% increase in compile time for nucleic
    11% increase in compile time for ray
    10% increase in compile time for fft
2007-11-08 12:07:48 -05:00