Commit Graph

464 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 1943212436 - Added tests for fasl objects
- fasl-read can now read bignums, flonums, and ratnums.
2008-03-09 00:25:03 -05:00
Abdulaziz Ghuloum 8f0b606609 sin, cos, tan, asin, acos, and atan now support rational numbers. 2008-03-03 13:49:47 -05:00
Abdulaziz Ghuloum 5210f1448b Fixed part of bug 162334. Reason: (inexact -1/2) lost the sign and
returned 0.5.  It now correctly return -0.5.
2008-03-01 21:54:27 -05:00
Abdulaziz Ghuloum f6ee3618ba (+ 1/2), (+ 0.5), (* 1/2) and (* 0.5) used to raise "not a number" errors. 2008-03-01 21:48:42 -05:00
Abdulaziz Ghuloum db54cd0074 Fixes bug 191116: rationalize broken 2008-03-01 21:45:48 -05:00
Abdulaziz Ghuloum 755843e251 196894: --compile-dependencies misnamed in error message 2008-03-01 21:14:35 -05:00
Abdulaziz Ghuloum ed9f85ea7c Fixes bug 194232: fasl-write error message wrong about textual
output ports
2008-02-26 04:07:33 -05:00
Abdulaziz Ghuloum e36b0029f6 Fixes bug 194259. R6RS records can now be written and read back
through fasl-write and fasl-read.
2008-02-26 03:53:00 -05:00
Abdulaziz Ghuloum c8f9b1dc3d Added fluid-let-syntax.
See http://www.scheme.com/csug7/syntax.html#./syntax:s15
for details.
2008-02-25 02:15:51 -05:00
Abdulaziz Ghuloum 7a9526ec91 removed a macos-specific dependencies in ikrt_file_ctime procedure. 2008-02-19 03:28:40 -05:00
Abdulaziz Ghuloum 523fa2e588 minor fixes to warning messages. 2008-02-19 00:15:18 -05:00
Abdulaziz Ghuloum 81f6c50341 fixed struct initialization problem in fasl-read. 2008-02-18 23:37:01 -05:00
Abdulaziz Ghuloum 259d43ca37 Changed fasl extension from ".ikfasl" to ".ikarus-fasl" 2008-02-18 23:29:49 -05:00
Abdulaziz Ghuloum 405c7dc9e2 fixed a missing put-mark call in fasl-read. 2008-02-18 23:26:54 -05:00
Abdulaziz Ghuloum f45a74c115 removed the separate-compilation.ss file because it was not needed. 2008-02-18 22:07:58 -05:00
Abdulaziz Ghuloum 8564000d0d ikarus --compile-dependencies seems to be working now. 2008-02-18 22:05:29 -05:00
Abdulaziz Ghuloum 8a809e2f58 Added (file-ctime filename) which returns the time of last change
(in nanoseconds)
2008-02-18 21:58:11 -05:00
Abdulaziz Ghuloum e751c15bc4 library record now contains original file name for libraries loaded
from files.
2008-02-18 20:39:42 -05:00
Abdulaziz Ghuloum c430a91bb8 more preparations for separate compilation 2008-02-18 20:28:54 -05:00
Abdulaziz Ghuloum fa08c543bb library records now cache expanded code. 2008-02-18 19:15:47 -05:00
Abdulaziz Ghuloum 163809f667 Ikarus can now compile, save, and reload a simple hello-world library. 2008-02-18 02:02:00 -05:00
Abdulaziz Ghuloum e02b646d6e Added separate compilation stubs. 2008-02-17 04:08:38 -05:00
Abdulaziz Ghuloum 5c56450c3e removed some stale junk from compiler.ss 2008-02-17 03:11:12 -05:00
Abdulaziz Ghuloum 314f80eee9 include now attached annotations to read files (using read-annotated
instead of read).
2008-02-17 02:29:36 -05:00
Abdulaziz Ghuloum 1d6d5bec61 Some work on optimizer (still not working). 2008-02-17 02:11:04 -05:00
Abdulaziz Ghuloum 19e5d2bacd Fixes bug 192222: Quasiquote broken 2008-02-15 15:25:20 -05:00
Abdulaziz Ghuloum 30aae80c5d removed all symbolicly linked files. 2008-02-14 17:45:15 -05:00
Abdulaziz Ghuloum f4fb08adba Added an experimental macro expansion stack trace that looks like:
Unhandled exception:
 Condition components:
    1. &who: let
    2. &message: "not an identifier"
    3. &syntax:
        form: (let ((12 a)) (printf "a=~s\n" a)) 
        subform: 12
    4. &trace: #<syntax (let ((12 a)) (printf "a=~s\n" a))>
    5. &trace: #<syntax (right 12 a (printf "a=~s\n" a))> 
    6. &trace: #<syntax (wrong a 12 (printf "a=~s\n" a)) [byte 216 of test.ss]>


