Commit Graph

881 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum a5febf508b * Added fields, immutable, mutable, opaque, parent, parent-rtd,
protocol, sealed, and nongenerative auxiliary macros.
2007-10-12 00:59:16 -04:00
Abdulaziz Ghuloum 5f19e802f6 * Added utf8->string and string->utf8 2007-10-12 00:33:19 -04:00
Abdulaziz Ghuloum 63975eba38 * Added transcoder-codec, transcoder-eol-style, and
transcoder-error-handling-mode
2007-10-12 00:00:36 -04:00
Abdulaziz Ghuloum fdc0132573 * Added file-options macro 2007-10-11 23:43:25 -04:00
Abdulaziz Ghuloum 4649598a7e * Added buffer-mode and buffer-mode? 2007-10-11 23:21:55 -04:00
Abdulaziz Ghuloum aafecc9cfb * Added make-transcoder and native-transcoder 2007-10-11 22:55:20 -04:00
Abdulaziz Ghuloum 0c754c1939 * Added error-handling-mode macro. 2007-10-11 21:51:15 -04:00
Abdulaziz Ghuloum 12f3041f03 * Added eol-style and native-eol-style. 2007-10-11 21:47:11 -04:00
Abdulaziz Ghuloum f7beb1afe0 * Added latin-1-codec, utf-8-codec, utf-16-codec to (ikarus codecs)
library.  They simply return the corresponding codec symbol.
2007-10-11 21:28:08 -04:00
Abdulaziz Ghuloum cc04411d97 * fixed a bug in module expander that allowed a module to export any
identifier bound in scope, even if not defined inside the module
  body.
2007-10-10 12:46:48 -04:00
Abdulaziz Ghuloum 7f2aa4f2f9 * Made recordize recognize lambda again (lost in crash). 2007-10-10 09:18:11 -04:00
Abdulaziz Ghuloum 07330d9b1d * Added one hashtable test.
* Added hashtable-mutable?
* Added hashtable-clear!
2007-10-10 08:24:12 -04:00
Abdulaziz Ghuloum 0e10e5023c * Added hashtable-size, hashtable-delete!, hashtable-contains?, and
hashtable-update!
2007-10-10 07:36:19 -04:00
Abdulaziz Ghuloum 8bfadc3a67 * make-hashtable is renamed to make-eq-hashtable, along with all
references
2007-10-10 07:09:18 -04:00
Abdulaziz Ghuloum b24ce124b2 * Added fold-left and fold-right. 2007-10-10 06:43:25 -04:00
Abdulaziz Ghuloum 995944723d * added tests for procedure "for-all" 2007-10-10 05:28:07 -04:00
Abdulaziz Ghuloum 82eb606715 * arguments to expanded let now get proper procedure names so that
(let ((f (lambda (x) x))) f) prints as #<procedure f>.
2007-10-10 05:06:31 -04:00
Abdulaziz Ghuloum ca27d8e626 * compiler and fasl-write and fasl-read now understand code
annotations
2007-10-10 04:41:11 -04:00
Abdulaziz Ghuloum c3d410d572 * Added for-all and exists 2007-10-10 03:53:42 -04:00
Abdulaziz Ghuloum 241bdd8d4d * renamed all hash-table primitives to their r6rs counterparts. 2007-10-09 09:22:02 -04:00
Abdulaziz Ghuloum 75692f0306 * deleted ikarus.syntax.ss which is no longer needed
* removed (ikarus system $all) library which is replaced by
  (psyntax system $all)
