@@ -1,29 +1,24 @@
11{-# LANGUAGE MultiParamTypeClasses #-}
2+{-# LANGUAGE FlexibleInstances #-}
23import Text.Yaml
34import qualified Data.ByteString as B
45import Control.Monad
5−import Data.Convertible
6−
7−-- FIXME
8−instance ConvertSuccess B.ByteString B.ByteString where
9− convertSuccess = id
10−instance ConvertAttempt B.ByteString B.ByteString where
11− convertAttempt = return
6+import Data.Convertible.Text
7+import Data.Object
8+import Data.Object.Text
129
1310main = do
1411 contents <- B.readFile "input.yaml"
15− o <- decodeText contents
12+ o <- decodeText' contents
1613 let contents2 = encodeText o
1714 B.writeFile "output.yaml" contents2
18− o2 <- decodeText contents2
15+ o2 <- decodeText' contents2
1916 print o2
20−{-
17+
2118 contents3 <- B.readFile "hebrew.yaml"
2219 o3 <- decodeText contents3
23− print (o3 :: B.ByteString)
20+ print o3
2421 B.writeFile "hebrew.txt" o3
2522
26− o4 <- join $ decodeFile "input.yaml"
27− print (o4 :: Object)
28− encodeFile "output2.yaml" o4
29−-}
23+instance ConvertAttempt (Object Text Text) B.ByteString where
24+ convertAttempt = fromObject