Commit Graph

983 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 23b71cee3c substantial speedup for new io layer 2007-12-12 21:22:05 -05:00
Abdulaziz Ghuloum af020f909b slight change to implementation of time-gmt-offset so that the
gmt_off field of the tm struct is not used (not available in
cygwin).
2007-12-11 19:32:34 -05:00
Abdulaziz Ghuloum b3f30bebff forgot to include <sys/time.h> in ikarys-collect.c (MacOS does not
complain about implicit declaration of gettimeofday).
2007-12-10 15:06:47 -05:00
Abdulaziz Ghuloum 7d7ceb6480 Weeded out gcc warnings and added -Wall as a configure flag. 2007-12-10 15:02:25 -05:00
Abdulaziz Ghuloum 0d79bcd42c removed some unused procedures from ikarus-runtime.c 2007-12-10 12:03:25 -05:00
Abdulaziz Ghuloum 0e38534d2e New IO layer is installed. Still buggy in some area but can be used
for bootstrapping at least.
2007-12-10 07:28:03 -05:00
Abdulaziz Ghuloum ea96ab85db stage 1 of new input IO is almost complete. 2007-12-09 17:13:09 -05:00
Abdulaziz Ghuloum 1d5c069273 Fixes bug 175057: Added time-gmt-offset procedure that takes a time
object and returns the offset from gmt in seconds.
2007-12-09 07:20:49 -05:00
Abdulaziz Ghuloum 553c986253 Added current-time, time?, and time-seconds. 2007-12-05 02:35:14 -05:00
Abdulaziz Ghuloum 307fb64f84 Fixes bug 173467. Ikarus now probes the cpuid for SSE2 support. 2007-12-03 00:29:36 -05:00
Abdulaziz Ghuloum 68852b48e4 Fixes minor bugs 173386 and 173381: added typecast and chmod. 2007-12-01 23:54:44 -05:00
Abdulaziz Ghuloum 3056d26a9d Moved implementation of safe make-vector to foreign-call. 2007-12-01 05:38:09 -05:00
Abdulaziz Ghuloum 33d04c8d1e Minor bug in scheme-script.c: the new argv should be
null-terminated.
2007-11-30 07:41:56 -05:00
Abdulaziz Ghuloum 6386b3420a Fixes bug 164823: ikarus.boot remaining open 2007-11-30 07:06:30 -05:00
Abdulaziz Ghuloum 59acb45c19 Fixes bug 165107: scheme-script should be a native executable, not a
script
2007-11-30 06:51:15 -05:00
Abdulaziz Ghuloum ebc4deea60 Fixes bug 173001: r5rs values exported by rnrs library
* The following bindings were removed from (rnrs): 
  exact->inexact inexact->exact quotient modulo remainder string-set! string-fill!
2007-11-30 05:13:01 -05:00
Abdulaziz Ghuloum a1adb6cc14 Missing initialization of code_ap and code_ep in ikarus-fasl.c
caused segfault on freebsd.  The funny thing, I had initialization
code in a commented-out section.  Fun fun.
2007-11-24 22:54:40 -05:00
Abdulaziz Ghuloum ccce44fffa Fixed dynamic loading problem in the cygwin port. Apparently, no
one is using the bzr version of Ikarus under cygwin since it's been
broken for some time now.
2007-11-23 02:29:46 -05:00
Abdulaziz Ghuloum 42daf68195 Added string-ci-hash and symbol-hash.
Slight change to ikrt_string_hash.
2007-11-22 17:04:10 -05:00
Abdulaziz Ghuloum c25e04569c Added string-hash. 2007-11-22 16:55:25 -05:00
Abdulaziz Ghuloum 91c365d9a6 records/structs are an iota faster to collect. 2007-11-21 16:39:16 -05:00
Abdulaziz Ghuloum 25555d7ff6 Added getenv, which takes a string and returns a string from the "unix"
environment.  
Example:
  (getenv "HOME") => "/Users/aghuloum"
  (getenv "FOO")  => ""
2007-11-19 12:57:50 -05:00
Abdulaziz Ghuloum 3b4d3097a1 Fixes bug 163540: allocation in bignum arithmetic does not garbage collect. 2007-11-18 10:37:13 -05:00
Abdulaziz Ghuloum 1afade6d43 * renamed ik_alloc to ik_unsafe_alloc since it was unsafe to call it
in general (it did not collect on heap overflow).
2007-11-18 09:12:00 -05:00
Abdulaziz Ghuloum 90759047b3 * The fasl loader has reduced the startup mmap frenzy for code
objects from 5242 pages (almost one page per code object) down
  to 785 pages.  Special thanks to Michael Adams for counting the
  the number of pages that were used and touched at startup; without
  his help, I wouldn't have optimized it in about 10 minutes of
  coding time.
2007-11-17 13:26:27 -05:00
Abdulaziz Ghuloum 97672d5990 * Added an "exec" to the generated scheme-script. 2007-11-15 13:57:03 -05:00
Abdulaziz Ghuloum 43eb1bfcb3 Fixes bug 162145: Changing pkglibdir should rebuild ikarus-main.o and relink ikarus 2007-11-12 03:31:14 -05:00
Abdulaziz Ghuloum 31a9210f8a Fixes bug 162143: add 'clean' target for src/scheme-script 2007-11-12 02:30:39 -05:00
Abdulaziz Ghuloum 66263b2d69 * Fixes bug 160100: ikarus.boot should not be in /usr/local/bin
ikarus.boot now goes to $pkglibdir/ikarus.boot which translates
  to /usr/local/lib/ikarus/ikarus.boot by default.
2007-11-12 00:27:36 -05:00
Abdulaziz Ghuloum 5a6e106a44 * upgrades to new(er) versions of automake and autoconf.
* updated configure.ac and makefile.ac files for the new version
  (applying some of the patch in bug 160100).
2007-11-10 23:50:54 -05:00
Abdulaziz Ghuloum ff81bb99d9 * Fixed bug 160100: ikarus.boot should not be in /usr/local/bin
- ikarus.boot now goes to $prefix/lib/ikarus/ikarus.boot
  - location of bootfile is now hard-coded in the ikarus executable
  - pdf/README/COPYING/GPL-3 files go to $prefix/doc/ikarus/
  - Added a 1-line "scheme-script" script to bin.
2007-11-10 08:28:19 -05:00
Abdulaziz Ghuloum 62c0643c19 * Added bitwise-not. 2007-11-08 20:57:11 -05:00
Abdulaziz Ghuloum 1b103a4ab8 * bytevector-ieee-double-ref/set! now work 2007-11-07 04:54:54 -05:00
Abdulaziz Ghuloum 7dbce6e888 * Added bytevector-ieee-double-ref and bytevector-ieee-double-set!
(which does not yet support big endianness)
2007-11-07 01:26:38 -05:00
Abdulaziz Ghuloum 90a243ee63 * Fixed bug 160101: modulo produces "BUG: unsupported" 2007-11-05 02:24:39 -05:00
Abdulaziz Ghuloum b27bb61802 * Fixed some parts of bug 160101: modulo produces "BUG: unsupported"
* Modulo still fails on two bignum arguments, will fix later.
2007-11-04 23:01:41 -05:00
Abdulaziz Ghuloum 2c1e93f937 * Fixes bug 159774: typo in help. 2007-11-03 17:31:18 -04:00
Abdulaziz Ghuloum 67e0b4dc40 * fixed automake bugs for cygwin. 2007-10-26 00:22:16 -04:00
Abdulaziz Ghuloum 2ed6afb446 * Migrated to automake-1.9 2007-10-25 17:43:40 -04:00
Abdulaziz Ghuloum 6f576dc224 * Added license stubs to all *.ss and *.[ch] files. 2007-10-25 16:27:34 -04:00
Abdulaziz Ghuloum 30a0a9458b * fixed a problem with building ikarus.boot on cygwin.
* fixed a couple of typos in ikarus-runtime.c and ikarus-winmmap.c
2007-10-18 11:48:11 -04:00
Abdulaziz Ghuloum 17fd6fe97b * fixed a bug in mmap of sigaltstack. 2007-10-18 00:16:53 -04:00
Abdulaziz Ghuloum 99dd633f83 added:
scheme/Makefile.am
2007-10-17 22:07:54 -04:00
Abdulaziz Ghuloum fdb664b61c renamed:
src/scheme => scheme
2007-10-17 20:07:10 -04:00
Abdulaziz Ghuloum e84bd5a421 * removed bin directory. 2007-10-17 20:03:31 -04:00
Abdulaziz Ghuloum d59c2b304b major restructuring to support autotools
added:
  Makefile
  Makefile.am
  Makefile.in
  aclocal.m4
  config.guess
  config.sub
  configure
  configure.ac
  depcomp
  install-sh
  missing
  mkinstalldirs
  src/Makefile.am
  src/Makefile.in
  src/scheme/
