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, Show prec, Fractional prec) => 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 size => SerializePrim (QMax size prec) # 
Instance details

Defined in Traq.Primitives.Max.QMax

Methods

primNames :: [Ident] #

primNameOf :: QMax size prec -> Ident #

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

printPrimParams :: QMax size prec -> [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 size => SerializePrim (QSearchCFNW size prec) # 
Instance details

Defined in Traq.Primitives.Search.QSearchCFNW

Methods

primNames :: [Ident] #

primNameOf :: QSearchCFNW size prec -> Ident #

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

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

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

Defined in Traq.Primitives.Search.RandomSearch

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

Defined in Traq.Primitives.Search.Symbolic

Methods

primNames :: [Ident] #

primNameOf :: QSearchSym size prec -> Ident #

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

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

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

Defined in Traq.Primitives.Simons.Prelude

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

Defined in Traq.Primitives.Simons.Quantum