-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Structure Data Library -- -- Contains datatypes and quasi-quoting functionaly for standard -- s-expressions and nested structured/unstructured data @package stdata @version 0.0.3 module Data.SExp.Data data Atom StringAtom :: String -> Atom BooleanAtom :: Bool -> Atom IntegerAtom :: Integer -> Atom FloatingAtom :: Double -> Atom SymbolAtom :: String -> Atom data AntiAtom -- | Created with QuasiQuotes of form [sexp| @:name |]. Will be -- converted to expression or pattern of type SExp. ValueAntiAtom :: String -> AntiAtom -- | Created with QuasiQuotes of form [sexp| @atom:name |]. Will -- be converted to expression or pattern of type Atom. AtomAntiAtom :: String -> AntiAtom -- | Created with QuasiQuotes of form [sexp| @str:name |]. Will be -- converted to expression or pattern of type Atom. StringAntiAtom :: String -> AntiAtom -- | Created with QuasiQuotes of form [sexp| @bool:name |]. Will -- be converted to expression or pattern of type Atom. BooleanAntiAtom :: String -> AntiAtom -- | Created with QuasiQuotes of form [sexp| @int:name |]. Will be -- converted to expression or pattern of type Atom. IntegerAntiAtom :: String -> AntiAtom -- | Created with QuasiQuotes of form [sexp| @float:name |]. Will -- be converted to expression or pattern of type Atom. FloatingAntiAtom :: String -> AntiAtom -- | Created with QuasiQuotes of form [sexp| @sym:name |]. Will be -- converted to expression or pattern of type Atom. SymbolAntiAtom :: String -> AntiAtom data OpenLink sd sl NullLink :: OpenLink sd sl ConsLink :: sd -> sl -> OpenLink sd sl data OpenSExp sl AtomSExp :: Atom -> OpenSExp sl LinkSExp :: sl -> OpenSExp sl newtype SExp SExp :: OpenSExp SExpLink -> SExp unSExp :: SExp -> OpenSExp SExpLink newtype SExpLink SExpLink :: OpenLink SExp SExpLink -> SExpLink unSExpLink :: SExpLink -> OpenLink SExp SExpLink data DualSExp PositiveDualSExp :: (OpenSExp DualSExpLink) -> DualSExp AntiAtomDualSExp :: AntiAtom -> DualSExp data DualSExpLink PositiveDualSExpLink :: (OpenLink DualSExp DualSExpLink) -> DualSExpLink AntiConsDualSExpLink :: String -> DualSExpLink instance Typeable Atom instance Typeable AntiAtom instance Typeable2 OpenLink instance Typeable1 OpenSExp instance Typeable SExpLink instance Typeable SExp instance Typeable DualSExpLink instance Typeable DualSExp instance Eq Atom instance Ord Atom instance Show Atom instance Data Atom instance Eq AntiAtom instance Ord AntiAtom instance Show AntiAtom instance Data AntiAtom instance (Eq sd, Eq sl) => Eq (OpenLink sd sl) instance (Ord sd, Ord sl) => Ord (OpenLink sd sl) instance (Show sd, Show sl) => Show (OpenLink sd sl) instance (Data sd, Data sl) => Data (OpenLink sd sl) instance Eq sl => Eq (OpenSExp sl) instance Ord sl => Ord (OpenSExp sl) instance Show sl => Show (OpenSExp sl) instance Data sl => Data (OpenSExp sl) instance Eq SExpLink instance Ord SExpLink instance Show SExpLink instance Data SExpLink instance Eq SExp instance Ord SExp instance Show SExp instance Data SExp instance Eq DualSExpLink instance Ord DualSExpLink instance Show DualSExpLink instance Data DualSExpLink instance Eq DualSExp instance Ord DualSExp instance Show DualSExp instance Data DualSExp module Data.SExp.Parse data SExpToken StringToken :: String -> SExpToken BooleanToken :: Bool -> SExpToken IntegerToken :: Integer -> SExpToken FloatingToken :: Double -> SExpToken SymbolToken :: String -> SExpToken LParenToken :: SExpToken RParenToken :: SExpToken WhitespaceToken :: SExpToken CommentToken :: String -> SExpToken AntiConsToken :: SExpToken AntiValueToken :: String -> SExpToken AntiAtomToken :: String -> SExpToken AntiStringToken :: String -> SExpToken AntiBooleanToken :: String -> SExpToken AntiIntegerToken :: String -> SExpToken AntiFloatingToken :: String -> SExpToken AntiSymbolToken :: String -> SExpToken stringTokenValueM :: SExpToken -> Maybe String booleanTokenValueM :: SExpToken -> Maybe Bool integerTokenValueM :: SExpToken -> Maybe Integer floatingTokenValueM :: SExpToken -> Maybe Double symbolTokenValueM :: SExpToken -> Maybe String lParenTokenValueM :: SExpToken -> Maybe () rParenTokenValueM :: SExpToken -> Maybe () whitespaceTokenValueM :: SExpToken -> Maybe () commentTokenValueM :: SExpToken -> Maybe String antiConsTokenValueM :: SExpToken -> Maybe () antiValueTokenValueM :: SExpToken -> Maybe String antiAtomTokenValueM :: SExpToken -> Maybe String antiStringTokenValueM :: SExpToken -> Maybe String antiBooleanTokenValueM :: SExpToken -> Maybe String antiIntegerTokenValueM :: SExpToken -> Maybe String antiFloatingTokenValueM :: SExpToken -> Maybe String antiSymbolTokenValueM :: SExpToken -> Maybe String isDiscardSExpToken :: SExpToken -> Bool sexpTokens :: [Parser SExpToken] lexSExp :: String -> Either String [(SourcePos, SExpToken)] parseSExp :: String -> Either String SExp parseDualSExp :: String -> Either String DualSExp convertAtomE :: Atom -> Q Exp convertAntiAtomToValueE :: AntiAtom -> (Q Exp -> Q Exp) -> Q Exp convertOpenLinkE :: (a -> Q Exp) -> (l -> Q Exp) -> OpenLink a l -> Q Exp convertAtomP :: Atom -> Q Pat convertAntiAtomToValueP :: AntiAtom -> (Q Pat -> Q Pat) -> Q Pat convertOpenLinkP :: (a -> Q Pat) -> (l -> Q Pat) -> OpenLink a l -> Q Pat sexp :: QuasiQuoter sexpl :: QuasiQuoter lexOne :: Ord a => SourcePos -> [Parser a] -> String -> Either String ((SourcePos, a), SourcePos, String) tokParse :: (String -> Either String [tok]) -> GenParser tok () a -> String -> Either String a qtokParse :: (String -> Either String [tok]) -> GenParser tok () a -> String -> Q a instance Eq SExpToken instance Ord SExpToken instance Show SExpToken module Data.SExp module Data.STData.Data data OpenSData sl tl AtomSData :: Atom -> OpenSData sl tl SLinkSData :: sl -> OpenSData sl tl TLinkSData :: tl -> OpenSData sl tl data OpenTData sl AtomTData :: String -> OpenTData sl SLinkTData :: sl -> OpenTData sl newtype SData SData :: OpenSData SLink TLink -> SData unSData :: SData -> OpenSData SLink TLink newtype SLink SLink :: OpenLink SData SLink -> SLink unSLink :: SLink -> OpenLink SData SLink newtype TData TData :: OpenTData SLink -> TData unTData :: TData -> OpenTData SLink newtype TLink TLink :: OpenLink TData TLink -> TLink unTLink :: TLink -> OpenLink TData TLink data DualSData PositiveDualSData :: (OpenSData DualSLink DualTLink) -> DualSData AntiAtomDualSData :: AntiAtom -> DualSData data DualSLink PositiveDualSLink :: (OpenLink DualSData DualSLink) -> DualSLink AntiConsDualSLink :: String -> DualSLink data DualTData DualTData :: OpenTData DualSLink -> DualTData unDualTData :: DualTData -> OpenTData DualSLink data DualTLink DualTLink :: OpenLink DualTData DualTLink -> DualTLink unDualTLink :: DualTLink -> OpenLink DualTData DualTLink sdataToList :: SData -> [SData] instance Typeable2 OpenSData instance Typeable1 OpenTData instance Typeable TLink instance Typeable TData instance Typeable SLink instance Typeable SData instance Typeable DualTLink instance Typeable DualTData instance Typeable DualSLink instance Typeable DualSData instance (Eq sl, Eq tl) => Eq (OpenSData sl tl) instance (Ord sl, Ord tl) => Ord (OpenSData sl tl) instance (Show sl, Show tl) => Show (OpenSData sl tl) instance (Data sl, Data tl) => Data (OpenSData sl tl) instance Eq sl => Eq (OpenTData sl) instance Ord sl => Ord (OpenTData sl) instance Show sl => Show (OpenTData sl) instance Data sl => Data (OpenTData sl) instance Eq TLink instance Ord TLink instance Show TLink instance Data TLink instance Eq TData instance Ord TData instance Show TData instance Data TData instance Eq SLink instance Ord SLink instance Show SLink instance Data SLink instance Eq SData instance Ord SData instance Show SData instance Data SData instance Eq DualTLink instance Ord DualTLink instance Show DualTLink instance Data DualTLink instance Eq DualTData instance Ord DualTData instance Show DualTData instance Data DualTData instance Eq DualSLink instance Ord DualSLink instance Show DualSLink instance Data DualSLink instance Eq DualSData instance Ord DualSData instance Show DualSData instance Data DualSData module Data.STData.Parse data STDataToken SExpSTDataToken :: SExpToken -> STDataToken OpenStructureToken :: STDataToken CloseStructureToken :: STDataToken OpenTextToken :: STDataToken CloseTextToken :: STDataToken TextToken :: String -> STDataToken sexpSTDataTokenValueM :: STDataToken -> Maybe SExpToken openStructureTokenValueM :: STDataToken -> Maybe () closeStructureTokenValueM :: STDataToken -> Maybe () openTextTokenValueM :: STDataToken -> Maybe () closeTextTokenValueM :: STDataToken -> Maybe () textTokenValueM :: STDataToken -> Maybe String isDiscardSTDataToken :: STDataToken -> Bool structureTokens :: [Parser STDataToken] textTokens :: [Parser STDataToken] lexStructure :: String -> Either String [(SourcePos, STDataToken)] lexText :: String -> Either String [(SourcePos, STDataToken)] parseSData :: String -> Either String SData parseSLink :: String -> Either String SLink parseTData :: String -> Either String TData parseTLink :: String -> Either String TLink convertOpenSDataE :: (sl -> Q Exp) -> (tl -> Q Exp) -> OpenSData sl tl -> Q Exp convertOpenTDataE :: (sl -> Q Exp) -> OpenTData sl -> Q Exp convertOpenSDataP :: (sl -> Q Pat) -> (tl -> Q Pat) -> OpenSData sl tl -> Q Pat convertOpenTDataP :: (sl -> Q Pat) -> OpenTData sl -> Q Pat sdata :: QuasiQuoter slink :: QuasiQuoter tdata :: QuasiQuoter tlink :: QuasiQuoter instance Eq STDataToken instance Ord STDataToken instance Show STDataToken module Data.STData