Implementation Status

BiwaScheme aims to conform to the latest specification of the Scheme language, R6RS.

Most of the important features are already supported. The biggest features not implemented are errors and hygenic macros (for now, BiwaScheme has 'define-macro' instead).

R6RS Base library

sectiontitlestatus
11.4Expressionsok
11.5Equivalence predicatesok
11.6Procedure predicateok
11.7.4.1Numerical operationsalmost ok
11.8Booleansok
11.9Paris and listsok
11.10Symbolsok
11.11Charactersok
11.12Stringsok
11.13Vectorsok
11.14Errors and violationsnot yet
11.15Control featuresok
11.16Iterationok
11.17Quasiquotationalmost ok (except vector quasiquotation)
11.18Binding constructs for syntactic keywordsnot yet
11.19Macro transformersnot yet
11.20Tail calls and tail contextsok

R6RS Standard Libraries

1Unicodenot yet
2Bytevectors(no plan)
3List utilitiesok
4Sortingpartially ok
5Control structurespartially ok (except case-lambda)
6Recordsok
7Exceptions and conditionsnot yet
8I/Opartially ok (output to 'stdout')
9File systemok (on Node.js)
10Command-line access and exit valuesok (on Node.js)
11Arithmeticnot yet
12syntax-casenot yet
13Hashtablesok
14Enumerationsok
15Composite librarynot yet
16evalalmost ok (eval)
17Mutable pairs(no plan)
18Mutable strings(no plan) # because JavaScript does not provide mutable strings
19R5RS compatibility(no plan)

'(no plan)' means that I have no plan to support it, but does not mean will never include it; patches are welcome.

SRFIs

See http://srfi.schemers.org/ for SRFI (Scheme Requests for Implementation).

1list utilitiespartially (iota)
6string portok
13string utilitiesnot yet
19timepartially
27randompartially (random-integer)
30multi-line commentok
38write/sspartially (write/ss)
43vectorpartially (vector-append)
62s-expr commentok