@@ -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 ()
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