renamed:
  bin/ikarus-collect.c => src/ikarus-collect.c
  bin/ikarus-data.h => src/ikarus-data.h
  bin/ikarus-enter.s => src/ikarus-enter.s
  bin/ikarus-exec.c => src/ikarus-exec.c
  bin/ikarus-fasl.c => src/ikarus-fasl.c
  bin/ikarus-flonums.c => src/ikarus-flonums.c
  bin/ikarus-main.c => src/ikarus-main.c
  bin/ikarus-numerics.c => src/ikarus-numerics.c
  bin/ikarus-print.c => src/ikarus-print.c
  bin/ikarus-runtime.c => src/ikarus-runtime.c
  bin/ikarus-symbol-table.c => src/ikarus-symbol-table.c
  bin/ikarus-verify-integrity.c => src/ikarus-verify-integrity.c
  bin/ikarus-weak-pairs.c => src/ikarus-weak-pairs.c
  bin/ikarus-winmmap.c => src/ikarus-winmmap.c
  bin/ikarus-winmmap.h => src/ikarus-winmmap.h
  src/asm-tests.ss => src/scheme/asm-tests.ss
  src/dotests.ss => src/scheme/dotests.ss
  src/ikarus => src/scheme/ikarus
  src/ikarus.apply.ss => src/scheme/ikarus.apply.ss
  src/ikarus.bytevectors.ss => src/scheme/ikarus.bytevectors.ss
  src/ikarus.cafe.ss => src/scheme/ikarus.cafe.ss
  src/ikarus.chars.ss => src/scheme/ikarus.chars.ss
  src/ikarus.code-objects.ss => src/scheme/ikarus.code-objects.ss
  src/ikarus.codecs.ss => src/scheme/ikarus.codecs.ss
  src/ikarus.collect.ss => src/scheme/ikarus.collect.ss
  src/ikarus.command-line.ss => src/scheme/ikarus.command-line.ss
  src/ikarus.compiler.altcogen.ss => src/scheme/ikarus.compiler.altcogen.ss
  src/ikarus.compiler.ss => src/scheme/ikarus.compiler.ss
  src/ikarus.control.ss => src/scheme/ikarus.control.ss
  src/ikarus.date-string.ss => src/scheme/ikarus.date-string.ss
  src/ikarus.fasl.ss => src/scheme/ikarus.fasl.ss
  src/ikarus.fasl.write.ss => src/scheme/ikarus.fasl.write.ss
  src/ikarus.fixnums.ss => src/scheme/ikarus.fixnums.ss
  src/ikarus.guardians.ss => src/scheme/ikarus.guardians.ss
  src/ikarus.handlers.ss => src/scheme/ikarus.handlers.ss
  src/ikarus.hash-tables.ss => src/scheme/ikarus.hash-tables.ss
  src/ikarus.intel-assembler.ss => src/scheme/ikarus.intel-assembler.ss
  src/ikarus.io-ports.ss => src/scheme/ikarus.io-ports.ss
  src/ikarus.io-primitives.ss => src/scheme/ikarus.io-primitives.ss
  src/ikarus.io-primitives.unsafe.ss => src/scheme/ikarus.io-primitives.unsafe.ss
  src/ikarus.io.input-files.ss => src/scheme/ikarus.io.input-files.ss
  src/ikarus.io.input-strings.ss => src/scheme/ikarus.io.input-strings.ss
  src/ikarus.io.output-files.ss => src/scheme/ikarus.io.output-files.ss
  src/ikarus.io.output-strings.ss => src/scheme/ikarus.io.output-strings.ss
  src/ikarus.lists.ss => src/scheme/ikarus.lists.ss
  src/ikarus.load.ss => src/scheme/ikarus.load.ss
  src/ikarus.main.ss => src/scheme/ikarus.main.ss
  src/ikarus.multiple-values.ss => src/scheme/ikarus.multiple-values.ss
  src/ikarus.numerics.ss => src/scheme/ikarus.numerics.ss
  src/ikarus.pairs.ss => src/scheme/ikarus.pairs.ss
  src/ikarus.posix.ss => src/scheme/ikarus.posix.ss
  src/ikarus.predicates.ss => src/scheme/ikarus.predicates.ss
  src/ikarus.pretty-print.ss => src/scheme/ikarus.pretty-print.ss
  src/ikarus.promises.ss => src/scheme/ikarus.promises.ss
  src/ikarus.reader.ss => src/scheme/ikarus.reader.ss
  src/ikarus.records.procedural.ss => src/scheme/ikarus.records.procedural.ss
  src/ikarus.singular-objects.ss => src/scheme/ikarus.singular-objects.ss
  src/ikarus.sort.ss => src/scheme/ikarus.sort.ss
  src/ikarus.strings.ss => src/scheme/ikarus.strings.ss
  src/ikarus.structs.ss => src/scheme/ikarus.structs.ss
  src/ikarus.symbols.ss => src/scheme/ikarus.symbols.ss
  src/ikarus.timer.ss => src/scheme/ikarus.timer.ss
  src/ikarus.trace.ss => src/scheme/ikarus.trace.ss
  src/ikarus.transcoders.ss => src/scheme/ikarus.transcoders.ss
  src/ikarus.unicode-data.ss => src/scheme/ikarus.unicode-data.ss
  src/ikarus.vectors.ss => src/scheme/ikarus.vectors.ss
  src/ikarus.writer.ss => src/scheme/ikarus.writer.ss
  src/makefile.ss => src/scheme/makefile.ss
  src/pass-specify-rep-primops.ss => src/scheme/pass-specify-rep-primops.ss
  src/pass-specify-rep.ss => src/scheme/pass-specify-rep.ss
  src/psyntax.builders.ss => src/scheme/psyntax.builders.ss
  src/psyntax.compat.ss => src/scheme/psyntax.compat.ss
  src/psyntax.config.ss => src/scheme/psyntax.config.ss
  src/psyntax.expander.ss => src/scheme/psyntax.expander.ss
  src/psyntax.internal.ss => src/scheme/psyntax.internal.ss
  src/psyntax.library-manager.ss => src/scheme/psyntax.library-manager.ss
  src/r6rs-records.ss => src/scheme/r6rs-records.ss
  src/rationalize.ss => src/scheme/rationalize.ss
  src/run-tests.ss => src/scheme/run-tests.ss
  src/set-operations.ss => src/scheme/set-operations.ss
  src/tests => src/scheme/tests
  src/tests.libraries.ss => src/scheme/tests.libraries.ss
  src/todo-r6rs.ss => src/scheme/todo-r6rs.ss
  src/unicode => src/scheme/unicode
