Safe Haskell | None |
---|
- data Value
- data Tagged a
- = NoTag !a
- | Tagged !a !ByteString !ByteString
- type TaggedValue = Tagged Value
- type EDNList = [TaggedValue]
- type EDNVec = Vector TaggedValue
- type EDNSet = Set TaggedValue
- type EDNMap = Map Value TaggedValue
- type Pair = (Value, TaggedValue)
- setTag :: ByteString -> ByteString -> Tagged a -> Tagged a
- getTag :: TaggedValue -> (ByteString, ByteString)
- stripTag :: Tagged a -> a
- tag :: ByteString -> ByteString -> a -> Tagged a
- notag :: a -> Tagged a
- nil :: TaggedValue
- bool :: Bool -> TaggedValue
- true :: TaggedValue
- false :: TaggedValue
- char :: Char -> TaggedValue
- string :: Text -> TaggedValue
- symbol :: ByteString -> TaggedValue
- symbolNS :: ByteString -> ByteString -> TaggedValue
- keyword :: ByteString -> TaggedValue
- integer :: Integer -> TaggedValue
- floating :: Double -> TaggedValue
- makeList :: [TaggedValue] -> Value
- makeVec :: [TaggedValue] -> Value
- makeSet :: [TaggedValue] -> Value
- makeMap :: [Pair] -> Value
- (.=) :: ByteString -> TaggedValue -> Pair
Types
A "raw" EDN value represented as a Haskell value.
Abstract namespaced tag.
NoTag !a | |
Tagged !a !ByteString !ByteString |
type TaggedValue = Tagged ValueSource
Internal containers
type EDNList = [TaggedValue]Source
type EDNVec = Vector TaggedValueSource
type EDNSet = Set TaggedValueSource
type EDNMap = Map Value TaggedValueSource
type Pair = (Value, TaggedValue)Source
A key/value pair for a EDN Map
Tag manipulation
setTag :: ByteString -> ByteString -> Tagged a -> Tagged aSource
Replace a tag on a Tagged
value.
getTag :: TaggedValue -> (ByteString, ByteString)Source
Extract namespace and tag from a tagged container. Will be a pair of empty
for tagless containers.
Constructors
tag :: ByteString -> ByteString -> a -> Tagged aSource
Attach a namespaced tag to a value.
Trivial values
Basic EDN nil.
bool :: Bool -> TaggedValueSource
Basic EDN boolean.
Const EDN True.
Const EDN False.
char :: Char -> TaggedValueSource
Basic EDN character.
string :: Text -> TaggedValueSource
Basic EDN string.
symbol :: ByteString -> TaggedValueSource
"Bare" symbol.
symbolNS :: ByteString -> ByteString -> TaggedValueSource
A namespaced symbol.
keyword :: ByteString -> TaggedValueSource
Basic EDN keyword.
integer :: Integer -> TaggedValueSource
Basic EDN integer.
floating :: Double -> TaggedValueSource
Basic EDN fp number.
Containers
makeList :: [TaggedValue] -> ValueSource
makeVec :: [TaggedValue] -> ValueSource
Create an EDN Vector
from a TaggedValue
list.
makeSet :: [TaggedValue] -> ValueSource
Create an EDN Set
from a TaggedValue
list.
makeMap :: [Pair] -> ValueSource
Create an EDN Map
from a assoc list with untagged keys and tagged values.
(.=) :: ByteString -> TaggedValue -> PairSource
Construct a Pair
from a key (as EDN keyword) and a value.