Commit Graph

477 Commits

Author SHA1 Message Date
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