rebellion
rebellion copied to clipboard
A collection of core libraries for Racket
It's hard to write contracts that check for some relationship between two values. For example, a contract for `list-ref` that verifies the index is less than the length of the...
Sometimes a data type wants to normalize values for a field, usually so it can accept a broad range of inputs while still preserving meaningful equality semantics. For example, a...
Given that Rebellion provides `define-enum-type`, there should be an efficient set implementation for enums that's backed by a bitstring. Enum types smaller than `log2(max fixnum)` (so enums with 30 or...
Should accept any `(sequence/c entry?)` and should have a fast path for `multidict?`.
Should accept any `(sequence/c entry?)` and should have a fast path for `multidict?`.
Like vector builders, but for multidicts. The implementation can wrap a mutable hash of keys to set builders (see #410). A second mutable hash would probably also be needed for...
Like vector builders, but for multisets. The implementation can wrap a mutable hash of keys to frequencies.
Like vector builders, but for sets. The implementation can just wrap a plain mutable set, since there's no need to resize sets like there is for vectors.
Now that Rebellion has received a few pull requests from others, I should write down the style rules I follow inside Rebellion's codebase. A separate Scribble document (as in, not...