2007-10-09 09:05:22 -04:00
Abdulaziz Ghuloum 687c45dd6f * reintegrated the expander from the psyntax distro. 2007-10-09 08:54:28 -04:00
Abdulaziz Ghuloum 09fd6ff1b3 * re-integrated the library-manager from the psyntax distro. 2007-10-09 07:56:30 -04:00
Abdulaziz Ghuloum 658ad73ed2 * merged identifier->library-map from psyntax distro. 2007-10-09 06:01:20 -04:00
Abdulaziz Ghuloum 8de86bda33 * added legend entries from psyntax distro. 2007-10-09 05:23:40 -04:00
Abdulaziz Ghuloum 411c05c74b * Made top-level set! more like r5rs's top-level set!. 2007-09-15 23:42:43 -04:00
Abdulaziz Ghuloum 79916549cd * Added fxif 2007-09-15 03:27:28 -04:00
Abdulaziz Ghuloum 4b0a0411c0 * Added fx+/carry, fx*/carry, and fx-/carry (with tests) 2007-09-15 03:16:55 -04:00
Abdulaziz Ghuloum 96bd57c922 * Added fixnum-width, least-fixnum, greatest-fixnum 2007-09-15 02:06:16 -04:00
Abdulaziz Ghuloum 82a00e2628 * Fixed a bug in the GC that caused performance to degrade when
ik_alloc extends the heap (by 128KB) and the heap size remains set
  to that value (causing more frequent GCs than usual).  Now, after
  ik_collect, if the heapsize is less than 4MB, it's extended to
  4MB (minimum).
2007-09-15 01:54:45 -04:00
Abdulaziz Ghuloum a2ed662821 * Added fxmin and fxmax 2007-09-15 00:24:38 -04:00
Abdulaziz Ghuloum 54472a1994 * Added fxarithmetic-shift* procedures.
* Added trace examples in ikarus.trace.h
* slatex benchmark now compiles properly.
2007-09-15 00:14:47 -04:00
Abdulaziz Ghuloum ea28d03f43 * Added make-traced-procedure, trace-lambda and trace-define. 2007-09-13 22:42:48 -04:00
Abdulaziz Ghuloum 7d46631e14 * (fxsra <fx> <32*i>) now returns a proper value (0 or 1) 2007-09-13 21:09:09 -04:00
Abdulaziz Ghuloum cb3b0b3edd * fx+ now signals an error on overflow properly. 2007-09-13 19:25:47 -04:00
Abdulaziz Ghuloum 3facf76eff * Added fx=?, fx<?, fx<=?, fx>?, and fx>=? 2007-09-13 16:39:13 -04:00
Abdulaziz Ghuloum c552e0b3b1 * char-category/property predicates now gain an 80% reduction in
runtime due to using unsafe prims.
2007-09-13 15:59:39 -04:00
Abdulaziz Ghuloum 2b50672aa2 * Fixed yet another bug in extracting category info from
UnicodeData.txt
2007-09-13 15:49:02 -04:00
Abdulaziz Ghuloum 4ff03fcd77 * cleanup of extract-info.ss 2007-09-13 07:09:31 -04:00
Abdulaziz Ghuloum a85669fc4d * Fixed the char-numeric? Numeric property. 2007-09-13 07:04:13 -04:00
Abdulaziz Ghuloum 9a62c12c66 * Added char-alphabetic? char-numeric? char-whitespace?
char-upper-case?  char-lower-case?  char-title-case?
2007-09-13 06:27:31 -04:00
Abdulaziz Ghuloum 62ee718fb8 * rewrote char categories stuff
* constituents vector is gone

removed:
  src/unicode/extract-categories.ss
  src/unicode/unicode-constituents.ss
added:
  src/unicode/extract-info.ss
  src/unicode/unicode-charinfo.ss
modified:
  src/ikarus.boot
  src/ikarus.unicode-data.ss
  src/unicode/unicode-data.ss
2007-09-13 06:11:26 -04:00
Abdulaziz Ghuloum e6f678bb52 * Added bytevector-u32-native-ref, bytevector-u32-native-set!,
bytevector-s32-native-ref, and bytevector-s32-native-set!
2007-09-13 01:57:36 -04:00
Abdulaziz Ghuloum d6ed7b8a4d * Added bytevector-u32-ref, bytevector-u32-set!, bytevector-s32-ref,
and bytevector-s32-set!.
2007-09-13 01:44:10 -04:00
Abdulaziz Ghuloum 2f75448f03 * Added bitwise-arithmetic-shift, bitwise-arithmetic-shift-left,
and bitwise-arithmetic-shift-right,
2007-09-13 01:10:57 -04:00
Abdulaziz Ghuloum 3247c0641d * sll now supports shifting fixnums by any amount. 2007-09-13 00:08:41 -04:00
Abdulaziz Ghuloum 52a36d4c3f * Added sra, fixing the bignum shift bugs. 2007-09-12 23:34:21 -04:00
Abdulaziz Ghuloum ef1a828f1f * Fixed a bug in that caused exact->inexact to return nans when
given big ratnums.  E.g.
    (exact->inexact (/ (expt 2 3000) (- (expt 2 3000) 1)))
  now returns 1.0 instead of +nan.0
