Commit Graph

983 Commits

Author SHA1 Message Date
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
Abdulaziz Ghuloum 023d0831d7 * Removed $port-input-index, $port-input-size,
$set-port-input-index! and $set-port-input-size!
2007-08-25 11:06:30 -04:00
Abdulaziz Ghuloum c5530973d0 * Added $port-buffer, $port-index, $port-size, $set-port-index!, and
$set-port-size!.  Next step is removing the input/output-specific
  accessors and mutators.
2007-08-25 10:49:39 -04:00
Abdulaziz Ghuloum 33c087a867 * Stack overflow is reinstated. fibc and other call/cc intensive
benchmarks now work.
2007-07-13 13:54:25 +03:00
Abdulaziz Ghuloum 61edf6d5a2 * Removed the collection of open-coded primititives in compiler.ss 2007-07-13 13:23:54 +03:00
Abdulaziz Ghuloum 598d7ae99c * r6rs.records.procedural is almost done. 2007-07-05 16:59:06 +03:00
Abdulaziz Ghuloum 054e076651 * Fixed a bug in ratnum multiplication. 2007-07-05 11:48:40 +03:00
Abdulaziz Ghuloum 22d15fe6da * Added an inthash function to primops. 2007-07-04 17:42:18 +03:00
Abdulaziz Ghuloum a6302bc57d added:
src/lab/
  src/lab/ikarus.r6rs.records.procedural.ss
  src/lab/ikarus.r6rs.records.syntactic.ss

These are nonworking versions of r6rs records facility
2007-06-27 13:15:51 +03:00
Abdulaziz Ghuloum 327de19e3b * Added fft benchmark. 2007-06-18 18:04:02 +03:00
Abdulaziz Ghuloum dd1634e755 * $fixnum->flonum now works. 2007-06-18 14:29:39 +03:00
Abdulaziz Ghuloum d3b2ee35f3 * Added $fixnum->flonum (not working yet) 2007-06-18 14:06:13 +03:00
Abdulaziz Ghuloum cb4752df99 * Added flmax 2007-06-18 13:06:19 +03:00
Abdulaziz Ghuloum d04b4f4be8 * Added flround. 2007-06-18 13:01:45 +03:00
Abdulaziz Ghuloum baafbed761 * Added (r6rs i/o simple) library 2007-06-18 02:57:32 +03:00
Abdulaziz Ghuloum ab6162d2a7 * Added string-foldcase and string-ci=? (inefficiently) 2007-06-18 02:49:40 +03:00
Abdulaziz Ghuloum 551e5aa088 * Case-insensitive char cmp functions added. 2007-06-17 17:51:47 +03:00
Abdulaziz Ghuloum 94fb15620f * Added (r6rs unicode) library. 2007-06-17 17:30:15 +03:00
Abdulaziz Ghuloum df9ef4849d * Added char-downcase, char-upcase, char-titlecase, and char-foldcase 2007-06-17 17:20:19 +03:00
Abdulaziz Ghuloum e28c1a6de7 * Added unicode-char-cases file to the unicode directory that
contains char-downcase, char-upcase, char-titlecase, and
  char-foldcase tables.
2007-06-17 15:04:01 +03:00
Abdulaziz Ghuloum 1750aba832 * The CODE/digit assembly helper now accepts imm,imm memory reference. 2007-06-16 12:08:38 +03:00
Abdulaziz Ghuloum 6d8c626017 * Fixed a bug in (fl/ x) not inverting its argument. 2007-06-16 09:59:39 +03:00
Abdulaziz Ghuloum e51def62c1 * Fixed bugs in the just-added $fp comparison primitives. 2007-06-15 12:38:30 +03:00
Abdulaziz Ghuloum 3f3767800d * Added $fl=, $fl<, $fl>, $fl<=, $fl>= primops. 2007-06-15 12:19:28 +03:00
Abdulaziz Ghuloum 3acdcb6c04 * Added native support for $fl+, $fl-, $fl*, $fl/ 2007-06-15 08:53:34 +03:00
Abdulaziz Ghuloum f1674cbaef * renamed benchmarks directories.
renamed:
  benchmarks => benchmarks.larceny
  benchmarks/new => benchmarks
