Expose Tuple class

For many of the instances, we use a transformation to and from a nested
tuple shape. For example, we can have an instance of `Eq` for any HKD by
converting it to nested tuples and using _that_ instance.

@pacak notes that, while this is fine in principal, not exposing it
means that we can't write functions on top of various internals that are
suitably polymorphic because we can't add this class as a constraint.

This commit exposes this class, and frees us all.
This commit is contained in:
Tom Harding 2019-06-10 09:59:40 +01:00
parent 286b7c16c4
commit ce88cc5f0b
2 changed files with 3 additions and 1 deletions

View File

@ -1,7 +1,7 @@
cabal-version: 2.4
name: higgledy
version: 0.2.0.1
version: 0.2.1.0
synopsis: Partial types as a type constructor.
description: Use the generic representation of an ADT to get a higher-kinded data-style interface automatically.
homepage: https://github.com/i-am-tom/higgledy

View File

@ -27,6 +27,8 @@ module Data.Generic.HKD.Types
, HKD_
, GHKD_
, Tuple (..)
) where
import Data.Barbie (ConstraintsB (..), FunctorB (..), ProductB (..), ProductBC (..), TraversableB (..))