2007-09-12 19:08:45 -04:00
Abdulaziz Ghuloum 9d32ae5767 * ikarus-fasl.c can now read bignums. 2007-09-12 16:59:21 -04:00
Abdulaziz Ghuloum 888833f686 * Added flexpt 2007-09-12 03:56:08 -04:00
Abdulaziz Ghuloum 69d692417f * Added real-valued?, integer-valued? and rational-valued? 2007-09-12 03:10:54 -04:00
Abdulaziz Ghuloum c55cad8502 * Added finite?, infinite?, and nan? 2007-09-12 02:44:19 -04:00
Abdulaziz Ghuloum ed45b486a3 * Added div, mod, div-and-mod, div0, mod0, div0-and-mod0. 2007-09-12 02:37:03 -04:00
Abdulaziz Ghuloum 9d8ceef99f * Added rationalize 2007-09-12 00:57:04 -04:00
Abdulaziz Ghuloum 2eaaa77615 * Added the procedure expand:
(expand <expr> <environment>)
  expands the expression in environment and returns two values:
    an expanded core expression and a list of libraries that must be
    invoked before the core expression is evaluated.
2007-09-11 13:32:14 -04:00
Abdulaziz Ghuloum ca2be2436a * string->number now understands +nan.0, -nan.0, +inf.0 and -inf.0. 2007-09-11 03:13:28 -04:00
Abdulaziz Ghuloum 277710d6d1 * Added reader syntax for +nan.0 -nan.0 +inf.0 and -inf.0 2007-09-11 03:06:35 -04:00
Abdulaziz Ghuloum bf28274d44 * fixed a bug in fldenominator
* added a file rationalize.ss that has the seed for the rationalize
  function