2007-06-14 20:26:38 +03:00
Abdulaziz Ghuloum 96851f8285 * Fixed a bug that causes (- 0.0) to be 0.0 instead of -0.0. 2007-06-14 20:11:58 +03:00
Abdulaziz Ghuloum b6779a0f87 * Added flonum fasl reader. 2007-06-14 19:48:57 +03:00
Abdulaziz Ghuloum f147e391eb * Added flonum, ratnum, and bignum fasl writers. 2007-06-14 19:38:00 +03:00
Abdulaziz Ghuloum e061dcd504 * Reader for ratnums implemented. 2007-06-14 19:21:26 +03:00
Abdulaziz Ghuloum b2582e731c * Reader for flonums is implemented. 2007-06-14 18:56:47 +03:00
Abdulaziz Ghuloum ec5317bea0 * Added nucleic benchmark. 2007-06-13 18:17:21 +03:00
Abdulaziz Ghuloum e76047cb47 * Added list-tail. 2007-06-13 17:42:04 +03:00
Abdulaziz Ghuloum 0c62d5bee8 * Added abs. 2007-06-13 16:48:05 +03:00
Abdulaziz Ghuloum 973595a93f * exported call-with-output-file. 2007-06-13 16:22:11 +03:00
Abdulaziz Ghuloum 48c80cbd9c * Added flmin. 2007-06-13 14:16:03 +03:00
Abdulaziz Ghuloum 009d0b2fac * Added flnegative? 2007-06-13 14:11:39 +03:00
Abdulaziz Ghuloum 0f910c431f * Added flzero? 2007-06-13 14:08:12 +03:00
Abdulaziz Ghuloum 89fd9d0a23 * Added flsqrt. 2007-06-13 14:00:29 +03:00
Abdulaziz Ghuloum ded64db389 * Added fl/. 2007-06-13 13:50:19 +03:00
Abdulaziz Ghuloum dc046a3092 * exported call-with-input-file. 2007-06-13 13:36:43 +03:00
Abdulaziz Ghuloum 817851f3d2 * defined fl*.
* fixed a bug in the identitity of fl+.
2007-06-13 13:15:52 +03:00
Abdulaziz Ghuloum 2dad5b473e * exported odd? 2007-06-13 13:10:54 +03:00
Abdulaziz Ghuloum 9b0d2143a3 * exported even? 2007-06-13 13:01:21 +03:00
Abdulaziz Ghuloum 6441235594 * exported modulo (incomplete). 2007-06-13 12:58:48 +03:00
Abdulaziz Ghuloum 01f12f135a * Added the round procedure 2007-06-13 12:40:29 +03:00
Abdulaziz Ghuloum 3edcc64121 * Added exact? 2007-06-13 12:05:24 +03:00
Abdulaziz Ghuloum 97dfd0ddcf * Added min. 2007-06-13 11:55:37 +03:00
Abdulaziz Ghuloum 88d8e198fc * Added the rest of fl=? fl<? fl<=? fl>? fl>=? 2007-06-13 11:53:52 +03:00
Abdulaziz Ghuloum adb65c1b84 * Added expt to (r6rs)
* Added fl+ and fl-.
2007-06-13 11:47:30 +03:00
Abdulaziz Ghuloum 3fb701187e * Added (r6rs arithmetic flonums) library containing fl<? only 2007-06-13 11:37:22 +03:00
Abdulaziz Ghuloum 352d0f54dd * Added write-char to (r6rs) library. 2007-06-13 10:36:11 +03:00
Abdulaziz Ghuloum f3166040a0 * Addd (r6rs mutable-pairs) library. 2007-06-13 10:26:51 +03:00
Abdulaziz Ghuloum 9bd65cc447 * Fixed rational? and integer? to handle flonums properly. 2007-06-13 09:03:30 +03:00
Abdulaziz Ghuloum 83c7fe71b8 * Fixed two bugs in the ratnum case of mk< procs. 2007-06-13 06:04:08 +03:00
Abdulaziz Ghuloum 5f1b44106a * removed the 3-arg dispatch in the generic =, <,, <=, >, >= 2007-06-12 17:32:25 +03:00
Abdulaziz Ghuloum f05f8965d6 * string-to-number now understands:
- #e #E #i #I prefixes
  - decimal notation
  - exponents
