Commit Graph

428 Commits

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