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
Abdulaziz Ghuloum
cee16e7463
Fixes bug 176816: Incorrect &who for open-output-file
2007-12-18 03:32:07 -05:00
Abdulaziz Ghuloum
bbe388656c
fixes bug 176756: define-condition-type does not work in repl
2007-12-17 11:37:10 -05:00
Abdulaziz Ghuloum
64c20409ce
made read-char just as efficient as get-char by copy&paste.
2007-12-15 11:43:04 -05:00
Abdulaziz Ghuloum
372c3e369b
Change of strategy in the garbage collector.
...
Previously: when a generation (say 2) is collected,
everything in gen 0 moves to gen 1
everything in gen 1 moves to gen 2
everything in gen 2 moves to gen 3
Now: when a generation (say 2 again) is collected
everything in gen 0 moves to gen 3
everything in gen 1 moves to gen 3
everything in gen 2 moves to gen 3
So, some objects get a leap from young to old if they're lucky to be
in the right time.
Consequences: when an object is moved by the collector, we don't
need to track old->new pointers and masks because all moved objects
are clean now. This both simplifies the collector and makes it more
efficient and might open the door for further optimization
opportunities. For bootstrap time, we get about 5% overall
saving and about 20% GC-time saving. Not bad.
BEFORE:
running stats for macro expansion:
45 collections
2558 ms elapsed cpu time, including 212 ms collecting
2576 ms elapsed real time, including 216 ms collecting
186972152 bytes allocated
running stats for code generation and serialization:
86 collections
4365 ms elapsed cpu time, including 1444 ms collecting
4374 ms elapsed real time, including 1449 ms collecting
362819096 bytes allocated
running stats for the entire bootstrap process:
131 collections
6928 ms elapsed cpu time, including 1657 ms collecting
6953 ms elapsed real time, including 1666 ms collecting
549818232 bytes allocated
AFTER:
running stats for macro expansion:
45 collections
2506 ms elapsed cpu time, including 169 ms collecting
2511 ms elapsed real time, including 171 ms collecting
186968056 bytes allocated
running stats for code generation and serialization:
86 collections
4083 ms elapsed cpu time, including 1189 ms collecting
4085 ms elapsed real time, including 1191 ms collecting
362810904 bytes allocated
running stats for the entire bootstrap process:
131 collections
6591 ms elapsed cpu time, including 1359 ms collecting
6599 ms elapsed real time, including 1362 ms collecting
549805944 bytes allocated
Happy Happy Joy Joy
2007-12-15 10:43:29 -05:00
Abdulaziz Ghuloum
5a98c9e460
changed error message as suggested in bug 173369.
2007-12-15 09:00:31 -05:00
Abdulaziz Ghuloum
c1a677ca4b
Changed implementation of append so that it uses half the cons cells
...
that it previously used. Interestingly, this reduced bootstrap time
by 60ms and 2 garbage collections! And I thought I did not use
append :-).
2007-12-15 08:55:53 -05:00
Abdulaziz Ghuloum
8c0563b2d3
fixes bug 173369: errors are supposed to be &assertion
2007-12-15 08:22:49 -05:00
Abdulaziz Ghuloum
d6efe68274
fixes bug 176519: format does not detect too-many-arguments
2007-12-15 07:32:02 -05:00
Abdulaziz Ghuloum
ab55602ed1
Added string case-folding test.
2007-12-14 22:12:59 -05:00
Abdulaziz Ghuloum
b2112ee9c8
changed implementation of string-foldcase to eliminate use of string
...
ports. (reduce overhead)
2007-12-14 21:04:54 -05:00
Abdulaziz Ghuloum
08ac2d02f9
Added a comment about why input-transcoder-attrs is missing
...
'utf-8-codec stuff (bug 176456)
2007-12-14 19:45:50 -05:00
Abdulaziz Ghuloum
5deeb28bbe
Fixes bug 175517: Custom textual output port not recognized as a
...
textual port
2007-12-14 19:42:00 -05:00
Abdulaziz Ghuloum
4e66fe76e8
Fixes bug 176207: macros cannot be redefined.
2007-12-14 03:23:47 -05:00
Abdulaziz Ghuloum
fa27b7e9cd
Fixes 1/2 of bug 176207: identifier-syntax second case broken
2007-12-14 01:58:55 -05:00
Abdulaziz Ghuloum
75f2d78678
more cleanup in expander.
2007-12-13 06:41:44 -05:00
Abdulaziz Ghuloum
112e00a6e6
get-import-spec* now uses an eq-hash-table to detect most dups.
2007-12-13 06:15:21 -05:00
Abdulaziz Ghuloum
c181838f48
changed "parse-import-spec*" in psyntax.expander to return two
...
vectors (names and labels) instead of an a-list subst.
2007-12-13 05:57:15 -05:00
Abdulaziz Ghuloum
b5ae1e2361
fixes bug 176057: partition not working right
2007-12-13 01:07:32 -05:00
Abdulaziz Ghuloum
8cd744d4bd
exported verbose-timer parameter that allows printing more detailed
...
information when "time" or "time-it" are used.
2007-12-12 23:58:10 -05:00
Abdulaziz Ghuloum
1d4db4b9c9
more unsafe prims in ikarus.io.ss
2007-12-12 23:50:05 -05:00
Abdulaziz Ghuloum
23b71cee3c
substantial speedup for new io layer
2007-12-12 21:22:05 -05:00
Abdulaziz Ghuloum
7996ced7c9
removed base-index field from port structs since it was clearly not
...
used.
2007-12-12 19:59:10 -05:00
Abdulaziz Ghuloum
9dfa179ded
enlarged size of initial ports' buffers to be 4096+ bytes.
2007-12-12 19:52:26 -05:00
Abdulaziz Ghuloum
a6e1ce0658
given myself a few extra bits in the port attrs for future extensions
2007-12-12 19:47:03 -05:00
Abdulaziz Ghuloum
cef06e3121
removed "closed?" field from port struct.
2007-12-12 19:34:28 -05:00
Abdulaziz Ghuloum
c659cd3ed6
split io into two libraries by splitting the prims outside.
2007-12-12 19:18:57 -05:00
Abdulaziz Ghuloum
eac9829a03
cleanup of tags in ikarus.io.ss
2007-12-12 18:59:19 -05:00
Abdulaziz Ghuloum
3512b4d112
file-based ports are now guarded and their file handles are closed
...
if the port is dropped and collected.
2007-12-12 01:32:55 -05:00
Abdulaziz Ghuloum
54f683f0e0
Ported match.ss to ikarus.
2007-12-11 17:41:48 -05:00
Abdulaziz Ghuloum
09a02059c6
custom textual ports now return #t for textual-port? (fixes bug 175517)
2007-12-11 06:04:08 -05:00
Abdulaziz Ghuloum
29eb0d1ce0
The size of output ports is now set to be the buffer size (bug 175485)
2007-12-11 03:25:51 -05:00
Abdulaziz Ghuloum
4ef7d157df
Fixes bug 175480: Typo in make-custom-textual-output-port error
...
message
2007-12-11 02:32:29 -05:00
Abdulaziz Ghuloum
7d7ceb6480
Weeded out gcc warnings and added -Wall as a configure flag.
2007-12-10 15:02:25 -05:00
Abdulaziz Ghuloum
0d79bcd42c
removed some unused procedures from ikarus-runtime.c
2007-12-10 12:03:25 -05:00
Abdulaziz Ghuloum
0b648054b8
removed some junk files that were in the repository.
2007-12-10 12:00:12 -05:00
Abdulaziz Ghuloum
b6299fbec2
Added make-custom-textual-input-port and make-custom-textual-output-port
2007-12-10 11:11:59 -05:00
Abdulaziz Ghuloum
85a54dbbbf
custom-binary-input-files now have their attrs set properly.
2007-12-10 10:56:10 -05:00
Abdulaziz Ghuloum
4a3f9a334a
Added tests for custom-binary-output-ports (and fixed it too)
2007-12-10 10:53:17 -05:00
Abdulaziz Ghuloum
3575b0c8d8
Added IO tests.
2007-12-10 10:42:43 -05:00
Abdulaziz Ghuloum
8a375a3cf7
Added make-custom-binary-output-port
2007-12-10 10:36:10 -05:00
Abdulaziz Ghuloum
91b8f90715
removed obsolete (ikarus system $io) library.
2007-12-10 10:24:10 -05:00
Abdulaziz Ghuloum
2ac39cfad0
reimplemented open-output-file.
2007-12-10 10:18:52 -05:00
Abdulaziz Ghuloum
921999a3a2
minor fix to string-input-ports
2007-12-10 09:28:48 -05:00
Abdulaziz Ghuloum
1ecadc0ce5
Added missing license stub to ikarus.io.ss
2007-12-10 08:08:50 -05:00
Abdulaziz Ghuloum
dfd66a6cbf
Added some of the new IO primitives to the (ikarus) library.
2007-12-10 08:05:31 -05:00
Abdulaziz Ghuloum
7fdeade412
Added console-error-port procedure and redirected all error output
...
to it.
2007-12-10 07:40:34 -05:00
Abdulaziz Ghuloum
0e38534d2e
New IO layer is installed. Still buggy in some area but can be used
...
for bootstrapping at least.
2007-12-10 07:28:03 -05:00
Abdulaziz Ghuloum
ea96ab85db
stage 1 of new input IO is almost complete.
2007-12-09 17:13:09 -05:00
Abdulaziz Ghuloum
3562a736c5
Fixes bug 175117: Named let violates scoping rules
2007-12-09 12:20:13 -05:00
Abdulaziz Ghuloum
1d5c069273
Fixes bug 175057: Added time-gmt-offset procedure that takes a time
...
object and returns the offset from gmt in seconds.
2007-12-09 07:20:49 -05:00
Abdulaziz Ghuloum
efd233ad0e
Fixes bugs 175025 and 175026: let-values and let*-values are fixed/added
2007-12-09 02:53:12 -05:00
Abdulaziz Ghuloum
0e93ac2db9
Code of fasl-write is changed to use only binary output prims.
2007-12-08 14:52:35 -05:00
Abdulaziz Ghuloum
39e5c98476
time-second was off my 30 years. fixed.
2007-12-07 06:34:56 -05:00
Abdulaziz Ghuloum
cf82981383
Fixes bug 174497: syntax-error should not be in (rnrs) and
...
syntax-violation not completed
2007-12-07 03:00:25 -05:00
Abdulaziz Ghuloum
c0191a8283
Fixes bug 174594: Record read/write now terminate on cycles.
2007-12-07 01:41:21 -05:00
Abdulaziz Ghuloum
1f352825f5
Transcoding to latin-1 now works in the new IO layer.
2007-12-06 08:14:05 -05:00
Abdulaziz Ghuloum
1469932f3d
Exported the transcoder? primitive.
2007-12-06 05:05:26 -05:00
Abdulaziz Ghuloum
0b693a7103
The unread-char primitive is deleted, all code that referenced
...
unread-char was rewritten as peek-char and read-char.
2007-12-05 05:01:56 -05:00
Abdulaziz Ghuloum
e874d2d0a0
Added "include-into" macro.
...
(include-into ctxt "filename") included the contents of the file
as if they were present in the context ctxt (which must be an
identifier).
(include-into here "filename") would do the same thing as
(include "filename")
2007-12-05 03:26:56 -05:00
Abdulaziz Ghuloum
4318a7cea7
* fixed name of time-second (was time-seconds before).
2007-12-05 03:11:47 -05:00
Abdulaziz Ghuloum
5d568e478e
forgot to add the file ikarus.time-and-date.ss :-)
2007-12-05 02:48:42 -05:00
Abdulaziz Ghuloum
553c986253
Added current-time, time?, and time-seconds.
2007-12-05 02:35:14 -05:00
Abdulaziz Ghuloum
171604d7fc
values and call-with-values now have proper names when printed.
...
e.g. #<procedure values> and #<procedure call-with-values>
2007-12-05 01:33:47 -05:00
Abdulaziz Ghuloum
00ffe4fdfd
Minor bugs in utf32->string and utf8->string.
2007-12-03 11:06:29 -05:00
Abdulaziz Ghuloum
b5ab25c1cf
Fixed some potential bugs in utf8->string.
2007-12-03 05:43:53 -05:00
Abdulaziz Ghuloum
d878bd3934
utf16->string, utf32->string, string->utf16, string->utf32 are all
...
working now.
2007-12-03 04:28:41 -05:00
Abdulaziz Ghuloum
4efdebb3ac
string<->utf in progress
2007-12-03 03:00:01 -05:00
Abdulaziz Ghuloum
bdb73c70a8
Added string->utf16 and string->utf32.
2007-12-03 01:35:29 -05:00
Abdulaziz Ghuloum
307fb64f84
Fixes bug 173467. Ikarus now probes the cpuid for SSE2 support.
2007-12-03 00:29:36 -05:00
Abdulaziz Ghuloum
54ace976b5
Fixes bug 173465: suppress warning about missing .bzr/branch/last-revision
2007-12-02 23:43:22 -05:00
Abdulaziz Ghuloum
9d3647f4f5
renamed: scheme/ikarus.transcoders.ss => scheme/ikarus.unicode-conversion.ss
2007-12-02 23:35:23 -05:00
Abdulaziz Ghuloum
8073aa0e1e
Partially fixes bug 173173: call-with-bytevector-output-port: primitive not supported yet
2007-12-02 23:13:19 -05:00
Abdulaziz Ghuloum
58fd9cbed8
Added open-bytevector-output-port
2007-12-02 22:59:08 -05:00
Abdulaziz Ghuloum
5073b26fe9
Fixes bug 173201: More reader bugs from read0
2007-12-02 20:06:00 -05:00
Abdulaziz Ghuloum
9d9735ce2a
Cases in bug 173201 are closed. Still failing read0 though.
2007-12-02 06:58:33 -05:00
Abdulaziz Ghuloum
bc2e88e4e7
Added special case for (div x [positive-fixnum-power-of-2])
2007-12-02 04:30:59 -05:00
Abdulaziz Ghuloum
ebb1f7c055
Partial fix to bug 173042: Wrong error message for (mod 3.0 3)
2007-12-02 02:59:18 -05:00
Abdulaziz Ghuloum
67ecd7124d
Fixes bug 173382: Contents of opaque records should not be printed
2007-12-02 01:51:28 -05:00
Abdulaziz Ghuloum
2d06b792e1
Some work on fixing bug 173201.
2007-12-02 01:30:38 -05:00
Abdulaziz Ghuloum
68852b48e4
Fixes minor bugs 173386 and 173381: added typecast and chmod.
2007-12-01 23:54:44 -05:00
Abdulaziz Ghuloum
fd3b347f1a
Fixes bug 172894 by checking at configure-time whether the
...
sizeof(void*) is 4.
2007-12-01 22:41:36 -05:00
Abdulaziz Ghuloum
113add26ac
Improved error reports in records.procedural as per Derick
...
Eddington's suggestions and removed the record-name check for
non-generative records.
2007-12-01 22:32:19 -05:00
Abdulaziz Ghuloum
3056d26a9d
Moved implementation of safe make-vector to foreign-call.
2007-12-01 05:38:09 -05:00
Abdulaziz Ghuloum
4c16c8b340
* Fixed some reader bugs wrt bug 173201.
2007-12-01 04:31:48 -05:00
Abdulaziz Ghuloum
75e09500c4
Fixes bug 173200: semi-colon is not a delimiter
2007-12-01 03:18:28 -05:00
Abdulaziz Ghuloum
bd06d39220
Fixes bug 173165 and bug 173162: opaque and sealed for record types
...
are not being enforced.
2007-12-01 01:52:34 -05:00
Abdulaziz Ghuloum
9d6f8511c8
Fixes bug 173169: Mutator names on define-record-type are wrong
2007-12-01 01:46:58 -05:00
Abdulaziz Ghuloum
d85466ab75
Fixes bug 173170: bytevector-copy! precondition error
2007-12-01 01:43:37 -05:00
Abdulaziz Ghuloum
9651a717cf
renamed the extras directory to be lib.
2007-12-01 01:21:18 -05:00
Abdulaziz Ghuloum
6294ea7052
* removed stuff from lib directory.
2007-12-01 01:19:45 -05:00
Abdulaziz Ghuloum
6386b3420a
Fixes bug 164823: ikarus.boot remaining open
2007-11-30 07:06:30 -05:00
Abdulaziz Ghuloum
2d55282789
Fixes bug 165133: Bodies of internal definitions should be expanded
...
before right-hand-side expressions
2007-11-30 06:31:07 -05:00
Abdulaziz Ghuloum
51c8d1c0ed
Fixes bug 172734: lookahead-u8: primitive not supported yet
2007-11-30 06:19:59 -05:00
Abdulaziz Ghuloum
5f638cc722
Fixes bug 172933: min and max don't know flonums
2007-11-30 06:01:44 -05:00
Abdulaziz Ghuloum
28fcdd3df6
Fixed bug 172986: define-record-type allowing invalid syntax
2007-11-30 05:36:25 -05:00
Abdulaziz Ghuloum
ebc4deea60
Fixes bug 173001: r5rs values exported by rnrs library
...
* The following bindings were removed from (rnrs):
exact->inexact inexact->exact quotient modulo remainder string-set! string-fill!
2007-11-30 05:13:01 -05:00
Abdulaziz Ghuloum
05bc37fe57
Fixed div-and-mod
2007-11-29 20:04:28 -05:00
Abdulaziz Ghuloum
c00f006164
Fixed bug 172931: div and mod are bogus.
2007-11-29 18:30:20 -05:00
Abdulaziz Ghuloum
c855a0e600
Forgot to commit the 0.0.2 release.
2007-11-29 03:31:54 -05:00
Abdulaziz Ghuloum
e21026c635
Fixed minor typo in doc/Makefile.am
2007-11-28 04:34:47 -05:00
Abdulaziz Ghuloum
45a66b61a0
Barak Perlmutter requested that I rename ikarus.boot.orig to
...
something else since it suffix ".orig" seems to be reserved by some
revision control system or package management system to mean
"do-not-archive" or something like that. Using ".prebuilt" now.
2007-11-27 16:13:33 -05:00
Abdulaziz Ghuloum
6b74c8fb7d
Fixed bug 172279: Incorrect syntax use causing an internal bug
2007-11-27 06:11:30 -05:00
Abdulaziz Ghuloum
ca5cb39bb6
Added documentation about graph marks. xelatex seems to be messed
...
up when generating hyperlinks (the three links are off by some
number of pages). May need to dump xelatex if I can get true type
fonts to be usable under pdflatex.
2007-11-26 22:08:04 -05:00
Abdulaziz Ghuloum
4e2a44c525
* Fixed order of arguments to put-char and put-u8.
2007-11-26 04:43:16 -05:00
Abdulaziz Ghuloum
e461f4374f
Made #!eof invalid in #!r6rs mode.
2007-11-25 16:23:39 -05:00
Abdulaziz Ghuloum
86d8cd0854
Fixed a problem with hashtables where delete did not update the size
...
of the table.
2007-11-25 08:45:19 -05:00
Abdulaziz Ghuloum
a1adb6cc14
Missing initialization of code_ap and code_ep in ikarus-fasl.c
...
caused segfault on freebsd. The funny thing, I had initialization
code in a commented-out section. Fun fun.
2007-11-24 22:54:40 -05:00
Abdulaziz Ghuloum
5e71bb8550
Fixes bug 164884: benchmarks/Makefile shouldn't be in repo
2007-11-24 12:16:06 -05:00
Abdulaziz Ghuloum
fb804a24f4
Changed version to 0.0.2-rc1 and added benchmarks to distribution.
2007-11-23 20:50:28 -05:00
Abdulaziz Ghuloum
358ba407aa
Fixes bug 164730: mutation of export
2007-11-23 16:07:38 -05:00
Abdulaziz Ghuloum
d74b82fe7d
Fixes bug 164725: missing current-error-port
2007-11-23 14:46:42 -05:00
Abdulaziz Ghuloum
8640cb785d
Fixes half of bug 164725: missing scheme-report-environment.
2007-11-23 14:38:25 -05:00
Abdulaziz Ghuloum
fe42e0912c
doc/Makefile.am is modified so that it does not attempt to rebuild
...
the user's guide if the system does not have xelatex installed.
2007-11-23 05:08:15 -05:00
Abdulaziz Ghuloum
5e7451167d
Added close-port. Updated user's guide's list of unsupported
...
primitives.
2007-11-23 03:44:48 -05:00
Abdulaziz Ghuloum
ccce44fffa
Fixed dynamic loading problem in the cygwin port. Apparently, no
...
one is using the bzr version of Ikarus under cygwin since it's been
broken for some time now.
2007-11-23 02:29:46 -05:00
Abdulaziz Ghuloum
57171a243a
Added bitwise-bit-set?
2007-11-22 17:42:37 -05:00
Abdulaziz Ghuloum
42daf68195
Added string-ci-hash and symbol-hash.
...
Slight change to ikrt_string_hash.
2007-11-22 17:04:10 -05:00
Abdulaziz Ghuloum
c25e04569c
Added string-hash.
2007-11-22 16:55:25 -05:00
Abdulaziz Ghuloum
0de54fc0c6
Added get-bytevector-n!
2007-11-22 16:32:01 -05:00
Abdulaziz Ghuloum
5bac0ad766
Added get-string-n!
2007-11-22 16:27:55 -05:00
Abdulaziz Ghuloum
e4910e9b61
Added get-bytevector-n
2007-11-22 16:03:44 -05:00
Abdulaziz Ghuloum
bfccea7718
Added get-string-n
2007-11-22 15:54:10 -05:00
Abdulaziz Ghuloum
cbd4299fec
Added put-bytevector
2007-11-22 15:39:33 -05:00
Abdulaziz Ghuloum
a97d20ed50
Added put-string.
2007-11-22 15:16:38 -05:00
Abdulaziz Ghuloum
d227b28a58
* Added put-datum.
2007-11-22 14:48:29 -05:00
Abdulaziz Ghuloum
63f656896f
Added get-datum.
2007-11-22 14:43:39 -05:00
Abdulaziz Ghuloum
043425eb20
Added get-u8.
2007-11-22 14:26:54 -05:00
Abdulaziz Ghuloum
2eca32fc8e
Fixes bug 163722: missing open-string-output-port and open-string-input-port
2007-11-21 16:55:56 -05:00
Abdulaziz Ghuloum
d314bacc24
Fixes bug 164362: make clean deletes scheme/last-revision
2007-11-21 16:45:27 -05:00
Abdulaziz Ghuloum
91c365d9a6
records/structs are an iota faster to collect.
2007-11-21 16:39:16 -05:00
Abdulaziz Ghuloum
eb30e7ab58
* Eliminates a jump-to-jump case in "flatten-code".
2007-11-21 05:31:01 -05:00
Abdulaziz Ghuloum
37aab027da
Added an optimization that removes self-references from fix-bound
...
closures.
2007-11-21 04:00:10 -05:00
Abdulaziz Ghuloum
d6a1a177a9
Fixes bug 163982: Extra "" irritant in expander error
2007-11-21 02:23:29 -05:00
Abdulaziz Ghuloum
b71de5dab4
* Fixes bug 163980: Error message contains "fmls"
...
Slightly better error message for malformed formal parameters
(duplicate and non-identifiers are signaled properly).
2007-11-21 02:10:42 -05:00
Abdulaziz Ghuloum
978093bcc2
* Fixed bug 164173: Added more descriptive errors to incorrect args
...
to record constructors.
2007-11-21 01:39:31 -05:00
Abdulaziz Ghuloum
888251df70
Small improvement on the situation in bug 163984: Wrong name on
...
define-record-type proceedures.
Record constructors are now called "a-record-constructor"
Record predicates are called "a-record-predicate"
Record accessors are called "a-record-accessor"
Record mutators are called "a-record-mutator"
2007-11-21 01:24:13 -05:00
Abdulaziz Ghuloum
0644542565
Added a last-revision file and modified scheme/Makefile.am
...
accordingly.
2007-11-21 00:59:05 -05:00
Abdulaziz Ghuloum
c6b66f8661
Added a system library (ikarus system interrupts) that exports:
...
make-interrupted-condition and interrupted-condition?
2007-11-19 16:50:31 -05:00
Abdulaziz Ghuloum
be8123f8b6
* Sligh fix to dependencies in scheme/Makefile.am
2007-11-19 16:16:11 -05:00
Abdulaziz Ghuloum
728daddfc0
Fixes bug 163690: ikarus should display version number instead of
...
build date in the banner.
The version in bzr now displays:
Ikarus Scheme version 0.0.1+ (revision 1090, build 2007-11-19)
Copyright (c) 2006-2007 Abdulaziz Ghuloum
The shipped versions should display
Ikarus Scheme version 0.0.2
Copyright (c) 2006-2007 Abdulaziz Ghuloum
2007-11-19 15:37:42 -05:00
Abdulaziz Ghuloum
9349c3a5cb
Fixes bug 163681: Ikarus should have an IKARUS_LIBRARY_PATH
2007-11-19 13:34:24 -05:00
Abdulaziz Ghuloum
25555d7ff6
Added getenv, which takes a string and returns a string from the "unix"
...
environment.
Example:
(getenv "HOME") => "/Users/aghuloum"
(getenv "FOO") => ""
2007-11-19 12:57:50 -05:00
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