Skip to content
/ posable Public

Generic library to calculate a product-of-sums layout for non-recursive Haskell 98 data types

License

Notifications You must be signed in to change notification settings

Riscky/posable

Repository files navigation

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.

Dependencies

  • The Stack package manager (Tested with stack 2.7.3)
  • stylish-haskell and hlint (for linting only)

Tests and lints

stylish-haskell -r src examples test
hlint src examples test
stack test

Building

stack build
# To build the docs
stack haddock posable

Examples

In the examples folder you will find examples that describe how to use this library.

About

Generic library to calculate a product-of-sums layout for non-recursive Haskell 98 data types

Resources

License

Stars

Watchers

Forks

Packages

No packages published