Changeset 15616 for src/Pugs/Prim/Yaml.hs
- Timestamp:
- 03/12/07 01:43:31 (21 months ago)
- Files:
-
- 1 modified
-
src/Pugs/Prim/Yaml.hs (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Prim/Yaml.hs
r15297 r15616 33 33 val <- newScalar =<< fromYaml valNode 34 34 return (key, val) 35 hv <- liftIO$ (H.fromList H.hashString vals :: IO IHash)35 hv <- io $ (H.fromList H.hashString vals :: IO IHash) 36 36 return $ VRef (hashRef hv) 37 37 Just s | (pre, post) <- Str.splitAt 16 s -- 16 == length "tag:pugs:Object:" … … 49 49 return (key, val) 50 50 --let spec = Map.fromList (vals :: [(String, Val)]) 51 --spec <- liftSTM. newTVar . Map.map lazyScalar $ Map.fromList (vals :: [(String, Val)])52 spec' <- liftSTM. newTVar $ Map.fromList (vals :: [(String, Val)])53 spec <- liftSTM. readTVar $ spec'51 --spec <- stm . newTVar . Map.map lazyScalar $ Map.fromList (vals :: [(String, Val)]) 52 spec' <- stm . newTVar $ Map.fromList (vals :: [(String, Val)]) 53 spec <- stm . readTVar $ spec' 54 54 rule <- fromVal =<< Map.lookup "rule" spec 55 55 global <- fromVal =<< Map.lookup "global" spec … … 74 74 toYaml (VStr str) = return $ strNode (encodeUTF8 str) 75 75 toYaml v@(VRef r) = do 76 ptr <- liftIO$ stableAddressOf r76 ptr <- io $ stableAddressOf r 77 77 if IntSet.member ptr ?seen then return nilNode{ n_anchor = AReference ptr } else do 78 78 let ?seen = IntSet.insert ptr ?seen … … 82 82 ifValTypeIsa v "Array" (return nodes) $ case v' of 83 83 VObject _ -> return nodes 84 _ -> liftIO$ toYamlNode r84 _ -> io $ toYamlNode r 85 85 return node{ n_anchor = AAnchor ptr } 86 86 toYaml (VList nodes) = do
