posable-1.0.0.0: README.md
# POSable
A library to convert non-recursive Haskell-98 datatypes to a Product-of-Sums
representation - and back. This makes it possible to compactly store arrays of
(nested) sum types in a struct-of-arrays representation, which is used in
array-based languages like [Accelerate].
[Accelerate]: https://www.acceleratehs.org/
## Dependencies
- The [Stack] package manager (Tested with stack 2.7.3)
- `stylish-haskell` and `hlint` (for linting only)
[Stack]: https://docs.haskellstack.org/en/stable/README/
## Tests and lints
``` bash
stylish-haskell -r src examples test
hlint src examples test
stack test
```
## Building
``` bash
stack build
# To build the docs
stack haddock posable
```
## Examples
In the [examples](examples) folder you will find examples that describe how to use this
library.