packages feed

singletons-default 0.1.0.3 → 0.1.0.4

raw patch · 2 files changed

+16/−6 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Default.Singletons: [Def] :: SingDef def => Opt (def :: k)
+ Data.Default.Singletons: [Def] :: forall {k} def. SingDef def => Opt (def :: k)
- Data.Default.Singletons: [Some] :: Demote k -> Opt (def :: k)
+ Data.Default.Singletons: [Some] :: forall {k} def. Demote k -> Opt (def :: k)
- Data.Default.Singletons: definite :: forall k def. Opt (def :: k) -> Demote k
+ Data.Default.Singletons: definite :: forall {k} def. Opt (def :: k) -> Demote k
- Data.Default.Singletons: optionally :: SingDef def => Maybe (Demote k) -> Opt (def :: k)
+ Data.Default.Singletons: optionally :: forall {k} def. SingDef def => Maybe (Demote k) -> Opt (def :: k)
- Data.Default.Singletons: perhaps :: Alternative m => Opt (def :: k) -> m (Demote k)
+ Data.Default.Singletons: perhaps :: forall {k} def m. Alternative m => Opt (def :: k) -> m (Demote k)

Files

singletons-default.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           singletons-default-version:        0.1.0.3+version:        0.1.0.4 synopsis:       An optional type with type level default description:    dependently typed optional values with default category:       Data
src/Data/Default/Singletons.hs view
@@ -160,8 +160,8 @@  -} data Opt (def :: k) where-  Def :: SingDef def => Opt (def :: k)-  Some :: Demote k -> Opt (def :: k)+  Def :: forall {k} def. SingDef def => Opt (def :: k)+  Some :: forall {k} def. Demote k -> Opt (def :: k)  {- | Constraint required to `demote` @@def@. -} type SingDef (def :: k) = (SingI def, SingKind k)@@ -219,8 +219,16 @@ Constructs an `Opt` from a `Maybe`. `Nothing` maps to `Def`, and `Just` maps to `Some`.++>>> definite (optionally @'[ '[1,2],'[3]] Nothing)+[[1,2],[3]]+>>> definite (optionally @"foo" (Just "bar"))+"bar" -}-optionally :: SingDef def => Maybe (Demote k) -> Opt (def :: k)+optionally+  :: forall {k} def. SingDef def+  => Maybe (Demote k)+  -> Opt (def :: k) optionally = maybe Def Some  {- |@@ -228,7 +236,7 @@ `Def` maps to `demote` @@def@, and `Some` maps to its argument. -}-definite :: forall k def. Opt (def :: k) -> Demote k+definite :: forall {k} def. Opt (def :: k) -> Demote k definite = \case   Def -> demote @def   Some a -> a@@ -239,7 +247,9 @@ and `Some` maps to `pure`, inverting `optionally`. -}-perhaps :: Alternative m => Opt (def :: k) -> m (Demote k)+perhaps+  :: forall {k} def m. Alternative m+  => Opt (def :: k) -> m (Demote k) perhaps = \case   Def -> empty   Some a -> pure a