saison-0.1: Stream Aeson, fruity, spicy, well carbonated

Safe HaskellNone
LanguageHaskell2010

Saison.Decoding.Tokens

Contents

Description

Token definitions.

Synopsis

Types

data Tokens k e Source #

Tokens.

Note: Lit exists to make Tokens have only 6 constructors. This may or may not have impact on performance.

  • TODO: should number (and text) be represented by raw ByteString, instead of Scientific (and Text)? With some guarantees that those are well-formed, so conversion to Scientific and Text will succeed.

Constructors

TkLit !Lit k 
TkText !Text k 
TkNumber !Scientific k 
TkArrayOpen (TkArray k e) 
TkRecordOpen (TkRecord k e) 
TkErr e 
Instances
AsError Tokens Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

tkErr :: e -> Tokens k e Source #

(Eq k, Eq e) => Eq (Tokens k e) Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

(==) :: Tokens k e -> Tokens k e -> Bool #

(/=) :: Tokens k e -> Tokens k e -> Bool #

(Show k, Show e) => Show (Tokens k e) Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

showsPrec :: Int -> Tokens k e -> ShowS #

show :: Tokens k e -> String #

showList :: [Tokens k e] -> ShowS #

data Lit Source #

Literals. null, true, false.

Constructors

LitNull 
LitTrue 
LitFalse 
Instances
Eq Lit Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

(==) :: Lit -> Lit -> Bool #

(/=) :: Lit -> Lit -> Bool #

Show Lit Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

showsPrec :: Int -> Lit -> ShowS #

show :: Lit -> String #

showList :: [Lit] -> ShowS #

data TkArray k e Source #

Array tokens.

Constructors

TkItem (Tokens (TkArray k e) e) 
TkArrayEnd k 
TkArrayErr e 
Instances
AsError TkArray Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

tkErr :: e -> TkArray k e Source #

(Eq k, Eq e) => Eq (TkArray k e) Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

(==) :: TkArray k e -> TkArray k e -> Bool #

(/=) :: TkArray k e -> TkArray k e -> Bool #

(Show k, Show e) => Show (TkArray k e) Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

showsPrec :: Int -> TkArray k e -> ShowS #

show :: TkArray k e -> String #

showList :: [TkArray k e] -> ShowS #

data TkRecord k e Source #

Record tokens.

Constructors

TkPair !Text (Tokens (TkRecord k e) e) 
TkRecordEnd k 
TkRecordErr e 
Instances
AsError TkRecord Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

tkErr :: e -> TkRecord k e Source #

(Eq k, Eq e) => Eq (TkRecord k e) Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

(==) :: TkRecord k e -> TkRecord k e -> Bool #

(/=) :: TkRecord k e -> TkRecord k e -> Bool #

(Show k, Show e) => Show (TkRecord k e) Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

showsPrec :: Int -> TkRecord k e -> ShowS #

show :: TkRecord k e -> String #

showList :: [TkRecord k e] -> ShowS #

Extras

class AsError t where Source #

Helper type-class for constructing errors.

Methods

tkErr :: e -> t k e Source #

Instances
AsError TkRecord Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

tkErr :: e -> TkRecord k e Source #

AsError TkArray Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

tkErr :: e -> TkArray k e Source #

AsError Tokens Source # 
Instance details

Defined in Saison.Decoding.Tokens

Methods

tkErr :: e -> Tokens k e Source #