type-combinators-singletons 0.2.0.0 → 0.2.1.0
raw patch · 3 files changed
+34/−10 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Type.Combinator.Singletons: singSome :: SomeSing k -> Some (Sing :: k -> Type)
+ Data.Type.Combinator.Singletons: singWit1 :: SingInstance a -> Wit1 SingI a
+ Data.Type.Combinator.Singletons: someSing :: Some (Sing :: k -> Type) -> SomeSing k
+ Data.Type.Combinator.Singletons: wit1Sing :: Wit1 SingI a -> SingInstance a
Files
- CHANGELOG.md +11/−0
- src/Data/Type/Combinator/Singletons.hs +22/−0
- type-combinators-singletons.cabal +1/−10
CHANGELOG.md view
@@ -1,6 +1,17 @@ Changelog ========= +Version 0.2.1.0+---------------++*Jan 20, 2018*++<https://github.com/mstksg/type-combinators-singletons/releases/tag/v0.2.1.0>++* Added `singSome`/`someSing` and `singWit1`/`wit1Sing`, to convert between+ the *singletons* types `SomeSing` and `SingInstance` and their more generic+ representations in *type-combinators*, `Some Sing` and `Wit1 Sing`.+ Version 0.2.0.0 ---------------
src/Data/Type/Combinator/Singletons.hs view
@@ -29,6 +29,8 @@ -- * Conversion functions TC(..) , singLength+ , singSome, someSing+ , singWit1, wit1Sing -- * Orphan singleton instance for 'N' , Sing(SZ, SS), SN, ZSym0, SSym0, SSym1 ) where@@ -139,4 +141,24 @@ singLength = \case SNil -> LZ _ `SCons` xs -> LS (singLength xs)++-- | Convert @'SomeSing' k@ from /singletons/ into the more generic+-- representation @'Some' 'Sing'@, from /type-combinators/.+singSome :: SomeSing k -> Some (Sing :: k -> Type)+singSome (SomeSing s) = Some s++-- | Convert the generic representation @'Some' 'Sing'@ from+-- /type-combinatprs/ to @'SomeSing' k@, from /singletons/.+someSing :: Some (Sing :: k -> Type) -> SomeSing k+someSing ss = some ss SomeSing++-- | Convert a @'SingInstance' a@ from /singletons/ into the more generic+-- representation @'Wit1' 'SingI' a@.+singWit1 :: SingInstance a -> Wit1 SingI a+singWit1 SingInstance = Wit1++-- | Convert the generic representation @'Wit1' 'SIngI' a@ from+-- /type-combinators/ to @'SingInstance' a@ from /singletons/.+wit1Sing :: Wit1 SingI a -> SingInstance a+wit1Sing Wit1 = SingInstance
type-combinators-singletons.cabal view
@@ -1,5 +1,5 @@ name: type-combinators-singletons-version: 0.2.0.0+version: 0.2.1.0 synopsis: Interop between /type-combinators/ and /singletons/. description: Conversions between datatypes in /type-combinators/ and singletons from /singletons/ and orphan instances.@@ -25,15 +25,6 @@ , singletons default-language: Haskell2010 ghc-options: -Wall---- test-suite type-combinators-singletons-test--- type: exitcode-stdio-1.0--- hs-source-dirs: test--- main-is: Spec.hs--- build-depends: base--- , type-combinators-singletons--- ghc-options: -threaded -rtsopts -with-rtsopts=-N--- default-language: Haskell2010 source-repository head type: git