Commit Graph

662 Commits

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