traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Primitives

Synopsis

Specialized typeclasses

Collections

Default collection (with exp cost + compile)

data DefaultPrimCollection sizeT precT #

Constructors

QAny (QSearchCFNW sizeT precT) 
RAny (RandomSearch sizeT precT) 
DAny (DetSearch sizeT precT) 

Instances

Instances details
(Integral sizeT, Floating precT, RealFloat precT, TypingReqs sizeT, Show precT, sizeT ~ SizeT) => CompileQ (AnnFailProb (DefaultPrims sizeT precT)) # 
Instance details

Defined in Traq.Primitives

Methods

compileQ :: forall ext' m. (m ~ CompilerT ext', SizeType (AnnFailProb (DefaultPrims sizeT precT)) ~ SizeType ext', PrecType (AnnFailProb (DefaultPrims sizeT precT)) ~ PrecType ext', CompileQ ext') => AnnFailProb (DefaultPrims sizeT precT) -> [Ident] -> m (Stmt (SizeType (AnnFailProb (DefaultPrims sizeT precT)))) #

(Integral sizeT, Floating precT, RealFloat precT, TypingReqs sizeT, Show precT, SizeToPrec sizeT precT) => CompileU (AnnFailProb (DefaultPrims sizeT precT)) # 
Instance details

Defined in Traq.Primitives

Methods

compileU :: forall ext' m. (m ~ CompilerT ext', SizeType (AnnFailProb (DefaultPrims sizeT precT)) ~ SizeType ext', PrecType (AnnFailProb (DefaultPrims sizeT precT)) ~ PrecType ext') => AnnFailProb (DefaultPrims sizeT precT) -> [Ident] -> m (UStmt (SizeType (AnnFailProb (DefaultPrims sizeT precT)))) #

Generic (DefaultPrimCollection sizeT precT) # 
Instance details

Defined in Traq.Primitives

Associated Types

type Rep (DefaultPrimCollection sizeT precT) :: Type -> Type #

Methods

from :: DefaultPrimCollection sizeT precT -> Rep (DefaultPrimCollection sizeT precT) x #

to :: Rep (DefaultPrimCollection sizeT precT) x -> DefaultPrimCollection sizeT precT #

Show sizeT => Show (DefaultPrimCollection sizeT precT) # 
Instance details

Defined in Traq.Primitives

Methods

showsPrec :: Int -> DefaultPrimCollection sizeT precT -> ShowS #

show :: DefaultPrimCollection sizeT precT -> String #

showList :: [DefaultPrimCollection sizeT precT] -> ShowS #

Eq sizeT => Eq (DefaultPrimCollection sizeT precT) # 
Instance details

Defined in Traq.Primitives

Methods

(==) :: DefaultPrimCollection sizeT precT -> DefaultPrimCollection sizeT precT -> Bool #

(/=) :: DefaultPrimCollection sizeT precT -> DefaultPrimCollection sizeT precT -> Bool #

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

Defined in Traq.Primitives

MapSize (DefaultPrimCollection size prec) # 
Instance details

Defined in Traq.Primitives

Associated Types

type MappedSize (DefaultPrimCollection size prec) size' #

Methods

mapSize :: (size0 ~ SizeType (DefaultPrimCollection size prec), size' ~ SizeType ext', ext' ~ MappedSize (DefaultPrimCollection size prec) size') => (size0 -> size') -> DefaultPrimCollection size prec -> ext' #

TypingReqs size => TypeCheckPrim (DefaultPrimCollection size prec) size # 
Instance details

Defined in Traq.Primitives

Methods

inferRetTypesPrim :: forall ext' shape m. (m ~ TypeChecker ext', size ~ SizeType ext', shape ~ PrimFnShape (DefaultPrimCollection size prec)) => DefaultPrimCollection size prec -> shape (FnType size) -> m [VarType size] #

EvalPrim (DefaultPrimCollection size prec) size prec # 
Instance details

Defined in Traq.Primitives

Methods

evalPrim :: forall ext' shape m. (Evaluatable ext' size prec, m ~ Evaluator ext', SizeType ext' ~ size, PrecType ext' ~ prec, shape ~ PrimFnShape (DefaultPrimCollection size prec)) => DefaultPrimCollection size prec -> shape ([Value size] -> m [Value size]) -> m [Value size] #

(EvalReqs size prec, Floating prec) => QuantumExpCostPrim (DefaultPrimCollection size prec) size prec # 
Instance details

Defined in Traq.Primitives

Methods

quantumExpQueryCostsQuantum :: (shape ~ PrimFnShape (DefaultPrimCollection size prec), m ~ EvaluationMonad prec) => DefaultPrimCollection size prec -> FailProb prec -> shape ([Value size] -> m [Value size]) -> shape [([Value size], prec)] #

quantumExpQueryCostsUnitary :: (shape ~ PrimFnShape (DefaultPrimCollection size prec), m ~ EvaluationMonad prec) => DefaultPrimCollection size prec -> FailProb prec -> shape ([Value size] -> m [Value size]) -> shape (UnitaryQueries prec) #

quantumExpExprCosts :: forall shape cost m. (CostModel cost, prec ~ PrecType cost, shape ~ PrimFnShape (DefaultPrimCollection size prec), m ~ EvaluationMonad prec) => DefaultPrimCollection size prec -> FailProb prec -> shape ([Value size] -> m [Value size]) -> cost #

(TypingReqs size, Integral size, Floating prec, SizeToPrec size prec) => QuantumHavocCostPrim (DefaultPrimCollection size prec) size prec # 
Instance details

Defined in Traq.Primitives

UnitaryCompilePrim (DefaultPrimCollection size prec) size prec # 
Instance details

Defined in Traq.Primitives

Methods

compileUPrim :: forall ext' m (shape :: Type -> Type). (m ~ UnitaryCompilePrimMonad ext' (DefaultPrimCollection size prec), size ~ SizeType ext', prec ~ PrecType ext', shape ~ PrimFnShape (DefaultPrimCollection size prec)) => DefaultPrimCollection size prec -> FailProb prec -> m (UStmt size) #

(TypingReqs size, Integral size, Floating prec) => UnitaryCostPrim (DefaultPrimCollection size prec) size prec # 
Instance details

Defined in Traq.Primitives

Methods

unitaryQueryCosts :: DefaultPrimCollection size prec -> FailProb prec -> PrimFnShape (DefaultPrimCollection size prec) (UnitaryQueries prec) #

unitaryExprCosts :: (CostModel cost, prec ~ PrecType cost) => DefaultPrimCollection size prec -> FailProb prec -> cost #

type Rep (DefaultPrimCollection sizeT precT) # 
Instance details

Defined in Traq.Primitives

type Rep (DefaultPrimCollection sizeT precT) = D1 ('MetaData "DefaultPrimCollection" "Traq.Primitives" "traq-0.2.0.0-inplace" 'False) (C1 ('MetaCons "QAny" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (QSearchCFNW sizeT precT))) :+: (C1 ('MetaCons "RAny" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (RandomSearch sizeT precT))) :+: C1 ('MetaCons "DAny" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (DetSearch sizeT precT)))))
type PrecType (DefaultPrimCollection sizeT precT) # 
Instance details

Defined in Traq.Primitives

type PrecType (DefaultPrimCollection sizeT precT) = precT
type SizeType (DefaultPrimCollection sizeT precT) # 
Instance details

Defined in Traq.Primitives

type SizeType (DefaultPrimCollection sizeT precT) = sizeT
type PrimFnShape (DefaultPrimCollection sizeT precT) # 
Instance details

Defined in Traq.Primitives

type MappedSize (DefaultPrimCollection size prec) size' # 
Instance details

Defined in Traq.Primitives

type MappedSize (DefaultPrimCollection size prec) size' = DefaultPrimCollection size' prec

type DefaultPrims sizeT precT = Primitive (DefaultPrimCollection sizeT precT) #

primitives with worst-case cost support.

type WorstCasePrims sizeT precT = Primitive (WorstCasePrimCollection sizeT precT) #