Commit Graph

983 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 14a947e7f9 * removed the "primitive?" and "primitive-ref" primitives. 2007-05-04 03:31:57 -04:00
Abdulaziz Ghuloum b74108f21c * added a "current-primitive-locations" primitive that returns an
alist mapping primitives to their locations (gensyms).
2007-05-04 03:29:27 -04:00
Abdulaziz Ghuloum a3aef19781 * exports from the compiler to the next runtime (system) library
now works.
2007-05-04 03:00:16 -04:00
Abdulaziz Ghuloum e568cc87d9 * the compiler can now import values defined in other libraries
in the compiler.
2007-05-04 02:39:50 -04:00
Abdulaziz Ghuloum 8d19b91270 * unified the two library-expanders into one procedure
* made boot-library-expander install the library in the 
  current-library-collection.
2007-05-04 02:33:58 -04:00
Abdulaziz Ghuloum 6922733809 * added a "current-library-collection" primitive.
Calling (current-library-collection) returns a procedure that:
    - when called with no arguments, it returns a list of the set of
      libraries in the collection.
    - when called with a single argument, it adds that library to
      the set of libraries in the collection.
  Calling (current-library-collection f) sets the current library 
   collection to be the procedure f which must follow the protocol
   above.
2007-05-04 02:23:19 -04:00
Abdulaziz Ghuloum 34fa59f9d4 * (export (rename (internal-name external-name) ...)) now works. 2007-05-04 01:32:52 -04:00
Abdulaziz Ghuloum bf3e5711a9 * fixed a pretty-printer bug that caused gensym count to be assigned
out of order.  It now uses map1ltr instead of map for list
  processing.
2007-05-03 04:38:48 -04:00
Abdulaziz Ghuloum b6734896e2 * working on cleaning up the makefile 2007-05-03 03:58:43 -04:00
Abdulaziz Ghuloum 2c25051855 * auto-invoke completely gone. 2007-05-03 01:59:57 -04:00
Abdulaziz Ghuloum 4eca8e3915 * auto-invoke is gone. top-level must explicitly invoke a library. 2007-05-03 01:49:16 -04:00
Abdulaziz Ghuloum cc17420db8 * added an (invoke libspec* ...) form to the top-level. 2007-05-03 01:47:43 -04:00
Abdulaziz Ghuloum 7595e45326 * the primitive chi-top-library is gone. 2007-05-03 01:25:09 -04:00
Abdulaziz Ghuloum bee47205bf * initializer of "expand" is also gone. 2007-05-03 01:23:54 -04:00
Abdulaziz Ghuloum 11e6d6518f * the "expand" primitive is gone. 2007-05-03 01:22:33 -04:00
Abdulaziz Ghuloum 4f8d8fa212 * new-cafe and load use eval-top-level now. 2007-05-03 01:19:50 -04:00
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
Abdulaziz Ghuloum 53b51e4088 * Tokenizer now recognizes "\r" in strings. 2007-01-13 14:39:58 -05:00
Abdulaziz Ghuloum 1a7a4e1c2a fixed bug in environ that causes substring to fail when one of the items is "foo=". 2007-01-13 13:02:03 -05:00
Abdulaziz Ghuloum 212224b4cf * Added the primitive (environ):
returns an alist of (string x string) as obtained from the
    system environ.
* Added the primitive env:
  (env "key") retrieves the env value associated with key
  (env "key" "val") sets the env value assocuated with key to val
  (env "key" "val" overwrite?) same as above but it does not
  overwrite an existing value of overwrite? is #f.
2007-01-13 00:42:37 -05:00
Abdulaziz Ghuloum 6359ca9ee4 Fixed copyright notice to be 2006-2007 instead of 2006. 2007-01-11 19:22:32 -05:00
Abdulaziz Ghuloum 09d9687fdd * Cogen no longer generates (int x) where x is a fixnum. 2007-01-09 09:44:00 +03:00
Abdulaziz Ghuloum ffc5ef557c (int x) is no longer emitted by the cogen.
assembler handles (int x) and fixnums similarly.
2007-01-09 09:24:07 +03:00
Abdulaziz Ghuloum 63575db860 * makefile.ss is updated to use fork and waitpid in order to make
use of the dual-core capability of my macbook :-)  
  Compile-time is now 1.5secs real-time.
2007-01-01 02:48:17 +03:00
Abdulaziz Ghuloum a5618ef877 * Fork, posix-fork, and waitpid are implemented. 2007-01-01 02:02:41 +03:00
Abdulaziz Ghuloum eb24d17049 Fixed bug that caused mvcalls to lose their live masks. 2007-01-01 01:46:47 +03:00
Abdulaziz Ghuloum a8e1b860bb Live-masks are busted again.
Some closures that are live are not traced by the GC.
2006-12-30 22:52:37 +03:00
Abdulaziz Ghuloum 2ea03e0417 * Fixed bug in collecting bignums.
* time-it now displays the number of collections and bytes
  allocated.
