- Support
#u8
rather than#vu8
- Support datum labels (
#n=
and#n#
) - Support
#true
and#false
- Vertical-bar escapes around symbols
- Support
include
syntax with the(include)
library - Support
cond-expand
syntax (somehow) - Support
delay-force
syntax andpromise?
andmake-promise
procedure (may need to reimplement promises) - Support SRFI 39 parameters (Chez's parameters aren't compatible)
- Add support for
(... <template>)
, which removes the special meaning of ellipsis syntax-error
needs to supply a who argument- Support
define-values
syntax - Translate R7RS
define-record-type
to R6RSdefine-record-type
; the hard part is the constructor.
- Reshape
define-library
forms intolibrary
forms with the help of theinclude
library
- Location tags for procedures (used by
eq?
)
-
finite?
is true of non-real numbers if both the real and the imaginary parts are finite -
infinite?
is true of non-real numbers if either the real or the imaginary parts or both are non-finite -
nan?
is true of non-real numbers if either the real or the imaginary parts or both are NaN -
Define
floor/
,floor-quotient
,floor-remainder
, truncate/,
truncate-quotient,
truncate-remainderin terms of
divand
mod`: see r6rs-lib Chapter 19 -
Define
rationalize
per IEEE 1178
- Define
make-list
- Define
list-ref
- Define
list-set!
- Define
member
in terms ofmember
andmemp
- Define
assoc
in terms ofassoc
andassp
- Define
list-copy
- Define
digit-value
- Accept
\|
string escape
- Define
string-copy!
- Define
string-fill!
- Define
vector->string
andstring->vector
- Define
vector-copy
andvector-copy!
bytevector-copy
takes start and end optional argumentsbytevector-copy!
takes different arguments- Define
bytevector-append
utf8->string
andstring->utf8
take start and end optional arguments
error
needs to supply a who argumenterror-object-message
anderror-object-irritants
arecondition-message
andcondition-irritants
(with safety checks)
eval
accepts definitions- Define
scheme-environment
andnull-environment
based on(rnrs r5rs)
- Define
open-binary-input-file
andopen-binary-output-file
usingopen-file-input-port
andopen-file-output-port
- Define
input-port-open?
andoutput-port-open?
(using exceptions somehow) - Define
get-output-string
using second value ofopen-string-output-port
- Define
get-output-bytevector
using second value ofopen-bytevector-output-port
- Define
read-bytevector
andwrite-bytevector
- Define
read-bytevector!
andwrite-bytevector!
- Define
peek-char
andpeek-u8
usinglookahead-char
andlookahead-u8
' - Define
read
based on R7RS lexical syntax - Define
write-simple
aswrite
- Define
write-circular
andwrite-shared
- Define
load
- Define
command-line
,exit
,get-environment-variable
,get-environment-variables
,current-second
,current-jiffy
,jiffies-per-second
,features
(not portable)