Commit Graph

317 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 2632c786ec * added an "eval-top-level" procedure. 2007-05-03 01:18:59 -04:00
Abdulaziz Ghuloum 86a75e8d54 * added an "imported-loc->library" procedure to the library manager 2007-05-03 01:07:10 -04:00
Abdulaziz Ghuloum d0c92ae99e things are looking better, lotsa cleanup in libcompile. 2007-05-03 00:54:32 -04:00
Abdulaziz Ghuloum 5db96309b6 * load-handler is gone. 2007-05-03 00:41:40 -04:00
Abdulaziz Ghuloum f6cafc8f40 * added a default-cafe-eval procedure that new-cafe calls by default.
* defailt-cafe-eval calls chi-library-top.
2007-05-03 00:38:42 -04:00
Abdulaziz Ghuloum 35600203f9 * added an load-handler procedure that defaults to calling
chi-library-top.
* changed definition of load to use load-handler
2007-05-03 00:33:18 -04:00
Abdulaziz Ghuloum cc2f391a6f * sc-expand is gone 2007-05-03 00:19:06 -04:00
Abdulaziz Ghuloum 097e430912 * current-expand is gone 2007-05-03 00:17:53 -04:00
Abdulaziz Ghuloum 260487b393 * libsyntax now uses eval-core to evaluate its run-time expressions. 2007-05-03 00:12:43 -04:00
Abdulaziz Ghuloum f14ac302f4 * added eval-core procedure. 2007-05-03 00:10:13 -04:00
Abdulaziz Ghuloum c780c192a1 * compile-time-core-eval is gone 2007-05-03 00:00:50 -04:00
Abdulaziz Ghuloum 96b15b3d74 * current-eval is gone. 2007-05-02 23:59:55 -04:00
Abdulaziz Ghuloum d6958c99a0 * making more changes 2007-05-02 23:56:46 -04:00
Abdulaziz Ghuloum d83bff5f5e * expand-mode is gone 2007-05-02 20:36:23 -04:00
Abdulaziz Ghuloum 9a80586934 * run-library-expander now installs and invokes the library
automatically.
2007-05-02 20:29:32 -04:00
Abdulaziz Ghuloum c3767da70e * Added an invoke-library primitive to the library manager. 2007-05-02 20:05:19 -04:00
Abdulaziz Ghuloum 362d9f3b38 * removes library-name/ver/id and added library-spec primitive 2007-05-02 19:22:54 -04:00
Abdulaziz Ghuloum 63d35807c1 * library manager exports library-name/id/version prims 2007-05-02 19:19:37 -04:00
Abdulaziz Ghuloum eb0d58f2aa * still working on the run-library-expander 2007-05-02 19:07:48 -04:00
Abdulaziz Ghuloum 1fdce919d7 * split the library expander into a core-library-expander
and two expanders: one for boot and one for runtime
2007-05-02 18:44:25 -04:00
Abdulaziz Ghuloum 4c4af70ffc * expander now uses imported-label->binding to resolve imported
bindings.
2007-05-02 18:16:25 -04:00
Abdulaziz Ghuloum 7aa29c5a00 * Added an imported-binding->label primitive to the library manager 2007-05-02 18:13:31 -04:00
Abdulaziz Ghuloum 402f6e48ed * The main subst used for expanding a library is now obtained
from the library manager.
2007-05-02 18:02:17 -04:00
Abdulaziz Ghuloum 86dc98afa1 * the scheme env is moved to the library manager 2007-05-02 17:13:16 -04:00
Abdulaziz Ghuloum ef4bb0951e * Added installed-libraries prim. 2007-05-02 16:55:54 -04:00
Abdulaziz Ghuloum 4df202261b * install-library now can install simple libraries. 2007-05-02 06:24:37 -04:00
Abdulaziz Ghuloum 896a4408fd * added initial code for a library manager 2007-05-02 04:48:41 -04:00
Abdulaziz Ghuloum 8383fd79d6 * added a primitive-location parameter. 2007-05-02 02:16:56 -04:00
Abdulaziz Ghuloum efded22ebc * boot-library-expand now returns an environment along with the
expanded code.
2007-05-02 01:52:11 -04:00
Abdulaziz Ghuloum 671e2f475c * Added a "boot-library-expand" to separate the top-library
expander from the experimental expander.
2007-05-02 00:06:44 -04:00
Abdulaziz Ghuloum 718b20767f * cleanup of makefile.ss 2007-05-01 17:39:17 -04:00
Abdulaziz Ghuloum 2fae44c304 * syntax-objects are now non-generative records 2007-05-01 17:25:43 -04:00
Abdulaziz Ghuloum e1bfd0f31f * added with-output-to-file to the scheme-env 2007-05-01 16:49:07 -04:00
Abdulaziz Ghuloum b2b8ba6994 * moved some of the original macros to be true macros
instead of chi procedures.
2007-05-01 16:41:36 -04:00
Abdulaziz Ghuloum f62a41cc43 * removed all x:identifiers that were introduced during the move. 2007-05-01 06:15:42 -04:00
Abdulaziz Ghuloum 5e3e02e295 * psyntax removed from repository.
* syntax.ss renamed to libsyntax.ss.
2007-05-01 06:09:01 -04:00
Abdulaziz Ghuloum 00326031d8 * entire system librarified 2007-05-01 05:49:33 -04:00
Abdulaziz Ghuloum b772735658 * syntax.ss librarified. 2007-05-01 05:16:32 -04:00
Abdulaziz Ghuloum 218b0aab48 * before librarifiying syntax.ss 2007-05-01 05:12:32 -04:00
Abdulaziz Ghuloum 76023d27c6 * libcompile librarified 2007-05-01 04:37:35 -04:00
Abdulaziz Ghuloum 5ae6f6bc76 * before trying libcompile 2007-05-01 04:36:53 -04:00
Abdulaziz Ghuloum 705e8f386b * fixed error in check-dups of modules in internal defines. 2007-05-01 02:19:05 -04:00
Abdulaziz Ghuloum 17664b1a37 * working on libcompile 2007-05-01 00:06:47 -04:00
Abdulaziz Ghuloum 16a57eaf5c * libnumerics librarified 2007-05-01 00:04:53 -04:00
Abdulaziz Ghuloum 1e54a6e8da * libintelasm librarified 2007-04-30 23:46:31 -04:00
Abdulaziz Ghuloum 572b97c769 libchezio librarified 2007-04-30 23:18:37 -04:00
Abdulaziz Ghuloum b737da1b6e * some support for syntax-case added. 2007-04-30 22:00:04 -04:00
Abdulaziz Ghuloum bee4776036 * working on librarifying syntax.ss 2007-04-30 04:51:37 -04:00
Abdulaziz Ghuloum 2fe1943872 * libhandlers librarified 2007-04-30 01:06:00 -04:00
Abdulaziz Ghuloum 163ac8e281 * libcontrol librarified 2007-04-30 01:02:08 -04:00
Abdulaziz Ghuloum e373daaf13 removed:
src/libcontrol0.ss
  src/libcontrol1.ss
