packages feed

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 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