2007-06-12 03:57:35 +03:00
Abdulaziz Ghuloum e1d0d4aca6 * subtraction (-) now understands ratnums. 2007-06-12 02:49:27 +03:00
Abdulaziz Ghuloum ca257870ce * bignum->flonum now handles large floats properly by converting
them to +inf.0 and -inf.0.
2007-06-12 02:25:13 +03:00
Abdulaziz Ghuloum b01e289798 * Numeric comparison functions =, <, <=, >, >= now understand
ratnums.
2007-06-11 11:59:11 +03:00
Abdulaziz Ghuloum 90feb453f5 * Added tests for bignum->flonum. 2007-06-10 20:32:48 +03:00
Abdulaziz Ghuloum cde508d58c * reimplemented bignum->flonum in Scheme now. ikrt_bignum_to_flonum
is no longer used.
2007-06-10 20:21:41 +03:00
Abdulaziz Ghuloum 9a31a8f0d3 * Added $make-flonum and $flonum-set! prims. 2007-06-10 12:09:01 +03:00
Abdulaziz Ghuloum 7246be795d * removed old flonum->string Scheme code and supporting C code. 2007-06-10 10:35:45 +03:00
Abdulaziz Ghuloum cccdd1122c * Added flonum->string using dybvig's algorithm. 2007-06-10 07:55:49 +03:00
Abdulaziz Ghuloum a596550e97 * Added log. 2007-06-10 07:37:30 +03:00
Abdulaziz Ghuloum d88126aea1 * Added inexact->exact 2007-06-10 07:35:39 +03:00
Abdulaziz Ghuloum 0480517615 * Added floor/ceiling. 2007-06-10 07:32:19 +03:00
Abdulaziz Ghuloum 6712e9490b * Fixed two bugs in $ratnum-n and $ratnum-d 2007-06-08 10:30:25 +03:00
Abdulaziz Ghuloum 3798fd932a * Added ratnum cases to binary*. 2007-06-08 10:18:36 +03:00
Abdulaziz Ghuloum b859c05bd6 * Added (flonum-u8-ref x k) where x is a flonum, k is a fixnum in
between 0 and 7, and returns byte k in the flonum data structure.
  k is a logical index in an IEEE number with the structure:
  [s][11-bit-biased-expo] [52-bit-mantissa==================]
  [  k = 0  ] [  k = 1  ] [k=2] [k=3] [k=4] [k=5] [k=6] [k=7]
2007-06-08 09:15:25 +03:00
Abdulaziz Ghuloum 9c458d4ba7 * reinstalled exact->inexact 2007-06-08 09:10:18 +03:00
Abdulaziz Ghuloum cd788e4bed * Added (ikarus system $flonums) library (empty). 2007-06-08 09:07:02 +03:00
Abdulaziz Ghuloum f3e5772e76 * Added bref to assembler
* Fixed bug in bytevector-s8-ref
2007-06-08 08:54:10 +03:00
Abdulaziz Ghuloum a27c6e13a9 * fixed a HUGE bug in optimize-letrec.
* fixed two minor bugs in the code generators for - and +
* added a constant-folder for "length"
2007-06-06 10:14:07 +03:00
Abdulaziz Ghuloum ae0b25ae9f * do-spill now removes spilled vars from neighbors of conflicting
vars.
2007-06-06 09:24:32 +03:00
Abdulaziz Ghuloum 0db57fbb69 * removed the reg? argument to build-graph. Reg? was needed when
build-graph was used for constructing both frame conflicts and
  register conflicts.  Now, it's only used for register conflicts so
  reg? is no longer needed.
