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
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
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
432e1d9b87
replaced &i/o-write with &i/o-read for IO read errors. Duuh.
2008-06-08 06:25:22 -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
Abdulaziz Ghuloum
df4b31af1f
io-error and raise/strerr now include an &error condition.
2008-06-06 08:10:17 -07:00
Abdulaziz Ghuloum
af5472bfb2
exporting fork
2008-06-06 07:52:40 -07:00
Abdulaziz Ghuloum
6741ac2817
better error message when a library file "foo.ss" does not contain
...
the expected library name (foo).
2008-06-05 00:58:04 -07:00
Abdulaziz Ghuloum
9f7196d11a
better contextual error messages for invalid numeric sequences.
2008-06-03 22:27:33 -07:00
Abdulaziz Ghuloum
be37f629c5
the reader now understands some complex numbers.
2008-06-02 00:01:59 -07:00
Abdulaziz Ghuloum
a492d318e1
- fixed minor bug in current-directory
...
- changed implementation of string->number.
2008-05-31 20:10:17 -07:00
Abdulaziz Ghuloum
53905b9eea
Changes from Derick Eddington supporting file system info:
...
- Added file-regular?, file-directory?, file-symbolic-link?,
directory-list, make-directory, delete-directory, change-mode,
and make-symbolic-link.
- Bug fix in ikrt_open_input_fd and ikrt_open_output_fd which
considered a 0 FD as an error.
- Bug fix in ikrt_getcwd about len+1.
- Bug fix of &i/o-file-protection which didn't have &i/o-filename as
its parent.
- There is a new src/ikarus-errno.c file.
- Made tcp-connect and friends tell when they "failed to resolve
host name or connect".
- To support the uses of &i/o-filename subtypes, I modified
print-condition so it will cleanly print the parents' fields of a
condition;
2008-05-31 10:43:55 -07:00
Abdulaziz Ghuloum
6437aa98e0
- exp now understands complex numbers.
...
- expt of complex exponent is implemented in terms of exp.
2008-05-28 23:50:36 -07:00
Abdulaziz Ghuloum
fec5dcd419
sqrt, log, and expt now understand complex numbers.
2008-05-28 22:21:08 -07:00
Abdulaziz Ghuloum
b74e3976df
allocation check was still incorrect when the ap+size overflows and
...
shows up to be less than the end of allocation pointer.
2008-05-25 15:32:22 -07:00
Abdulaziz Ghuloum
7f0f127081
Allocation overflow check was incorrectly using signed comparison
...
instead of an unsigned one.
2008-05-25 14:39:03 -07:00
Abdulaziz Ghuloum
467095677e
+, -, *, and / now handle inexact complex numbers.
2008-05-25 10:37:41 -07:00
Abdulaziz Ghuloum
ab2e05e8b0
Added inexact complex numbers.
2008-05-24 10:13:01 -07:00
Abdulaziz Ghuloum
8827b98972
fasl reader/writer now understands complex numbers.
2008-05-21 00:40:42 -07:00
Abdulaziz Ghuloum
0a6df79e3b
ikarus.reader is now loadable separately.
2008-05-20 23:21:37 -07:00
Abdulaziz Ghuloum
ebcc042ea1
= now handles complex numbers.
2008-05-18 22:33:49 -07:00
Abdulaziz Ghuloum
4cb8165181
+, -, *, / now handle complex numbers.
2008-05-18 21:41:53 -07:00
Abdulaziz Ghuloum
82140f87ba
- Added complex numbers representation (exact complex only).
...
- Added make-rectangular.
- Added the ability to display complex numbers.
2008-05-18 20:39:41 -07:00
Abdulaziz Ghuloum
da7cedfe64
Added bitwise-xor.
2008-05-18 03:21:05 -07:00
Abdulaziz Ghuloum
de4276124b
added bitwise-ior.
2008-05-18 02:27:55 -07:00
Abdulaziz Ghuloum
0cd61369b2
added some preliminary work for known-types.
2008-05-16 23:27:08 -07:00
Abdulaziz Ghuloum
6511dd1002
Fixed a paren mismatch in "macro?" helper in printer.
2008-05-13 06:09:58 -07:00
Abdulaziz Ghuloum
5d3ab96c2c
fixed "inaccurate error message" bug in map when applied a non-list
...
argument.
2008-05-12 02:39:28 -07:00
Abdulaziz Ghuloum
4acf71d6d2
moved pretty-printing formats to their own library.
2008-05-12 00:35:19 -07:00
Abdulaziz Ghuloum
f05f171f28
exported pretty-format, a parameter maker for setting the pretty
...
format for various forms. The pretty format structure is not
documented yet and there is no error-checking mechanism for
verifying proper input.
2008-05-12 01:00:01 -04:00
Abdulaziz Ghuloum
f8b0e949d9
- syntax-case now raises a syntax violation when _ appears in the
...
literals
- syntax-rules points to the invalid literal when raising an
exception.
2008-05-10 19:05:40 -04:00
Abdulaziz Ghuloum
5c21f9995e
source annotations for r6rs-script and r6rs-libraries are now in
...
chars instead of bytes.
2008-05-06 15:38:05 -04:00
Abdulaziz Ghuloum
b5fc5624ec
Fixed a bug in enum-set-universe not returning an enum type.
2008-05-05 23:53:48 -04:00
Abdulaziz Ghuloum
3bcc3249e5
Fixed another source of "annotations being revealed". This time,
...
it's a reader bug of not inserting enough annotations for reader
macro forms.
2008-05-05 03:52:08 -04:00
Abdulaziz Ghuloum
c3b8e50b23
Fixed a minor exposure of annotation records.
2008-05-03 06:49:36 -04:00
Abdulaziz Ghuloum
3f9b567a5b
with-syntax now gives more informative error messages:
...
> (with-syntax ([(x y) #'(a 1)] [(q) #'(a b c)]) 12)
Unhandled exception
Condition components:
1. &assertion
2. &who: with-syntax
3. &message: "pattern does not match value"
4. &irritants: ((q) #<syntax (a b c)>)
instead of the previous behavior:
> (with-syntax ([(x y) #'(a 1)] [(q) #'(a b c)]) 12)
Unhandled exception
Condition components:
1. &message: "invalid syntax"
2. &syntax:
form: ((a 1) (a b c))
subform: #f
2008-05-03 06:23:35 -04:00
Abdulaziz Ghuloum
373edfc969
Fixes typos in (rnrs enumeration) error messages.
2008-05-03 04:25:58 -04:00
Abdulaziz Ghuloum
5f92e4b96d
Added current-directory parameter that gets/sets cwd.
2008-05-03 02:39:49 -04:00
Abdulaziz Ghuloum
d87ced74d1
cleaned up some stale primitive names.
2008-05-01 18:13:11 -04:00
Abdulaziz Ghuloum
db70f9751f
Made all unimplemented procedures raise errors when called.
2008-05-01 17:52:52 -04:00
Abdulaziz Ghuloum
b56b0fbd85
fixed a problem causing free-id=? to intern unbound identifiers
...
into the interaction environment.
2008-05-01 15:04:43 -04:00
Abdulaziz Ghuloum
d49aed209a
Added (interaction-environment).
2008-05-01 06:02:36 -04:00
Abdulaziz Ghuloum
e7386cd7d7
Major changes to the interactive repl:
...
- We can now redefine imported identifiers.
- We can now use let-syntax, letrec-syntax, and modules at
top-level.
Hand-wavey Repl Semantics:
- Imported identifiers mean what they meant previously. In
particular, you cannot set! imported identifiers.
- An imported identifier may be redefined using define. Once
something is defined at the top-level, a specific location for it
is created, and all definitions, references, and set!s to that
variable go through the top-level location.
- Re-importing an identifier shadows the top-level location.
- Redefining re-exposes the top-level location.
- and do on.
- A reference to an unbound variable also fabricates a top-level
location for that variable.
Let's see how this goes.
2008-05-01 04:21:07 -04:00
Abdulaziz Ghuloum
1389f239fe
Added process-nonblocking which is like process but returns
...
nonblocking ports.
2008-04-30 22:55:59 -04:00
Abdulaziz Ghuloum
f69e82e6c5
Added with-output-to-port:
...
> (let-values ([(p e) (open-string-output-port)])
(with-output-to-port p (lambda () (printf "Hello\n")))
(e))
"Hello\n"
2008-04-29 00:20:29 -04:00
Abdulaziz Ghuloum
d8cd4f0acf
Added engine-handler parameter and a ($swap-engine-counter! <neg-fx>)
...
to (ikarus system $interrupts).
2008-04-29 00:10:49 -04:00
Abdulaziz Ghuloum
b97b568e36
Reader now explicitly checks for valid unicode range when reading
...
#\xHHHH "\xHHHH;" and foo\xHHHH;bar sequences.
2008-04-28 15:01:45 -04:00
Abdulaziz Ghuloum
89def78c3c
Fixed the definition of identifier? and id? in expander so that only
...
top-make-wrapped (possibly annotated) symbols are identifiers. It
used to be that symbols were considered identifiers by the previous
definition.
2008-04-28 14:01:49 -04:00
Abdulaziz Ghuloum
3ce6d037e4
Fixed a bug in module imports where some marks were missing in action.
...
(Note from Kent, extracted from chez scheme release notes, follows)
This always worked:
(let ()
(define-syntax from
(syntax-rules ()
[(_ m v) (let () (import m) v)]))
(module a (x) (define x 'x-of-a))
(from a x))
Didn't work before this change:
(let ()
(define-syntax x-from-a
(syntax-rules ()
[(_) (let () (import a) x)]))
(module a (x) (define x 'x-of-a))
(x-from-a))
2008-04-19 17:55:30 -04:00
Abdulaziz Ghuloum
66d085713f
Made interrupted conditions &serious so that you can interrupt R6RS
...
scripts.
2008-04-19 16:55:40 -04:00
Abdulaziz Ghuloum
177f6b84a7
Fixed a reader bug that causes '#!eof not to read properly.
...
Used to be:
> '#!eof
Unhandled exception
Condition components:
1. &lexical
2. &message: "invalid eof after quote read macro"
3. &lexical-position:
file-name: *stdin*
character: 7
Now:
> '#!eof
#!eof
2008-04-14 22:18:56 -04:00
Abdulaziz Ghuloum
139ff2f33c
First complete (but broken) build of ikarus in 64-bit.
2008-04-14 22:02:03 -04:00
Abdulaziz Ghuloum
d02e9fe035
Passing 709 tests in 64-bit mode
2008-04-12 15:06:55 -04:00
Abdulaziz Ghuloum
df0aa2de1f
Added input-socket-buffer-size and output-socket-buffer-size
...
parameters.
2008-04-11 14:02:43 -04:00
Abdulaziz Ghuloum
bdd81e2b05
accept and accept-nonblocking now set the port-id to a string
...
representing the incoming address like "nnn.nnn.nnn.nnn:pppp"
2008-04-11 07:01:27 -04:00
Abdulaziz Ghuloum
25344fa1d0
Added nanosleep as per bug 210678.
2008-04-11 05:36:54 -04:00
Abdulaziz Ghuloum
191a82e007
Passing 685 tests in 64bit including handling of some foreign calls.
2008-04-09 07:04:02 -04:00
Abdulaziz Ghuloum
866b2b1c17
Now passing 682 tests in 64-bit mode.
2008-04-09 05:34:36 -04:00
Abdulaziz Ghuloum
f63f85e1cc
570 tests in 64-bit mode
2008-04-09 03:05:19 -04:00
Abdulaziz Ghuloum
aa44ce2733
Passing 548 tests in 64-bit mode.
2008-04-08 03:57:13 -04:00
Abdulaziz Ghuloum
5eaa2ff469
fixed a couple of bugs in 64bit assembler.
2008-04-08 02:22:26 -04:00
Abdulaziz Ghuloum
6bdb38ca16
fixed bug in ($make-vector 0)
2008-04-07 12:32:55 -04:00
Abdulaziz Ghuloum
afd7592ae1
Added &i/o-read, &i/o-write, and &i/o conditions to read/write
...
errors.
2008-04-05 05:15:30 -04:00
Abdulaziz Ghuloum
8d8f6d39f7
Fixing bug 210744: Interrupts and IO callbacks not interacting
...
properly
2008-04-02 20:28:45 -04:00
Abdulaziz Ghuloum
30bc1b7be9
apply error now shows the procedure before the number of args.
2008-03-25 22:15:10 -04:00
Abdulaziz Ghuloum
398ff23992
Fixes bug 206847: default exception handler expected to return for
...
non-&serious conditions
2008-03-25 21:38:11 -04:00
Abdulaziz Ghuloum
c2e20a3a68
Fixes bug 206839: map not failing with invalid arguments
2008-03-25 21:03:26 -04:00
Abdulaziz Ghuloum
48f7c88e2d
made time macro not depend on format.
2008-03-24 21:50:37 -04:00
Abdulaziz Ghuloum
81c17da20b
Fixes bug 190373: `time' macro's "running stats for" can be misleading
2008-03-24 21:45:36 -04:00
Abdulaziz Ghuloum
3c3fec3908
Fixed problem shutting down servers on cygwin.
2008-03-24 13:25:59 -04:00
Abdulaziz Ghuloum
12a3f7e19b
Fixes bug 205988: sockaddr_in not recognized on cygwin.
2008-03-24 13:18:39 -04:00
Abdulaziz Ghuloum
884f3fe921
Added tcp-server-socket-nonblocking, tcp-accept-connection-nonblocking
...
and register-callback for handling nonblocking servers and connections.
2008-03-23 05:02:12 -04:00
Abdulaziz Ghuloum
0f55361b19
Fixes bug 205427 in letrec*.
2008-03-23 04:14:53 -04:00
Abdulaziz Ghuloum
2119f44125
Added a simple tcp server facility. See lab/greeting-server.ss.
2008-03-23 03:44:20 -04:00
Abdulaziz Ghuloum
9aaf306f16
Nonblocking sockets no longer raise a continuable exception when a
...
read or write operation would block. Instead, they are schedules
with an event handler that `selects' on the pending file descriptors
and dispatches the appropriate callback.
2008-03-23 02:14:00 -04:00
Abdulaziz Ghuloum
6e599c4c72
refactored nonblocking code in ikarus-io.c and ikarus.io.ss
2008-03-23 00:41:49 -04:00
Abdulaziz Ghuloum
48a86cbaa3
Fixed bug in (mod 3 5/6).
2008-03-22 21:23:51 -04:00
Abdulaziz Ghuloum
85d09cbc1c
fxarithmetic-shift-left now detects overflows properly.
2008-03-18 00:49:24 -04:00
Abdulaziz Ghuloum
97507bce08
Fixes bug in reader now recognizing the following comment:
...
> #|| hello ||# '12
2008-03-15 21:12:43 -04:00
Abdulaziz Ghuloum
50888bef94
Fixes issues/warnings in bug 193327.
2008-03-15 21:06:47 -04:00
Abdulaziz Ghuloum
d35566081b
import now recognizes and ignore ``for'' spec.
2008-03-15 21:00:16 -04:00
Abdulaziz Ghuloum
a3f6e3e039
Cut down bootstrap time by 10% by caching the values of scheme-stx.
...
Macroexpansion time is reduced by 25%.
2008-03-12 18:12:57 -04:00
Abdulaziz Ghuloum
1943212436
- Added tests for fasl objects
...
- fasl-read can now read bignums, flonums, and ratnums.
2008-03-09 00:25:03 -05:00
Abdulaziz Ghuloum
8f0b606609
sin, cos, tan, asin, acos, and atan now support rational numbers.
2008-03-03 13:49:47 -05:00
Abdulaziz Ghuloum
5210f1448b
Fixed part of bug 162334. Reason: (inexact -1/2) lost the sign and
...
returned 0.5. It now correctly return -0.5.
2008-03-01 21:54:27 -05:00
Abdulaziz Ghuloum
f6ee3618ba
(+ 1/2), (+ 0.5), (* 1/2) and (* 0.5) used to raise "not a number" errors.
2008-03-01 21:48:42 -05:00
Abdulaziz Ghuloum
db54cd0074
Fixes bug 191116: rationalize broken
2008-03-01 21:45:48 -05:00
Abdulaziz Ghuloum
755843e251
196894: --compile-dependencies misnamed in error message
2008-03-01 21:14:35 -05:00
Abdulaziz Ghuloum
ed9f85ea7c
Fixes bug 194232: fasl-write error message wrong about textual
...
output ports
2008-02-26 04:07:33 -05:00
Abdulaziz Ghuloum
7a9526ec91
removed a macos-specific dependencies in ikrt_file_ctime procedure.
2008-02-19 03:28:40 -05:00
Abdulaziz Ghuloum
523fa2e588
minor fixes to warning messages.
2008-02-19 00:15:18 -05:00
Abdulaziz Ghuloum
81f6c50341
fixed struct initialization problem in fasl-read.
2008-02-18 23:37:01 -05:00
Abdulaziz Ghuloum
259d43ca37
Changed fasl extension from ".ikfasl" to ".ikarus-fasl"
2008-02-18 23:29:49 -05:00
Abdulaziz Ghuloum
405c7dc9e2
fixed a missing put-mark call in fasl-read.
2008-02-18 23:26:54 -05:00
Abdulaziz Ghuloum
f45a74c115
removed the separate-compilation.ss file because it was not needed.
2008-02-18 22:07:58 -05:00
Abdulaziz Ghuloum
8564000d0d
ikarus --compile-dependencies seems to be working now.
2008-02-18 22:05:29 -05:00
Abdulaziz Ghuloum
8a809e2f58
Added (file-ctime filename) which returns the time of last change
...
(in nanoseconds)
2008-02-18 21:58:11 -05:00
Abdulaziz Ghuloum
e751c15bc4
library record now contains original file name for libraries loaded
...
from files.
2008-02-18 20:39:42 -05:00
Abdulaziz Ghuloum
c430a91bb8
more preparations for separate compilation
2008-02-18 20:28:54 -05:00
Abdulaziz Ghuloum
fa08c543bb
library records now cache expanded code.
2008-02-18 19:15:47 -05:00
Abdulaziz Ghuloum
163809f667
Ikarus can now compile, save, and reload a simple hello-world library.
2008-02-18 02:02:00 -05:00
Abdulaziz Ghuloum
e02b646d6e
Added separate compilation stubs.
2008-02-17 04:08:38 -05:00
Abdulaziz Ghuloum
5c56450c3e
removed some stale junk from compiler.ss
2008-02-17 03:11:12 -05:00
Abdulaziz Ghuloum
314f80eee9
include now attached annotations to read files (using read-annotated
...
instead of read).
2008-02-17 02:29:36 -05:00
Abdulaziz Ghuloum
1d6d5bec61
Some work on optimizer (still not working).
2008-02-17 02:11:04 -05:00
Abdulaziz Ghuloum
30aae80c5d
removed all symbolicly linked files.
2008-02-14 17:45:15 -05:00
Abdulaziz Ghuloum
f4fb08adba
Added an experimental macro expansion stack trace that looks like:
...
Unhandled exception:
Condition components:
1. &who: let
2. &message: "not an identifier"
3. &syntax:
form: (let ((12 a)) (printf "a=~s\n" a))
subform: 12
4. &trace: #<syntax (let ((12 a)) (printf "a=~s\n" a))>
5. &trace: #<syntax (right 12 a (printf "a=~s\n" a))>
6. &trace: #<syntax (wrong a 12 (printf "a=~s\n" a)) [byte 216 of test.ss]>
For a file containing:
(define-syntax right
(syntax-rules ()
[(_ a b c) (let ([a b]) c)]))
(define-syntax wrong
(syntax-rules ()
[(_ a b c) (right b a c)]))
(right x 17 (wrong a 12 (printf "a=~s\n" a)))
2008-02-14 04:01:09 -05:00
Abdulaziz Ghuloum
f6b35c4506
Fixes bug 191659: add1 and sub1 are slow
2008-02-13 18:12:00 -05:00
Abdulaziz Ghuloum
66b9f6968e
Work in progress on reimplementing the optimizer based on
...
Oscar Waddell's dissertation (chapter 4). The existing
optimizer in Ikarus is just a joke.
2008-02-13 03:29:34 -05:00
Abdulaziz Ghuloum
08fda34ebe
Added a single argument (fx- n) case that was missing.
2008-02-12 16:43:15 -05:00
Abdulaziz Ghuloum
bde9000c06
fx- now checks for overflow.
2008-02-12 15:03:43 -05:00
Abdulaziz Ghuloum
1683997a12
fx* now detects overflow.
2008-02-12 14:46:18 -05:00
Abdulaziz Ghuloum
3811d0a4c2
Loops with a single free variable no longer allocate a closure.
2008-02-11 22:18:32 -05:00
Abdulaziz Ghuloum
e1d9e72983
some compiler cleanup
2008-02-11 09:29:59 -05:00