Commit Graph

69 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum c3b12a22e8 the repl now resets on receiving &interrupted conditions. 2008-07-12 20:05:45 -07:00
Abdulaziz Ghuloum eccca7f4ea - Added trace-let-syntax, trace-letrec-syntax, as well as fixed
trace-define-syntax to handle variable transformers.

- added primops for fx comparison functions.
2008-07-11 22:31:40 -07:00
Abdulaziz Ghuloum 579b823f44 WIP on tag analysis, annotations, and utilization. 2008-07-06 23:48:16 -07:00
Abdulaziz Ghuloum d73dfd1287 - More work on the new optimizer
- Deleted old optimizer and changed the meaning of optimize level to
  be:
    0: bypass the optimizer
    1: copy propagation, constant folding, no inlining
    1: copy propagation, constant folding, with inlining
  The default is set to 1.
2008-06-29 12:35:34 -07:00
Abdulaziz Ghuloum 45346ef865 - Added cp0! including:
- (optimize-level [0,1,2])  and  ikarus -O[0,1,2]
       where -O0 = no optimizations
             -O1 = using old optimizer
             -O2 = using the new cp0 optimizer
       defaults to -O1 for now.
   - (cp0-size-limit n) which is the limit of the residual size for
     each inlining attempt
   - (cp0-effort-limit n) which is the limit on the effort expended 
     for each inlining attempt
   
- Rewrote the syntax-match macro to make use of the same technology
  used in syntax-case itself resulting in reduced code size.

