envparse 0.4 → 0.4.1
raw patch · 5 files changed
+26/−4 lines, 5 filesdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base
API changes (from Hackage documentation)
- Env.Generic: instance (Env.Generic.GRecord e f, Env.Generic.GRecord e g) => Env.Generic.GRecord e (f GHC.Generics.:*: g)
- Env.Generic: instance (Env.Generic.GRecord e f, Env.Generic.GRecord e g) => Env.Generic.GRecord e (f GHC.Generics.:+: g)
- Env.Generic: instance (GHC.Generics.Constructor c, Env.Generic.GRecord e a) => Env.Generic.GRecord e (GHC.Generics.C1 c a)
- Env.Generic: instance (GHC.Generics.Selector c, Env.Generic.Type c ~ 'Env.Generic.Record, Env.Generic.GRecord e a) => Env.Generic.GRecord e (GHC.Generics.S1 c a)
- Env.Generic: instance Env.Generic.GRecord e a => Env.Generic.GRecord e (GHC.Generics.D1 c a)
- Env.Generic: instance forall (k :: BOX) a (tag :: k). GHC.Classes.Eq a => GHC.Classes.Eq (a Env.Generic.? tag)
- Env.Generic: instance forall (k :: BOX) a (tag :: k). GHC.Show.Show a => GHC.Show.Show (a Env.Generic.? tag)
- Env.Generic: newtype (?) a tag
- Env.Internal.Free: Alt :: Alt f a -> Alt f a -> Alt f a
- Env.Internal.Free: Ap :: Alt f (a -> b) -> Alt f a -> Alt f b
- Env.Internal.Free: Lift :: f a -> Alt f a
- Env.Internal.Free: Nope :: Alt f a
- Env.Internal.Free: Pure :: a -> Alt f a
+ Env: infixr 1 >=>
+ Env: infixr 6 <>
+ Env.Generic: instance forall a k (tag :: k). GHC.Classes.Eq a => GHC.Classes.Eq (a Env.Generic.? tag)
+ Env.Generic: instance forall a k (tag :: k). GHC.Show.Show a => GHC.Show.Show (a Env.Generic.? tag)
+ Env.Generic: instance forall k (c :: GHC.Generics.Meta) (x1 :: GHC.Types.Symbol) (x2 :: GHC.Generics.SourceUnpackedness) (x3 :: GHC.Generics.SourceStrictness) (x4 :: GHC.Generics.DecidedStrictness) e (a :: k -> *). (GHC.Generics.Selector c, c ~ 'GHC.Generics.MetaSel ('GHC.Base.Just x1) x2 x3 x4, Env.Generic.GRecord e a) => Env.Generic.GRecord e (GHC.Generics.S1 c a)
+ Env.Generic: instance forall k (c :: GHC.Generics.Meta) e (a :: k -> *). (GHC.Generics.Constructor c, Env.Generic.GRecord e a) => Env.Generic.GRecord e (GHC.Generics.C1 c a)
+ Env.Generic: instance forall k e (a :: k -> *) (c :: GHC.Generics.Meta). Env.Generic.GRecord e a => Env.Generic.GRecord e (GHC.Generics.D1 c a)
+ Env.Generic: instance forall k e (f :: k -> *) (g :: k -> *). (Env.Generic.GRecord e f, Env.Generic.GRecord e g) => Env.Generic.GRecord e (f GHC.Generics.:*: g)
+ Env.Generic: instance forall k e (f :: k -> *) (g :: k -> *). (Env.Generic.GRecord e f, Env.Generic.GRecord e g) => Env.Generic.GRecord e (f GHC.Generics.:+: g)
+ Env.Generic: newtype a (?) tag
+ Env.Internal.Free: [Alt] :: Alt f a -> Alt f a -> Alt f a
+ Env.Internal.Free: [Ap] :: Alt f (a -> b) -> Alt f a -> Alt f b
+ Env.Internal.Free: [Lift] :: f a -> Alt f a
+ Env.Internal.Free: [Nope] :: Alt f a
+ Env.Internal.Free: [Pure] :: a -> Alt f a
+ Env.Internal.Parser: instance GHC.Base.Semigroup (Env.Internal.Parser.Mod t a)
- Env: (<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
+ Env: (<=<) :: Monad m => b -> m c -> a -> m b -> a -> m c
- Env: (<>) :: Monoid m => m -> m -> m
+ Env: (<>) :: Semigroup a => a -> a -> a
- Env: (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
+ Env: (>=>) :: Monad m => a -> m b -> b -> m c -> a -> m c
- Env: asum :: (Foldable t, Alternative f) => t (f a) -> f a
+ Env: asum :: (Foldable t, Alternative f) => t f a -> f a
- Env: optional :: Alternative f => f a -> f (Maybe a)
+ Env: optional :: Alternative f => f a -> f Maybe a
- Env.Generic: class Field e a where field name help = var auto name (foldMap help help)
+ Env.Generic: class Field e a
- Env.Generic: class Record e a where record = fmap to (gr (State {statePrefix = "", stateCon = "", stateVar = ""}))
+ Env.Generic: class Record e a
- Env.Generic: field :: Field e a => String -> Maybe String -> Parser e a
+ Env.Generic: field :: (Field e a, AsUnset e, AsUnread e, Read a) => String -> Maybe String -> Parser e a
- Env.Generic: record :: Record e a => Parser e a
+ Env.Generic: record :: (Record e a, r ~ Rep a, Generic a, GRecord e r) => Parser e a
- Env.Internal.Free: hoistAlt :: Functor g => (forall a. f a -> g a) -> Alt f b -> Alt g b
+ Env.Internal.Free: hoistAlt :: forall f g b. Functor g => (forall a. f a -> g a) -> Alt f b -> Alt g b
- Env.Internal.Free: runAlt :: Alternative g => (forall x. f x -> g x) -> Alt f a -> g a
+ Env.Internal.Free: runAlt :: forall f g a. Alternative g => (forall x. f x -> g x) -> Alt f a -> g a
- Env.Internal.Parser: VarF :: String -> (String -> Map String String -> Either e a) -> Maybe String -> Maybe a -> Maybe String -> Bool -> VarF e a
+ Env.Internal.Parser: VarF :: String -> String -> Map String String -> Either e a -> Maybe String -> Maybe a -> Maybe String -> Bool -> VarF e a
Files
- CHANGELOG.markdown +6/−0
- LICENSE +1/−1
- README.markdown +3/−0
- envparse.cabal +3/−3
- src/Env/Internal/Parser.hs +13/−0
CHANGELOG.markdown view
@@ -1,3 +1,9 @@+0.4.1+=====++ * Supported GHC 8.4.3.++ 0.4 ===
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2014-2016, Matvey Aksenov+Copyright (c) 2014-2017, Matvey Aksenov All rights reserved.
README.markdown view
@@ -7,4 +7,7 @@ See `example/Main.hs` for an executable example +As to why anyone would want to use environment to configure their applications, here's [what some folks think][1] about it.+ [0]: https://hackage.haskell.org/package/optparse-applicative+ [1]: https://12factor.net/config
envparse.cabal view
@@ -1,5 +1,5 @@ name: envparse-version: 0.4+version: 0.4.1 synopsis: Parse environment variables description: Here's a simple example of a program that uses @envparse@'s parser:@@ -53,7 +53,7 @@ category: System build-type: Simple cabal-version: >= 1.10-tested-with: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1+tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.3 extra-source-files: README.markdown CHANGELOG.markdown@@ -69,7 +69,7 @@ source-repository this type: git location: https://github.com/supki/envparse- tag: 0.4+ tag: 0.4.1 library default-language:
src/Env/Internal/Parser.hs view
@@ -39,6 +39,9 @@ #if __GLASGOW_HASKELL__ < 710 import Data.Monoid (Monoid(..)) #endif+#if MIN_VERSION_base(4,9,0)+import Data.Semigroup (Semigroup(..))+#endif import Data.String (IsString(..)) import Env.Internal.Free@@ -186,9 +189,19 @@ -- Combine them using the 'Monoid' instance. newtype Mod t a = Mod (t a -> t a) +#if MIN_VERSION_base(4,9,0)+instance Semigroup (Mod t a) where+ Mod f <> Mod g = Mod (g . f)+#endif+ instance Monoid (Mod t a) where mempty = Mod id+#if MIN_VERSION_base(4,11,0)+#elif MIN_VERSION_base(4,9,0)+ mappend = (<>)+#else mappend (Mod f) (Mod g) = Mod (g . f)+#endif -- | Environment variable metadata data Var a = Var