modified:
  src/ikarus.boot
2007-10-17 19:59:37 -04:00
Abdulaziz Ghuloum 90bf017e61 * Added full cygwin port. 2007-10-16 02:10:51 -04:00
Abdulaziz Ghuloum d6eeb0ab7a * removed all calls to mprotect from the runtime system. 2007-10-15 17:58:03 -04:00
Abdulaziz Ghuloum 6705a7c2fa * exit now calls ikrt_exit which deallocates the pcb then exits.
* Added allocation-table implementation (ikarus.at.[hc]) which are 
  not used yet.
2007-10-15 10:41:08 -04:00
Abdulaziz Ghuloum ba2b83fdf1 * some additions to the expander to support r6rs records. 2007-10-14 16:37:55 -04:00
Abdulaziz Ghuloum 54c1ef370a * added (rnrs records procedural) and (rnrs records inspection)
libraries
2007-10-12 04:01:11 -04:00
Abdulaziz Ghuloum 4eacb210eb * removed all "record"-related procedures, replacing them by
equivalent "struct" procedures.
2007-10-12 02:59:27 -04:00
Abdulaziz Ghuloum a5febf508b * Added fields, immutable, mutable, opaque, parent, parent-rtd,
protocol, sealed, and nongenerative auxiliary macros.
2007-10-12 00:59:16 -04:00
Abdulaziz Ghuloum 5f19e802f6 * Added utf8->string and string->utf8 2007-10-12 00:33:19 -04:00
Abdulaziz Ghuloum 63975eba38 * Added transcoder-codec, transcoder-eol-style, and
transcoder-error-handling-mode
2007-10-12 00:00:36 -04:00
Abdulaziz Ghuloum fdc0132573 * Added file-options macro 2007-10-11 23:43:25 -04:00
Abdulaziz Ghuloum 4649598a7e * Added buffer-mode and buffer-mode? 2007-10-11 23:21:55 -04:00
Abdulaziz Ghuloum aafecc9cfb * Added make-transcoder and native-transcoder 2007-10-11 22:55:20 -04:00
Abdulaziz Ghuloum 0c754c1939 * Added error-handling-mode macro. 2007-10-11 21:51:15 -04:00
Abdulaziz Ghuloum 12f3041f03 * Added eol-style and native-eol-style. 2007-10-11 21:47:11 -04:00
Abdulaziz Ghuloum f7beb1afe0 * Added latin-1-codec, utf-8-codec, utf-16-codec to (ikarus codecs)
library.  They simply return the corresponding codec symbol.
2007-10-11 21:28:08 -04:00
Abdulaziz Ghuloum cc04411d97 * fixed a bug in module expander that allowed a module to export any
identifier bound in scope, even if not defined inside the module
  body.
2007-10-10 12:46:48 -04:00
Abdulaziz Ghuloum 7f2aa4f2f9 * Made recordize recognize lambda again (lost in crash). 2007-10-10 09:18:11 -04:00
Abdulaziz Ghuloum 07330d9b1d * Added one hashtable test.
* Added hashtable-mutable?
* Added hashtable-clear!
2007-10-10 08:24:12 -04:00
Abdulaziz Ghuloum 0e10e5023c * Added hashtable-size, hashtable-delete!, hashtable-contains?, and
hashtable-update!
2007-10-10 07:36:19 -04:00
Abdulaziz Ghuloum 8bfadc3a67 * make-hashtable is renamed to make-eq-hashtable, along with all
references
2007-10-10 07:09:18 -04:00
Abdulaziz Ghuloum b24ce124b2 * Added fold-left and fold-right. 2007-10-10 06:43:25 -04:00
Abdulaziz Ghuloum 995944723d * added tests for procedure "for-all" 2007-10-10 05:28:07 -04:00
Abdulaziz Ghuloum 82eb606715 * arguments to expanded let now get proper procedure names so that
(let ((f (lambda (x) x))) f) prints as #<procedure f>.
2007-10-10 05:06:31 -04:00
Abdulaziz Ghuloum ca27d8e626 * compiler and fasl-write and fasl-read now understand code
annotations
2007-10-10 04:41:11 -04:00
Abdulaziz Ghuloum c3d410d572 * Added for-all and exists 2007-10-10 03:53:42 -04:00
Abdulaziz Ghuloum 241bdd8d4d * renamed all hash-table primitives to their r6rs counterparts. 2007-10-09 09:22:02 -04:00
Abdulaziz Ghuloum 75692f0306 * deleted ikarus.syntax.ss which is no longer needed
* removed (ikarus system $all) library which is replaced by
  (psyntax system $all)