2007-04-30 00:56:04 -04:00
Abdulaziz Ghuloum 159abbafc0 * merged libcontrol0.ss and libcontrol1.ss back to libcontrol.ss 2007-04-30 00:55:13 -04:00
Abdulaziz Ghuloum e028e37d0f * libcollect librarified 2007-04-30 00:50:10 -04:00
Abdulaziz Ghuloum e953fff362 * librecords librarified 2007-04-30 00:47:37 -04:00
Abdulaziz Ghuloum 56f3d05a6e * libcxr librarified 2007-04-30 00:35:28 -04:00
Abdulaziz Ghuloum f4b0668ebb * libguardians librarified 2007-04-30 00:33:22 -04:00
Abdulaziz Ghuloum c3839a721d * libcore librarified 2007-04-30 00:31:21 -04:00
Abdulaziz Ghuloum d7414001bd * libhash libarified 2007-04-29 23:13:19 -04:00
Abdulaziz Ghuloum 97478fd873 * libwriter librarified 2007-04-29 23:00:20 -04:00
Abdulaziz Ghuloum 5d7afb92d4 * libtokenizer now librarified 2007-04-29 22:29:42 -04:00
Abdulaziz Ghuloum 726d53ac1b * chi-library now enforces that imported ids cannot be defined
in the body of the library
2007-04-29 21:59:06 -04:00
Abdulaziz Ghuloum cf3ff29874 * libassembler librarified 2007-04-29 21:42:41 -04:00
Abdulaziz Ghuloum cb6971a438 * libfasl librarified 2007-04-29 21:25:31 -04:00
Abdulaziz Ghuloum 338265eab1 * libtrace librarified 2007-04-29 20:55:51 -04:00
Abdulaziz Ghuloum 0cd876d5a2 * libpp librarified
* chi-library now knows about modules (kind of)
2007-04-29 20:41:55 -04:00
Abdulaziz Ghuloum 948797da22 * libcafe librarized 2007-04-29 18:35:18 -04:00
Abdulaziz Ghuloum d8619ac96e * libposix librarified 2007-04-29 05:02:44 -04:00
Abdulaziz Ghuloum 0144cf7bb1 * libtimers is now a library (kind of, meaning, chi-top-library can
parse it.
2007-04-29 04:38:08 -04:00
Abdulaziz Ghuloum 5e0649c5c0 * libtoplevel.ss is now using libraries only 2007-04-28 22:59:58 -04:00
Abdulaziz Ghuloum 149ace20d9 * removed the pretty-print from the output of chi-top-library 2007-04-28 20:59:38 -04:00
Abdulaziz Ghuloum c1a946b346 * first library (ikarus interaction) is added.
* the library expander (syntax.ss) is added.
2007-04-28 20:54:02 -04:00
Abdulaziz Ghuloum fde9424682 updated boot after suppressing let-values bug 2007-04-28 05:06:43 -04:00
Abdulaziz Ghuloum 5db1a9626a * added compile-core-expr-to-port in order to compile the whole
program at once
2007-04-28 01:42:12 -04:00
Abdulaziz Ghuloum f27c2df625 * assign-frame-sizes is as complete as could be (time for assigning
libcompile.ss dropped from ~5 secs to 1.8 secs).
2007-03-11 20:55:43 -04:00
Abdulaziz Ghuloum 068bc38e42 * eliminated a few instances of set-rem and set->list. 2007-03-11 20:39:21 -04:00
Abdulaziz Ghuloum 2b6bcc324b * when a variable is assigned a location, it does not need to remove
itself from the edges of its conflicting nodes.
2007-03-11 20:07:00 -04:00
Abdulaziz Ghuloum c473619084 * important realization that set->list is perhaps the most expensive
operation on sets.  Working on eliminating most uses of set->list.
2007-03-11 20:00:08 -04:00
Abdulaziz Ghuloum 2b5b555bac * Just realized that you don't need all var<->var conflicts to be
recorded.  All is needed is for a var $x$ to know some of its var
  conflicts as long as the other conflicts know about $x$.  I'll be
  working on this now.  I'm hoping for a 50% speedup in the
  assign-frame-sizes pass.
2007-03-11 18:54:15 -04:00
Abdulaziz Ghuloum aa1c7e1bb7 * before changing number of bits to 28 2007-03-11 03:40:47 -04:00
Abdulaziz Ghuloum 3cb18c56e9 * deleting old list-based set representation. 2007-03-10 21:01:41 -05:00
Abdulaziz Ghuloum fa94d2f6a1 * added a few missing instruction sequences where the dest is a
memory location.
* implemented integer sets (based on tree representation).
2007-03-10 19:50:24 -05:00
Abdulaziz Ghuloum 10bdc3dcd6 * starting with IntegerSet 2007-03-10 16:47:13 -05:00
Abdulaziz Ghuloum d4559cfd4c cleanup of repository content. 2007-03-09 19:28:38 -05:00
Abdulaziz Ghuloum 5bb666bf7f * last commit on alt-cogen and beginning of alt-alt-cogen :-) 2007-03-09 14:01:17 -05:00
Abdulaziz Ghuloum 893a2decc8 * added bignum? primitive and removed ikrt_isbignum from the runtime
system.
2007-03-04 13:02:39 -05:00
Abdulaziz Ghuloum c6861f41d5 * added flonum? and removed ikrt_is_flonum from the runtime system. 2007-03-04 12:59:28 -05:00
Abdulaziz Ghuloum b326fbc07a * completed the move to new specify-representation pass infrastructure. 2007-03-03 23:17:04 -05:00
Abdulaziz Ghuloum cf65729971 more more more 2007-03-02 02:47:36 -05:00
Abdulaziz Ghuloum e9740fa34f * fixed bug in the graph construction that caused the operand of
idivl not to be added to the live set.
2007-03-02 00:41:28 -05:00
Abdulaziz Ghuloum de7c43a16b * optimized symbol calls using the symbol-function field.
* added error checks for applying nonprocedures.
2007-02-25 21:29:28 -05:00
Abdulaziz Ghuloum 87d8d5a5dd * added a $set-symbol-function! primitive. 2007-02-24 15:42:57 -05:00
Abdulaziz Ghuloum d99c22e8c4 * The shortcut form is now two parts: a body and a handler. The
evaluation of the body can jump to the handler at any point during
  evaluation by means of using the interrupt primitive or by
  overflow.
