Abdulaziz Ghuloum
f759815a8c
- Ikarus now recognizes IKARUS_FASL_DIRECTORY (and the corresponding
...
fasl-directory parameter) that works as follows:
- if IKARUS_FASL_DIRECTORY is set to "", no fasl files are produced.
- if IKARUS_FASL_DIRECTORY is set to something other than "", the
string is used as a directory in which fasl files are placed.
- if IKARUS_FASL_DIRECTORY is unset, the directory
$HOME/.ikarus/precompiled is used for fasl output.
- library file names are cannonicalized using file-real-path.
- the fasl file (if produced) is the result of
(string-append (fasl-directory) (file-real-path filename) ext)
where ext is either ".ikarus-32bit-fasl" or ".ikarus-64bit-fasl".
- The old behavior (placing the fasl files in the same place as the
library files) can be achieved by setting IKARUS_FASL_DIRECTORY='/'.
2009-05-26 13:39:32 +03:00
Abdulaziz Ghuloum
a050e28633
new boot files
2009-05-26 13:00:03 +03:00
Abdulaziz Ghuloum
1d9a26cefd
- changed fasl extension to be ".ikarus-32bit-fasl"/".ikarus-64bit-fasl"
...
(depending on the target processor) instead of just ".ikarus-fasl".
2009-05-26 12:04:55 +03:00
Abdulaziz Ghuloum
5e5cbfe18b
- Added make-directory* (like make-directory, but builds the whole
...
directory structure recursively)
- Added split-file-name (takes a string, returns two values: the
substring before the final "/" and the string after it).
- Fixed a minor bug in file-directory?, file-exists?, etc. that were
failing on OS X if part of the path given was not a directory.
E.g., if /tmp/foo is a regular file, (file-directory? "/tmp/foo/bar")
was raising an exception instead of returning #f.
2009-05-26 01:14:11 +03:00
Abdulaziz Ghuloum
9cb0945f1f
- Added file-real-path which is identical to realpath(3).
2009-05-25 22:19:43 +03:00
Abdulaziz Ghuloum
27112fec4e
fixed bug that produced an incorrect assertion violation for
...
(put-bytevector! port bv i j) where i = (bytevector-length bv).
Thanks to Andreas Rottmann.
2009-05-24 12:49:53 +03:00
Abdulaziz Ghuloum
ec76547da0
- procedures made with defun-style definitions now have proper
...
source annotation (pointing to the identifier that's the name of
the procedure, instead of the define keyword itself).
2009-05-24 12:34:39 +03:00
Abdulaziz Ghuloum
f3b071548d
- improved debugger speed when debug-calling a primitive operation.
...
Ack now runs only 80 times slower in debug mode (down from 360
times), and bootstrapping is now done in 170 seconds instead of
500 (nondebug time is still less than 8 seconds).
2009-05-24 11:59:18 +03:00
Abdulaziz Ghuloum
ae136274ed
- the source-level optimizer now optimizes (inlining,
...
constant-folding, etc.) across debug-calls.
2009-05-21 18:43:28 +03:00
Abdulaziz Ghuloum
b35f5a9e1d
- trace-lambda and debug-call now interact properly and do not lose
...
tail calls.
2009-05-21 11:47:24 +03:00
Abdulaziz Ghuloum
8ef5eaeca2
- better error message for using make-c-callout and make-c-callback
...
when ffi support is not enabled.
2009-05-20 09:58:03 +03:00
Abdulaziz Ghuloum
beb3845e9d
- modified the ikarus debugger to use the same continuation frame
...
structure as the one the tracer uses.
2009-05-19 19:46:23 +03:00
Abdulaziz Ghuloum
1781866f1c
- small change to how the tracer works internally and how it keeps
...
track of continuation frames and trace depths.
2009-05-19 13:16:59 +03:00
Abdulaziz Ghuloum
a489f169ee
- added trace-let
2009-05-18 11:14:17 +03:00
Abdulaziz Ghuloum
ff25a484fb
- Added -d (--debug) flag that enables debugging at the repl, r6rs
...
scripts, and compiling dependencies. This is the first stab at
the debugger. It's SLOW!
2009-05-18 02:08:02 +03:00
Abdulaziz Ghuloum
dbf0b07f13
- added lab/ikarus.debugger.ss which is more usable (faster) than
...
the interpreter and is closer to how the compiler would handle
debugging calls.
2009-05-17 12:50:16 +03:00
Abdulaziz Ghuloum
2929379460
- debugging in interpreter is changed to use continuation frames
...
dynamically instead of performing context-sensitive transformation
to determine tail/nontail calls.
- interpreter now has options to reraise, continue, or quit.
2009-05-17 06:51:09 +03:00
Abdulaziz Ghuloum
391e2fa87b
- ikarus interpreter improvements:
...
- shows prettier traces (frame and reduction numbers, chopped
strings, etc)
- can be resumed after being suspended with ^C
2009-05-16 09:57:37 +03:00
Abdulaziz Ghuloum
fda2817a73
- ikarus interpreter (in lab directory) is now capable of
...
bootstrapping ikarus
2009-05-14 10:18:45 +03:00
Abdulaziz Ghuloum
3207e14fca
- psyntax now produces
...
`(annotated-call ,annotation ,rator ,rands ...)
form for cases when there is an annotation attached to the procedure
call. The compiler just stripps it out and makes no use of it.
2009-05-14 09:52:05 +03:00
Abdulaziz Ghuloum
39c8e8e23f
removed source annotation from primitive procedures (which were not
...
supposed to be there in the first place)
2009-05-14 09:09:58 +03:00
Abdulaziz Ghuloum
370454e4fc
- fixed a small bug in the compile. [use of struct-ref with an
...
index out of range, generated by improper use of struct-match]
2009-05-14 08:59:41 +03:00
Abdulaziz Ghuloum
1a738c2a8d
- Added skeleton of an interpreter that accepts the same language as
...
the compiler (i.e., the one produced by psyntax).
2009-05-11 02:21:19 +03:00
Abdulaziz Ghuloum
7002046c8e
- added a way of making annotated procedures without invoking the
...
compiler. (useful for a future project)
- refershed all boot files (because of added primitives)
- regenerated some autoconf files (to use newer version)
2009-05-11 01:35:38 +03:00
Abdulaziz Ghuloum
7e965758cf
Added memcpy (courtesy of Andreas Rottmann).
...
The `memcpy' procedure allows to copy memory from bytevectors to
unmanaged (malloc'ed) memory and vice-versa.
2009-04-30 12:35:49 +03:00
Abdulaziz Ghuloum
2f4a2f3895
The code for converting signed long long numbers to scheme bignums
...
was broken (on 32-bits, the 64-bit value was put in a bignum of 1
limb instead of 2). Thanks to Andreas Rottmann for reporting it.
2009-04-30 12:25:17 +03:00
Abdulaziz Ghuloum
a7f544a4b8
Added a test (thanks to Michele Simionato) that exhibits the
...
previous bug.
2009-04-27 10:15:35 +03:00
Abdulaziz Ghuloum
5b2fca49e6
fixed bug in expansion of expressions in interaction environment
...
where id->label was prematurely interning identifiers in the
environment. Now, there is id->label/intern that does that and it's
only used when an identifier's type is resolved and not at other
times (like in free-id=? and bount-id=?).
2009-04-27 09:59:23 +03:00
Abdulaziz Ghuloum
2924c91788
fixed bug in ypsilon-compat where char** pointers were not
...
initialized properly in 64-bit. Thanks to Tristan Ravitch.
2009-04-13 16:43:20 +03:00
Abdulaziz Ghuloum
810fe75fa1
- hashtable-hash-function used to return an incorrect hash function
...
that the one supplied to make-hashtable; fixed.
- div and mod raise an error, rather than an assertion when given
zero second argument; fixed.
2009-04-11 21:39:53 +03:00
Abdulaziz Ghuloum
6bab4af5b4
Added [un]signed-long-long types as valid parameter types to
...
callouts and callbacks (in both 32 and 64 bit modes). (UNTESTED)
2009-04-11 02:16:00 +03:00
Abdulaziz Ghuloum
a44a00b405
Applied patch that fixes bug: dirent->d_namlen not available on
...
linux. Thanks Derick Eddington.
2009-04-09 23:55:44 +03:00
Abdulaziz Ghuloum
d63a9c1f51
Added open-directory-steam, directory-stream?, read-directory-stream,
...
and close-directory-stream as per bug 315804.
2009-04-09 12:29:50 +03:00
Abdulaziz Ghuloum
72b86818f0
= now handles complex numbers properly.
2009-04-07 12:05:03 +03:00
Abdulaziz Ghuloum
ffb5a815f8
fixed copyright year in banner.
2009-04-07 02:36:53 +03:00
Abdulaziz Ghuloum
bcff57fa52
fixed a bug in internal definitions of with-syntax (again).
2009-04-07 02:33:09 +03:00
Abdulaziz Ghuloum
56ec093e05
make distcheck now works. Many thanks to Andreas Rottmann (rotty)
...
for the patches.
2009-04-07 02:15:32 +03:00
Abdulaziz Ghuloum
3aad0fbe0b
inexact->exact and exact now hangle compnums and cflonums properly.
2009-04-06 17:41:28 +03:00
Abdulaziz Ghuloum
65dc2bc40d
trace-define now does not raise an error when given a non-procedure
2009-04-06 17:21:56 +03:00
Abdulaziz Ghuloum
7d6316f723
fixed error in division in (/ 0 <bignum>)
2009-04-06 17:14:57 +03:00
Abdulaziz Ghuloum
4ca8b1add2
fixed bugs in format when given inexact and complex arguments to ~d,
...
~b, ~x, and ~o.
2009-04-06 16:52:11 +03:00
Abdulaziz Ghuloum
0c96321f20
fixed definitions of last clauses in cond and case macros.
2009-04-06 16:36:07 +03:00
Abdulaziz Ghuloum
af46220d64
fixed definition of with-syntax to allow internal definitions.
2009-04-06 16:30:23 +03:00
Abdulaziz Ghuloum
5e1066170e
changed definition of ref in order to work around a bug in gcc-4.2.2
...
at -O3 that was computing incorrect addresses for ref(x, -n).
2009-04-06 16:24:12 +03:00
Abdulaziz Ghuloum
230b5186d6
fixed a bug in converting out parameters in the ypsilon-compat
...
layer. Thanks to Ed Cavazos for the patch.
2009-04-06 10:14:33 +03:00
Abdulaziz Ghuloum
b97cbf1688
Fixed environ. The procedure environ takes no arguments and returns
...
an association list where both keys and values and strings found in
the posix environment.
2009-04-06 09:59:07 +03:00
Abdulaziz Ghuloum
1d25a3db07
fixed rounding error for flonums (now rounding to even as required).
2009-02-06 23:46:12 +03:00
Abdulaziz Ghuloum
a59aede042
removed streams and pregexp libraries from lib directory
2009-01-09 11:46:52 +03:00
Abdulaziz Ghuloum
0ec9c9536e
added missing copyrights from scheme files.
2009-01-09 11:40:55 +03:00
Abdulaziz Ghuloum
f6333ff13b
- added (ikarus ipc) library
...
- added copyright notices for (ikarus foreign) and (ikarus ipc).
2009-01-09 10:53:39 +03:00
Abdulaziz Ghuloum
a28e67c7c2
- completed section on IPC.
...
- changed the order of returned values for tcp-connect[-nonblocking]
and accept-connection[-nonblocking] so that you get an input and
output ports in that order (making it a little easier to rememeber).
2009-01-09 10:45:27 +03:00
Abdulaziz Ghuloum
735803a312
fixed a bug in parsing UnicodeData.txt (not accounting for <First>
...
and <Last> special tokens.
2009-01-05 06:21:02 +03:00
Abdulaziz Ghuloum
2adc9cb85d
Applied patch for "make-hard-link". Thanks to Andreas Rottmann.
2009-01-03 20:36:53 -05:00
Abdulaziz Ghuloum
71c707df50
missing library file errors now print import trace.
2009-01-03 20:23:33 -05:00
Abdulaziz Ghuloum
1ebd4f4d9a
fixed minor bug in "->inexact" helper.
2009-01-03 20:03:04 -05:00
Abdulaziz Ghuloum
6dca996f3a
fixed bug in fasl-reading unicode chars in 64-bit mode.
2009-01-03 19:57:19 -05:00
Abdulaziz Ghuloum
f5f6af8bd7
fixed compile error for (vector-set! (vector 0) 0.0 'foo).
2009-01-03 19:48:23 -05:00
Abdulaziz Ghuloum
5946459630
fixed bug in guard (now allowing definitions and expressions in <body>)
2009-01-02 17:55:01 -05:00
Abdulaziz Ghuloum
2658e6395d
made apropos symbols come out in order (as in symbol<? order)
2008-12-27 13:48:49 -05:00
Abdulaziz Ghuloum
264156f305
added an apropos command
2008-12-27 13:13:45 -05:00
Abdulaziz Ghuloum
ce4dc64e0d
made public source-position conditions and load-r6rs-script.
2008-12-27 00:36:13 -05:00
Abdulaziz Ghuloum
930c713b76
added missing assertion check for (fxdiv (least-fixnum) -1)
...
and (fxdiv-and-mod (least-fixnum) -1).
2008-12-25 21:00:14 -05:00
Abdulaziz Ghuloum
2be7d93637
- Added (syntax-transpose syntax-object base-id new-id-object).
...
It returns syntax-object wrapped with the marks and substitutions
that have been added to new-id since its introduction as base-id.
The new-id and base-id should be free-identifier=? and new-id
should have the same (or more) marks as base-id.
2008-12-25 16:33:50 -05:00
Abdulaziz Ghuloum
788762da44
eq- and eqv-hashtables are now fasl-writable.
2008-12-23 21:40:09 -05:00
Abdulaziz Ghuloum
4918b0e965
added setenv and unsetenv to (ikarus).
2008-12-23 20:58:46 -05:00
Abdulaziz Ghuloum
05180035f2
fixed &who for the error condition when uint-list->bytevector is
...
given a nonpositive size.
2008-12-23 20:44:47 -05:00
Abdulaziz Ghuloum
82b7edcf14
fixed fprintf line in scheme-script.c
2008-12-23 20:41:12 -05:00
Abdulaziz Ghuloum
0bd854dedf
fixed bug where put-bytevector was advancing the port index twice as
...
far as needed.
2008-12-17 15:42:28 -05:00
Abdulaziz Ghuloum
c2047badb9
- fixed problem where interned symbols were being gc-ed incorrectly
2008-12-17 14:59:03 -05:00
Abdulaziz Ghuloum
e8d727c8a5
added printing of progress for guardians test (which takes along time)
2008-12-13 07:33:25 -05:00
Abdulaziz Ghuloum
3ad5c2fc80
fixed the &who in error of [us]int-list->bytevector.
2008-12-13 07:02:17 -05:00
Abdulaziz Ghuloum
818d15a080
fixed a bug in ffi callouts when the type is [un]signed-long on 32-bit.
2008-12-13 06:34:01 -05:00
Abdulaziz Ghuloum
f8efdfc848
fixed buffer overrun problem when printing a char to an unbuffered
...
port is interrupted.
2008-12-12 16:03:10 -05:00
Abdulaziz Ghuloum
026fd6f446
added tests to ensure that symbols are gcable.
2008-12-10 03:18:33 -05:00
Abdulaziz Ghuloum
279618fde2
added simple regression test for guardians.
2008-12-10 03:03:49 -05:00
Abdulaziz Ghuloum
e315324cbf
added set-port-position! for string and bytevector input ports.
2008-12-09 05:27:50 -05:00
Abdulaziz Ghuloum
eec9567014
- added "output-port-buffer-mode" which returns "none" or "block".
...
(there is no line buffering yet)
- updated error message when using unimplemented features.
2008-12-09 04:46:43 -05:00
Abdulaziz Ghuloum
b31454d592
added more tests for set/get position
2008-12-09 03:47:08 -05:00
Abdulaziz Ghuloum
d6a950ae23
added set-port-position! for binary input files.
2008-12-09 03:41:59 -05:00
Abdulaziz Ghuloum
aba76624b2
added set-port-position! for binary output files.
2008-12-09 03:00:44 -05:00
Abdulaziz Ghuloum
4861daf6fc
fixed bug in port-position returning 0 for
...
(port-position
(let ([p (open-string-input-port "Hello")]) (read p) p))
2008-12-09 02:06:46 -05:00
Abdulaziz Ghuloum
8a277aa95a
fixed parsing of complex numbers in the form <float>+/-<cmpn>i
...
where the <float> is in scientific notation.
2008-12-08 06:41:39 -05:00
Abdulaziz Ghuloum
a2e78a87d1
fixed error message when typing #toops
2008-12-08 06:28:41 -05:00
Abdulaziz Ghuloum
5f1a3ab765
supressed warning about "round undefined" in src/ikarus-flonums.c.
2008-12-08 03:01:18 -05:00
Abdulaziz Ghuloum
6041597a27
CTRL-C while in the repl now throws back into the repl no matter
...
where an exception occurs.
2008-12-08 02:13:40 -05:00
Abdulaziz Ghuloum
75d2756bd2
fixed serious GC bug that's exhibited when guardians have protected
...
objects that survive 256 collections.
2008-12-08 01:43:23 -05:00
Abdulaziz Ghuloum
1931c37f36
removed definition of inthash from ikarus-data.h. (not used anywhere)
2008-12-07 21:22:28 -05:00
Abdulaziz Ghuloum
7e5b31e98c
- bootstrapping fails if IKARUS_LIBRARY_PATH is not set due to
...
change in behavior of getenv (returning #f if unset). Fixed.
2008-12-07 19:03:07 -05:00
Abdulaziz Ghuloum
f7d1d6b6a3
unused (garbage) symbols can be reclaimed now
2008-12-06 12:40:18 -05:00
Abdulaziz Ghuloum
b037b1b671
getenv now returns #f for unset environment variables.
2008-12-05 02:19:26 -05:00
Abdulaziz Ghuloum
73f045a6c3
Added export for pointer-set-c-long-long! from (ikarus foreign)
2008-12-05 02:09:50 -05:00
Abdulaziz Ghuloum
ca6b181fa1
added pointer-value as a first-class primitive.
2008-12-05 01:48:49 -05:00
Abdulaziz Ghuloum
c15f3d5e0d
repl printing is now interruptable without exiting ikarus
2008-12-03 00:52:38 -05:00
Abdulaziz Ghuloum
d35f039ca1
ikrt_last_errno moved to ikarus-runtime where it belongs
2008-11-26 05:03:16 -05:00
Abdulaziz Ghuloum
d88babf935
fixed bug in fasl-reading #0=((x . #0#) (y . z))
2008-11-26 01:40:01 -05:00
Abdulaziz Ghuloum
3049d3d22e
Added errno.
2008-11-25 22:52:26 -05:00
Abdulaziz Ghuloum
55974d44fa
fixed a bug in the definition of andmap in match, and made it export
...
match+ and trace-match+.
2008-11-25 04:21:51 -05:00
Abdulaziz Ghuloum
5ba29fe3aa
- added missing import into (ikarus foreign)
...
- fixed compiler bug in compiler (impose-evaluation-order was not
stripping all annotations).
2008-11-23 15:26:12 -05:00
Abdulaziz Ghuloum
6922b0d9c2
added pointer-ref-{unsigned-,}long-long
2008-11-21 05:56:51 -05:00
Abdulaziz Ghuloum
f216ed5893
- fixed a few typos, disabled debugging in assembler-output, fixed
...
condition printing
2008-11-21 05:19:01 -05:00