Abdulaziz Ghuloum
9085b79b64
fixed some r6rs bitwise bugs.
2008-07-24 00:06:12 -07:00
Abdulaziz Ghuloum
0305537374
get-u8 and lookahead-u8 did not update the port position properly.
...
Fixed.
2008-07-23 11:15:44 -07:00
Abdulaziz Ghuloum
9f623124d5
symbol=? and boolean=? now accept 2+ args.
2008-07-23 07:55:32 -07:00
Abdulaziz Ghuloum
acc9940379
fixed gc bug in 64-bit mode along with another 64-bit bug in the
...
assembler when addressing using special %eax/%rax instructions.
2008-07-21 22:07:31 -07:00
Abdulaziz Ghuloum
358eee03ee
Added a 64-bit bootfile and modified the configure script to not add
...
its own -m32 or -m64 flags. To built ikarus in 32-bit mode, one can
do:
./configure CFLAGS=-m32
and in 64-bit mode:
./configure CFLAGS=-m64
2008-07-20 14:09:04 -07:00
Abdulaziz Ghuloum
59b9d28001
guard expressions now re-raise unhandled conditions using
...
raise-continuable (as per the R6RS errata page, part 7.1)
2008-07-20 02:51:14 -07:00
Abdulaziz Ghuloum
78d9fa1f42
In 64-bit, ikarus now passes all tests, can recompile itself,
...
and runs all benchmarks (inefficiently but correctly).
2008-07-20 00:14:09 -07:00
Abdulaziz Ghuloum
4f48c55bfc
all existing tests pass under 64-bit
2008-07-19 14:41:06 -07:00
Abdulaziz Ghuloum
81a1a640df
more progress on the AMD64 front, fixing more numeric and more cogen
...
64-bit bugs.
2008-07-18 22:21:57 -07:00
Abdulaziz Ghuloum
01c4afa320
Major work towards the AMD64 port. Most important of which is that
...
continuations work, more assembly instructions are testing in 64-bit
mode, and some arithmetic operations (shift-right, etc.) have been
fixed by removing some 32-bit dependencies.
2008-07-18 01:35:13 -07:00
Abdulaziz Ghuloum
0ef81aa13e
Added make-polar.
2008-07-15 23:13:59 -07:00
Abdulaziz Ghuloum
195dc0ea45
Fixed some problems parsing complex numbers.
2008-07-15 22:44:55 -07:00
Abdulaziz Ghuloum
2a49d5c538
Added "angle".
2008-07-14 22:43:19 -07:00
Abdulaziz Ghuloum
a9657c4642
define-record-type now understands parent-rtd (used to ignore it).
2008-07-13 11:25:46 -07:00
Abdulaziz Ghuloum
c3b12a22e8
the repl now resets on receiving &interrupted conditions.
2008-07-12 20:05:45 -07:00
Abdulaziz Ghuloum
70f5375d6b
refixing trace-define-syntax.
2008-07-12 10:40:22 -07:00
Abdulaziz Ghuloum
eccca7f4ea
- Added trace-let-syntax, trace-letrec-syntax, as well as fixed
...
trace-define-syntax to handle variable transformers.
- added primops for fx comparison functions.
2008-07-11 22:31:40 -07:00
Abdulaziz Ghuloum
00970f12d2
- compound conditions are made non-opaque.
...
- more tag analysis for bytevectors and friends.
2008-07-08 08:15:14 -07:00
Abdulaziz Ghuloum
749080724c
get-char now raises an error if the string port is closed (bug 245959)
2008-07-07 01:22:12 -07:00
Abdulaziz Ghuloum
f6957b91c2
Added string->bytevector and bytevector->string as per bug 245983.
2008-07-07 01:11:36 -07:00
Abdulaziz Ghuloum
8423610f45
call-with-port does not use dynamic-wind to close the port.
2008-07-07 00:56:52 -07:00
Abdulaziz Ghuloum
b15c7063f9
repl exception handler now returns for non-serious conditions
...
(as per bug 242900)
2008-07-07 00:50:19 -07:00
Abdulaziz Ghuloum
badf83557f
fixed rounding for rationals.
2008-07-07 00:22:14 -07:00
Abdulaziz Ghuloum
579b823f44
WIP on tag analysis, annotations, and utilization.
2008-07-06 23:48:16 -07:00
Abdulaziz Ghuloum
d73dfd1287
- More work on the new optimizer
...
- Deleted old optimizer and changed the meaning of optimize level to
be:
0: bypass the optimizer
1: copy propagation, constant folding, no inlining
1: copy propagation, constant folding, with inlining
The default is set to 1.
2008-06-29 12:35:34 -07:00
Abdulaziz Ghuloum
66464cc348
Fixed a bug when doing (/ 1 1 1 ...).
2008-06-28 13:02:05 -07:00
Abdulaziz Ghuloum
2c8cb7dda2
fixed a bug in matching library subversion in psyntax.
2008-06-28 03:16:21 -07:00
Abdulaziz Ghuloum
1cd581de70
fixed char encoding error message and condition as per bug 243662.
2008-06-28 02:49:50 -07:00
Abdulaziz Ghuloum
45346ef865
- Added cp0! including:
...
- (optimize-level [0,1,2]) and ikarus -O[0,1,2]
where -O0 = no optimizations
-O1 = using old optimizer
-O2 = using the new cp0 optimizer
defaults to -O1 for now.
- (cp0-size-limit n) which is the limit of the residual size for
each inlining attempt
- (cp0-effort-limit n) which is the limit on the effort expended
for each inlining attempt
- Rewrote the syntax-match macro to make use of the same technology
used in syntax-case itself resulting in reduced code size.
- Added (system-value <symbol>) which returns the system value.
E.g., (system-value 'car) => #<procedure car>
This is pretty much the same as
(eval <symbol> (environment '(ikarus)))
except that it does not involve compiling the expression or
consulting the library/expander systems.
- Fixed the fasl loader to make it understand complex numbers.
2008-06-28 02:25:44 -07:00
Abdulaziz Ghuloum
7d9ed176ac
More work on cp0 which can now swallow the compiler but cannot yet
...
fold any primitives.
2008-06-22 22:10:05 -07:00
Abdulaziz Ghuloum
5a2501d4bb
Added port-position and port-has-port-position?
2008-06-19 21:49:24 -07:00
Abdulaziz Ghuloum
e65b39d95d
All parameters that are bound to variables now have proper names.
...
E.g., pretty-width now prints as #<procedure pretty-width>.
2008-06-19 01:58:59 -07:00
Abdulaziz Ghuloum
4bb7e170b5
Some procedures (like console-output-port) did not get names when
...
printed (instead, they were just #<procedure>). Names for
procedures that are defined like
(define foo
(let ([something ---])
(lamdba () ---)))
now works.
2008-06-18 22:47:56 -07:00
Abdulaziz Ghuloum
1bd699349a
Fixed a problem with port position accounting which was using fixnum
...
arithmetic instead of generic arithmetic.
2008-06-17 21:05:01 -07:00
Abdulaziz Ghuloum
333dc03f8f
(waitpid -1 #f) now returns #f if no child has died yet.
2008-06-13 22:11:51 -07:00
Abdulaziz Ghuloum
8f0f0abbca
Applied a patch supplied by Derick Eddington that provides enhanced
...
functionality for waitpid (nonblocking waitpid and more status info)
as well as the ability to send a signal to a process, e.g.,
(kill pid 'HUP).
2008-06-13 05:43:17 -07:00
Abdulaziz Ghuloum
041f9fdafa
Fixed a problem in code generator that was producing invalid memory
...
addressing for predicate operations.
2008-06-13 04:15:25 -07:00
Abdulaziz Ghuloum
3bddca30c4
allocation overflow check sequence is a little tighter now.
2008-06-10 23:01:22 -07:00
Abdulaziz Ghuloum
3ee75bece0
fixed incorrect handling of ".ddd" when reading from a port.
2008-06-10 18:38:06 -07:00
Abdulaziz Ghuloum
0939370a07
suppressing printing of file names during bootstrap.
2008-06-10 13:21:00 -07:00
Abdulaziz Ghuloum
fe1f7077ff
fixed minor bug in syntax-case where the wraps and marks of
...
top-marked wrapped syntax objects were incorrectly combined.
E.g., it used to be that:
(syntax-case (datum->syntax #'foo #'(x y)) ()
[(x y) 'shouldntmatch] [_ 'ok])
yields shouldntmatch; it's now ok.
2008-06-10 12:35:56 -07:00
Abdulaziz Ghuloum
ef50e9f515
dropping input-port-byte-position from (ikarus)'s exports.
2008-06-09 01:36:27 -07:00
Abdulaziz Ghuloum
e9ecb1b8b0
EAI_SYSTEM and ECANCELED are undefined under cygwin; added
...
conditional #define.
2008-06-08 23:15:25 -07:00
Abdulaziz Ghuloum
c53ffd5314
fixed lookahead-char bug that I just made.
2008-06-08 15:53:42 -07:00
Abdulaziz Ghuloum
665ca784d1
Fixed a couple of typos in ikarus.io.ss.
2008-06-08 15:48:52 -07:00
Abdulaziz Ghuloum
ee950fcaf2
Added test to exercise last bug fixed (refilling io read buffer
...
drops bytes already in the buffer).
2008-06-08 06:42:58 -07:00
Abdulaziz Ghuloum
432e1d9b87
replaced &i/o-write with &i/o-read for IO read errors. Duuh.
2008-06-08 06:25:22 -07:00
Abdulaziz Ghuloum
a0c8346840
fixed bug in IO where the system was silently eating up any
...
remaining bytes while refilling a buffer.
2008-06-08 06:19:29 -07:00
Abdulaziz Ghuloum
1a5ab01e26
The bottom-most exception handler now only exits.
2008-06-07 08:32:00 -07:00
Abdulaziz Ghuloum
9438328f55
bytevector size for doing select has been fixed. It used to be 8
...
times larger than needed.
2008-06-06 08:22:45 -07:00