Commit Graph

643 Commits

Author SHA1 Message Date
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
Abdulaziz Ghuloum 4c8029ab3e * now exporting installed-libraries. 2007-05-07 04:09:35 -04:00
Abdulaziz Ghuloum 37920f52af * now exporting set-rtd-printer! 2007-05-07 04:04:54 -04:00
Abdulaziz Ghuloum 3f4e5ee1a4 * current-library-collection removed. 2007-05-07 03:57:17 -04:00
Abdulaziz Ghuloum 1807ac38c9 * removed library-subst/env procedure. 2007-05-07 03:55:51 -04:00
Abdulaziz Ghuloum 97cd3dc461 * added an auxilary procedure library-exists? for the library
manager.
2007-05-07 03:45:13 -04:00
Abdulaziz Ghuloum 22b191334f * the expander now signals a proper error if it cannot find an
imported library.
2007-05-07 03:42:40 -04:00
Abdulaziz Ghuloum 9cdaa11a60 * all lexicals are now added through the procedure add-lexical in
(ikarus syntax).
2007-05-07 03:22:42 -04:00
Abdulaziz Ghuloum bb3dac193f * top-rib is now unsealed after we're done with it. 2007-05-07 02:48:23 -04:00
Abdulaziz Ghuloum 24f07a7d66 * swapped the message and the procedure for time-it. 2007-05-07 02:32:39 -04:00
Abdulaziz Ghuloum 4e5d1439e0 * Added timers to the makefile.ss 2007-05-07 02:29:34 -04:00
Abdulaziz Ghuloum 6723a30ef9 * completed self-organizing sealed ribs. 2007-05-07 02:17:39 -04:00
Abdulaziz Ghuloum de158ca4cd * added a sealed/freq field to the rib record. The idea is to
convert the rib data from lists to vectors once the rib is sealed
  (i.e. no more bindings will be added to it) and then sort it
  according to the frequency of references made to the individual
  bindings.
2007-05-07 00:44:28 -04:00
Abdulaziz Ghuloum c69f74fb05 * re-ordered the clauses in label->binding since imported stuff are
more likely to occur than locally defined stuff (is this true in
  general?)
2007-05-07 00:25:21 -04:00
Abdulaziz Ghuloum 90da5334bd * the global bindings are now a pair of <library,gensym-location>. 2007-05-06 23:42:10 -04:00
Abdulaziz Ghuloum 08a0bb0989 * the library manager now has a hash table mapping all labels to
their bindings.  This gives a 0.3 second speed up to the bootstrap
  process.
2007-05-06 23:32:51 -04:00
Abdulaziz Ghuloum 4c12889e10 * removed current-library-collection from list of primitives. 2007-05-06 23:12:34 -04:00
Abdulaziz Ghuloum 2eb451febe * removed some junk from ikarus.syntax 2007-05-06 23:11:30 -04:00
Abdulaziz Ghuloum 085a0c14ed * removed $code? from the compiler as well. 2007-05-06 22:50:28 -04:00
Abdulaziz Ghuloum 70008f2f7a * removed all references to $code? from the code. 2007-05-06 22:49:33 -04:00
Abdulaziz Ghuloum d58f15b14c * added code? to the compiler. 2007-05-06 22:48:10 -04:00