traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Primitives.Class.Serialize

Synopsis

Documentation

class SerializePrim prim where #

Simple class to print/parse second-order primitives. Syntax: `@prim...[fns, ...];`

Minimal complete definition

primNames, parsePrimParams, printPrimParams

Methods

primNames :: [Ident] #

all names (variants) used by the primitive

primNameOf :: prim -> Ident #

name for a specific constructor

parsePrimParams :: SizeType prim ~ Sym SizeT => TokenParser () -> Ident -> Parser prim #

parse the primitive info given its name

printPrimParams :: prim -> [String] #

print the primitives parameters.

Instances

Instances details
Show size => SerializePrim (DefaultPrimCollection size prec) # 
Instance details

Defined in Traq.Primitives

(Show prec, Fractional prec) => SerializePrim (CAmplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Methods

primNames :: [Ident] #

primNameOf :: CAmplify size prec -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (CAmplify size prec) #

printPrimParams :: CAmplify size prec -> [String] #

(Show prec, Fractional prec) => SerializePrim (Amplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.Prelude

Methods

primNames :: [Ident] #

primNameOf :: Amplify size prec -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (Amplify size prec) #

printPrimParams :: Amplify size prec -> [String] #

(Show prec, Fractional prec) => SerializePrim (QAmplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.QAmplify

Methods

primNames :: [Ident] #

primNameOf :: QAmplify size prec -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (QAmplify size prec) #

printPrimParams :: QAmplify size prec -> [String] #

Show sizeT => SerializePrim (QMax sizeT precT) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

primNames :: [Ident] #

primNameOf :: QMax sizeT precT -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (QMax sizeT precT) #

printPrimParams :: QMax sizeT precT -> [String] #

Show size => SerializePrim (DetSearch size prec) # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Methods

primNames :: [Ident] #

primNameOf :: DetSearch size prec -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (DetSearch size prec) #

printPrimParams :: DetSearch size prec -> [String] #

Show size => SerializePrim (PrimSearch size prec) # 
Instance details

Defined in Traq.Primitives.Search.Prelude

Methods

primNames :: [Ident] #

primNameOf :: PrimSearch size prec -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (PrimSearch size prec) #

printPrimParams :: PrimSearch size prec -> [String] #

Show sizeT => SerializePrim (QSearchCFNW sizeT precT) # 
Instance details

Defined in Traq.Primitives.Search.QSearchCFNW

Methods

primNames :: [Ident] #

primNameOf :: QSearchCFNW sizeT precT -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (QSearchCFNW sizeT precT) #

printPrimParams :: QSearchCFNW sizeT precT -> [String] #

Show size => SerializePrim (RandomSearch size prec) # 
Instance details

Defined in Traq.Primitives.Search.RandomSearch

Show sizeT => SerializePrim (QSearchSym sizeT precT) # 
Instance details

Defined in Traq.Primitives.Search.Symbolic

Methods

primNames :: [Ident] #

primNameOf :: QSearchSym sizeT precT -> Ident #

parsePrimParams :: TokenParser () -> Ident -> Parser (QSearchSym sizeT precT) #

printPrimParams :: QSearchSym sizeT precT -> [String] #

Show sizeT => SerializePrim (FindXorPeriod sizeT Double) # 
Instance details

Defined in Traq.Primitives.Simons.Prelude

Show sizeT => SerializePrim (SimonsFindXorPeriod sizeT Double) # 
Instance details

Defined in Traq.Primitives.Simons.Quantum