hedn-0.2.0.0: EDN parsing and encoding

Safe HaskellNone
LanguageHaskell2010

Data.EDN.Class

Synopsis

Documentation

class ToEDN a where Source #

A type that can be converted to EDN AST.

Minimal complete definition

toEDN | toEDNv

Methods

toEDN :: a -> TaggedValue Source #

toEDNv :: a -> Value Source #

Instances
ToEDN Bool Source # 
Instance details

Defined in Data.EDN.Class

ToEDN Char Source # 
Instance details

Defined in Data.EDN.Class

ToEDN Double Source # 
Instance details

Defined in Data.EDN.Class

ToEDN Int Source # 
Instance details

Defined in Data.EDN.Class

ToEDN () Source # 
Instance details

Defined in Data.EDN.Class

Methods

toEDN :: () -> TaggedValue Source #

toEDNv :: () -> Value Source #

ToEDN Void Source # 
Instance details

Defined in Data.EDN.Class

ToEDN Text Source # 
Instance details

Defined in Data.EDN.Class

ToEDN Text Source # 
Instance details

Defined in Data.EDN.Class

ToEDN UTCTime Source # 
Instance details

Defined in Data.EDN.Class

ToEDN UUID Source # 
Instance details

Defined in Data.EDN.Class

ToEDN Value Source # 
Instance details

Defined in Data.EDN.Class

ToEDN TaggedValue Source # 
Instance details

Defined in Data.EDN.Class

ToEDN a => ToEDN [a] Source # 
Instance details

Defined in Data.EDN.Class

Methods

toEDN :: [a] -> TaggedValue Source #

toEDNv :: [a] -> Value Source #

ToEDN a => ToEDN (Maybe a) Source # 
Instance details

Defined in Data.EDN.Class

ToEDN a => ToEDN (Set a) Source # 
Instance details

Defined in Data.EDN.Class

ToEDN a => ToEDN (Vector a) Source # 
Instance details

Defined in Data.EDN.Class

(ToEDN a, ToEDN b) => ToEDN (a, b) Source # 
Instance details

Defined in Data.EDN.Class

Methods

toEDN :: (a, b) -> TaggedValue Source #

toEDNv :: (a, b) -> Value Source #

(ToEDN k, ToEDN v) => ToEDN (Map k v) Source # 
Instance details

Defined in Data.EDN.Class

Methods

toEDN :: Map k v -> TaggedValue Source #

toEDNv :: Map k v -> Value Source #

(ToEDN a, ToEDN b, ToEDN c) => ToEDN (a, b, c) Source # 
Instance details

Defined in Data.EDN.Class

Methods

toEDN :: (a, b, c) -> TaggedValue Source #

toEDNv :: (a, b, c) -> Value Source #

(ToEDN a, ToEDN b, ToEDN c, ToEDN d) => ToEDN (a, b, c, d) Source # 
Instance details

Defined in Data.EDN.Class

Methods

toEDN :: (a, b, c, d) -> TaggedValue Source #

toEDNv :: (a, b, c, d) -> Value Source #

class FromEDN a where Source #

A type that can be converted from EDN, with a possibility of failure.

When writing an instance, use empty, mzero, or fail to make a conversion fail, e.g. if an Map is missing a required key, or the value is of the wrong type.

Minimal complete definition

parseEDN | parseEDNv

Instances
FromEDN Bool Source # 
Instance details

Defined in Data.EDN.Class

FromEDN Char Source # 
Instance details

Defined in Data.EDN.Class

FromEDN Double Source # 
Instance details

Defined in Data.EDN.Class

FromEDN Int Source # 
Instance details

Defined in Data.EDN.Class

FromEDN () Source # 
Instance details

Defined in Data.EDN.Class

FromEDN Void Source # 
Instance details

Defined in Data.EDN.Class

FromEDN Text Source # 
Instance details

Defined in Data.EDN.Class

FromEDN Text Source # 
Instance details

Defined in Data.EDN.Class

FromEDN UTCTime Source # 
Instance details

Defined in Data.EDN.Class

FromEDN UUID Source # 
Instance details

Defined in Data.EDN.Class

FromEDN Value Source # 
Instance details

Defined in Data.EDN.Class

FromEDN TaggedValue Source # 
Instance details

Defined in Data.EDN.Class

FromEDN a => FromEDN [a] Source # 
Instance details

Defined in Data.EDN.Class

FromEDN a => FromEDN (Maybe a) Source # 
Instance details

Defined in Data.EDN.Class

(FromEDN a, Ord a) => FromEDN (Set a) Source # 
Instance details

Defined in Data.EDN.Class

FromEDN a => FromEDN (Vector a) Source # 
Instance details

Defined in Data.EDN.Class

(FromEDN a, FromEDN b) => FromEDN (a, b) Source # 
Instance details

Defined in Data.EDN.Class

Methods

parseEDN :: TaggedValue -> Parser (a, b) Source #

parseEDNv :: Value -> Parser (a, b) Source #

(FromEDN k, FromEDN v, Ord k) => FromEDN (Map k v) Source # 
Instance details

Defined in Data.EDN.Class

(FromEDN a, FromEDN b, FromEDN c) => FromEDN (a, b, c) Source # 
Instance details

Defined in Data.EDN.Class

Methods

parseEDN :: TaggedValue -> Parser (a, b, c) Source #

parseEDNv :: Value -> Parser (a, b, c) Source #

(FromEDN a, FromEDN b, FromEDN c, FromEDN d) => FromEDN (a, b, c, d) Source # 
Instance details

Defined in Data.EDN.Class

Methods

parseEDN :: TaggedValue -> Parser (a, b, c, d) Source #

parseEDNv :: Value -> Parser (a, b, c, d) Source #

fromEDN :: (FromEDN a, Monad m) => TaggedValue -> m a Source #

withSymbol :: (Text -> Text -> Parser a) -> Value -> Parser a Source #

withIntegral :: Integral i => (i -> Parser a) -> Value -> Parser a Source #