Changeset 8602

Show
Ignore:
Timestamp:
01/07/06 10:14:02 (3 years ago)
Author:
audreyt
Message:

* More slight refactorings.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Prim/Yaml.hs

    r8601 r8602  
    4343    obj  <- toYaml limit v 
    4444    rv   <- liftIO (emitYaml obj) 
    45     case rv of 
    46         Left err  -> fail $ "YAML Emit Error: " ++ err 
    47         Right str -> return $ VStr str 
     45    either (fail . ("YAML Emit Error: "++)) 
     46           (return . VStr) rv 
    4847 
    4948toYaml :: Int -> Val -> Eval YamlNode 
     
    6766    -- parens, which is, of course, wrong. 
    6867    hash    <- fromVal v :: Eval VHash 
    69     attrs   <- toYaml d (VRef (hashRef hash)) 
     68    attrs   <- toYaml d $ VRef (hashRef hash) 
    7069    return $ addTag (Just $ "!pugs:object/" ++ showType (objType obj)) attrs 
    7170    where 
    72     addTag _ (YamlMap (Just x) _) = error ("can't add tag: already tagged with" ++ x) 
    73     addTag tag (YamlMap _ m) = YamlMap tag m 
    74 toYaml _ v = return $ YamlStr $ encodeUTF8 $ pretty v 
     71    addTag _   (YamlMap (Just x) _) = error ("can't add tag: already tagged with" ++ x) 
     72    addTag tag (YamlMap _        m) = YamlMap tag m 
     73toYaml _ v = (return . YamlStr . encodeUTF8 . pretty) v 
    7574 
    7675hashToYaml :: Int -> VRef -> Eval YamlNode 
     
    7877    h <- hash_fetch hv 
    7978    let assocs = Map.toList h 
    80     yamlmap <- flip mapM assocs (\(ka, va) -> do 
    81         ka' <- toYaml d (VStr ka) 
     79    yamlmap <- flip mapM assocs $ \(ka, va) -> do 
     80        ka' <- toYaml d $ VStr ka 
    8281        va' <- toYaml d va 
    83         return (ka', va')) 
     82        return (ka', va') 
    8483    return $ YamlMap Nothing yamlmap 
    8584hashToYaml _ r = error ("unexpected node: " ++ show r)