www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

README.md (1271B)


      1 [![Build Status,](https://img.shields.io/travis/jsmaniac/tr-immutable/main.svg)](https://travis-ci.org/jsmaniac/tr-immutable)
      2 [![Coverage Status,](https://img.shields.io/codecov/c/github/jsmaniac/tr-immutable/main.svg)](https://codecov.io/gh/jsmaniac/tr-immutable/branch/main)
      3 [![Build Stats,](https://img.shields.io/badge/build-stats-blue.svg)](http://jsmaniac.github.io/travis-stats/#jsmaniac/tr-immutable)
      4 [![Online Documentation.](https://img.shields.io/badge/docs-online-blue.svg)](http://docs.racket-lang.org/tr-immutable/)
      5 
      6 tr-immutable
      7 ============
      8 
      9 Immutable alternatives to Vector, Box, Sexp, Syntax-E and Syntax for
     10 Typed/Racket.
     11 
     12 This library wraps vectors and boxes so that Typed/Racket recognises them as
     13 immutable. This means that `(make-predicate (IVectorof Integer))` works,
     14 whereas `(make-predicate (Vectorof Integer))` is rejected by current versions
     15 of Typed/Racket (due to the fact that vectors are mutable).
     16 
     17 This should make it possible to write code operating on syntax objects
     18 (containing these immutable vectors), so that typed macros can be written.
     19 
     20 There seem to be plans for support for immutable vectors in Typed/Racket at
     21 some point in the future. When this happens, this library will be changed to
     22 rely on the official immutable vectors.