Changeset 15296 for src/Pugs/Prim/Yaml.hs
- Timestamp:
- 02/18/07 15:56:10 (21 months ago)
- Files:
-
- 1 modified
-
src/Pugs/Prim/Yaml.hs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Prim/Yaml.hs
r14337 r15296 21 21 fromYaml :: YamlNode -> Eval Val 22 22 fromYaml MkNode{n_elem=ENil} = return VUndef 23 fromYaml MkNode{n_elem=EStr str} = return $ VStr $ decodeUTF8 $ unpackBuf str23 fromYaml MkNode{n_elem=EStr str} = return $ _VStr $ decodeUTF8 $ unpackBuf str 24 24 fromYaml MkNode{n_elem=ESeq nodes} = do 25 25 av <- mapM fromYaml nodes … … 33 33 val <- newScalar =<< fromYaml valNode 34 34 return (key, val) 35 hv <- liftIO $ (H.fromList H.hashString vals :: IO IHash)35 hv <- liftIO $ hashList vals 36 36 return $ VRef (hashRef hv) 37 37 Just s | (pre, post) <- Str.splitAt 16 s -- 16 == length "tag:pugs:Object:" … … 64 64 obj <- toYaml v 65 65 rv <- guardIO . emitYaml $ obj 66 (return . VStr . decodeUTF8) rv66 (return . _VStr . decodeUTF8) rv 67 67 68 68 strNode :: String -> YamlNode … … 72 72 toYaml VUndef = return $ mkNode ENil 73 73 toYaml (VBool x) = return $ boolToYaml x 74 toYaml (VStr str) = return $ strNode ( encodeUTF8str)74 toYaml (VStr str) = return $ strNode (cast str) 75 75 toYaml v@(VRef r) = do 76 76 ptr <- liftIO $ stableAddressOf r
