packages feed

haskus-utils-types 1.4 → 1.4.1

raw patch · 2 files changed

+16/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Haskus.Utils.Types.Constraint: type family ConstraintAll1 (f :: k -> Constraint) (xs :: [k]) :: Constraint

Files

haskus-utils-types.cabal view
@@ -1,5 +1,5 @@ name:                haskus-utils-types-version:             1.4+version:             1.4.1 synopsis:            Haskus types utility modules license:             BSD3 license-file:        LICENSE@@ -12,7 +12,7 @@ cabal-version:       1.20  description:-   Haskus types utility modules+   Haskus types utility modules (Nat, List, etc.)  source-repository head   type: git
src/lib/Haskus/Utils/Types/Constraint.hs view
@@ -1,9 +1,23 @@+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE DataKinds #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE TypeFamilies #-}+ -- | Type-level Constraint -- -- Use it with `ConstraintKinds` LANGUAGE pragma module Haskus.Utils.Types.Constraint    ( Constraint+   , ConstraintAll1    ) where  import GHC.Exts (Constraint)++-- | Build a list of constraints+-- e.g., ConstraintAll1 Eq '[A,B,C] ==> (Eq A, Eq B, Eq C)+type family ConstraintAll1 (f :: k -> Constraint) (xs :: [k]) :: Constraint where+   ConstraintAll1 f '[]       = ()+   ConstraintAll1 f (x ': xs) = (f x, ConstraintAll1 f xs)