aboutsummaryrefslogtreecommitdiff
path: root/src/Wetterhorn/Constraints.hs
blob: 129fd6c8a37e160a79d34413ecb8c6c95bcfcf2b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
-- | Contains useful constraints and constraint combinators for type-level
-- metaprogramming.
module Wetterhorn.Constraints where

-- | A null constraint. All types implement this.
class Unconstrained a

instance Unconstrained a

-- | Combines multiple constraints by 'And'ing them together.
class (c1 a, c2 a) => (&&&&) c1 c2 a

instance (c1 a, c2 a) => (&&&&) c1 c2 a