2007-10-09 09:05:22 -04:00
Abdulaziz Ghuloum 687c45dd6f * reintegrated the expander from the psyntax distro. 2007-10-09 08:54:28 -04:00
Abdulaziz Ghuloum 09fd6ff1b3 * re-integrated the library-manager from the psyntax distro. 2007-10-09 07:56:30 -04:00
Abdulaziz Ghuloum 658ad73ed2 * merged identifier->library-map from psyntax distro. 2007-10-09 06:01:20 -04:00
Abdulaziz Ghuloum 8de86bda33 * added legend entries from psyntax distro. 2007-10-09 05:23:40 -04:00
Abdulaziz Ghuloum 411c05c74b * Made top-level set! more like r5rs's top-level set!. 2007-09-15 23:42:43 -04:00
Abdulaziz Ghuloum 79916549cd * Added fxif 2007-09-15 03:27:28 -04:00
Abdulaziz Ghuloum 4b0a0411c0 * Added fx+/carry, fx*/carry, and fx-/carry (with tests) 2007-09-15 03:16:55 -04:00
Abdulaziz Ghuloum 96bd57c922 * Added fixnum-width, least-fixnum, greatest-fixnum 2007-09-15 02:06:16 -04:00
Abdulaziz Ghuloum 82a00e2628 * Fixed a bug in the GC that caused performance to degrade when
ik_alloc extends the heap (by 128KB) and the heap size remains set
  to that value (causing more frequent GCs than usual).  Now, after
  ik_collect, if the heapsize is less than 4MB, it's extended to
  4MB (minimum).
2007-09-15 01:54:45 -04:00
Abdulaziz Ghuloum a2ed662821 * Added fxmin and fxmax 2007-09-15 00:24:38 -04:00
Abdulaziz Ghuloum 54472a1994 * Added fxarithmetic-shift* procedures.
* Added trace examples in ikarus.trace.h
* slatex benchmark now compiles properly.
2007-09-15 00:14:47 -04:00
Abdulaziz Ghuloum ea28d03f43 * Added make-traced-procedure, trace-lambda and trace-define. 2007-09-13 22:42:48 -04:00
Abdulaziz Ghuloum 7d46631e14 * (fxsra <fx> <32*i>) now returns a proper value (0 or 1) 2007-09-13 21:09:09 -04:00
Abdulaziz Ghuloum cb3b0b3edd * fx+ now signals an error on overflow properly. 2007-09-13 19:25:47 -04:00
Abdulaziz Ghuloum 3facf76eff * Added fx=?, fx<?, fx<=?, fx>?, and fx>=? 2007-09-13 16:39:13 -04:00
Abdulaziz Ghuloum c552e0b3b1 * char-category/property predicates now gain an 80% reduction in
runtime due to using unsafe prims.
2007-09-13 15:59:39 -04:00
Abdulaziz Ghuloum 2b50672aa2 * Fixed yet another bug in extracting category info from
UnicodeData.txt
2007-09-13 15:49:02 -04:00
Abdulaziz Ghuloum 4ff03fcd77 * cleanup of extract-info.ss 2007-09-13 07:09:31 -04:00
Abdulaziz Ghuloum a85669fc4d * Fixed the char-numeric? Numeric property. 2007-09-13 07:04:13 -04:00
Abdulaziz Ghuloum 9a62c12c66 * Added char-alphabetic? char-numeric? char-whitespace?
char-upper-case?  char-lower-case?  char-title-case?
2007-09-13 06:27:31 -04:00
Abdulaziz Ghuloum 62ee718fb8 * rewrote char categories stuff
* constituents vector is gone

removed:
  src/unicode/extract-categories.ss
  src/unicode/unicode-constituents.ss
added:
  src/unicode/extract-info.ss
  src/unicode/unicode-charinfo.ss
modified:
  src/ikarus.boot
  src/ikarus.unicode-data.ss
  src/unicode/unicode-data.ss
2007-09-13 06:11:26 -04:00
Abdulaziz Ghuloum e6f678bb52 * Added bytevector-u32-native-ref, bytevector-u32-native-set!,
bytevector-s32-native-ref, and bytevector-s32-native-set!
2007-09-13 01:57:36 -04:00
Abdulaziz Ghuloum d6ed7b8a4d * Added bytevector-u32-ref, bytevector-u32-set!, bytevector-s32-ref,
and bytevector-s32-set!.
2007-09-13 01:44:10 -04:00
Abdulaziz Ghuloum 2f75448f03 * Added bitwise-arithmetic-shift, bitwise-arithmetic-shift-left,
and bitwise-arithmetic-shift-right,
2007-09-13 01:10:57 -04:00
Abdulaziz Ghuloum 3247c0641d * sll now supports shifting fixnums by any amount. 2007-09-13 00:08:41 -04:00
Abdulaziz Ghuloum 52a36d4c3f * Added sra, fixing the bignum shift bugs. 2007-09-12 23:34:21 -04:00
Abdulaziz Ghuloum ef1a828f1f * Fixed a bug in that caused exact->inexact to return nans when
given big ratnums.  E.g.
    (exact->inexact (/ (expt 2 3000) (- (expt 2 3000) 1)))
  now returns 1.0 instead of +nan.0
