Commit Graph

140 Commits

Author SHA1 Message Date
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