Commit Graph

1692 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum e3a7a875a4 fixed build error under linux. 2008-11-16 04:22:23 -05:00
Abdulaziz Ghuloum bc11d4f44f fixed return value of file-ctime and file-mtime (were incorrect due
to truncation)
2008-11-16 03:59:30 -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 db9789068c fixed a few typos in users guide. 2008-11-15 11:03:22 -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 a4ba327173 - speedup of unicode normalization routines.
- added unicode normalization tests.
2008-10-29 03:15:17 -04:00
Abdulaziz Ghuloum 15e8775c67 - reduced latency of construction of unicode composition tables. 2008-10-29 02:11:53 -04:00
Abdulaziz Ghuloum 9a3666d3ea - completed all unicode primitives (thanks to Kent Dybvig) 2008-10-28 19:59:40 -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 d8058e0cbf utf16 output ports now work. 2008-10-21 03:31:44 -04:00
Abdulaziz Ghuloum b63055aed0 - changed argument type passed to ik_mmap* to be long int.
- mmap errors report request size (for debugging 64-bit errors)
- added a config definition for FLAT_TABLES which is not yet used
  (32-bit ikarus will use flat segment and dirty tables while 64-bit
  ikarus will use two-level tables)
2008-10-21 00:43:27 -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