Commit Graph

347 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 3bddca30c4 allocation overflow check sequence is a little tighter now. 2008-06-10 23:01:22 -07:00
Abdulaziz Ghuloum 3ee75bece0 fixed incorrect handling of ".ddd" when reading from a port. 2008-06-10 18:38:06 -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 c53ffd5314 fixed lookahead-char bug that I just made. 2008-06-08 15:53:42 -07:00
Abdulaziz Ghuloum 665ca784d1 Fixed a couple of typos in ikarus.io.ss. 2008-06-08 15:48:52 -07:00
Abdulaziz Ghuloum 432e1d9b87 replaced &i/o-write with &i/o-read for IO read errors. Duuh. 2008-06-08 06:25:22 -07:00
Abdulaziz Ghuloum 1a5ab01e26 The bottom-most exception handler now only exits. 2008-06-07 08:32:00 -07:00
Abdulaziz Ghuloum 9438328f55 bytevector size for doing select has been fixed. It used to be 8
times larger than needed.
2008-06-06 08:22:45 -07:00
Abdulaziz Ghuloum df4b31af1f io-error and raise/strerr now include an &error condition. 2008-06-06 08:10:17 -07:00
Abdulaziz Ghuloum af5472bfb2 exporting fork 2008-06-06 07:52:40 -07:00
Abdulaziz Ghuloum 6741ac2817 better error message when a library file "foo.ss" does not contain
the expected library name (foo).
2008-06-05 00:58:04 -07:00
Abdulaziz Ghuloum 9f7196d11a better contextual error messages for invalid numeric sequences. 2008-06-03 22:27:33 -07:00
Abdulaziz Ghuloum be37f629c5 the reader now understands some complex numbers. 2008-06-02 00:01:59 -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 6437aa98e0 - exp now understands complex numbers.
- expt of complex exponent is implemented in terms of exp.
2008-05-28 23:50:36 -07:00
Abdulaziz Ghuloum fec5dcd419 sqrt, log, and expt now understand complex numbers. 2008-05-28 22:21:08 -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 8827b98972 fasl reader/writer now understands complex numbers. 2008-05-21 00:40:42 -07:00
Abdulaziz Ghuloum 0a6df79e3b ikarus.reader is now loadable separately. 2008-05-20 23:21:37 -07:00
Abdulaziz Ghuloum ebcc042ea1 = now handles complex numbers. 2008-05-18 22:33:49 -07:00
Abdulaziz Ghuloum 4cb8165181 +, -, *, / now handle complex numbers. 2008-05-18 21:41:53 -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 de4276124b added bitwise-ior. 2008-05-18 02:27:55 -07:00
Abdulaziz Ghuloum 0cd61369b2 added some preliminary work for known-types. 2008-05-16 23:27:08 -07:00
Abdulaziz Ghuloum 6511dd1002 Fixed a paren mismatch in "macro?" helper in printer. 2008-05-13 06:09:58 -07:00
Abdulaziz Ghuloum 5d3ab96c2c fixed "inaccurate error message" bug in map when applied a non-list
argument.
2008-05-12 02:39:28 -07:00
Abdulaziz Ghuloum 4acf71d6d2 moved pretty-printing formats to their own library. 2008-05-12 00:35:19 -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 f8b0e949d9 - syntax-case now raises a syntax violation when _ appears in the
literals
- syntax-rules points to the invalid literal when raising an
  exception.
2008-05-10 19:05:40 -04:00
Abdulaziz Ghuloum 5c21f9995e source annotations for r6rs-script and r6rs-libraries are now in
chars instead of bytes.
2008-05-06 15:38:05 -04:00
Abdulaziz Ghuloum b5fc5624ec Fixed a bug in enum-set-universe not returning an enum type. 2008-05-05 23:53:48 -04:00
Abdulaziz Ghuloum 3bcc3249e5 Fixed another source of "annotations being revealed". This time,
it's a reader bug of not inserting enough annotations for reader
macro forms.
2008-05-05 03:52:08 -04:00
Abdulaziz Ghuloum c3b8e50b23 Fixed a minor exposure of annotation records. 2008-05-03 06:49:36 -04:00
Abdulaziz Ghuloum 3f9b567a5b with-syntax now gives more informative error messages:
> (with-syntax ([(x y) #'(a 1)] [(q) #'(a b c)]) 12)
Unhandled exception
 Condition components:
   1. &assertion
   2. &who: with-syntax
   3. &message: "pattern does not match value"
   4. &irritants: ((q) #<syntax (a b c)>)

instead of the previous behavior:

> (with-syntax ([(x y) #'(a 1)] [(q) #'(a b c)]) 12)
Unhandled exception
 Condition components:
    1. &message: "invalid syntax"
    2. &syntax:
        form: ((a 1) (a b c))
        subform: #f
2008-05-03 06:23:35 -04:00
Abdulaziz Ghuloum 373edfc969 Fixes typos in (rnrs enumeration) error messages. 2008-05-03 04:25:58 -04:00
Abdulaziz Ghuloum 5f92e4b96d Added current-directory parameter that gets/sets cwd. 2008-05-03 02:39:49 -04:00
Abdulaziz Ghuloum d87ced74d1 cleaned up some stale primitive names. 2008-05-01 18:13:11 -04:00
Abdulaziz Ghuloum db70f9751f Made all unimplemented procedures raise errors when called. 2008-05-01 17:52:52 -04:00
Abdulaziz Ghuloum b56b0fbd85 fixed a problem causing free-id=? to intern unbound identifiers
into the interaction environment.
2008-05-01 15:04:43 -04:00
Abdulaziz Ghuloum d49aed209a Added (interaction-environment). 2008-05-01 06:02:36 -04:00
Abdulaziz Ghuloum e7386cd7d7 Major changes to the interactive repl:
- We can now redefine imported identifiers.
- We can now use let-syntax, letrec-syntax, and modules at
  top-level.

Hand-wavey Repl Semantics:
- Imported identifiers mean what they meant previously.  In
  particular, you cannot set! imported identifiers.
- An imported identifier may be redefined using define.  Once
  something is defined at the top-level, a specific location for it
  is created, and all definitions, references, and set!s to that
  variable go through the top-level location.
- Re-importing an identifier shadows the top-level location.
- Redefining re-exposes the top-level location.
- and do on.
- A reference to an unbound variable also fabricates a top-level
  location for that variable.

Let's see how this goes.
2008-05-01 04:21:07 -04:00
Abdulaziz Ghuloum 1389f239fe Added process-nonblocking which is like process but returns
nonblocking ports.
2008-04-30 22:55:59 -04:00
Abdulaziz Ghuloum f69e82e6c5 Added with-output-to-port:
> (let-values ([(p e) (open-string-output-port)])
    (with-output-to-port p (lambda () (printf "Hello\n")))
    (e))
"Hello\n"
2008-04-29 00:20:29 -04:00