Commit Graph

1247 Commits

Author SHA1 Message Date
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 61fe1ce007 Added an extras directory containing SRFI-41:streams implementation. 2007-11-18 20:58:25 -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 3b4d3097a1 Fixes bug 163540: allocation in bignum arithmetic does not garbage collect. 2007-11-18 10:37:13 -05:00
Abdulaziz Ghuloum 1afade6d43 * renamed ik_alloc to ik_unsafe_alloc since it was unsafe to call it
in general (it did not collect on heap overflow).
2007-11-18 09:12:00 -05:00
Abdulaziz Ghuloum 90759047b3 * The fasl loader has reduced the startup mmap frenzy for code
objects from 5242 pages (almost one page per code object) down
  to 785 pages.  Special thanks to Michael Adams for counting the
  the number of pages that were used and touched at startup; without
  his help, I wouldn't have optimized it in about 10 minutes of
  coding time.
2007-11-17 13:26:27 -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 97672d5990 * Added an "exec" to the generated scheme-script. 2007-11-15 13:57:03 -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