2007-06-06 06:10:28 +03:00
Abdulaziz Ghuloum 01658fe195 removed libcogen1.ss which was not used by the compiler. 2007-06-06 05:38:02 +03:00
Abdulaziz Ghuloum 39e6fc2fcf * removed more junk. 2007-06-06 03:11:12 +03:00
Abdulaziz Ghuloum 665f3a0b79 * removed old one-pass compiler. chaitin is now the default
backend
2007-06-06 02:57:48 +03:00
Abdulaziz Ghuloum 563f32c16f * swapped core-compile-expr and alt-core-compile-expr 2007-06-06 02:48:09 +03:00
Abdulaziz Ghuloum 7301be0ab0 * removed one instance of build-graph which reduces compile time
from 225 secs down to 17!  Sweet!
2007-06-06 02:32:45 +03:00
Abdulaziz Ghuloum feb9764645 * Cleanup of some junk code in color-by-chaitin 2007-06-06 01:16:34 +03:00
Abdulaziz Ghuloum 1dc9e83448 * Altcogen works. Need to rethink how to code the conflict graphs. 2007-06-04 02:55:04 +03:00
Abdulaziz Ghuloum a5dbb8f45d * Can load altcogen. 2007-06-03 04:55:40 +03:00
Abdulaziz Ghuloum 6279bc7c47 * alt-compile-core-expr-to-port is now exported from (ikarus compiler) 2007-06-02 10:26:06 +03:00
Abdulaziz Ghuloum ca248be49a * Libraries can export modules now.
* libaltcogen can now be loaded.
2007-06-02 10:21:05 +03:00
Abdulaziz Ghuloum b7b3709f69 * Added (import M) for M \in modules. 2007-06-02 05:59:55 +03:00
Abdulaziz Ghuloum d2657bde24 * Added basic identifier-syntax (one that does not recognize the
set! case).
2007-06-02 05:43:24 +03:00
Abdulaziz Ghuloum af9798e9be * Better handling of multi-byte read-char. 2007-06-02 05:17:22 +03:00
Abdulaziz Ghuloum ee738a9a62 * somewhat fixed the ugly syntax-error message in syntax.ss 2007-05-22 20:21:22 -04:00
Abdulaziz Ghuloum cd1de33b91 * Added let-syntax and letrec-syntax. 2007-05-22 19:59:30 -04:00
Abdulaziz Ghuloum fb48ef12bd * disabled gzipped fasl files. too slow :-( 2007-05-22 19:01:07 -04:00
Abdulaziz Ghuloum 580481d8fc * The runtime system can now open gzipped bootfiles in addition to
uncompressed fasl files.
2007-05-22 17:56:15 -04:00
Abdulaziz Ghuloum 890dd348b2 * fasl files now may contain ascii strings as a special type in
order to reduce the size of the fasl file.  Gains: reduces the
  size of the current boot file from 2.9M down to 2.5M.
2007-05-21 23:09:45 -04:00
Abdulaziz Ghuloum 9f1e3dcb0b * Added numerator and denominator. 2007-05-21 19:54:36 -04:00
Abdulaziz Ghuloum b1a6668060 * Added lcm. 2007-05-21 19:49:23 -04:00
Abdulaziz Ghuloum e78c0f3a78 * Added gcd 2007-05-21 19:35:16 -04:00
Abdulaziz Ghuloum 23769d5b09 * Added ratnum? to (ikarus).
* Modified some definitions of the numeric predicates to recognize 
  ratnums.
2007-05-20 23:23:54 -04:00
Abdulaziz Ghuloum 67765257cf * Added (ikarus system $ratnums) library. 2007-05-20 22:52:11 -04:00
Abdulaziz Ghuloum d062baee17 * Added an R6RS todo list
* fixed some problems (and introduced others) in the reader.
2007-05-20 22:16:57 -04:00
Abdulaziz Ghuloum aa98df6c4c moving to a new numeric reading algorithm.
added:
  src/tests/reader.ss
2007-05-20 13:11:33 -04:00
Abdulaziz Ghuloum 3c520ea9d3 minor change to concat in output-strings. 2007-05-20 00:57:28 -04:00
Abdulaziz Ghuloum 7b8b50a6aa * fixed incorrect handling of unicode chars in output string ports. 2007-05-19 22:36:52 -04:00
Abdulaziz Ghuloum a1879ccc57 * Added a unicode directory containing files from unicode.org
as well as extractors for the data.
2007-05-19 22:09:30 -04:00
Abdulaziz Ghuloum caa5eed9a0 * Writer and pretty-printer now print things more like what r6rs
requires as far as symbols and strings are concerned.
2007-05-19 17:28:03 -04:00
Abdulaziz Ghuloum f33fce8b04 * write now writes characters (including unicode chars) properly. 2007-05-19 15:18:08 -04:00
Abdulaziz Ghuloum 1abce54167 * string transition completed. string data is now 32-bit
tagged characters.
2007-05-19 14:38:45 -04:00
Abdulaziz Ghuloum 182de12428 * cleaned up some uses of naked strings in the runtime system. 2007-05-19 14:13:51 -04:00
Abdulaziz Ghuloum 267da9e77c * Writing strings to fasl files now uses 4-byte words for each
character.
2007-05-19 13:54:13 -04:00
Abdulaziz Ghuloum 1c4d3c4b40 * uuid now uses a bytevector for ffi. 2007-05-18 22:31:00 -04:00
Abdulaziz Ghuloum 027d50e84a * marked env and environ procedures busted. 2007-05-18 22:26:22 -04:00
Abdulaziz Ghuloum e499eb0f5a * delete-file now uses bytevectors for filename rep. 2007-05-18 22:21:36 -04:00
Abdulaziz Ghuloum cc500489b7 * file-exists? now uses bytevectors for filenames. 2007-05-18 22:18:51 -04:00
Abdulaziz Ghuloum b54cc9a762 * system now passes a bytevector to ik_system. 2007-05-18 22:15:52 -04:00
Abdulaziz Ghuloum 862871a787 * bignum->string now uses bytevectors as intermediate rep. 2007-05-18 22:08:45 -04:00
Abdulaziz Ghuloum 691a42fe4e * string->flonum now uses bytevectors as intermediate rep. 2007-05-18 22:01:04 -04:00
Abdulaziz Ghuloum 7ca0ddfa81 * flonum->string now uses a bytevector as the intermediate buffer. 2007-05-18 21:52:04 -04:00
Abdulaziz Ghuloum 179063c117 * open-output-file now uses a bytevector instead of a string to
represent the filename during ffi.
2007-05-18 21:06:25 -04:00
Abdulaziz Ghuloum 1586986dbe * open-input-file now uses a bytevector representing the filename
during ffi.
2007-05-18 21:03:14 -04:00
Abdulaziz Ghuloum 498084a6e8 * date-string now uses bytevectors instead of strings during ffi. 2007-05-18 20:59:10 -04:00
Abdulaziz Ghuloum 85944a2cff * Added utf8-bytevector->string decoder 2007-05-18 20:18:55 -04:00
Abdulaziz Ghuloum 10f5e53338 * foreign procedures are now represented as bytevectors instead of
strings.
2007-05-18 18:55:20 -04:00
Abdulaziz Ghuloum dfe8e0e1c1 * ikarus-fasl.c now recognizes the "v" marker for bytevectors 2007-05-18 18:16:52 -04:00
Abdulaziz Ghuloum 5c24a02d73 * fasl writer can now write bytevectors using tag "v". 2007-05-18 18:12:48 -04:00
Abdulaziz Ghuloum 9a89717c2d * Implemented string->utf8-bytevector
added:
  src/ikarus.transcoders.ss
2007-05-18 18:02:49 -04:00
Abdulaziz Ghuloum 08176e3b91 * Output string ports now use bytevectors for their internal buffer. 2007-05-18 16:15:40 -04:00
Abdulaziz Ghuloum 3f220faf13 * output files now use bytevectors as their internal buffer. 2007-05-18 16:07:58 -04:00
Abdulaziz Ghuloum 7e9e43bec1 * output strings now use their own internal buffers 2007-05-18 15:47:06 -04:00
Abdulaziz Ghuloum ceecfd9251 * implemented write-byte 2007-05-18 08:22:04 -04:00
Abdulaziz Ghuloum 9032492bf3 * Added write-byte to ikarus.io-primitives 2007-05-18 08:19:03 -04:00
Abdulaziz Ghuloum 35fa003558 * Added $write-byte to ikarus.io-primitives.unsafe.ss 2007-05-18 08:15:51 -04:00
Abdulaziz Ghuloum bc41665bf3 * removed junk from input-files handlers. 2007-05-17 06:46:47 -04:00
Abdulaziz Ghuloum 52a28f8332 * input ports now use bytevectors fully. 2007-05-17 06:44:51 -04:00
Abdulaziz Ghuloum 3148d7f95c * input ports now have a bytevector as buffer 2007-05-17 06:27:59 -04:00
Abdulaziz Ghuloum efd2734075 * input strings now do not use the internal port buffer 2007-05-17 05:50:01 -04:00
Abdulaziz Ghuloum 49dc13d5ee * make string operations safe in all io layers. 2007-05-17 05:41:00 -04:00
Abdulaziz Ghuloum 5249a8ec31 * The gc now knows about bytevectors 2007-05-17 04:34:52 -04:00
Abdulaziz Ghuloum 913bd590b6 * Added uint-list->bytevector and sint-list->bytevector. 2007-05-17 03:36:28 -04:00
Abdulaziz Ghuloum d62c01dfa7 * bytevector-sint-set! is completed. 2007-05-17 03:03:10 -04:00
Abdulaziz Ghuloum 8f885aa848 * bytevector-sint-set! is almost ok. 2007-05-16 11:05:06 -04:00
Abdulaziz Ghuloum e3bb91ad08 * Added a $bignums library that's now just holding the names of
primitive bignum functions.
2007-05-16 06:02:34 -04:00
Abdulaziz Ghuloum 2ee587d26d * Added #vu8(bytes ...) for the reader and writer. 2007-05-15 23:57:35 -04:00
Abdulaziz Ghuloum 14066b3ec9 * added a check for non-negative integer for bytevector-uint-set!. 2007-05-15 23:24:07 -04:00
Abdulaziz Ghuloum 9488a0706f * Added bytevector-uint-set! 2007-05-15 20:19:24 -04:00
Abdulaziz Ghuloum 4062b00c29 * Added bytevector-uint-ref, bytevector-sint-ref, bytevector->uint-list,
and bytevector->sint-list
2007-05-15 19:27:36 -04:00
Abdulaziz Ghuloum 3629e0b0d9 * Added bytevector=? 2007-05-15 14:37:04 -04:00
Abdulaziz Ghuloum 1e364d3186 * Added bytevector-copy and bytevector-fill! 2007-05-15 14:33:50 -04:00
Abdulaziz Ghuloum f630177d17 * Added bytevector->u8-list, u8-list->bytevector, and
bytevector-copy!.
2007-05-15 14:27:31 -04:00
Abdulaziz Ghuloum a809afd0fb * added bytevector-s8-set! and bytevector-u8-set!. 2007-05-15 13:50:00 -04:00
Abdulaziz Ghuloum a11fb060f2 * Added bytevector-u8-ref and bytevector-s8-ref. 2007-05-15 13:38:38 -04:00
Abdulaziz Ghuloum db80ba43f6 * Added bytevector-length 2007-05-15 13:17:17 -04:00
Abdulaziz Ghuloum 49d254c89e * Added make-bytevector and bytevector? 2007-05-15 12:42:52 -04:00
Abdulaziz Ghuloum 9d3e23fb6d * added an (ikarus system $bytevectors) library 2007-05-15 12:29:47 -04:00
Abdulaziz Ghuloum 97f59ad1ee * transition of symbols to secondary type done. 2007-05-15 11:37:43 -04:00
Abdulaziz Ghuloum 9ded62b5e5 * can now load fresh compiler 2007-05-15 10:45:31 -04:00
Abdulaziz Ghuloum 2b96460a77 * added find-library-by-name 2007-05-15 10:23:40 -04:00
Abdulaziz Ghuloum 026f786bf9 * added current-library-collection and library-name to
ikarus.system.$bootstrap
2007-05-15 10:18:58 -04:00
Abdulaziz Ghuloum 6bdb50004a * incremental step towards loading a fresh compiler for
bootstrapping.
2007-05-15 08:56:22 -04:00
Abdulaziz Ghuloum 18777b192d * Fixed a bug that caused interrupts to write the contents of the
output buffer twice.
2007-05-14 18:16:00 -04:00
Abdulaziz Ghuloum 12120c6cbc * new rev. 2007-05-14 14:58:33 -04:00
Abdulaziz Ghuloum e831d54afe * Added a comment file about r6rs records. 2007-05-14 14:53:29 -04:00
Abdulaziz Ghuloum 3656be2631 * Added open-input-string. 2007-05-11 23:39:22 -04:00
Abdulaziz Ghuloum c85495a4f2 * added positive? 2007-05-11 23:14:23 -04:00
Abdulaziz Ghuloum 1feea6c243 * better error message for referencing pattern variables outside a
syntax form
2007-05-11 22:54:18 -04:00
Abdulaziz Ghuloum 6fe22073dd * Added datum->syntax and syntax->datum 2007-05-11 22:50:02 -04:00
Abdulaziz Ghuloum 6e1c1f847a * Added bound-identifier=? 2007-05-11 22:47:09 -04:00
Abdulaziz Ghuloum d7b72ae38a * added call-with-current-continuation. 2007-05-11 22:02:49 -04:00
Abdulaziz Ghuloum daadee442c * fixed bug in library-name->file-name which did not handle capital
letters properly.
2007-05-11 21:27:00 -04:00
Abdulaziz Ghuloum 29c43af1f4 * added environment, environment?, and eval as specified by r6rs. 2007-05-11 21:06:31 -04:00
Abdulaziz Ghuloum 008457c5f8 * top-level-value error now prints the names of the symbol using ~a
instead of ~s.
2007-05-11 20:45:15 -04:00
Abdulaziz Ghuloum 1932db8d65 * library manager now attempts to load imported libraries from file
according to some library-name->file-name mapping.
2007-05-11 20:32:48 -04:00
Abdulaziz Ghuloum 4ca7b2780e * top-level sorta works. 2007-05-10 03:59:20 -04:00
Abdulaziz Ghuloum 48f98c13c5 * added some support for the old interaction repl behavior. 2007-05-09 23:42:32 -04:00
Abdulaziz Ghuloum 4763b3e67e * reinstated (ikarus fasl read) 2007-05-09 19:37:24 -04:00
Abdulaziz Ghuloum e157388176 * added (r6rs syntax-case) library. 2007-05-09 12:54:57 -04:00
Abdulaziz Ghuloum 457ed6aa4b * removed uses of fx primitives from ikarus.syntax.ss 2007-05-09 11:26:26 -04:00
Abdulaziz Ghuloum fd91a5bafc * added a (ikarus symbols) library. 2007-05-09 11:17:54 -04:00
Abdulaziz Ghuloum f64b0ee310 * added a (chez modules) library that exports the module keyword. 2007-05-09 11:12:27 -04:00
Abdulaziz Ghuloum 48244ec85e * makefile.ss is turned into an r6rs-script. 2007-05-09 07:49:04 -04:00
Abdulaziz Ghuloum 35a9aa6d20 * r6rs top-level programs seem to work. 2007-05-09 07:47:40 -04:00
Abdulaziz Ghuloum 8c2b318648 * added a loader for top-level r6rs scripts. 2007-05-09 07:35:31 -04:00
Abdulaziz Ghuloum 7494c29bba * Added an argument "top?" to chi-body* which indicates whether
we're expanding a top-level program (and thus can generate
  temporaries for expressions) or not.
