Commit Graph

663 Commits

Author SHA1 Message Date
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
Abdulaziz Ghuloum c5915af00a * added a FIXME about (apply append ---) 2007-05-08 05:47:30 -04:00
Abdulaziz Ghuloum 0f5fbd6380 * made better use of the new guard ability of syntax-match 2007-05-08 05:31:04 -04:00
Abdulaziz Ghuloum 9bcfbf0664 * in syntax-match, _ now matches anything and does not bind a
variable.
2007-05-08 05:15:30 -04:00
Abdulaziz Ghuloum 1355665e55 * faster syntax-match implementation. 2007-05-08 05:10:37 -04:00
Abdulaziz Ghuloum 65dbda85fc * syntax-match now accepts a single code form only. 2007-05-08 03:48:42 -04:00
Abdulaziz Ghuloum 862a8b558c * better error messages for displaced lexicals. 2007-05-08 01:42:19 -04:00
Abdulaziz Ghuloum 2d8a4521cf * removed lhs* and kwd* from expander, now reinstating properly. 2007-05-08 00:45:22 -04:00
Abdulaziz Ghuloum fc418d1fb6 * chi-internal-module now uses chi-body* to process its body. 2007-05-07 23:41:36 -04:00
Abdulaziz Ghuloum bee9773072 * removed chi-internal-body 2007-05-07 23:25:28 -04:00
Abdulaziz Ghuloum 887552b49f added:
src/tests.libraries.ss
2007-05-07 22:30:27 -04:00
Abdulaziz Ghuloum 0bb5276177 * deleted find-exports from syntax.ss 2007-05-07 22:25:20 -04:00
Abdulaziz Ghuloum 2c4ddb0f67 * building export env seems to be ok. 2007-05-07 22:18:46 -04:00
Abdulaziz Ghuloum 151913a749 * visit-time requirements are tracked properly now. 2007-05-07 21:30:52 -04:00
Abdulaziz Ghuloum 795f87b499 * the expander now creates a visit-time-collector that's supposed to
collect the visit-time requirements.
2007-05-07 21:11:28 -04:00
Abdulaziz Ghuloum 6b39f738a0 * we can now import macros from other libraries. They are visited
before the macro is used.
2007-05-07 20:58:12 -04:00
Abdulaziz Ghuloum 57a269436a * now constructing visit code. 2007-05-07 20:32:36 -04:00
Abdulaziz Ghuloum 5f07f5f921 * changed sanitize-binding to add a local prefix to all introduced
keywords (like local-macro, local-macro!, and local-rtd)
2007-05-07 20:02:29 -04:00
Abdulaziz Ghuloum 32a1751025 * fixed a couple of typos in syntax.ss 2007-05-07 19:46:48 -04:00
Abdulaziz Ghuloum 036292f3fc * install-library now takes all 11 arguments! 2007-05-07 04:54:10 -04:00
Abdulaziz Ghuloum 8226619438 * install-library now takes an extra visibility flag.
* installed-libraries now takes an optional "all?" flag:
  - if all? is true, it returns all libraries.
  - if all? is false, it returns only the visible libraries
  - all? defaults to #t.
2007-05-07 04:52:22 -04:00