2006-12-29 13:45:30 +03:00
Abdulaziz Ghuloum b507118f5d Added libtimers.ss:
(time-it proc) runs proc and reports the time.
  (time-it proc message) runs proc and reports the time, with message.
  (time <expr>) evaluates expr and prints the running time.
2006-12-29 10:53:47 +03:00
Abdulaziz Ghuloum d38880b777 Fixed bug in libfasl that caused reading a thunk to return the code
instead.
2006-12-26 12:03:43 +03:00
Abdulaziz Ghuloum 0b38b1ff30 ikarus-fasl.c plays along with the rtd-symbol game by setting and
referencing rtd symbols.
2006-12-26 11:46:23 +03:00
Abdulaziz Ghuloum f5f91712dd * Fasl file reader almost complete with full record and code reader. 2006-12-26 11:25:48 +03:00
Abdulaziz Ghuloum 9c00592520 fasl-read handles negative fixnums. 2006-12-26 09:22:58 +03:00
Abdulaziz Ghuloum 3ddceaa164 fasl-read now handled pairs, positive-fixnums and the empty list. 2006-12-26 06:32:59 +03:00
Abdulaziz Ghuloum d41a2c0096 fasl-write now returns void instead of the meaningless number it used to return 2006-12-26 06:25:35 +03:00
Abdulaziz Ghuloum 4fa2bdf0d9 tokenize recognizes #@ as a fasl header and calls $fasl-read (in
libfasl.ss).
2006-12-26 06:21:07 +03:00
Abdulaziz Ghuloum f25cc3cb67 Pretty-printed gensyms:
* print-gensym now accepts the symbol "pretty" as a valid
    argument.
  * The writer prints #:pretty-name if the print-gensym value
    is |pretty|.
  * The reader accepts #:id as a valid syntax.  The result is
    a fresh gensym with id as a pretty-name.
2006-12-25 11:33:03 +03:00
Abdulaziz Ghuloum e7d0a0a1cc Tokenize now recognizes gensym syntax:
#{id0} => a fresh gensym with pretty-string id0
  #{id0 id1} => an interned gensym with pretty-string id0
                and unique-string id1.
id0 and id1 can have any identifier syntax including bar-quoted ids.
any number of whitespaces can be placed around id0 and id1.
2006-12-25 11:18:37 +03:00
Abdulaziz Ghuloum 158980aeea The fasl-loader interns gensyms by default now. 2006-12-25 10:35:18 +03:00
Abdulaziz Ghuloum b9a369197a gensym->unique-string now interns gensyms in the gensym table. 2006-12-25 10:25:40 +03:00
Abdulaziz Ghuloum 711cabe8bb removed all references to oblist from ss files 2006-12-25 09:20:09 +03:00
Abdulaziz Ghuloum 72653c5ef1 updated todo 2006-12-25 09:17:08 +03:00
Abdulaziz Ghuloum 4f5490039b * (interrupt-handler) is added to handle INT signals.
* Cafes now customize the interrupt-handler to suppress the error
  message during read that the default interrupt handler generates.
2006-12-24 12:53:01 +03:00
Abdulaziz Ghuloum da9518cc49 added comment to libguardians about where the code came from. 2006-12-24 12:20:16 +03:00
Abdulaziz Ghuloum 06158d90e0 deleted Makefile 2006-12-24 12:09:21 +03:00
Abdulaziz Ghuloum 0a01d8b4b8 makefile.ss and ikarusdoc now use "/usr/bin/env ikarus" in the shebang
line.
2006-12-24 12:08:18 +03:00
Abdulaziz Ghuloum 1e572559b7 collect is added to the set of public primitives 2006-12-24 11:50:19 +03:00
Abdulaziz Ghuloum f729a725d2 libinterpret is gone. 2006-12-24 11:27:53 +03:00
Abdulaziz Ghuloum 599f68aa84 * Ikarus now handles interrupts (e.g. ^C) by signalling an error
when an interrupt occurs.
2006-12-24 11:24:53 +03:00
Abdulaziz Ghuloum e69f0a5c80 * Assembler-output suppresses printing the closure-size; it prints
a newline instead.
2006-12-23 05:17:57 +03:00
Abdulaziz Ghuloum b06b28f562 * Print-gensym is now set to off during assembler-output. 2006-12-21 18:11:43 +03:00
Abdulaziz Ghuloum a41457ae66 * Heap and stack overflows now use interrupt-calls in order to push
the calls to the handlers outside of the main-line code.
2006-12-21 18:01:46 +03:00
Abdulaziz Ghuloum 0af5f6cc2a * Engine handler is functional. 2006-12-21 17:49:30 +03:00
Abdulaziz Ghuloum 3aa22ea200 * Added 'add imm, mem' instruction format. 2006-12-21 17:16:33 +03:00
Abdulaziz Ghuloum 5615b03879 * Input/output ports are closed when the last reference to them is
dropped.  Dropped files are closed before new files are opened.
2006-12-21 11:14:12 +03:00
Abdulaziz Ghuloum 2fcae826d1 * with-input-from-file, call-with-input-file, with-output-to-file,
and call-with-output-file no longer use dynamic-wind to track if
  an exit continuation is invoked multiple times.
