Abdulaziz Ghuloum
1a7a4e1c2a
fixed bug in environ that causes substring to fail when one of the items is "foo=".
2007-01-13 13:02:03 -05:00
Abdulaziz Ghuloum
212224b4cf
* Added the primitive (environ):
...
returns an alist of (string x string) as obtained from the
system environ.
* Added the primitive env:
(env "key") retrieves the env value associated with key
(env "key" "val") sets the env value assocuated with key to val
(env "key" "val" overwrite?) same as above but it does not
overwrite an existing value of overwrite? is #f.
2007-01-13 00:42:37 -05:00
Abdulaziz Ghuloum
6359ca9ee4
Fixed copyright notice to be 2006-2007 instead of 2006.
2007-01-11 19:22:32 -05:00
Abdulaziz Ghuloum
09d9687fdd
* Cogen no longer generates (int x) where x is a fixnum.
2007-01-09 09:44:00 +03:00
Abdulaziz Ghuloum
ffc5ef557c
(int x) is no longer emitted by the cogen.
...
assembler handles (int x) and fixnums similarly.
2007-01-09 09:24:07 +03:00
Abdulaziz Ghuloum
63575db860
* makefile.ss is updated to use fork and waitpid in order to make
...
use of the dual-core capability of my macbook :-)
Compile-time is now 1.5secs real-time.
2007-01-01 02:48:17 +03:00
Abdulaziz Ghuloum
a5618ef877
* Fork, posix-fork, and waitpid are implemented.
2007-01-01 02:02:41 +03:00
Abdulaziz Ghuloum
eb24d17049
Fixed bug that caused mvcalls to lose their live masks.
2007-01-01 01:46:47 +03:00
Abdulaziz Ghuloum
a8e1b860bb
Live-masks are busted again.
...
Some closures that are live are not traced by the GC.
2006-12-30 22:52:37 +03:00
Abdulaziz Ghuloum
b10d954548
updated TODO
2006-12-29 13:47:24 +03:00
Abdulaziz Ghuloum
2ea03e0417
* Fixed bug in collecting bignums.
...
* time-it now displays the number of collections and bytes
allocated.
2006-12-29 13:45:30 +03:00
Abdulaziz Ghuloum
b507118f5d
Added libtimers.ss:
...
(time-it proc) runs proc and reports the time.
(time-it proc message) runs proc and reports the time, with message.
(time <expr>) evaluates expr and prints the running time.
2006-12-29 10:53:47 +03:00
Abdulaziz Ghuloum
d38880b777
Fixed bug in libfasl that caused reading a thunk to return the code
...
instead.
2006-12-26 12:03:43 +03:00
Abdulaziz Ghuloum
0b38b1ff30
ikarus-fasl.c plays along with the rtd-symbol game by setting and
...
referencing rtd symbols.
2006-12-26 11:46:23 +03:00
Abdulaziz Ghuloum
81b2f217a3
* reader can now read fasl objects.
2006-12-26 11:39:14 +03:00
Abdulaziz Ghuloum
f5f91712dd
* Fasl file reader almost complete with full record and code reader.
2006-12-26 11:25:48 +03:00
Abdulaziz Ghuloum
9c00592520
fasl-read handles negative fixnums.
2006-12-26 09:22:58 +03:00
Abdulaziz Ghuloum
3ddceaa164
fasl-read now handled pairs, positive-fixnums and the empty list.
2006-12-26 06:32:59 +03:00
Abdulaziz Ghuloum
d41a2c0096
fasl-write now returns void instead of the meaningless number it used to return
2006-12-26 06:25:35 +03:00
Abdulaziz Ghuloum
4fa2bdf0d9
tokenize recognizes #@ as a fasl header and calls $fasl-read (in
...
libfasl.ss).
2006-12-26 06:21:07 +03:00
Abdulaziz Ghuloum
903023592d
Updated todo.
2006-12-26 06:05:54 +03:00
Abdulaziz Ghuloum
cfe69af8f8
BUGS file added to keep track of some pending bugs.
2006-12-25 11:38:18 +03:00
Abdulaziz Ghuloum
f25cc3cb67
Pretty-printed gensyms:
...
* print-gensym now accepts the symbol "pretty" as a valid
argument.
* The writer prints #:pretty-name if the print-gensym value
is |pretty|.
* The reader accepts #:id as a valid syntax. The result is
a fresh gensym with id as a pretty-name.
2006-12-25 11:33:03 +03:00
Abdulaziz Ghuloum
e7d0a0a1cc
Tokenize now recognizes gensym syntax:
...
#{id0} => a fresh gensym with pretty-string id0
#{id0 id1} => an interned gensym with pretty-string id0
and unique-string id1.
id0 and id1 can have any identifier syntax including bar-quoted ids.
any number of whitespaces can be placed around id0 and id1.
2006-12-25 11:18:37 +03:00
Abdulaziz Ghuloum
158980aeea
The fasl-loader interns gensyms by default now.
2006-12-25 10:35:18 +03:00
Abdulaziz Ghuloum
b9a369197a
gensym->unique-string now interns gensyms in the gensym table.
2006-12-25 10:25:40 +03:00
Abdulaziz Ghuloum
b3a6744691
renamed oblist to symbol_table in pcb
2006-12-25 09:28:53 +03:00
Abdulaziz Ghuloum
711cabe8bb
removed all references to oblist from ss files
2006-12-25 09:20:09 +03:00
Abdulaziz Ghuloum
72653c5ef1
updated todo
2006-12-25 09:17:08 +03:00
Abdulaziz Ghuloum
4f5490039b
* (interrupt-handler) is added to handle INT signals.
...
* Cafes now customize the interrupt-handler to suppress the error
message during read that the default interrupt handler generates.
2006-12-24 12:53:01 +03:00
Abdulaziz Ghuloum
da9518cc49
added comment to libguardians about where the code came from.
2006-12-24 12:20:16 +03:00
Abdulaziz Ghuloum
06158d90e0
deleted Makefile
2006-12-24 12:09:21 +03:00
Abdulaziz Ghuloum
0a01d8b4b8
makefile.ss and ikarusdoc now use "/usr/bin/env ikarus" in the shebang
...
line.
2006-12-24 12:08:18 +03:00
Abdulaziz Ghuloum
1e572559b7
collect is added to the set of public primitives
2006-12-24 11:50:19 +03:00
Abdulaziz Ghuloum
f729a725d2
libinterpret is gone.
2006-12-24 11:27:53 +03:00
Abdulaziz Ghuloum
599f68aa84
* Ikarus now handles interrupts (e.g. ^C) by signalling an error
...
when an interrupt occurs.
2006-12-24 11:24:53 +03:00
Abdulaziz Ghuloum
7fed78fa9d
An alt-stack and interrupt-handler are added to ikarus-main.c. When
...
an interrupt occurs, the engine_ticks is set to 1 and the
interrupted field is set to 1 in the pcb.
2006-12-24 09:43:20 +03:00
Abdulaziz Ghuloum
fc609b4916
* lab/interupts program is added to experiment with sigaction and
...
sigaltstack.
added:
lab/interrupts/
lab/interrupts/Makefile
lab/interrupts/inf_loop.s
lab/interrupts/main
lab/interrupts/main.c
2006-12-24 09:25:01 +03:00
Abdulaziz Ghuloum
e69f0a5c80
* Assembler-output suppresses printing the closure-size; it prints
...
a newline instead.
2006-12-23 05:17:57 +03:00
Abdulaziz Ghuloum
b06b28f562
* Print-gensym is now set to off during assembler-output.
2006-12-21 18:11:43 +03:00
Abdulaziz Ghuloum
a41457ae66
* Heap and stack overflows now use interrupt-calls in order to push
...
the calls to the handlers outside of the main-line code.
2006-12-21 18:01:46 +03:00
Abdulaziz Ghuloum
0af5f6cc2a
* Engine handler is functional.
2006-12-21 17:49:30 +03:00
Abdulaziz Ghuloum
3aa22ea200
* Added 'add imm, mem' instruction format.
2006-12-21 17:16:33 +03:00
Abdulaziz Ghuloum
efae97a6e0
Actually, the profiling times show that memory-based tests can be
...
performed at around 3 secs per 1 billion checks (about 6 times
slower than register-based counters).
2006-12-21 16:32:45 +03:00
Abdulaziz Ghuloum
67a850e712
Profiling timing shows that we can do interrupt checks with cost:
...
* about 2.0 secs per 1 billion checks if the counter is kept in memory
* about 0.5 secs per 1 billion checks if the counter is kept in register.
2006-12-21 16:22:07 +03:00
Abdulaziz Ghuloum
5615b03879
* Input/output ports are closed when the last reference to them is
...
dropped. Dropped files are closed before new files are opened.
2006-12-21 11:14:12 +03:00
Abdulaziz Ghuloum
2fcae826d1
* with-input-from-file, call-with-input-file, with-output-to-file,
...
and call-with-output-file no longer use dynamic-wind to track if
an exit continuation is invoked multiple times.
2006-12-21 10:56:07 +03:00
Abdulaziz Ghuloum
f7aa4c99e1
added libguardians.ss
2006-12-19 20:15:36 +03:00
Abdulaziz Ghuloum
5ccca042a6
* Implementation of Guardian is complete.
...
* Implementation not fully tested. May have corner cases.
2006-12-19 20:14:31 +03:00
Abdulaziz Ghuloum
8dac92a512
added guardians primitives, not tested
2006-12-19 19:41:13 +03:00