2007-09-12 19:08:45 -04:00
Abdulaziz Ghuloum 9d32ae5767 * ikarus-fasl.c can now read bignums. 2007-09-12 16:59:21 -04:00
Abdulaziz Ghuloum 888833f686 * Added flexpt 2007-09-12 03:56:08 -04:00
Abdulaziz Ghuloum 69d692417f * Added real-valued?, integer-valued? and rational-valued? 2007-09-12 03:10:54 -04:00
Abdulaziz Ghuloum c55cad8502 * Added finite?, infinite?, and nan? 2007-09-12 02:44:19 -04:00
Abdulaziz Ghuloum ed45b486a3 * Added div, mod, div-and-mod, div0, mod0, div0-and-mod0. 2007-09-12 02:37:03 -04:00
Abdulaziz Ghuloum 9d8ceef99f * Added rationalize 2007-09-12 00:57:04 -04:00
Abdulaziz Ghuloum 2eaaa77615 * Added the procedure expand:
(expand <expr> <environment>)
  expands the expression in environment and returns two values:
    an expanded core expression and a list of libraries that must be
    invoked before the core expression is evaluated.
2007-09-11 13:32:14 -04:00
Abdulaziz Ghuloum ca2be2436a * string->number now understands +nan.0, -nan.0, +inf.0 and -inf.0. 2007-09-11 03:13:28 -04:00
Abdulaziz Ghuloum 277710d6d1 * Added reader syntax for +nan.0 -nan.0 +inf.0 and -inf.0 2007-09-11 03:06:35 -04:00
Abdulaziz Ghuloum bf28274d44 * fixed a bug in fldenominator
* added a file rationalize.ss that has the seed for the rationalize
  function