- Added (system-value <symbol>) which returns the system value.
  E.g., (system-value 'car) => #<procedure car>
  This is pretty much the same as 
    (eval <symbol> (environment '(ikarus)))
  except that it does not involve compiling the expression or 
  consulting the library/expander systems.

- Fixed the fasl loader to make it understand complex numbers.
2008-06-28 02:25:44 -07:00
Abdulaziz Ghuloum e65b39d95d All parameters that are bound to variables now have proper names.
E.g., pretty-width now prints as #<procedure pretty-width>.
2008-06-19 01:58:59 -07:00
Abdulaziz Ghuloum 3bddca30c4 allocation overflow check sequence is a little tighter now. 2008-06-10 23:01:22 -07:00
Abdulaziz Ghuloum 0939370a07 suppressing printing of file names during bootstrap. 2008-06-10 13:21:00 -07:00
Abdulaziz Ghuloum fe1f7077ff fixed minor bug in syntax-case where the wraps and marks of
top-marked wrapped syntax objects were incorrectly combined.
E.g., it used to be that:

  (syntax-case (datum->syntax #'foo #'(x y)) ()
    [(x y) 'shouldntmatch] [_ 'ok])

yields shouldntmatch; it's now ok.
2008-06-10 12:35:56 -07:00
Abdulaziz Ghuloum ef50e9f515 dropping input-port-byte-position from (ikarus)'s exports. 2008-06-09 01:36:27 -07:00
Abdulaziz Ghuloum a492d318e1 - fixed minor bug in current-directory
- changed implementation of string->number.
2008-05-31 20:10:17 -07:00
Abdulaziz Ghuloum 53905b9eea Changes from Derick Eddington supporting file system info:
- Added file-regular?, file-directory?, file-symbolic-link?,
  directory-list, make-directory, delete-directory, change-mode, 
  and make-symbolic-link.

- Bug fix in ikrt_open_input_fd and ikrt_open_output_fd which
  considered a 0 FD as an error.

- Bug fix in ikrt_getcwd about len+1.

- Bug fix of &i/o-file-protection which didn't have &i/o-filename as
  its parent.

- There is a new src/ikarus-errno.c file.  

- Made tcp-connect and friends tell when they "failed to resolve
  host name or connect".

- To support the uses of &i/o-filename subtypes, I modified
  print-condition so it will cleanly print the parents' fields of a
  condition;
2008-05-31 10:43:55 -07:00
Abdulaziz Ghuloum b74e3976df allocation check was still incorrect when the ap+size overflows and
shows up to be less than the end of allocation pointer.
2008-05-25 15:32:22 -07:00
Abdulaziz Ghuloum 7f0f127081 Allocation overflow check was incorrectly using signed comparison
instead of an unsigned one.
2008-05-25 14:39:03 -07:00
Abdulaziz Ghuloum 467095677e +, -, *, and / now handle inexact complex numbers. 2008-05-25 10:37:41 -07:00
Abdulaziz Ghuloum ab2e05e8b0 Added inexact complex numbers. 2008-05-24 10:13:01 -07:00
Abdulaziz Ghuloum 0a6df79e3b ikarus.reader is now loadable separately. 2008-05-20 23:21:37 -07:00
Abdulaziz Ghuloum 82140f87ba - Added complex numbers representation (exact complex only).
- Added make-rectangular.
- Added the ability to display complex numbers.
2008-05-18 20:39:41 -07:00
Abdulaziz Ghuloum da7cedfe64 Added bitwise-xor. 2008-05-18 03:21:05 -07:00
Abdulaziz Ghuloum f05f171f28 exported pretty-format, a parameter maker for setting the pretty
format for various forms.  The pretty format structure is not
documented yet and there is no error-checking mechanism for
verifying proper input.
2008-05-12 01:00:01 -04:00
Abdulaziz Ghuloum d49aed209a Added (interaction-environment). 2008-05-01 06:02:36 -04:00
Abdulaziz Ghuloum df0aa2de1f Added input-socket-buffer-size and output-socket-buffer-size
parameters.
2008-04-11 14:02:43 -04:00
Abdulaziz Ghuloum 6e599c4c72 refactored nonblocking code in ikarus-io.c and ikarus.io.ss 2008-03-23 00:41:49 -04:00
Abdulaziz Ghuloum 85d09cbc1c fxarithmetic-shift-left now detects overflows properly. 2008-03-18 00:49:24 -04:00
Abdulaziz Ghuloum d35566081b import now recognizes and ignore ``for'' spec. 2008-03-15 21:00:16 -04: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 f45a74c115 removed the separate-compilation.ss file because it was not needed. 2008-02-18 22:07:58 -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 314f80eee9 include now attached annotations to read files (using read-annotated
instead of read).
2008-02-17 02:29:36 -05:00
Abdulaziz Ghuloum 30aae80c5d removed all symbolicly linked files. 2008-02-14 17:45:15 -05:00
Abdulaziz Ghuloum f6b35c4506 Fixes bug 191659: add1 and sub1 are slow 2008-02-13 18:12:00 -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 5b904b93c4 SCC-letrec optimization is now online. 2008-02-10 05:46:58 -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 1a98773440 This is the 0.0.3 release. 2008-02-02 23:08:58 -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 df1cef98be - Added primop for *. 2008-01-19 16:11:00 -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 fbebc96bfa Fixed the ``bytes allocated off by n problem''. 2008-01-07 21:37:41 -05:00
Abdulaziz Ghuloum 069ff811e2 Passed tests-1.6 in 64-bit mode. 2008-01-04 05:54:35 -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 64dac92831 Added tcp-connect-nonblocking which is line tcp-connect but puts the
socket in nonblocking mode.  An operation that would block now
raises (continuable) a condition of type &i/o-would-block which
contains the port in question.  There's no way to handle the
condition gracefully yet.
2007-12-27 22:08:27 -05:00
Abdulaziz Ghuloum fc2d958419 Ikarus now recognizes ".sls", ".ss", and ".scm" extensions as well
as ".ikarus.sls", ".ikarus.ss", and ".ikarus.scm".
2007-12-27 15:16:08 -05:00
Abdulaziz Ghuloum ab67ee9dad Fixes bug 178385: Closed port giving incorrect error about type
instead of about being closed
2007-12-23 22:28:48 -05:00
Abdulaziz Ghuloum 22ff670e81 the reader is now capable of returning annotated expressions
containing full file-source information about each expression.
2007-12-19 00:40:25 -05:00