roundtrip-0.2.0.7: Bidirectional (de-)serialization

Safe HaskellNone
LanguageHaskell2010

Text.Roundtrip.Classes

Documentation

class ProductFunctor f where Source #

Methods

(<*>) :: f alpha -> f beta -> f (alpha, beta) infixr 6 Source #

Instances
ProductFunctor SpecPrinter Source # 
Instance details

Defined in Text.Roundtrip.SpecPrinter

Methods

(<*>) :: SpecPrinter alpha -> SpecPrinter beta -> SpecPrinter (alpha, beta) Source #

class Alternative f where Source #

Minimal complete definition

(<||>), empty

Methods

(<|>) :: f alpha -> f alpha -> f alpha infixl 3 Source #

(<||>) :: f alpha -> f alpha -> f alpha infixl 3 Source #

empty :: f alpha Source #

Instances
Alternative SpecPrinter Source # 
Instance details

Defined in Text.Roundtrip.SpecPrinter

Methods

(<|>) :: SpecPrinter alpha -> SpecPrinter alpha -> SpecPrinter alpha Source #

(<||>) :: SpecPrinter alpha -> SpecPrinter alpha -> SpecPrinter alpha Source #

empty :: SpecPrinter alpha Source #

class (IsoFunctor delta, ProductFunctor delta, Alternative delta) => Syntax delta where Source #

Minimal complete definition

pure

Methods

pure :: Eq alpha => alpha -> delta alpha Source #

rule :: String -> delta beta -> delta alpha -> delta alpha Source #

ruleInfix :: String -> delta beta -> delta gamma -> delta alpha -> delta alpha Source #

Instances
Syntax SpecPrinter Source # 
Instance details

Defined in Text.Roundtrip.SpecPrinter

Methods

pure :: Eq alpha => alpha -> SpecPrinter alpha Source #

rule :: String -> SpecPrinter beta -> SpecPrinter alpha -> SpecPrinter alpha Source #

ruleInfix :: String -> SpecPrinter beta -> SpecPrinter gamma -> SpecPrinter alpha -> SpecPrinter alpha Source #

class Syntax delta => StringSyntax delta where Source #

Minimal complete definition

token

Methods

token :: (Char -> Bool) -> delta Char Source #

anyToken :: delta Char Source #