2007-09-11 02:06:26 -04:00
Abdulaziz Ghuloum e8f05ac4b7 * Added truncate and fltruncate 2007-09-11 00:22:23 -04:00
Abdulaziz Ghuloum 79b6e46cab * Added bytevector clause for equal?
* exported real? (number? really until complex nums are added).
2007-09-11 00:13:10 -04:00
Abdulaziz Ghuloum 3ecf53f9fd * Added flexp 2007-09-10 23:36:36 -04:00
Abdulaziz Ghuloum ad3f96d2ad * Added flnumerator and fldenominator 2007-09-10 23:30:17 -04:00
Abdulaziz Ghuloum 1c86a105c5 * Added flceiling, flfloor, and fixed rounding bug in flround and
round
2007-09-10 23:17:06 -04:00
Abdulaziz Ghuloum cb94cf88b2 * Added fleven? and flodd? 2007-09-10 22:45:41 -04:00
Abdulaziz Ghuloum fa63e8723c * Added flfinite?, flinfinite?, and flnan?
* Fixed a bug that caused all nans to print as -nan.0
2007-09-10 22:10:19 -04:00
Abdulaziz Ghuloum a366a5f20f * Added flinteger? and fixed a bug in integer? when the argument is
1.0.
2007-09-10 20:47:17 -04:00
Abdulaziz Ghuloum eeac68352a * Added partition 2007-09-10 17:28:06 -04:00
Abdulaziz Ghuloum dd968d389d * Added find. 2007-09-10 17:09:19 -04:00
Abdulaziz Ghuloum 66541809e1 * Added filter. 2007-09-10 17:03:40 -04:00
Abdulaziz Ghuloum 4b83f21480 * Added remq, remp, remv, and remove 2007-09-10 16:33:05 -04:00
Abdulaziz Ghuloum fc67c0e155 * Added remp and assp 2007-09-10 15:56:15 -04:00
Abdulaziz Ghuloum 009a25ad30 * Added endianness and native-endianness 2007-09-10 15:15:20 -04:00
Abdulaziz Ghuloum 64b06d698b * Added bytevector-s16-native-set! and bytevector-s16-set!. 2007-09-10 14:58:37 -04:00
Abdulaziz Ghuloum 9d478bc6b4 * Added bytevector-u16-native-set! and bytevector-u16-set! 2007-09-10 14:47:29 -04:00
Abdulaziz Ghuloum e273953b39 * Added bytevector-s16-ref and bytevector-s16-native-ref. 2007-09-10 14:24:35 -04:00
Abdulaziz Ghuloum 3e4c7150f6 * Added bytevector-u16-native-ref and bytevector-u16-ref 2007-09-10 14:10:37 -04:00
Abdulaziz Ghuloum 18b4a78045 * Added vector-sort! 2007-09-09 23:58:00 -04:00
Abdulaziz Ghuloum 375b738ccb * Added vararg case for for-each. 2007-09-09 23:50:55 -04:00
Abdulaziz Ghuloum 2692897900 * list* is gone. All references renamed to cons*. 2007-09-09 23:41:12 -04:00
Abdulaziz Ghuloum 7b66d9af6b * Added cons* 2007-09-09 23:31:19 -04:00
Abdulaziz Ghuloum a99c8d5461 * reimplemented (quasisyntax body) by expanding it to
(syntax-case (list expr* ...) ()
      [(var? ...) #'body])
  where expr* are the unquoted expressions and var? are the
  generated names that are simultaneously inserted in body.
2007-09-09 23:08:26 -04:00
Abdulaziz Ghuloum 8aecc96b76 * readded src/ikarus.hash-tables.ss 2007-09-09 21:16:07 -04:00
Abdulaziz Ghuloum 1cd2b8acfc * Handling weak-pairs is now generational, fixing performance
problems when guardians were used to implement hash tables.
2007-09-06 22:45:20 -04:00
Abdulaziz Ghuloum 123e2f9e10 * pretty-print now properly detects and prints cyclic and shared
data structures
2007-09-05 20:18:45 -04:00
Abdulaziz Ghuloum d1db554eee * removed some junk that was not used (string handling stuff) from
pretty-print
2007-09-05 02:41:12 -04:00
Abdulaziz Ghuloum 8f9aa2cd18 * Interrupts now work, again 2007-09-05 01:47:57 -04:00
Abdulaziz Ghuloum 1a8af2acea * string<?, string<=?, string>?, and string>=? now have proper
annotations
2007-09-04 21:01:30 -04:00
Abdulaziz Ghuloum 62e1527d1d * Globally visible procedures now have attached names:
Ikarus Scheme (Build 2007-09-04)
Copyright (c) 2006-2007 Abdulaziz Ghuloum

> car
#<procedure car>
> (car 1 2)
Error in apply: incorrect number of argument (2) to #<procedure car>.
> ^D
2007-09-04 20:38:16 -04:00
Abdulaziz Ghuloum b3f80f0dc9 * exported identifiers bound to procedures get their procedure
annotation set to the name of the exported variable
2007-09-04 20:33:21 -04:00
Abdulaziz Ghuloum 2c2b3eb1f1 * Added procedure-annotation primitive that returns the annotation
object stored in the closure's code.
2007-09-04 20:18:11 -04:00
Abdulaziz Ghuloum ad118623ec * Added $code-annotation and $set-code-annotation! primops 2007-09-04 19:59:14 -04:00
Abdulaziz Ghuloum 50dcf3a11f * disp-code-data changed from 16 to 24 in order to allow for future
code annotations.
2007-09-04 19:16:43 -04:00
Abdulaziz Ghuloum a291ed8ffb * Added list-sort and vector-sort. 2007-09-04 12:56:40 -04:00
Abdulaziz Ghuloum cb40f0ae3c * disp-bytevector-data changed to 8. 2007-09-04 01:40:31 -04:00
Abdulaziz Ghuloum b5d3ceebe4 * Added char-general-category and a category lookup table. 2007-09-03 04:42:46 -04:00
Abdulaziz Ghuloum ad1c469ffb Added inexact? 2007-09-03 00:34:53 -04:00
Abdulaziz Ghuloum 0bbbcf9604 * Added missing string<?, string<=?, string>?, and string>=?
* Added string-ci=?, string-ci<?, string-ci<=?, string-ci>?, and
  string-ci>=?
2007-09-03 00:17:15 -04:00
Abdulaziz Ghuloum aa9f5e3ad1 * reader now accepts string escape sequences like "\xDF;". 2007-09-02 22:37:24 -04:00
Abdulaziz Ghuloum 89786ff4d0 * Added flsin, flcos, fltan, flasin, flacos, flatan procedures. 2007-09-02 21:16:54 -04:00
Abdulaziz Ghuloum 6ff9e3dc9c Added fixnum->flonum 2007-09-02 21:02:06 -04:00
Abdulaziz Ghuloum 46193467c5 Added asin, acos, and tan 2007-09-02 20:57:02 -04:00
Abdulaziz Ghuloum 38a60b4d84 Added various geom functions to runtime including asin, acos, tan 2007-09-02 20:53:28 -04:00
Abdulaziz Ghuloum d785d40935 Added (assert expr) macro 2007-09-02 20:48:59 -04:00
Abdulaziz Ghuloum 592b62cfe7 * Added (null-environment 5) procedure. 2007-09-02 03:09:29 -04:00
Abdulaziz Ghuloum 21cdfd412b * (ikarus null-environment-5) is populated with the r5rs syntactic
forms.
2007-09-02 03:02:53 -04:00
Abdulaziz Ghuloum f351cc9a5b * Added (ikarus null-environment-5) library. 2007-09-02 02:57:56 -04:00
Abdulaziz Ghuloum a471e1a150 * Added delay and force. 2007-09-02 02:47:50 -04:00
Abdulaziz Ghuloum 9e066f4d4c * Added vector-fill! and string-fill!
* Fixed a bug in (string 10) returning an uninitialized string.
2007-09-02 02:22:23 -04:00
Abdulaziz Ghuloum d515520bd7 * Added make-variable-transformer procedure. 2007-09-02 02:03:29 -04:00
Abdulaziz Ghuloum 7a3a984653 * Added quasisyntax (code mostly a copy of quasiquote).
* Fixed a bug in syntax-dispatch that caused datums from the input
  to be converted, incorrectly, to wrapped syntax objects.
2007-09-02 01:16:14 -04:00
Abdulaziz Ghuloum 94df957775 added:
src/ikarus.hash-tables.guardians.ss
  src/ikarus.hash-tables.rehashing.ss
2007-09-01 23:07:39 -04:00
Abdulaziz Ghuloum 4b7f3a0258 collect-key now returns a gensym 2007-09-01 16:09:56 -04:00
Abdulaziz Ghuloum 77b3fd5225 * (time <>) now reports user and sys times as well. 2007-09-01 01:25:39 -04:00
Abdulaziz Ghuloum e5f7329d4d * changed implementation of guardians in ikarus.guardians.ss 2007-09-01 01:12:42 -04:00
Abdulaziz Ghuloum 5667428e70 * reimplemented guardians (which now, incidentally, work). 2007-08-31 23:28:19 -04:00
Abdulaziz Ghuloum 22f3ce4f79 * Added a (collect-key) procedure that returns a string "k" that's
eq? to the value returned by (collect-key) until a garbage
  collection is performed.
2007-08-30 22:09:13 -04:00
Abdulaziz Ghuloum 6d1578eef5 * Added $collect-key primitive that gets/sets the collect-key field
of pcb.
2007-08-30 22:02:25 -04:00
Abdulaziz Ghuloum a09da8f581 * Added (random fx) procedure. 2007-08-30 21:50:58 -04:00
Abdulaziz Ghuloum eabfc3fe4f * Added macro writer for #` #, and #,@ forms. 2007-08-30 20:30:21 -04:00
Abdulaziz Ghuloum 1864ca830b * Added quasisyntax, unsyntax, unsyntax-splicing reader macros. 2007-08-30 20:17:23 -04:00
Abdulaziz Ghuloum 3820bffee3 Added unquote, unquote-splicing, unsyntax, unsyntax-splicing 2007-08-30 20:12:38 -04:00
Abdulaziz Ghuloum a324572bc0 Added (r6rs eval) library 2007-08-30 19:40:01 -04:00
Abdulaziz Ghuloum d2419aca42 Better status report for time-it 2007-08-30 17:25:29 -04:00
Abdulaziz Ghuloum 2371c5a776 time now shows gc portion 2007-08-30 13:16:06 -04:00
Abdulaziz Ghuloum f030e4e11d * Stats record now contains gc-info fields. 2007-08-30 12:54:21 -04:00
Abdulaziz Ghuloum 46755415b4 Added large object support for collecting large vectors 2007-08-30 12:01:54 -04:00
Abdulaziz Ghuloum 28b143036f Added time macro 2007-08-30 11:06:21 -04:00
Abdulaziz Ghuloum 2d9f5377ae * Some fixes to the runtime system.
modified:
  bin/ikarus
  bin/ikarus-fasl.c
  bin/ikarus-main.c
  bin/ikarus-runtime.c
  src/ikarus.boot
2007-08-29 01:45:10 -04:00
Abdulaziz Ghuloum a13ad99195 * Better error message for applying unbound vars. 2007-08-29 00:51:24 -04:00
Abdulaziz Ghuloum a20884c16b * applying unbound ids no longer segfaults 2007-08-29 00:38:24 -04:00
Abdulaziz Ghuloum 84d188451c * Applying non-procedure library variables no longer segfaults. 2007-08-29 00:21:29 -04:00
Abdulaziz Ghuloum 1ca0e11fb3 Added $set-symbol-proc! 2007-08-28 23:49:50 -04:00
Abdulaziz Ghuloum f83af98967 added:
src/ikarus.unicode-data.ss
2007-08-28 21:36:34 -04:00
Abdulaziz Ghuloum d68e4283b9 * Added symlinks.
added:
  src/ikarus/
  src/ikarus/code-objects.ss@
  src/ikarus/compiler.ss@
  src/ikarus/fasl/
  src/ikarus/fasl/write.ss@
  src/ikarus/intel-assembler.ss@
2007-08-28 21:27:37 -04:00
Abdulaziz Ghuloum e1e2673ad7 * fixed a bug in the code generator for assigning the dirty vector
when the address of the pointer is "negative".
2007-08-28 19:47:14 -04:00
Abdulaziz Ghuloum efb59a4f46 Added exact, inexact 2007-08-28 18:15:27 -04:00
Abdulaziz Ghuloum bbe077cd5f * Added floor
* exported negative?
2007-08-28 17:45:54 -04:00
Abdulaziz Ghuloum d1221276b9 Added vector-for-each 2007-08-28 17:24:53 -04:00
Abdulaziz Ghuloum 5321868952 Added vector-map 2007-08-28 15:37:51 -04:00
Abdulaziz Ghuloum e2ca2dffb2 Added boolean=? and symbol=? 2007-08-28 15:03:21 -04:00
Abdulaziz Ghuloum 2b6a3ef715 Added string-copy 2007-08-28 12:46:12 -04:00
Abdulaziz Ghuloum 86a28c3822 Added =>, else, and _ aux macros 2007-08-28 12:39:54 -04:00
Abdulaziz Ghuloum 905b6c96c6 Added ... auxilary kwd 2007-08-28 11:34:13 -04:00
Abdulaziz Ghuloum 8e4adec147 renamed:
src/r6rs-todo.ss => src/todo-r6rs.ss
2007-08-28 11:11:12 -04:00
Abdulaziz Ghuloum d0eef4c3c4 * Added command-line 2007-08-26 21:24:22 -04:00
Abdulaziz Ghuloum 7bb5eab307 * Added delete-file. 2007-08-26 20:04:00 -04:00
Abdulaziz Ghuloum 1135803c81 * Categorised what needs to be done in r6rs-todo.ss 2007-08-26 18:51:16 -04:00
Abdulaziz Ghuloum bd5707b013 * finished listring all r6rs-todo identifiers. 2007-08-26 15:43:18 -04:00