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
Abdulaziz Ghuloum
c597e7a4b3
Added option for searching for socket and nanosleep in libraries
...
-lsocket and -lrt (makes it work on SunOS).
2008-09-08 14:43:47 -07:00
Abdulaziz Ghuloum
afc9bff07f
- added experimental pointer manipulation primitives.
2008-09-06 06:01:39 -07:00
Abdulaziz Ghuloum
814c797633
- removed bset/h instruction from the compiler (it was rarely used
...
and not implemented 100% correctly)
- fixed parameterize to allow (parameterize () def ... exp exp ...)
2008-09-06 04:17:20 -07:00
Abdulaziz Ghuloum
b9085e15da
- more work on trig functions
...
- mkstx now checks that double wraps are not merged incorrectly
2008-08-12 01:17:04 -07:00
Abdulaziz Ghuloum
476a0cb6d8
fixed small bug in rationalize
2008-08-11 13:38:28 -07:00
Abdulaziz Ghuloum
c64fda7619
fixed a few problems in geometric functions when they are passed
...
complex numbers or when they're passed real numbers but the results
are complex.
2008-08-11 10:37:05 -07:00
Abdulaziz Ghuloum
e58c53cca5
symbols containing unicode characters now print properly and respect
...
the print-unicode parameter.
2008-08-10 11:50:39 -07:00
Abdulaziz Ghuloum
fdca9ed33f
command line arguments are now interpreted as utf8 strings.
2008-08-10 11:33:10 -07:00
Abdulaziz Ghuloum
2ad6d9bddf
strings containing non-ascii characters are written using either
...
hex escaping or as-is depending on the value of the print-unicode
parameter.
2008-08-10 11:03:09 -07:00
Abdulaziz Ghuloum
22d216f9ed
- fixed a problem with loading an empty file.
...
- added ikarus.reader.annotated.ss to Makefile.am.
2008-08-10 10:46:24 -07:00
Abdulaziz Ghuloum
7bacb4a0a5
Added string-downcase and string-upcase. String-downcase does not
...
handle greek-final-sigma properly.
2008-08-09 07:12:22 -07:00
Abdulaziz Ghuloum
e24356eb4a
scheme-script is now its own program; it does not fork and exec
...
ikarus, and therefore does not interfere with ikarus's command line
parsing.
2008-08-09 05:47:44 -07:00
Abdulaziz Ghuloum
c5930ac113
exported enum-set?.
2008-08-08 08:29:18 -07:00
Abdulaziz Ghuloum
b7d9c0cf1f
- added two argument version of log
...
- handled (/ flonum complexnum)
2008-08-08 08:21:23 -07:00
Abdulaziz Ghuloum
53cc48d23c
fxsll was missing an interrupt call.
2008-08-07 15:02:53 -07:00
Abdulaziz Ghuloum
9eead5327a
Added bitwise-if and bitwise-copy-bit-field (inefficiently)
2008-08-04 23:43:11 -07:00
Abdulaziz Ghuloum
e1215998e0
quick fix for incorrect reading of subsequent* characters in a
...
symbol.
2008-08-04 23:19:55 -07:00
Abdulaziz Ghuloum
2b4e89bcf0
- fixed a minor import subversion bug.
...
- added 2-argument version of fllog.
2008-08-04 16:44:24 -07:00
Abdulaziz Ghuloum
a9fb7b0fef
fixed small bug in enum-universe.
2008-08-03 14:18:11 -07:00
Abdulaziz Ghuloum
c5381d4cb3
Applied a patch fixing error when the standard input/output ports
...
are closed before the interactive session terminates.
2008-08-03 13:50:20 -07:00
Abdulaziz Ghuloum
6d52912aef
reimplemented enums to use bitmaps instead of lists.
2008-08-03 12:52:33 -07:00
Abdulaziz Ghuloum
0da4e99a12
simplified when, unless, and case macros and added better handler
...
for (if (not e) e e).
2008-08-02 11:09:22 -07:00
Abdulaziz Ghuloum
39e84d1395
simplified parameterize macro.
2008-08-02 10:11:04 -07:00
Abdulaziz Ghuloum
9b74020647
fixed a bug in fasl reader for shared/cyclic data structures.
2008-07-30 17:28:33 -07:00
Abdulaziz Ghuloum
f2d6f433bb
fixed shift-left bug on bignums in 64-bit mode only
2008-07-30 08:17:20 -07:00
Abdulaziz Ghuloum
f144722b36
bumped the number of registers available on AMD64 by 4.
2008-07-30 07:47:22 -07:00
Abdulaziz Ghuloum
959082d12d
assert now gives source information when available.
2008-07-29 11:04:52 -07:00
Abdulaziz Ghuloum
5aa6e1b05e
some work on parsing polar notation.
2008-07-29 08:35:36 -07:00
Abdulaziz Ghuloum
c0a1abace1
Added &undefined condition to unbound error conditions.
2008-07-29 07:54:06 -07:00
Abdulaziz Ghuloum
d84dd99061
added fxrotate-bit-field
2008-07-27 10:53:31 -07:00
Abdulaziz Ghuloum
282fa962a8
fixed div0-and-mod0 bug
2008-07-26 15:08:13 -07:00
Abdulaziz Ghuloum
4ee88498a9
fixes quasisyntax bugs, making them more conforming to the r6rs test
...
suite.
2008-07-26 14:11:22 -07:00
Abdulaziz Ghuloum
b3d8a8f9fd
sqrt now supports negative arguments properly.
2008-07-26 12:39:11 -07:00
Abdulaziz Ghuloum
3b80d4f321
fixed a bug in quotient and div when given (least-fixnum) and -1.
2008-07-26 12:28:51 -07:00
Abdulaziz Ghuloum
4909a9ef08
fixed make-rectangular so that (make-rectangular 1.0 0.0) returns
...
a cflonum 1.0+0.0i while (make-rectangular 1.0 0) returns 1.0.
2008-07-25 17:46:34 -07:00
Abdulaziz Ghuloum
f332927d23
kinda fixes a port-position computation bug for custom binary ports.
2008-07-24 22:30:21 -07:00
Abdulaziz Ghuloum
7db56cf76e
- bytevector-ieee-[single|double]-[ref|set!] now accept unaligned
...
indices (r6rs requirement).
- file-options are now represented as enum-sets (r6rs requirement)
- odd?, even?, lcm, remainder, etc., now accept inexact integers.
2008-07-24 18:58:53 -07:00
Abdulaziz Ghuloum
9085b79b64
fixed some r6rs bitwise bugs.
2008-07-24 00:06:12 -07:00
Abdulaziz Ghuloum
0305537374
get-u8 and lookahead-u8 did not update the port position properly.
...
Fixed.
2008-07-23 11:15:44 -07:00
Abdulaziz Ghuloum
9f623124d5
symbol=? and boolean=? now accept 2+ args.
2008-07-23 07:55:32 -07:00
Abdulaziz Ghuloum
acc9940379
fixed gc bug in 64-bit mode along with another 64-bit bug in the
...
assembler when addressing using special %eax/%rax instructions.
2008-07-21 22:07:31 -07:00
Abdulaziz Ghuloum
358eee03ee
Added a 64-bit bootfile and modified the configure script to not add
...
its own -m32 or -m64 flags. To built ikarus in 32-bit mode, one can
do:
./configure CFLAGS=-m32
and in 64-bit mode:
./configure CFLAGS=-m64
2008-07-20 14:09:04 -07:00
Abdulaziz Ghuloum
59b9d28001
guard expressions now re-raise unhandled conditions using
...
raise-continuable (as per the R6RS errata page, part 7.1)
2008-07-20 02:51:14 -07:00
Abdulaziz Ghuloum
78d9fa1f42
In 64-bit, ikarus now passes all tests, can recompile itself,
...
and runs all benchmarks (inefficiently but correctly).
2008-07-20 00:14:09 -07:00
Abdulaziz Ghuloum
4f48c55bfc
all existing tests pass under 64-bit
2008-07-19 14:41:06 -07:00
Abdulaziz Ghuloum
81a1a640df
more progress on the AMD64 front, fixing more numeric and more cogen
...
64-bit bugs.
2008-07-18 22:21:57 -07:00
Abdulaziz Ghuloum
01c4afa320
Major work towards the AMD64 port. Most important of which is that
...
continuations work, more assembly instructions are testing in 64-bit
mode, and some arithmetic operations (shift-right, etc.) have been
fixed by removing some 32-bit dependencies.
2008-07-18 01:35:13 -07:00
Abdulaziz Ghuloum
0ef81aa13e
Added make-polar.
2008-07-15 23:13:59 -07:00
Abdulaziz Ghuloum
195dc0ea45
Fixed some problems parsing complex numbers.
2008-07-15 22:44:55 -07:00
Abdulaziz Ghuloum
2a49d5c538
Added "angle".
2008-07-14 22:43:19 -07:00
Abdulaziz Ghuloum
a9657c4642
define-record-type now understands parent-rtd (used to ignore it).
2008-07-13 11:25:46 -07:00
Abdulaziz Ghuloum
c3b12a22e8
the repl now resets on receiving &interrupted conditions.
2008-07-12 20:05:45 -07:00
Abdulaziz Ghuloum
70f5375d6b
refixing trace-define-syntax.
2008-07-12 10:40:22 -07:00
Abdulaziz Ghuloum
eccca7f4ea
- Added trace-let-syntax, trace-letrec-syntax, as well as fixed
...
trace-define-syntax to handle variable transformers.
- added primops for fx comparison functions.
2008-07-11 22:31:40 -07:00
Abdulaziz Ghuloum
00970f12d2
- compound conditions are made non-opaque.
...
- more tag analysis for bytevectors and friends.
2008-07-08 08:15:14 -07:00
Abdulaziz Ghuloum
749080724c
get-char now raises an error if the string port is closed (bug 245959)
2008-07-07 01:22:12 -07:00
Abdulaziz Ghuloum
f6957b91c2
Added string->bytevector and bytevector->string as per bug 245983.
2008-07-07 01:11:36 -07:00
Abdulaziz Ghuloum
8423610f45
call-with-port does not use dynamic-wind to close the port.
2008-07-07 00:56:52 -07:00
Abdulaziz Ghuloum
b15c7063f9
repl exception handler now returns for non-serious conditions
...
(as per bug 242900)
2008-07-07 00:50:19 -07:00
Abdulaziz Ghuloum
badf83557f
fixed rounding for rationals.
2008-07-07 00:22:14 -07:00