traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.ProtoLang.Lenses

Synopsis

Documentation

class MapSize ext where #

Basic functor support for our AST

Associated Types

type MappedSize ext size' #

Methods

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

Instances

Instances details
MapSize prim => MapSize (Primitive prim) # 
Instance details

Defined in Traq.Primitives.Class

Associated Types

type MappedSize (Primitive prim) size' #

Methods

mapSize :: (size ~ SizeType (Primitive prim), size' ~ SizeType ext', ext' ~ MappedSize (Primitive prim) size') => (size -> size') -> Primitive prim -> ext' #

MapSize ext => MapSize (Expr ext) # 
Instance details

Defined in Traq.ProtoLang.Lenses

Associated Types

type MappedSize (Expr ext) size' #

Methods

mapSize :: (size ~ SizeType (Expr ext), size' ~ SizeType ext', ext' ~ MappedSize (Expr ext) size') => (size -> size') -> Expr ext -> ext' #

MapSize ext => MapSize (FunBody ext) # 
Instance details

Defined in Traq.ProtoLang.Lenses

Associated Types

type MappedSize (FunBody ext) size' #

Methods

mapSize :: (size ~ SizeType (FunBody ext), size' ~ SizeType ext', ext' ~ MappedSize (FunBody ext) size') => (size -> size') -> FunBody ext -> ext' #

MapSize ext => MapSize (FunDef ext) # 
Instance details

Defined in Traq.ProtoLang.Lenses

Associated Types

type MappedSize (FunDef ext) size' #

Methods

mapSize :: (size ~ SizeType (FunDef ext), size' ~ SizeType ext', ext' ~ MappedSize (FunDef ext) size') => (size -> size') -> FunDef ext -> ext' #

MapSize ext => MapSize (NamedFunDef ext) # 
Instance details

Defined in Traq.ProtoLang.Lenses

Associated Types

type MappedSize (NamedFunDef ext) size' #

Methods

mapSize :: (size ~ SizeType (NamedFunDef ext), size' ~ SizeType ext', ext' ~ MappedSize (NamedFunDef ext) size') => (size -> size') -> NamedFunDef ext -> ext' #

MapSize ext => MapSize (Program ext) # 
Instance details

Defined in Traq.ProtoLang.Lenses

Associated Types

type MappedSize (Program ext) size' #

Methods

mapSize :: (size ~ SizeType (Program ext), size' ~ SizeType ext', ext' ~ MappedSize (Program ext) size') => (size -> size') -> Program ext -> ext' #

MapSize ext => MapSize (Stmt ext) # 
Instance details

Defined in Traq.ProtoLang.Lenses

Associated Types

type MappedSize (Stmt ext) size' #

Methods

mapSize :: (size ~ SizeType (Stmt ext), size' ~ SizeType ext', ext' ~ MappedSize (Stmt ext) size') => (size -> size') -> Stmt ext -> ext' #

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' #

MapSize (CAmplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.CAmplify

Associated Types

type MappedSize (CAmplify size prec) size' #

Methods

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

MapSize (Amplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.Prelude

Associated Types

type MappedSize (Amplify size prec) size' #

Methods

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

MapSize (QAmplify size prec) # 
Instance details

Defined in Traq.Primitives.Amplify.QAmplify

Associated Types

type MappedSize (QAmplify size prec) size' #

Methods

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

MapSize (DetSearch size prec) # 
Instance details

Defined in Traq.Primitives.Search.DetSearch

Associated Types

type MappedSize (DetSearch size prec) size' #

Methods

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

MapSize (PrimSearch size prec) # 
Instance details

Defined in Traq.Primitives.Search.Prelude

Associated Types

type MappedSize (PrimSearch size prec) size' #

Methods

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

MapSize (QSearchCFNW size prec) # 
Instance details

Defined in Traq.Primitives.Search.QSearchCFNW

Associated Types

type MappedSize (QSearchCFNW size prec) size' #

Methods

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

MapSize (RandomSearch size prec) # 
Instance details

Defined in Traq.Primitives.Search.RandomSearch

Associated Types

type MappedSize (RandomSearch size prec) size' #

Methods

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

MapSize (FindXorPeriod size prec) # 
Instance details

Defined in Traq.Primitives.Simons.Prelude

Associated Types

type MappedSize (FindXorPeriod size prec) size' #

Methods

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

MapSize (SimonsFindXorPeriod size prec) # 
Instance details

Defined in Traq.Primitives.Simons.Quantum

Associated Types

type MappedSize (SimonsFindXorPeriod size prec) size' #

Methods

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

MapSize (Core size prec) # 
Instance details

Defined in Traq.ProtoLang.Lenses

Associated Types

type MappedSize (Core size prec) size' #

Methods

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

_exts :: forall ext ext'. (HasExts f, SizeType ext ~ SizeType ext') => Traversal (f ext) (f ext') ext ext' #