@hackage bv-sized0.4.0
a BitVector datatype that is parameterized by the vector width
Installation
Dependencies (8)
- QuickCheck >=2.11 && <2.12
- base >=4.7 && <5
- containers >=0.5.11 && <0.6
- lens >=4 && <5
- mtl >=2 && <3
- parameterized-utils Show all…
Dependents (13)
@hackage/crucible-syntax, @hackage/bv-sized-lens, @hackage/cryptol, @hackage/copilot-verifier, @hackage/acme-everything, @hackage/crucible-llvm, Show all…
bv-sized
Overview
This library defines a BitVector datatype that is parameterized by the vector width.
Additional features
BitLayout
We also provides a module called BitLayout, which is handy for defining mappings
from smaller BitVectors into larger ones. This module is particularly useful when
defining encodings in an instruction set.
App
To aid in building expression languages over BitVectors, we provide a module called
App, which supports combining expressions over BitVectors using the BitVector
operations and evaluating said expressions. It can be used in a pure context or in
conjunction with a state monad. This module was inspired by the App type in
macaw, Galois's binary analysis framework.