For a file containing:

(define-syntax right
  (syntax-rules ()
    [(_ a b c) (let ([a b]) c)]))
 
(define-syntax wrong
  (syntax-rules ()
    [(_ a b c) (right b a c)]))

(right x 17 (wrong a 12 (printf "a=~s\n" a)))
2008-02-14 04:01:09 -05:00
Abdulaziz Ghuloum f6b35c4506 Fixes bug 191659: add1 and sub1 are slow 2008-02-13 18:12:00 -05:00
Abdulaziz Ghuloum 66b9f6968e Work in progress on reimplementing the optimizer based on
Oscar Waddell's dissertation (chapter 4).  The existing
optimizer in Ikarus is just a joke.
2008-02-13 03:29:34 -05:00
Abdulaziz Ghuloum 08fda34ebe Added a single argument (fx- n) case that was missing. 2008-02-12 16:43:15 -05:00
Abdulaziz Ghuloum bde9000c06 fx- now checks for overflow. 2008-02-12 15:03:43 -05:00
Abdulaziz Ghuloum 1683997a12 fx* now detects overflow. 2008-02-12 14:46:18 -05:00
Abdulaziz Ghuloum 3811d0a4c2 Loops with a single free variable no longer allocate a closure. 2008-02-11 22:18:32 -05:00
Abdulaziz Ghuloum e1d9e72983 some compiler cleanup 2008-02-11 09:29:59 -05:00
Abdulaziz Ghuloum 4a731c4f28 Fixed a bug introduced earlier today that prevented bindings to
simple constants from being initialized properly.
2008-02-10 07:35:09 -05:00
Abdulaziz Ghuloum 5b904b93c4 SCC-letrec optimization is now online. 2008-02-10 05:46:58 -05:00
Abdulaziz Ghuloum 6df608ccd9 SCC-letrec kinda works now. 2008-02-10 05:24:16 -05:00
Abdulaziz Ghuloum 4e5121af4e Implemented an experimental SCC letrec transformation which does not
work yet.
2008-02-10 03:27:31 -05:00
Abdulaziz Ghuloum f3c92c9473 Fixes bug 188159: delete-file not recognizing "file doesn't exist"
error, and it's not using &i/o-filename
2008-02-03 17:11:53 -05:00
Abdulaziz Ghuloum 1a98773440 This is the 0.0.3 release. 2008-02-02 23:08:58 -05:00
Abdulaziz Ghuloum f6e5e4d5b4 Added -m32 to CFLAGS/LDFLAGS, updated copyright dates and version no. 2008-01-29 00:34:34 -05:00
Abdulaziz Ghuloum 6bfe82ca9b Reimplemented bytevector-uint-set! and bytevector-sint-set! to make
the implementation simpler and more correct (previous one was
incorrect).
2008-01-28 15:45:42 -05:00
Abdulaziz Ghuloum a43177d399 Fixed some of bug 186155: Incorrect syntax errors for define 2008-01-27 19:12:20 -05:00
Abdulaziz Ghuloum 7f971d710a Fixes bug 185276: Tracing confused by zero number of return values 2008-01-23 03:14:33 -05:00
Abdulaziz Ghuloum b8ac2f81ea Added special case for sorting lists of size < 2. 2008-01-23 03:08:46 -05:00
Abdulaziz Ghuloum 9ba00f128e Fixes big 185268: open-string-input-port type check die message missing 2008-01-23 02:17:25 -05:00
Abdulaziz Ghuloum a33269daa7 Fixes bug 184959: get-bytevector-some missing 2008-01-22 10:59:04 -05:00
Abdulaziz Ghuloum 92d02e8e52 Fixes bug 173042: Wrong error message for (mod 3.0 3) 2008-01-22 10:39:21 -05:00
Abdulaziz Ghuloum 313e59bc92 slightly enhanced error message for attempting to transcode a port
using an unsupported line-style (the only supported one is "none" as
of now).
2008-01-22 03:30:52 -05:00
Abdulaziz Ghuloum 264c58c4a4 Working on bug 184993: Writing to zombie process causes Ikarus to exit. 2008-01-21 23:29:04 -05:00
Abdulaziz Ghuloum b00e56face Fixes bug 184991: binary ports' printed representation says they're
textual
2008-01-21 22:10:23 -05:00
Abdulaziz Ghuloum b0ffb78d67 Updated user's guide:
- Changed license from FDL to GPL
- Added docs about file extensions
- Updated list of missing features (list is down to one page, yay!)
- Updated copyright years in document and ikarus-main.ss (it's 2008!).
2008-01-21 01:01:28 -05:00
Abdulaziz Ghuloum 9edb15a0f9 Added bitwise-bit-field. 2008-01-20 23:13:24 -05:00
Abdulaziz Ghuloum eedbe65e44 Added bitwise-copy-bit. 2008-01-20 22:21:54 -05:00
Abdulaziz Ghuloum cc7066441c Added put-bytevector. 2008-01-20 20:30:37 -05:00
Abdulaziz Ghuloum fd75cfc02f Added tests for list-sort and vector-sort. 2008-01-20 17:52:19 -05:00
Abdulaziz Ghuloum b5b558f4e6 Reimplemented list-sort in terms of vector-sort!. 2008-01-20 16:54:23 -05:00
Abdulaziz Ghuloum f1710b81ab Reimplemented vector-sort and vector-sort! 2008-01-20 16:48:55 -05:00
Abdulaziz Ghuloum 0142ba2315 - Added an optimization to the base record constructors for args up
to 4.
2008-01-19 18:15:18 -05:00
Abdulaziz Ghuloum df1cef98be - Added primop for *. 2008-01-19 16:11:00 -05:00
Abdulaziz Ghuloum 48100f3737 Added bitwise-and primop. 2008-01-19 15:44:38 -05:00
Abdulaziz Ghuloum dd5967c433 Added special cases for fixnum args to div and mod. 2008-01-19 15:33:52 -05:00
Abdulaziz Ghuloum 497d2ea8ed increased IO block-size from 4K to 16K. 2008-01-19 14:51:14 -05:00
Abdulaziz Ghuloum 323d1037ea - Fixed a performance bug that caused slowness in read-char for IO
intensive code (cat, tail, wc)
2008-01-19 13:50:53 -05:00
Abdulaziz Ghuloum 7a970db55d Fixes bug 184265: flonum? assemble bug 2008-01-19 09:47:15 -05:00
Abdulaziz Ghuloum 5bf2afce78 Added inline expansion for all cxr and cxxxr primitives. 2008-01-18 22:44:40 -05:00
Abdulaziz Ghuloum 6018e2200d Made (define foo) expand to (define foo (void)). 2008-01-18 22:18:26 -05:00
Abdulaziz Ghuloum 8adb1639f0 sqrt and exact-integer-sqrt now use the gmp sqrt procedure instead
of the previous bisection algorithm (much faster).
2008-01-17 01:26:29 -05:00
Abdulaziz Ghuloum f7dcbe87c6 Fixes round-off error in sqrt. 2008-01-12 21:05:26 -05:00
Abdulaziz Ghuloum d9cdcb8959 Fixes bug 180991: round-off error in bignum->flonum 2008-01-12 20:52:23 -05:00
Abdulaziz Ghuloum 2dc4542148 Reimplemented the guardians collector which was yellowing out since
the last update to the GC.  All tests now run without a glitch.
2008-01-12 17:32:43 -05:00
Abdulaziz Ghuloum 7a2ac14f5a Eliminated frame-pointer adjustment around calls if the adjustment
is 0.  Previously, you'd get 
    addl 0, fpr
    <stuff>
    subl 0, fpr
which are useless.
2008-01-10 03:26:18 -05:00
Abdulaziz Ghuloum 9e06ec35bf Fixes bug 181679: vec-graph not working 2008-01-10 00:40:39 -05:00
Abdulaziz Ghuloum 4444496609 Fixes bug 181105: syntax pattern variable list length mismatch error
is obscure
2008-01-09 08:47:48 -05:00
Abdulaziz Ghuloum 62765c2885 Fixes bug 180895: letrec error message not as helpful as let 2008-01-09 08:37:46 -05:00
Abdulaziz Ghuloum fbebc96bfa Fixed the ``bytes allocated off by n problem''. 2008-01-07 21:37:41 -05:00
Abdulaziz Ghuloum 01d0669607 sigaltstack is not used now if the OS does not provide it. 2008-01-07 19:04:46 -05:00
Abdulaziz Ghuloum 899be70aca Kind of a better implementation of ratnum->flonum. 2008-01-06 02:27:23 -05:00
Abdulaziz Ghuloum da7f05a538 Fixes more of bug 180170: (log (expt 2 1024)) now works. 2008-01-05 21:02:52 -05:00
Abdulaziz Ghuloum af6562721b Fixes bug 180170: Missing bignum sqrt 2008-01-04 21:46:50 -05:00
Abdulaziz Ghuloum 3cd68e7ea3 Fixed bug 179978: (eq? (vector) (vector)) should evaluate to #t 2008-01-04 21:19:30 -05:00
Abdulaziz Ghuloum 797897cc01 Fixes bug 180455: raw symbols in output of macro are not detected 2008-01-04 20:53:59 -05:00
Abdulaziz Ghuloum e35ed42f6c Added the tests that I'm using for porting. 2008-01-04 05:55:06 -05:00
Abdulaziz Ghuloum 069ff811e2 Passed tests-1.6 in 64-bit mode. 2008-01-04 05:54:35 -05:00
Abdulaziz Ghuloum 755beeb7d7 uuid and gensym were not generating pretty unique strings. fixed. 2008-01-04 05:47:18 -05:00
Abdulaziz Ghuloum 976694a3ab passing tests-1.5 2008-01-04 04:41:20 -05:00
Abdulaziz Ghuloum 71fcccd764 passing tests-1.4 2008-01-04 04:21:02 -05:00
Abdulaziz Ghuloum 2ea7321e6b passing tests-1.3 in 64-bit mode. 2008-01-04 03:49:27 -05:00
Abdulaziz Ghuloum 61dfef0cea Passing tests-1.2 in 64-bit. 2008-01-04 02:50:45 -05:00
Abdulaziz Ghuloum 5d2f14c523 Added a disassembler tool for 64-bit code (using macos otool64). Also,
passed more tests in 64-bit mode.
2008-01-03 23:03:22 -05:00
Abdulaziz Ghuloum 3b8eb4bbd4 Ikarus can compile immediates in 64-bit mode.
It feels like I'm going through my compilers tutorial all over again!
2008-01-03 04:42:10 -05:00
Abdulaziz Ghuloum 341e53a36d 64-bit fasl files can now be produced and read. 2008-01-03 02:07:17 -05:00
Abdulaziz Ghuloum 3c99e7d393 fasl-write now writes different fasl objects depending on the
architecture bitness.
2008-01-02 23:22:55 -05:00
Abdulaziz Ghuloum 7fb7add0ce frame size parameters are now more modular in ikarus-data.h 2008-01-02 20:58:48 -05:00
Abdulaziz Ghuloum d9475009fd renamed:
src/cpu_has_sse2.s => src/cpu_has_sse2.S
  src/ikarus-enter.s => src/ikarus-enter.S
2008-01-02 18:05:59 -05:00
Abdulaziz Ghuloum c15876aebe Abstracted the construction of call frames and automated the padding
process.  The compiler no longer has hardcoded null bytes inserted
into the code streams.
2008-01-02 07:01:45 -05:00
Abdulaziz Ghuloum 0db7d1d6d0 Identified places where a hard-coded number of null bytes are
manually inserted into the code stream to ensure proper offsets.
These need to be removed ASAP.  Also, abstracted the values of three
constants that were hardcoded.
2008-01-02 05:55:30 -05:00
Abdulaziz Ghuloum 50e2478d06 removed some hard-coded constants of pcb-offsets. 2008-01-01 23:07:41 -05:00
Abdulaziz Ghuloum 66e9cd6415 ikarus now compiles cleanly (but still unrunnable) in 64-bit mode. 2008-01-01 21:42:52 -05:00