Immutable alternatives to Vector, Box, Sexp, Syntax-E and Syntax for Typed/Racket
Go to file
2021-04-04 07:23:06 +01:00
private Implemented ivector, with gen:custom-write so that they display like vectors. Store the elements inside a vector, and use an impersonator to make it appear as a list. 2017-01-08 01:33:51 +01:00
scribblings Changed my name :) 2021-03-04 20:52:34 +00:00
test Implemented ivector, with gen:custom-write so that they display like vectors. Store the elements inside a vector, and use an impersonator to make it appear as a list. 2017-01-08 01:33:51 +01:00
typed-syntax A few changes to the typed syntax types 2017-01-13 00:59:18 +01:00
.gitignore Tests, doc-coverage, dependencies 2017-01-07 23:01:13 +01:00
.travis.yml Turn off coverage in older versions 2021-03-05 04:20:23 +00:00
IDEA A few changes to the typed syntax types 2017-01-13 00:59:18 +01:00
info.rkt Changed my name :) 2021-03-04 20:43:48 +00:00
LICENSE.txt Changed my name :) 2021-03-04 20:52:34 +00:00
main.rkt Implemented ivector, with gen:custom-write so that they display like vectors. Store the elements inside a vector, and use an impersonator to make it appear as a list. 2017-01-08 01:33:51 +01:00
README.md Renamed main branch 2021-04-04 07:23:06 +01:00
typed-syntax.rkt A few changes to the typed syntax types 2017-01-13 00:59:18 +01:00

Build Status, Coverage Status, Build Stats, Online Documentation.

tr-immutable

Immutable alternatives to Vector, Box, Sexp, Syntax-E and Syntax for Typed/Racket.

This library wraps vectors and boxes so that Typed/Racket recognises them as immutable. This means that (make-predicate (IVectorof Integer)) works, whereas (make-predicate (Vectorof Integer)) is rejected by current versions of Typed/Racket (due to the fact that vectors are mutable).

This should make it possible to write code operating on syntax objects (containing these immutable vectors), so that typed macros can be written.

There seem to be plans for support for immutable vectors in Typed/Racket at some point in the future. When this happens, this library will be changed to rely on the official immutable vectors.