-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Fast, lightweight YAML loader and dumper
--
-- This is a simple YAML ('Yet Another Markup Language') processor, used
-- by the Pugs project for handling data serialization; this can be
-- useful for optimization and caching purposes.
--
-- This is an interface to the syck C library for parsing and
-- dumping YAML data. It lets you transform textual YAML data into an
-- object of type YamlNode, and vice versa, fast.
@package HsSyck
@version 0.44
module Data.Yaml.Syck
-- | Parse a regular Haskell string
parseYaml :: String -> IO YamlNode
-- | Dump a YAML node into a regular Haskell string
emitYaml :: YamlNode -> IO String
-- | Given a file name, parse contents of file
parseYamlFile :: String -> IO YamlNode
-- | Given a file name, dump a YAML node into that file
emitYamlFile :: FilePath -> YamlNode -> IO ()
-- | Parse a ByteString buffer (this is faster)
parseYamlBytes :: Buf -> IO YamlNode
emitYamlBytes :: YamlNode -> IO Buf
data YamlNode
MkNode :: !SYMID -> !YamlElem -> !YamlTag -> !YamlAnchor -> YamlNode
n_id :: YamlNode -> !SYMID
n_elem :: YamlNode -> !YamlElem
n_tag :: YamlNode -> !YamlTag
n_anchor :: YamlNode -> !YamlAnchor
data YamlElem
EMap :: [(YamlNode, YamlNode)] -> YamlElem
ESeq :: [YamlNode] -> YamlElem
EStr :: !Buf -> YamlElem
ENil :: YamlElem
data YamlAnchor
AAnchor :: !Int -> YamlAnchor
AReference :: !Int -> YamlAnchor
ASingleton :: YamlAnchor
tagNode :: YamlTag -> YamlNode -> YamlNode
nilNode :: YamlNode
mkNode :: YamlElem -> YamlNode
mkTagNode :: String -> YamlElem -> YamlNode
mkTagStrNode :: String -> String -> YamlNode
type SYMID = CULong
-- | Convert a regular Haskell string into a ByteString buffer
packBuf :: String -> Buf
-- | Convert a ByteString buffer into a regular Haskell string
unpackBuf :: Buf -> String
instance Typeable YamlElem
instance Typeable YamlNode
instance Typeable YamlAnchor
instance Show SyckKind
instance Ord SyckKind
instance Eq SyckKind
instance Enum SyckKind
instance Show YamlElem
instance Ord YamlElem
instance Eq YamlElem
instance Data YamlElem
instance Show YamlNode
instance Ord YamlNode
instance Eq YamlNode
instance Data YamlNode
instance Show YamlAnchor
instance Ord YamlAnchor
instance Eq YamlAnchor
instance Data YamlAnchor
instance Data SYMID