2007-05-09 06:42:37 -04:00
Abdulaziz Ghuloum e414b2daca * moved the position of the rib argument to chi-body* to the end
in (ikarus syntax).
2007-05-09 06:39:42 -04:00
Abdulaziz Ghuloum 3be2a9d9af * changed (ikarus syntax) to build letrec* instead of letrec for
internal and library definitions.
2007-05-09 06:33:44 -04:00
Abdulaziz Ghuloum 31b73fd46c * the decision criteria for complex primitives (in optimize-letrec)
has changed.  right now, any primitive call is treated as complex.
  further research into what primitive calls can be treated as
  simple is suspended until further notice.
2007-05-09 06:30:09 -04:00
Abdulaziz Ghuloum 509a375871 * makefile now inserts letrec* into (ikarus) and (r6rs). 2007-05-09 06:10:38 -04:00
Abdulaziz Ghuloum f5a980efd6 * (ikarus syntax) now recognized letrec* (untested). 2007-05-09 06:09:37 -04:00
Abdulaziz Ghuloum 5c2220f9bb * the compiler now recognizes letrec* (not tested yet). 2007-05-09 05:59:32 -04:00
Abdulaziz Ghuloum c8e60f84da * more cleanup in pairs.ss 2007-05-08 19:38:05 -04:00
Abdulaziz Ghuloum 0e1fcc18c3 * cleanup of pairs.ss 2007-05-08 19:19:50 -04:00
Abdulaziz Ghuloum 1948dd5942 * testing commit of bzr.16 2007-05-08 10:04:00 -04:00
Abdulaziz Ghuloum 18e6ac04fa * more cleanup again. 2007-05-08 06:58:19 -04:00
Abdulaziz Ghuloum c4d0277fb3 * more cleanup 2007-05-08 06:56:20 -04:00
Abdulaziz Ghuloum 741c261b7e * good cleanup of the syntax macro done. 2007-05-08 06:33:19 -04:00
Abdulaziz Ghuloum 88cbbaeb12 * major cleanup in the syntax-case macro. 2007-05-08 06:21:55 -04:00
Abdulaziz Ghuloum bae137b21d * reinstated some quasiquotes. 2007-05-08 06:06:45 -04:00
Abdulaziz Ghuloum e4f2b18f80 * stupid syntax-foo helpers are gone. 2007-05-08 06:03:11 -04:00
Abdulaziz Ghuloum 9a3d959142 * cleanup of syntax.ss 2007-05-08 05:48:53 -04:00