2006-12-21 10:56:07 +03:00
Abdulaziz Ghuloum f7aa4c99e1 added libguardians.ss 2006-12-19 20:15:36 +03:00
Abdulaziz Ghuloum 5ccca042a6 * Implementation of Guardian is complete.
* Implementation not fully tested.  May have corner cases.
2006-12-19 20:14:31 +03:00
Abdulaziz Ghuloum 8dac92a512 added guardians primitives, not tested 2006-12-19 19:41:13 +03:00
Abdulaziz Ghuloum b7410520cb renamed all if (accounting) {...} to
#if accounting
 ...
#endif
2006-12-17 03:00:34 +03:00
Abdulaziz Ghuloum ac5ac00bab record-case definition is moved to libcompile.ss and the file is
deleted.
2006-12-17 02:18:11 +03:00
Abdulaziz Ghuloum 52acb437e8 added:
lab/prof/
  lab/prof/Makefile
  lab/prof/main
  lab/prof/main.c
  lab/prof/main.s
2006-12-17 02:15:38 +03:00
Abdulaziz Ghuloum 63dd3ba9b4 Moved test files to tests directory 2006-12-17 02:11:57 +03:00
Abdulaziz Ghuloum 5f3ee8a2c4 renamed lib dir to src 2006-12-10 23:13:16 -05:00
Abdulaziz Ghuloum 5bb14cad6e renamed:
runtime => bin
  src => lib
2006-12-01 10:40:21 -05:00
Abdulaziz Ghuloum 23dd55e7f6 removed Petite from the greeting 2006-12-01 10:20:50 -05:00
Abdulaziz Ghuloum d24523376d * Ikarus can now be started like:
$ ikarus [-b boot-file-name] file ... [-- arg ...]
  
  files will be "load"ed sequentially after the greeting message is
  printes.  args are available from the command-line-arguments
  parameter.
2006-12-01 10:15:25 -05:00
Abdulaziz Ghuloum 0ff5b0cf75 * Added a $arg-list system primitive that accesses the pcb->arg_list
field.
* Added a command-line-arguments parameter to the core.
2006-12-01 10:02:05 -05:00
Abdulaziz Ghuloum ee0e6c91e7 Ikarus now recognizes a -b command-line argument for providing the
name of the boot file. If -b is missing, argv[0]++".boot" is used.
2006-12-01 09:23:37 -05:00
Abdulaziz Ghuloum c3401ef735 Bug fix: Equal handles numbers correctly now. 2006-11-30 18:28:44 -05:00
Abdulaziz Ghuloum 9eaaf3c438 added file-exists? and delete-file operations to libposix.ss and ikarus-runtime.c 2006-11-29 17:06:16 -05:00
Abdulaziz Ghuloum e97b39a39a implemented assoc 2006-11-28 06:54:07 -05:00
Abdulaziz Ghuloum f6a95c07d2 Removed all version names from files 2006-11-23 20:37:04 -05:00
Abdulaziz Ghuloum 10268dfc43 Fixed makefiles 2006-11-23 20:18:02 -05:00
Abdulaziz Ghuloum 9b961aa3a5 removed libassembler.ss from watchfile 2006-11-23 20:08:01 -05:00
Abdulaziz Ghuloum 9397527c3d fixed output of assembler.fasl in compiler-9.2.ss 2006-11-23 20:06:46 -05:00
Abdulaziz Ghuloum 02e616f5c5 moved runtime directory to top-level 2006-11-23 19:58:06 -05:00
Abdulaziz Ghuloum 9cee9841de imported compiler5-osx 2006-11-23 19:53:15 -05:00
Abdulaziz Ghuloum 1101ba6edb imported compiler5 2006-11-23 19:48:14 -05:00
Abdulaziz Ghuloum 3815bebb4c import from compiler4 2006-11-23 19:44:29 -05:00
Abdulaziz Ghuloum 03e9649064 imported compiler3 2006-11-23 19:42:39 -05:00
Abdulaziz Ghuloum bd94bedc04 import from compiler2 2006-11-23 19:40:06 -05:00
Abdulaziz Ghuloum 3e7726203a imported compiler1 2006-11-23 19:38:26 -05:00
Abdulaziz Ghuloum d3313cd737 import from compiler0 2006-11-23 19:33:45 -05:00