on master help sign in
Merge remote-tracking branch 'origin/master' into newer-conduit
1bafb51Michael Snoyman
ChangeLog.md+4
@@ -1,3 +1,7 @@
1+## 0.8.26
2+
3+* Add `Semigroup` instance [#123](https://github.com/snoyberg/yaml/pull/123)
4+
1## 0.8.25.2
5## 0.8.25.2
2
6
3* Use `throwM` instead of `monadThrow`
7* Use `throwM` instead of `monadThrow`
Data/Yaml/Parser.hs+8−1
@@ -18,6 +18,9 @@ import qualified Data.Map as Map
18#if !MIN_VERSION_base(4,8,0)
18#if !MIN_VERSION_base(4,8,0)
19import Data.Monoid (Monoid (..))
19import Data.Monoid (Monoid (..))
20#endif
20#endif
21+#if !MIN_VERSION_base(4,11,0)
22+import Data.Semigroup (Semigroup(..))
23+#endif
21import Data.Text (Text, pack, unpack)
24import Data.Text (Text, pack, unpack)
22import Data.Text.Encoding (decodeUtf8)
25import Data.Text.Encoding (decodeUtf8)
23import Data.Text.Read (signed, decimal)
26import Data.Text.Read (signed, decimal)
@@ -36,9 +39,13 @@ instance Applicative YamlParser where
36instance Alternative YamlParser where
39instance Alternative YamlParser where
37 empty = fail "empty"
40 empty = fail "empty"
38 (<|>) = mplus
41 (<|>) = mplus
42+instance Semigroup (YamlParser a) where
43+ (<>) = mplus
39instance Monoid (YamlParser a) where
44instance Monoid (YamlParser a) where
40 mempty = fail "mempty"
45 mempty = fail "mempty"
46+#if !MIN_VERSION_base(4,11,0)
41− mappend = mplus
47+ mappend = (<>)
48+#endif
42instance Monad YamlParser where
49instance Monad YamlParser where
43 return = pure
50 return = pure
44 YamlParser f >>= g = YamlParser $ \am ->
51 YamlParser f >>= g = YamlParser $ \am ->
exe/json2yaml.hs+3−3
@@ -1,4 +1,3 @@
1−import Control.Monad (when)
2import qualified Data.Aeson as J
1import qualified Data.Aeson as J
3import qualified Data.ByteString as S
2import qualified Data.ByteString as S
4import qualified Data.ByteString.Lazy as L
3import qualified Data.ByteString.Lazy as L
@@ -9,8 +8,9 @@ import qualified Data.Yaml as Y
9main :: IO ()
8main :: IO ()
10main = do
9main = do
11 args <- getArgs
10 args <- getArgs
11+ (input, output) <- case args ++ replicate (2 - length args) "-" of
12+ [i, o] -> return (i, o)
12− when (length args > 2) $ error "Usage: json2yaml [in] [out]"
13+ _ -> fail "Usage: json2yaml [in] [out]"
13− let (input:output:_) = args ++ repeat "-"
14 mval <- fmap J.decode $
14 mval <- fmap J.decode $
15 case input of
15 case input of
16 "-" -> L.getContents
16 "-" -> L.getContents
yaml.cabal+1−1
@@ -1,5 +1,5 @@
1name: yaml
1name: yaml
2−version: 0.8.25.2
2+version: 0.8.26
3license: BSD3
3license: BSD3
4license-file: LICENSE
4license-file: LICENSE
5author: Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov
5author: Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov