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
Abdulaziz Ghuloum
df46913530
* Partial fix for bug 160780: missing 2 and 3 arg forms of number->string
...
- second argument is implemented, precision is yet to be done.
2007-11-07 22:28:42 -05:00
Abdulaziz Ghuloum
75705649e2
* fixnum->string now takes an extra radix (in 2 8 10 16) argument.
2007-11-07 20:02:32 -05:00
Abdulaziz Ghuloum
ca25f972fc
* Added missing automake/autoconf files.
2007-11-07 18:04:59 -05:00
Abdulaziz Ghuloum
dd5896761f
* minor cleanup in reader (and minor bug fixes).
2007-11-07 11:41:28 -05:00
Abdulaziz Ghuloum
da16a5ef7a
* reader now recognizes all standard character names:
...
#\nul #\alaram #\backspace ... #\delete
2007-11-07 11:24:18 -05:00
Abdulaziz Ghuloum
e75bd7e33c
* Added get-line. (answers to bug 160663)
2007-11-07 11:00:39 -05:00
Abdulaziz Ghuloum
1b103a4ab8
* bytevector-ieee-double-ref/set! now work
2007-11-07 04:54:54 -05:00
Abdulaziz Ghuloum
7dbce6e888
* Added bytevector-ieee-double-ref and bytevector-ieee-double-set!
...
(which does not yet support big endianness)
2007-11-07 01:26:38 -05:00
Abdulaziz Ghuloum
bcd96a8dd4
* Added bytevector-ieee-double-native-ref/set!
2007-11-06 21:08:52 -05:00
Abdulaziz Ghuloum
7783cef318
* Fixed typo in "incorrect number of arguments" (added "s").
2007-11-06 17:29:25 -05:00
Abdulaziz Ghuloum
327e6e9371
* Fixed bug 160483: described as "incorrect number of arguments" reported as "not a function"
...
- The real reason was in the register allocator, where one live
variable (the memmory size of the bytevector) was not marked live
across the call to do-overflow. When the overflow returned, the
value of that variable (which was in the %ebx register) was
trashed, leading to an incorrect bump in the allocation pointer.
- Note to self, never blame anything on cache coherency again!
2007-11-06 17:04:27 -05:00
Abdulaziz Ghuloum
217dff5d3e
* Added pretty formats for library and import forms, fixed
...
pretty format of define.
2007-11-06 03:04:32 -05:00
Abdulaziz Ghuloum
9632e19032
Fixes bug 160395: missing import from r6r script reports bogus error.
2007-11-06 01:14:27 -05:00
Abdulaziz Ghuloum
037351e27e
* Two minor non-optimizations for $event-check and $stack-overflow-check
...
* If a procedure does not make non-tail calls, stack-overflow is eliminated.
* If a procedure does not make any calls (leaf routine), then event-check
is eliminated as well.
(total savings: about 10% reduction in boot-file size)
2007-11-05 16:23:13 -05:00
Abdulaziz Ghuloum
8e85c3303b
* Switched order of two compiler passes: specify-representation and
...
insert-stack-overflow-check. This will make it easier to remove
unnecessary stack checks and to add some that we *may* be
missing.
* Added a $stack-overflow-check primitive that takes care of checking
and calling ikrt_stack_overflow if we did detect an overflow.
2007-11-05 15:30:42 -05:00
Abdulaziz Ghuloum
90a243ee63
* Fixed bug 160101: modulo produces "BUG: unsupported"
2007-11-05 02:24:39 -05:00
Abdulaziz Ghuloum
b27bb61802
* Fixed some parts of bug 160101: modulo produces "BUG: unsupported"
...
* Modulo still fails on two bignum arguments, will fix later.
2007-11-04 23:01:41 -05:00
Abdulaziz Ghuloum
8a45a5fe08
* Added real-part and imag-part stubs.
...
* string->number now supports a second radix argument, but the
argument can only be 10.
2007-11-04 16:28:16 -05:00
Abdulaziz Ghuloum
6faba94b11
* Unhandled exceptions are now sent to (standard-error-port) instead
...
of (console-output-port).
2007-11-04 14:53:36 -05:00
Abdulaziz Ghuloum
b3143eec0d
* Fixed a bug in expander causing #(x* ...) patterns inside syntax
...
to not expand properly.
2007-11-04 14:01:44 -05:00
Abdulaziz Ghuloum
a12781ef2f
* better error message for unimplemented primitives
2007-11-04 12:25:01 -05:00
Abdulaziz Ghuloum
6348eb9918
* unsupported primitives now show the url for submitting bug reports:
...
unhandled exception:
Condition components:
1. &error
2. &who: ikarus
3. &message: "not supported yet, please submit an implementation request"
4. &url: "https://bugs.launchpad.net/ikarus/ "
5. &irritants: (bitwise-and)
2007-11-04 12:01:43 -05:00
Abdulaziz Ghuloum
86bd3216f5
* port?, input-port?, and output-port? were missing from exports, fixed
2007-11-04 11:50:44 -05:00
Abdulaziz Ghuloum
81f6439b3c
Fixed bug 159865: Expt fails on floats and rationals.
2007-11-04 10:24:08 -05:00
Abdulaziz Ghuloum
e7d66d95b4
* Fixes bug 159776: --r6rs-script changes behavior of (command-line)
...
(command-line) now returns ("*interactive*" a b c) when you run
ikarus -- a b c
2007-11-03 20:12:31 -04:00
Abdulaziz Ghuloum
37da0d75d4
* Fixes bug 159403: scripts choke when a definition follows an expression
2007-11-01 20:00:02 -04:00
Abdulaziz Ghuloum
431f768ab5
* configure.ac now contains a case for adding -Wl,-E to LDFLAGS
...
on *bsd* systems.
* ikarus.writer prints symbols that start with a digit properly.
2007-11-01 00:46:04 -04:00
Abdulaziz Ghuloum
186639d091
* "/" was producing "BUG:" report when given non-numebrs.
...
It now produced a better error message.
2007-10-31 21:01:39 -04:00
Abdulaziz Ghuloum
b8434045f7
* pretty-width is now exported.
...
* generate-temporaries uses the names of identifiers to construct
new names.
2007-10-31 04:34:14 -04:00
Abdulaziz Ghuloum
8b6f52f72e
* Fixed a bug in #{gensym} read syntax.
2007-10-30 17:45:08 -04:00
Abdulaziz Ghuloum
b79c21132b
* Fixed bug in record constructor when proto is unspecified.
2007-10-29 16:18:11 -04:00
Abdulaziz Ghuloum
988c13e123
* Added define-enumeration, which completes the (rnrs enums) library.
2007-10-27 11:40:40 -04:00
Abdulaziz Ghuloum
79a38bc54b
* fixed implementation of guard-macro in psyntax.expander.
2007-10-27 11:15:10 -04:00
Abdulaziz Ghuloum
b7d871af9e
* Added (rnrs enums).
2007-10-27 10:38:54 -04:00
Abdulaziz Ghuloum
1d482d9c9e
* Added assertion-violation.
2007-10-26 15:27:42 -04:00
Abdulaziz Ghuloum
4522d66cfc
* Version and sub-version specs are now honored in library import forms.
2007-10-26 12:41:55 -04:00
Abdulaziz Ghuloum
75a95bc189
* standard libraries now have version (6).
...
* #<library> now prints versions in proper form.
2007-10-26 01:22:11 -04:00
Abdulaziz Ghuloum
959b682588
* libraries now can have a version as part of their names
...
* import forms still don't understand version names.
2007-10-26 00:55:00 -04:00
Abdulaziz Ghuloum
6f576dc224
* Added license stubs to all *.ss and *.[ch] files.
2007-10-25 16:27:34 -04:00
Abdulaziz Ghuloum
b640d98cbc
* removed formatted errors from all source codes.
2007-10-25 14:32:26 -04:00
Abdulaziz Ghuloum
4141d699c5
* Fixed a bug that caused record-predicates to segfault.
...
* Added condition printers.
2007-10-25 02:19:53 -04:00
Abdulaziz Ghuloum
dab2b74189
* Added print-condition procedure which now prints an ugly message.
2007-10-24 00:24:38 -04:00
Abdulaziz Ghuloum
6853d2f750
* error now calls raise after constructing a proper condition object.
...
* old "error-handler" parameter is gone.
* new-cafe now uses with-exception-handler to trap errors.
2007-10-23 23:55:57 -04:00
Abdulaziz Ghuloum
5678066f0d
* Added with-exception-handler, raise, and raise-continuable.
2007-10-23 23:34:11 -04:00
Abdulaziz Ghuloum
239141717f
* Added define-condition-type macro.
2007-10-23 17:53:43 -04:00
Abdulaziz Ghuloum
2684b53323
* added no-nans and no-infinities condition types.
2007-10-23 17:40:04 -04:00
Abdulaziz Ghuloum
da29123fc0
* standard condition types are not exported.
2007-10-23 17:24:55 -04:00
Abdulaziz Ghuloum
56d279297b
* fixed bugs in define-record-type (constructor name was ignored)
...
* fixed bugs in record-constructor (incorrect constructor was
returned when when no protocol is supplied)
* added r6rs condition types (constructors and standard conditions).
2007-10-23 16:38:34 -04:00
Abdulaziz Ghuloum
658e441d6c
* Fixed implementation of record-constructor in (rnrs records procedural)
2007-10-23 00:28:21 -04:00
Abdulaziz Ghuloum
63ddb1b479
* fixed make file in Makefile.am
2007-10-18 11:55:45 -04:00
Abdulaziz Ghuloum
30a0a9458b
* fixed a problem with building ikarus.boot on cygwin.
...
* fixed a couple of typos in ikarus-runtime.c and ikarus-winmmap.c
2007-10-18 11:48:11 -04:00
Abdulaziz Ghuloum
e010d03523
renamed:
...
scheme/ikarus.boot => scheme/ikarus.boot.orig
modified:
configure
configure.ac
scheme/Makefile.am
2007-10-18 00:45:46 -04:00
Abdulaziz Ghuloum
683fb50242
* autoconf now properly exports .ss files.
2007-10-17 22:50:15 -04:00
Abdulaziz Ghuloum
99dd633f83
added:
...
scheme/Makefile.am
2007-10-17 22:07:54 -04:00
Abdulaziz Ghuloum
fdb664b61c
renamed:
...
src/scheme => scheme
2007-10-17 20:07:10 -04:00