2007-02-22 23:02:50 -05:00
Abdulaziz Ghuloum 819a3ca1c1 * bug in collector causing dirty bits for code objects with younger reloc
vectors to be unset incorrectly.  The bug was in using || instead
  of | when computing the dirty pattern.
2007-02-22 21:58:38 -05:00
Abdulaziz Ghuloum 0bd88991cb * looks not bad. 2007-02-19 23:33:29 -05:00
Abdulaziz Ghuloum 30f71b0381 * frame moves are not working as nicely as they should. 2007-02-19 18:21:35 -05:00
Abdulaziz Ghuloum b6dd620b94 * chaitin can now compile the system. 2007-02-17 19:22:14 -05:00
Abdulaziz Ghuloum 0304c85082 * pre-spilling call-live variables works for the test cases now. 2007-02-17 18:09:03 -05:00
Abdulaziz Ghuloum 85bf359150 * psyntax is not working under chaitin. 2007-02-16 10:11:21 -05:00
Abdulaziz Ghuloum 649e7f022a * libchezio and libhash are remaining 2007-02-15 23:54:39 -05:00
Abdulaziz Ghuloum 1a4cdcb7b0 * libcore now compiles with chaitin 2007-02-14 19:42:36 -05:00
Abdulaziz Ghuloum 434ebe9525 * The $apply macro and all the appcall forms were removed from the
compiler after realizing that I was stupid.  
  ($appcall rator rand*)  was just (jmpcal SL_apply rator rand*)
