Commit Graph

79 Commits

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