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
Abdulaziz Ghuloum
020807ac06
- pretty-printing hash tables revealed internal structures, fixed.
2008-11-16 20:01:24 -05:00
Abdulaziz Ghuloum
c5a2026472
fixed a few compile-time warnings.
2008-11-16 04:43:30 -05:00
Abdulaziz Ghuloum
abeaa5d561
fixed simple typo in ikarus-io.c
2008-11-16 04:37:17 -05:00
Abdulaziz Ghuloum
e3a7a875a4
fixed build error under linux.
2008-11-16 04:22:23 -05:00
Abdulaziz Ghuloum
fda6a1a2a6
- fixed printer of syntax annotations which was printing
...
source info as #<syntax --- (char --- of ---)> instead
of #<syntax --- [char --- of ---]>.
2008-11-15 13:26:23 -05:00
Abdulaziz Ghuloum
ab6f0567a1
removed some bindings from some base libraries which should not have
...
exported them.
2008-11-15 11:31:10 -05:00
Abdulaziz Ghuloum
72113727db
- current-*-port procedures are now parameters (breaking R6RS
...
conformance for the sake of better functionality)
2008-11-15 11:21:00 -05:00
Abdulaziz Ghuloum
eb97ae0569
all string comparison functions were broken for 1 and 3+ args.
...
fixed.
2008-11-15 10:59:01 -05:00
Abdulaziz Ghuloum
fc80aaae37
- added the ability to inject arbitrary compile time values using:
...
(define-syntax foo (make-compile-time-value <expr>))
The value can be retrieved using curried macro transformers.
E.g.,
(let-syntax ([idval
(lambda (x)
(syntax-case x ()
[(_ id)
(lambda (rho)
(with-syntax ([val (datum->syntax #'here (rho #'id))])
#''val))]))])
(let-syntax ([ctval (make-compile-time-value 'foo)])
(list (idval ctval) (idval others))))
;=> (foo #f)
2008-11-14 04:32:08 -05:00
Abdulaziz Ghuloum
4fc46365e5
- reading #vu8(-1) now reports proper lexical source position.
2008-11-14 03:12:18 -05:00
Abdulaziz Ghuloum
5c3168d502
- fixed a bug in bytevector-ieee-double-ref which only showed up
...
under the followingconditions:
- ikarus is compiled as 64-bit
- index is a multiple of 8
- endianness is big.
2008-11-14 02:35:56 -05:00
Abdulaziz Ghuloum
c027b1da34
- added bytevector clauses to new equal? code.
2008-11-14 02:15:12 -05:00
Abdulaziz Ghuloum
d45fedb7c7
- unique name of uninterned gensyms is removed, allowing them to
...
get new unique names if needed (instead of having multiple gensyms
with the same name some of which are not eq?).
2008-11-12 18:29:59 -05:00
Abdulaziz Ghuloum
9fcf66ea7f
- uninstalling precompiled libraries now works properly.
2008-11-12 18:15:42 -05:00
Abdulaziz Ghuloum
dc8d4b33ad
- implemented $unintern-gensym
2008-11-12 18:03:14 -05:00
Abdulaziz Ghuloum
ac8cb7d247
- port-has-port-position? and port-position are now honest wrt
...
the supplied arguments for custom port constructors.
2008-11-11 16:31:35 -05:00
Abdulaziz Ghuloum
c7d68432e3
- implemented uninstall-library.
2008-11-11 14:47:35 -05:00
Abdulaziz Ghuloum
5d3e70fa83
- removed note about "equal? not terminating" in documentation.
2008-11-11 00:59:31 -05:00
Abdulaziz Ghuloum
766eb7f539
- fixed equal? to terminate on all inputs as mandated by R6RS.
...
(thanks to Michael Adams and Kent Dybvig for making the code
available in its entirety in their ICFP 2008 paper)
2008-11-11 00:39:02 -05:00
Abdulaziz Ghuloum
25f40fefb0
Added the following file system primitives
...
- file-readable? path -> boolean
- file-writable? path -> boolean
- file-executable? path -> boolean
- file-size path -> integer
- rename-file source dest -> void
(thanks to Andreas Rottmann)
2008-11-10 23:36:11 -05:00
Abdulaziz Ghuloum
2903b7f9e0
fixed printing of #<output-port ---> (were written as #<input-port --->).
2008-11-09 23:12:51 -05:00
Abdulaziz Ghuloum
122f4f1663
- added configure option for supporting large files.
2008-11-09 22:24:04 -05:00
Abdulaziz Ghuloum
bdda213120
fixed lookahead-char so that it doesn't advance the port position on
...
decoding errors.
2008-11-07 22:09:02 -05:00
Abdulaziz Ghuloum
a9da844a46
- fixed minor bug when reading an identifier from a port with an
...
invalid unicode decoding sequence.
2008-11-07 21:53:55 -05:00
Abdulaziz Ghuloum
9c60997b02
- invoking ikarus in r6rs mode now takes optional library files
...
arguments as in
$ ikarus <library-file> ... --r6rs-script <script-file> args ...
2008-11-01 16:19:35 -04:00
Abdulaziz Ghuloum
ae9d095527
- fixed bug in printing "-0.0i" on some archs (cygwin, solaris,
...
etc.)
- fixed bug reading non-ascii strings in 64-bit mode.
2008-11-01 15:13:27 -04:00
Abdulaziz Ghuloum
069bd683cd
- added file-mtime
...
- Ikarus fasl files and source files are not compared using
(< (file-mtime ikfasl) (file-mtime filename))
instead of
(<= (file-ctime ikfasl) (file-ctime filename))
2008-11-01 07:28:08 -04:00
Abdulaziz Ghuloum
74a1d302ec
- added better hashing function for flonums and bignums.
2008-10-31 23:53:15 -04:00
Abdulaziz Ghuloum
671eba4990
added make-eqv-hashtable
2008-10-31 23:09:03 -04:00
Abdulaziz Ghuloum
8afcbbef67
- fixed function cast in ikarus-ffi.
...
- added "make check" rule in the scheme directory.
2008-10-31 16:55:43 -04:00
Abdulaziz Ghuloum
359aa1d2c9
- fixed errors where multiple internal definitions were silently
...
allowed if typed in the repl.
- added some tests for the interaction environment.
2008-10-31 16:22:25 -04:00
Abdulaziz Ghuloum
db2604ad2a
open-file-input-port and open-file-output-port now signal an error
...
when file-options are not enum-sets.
2008-10-29 14:10:24 -04:00
Abdulaziz Ghuloum
d2022faf53
fixed a few gcc warnings as reported in bug 288824.
2008-10-29 13:54:06 -04:00
Abdulaziz Ghuloum
15e8775c67
- reduced latency of construction of unicode composition tables.
2008-10-29 02:11:53 -04:00
Abdulaziz Ghuloum
7fa2aa75ab
fixed gensym read syntax problem.
2008-10-26 12:35:07 -04:00
Abdulaziz Ghuloum
5ed3f80901
- fixed problem with importing (main) when (main main) is available.
...
- fixed decoding of library names containing funny characters.
2008-10-23 13:26:07 -04:00
Abdulaziz Ghuloum
32a260ebb0
added doc/ikarus-scheme-users-guide.pdf which I've deleted by
...
mistake.
2008-10-23 08:45:44 -04:00
Abdulaziz Ghuloum
d3fb9eeb96
Added an "_" to the file name obtained from library-name->file-name
...
if the last symbol of the library name matches the regex "^main_*$".
2008-10-23 00:40:50 -04:00
Abdulaziz Ghuloum
c19b79927e
- Changed set of library extensions to be:
...
("/main.ikarus.sls" "/main.ikarus.ss" "/main.ikarus.scm"
"/main.sls" "/main.ss" "/main.scm" ".ikarus.sls"
".ikarus.ss" ".ikarus.scm" ".sls" ".ss" ".scm")
and updated documentation accordingly.
2008-10-22 21:15:12 -04:00
Abdulaziz Ghuloum
cc686d8e8f
utf16-coded output port do not produce a BOM now.
2008-10-21 23:00:10 -04:00
Abdulaziz Ghuloum
f1013454db
fixed wrong endianness in bytevector-[su]32-native-ref.
2008-10-21 06:03:31 -04:00
Abdulaziz Ghuloum
8d460a32af
added make-hashtable.
2008-10-21 05:52:42 -04:00
Abdulaziz Ghuloum
c0978044a5
fixed a big in string->utf16 and string->utf32 that I introduced in
...
the last commit.
2008-10-19 23:10:34 -04:00
Abdulaziz Ghuloum
0da61d51cb
- input ports can now handle utf-16 codecs.
2008-10-19 18:43:42 -04:00
Abdulaziz Ghuloum
8cd9d6ef16
- supplying <init-files> for --r6rs-script or --script now raises an
...
error (as suggested by Derick Eddington).
- The -h or [-b <bootfile>] options must now come first, so,
the rest of the command-line arguments are not scanned: only the
first one or two. The docs (in ikarus -h) already suggested the
correct invocation arguments, so, this conforms to the previously
documented behavior.
2008-10-18 17:49:20 -04:00
Abdulaziz Ghuloum
c464e8ebce
- open-file-output-port now understands "none" as a buffer-mode.
...
Previously, all output ports were unbuffered.
- the console error port is made unbuffered.
The following program:
(begin
(write-char #\a (current-output-port))
(write-char #\b (current-error-port))
(write-char #\c (current-output-port)))
now prints "bac" when run from the repl, when it used to only
print "ac" (the b just sat in the error port).
2008-10-18 17:01:57 -04:00
Abdulaziz Ghuloum
8844e118b8
- flushing of output ports now happens as soon as the port is full
...
rather than at subsequent write operations.
2008-10-18 15:42:11 -04:00
Abdulaziz Ghuloum
7b32940d04
- fixed a silly bug in (/ <bignum> x/y) which evaluated to
...
(/ (* <bignum> x) y) instead of (/ (* <bignum> y) x).
2008-10-18 13:34:18 -04:00
Abdulaziz Ghuloum
69d573a54f
fixed bugs in char-ci-*? procedures in the 3+ args case. E.g.,
...
(char-ci<=? #\a #\r #\z)
2008-10-18 13:19:01 -04:00
Abdulaziz Ghuloum
bbafcc08d2
fixed bug in (eqv? 0.0 -0.0) returning #t.
2008-10-18 13:08:14 -04:00
Abdulaziz Ghuloum
06e9d149c9
- fixed bug in tag annotation for primitives that are applied an
...
incorrect number of arguments.
2008-10-17 21:37:05 -04:00
Abdulaziz Ghuloum
0d91ab9774
- pretty-printing record type now work properly and share/graph
...
marks are propagated between record fields and surrounding
context.
2008-10-16 02:43:03 -04:00
Abdulaziz Ghuloum
f570ea8c2a
- interface between write/display and custom struct writers is
...
changed in order to allow large structures (e.g., libraries,
syntax objects, etc.) to print efficiently. This is done by only
traversing the parts of the structure that will actually be
printed, rather than traversing the whole data structure (which is
what write/display used to do). Pretty-print should be fixed in a
similar manner (TODO).
2008-10-15 07:44:06 -04:00
Abdulaziz Ghuloum
fd567eb0c6
- fasl reader did not know how to read strings containing unicode
...
chars, fixed.
2008-10-14 02:28:46 -04:00
Abdulaziz Ghuloum
afa61cc1a7
- synching scheme/psyntax.*.ss from the psyntax distribution.
2008-10-13 17:33:25 -04:00
Abdulaziz Ghuloum
442f6e9049
- native bytevector operations on 16-bit values were implemented
...
using the wrong endianness.
2008-10-13 02:40:26 -04:00
Abdulaziz Ghuloum
1be0f2af6e
- changed foreign accessors and mutator names to have '-c-' in their
...
names as suggested by Ken Dickey.
2008-10-12 02:06:25 -04:00
Abdulaziz Ghuloum
811c94361b
- fixed bugs in pass-specify-rep where some (known) types were
...
unhandled causing compile time errors.
- fixed some bootstrapping issues with pointer? (which was moved out
of the (ikarus) library)
- freshened up the bootfiles for both 32- and 64-bit version of
ikarus.
2008-10-12 01:15:20 -04:00
Abdulaziz Ghuloum
69c62649cc
- defined RTLD_LOCAL for cygwin (possibly incorrect)
...
- added a missing save to a callee-save register (%edi)
when entering/reentering to Scheme which caused Ikarus
not to run properly depending on whether or not gcc places
the pcb in %edi or not during Scheme execution.
- updated lab/test-ffi.ss to use the new names for foreign
types, etc.
2008-10-07 02:46:56 -04:00
Abdulaziz Ghuloum
1e5e516b08
- added (ikarus foreign) library that should be used instead of
...
(ikarus system $foreign).
- changed the names of some of the pointer primitives
- changed the name of the procedure make-ffi to make-callout
- updated examples and libraries to conform with new names
- updated the users guide to provide a complete description of
the (ikarus foreign) library
- updated list of missing R6RS features in the users guide
2008-10-06 01:19:27 -04:00
Abdulaziz Ghuloum
0a7a3a8266
made load feel like a top-level by consuming the contents of the
...
given file one expression at a time. Most notable difference is
observed when the loaded file captures a conitnuation in one
expression. Re-invoking this continuation should evaluate the
next expression that has not been evaluated yet, and not the
expression following the call/cc.
2008-09-28 00:08:34 -04:00
Abdulaziz Ghuloum
90175f528f
speech synthesizer demo
2008-09-27 03:20:24 -04:00
Abdulaziz Ghuloum
8c30f0715b
Managed to a simple Ikarus -> Objective-C interface to work. Ikarus
...
can now open a Cocoa window under Mac OS X. Happy Happy Joy Joy!!
2008-09-26 02:46:07 -04:00
Abdulaziz Ghuloum
89d9a472a5
"darwin" is no longer hardcoded in lib/ypsilon-compat.ikarus.ss,
...
instead, it is obtained from the target info that autoconf
generates.
2008-09-24 23:18:35 -04:00
Abdulaziz Ghuloum
55c3fbcc4d
moved the opengl libraries from lab/ to lib/ so that they get
...
installed as user libraries.
2008-09-24 07:22:25 -04:00
Abdulaziz Ghuloum
9f53841fb9
fixed endianness error in bytevector-native-[us]32-native-set!.
2008-09-23 08:02:47 -04:00
Abdulaziz Ghuloum
61ecbe0dd1
- opengl demos from ypsilon (gears and glut-demo) now work under
...
ikarus's ffi using a compatibility layer.
2008-09-23 07:48:16 -04:00
Abdulaziz Ghuloum
abe97b4053
- argument conversion for callbacks now work.
...
- added more tests in lab/test-ffi.ss
2008-09-23 03:21:41 -04:00
Abdulaziz Ghuloum
876ab09eee
- gc during callbacks now works.
...
- system continuations are now maintained as part of the list in
pcb->next_k.
2008-09-23 01:49:06 -04:00
Abdulaziz Ghuloum
df4cb7a6ce
fixed an off-by-one bug in ffi callbacks.
2008-09-23 00:24:41 -04:00
Abdulaziz Ghuloum
09657334c0
fixed autoconf so that ffi.h and libffi are checked iff ffi is
...
enabled. Also made prep-callback return #f if libffi does not
support closures.
2008-09-22 21:55:05 -04:00
Abdulaziz Ghuloum
e07d8f9760
ffi callbacks sorta kinda work now.
2008-09-21 04:08:54 -04:00
Abdulaziz Ghuloum
06fd988a17
C callbacks now reach the C point where they should make the call
...
back into Scheme land.
2008-09-20 01:58:57 -04:00
Abdulaziz Ghuloum
31f5f88889
first test of ffi works:
...
> (import (ikarus system $foreign))
> (((ffi-prep-cif 'void '(uint32))
(dlsym (dlopen #f) "hello_world"))
10)
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
>
2008-09-14 04:17:24 -07:00
Abdulaziz Ghuloum
9f2d7484ab
fixed uint/ulong pointer ref bug (and added appropriate tests).
2008-09-14 00:38:59 -07:00
Abdulaziz Ghuloum
58d937c520
upgraded to using latest versions of autoconf, aclocal, and m4.
2008-09-13 15:16:14 -07:00
Abdulaziz Ghuloum
8e750562d6
- Added memory operations on pointer types for setting and accessing
...
char, short, int, and long values from pointer arrays.
2008-09-13 07:49:17 -07:00
Abdulaziz Ghuloum
e05e84d1c2
Added dlopen, dlclose, dlerror, dlsym, malloc, and free to
...
(ikarus system $foreign).
2008-09-12 14:22:57 -07:00
Abdulaziz Ghuloum
30cd6a2de8
made environment-symbols work on the interaction-environment.
2008-09-10 11:02:42 -07:00
Abdulaziz Ghuloum
0b017898a8
- minor change to how export (with renaming) is parsed. When you
...
rename from-name to to-name, the from-name is now treated as an
identifier while the to-name is treated as a symbol.
2008-09-10 08:17:18 -07:00
Abdulaziz Ghuloum
fcef21c693
- Added (environment-symbols <env>) which returns a list of symbols
...
exported by the environment. Try
> (environment-symbols (environment '(rnrs)))
- Added an internal export mechanism so that identifiers can be
exported from within a library. The syntax is the same:
(export export-spec* ...)
when appears in a library's top level, adds the export specs to
the set of exported identifiers. So, one can do:
(library (A)
(export)
(import (ikarus))
(export a)
(define a 17))
When appearing in non-library definition context, the export form
is ignored.
2008-09-10 06:35:18 -07:00