2007-02-14 15:50:34 -05:00
Abdulaziz Ghuloum 8294a8dee9 * fixed an assembler bug in "addl reg -> mem" 2007-02-13 17:24:00 -05:00
Abdulaziz Ghuloum 297e47db32 * adding some asm tests in asm-tests.ss 2007-02-13 05:08:48 -05:00
Abdulaziz Ghuloum a123a77bbc * nothing much 2007-02-13 02:05:58 -05:00
Abdulaziz Ghuloum 826adfe9dd * can now compile libtoplevel 2007-02-12 23:19:56 -05:00
Abdulaziz Ghuloum f88e3a8b65 * libnumeric can be compiled now with chaitin 2007-02-12 23:03:41 -05:00
Abdulaziz Ghuloum 2e477881b6 * split libcontrol into primitive libcontrol0 and extended
libcontrol1.
2007-02-12 19:17:31 -05:00
Abdulaziz Ghuloum fad2c4e999 * fixed bug in assembler
* assembler now handles  orl imm, mem
2007-02-12 17:59:58 -05:00
Abdulaziz Ghuloum f766ca1148 * passes tests, but fails to compile psyntax. 2007-02-12 13:58:04 -05:00
Abdulaziz Ghuloum fa6e499b22 * before attempting to use chaitin to compile the system. 2007-02-11 21:42:01 -05:00
Abdulaziz Ghuloum 353b4393b0 tests 2.4 pass 2007-02-11 21:18:12 -05:00
Abdulaziz Ghuloum d0cf70341c * passinf 2.2 2007-02-11 19:17:59 -05:00
Abdulaziz Ghuloum 217445835f * passing 2.1 2007-02-11 18:52:10 -05:00
Abdulaziz Ghuloum 5174ccb1cc * passing 1.9 2007-02-11 18:07:58 -05:00
Abdulaziz Ghuloum 6fd790b046 * altcogen passes 1.8 2007-02-11 18:06:04 -05:00
Abdulaziz Ghuloum c44caba238 * newcogen passes 1.6 2007-02-11 17:51:42 -05:00
Abdulaziz Ghuloum 910b52f1f1 * libaltcogen now passes 1.5 2007-02-11 17:34:13 -05:00
Abdulaziz Ghuloum 639f8f4f25 * altcompile now passes conditionals. 2007-02-11 17:23:13 -05:00
Abdulaziz Ghuloum f5411877ba * altcompile now passes tests 1.3 2007-02-11 04:12:09 -05:00
Abdulaziz Ghuloum 27d8fd4558 * libaltcogen can now compile a simple expression :-) 2007-02-10 18:51:12 -05:00
Abdulaziz Ghuloum f10a8ffccd commented out references to some unused register names 2007-02-10 11:49:38 -05:00
Abdulaziz Ghuloum 7c26c2b19e * racompile passes 1.5 2007-02-05 22:35:38 -05:00
Abdulaziz Ghuloum caf234c0c3 * racompile passes 1.4 2007-02-05 20:38:22 -05:00
Abdulaziz Ghuloum 4698e0fd92 * racompiler passes 1.3
* assembler handles more xor operands
2007-02-05 17:09:50 -05:00
Abdulaziz Ghuloum f7e773b30f * racompiler passes tests 1.2 2007-02-05 14:46:33 -05:00
Abdulaziz Ghuloum 1eff505ab4 * racompiler compiles integers. 2007-02-05 14:30:42 -05:00
Abdulaziz Ghuloum f5d870f23b * made assembler accept integers (instead of fixnums) as immediates. 2007-02-05 14:19:03 -05:00
Abdulaziz Ghuloum d04dd79b81 * added open-input-string 2007-02-04 15:51:47 -05:00
Abdulaziz Ghuloum 0f5af66775 * Added a warning procedure. 2007-01-31 19:07:28 -05:00
Abdulaziz Ghuloum 3c4986ff89 * added last-pair primitive 2007-01-31 17:23:49 -05:00
Abdulaziz Ghuloum 126b7aa8fa * call-with-values where the second argument is a single-value
procedure is now direct-call-optimized.
2007-01-26 10:23:07 -05:00
Abdulaziz Ghuloum 8139a91a61 * Modified the reader and writer to accept "->[subsequent]*" as an
identifier.
2007-01-26 09:05:07 -05:00
Abdulaziz Ghuloum d8f646040f * added with-output-to-string 2007-01-22 21:07:20 -05:00
Abdulaziz Ghuloum 82375a3ddc * new-cogen now removes all primcalls before proceeding. Ideally,
no primcalls should be introduced at that point.
2007-01-21 22:24:12 -05:00
Abdulaziz Ghuloum f114fc2f78 * Started work on new cogen 2007-01-21 21:20:39 -05:00
Abdulaziz Ghuloum d6c2d5dd66 * representation (tags) of bignums/flonums changed successfully. 2007-01-21 20:36:22 -05:00
Abdulaziz Ghuloum 1c37a4ee54 * changing representation for all non-fixnum numbers. 2007-01-21 19:20:37 -05:00
Abdulaziz Ghuloum 783beb990b * exact->inexact is now implemnted.
* +, -, and * now handles flonums by converting exact arguments to
  inexact if the other argument is a flonum.
