Idris2Doc : Data.CT.DependentPara.Instances

Data.CT.DependentPara.Instances

(source)

Definitions

Para : Type->Type->Type
  Non-dependent parametric functions

Totality: total
Visibility: public export
(-\-->) : Type->Type->Type
  Infix notation for non-dependent parametric functions
We interpret the extra "-" as a mental symbol for "flat",
i.e. "non-dependent"

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 1
DPara : Type->Type->Type
  Dependent parametric functions, i.e. where the parameter type varies with
values of the input `a`

Totality: total
Visibility: public export
(-\->) : Type->Type->Type
  Infix notation for dependent parametric functions
We interpret the crossed line as a parameter coming in from the top

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 1
trivialParam : (a->b) ->a-\->b
Totality: total
Visibility: public export
id : a-\->a
Totality: total
Visibility: public export
composePara : a-\->b->b-\->c->a-\->c
Totality: total
Visibility: public export
composeParallel : a-\->b->c-\->d-> (a, c) -\-> (b, d)
Totality: total
Visibility: public export
(\>>) : a-\->b->b-\->c->a-\->c
Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 10
reparam : (pf : a-\->b) -> {q : a->Type} -> ((x : a) ->qx->pf.Paramx) ->a-\->b
Totality: total
Visibility: public export
Param : DParaab->a->Type
Totality: total
Visibility: public export
Run : (pf : DParaab) -> (x : a) ->Parampfx->b
Totality: total
Visibility: public export
dataIsNotDependent : DParaab->Type
Totality: total
Visibility: public export
Constructor: 
MkNonDep : (p : Type) -> (f : (DPaira (constp) ->b)) ->IsNotDependent (MkPara (\{_:12591}=>p) f)
GetNonDep : (pf : DParaab) ->IsNotDependentpf=> (p : Type**DPaira (constp) ->b)
Totality: total
Visibility: public export
GetParam : (pf : DParaab) ->IsNotDependentpf=>Type
  Get the parameter of a non-dependent parametric function

Totality: total
Visibility: public export
composeNTimes : Nat->a-\->a->a-\->a
Totality: total
Visibility: public export
binaryOpToPara : ((a, p) ->b) ->a-\->b
Totality: total
Visibility: public export
recordParaAddLens : AddCont->AddCont->Type
  Non-dependent parametric lenses.
As mentioned on top, all of these lenses are additive, and dependent

As a record, because otherwise the implicit argument carrying slows down
typechecking practical neural network architectures. That is, every
`.Param` and `.Run` carry `AddDLens`, `Const` and `PairAddCont` as
implcit arguments, unfolded into the full `MkCat` and `MkFunctor`
structure. This happens in bodies of, say `>*<`, at *every occurence*

Totality: total
Visibility: public export
Constructor: 
MkPara : (Param : AddCont) -> (a>*<Param) =%+>b->ParaAddLensab

Projections:
.Param : ParaAddLensab->AddCont
.Run : ({rec:0} : ParaAddLensab) -> (a>*<Param{rec:0}) =%+>b
.Param : ParaAddLensab->AddCont
Totality: total
Visibility: public export
Param : ParaAddLensab->AddCont
Totality: total
Visibility: public export
.Run : ({rec:0} : ParaAddLensab) -> (a>*<Param{rec:0}) =%+>b
Totality: total
Visibility: public export
Run : ({rec:0} : ParaAddLensab) -> (a>*<Param{rec:0}) =%+>b
Totality: total
Visibility: public export
(=\\=>) : AddCont->AddCont->Type
  Infix notation for non-dependent parametric additive lenses
Compared to `-\-->`, every line is doubled, meant to be interpreted as
information flowing bidirectionally.
See comment for top of file for further explanation

Totality: total
Visibility: public export
Fixity Declaration: infixr operator, level 1
toDepPara : ParaAddLensab->DepParaMorPairAddContab
  Simple wrapping and unwrapping because this is a record now

Totality: total
Visibility: public export
fromDepPara : DepParaMorPairAddContab->ParaAddLensab
Totality: total
Visibility: public export
trivialParam : a=%+>b->a=\\=>b
Totality: total
Visibility: public export
binaryOpToPara : (a>*<p) =%+>b->a=\\=>b
Totality: total
Visibility: public export
id : a=\\=>a
Totality: total
Visibility: public export
toHomRepresentation : (f : ParaAddLensab) ->Paramf=%+>InternalLensAdditiveab
Totality: total
Visibility: public export
composePara : a=\\=>b->b=\\=>c->a=\\=>c
Totality: total
Visibility: public export
composeParallel : a=\\=>b->c=\\=>d-> (a>*<c) =\\=> (b>*<d)
Totality: total
Visibility: public export
postcomposeLens : a=\\=>b->b=%+>c->a=\\=>c
  Postcompose with a lens

Totality: total
Visibility: public export
recordDParaAddLens : AddCont->AddCont->Type
  Dependent parametric lenses, i.e. where the parameter container can vary
with the shape of the input container
Defined as its own record for the same reason as `ParaAddLens`

Totality: total
Visibility: public export
Constructor: 
MkPara : (Param : (a.Shp->AddCont)) ->DPairaParam=%+>b->DParaAddLensab

Projections:
.Param : DParaAddLensab->a.Shp->AddCont
.Run : ({rec:0} : DParaAddLensab) ->DPaira (Param{rec:0}) =%+>b
.Param : DParaAddLensab->a.Shp->AddCont
Totality: total
Visibility: public export
Param : DParaAddLensab->a.Shp->AddCont
Totality: total
Visibility: public export
.Run : ({rec:0} : DParaAddLensab) ->DPaira (Param{rec:0}) =%+>b
Totality: total
Visibility: public export
Run : ({rec:0} : DParaAddLensab) ->DPaira (Param{rec:0}) =%+>b
Totality: total
Visibility: public export
toDepPara : DParaAddLensab->DepParaMorDPairAddContab
Totality: total
Visibility: public export
fromDepPara : DepParaMorDPairAddContab->DParaAddLensab
Totality: total
Visibility: public export