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
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
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
71640d11bf
Fixed a problem with forward references in the repl which used to
...
get a location different from the one assigned when the variable is
defined.
2008-05-15 06:40:07 -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
4133bd73d3
Added copyright notice to pretty-formats.ss
2008-05-12 00:37:55 -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
7e5d053fb2
Fixed a bug causing syntax-error traces to print as
...
#[annotation ---]
instead of
#<syntax --- [position ---]>
2008-05-02 14:34:03 -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
478719cf32
Fixed names of procedures <, <=, =, >, >=. They used to be
...
printed as #<procedure f>.
2008-04-28 16:52:44 -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
42e3d53d00
I CAN HAZ CONS in 64BIT!
2008-04-07 10:20:05 -04:00
Abdulaziz Ghuloum
bf6138f86f
- Added reset-output-port! which sets the write index to 0 and
...
unregisters any callbacks associated with the buffer.
- commented out the call for unblocking the stdin for now
(for reason yet unknown to me, it causes stdout to be unblocked
as well, making writes to the console to come out in bizarre
mixed order)
2008-04-06 10:57:56 -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
c01f3049e4
Fixes bug 206842: syntax tracing not working by default when
...
syntax-case fenders fail
2008-03-25 21:23:23 -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
fc92ec8e9f
Fixes bug 205437: socket errors not being reported
2008-03-24 00:01:22 -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
ec69dc4a7c
Added more tests for div0 and mod0.
2008-03-22 21:25:42 -04:00
Abdulaziz Ghuloum
48a86cbaa3
Fixed bug in (mod 3 5/6).
2008-03-22 21:23:51 -04:00
Abdulaziz Ghuloum
ce496aebaf
* Better error message when a tcp connection is refused.
...
* implemented udp connections (not working yet).
2008-03-22 19:29:41 -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
e36b0029f6
Fixes bug 194259. R6RS records can now be written and read back
...
through fasl-write and fasl-read.
2008-02-26 03:53:00 -05:00
Abdulaziz Ghuloum
c8f9b1dc3d
Added fluid-let-syntax.
...
See http://www.scheme.com/csug7/syntax.html#./syntax:s15
for details.
2008-02-25 02:15:51 -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
19e5d2bacd
Fixes bug 192222: Quasiquote broken
2008-02-15 15:25:20 -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
Abdulaziz Ghuloum
4a731c4f28
Fixed a bug introduced earlier today that prevented bindings to
...
simple constants from being initialized properly.
2008-02-10 07:35:09 -05:00
Abdulaziz Ghuloum
5b904b93c4
SCC-letrec optimization is now online.
2008-02-10 05:46:58 -05:00
Abdulaziz Ghuloum
6df608ccd9
SCC-letrec kinda works now.
2008-02-10 05:24:16 -05:00
Abdulaziz Ghuloum
4e5121af4e
Implemented an experimental SCC letrec transformation which does not
...
work yet.
2008-02-10 03:27:31 -05:00
Abdulaziz Ghuloum
f3c92c9473
Fixes bug 188159: delete-file not recognizing "file doesn't exist"
...
error, and it's not using &i/o-filename
2008-02-03 17:11:53 -05:00
Abdulaziz Ghuloum
1a98773440
This is the 0.0.3 release.
2008-02-02 23:08:58 -05:00
Abdulaziz Ghuloum
f6e5e4d5b4
Added -m32 to CFLAGS/LDFLAGS, updated copyright dates and version no.
2008-01-29 00:34:34 -05:00
Abdulaziz Ghuloum
6bfe82ca9b
Reimplemented bytevector-uint-set! and bytevector-sint-set! to make
...
the implementation simpler and more correct (previous one was
incorrect).
2008-01-28 15:45:42 -05:00
Abdulaziz Ghuloum
a43177d399
Fixed some of bug 186155: Incorrect syntax errors for define
2008-01-27 19:12:20 -05:00
Abdulaziz Ghuloum
7f971d710a
Fixes bug 185276: Tracing confused by zero number of return values
2008-01-23 03:14:33 -05:00
Abdulaziz Ghuloum
b8ac2f81ea
Added special case for sorting lists of size < 2.
2008-01-23 03:08:46 -05:00
Abdulaziz Ghuloum
9ba00f128e
Fixes big 185268: open-string-input-port type check die message missing
2008-01-23 02:17:25 -05:00
Abdulaziz Ghuloum
a33269daa7
Fixes bug 184959: get-bytevector-some missing
2008-01-22 10:59:04 -05:00
Abdulaziz Ghuloum
92d02e8e52
Fixes bug 173042: Wrong error message for (mod 3.0 3)
2008-01-22 10:39:21 -05:00
Abdulaziz Ghuloum
313e59bc92
slightly enhanced error message for attempting to transcode a port
...
using an unsupported line-style (the only supported one is "none" as
of now).
2008-01-22 03:30:52 -05:00
Abdulaziz Ghuloum
264c58c4a4
Working on bug 184993: Writing to zombie process causes Ikarus to exit.
2008-01-21 23:29:04 -05:00
Abdulaziz Ghuloum
b00e56face
Fixes bug 184991: binary ports' printed representation says they're
...
textual
2008-01-21 22:10:23 -05:00
Abdulaziz Ghuloum
b0ffb78d67
Updated user's guide:
...
- Changed license from FDL to GPL
- Added docs about file extensions
- Updated list of missing features (list is down to one page, yay!)
- Updated copyright years in document and ikarus-main.ss (it's 2008!).
2008-01-21 01:01:28 -05:00
Abdulaziz Ghuloum
9edb15a0f9
Added bitwise-bit-field.
2008-01-20 23:13:24 -05:00
Abdulaziz Ghuloum
eedbe65e44
Added bitwise-copy-bit.
2008-01-20 22:21:54 -05:00
Abdulaziz Ghuloum
cc7066441c
Added put-bytevector.
2008-01-20 20:30:37 -05:00
Abdulaziz Ghuloum
fd75cfc02f
Added tests for list-sort and vector-sort.
2008-01-20 17:52:19 -05:00
Abdulaziz Ghuloum
b5b558f4e6
Reimplemented list-sort in terms of vector-sort!.
2008-01-20 16:54:23 -05:00
Abdulaziz Ghuloum
f1710b81ab
Reimplemented vector-sort and vector-sort!
2008-01-20 16:48:55 -05:00
Abdulaziz Ghuloum
0142ba2315
- Added an optimization to the base record constructors for args up
...
to 4.
2008-01-19 18:15:18 -05:00
Abdulaziz Ghuloum
df1cef98be
- Added primop for *.
2008-01-19 16:11:00 -05:00
Abdulaziz Ghuloum
48100f3737
Added bitwise-and primop.
2008-01-19 15:44:38 -05:00
Abdulaziz Ghuloum
dd5967c433
Added special cases for fixnum args to div and mod.
2008-01-19 15:33:52 -05:00
Abdulaziz Ghuloum
497d2ea8ed
increased IO block-size from 4K to 16K.
2008-01-19 14:51:14 -05:00
Abdulaziz Ghuloum
323d1037ea
- Fixed a performance bug that caused slowness in read-char for IO
...
intensive code (cat, tail, wc)
2008-01-19 13:50:53 -05:00
Abdulaziz Ghuloum
7a970db55d
Fixes bug 184265: flonum? assemble bug
2008-01-19 09:47:15 -05:00
Abdulaziz Ghuloum
5bf2afce78
Added inline expansion for all cxr and cxxxr primitives.
2008-01-18 22:44:40 -05:00
Abdulaziz Ghuloum
6018e2200d
Made (define foo) expand to (define foo (void)).
2008-01-18 22:18:26 -05:00
Abdulaziz Ghuloum
8adb1639f0
sqrt and exact-integer-sqrt now use the gmp sqrt procedure instead
...
of the previous bisection algorithm (much faster).
2008-01-17 01:26:29 -05:00
Abdulaziz Ghuloum
f7dcbe87c6
Fixes round-off error in sqrt.
2008-01-12 21:05:26 -05:00
Abdulaziz Ghuloum
d9cdcb8959
Fixes bug 180991: round-off error in bignum->flonum
2008-01-12 20:52:23 -05:00
Abdulaziz Ghuloum
2dc4542148
Reimplemented the guardians collector which was yellowing out since
...
the last update to the GC. All tests now run without a glitch.
2008-01-12 17:32:43 -05:00
Abdulaziz Ghuloum
7a2ac14f5a
Eliminated frame-pointer adjustment around calls if the adjustment
...
is 0. Previously, you'd get
addl 0, fpr
<stuff>
subl 0, fpr
which are useless.
2008-01-10 03:26:18 -05:00
Abdulaziz Ghuloum
9e06ec35bf
Fixes bug 181679: vec-graph not working
2008-01-10 00:40:39 -05:00
Abdulaziz Ghuloum
4444496609
Fixes bug 181105: syntax pattern variable list length mismatch error
...
is obscure
2008-01-09 08:47:48 -05:00
Abdulaziz Ghuloum
62765c2885
Fixes bug 180895: letrec error message not as helpful as let
2008-01-09 08:37:46 -05:00
Abdulaziz Ghuloum
fbebc96bfa
Fixed the ``bytes allocated off by n problem''.
2008-01-07 21:37:41 -05:00
Abdulaziz Ghuloum
01d0669607
sigaltstack is not used now if the OS does not provide it.
2008-01-07 19:04:46 -05:00
Abdulaziz Ghuloum
899be70aca
Kind of a better implementation of ratnum->flonum.
2008-01-06 02:27:23 -05:00
Abdulaziz Ghuloum
da7f05a538
Fixes more of bug 180170: (log (expt 2 1024)) now works.
2008-01-05 21:02:52 -05:00
Abdulaziz Ghuloum
af6562721b
Fixes bug 180170: Missing bignum sqrt
2008-01-04 21:46:50 -05:00
Abdulaziz Ghuloum
3cd68e7ea3
Fixed bug 179978: (eq? (vector) (vector)) should evaluate to #t
2008-01-04 21:19:30 -05:00
Abdulaziz Ghuloum
797897cc01
Fixes bug 180455: raw symbols in output of macro are not detected
2008-01-04 20:53:59 -05:00
Abdulaziz Ghuloum
e35ed42f6c
Added the tests that I'm using for porting.
2008-01-04 05:55:06 -05:00
Abdulaziz Ghuloum
069ff811e2
Passed tests-1.6 in 64-bit mode.
2008-01-04 05:54:35 -05:00
Abdulaziz Ghuloum
755beeb7d7
uuid and gensym were not generating pretty unique strings. fixed.
2008-01-04 05:47:18 -05:00
Abdulaziz Ghuloum
976694a3ab
passing tests-1.5
2008-01-04 04:41:20 -05:00
Abdulaziz Ghuloum
71fcccd764
passing tests-1.4
2008-01-04 04:21:02 -05:00
Abdulaziz Ghuloum
2ea7321e6b
passing tests-1.3 in 64-bit mode.
2008-01-04 03:49:27 -05:00
Abdulaziz Ghuloum
61dfef0cea
Passing tests-1.2 in 64-bit.
2008-01-04 02:50:45 -05:00
Abdulaziz Ghuloum
5d2f14c523
Added a disassembler tool for 64-bit code (using macos otool64). Also,
...
passed more tests in 64-bit mode.
2008-01-03 23:03:22 -05:00
Abdulaziz Ghuloum
3b8eb4bbd4
Ikarus can compile immediates in 64-bit mode.
...
It feels like I'm going through my compilers tutorial all over again!
2008-01-03 04:42:10 -05:00
Abdulaziz Ghuloum
341e53a36d
64-bit fasl files can now be produced and read.
2008-01-03 02:07:17 -05:00
Abdulaziz Ghuloum
3c99e7d393
fasl-write now writes different fasl objects depending on the
...
architecture bitness.
2008-01-02 23:22:55 -05:00
Abdulaziz Ghuloum
7fb7add0ce
frame size parameters are now more modular in ikarus-data.h
2008-01-02 20:58:48 -05:00
Abdulaziz Ghuloum
d9475009fd
renamed:
...
src/cpu_has_sse2.s => src/cpu_has_sse2.S
src/ikarus-enter.s => src/ikarus-enter.S
2008-01-02 18:05:59 -05:00
Abdulaziz Ghuloum
c15876aebe
Abstracted the construction of call frames and automated the padding
...
process. The compiler no longer has hardcoded null bytes inserted
into the code streams.
2008-01-02 07:01:45 -05:00
Abdulaziz Ghuloum
0db7d1d6d0
Identified places where a hard-coded number of null bytes are
...
manually inserted into the code stream to ensure proper offsets.
These need to be removed ASAP. Also, abstracted the values of three
constants that were hardcoded.
2008-01-02 05:55:30 -05:00
Abdulaziz Ghuloum
50e2478d06
removed some hard-coded constants of pcb-offsets.
2008-01-01 23:07:41 -05:00
Abdulaziz Ghuloum
66e9cd6415
ikarus now compiles cleanly (but still unrunnable) in 64-bit mode.
2008-01-01 21:42:52 -05:00
Abdulaziz Ghuloum
8538098043
removed one implicit dependency on mp_bits_per_limb in ikarus.bytevectors.ss
2008-01-01 05:30:51 -05:00
Abdulaziz Ghuloum
993a3ad6c4
Fixed a couple of bugs that I introduced in previous revision.
2008-01-01 05:17:42 -05:00
Abdulaziz Ghuloum
15ea12f915
cleanup of the C files to make all ikptr->int casts ikptr->long int
2008-01-01 04:24:36 -05:00
Abdulaziz Ghuloum
1f5cef4940
sweeping the junk in assembler continues.
2007-12-31 05:34:20 -05:00
Abdulaziz Ghuloum
a8abfb6bc5
Yet more cleanup in assembler.
2007-12-31 04:00:46 -05:00
Abdulaziz Ghuloum
f44b9285c7
small bug fix in assembler for code like (movl reg (disp reg reg))
2007-12-31 03:02:12 -05:00
Abdulaziz Ghuloum
e262407379
More cleanup in assembler
2007-12-31 02:42:53 -05:00
Abdulaziz Ghuloum
e7017c159f
made the assembler a little more robust as far as 32-bit registers
...
are used.
2007-12-30 20:22:13 -05:00
Abdulaziz Ghuloum
b2d67a552d
number->string now returns a fresh string for 0.
2007-12-30 18:37:37 -05:00
Abdulaziz Ghuloum
771b9699b5
Fixes bug 179015: Feature request: socket-port's id/name includes
...
service-name/port
2007-12-28 00:05:44 -05:00
Abdulaziz Ghuloum
4c3b17436f
Added a tcp-connect-nonblocking-example.ss to demonstrate how to
...
handle nonblocking sockets by continuous polling.
2007-12-27 22:17:54 -05:00
Abdulaziz Ghuloum
64dac92831
Added tcp-connect-nonblocking which is line tcp-connect but puts the
...
socket in nonblocking mode. An operation that would block now
raises (continuable) a condition of type &i/o-would-block which
contains the port in question. There's no way to handle the
condition gracefully yet.
2007-12-27 22:08:27 -05:00
Abdulaziz Ghuloum
fc2d958419
Ikarus now recognizes ".sls", ".ss", and ".scm" extensions as well
...
as ".ikarus.sls", ".ikarus.ss", and ".ikarus.scm".
2007-12-27 15:16:08 -05:00
Abdulaziz Ghuloum
2a96ebf5b1
Fixes bug 178858: convert-closures "free vars encountered in
...
program" error mistakenly happening
2007-12-27 13:03:48 -05:00
Abdulaziz Ghuloum
648991d793
cygwin does not have getaddrinfo so I added a compatibility
...
implementation in src/ikarus-getaddrinfo.[ch]
2007-12-26 22:28:48 -05:00
Abdulaziz Ghuloum
4f0a816295
Added a tcp-connect procedure that takes a host name and a service
...
name (e.g. "www.google.com" and "http") and returns two binary ports:
the first for output and the second for input.
Both ports must be closed for the connection to close.
Also added an example in lab/tcp-connect-example.ss which connects
to an http server, sends "GET /\n" and prints the responde.
2007-12-26 17:35:58 -05:00
Abdulaziz Ghuloum
b8ed235308
Reimplemented open-output-string and get-output-string.
2007-12-26 02:16:02 -05:00
Abdulaziz Ghuloum
f48ec4ad2d
Fixes bug 178552: &non-continuable typo in makefile.ss
2007-12-26 01:48:37 -05:00
Abdulaziz Ghuloum
ab67ee9dad
Fixes bug 178385: Closed port giving incorrect error about type
...
instead of about being closed
2007-12-23 22:28:48 -05:00
Abdulaziz Ghuloum
1786677c73
* made unbound variable violations have &undefined condition type.
2007-12-23 19:52:18 -05:00
Abdulaziz Ghuloum
1c4ba26923
Added bitwise-length (fixing bug 178345: Missing bitwise-length)
2007-12-23 17:33:13 -05:00
Abdulaziz Ghuloum
2e7faf85c7
Fixes bug 178334: annotation structs being revealed
2007-12-23 16:23:20 -05:00
Abdulaziz Ghuloum
788b613bba
Added call-with-output-file
2007-12-23 15:18:40 -05:00
Abdulaziz Ghuloum
79277bb394
Added with-output-to-string.
2007-12-23 15:12:22 -05:00
Abdulaziz Ghuloum
894a29f0d8
Added with-output-to-file.
2007-12-23 15:06:05 -05:00
Abdulaziz Ghuloum
d2de3bcadb
Added with-input-from-string.
2007-12-23 14:44:55 -05:00
Abdulaziz Ghuloum
5d33921c9e
changed type of ikp from unsigned char* to char*
2007-12-23 13:37:48 -05:00
Abdulaziz Ghuloum
097ca03e47
Fixes bug 177638: keyword argument in syntax-rules should not be
...
used in substitutions
2007-12-20 06:36:00 -05:00
Abdulaziz Ghuloum
b915854677
enhanced printing of annotated syntax objects.
2007-12-20 00:31:49 -05:00
Abdulaziz Ghuloum
2c31b5bf51
replaced some calls to assertion-violation with calls to
...
syntax-violation for better syntactic error reporting.
2007-12-19 23:42:27 -05:00
Abdulaziz Ghuloum
6eb6bf750d
Added a (process "cmd" "args" ...) procedure that execs cmd, passing
...
args to it, and returns 4 values:
* the process's pid
* the process's standard-input-port (for writing)
* the process's standard-output-port (for reading)
* the process's standard-error-port (for reading)
See lab/process-example.ss for a sample usage.
2007-12-19 22:46:07 -05:00
Abdulaziz Ghuloum
10077a6468
minor change to the value returned by input-port-byte-position
...
(it's up by 1 now).
2007-12-19 19:33:05 -05:00
Abdulaziz Ghuloum
917754e28e
syntax-errors now give source information in their error message.
2007-12-19 19:05:23 -05:00
Abdulaziz Ghuloum
a725292a4d
moved match.ss and pregexp.ss to the lib directory and modified
...
lib/Makefile.am accordingly
2007-12-19 17:39:26 -05:00
Abdulaziz Ghuloum
22ff670e81
the reader is now capable of returning annotated expressions
...
containing full file-source information about each expression.
2007-12-19 00:40:25 -05:00
Abdulaziz Ghuloum
0aa846ba78
reduced size of parser, and added two helpers for reading and
...
recording position.
2007-12-18 23:07:57 -05:00
Abdulaziz Ghuloum
2c98be442a
more simplifications to reader.
2007-12-18 22:28:27 -05:00
Abdulaziz Ghuloum
4393d2aab9
simplified reader by removing hash-semi handling.
2007-12-18 22:06:58 -05:00
Abdulaziz Ghuloum
d86bfb288c
Lexical errors now give filename and character position in their
...
error messages.
2007-12-18 19:52:15 -05:00
Abdulaziz Ghuloum
945e8473fc
input-port-byte-position works for input files.
2007-12-18 17:25:48 -05:00
Abdulaziz Ghuloum
64e54de392
Added two extra fields to the port data structure.
2007-12-18 15:36:56 -05:00
Abdulaziz Ghuloum
16c52974da
Fixes bug 176710: Strange error message for cadr.
2007-12-18 11:32:13 -05:00
Abdulaziz Ghuloum
e65629cb9e
Fixes bug 176682: some omissions in makefile.ss
2007-12-18 04:08:08 -05:00
Abdulaziz Ghuloum
1e6db4f994
fixes bug 176760: implementation-restriction-violation? spelt incorrectly
2007-12-18 04:01:42 -05:00
Abdulaziz Ghuloum
df08137b7f
fixes bug 176816: &i/o-file-already-exists is now included in the
...
condition.
2007-12-18 03:58:50 -05:00