2007-01-20 19:26:17 -05:00
Abdulaziz Ghuloum 96ad8a04a4 * flonum->string now always returns a string with a decimal point.
* number?, exact?, inexact?, ... now know about flonums.
* number->string also handles flonums, and so is the writer
  (automatically).
2007-01-20 18:12:12 -05:00
Abdulaziz Ghuloum de910a3544 * added flonum?, string->flonum, and flonum->string. 2007-01-20 17:49:25 -05:00
Abdulaziz Ghuloum c6bc77bc9d * Many numeric predicates are added (exact?, inexact?, real?,
complex?, etc.).
* min and max are added.
2007-01-20 16:52:22 -05:00
Abdulaziz Ghuloum a2692706d4 added char-whitespace? 2007-01-20 14:40:41 -05:00
Abdulaziz Ghuloum a47856614f * The procedure member is now defined. 2007-01-20 00:09:11 -05:00
Abdulaziz Ghuloum c8111df150 * fixed bug in handling tcbuckets.
Summary of the bug:  
    if ik_alloc is called during gc, and if it causes a heap
    overflow, then the pages are deallocated before returning to
    scheme.
2007-01-19 18:13:44 -05:00
Abdulaziz Ghuloum 8b1236e031 * removed all dlink stuff from hash table. 2007-01-17 14:56:45 -05:00
Abdulaziz Ghuloum 13e8f76f13 * intermediate step:
gc has tcbucket_size=16
  compile allocates tcbucket_size=24
2007-01-17 14:34:25 -05:00
Abdulaziz Ghuloum 21f4ecb88d New pretty-printer now handles *pretty-format* semi-decently. 2007-01-15 02:44:45 -05:00
Abdulaziz Ghuloum 872a5e2e9e * Added even? and odd? primitives. 2007-01-13 22:32:54 -05:00
Abdulaziz Ghuloum fe89891d96 updated tests in libpp.ss 2007-01-13 21:58:14 -05:00
Abdulaziz Ghuloum 92e278281c * pretty-print is now added to ikarus.
* new-cafe now uses pretty-print instead of write for printing to
  the interaction repl.
2007-01-13 21:33:04 -05:00