heterogeneous-list-literals 0.1.0.1 → 0.2.0.0
raw patch · 3 files changed
+11/−11 lines, 3 filesdep +Onlydep −OneTupledep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: Only
Dependencies removed: OneTuple
Dependency ranges changed: base
API changes (from Hackage documentation)
- Data.HeterogeneousListLiterals: instance Data.Typeable.Internal.Typeable a1 => Data.HeterogeneousListLiterals.HeterogeneousListLiteral (Data.Tuple.OneTuple.OneTuple a1) '[a1]
+ Data.HeterogeneousListLiterals: instance Data.Typeable.Internal.Typeable a1 => Data.HeterogeneousListLiterals.HeterogeneousListLiteral (Data.Tuple.Only.Only a1) '[a1]
Files
- heterogeneous-list-literals.cabal +4/−4
- src/Data/HeterogeneousListLiterals.hs +4/−4
- test/Docs.hs +3/−3
heterogeneous-list-literals.cabal view
@@ -2,7 +2,7 @@ -- further documentation, see http://haskell.org/cabal/users-guide/ name: heterogeneous-list-literals-version: 0.1.0.1+version: 0.2.0.0 synopsis: Allows the use of tuples as literals for Heterogeneous collections homepage: https://github.com/davidm-d/heterogeneous-list-literals license: BSD3@@ -27,7 +27,7 @@ > a = hList () > > b :: HList '[Bool]- > b = hList (OneTuple True)+ > b = hList (Only True) > > c :: HList '[Bool, Int, Double, String] > c = hList (True, 24, 10.5, "Fire")@@ -40,8 +40,8 @@ exposed-modules: Data.HeterogeneousListLiterals -- other-modules: -- other-extensions: - build-depends: base >=4.9 && <= 4.11- , OneTuple >= 0.2.1+ build-depends: base >=4.9 && < 4.12+ , Only >= 0.1 && < 0.2 hs-source-dirs: src default-language: Haskell2010
src/Data/HeterogeneousListLiterals.hs view
@@ -9,12 +9,12 @@ module Data.HeterogeneousListLiterals ( HeterogeneousListLiteral(..) , HLL- , module Data.Tuple.OneTuple+ , module Data.Tuple.Only ) where import GHC.TypeLits import Data.Kind-import Data.Tuple.OneTuple+import Data.Tuple.Only import Control.Monad import Data.Dynamic import Data.Tuple@@ -30,8 +30,8 @@ instance HeterogeneousListLiteral () '[] where toDynamicList () = [] -instance Typeable a1 => HeterogeneousListLiteral (OneTuple a1) '[a1] where- toDynamicList (OneTuple a1) = [toDyn a1]+instance Typeable a1 => HeterogeneousListLiteral (Only a1) '[a1] where+ toDynamicList (Only a1) = [toDyn a1] -- all code generated below comes from this function -- generate :: Int -- ^ up to N
test/Docs.hs view
@@ -1,11 +1,11 @@-{-# Language TypeApplications, DataKinds, TypeInType, KindSignatures #-}+{-# Language DataKinds, TypeInType, KindSignatures #-} import Data.HeterogeneousListLiterals import GHC.TypeLits import Data.Kind import Data.Dynamic -data HList (a :: [Type]) = HList [Dynamic]+newtype HList (a :: [Type]) = HList [Dynamic] hList :: HLL input output => input -> HList output hList = HList . toDynamicList@@ -14,7 +14,7 @@ a = hList () b :: HList '[Bool]-b = hList (OneTuple True)+b = hList (Only True) c :: HList '[Bool, Int, Double, String] c = hList (True, 24, 10.5, "Fire")