2007-09-11 02:06:26 -04:00
Abdulaziz Ghuloum e8f05ac4b7 * Added truncate and fltruncate 2007-09-11 00:22:23 -04:00
Abdulaziz Ghuloum 79b6e46cab * Added bytevector clause for equal?
* exported real? (number? really until complex nums are added).
2007-09-11 00:13:10 -04:00
Abdulaziz Ghuloum 3ecf53f9fd * Added flexp 2007-09-10 23:36:36 -04:00
Abdulaziz Ghuloum ad3f96d2ad * Added flnumerator and fldenominator 2007-09-10 23:30:17 -04:00
Abdulaziz Ghuloum 1c86a105c5 * Added flceiling, flfloor, and fixed rounding bug in flround and
round
2007-09-10 23:17:06 -04:00
Abdulaziz Ghuloum cb94cf88b2 * Added fleven? and flodd? 2007-09-10 22:45:41 -04:00
Abdulaziz Ghuloum fa63e8723c * Added flfinite?, flinfinite?, and flnan?
* Fixed a bug that caused all nans to print as -nan.0
2007-09-10 22:10:19 -04:00
Abdulaziz Ghuloum a366a5f20f * Added flinteger? and fixed a bug in integer? when the argument is
1.0.
2007-09-10 20:47:17 -04:00
Abdulaziz Ghuloum eeac68352a * Added partition 2007-09-10 17:28:06 -04:00
Abdulaziz Ghuloum dd968d389d * Added find. 2007-09-10 17:09:19 -04:00
Abdulaziz Ghuloum 66541809e1 * Added filter. 2007-09-10 17:03:40 -04:00
Abdulaziz Ghuloum 4b83f21480 * Added remq, remp, remv, and remove 2007-09-10 16:33:05 -04:00
Abdulaziz Ghuloum fc67c0e155 * Added remp and assp 2007-09-10 15:56:15 -04:00
Abdulaziz Ghuloum 009a25ad30 * Added endianness and native-endianness 2007-09-10 15:15:20 -04:00
Abdulaziz Ghuloum 64b06d698b * Added bytevector-s16-native-set! and bytevector-s16-set!. 2007-09-10 14:58:37 -04:00
Abdulaziz Ghuloum 9d478bc6b4 * Added bytevector-u16-native-set! and bytevector-u16-set! 2007-09-10 14:47:29 -04:00
Abdulaziz Ghuloum e273953b39 * Added bytevector-s16-ref and bytevector-s16-native-ref. 2007-09-10 14:24:35 -04:00
Abdulaziz Ghuloum 3e4c7150f6 * Added bytevector-u16-native-ref and bytevector-u16-ref 2007-09-10 14:10:37 -04:00
Abdulaziz Ghuloum 18b4a78045 * Added vector-sort! 2007-09-09 23:58:00 -04:00
Abdulaziz Ghuloum 375b738ccb * Added vararg case for for-each. 2007-09-09 23:50:55 -04:00
Abdulaziz Ghuloum 2692897900 * list* is gone. All references renamed to cons*. 2007-09-09 23:41:12 -04:00
Abdulaziz Ghuloum 7b66d9af6b * Added cons* 2007-09-09 23:31:19 -04:00
Abdulaziz Ghuloum a99c8d5461 * reimplemented (quasisyntax body) by expanding it to
(syntax-case (list expr* ...) ()
      [(var? ...) #'body])
  where expr* are the unquoted expressions and var? are the
  generated names that are simultaneously inserted in body.
2007-09-09 23:08:26 -04:00
Abdulaziz Ghuloum 8aecc96b76 * readded src/ikarus.hash-tables.ss 2007-09-09 21:16:07 -04:00
Abdulaziz Ghuloum 1cd2b8acfc * Handling weak-pairs is now generational, fixing performance
problems when guardians were used to implement hash tables.
2007-09-06 22:45:20 -04:00
Abdulaziz Ghuloum 123e2f9e10 * pretty-print now properly detects and prints cyclic and shared
data structures
2007-09-05 20:18:45 -04:00
Abdulaziz Ghuloum d1db554eee * removed some junk that was not used (string handling stuff) from
pretty-print
2007-09-05 02:41:12 -04:00
Abdulaziz Ghuloum 8f9aa2cd18 * Interrupts now work, again 2007-09-05 01:47:57 -04:00
Abdulaziz Ghuloum 1a8af2acea * string<?, string<=?, string>?, and string>=? now have proper
annotations
2007-09-04 21:01:30 -04:00
Abdulaziz Ghuloum 62e1527d1d * Globally visible procedures now have attached names:
Ikarus Scheme (Build 2007-09-04)
Copyright (c) 2006-2007 Abdulaziz Ghuloum

> car
#<procedure car>
> (car 1 2)
Error in apply: incorrect number of argument (2) to #<procedure car>.
> ^D
2007-09-04 20:38:16 -04:00
Abdulaziz Ghuloum b3f80f0dc9 * exported identifiers bound to procedures get their procedure
annotation set to the name of the exported variable
2007-09-04 20:33:21 -04:00
Abdulaziz Ghuloum 2c2b3eb1f1 * Added procedure-annotation primitive that returns the annotation
object stored in the closure's code.
2007-09-04 20:18:11 -04:00
Abdulaziz Ghuloum ad118623ec * Added $code-annotation and $set-code-annotation! primops 2007-09-04 19:59:14 -04:00
Abdulaziz Ghuloum 50dcf3a11f * disp-code-data changed from 16 to 24 in order to allow for future
code annotations.
2007-09-04 19:16:43 -04:00
Abdulaziz Ghuloum a291ed8ffb * Added list-sort and vector-sort. 2007-09-04 12:56:40 -04:00
Abdulaziz Ghuloum cb40f0ae3c * disp-bytevector-data changed to 8. 2007-09-04 01:40:31 -04:00
Abdulaziz Ghuloum b5d3ceebe4 * Added char-general-category and a category lookup table. 2007-09-03 04:42:46 -04:00
Abdulaziz Ghuloum ad1c469ffb Added inexact? 2007-09-03 00:34:53 -04:00
Abdulaziz Ghuloum 0bbbcf9604 * Added missing string<?, string<=?, string>?, and string>=?
* Added string-ci=?, string-ci<?, string-ci<=?, string-ci>?, and
  string-ci>=?
2007-09-03 00:17:15 -04:00
Abdulaziz Ghuloum aa9f5e3ad1 * reader now accepts string escape sequences like "\xDF;". 2007-09-02 22:37:24 -04:00
Abdulaziz Ghuloum 89786ff4d0 * Added flsin, flcos, fltan, flasin, flacos, flatan procedures. 2007-09-02 21:16:54 -04:00
Abdulaziz Ghuloum 6ff9e3dc9c Added fixnum->flonum 2007-09-02 21:02:06 -04:00
Abdulaziz Ghuloum 46193467c5 Added asin, acos, and tan 2007-09-02 20:57:02 -04:00
Abdulaziz Ghuloum 38a60b4d84 Added various geom functions to runtime including asin, acos, tan 2007-09-02 20:53:28 -04:00
Abdulaziz Ghuloum d785d40935 Added (assert expr) macro 2007-09-02 20:48:59 -04:00
Abdulaziz Ghuloum 592b62cfe7 * Added (null-environment 5) procedure. 2007-09-02 03:09:29 -04:00
Abdulaziz Ghuloum 21cdfd412b * (ikarus null-environment-5) is populated with the r5rs syntactic
forms.
2007-09-02 03:02:53 -04:00
Abdulaziz Ghuloum f351cc9a5b * Added (ikarus null-environment-5) library. 2007-09-02 02:57:56 -04:00
Abdulaziz Ghuloum a471e1a150 * Added delay and force. 2007-09-02 02:47:50 -04:00
Abdulaziz Ghuloum 9e066f4d4c * Added vector-fill! and string-fill!
* Fixed a bug in (string 10) returning an uninitialized string.
2007-09-02 02:22:23 -04:00
Abdulaziz Ghuloum d515520bd7 * Added make-variable-transformer procedure. 2007-09-02 02:03:29 -04:00
Abdulaziz Ghuloum 7a3a984653 * Added quasisyntax (code mostly a copy of quasiquote).
* Fixed a bug in syntax-dispatch that caused datums from the input
  to be converted, incorrectly, to wrapped syntax objects.
2007-09-02 01:16:14 -04:00
Abdulaziz Ghuloum 94df957775 added:
src/ikarus.hash-tables.guardians.ss
  src/ikarus.hash-tables.rehashing.ss
2007-09-01 23:07:39 -04:00
Abdulaziz Ghuloum 4b7f3a0258 collect-key now returns a gensym 2007-09-01 16:09:56 -04:00
Abdulaziz Ghuloum 77b3fd5225 * (time <>) now reports user and sys times as well. 2007-09-01 01:25:39 -04:00
Abdulaziz Ghuloum e5f7329d4d * changed implementation of guardians in ikarus.guardians.ss 2007-09-01 01:12:42 -04:00
Abdulaziz Ghuloum 5667428e70 * reimplemented guardians (which now, incidentally, work). 2007-08-31 23:28:19 -04:00
Abdulaziz Ghuloum 22f3ce4f79 * Added a (collect-key) procedure that returns a string "k" that's
eq? to the value returned by (collect-key) until a garbage
  collection is performed.
2007-08-30 22:09:13 -04:00
Abdulaziz Ghuloum 6d1578eef5 * Added $collect-key primitive that gets/sets the collect-key field
of pcb.
2007-08-30 22:02:25 -04:00
Abdulaziz Ghuloum a09da8f581 * Added (random fx) procedure. 2007-08-30 21:50:58 -04:00
Abdulaziz Ghuloum eabfc3fe4f * Added macro writer for #` #, and #,@ forms. 2007-08-30 20:30:21 -04:00
Abdulaziz Ghuloum 1864ca830b * Added quasisyntax, unsyntax, unsyntax-splicing reader macros. 2007-08-30 20:17:23 -04:00
Abdulaziz Ghuloum 3820bffee3 Added unquote, unquote-splicing, unsyntax, unsyntax-splicing 2007-08-30 20:12:38 -04:00
Abdulaziz Ghuloum a324572bc0 Added (r6rs eval) library 2007-08-30 19:40:01 -04:00
Abdulaziz Ghuloum d2419aca42 Better status report for time-it 2007-08-30 17:25:29 -04:00
Abdulaziz Ghuloum 2371c5a776 time now shows gc portion 2007-08-30 13:16:06 -04:00
Abdulaziz Ghuloum f030e4e11d * Stats record now contains gc-info fields. 2007-08-30 12:54:21 -04:00
Abdulaziz Ghuloum 46755415b4 Added large object support for collecting large vectors 2007-08-30 12:01:54 -04:00
Abdulaziz Ghuloum 28b143036f Added time macro 2007-08-30 11:06:21 -04:00
Abdulaziz Ghuloum 2d9f5377ae * Some fixes to the runtime system.
modified:
  bin/ikarus
  bin/ikarus-fasl.c
  bin/ikarus-main.c
  bin/ikarus-runtime.c
  src/ikarus.boot
2007-08-29 01:45:10 -04:00
Abdulaziz Ghuloum a13ad99195 * Better error message for applying unbound vars. 2007-08-29 00:51:24 -04:00
Abdulaziz Ghuloum a20884c16b * applying unbound ids no longer segfaults 2007-08-29 00:38:24 -04:00
Abdulaziz Ghuloum 84d188451c * Applying non-procedure library variables no longer segfaults. 2007-08-29 00:21:29 -04:00
Abdulaziz Ghuloum 1ca0e11fb3 Added $set-symbol-proc! 2007-08-28 23:49:50 -04:00
Abdulaziz Ghuloum f83af98967 added:
src/ikarus.unicode-data.ss
2007-08-28 21:36:34 -04:00
Abdulaziz Ghuloum d68e4283b9 * Added symlinks.
added:
  src/ikarus/
  src/ikarus/code-objects.ss@
  src/ikarus/compiler.ss@
  src/ikarus/fasl/
  src/ikarus/fasl/write.ss@
  src/ikarus/intel-assembler.ss@
2007-08-28 21:27:37 -04:00
Abdulaziz Ghuloum e1e2673ad7 * fixed a bug in the code generator for assigning the dirty vector
when the address of the pointer is "negative".
2007-08-28 19:47:14 -04:00
Abdulaziz Ghuloum efb59a4f46 Added exact, inexact 2007-08-28 18:15:27 -04:00
Abdulaziz Ghuloum bbe077cd5f * Added floor
* exported negative?
2007-08-28 17:45:54 -04:00
Abdulaziz Ghuloum d1221276b9 Added vector-for-each 2007-08-28 17:24:53 -04:00
Abdulaziz Ghuloum 5321868952 Added vector-map 2007-08-28 15:37:51 -04:00
Abdulaziz Ghuloum e2ca2dffb2 Added boolean=? and symbol=? 2007-08-28 15:03:21 -04:00
Abdulaziz Ghuloum 2b6a3ef715 Added string-copy 2007-08-28 12:46:12 -04:00
Abdulaziz Ghuloum 86a28c3822 Added =>, else, and _ aux macros 2007-08-28 12:39:54 -04:00
Abdulaziz Ghuloum 905b6c96c6 Added ... auxilary kwd 2007-08-28 11:34:13 -04:00
Abdulaziz Ghuloum 8e4adec147 renamed:
src/r6rs-todo.ss => src/todo-r6rs.ss
2007-08-28 11:11:12 -04:00
Abdulaziz Ghuloum d0eef4c3c4 * Added command-line 2007-08-26 21:24:22 -04:00
Abdulaziz Ghuloum 7bb5eab307 * Added delete-file. 2007-08-26 20:04:00 -04:00
Abdulaziz Ghuloum 1135803c81 * Categorised what needs to be done in r6rs-todo.ss 2007-08-26 18:51:16 -04:00
Abdulaziz Ghuloum bd5707b013 * finished listring all r6rs-todo identifiers. 2007-08-26 15:43:18 -04:00
Abdulaziz Ghuloum c6f08db761 * Added an r6rs-todo.ss list. 2007-08-26 14:03:25 -04:00
Abdulaziz Ghuloum d8b81869c9 * $port-output-index, $port-output-size, $set-port-output-index! and
$set-port-output-size! are gone.
2007-08-25 11:24:05 -04:00