Commit Graph

839 Commits

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