Abdulaziz Ghuloum
9eead5327a
Added bitwise-if and bitwise-copy-bit-field (inefficiently)
2008-08-04 23:43:11 -07:00
Abdulaziz Ghuloum
e1215998e0
quick fix for incorrect reading of subsequent* characters in a
...
symbol.
2008-08-04 23:19:55 -07:00
Abdulaziz Ghuloum
2b4e89bcf0
- fixed a minor import subversion bug.
...
- added 2-argument version of fllog.
2008-08-04 16:44:24 -07:00
Abdulaziz Ghuloum
a9fb7b0fef
fixed small bug in enum-universe.
2008-08-03 14:18:11 -07:00
Abdulaziz Ghuloum
c5381d4cb3
Applied a patch fixing error when the standard input/output ports
...
are closed before the interactive session terminates.
2008-08-03 13:50:20 -07:00
Abdulaziz Ghuloum
6d52912aef
reimplemented enums to use bitmaps instead of lists.
2008-08-03 12:52:33 -07:00
Abdulaziz Ghuloum
0da4e99a12
simplified when, unless, and case macros and added better handler
...
for (if (not e) e e).
2008-08-02 11:09:22 -07:00
Abdulaziz Ghuloum
39e84d1395
simplified parameterize macro.
2008-08-02 10:11:04 -07:00
Abdulaziz Ghuloum
9b74020647
fixed a bug in fasl reader for shared/cyclic data structures.
2008-07-30 17:28:33 -07:00
Abdulaziz Ghuloum
f2d6f433bb
fixed shift-left bug on bignums in 64-bit mode only
2008-07-30 08:17:20 -07:00
Abdulaziz Ghuloum
f144722b36
bumped the number of registers available on AMD64 by 4.
2008-07-30 07:47:22 -07:00
Abdulaziz Ghuloum
959082d12d
assert now gives source information when available.
2008-07-29 11:04:52 -07:00
Abdulaziz Ghuloum
5aa6e1b05e
some work on parsing polar notation.
2008-07-29 08:35:36 -07:00
Abdulaziz Ghuloum
c0a1abace1
Added &undefined condition to unbound error conditions.
2008-07-29 07:54:06 -07:00
Abdulaziz Ghuloum
d84dd99061
added fxrotate-bit-field
2008-07-27 10:53:31 -07:00
Abdulaziz Ghuloum
282fa962a8
fixed div0-and-mod0 bug
2008-07-26 15:08:13 -07:00
Abdulaziz Ghuloum
4ee88498a9
fixes quasisyntax bugs, making them more conforming to the r6rs test
...
suite.
2008-07-26 14:11:22 -07:00
Abdulaziz Ghuloum
b3d8a8f9fd
sqrt now supports negative arguments properly.
2008-07-26 12:39:11 -07:00
Abdulaziz Ghuloum
3b80d4f321
fixed a bug in quotient and div when given (least-fixnum) and -1.
2008-07-26 12:28:51 -07:00
Abdulaziz Ghuloum
4909a9ef08
fixed make-rectangular so that (make-rectangular 1.0 0.0) returns
...
a cflonum 1.0+0.0i while (make-rectangular 1.0 0) returns 1.0.
2008-07-25 17:46:34 -07:00
Abdulaziz Ghuloum
f332927d23
kinda fixes a port-position computation bug for custom binary ports.
2008-07-24 22:30:21 -07:00
Abdulaziz Ghuloum
7db56cf76e
- bytevector-ieee-[single|double]-[ref|set!] now accept unaligned
...
indices (r6rs requirement).
- file-options are now represented as enum-sets (r6rs requirement)
- odd?, even?, lcm, remainder, etc., now accept inexact integers.
2008-07-24 18:58:53 -07:00
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
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