poly-arity 0.0.1 → 0.0.2
raw patch · 2 files changed
+6/−1 lines, 2 files
Files
- poly-arity.cabal +1/−1
- src/Data/Function/Poly.hs +5/−0
poly-arity.cabal view
@@ -1,5 +1,5 @@ Name: poly-arity-Version: 0.0.1+Version: 0.0.2 Author: Athan Clark <athan.clark@gmail.com> Maintainer: Athan Clark <athan.clark@gmail.com> License: BSD3
src/Data/Function/Poly.hs view
@@ -21,6 +21,11 @@ TypeListToArity '[] r = r -- basis TypeListToArity (x ': xs) r = x -> TypeListToArity xs r +type family ArityMinusTypeList (r :: *) (xs :: [*]) :: * where+ ArityMinusTypeList r '[] = r -- basis+ ArityMinusTypeList (x -> r) (x ': xs) = ArityMinusTypeList r xs++ type family ExpectArity (xs :: [*]) (f :: *) :: Constraint where ExpectArity '[] f = () -- basis ExpectArity (x ': xs) (x -> remainder) = ExpectArity xs remainder