Commit Graph

805 Commits

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