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,
(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.