22 | %hide Data.Container.Base.Object.Instances.Const
23 | %hide Data.Vect.Quantifiers.All.index
58 | where
125 | ||| Right unit inverse: c =%> c >@ I
155 | ||| Not an isomorphism, arising from duoidal structure between >@ and ><
202 | ||| Note that this doesn't exist for ordinary containers!
247 | ||| Mean squared error
253 | ||| Select a shape from All to produce an Any at the given index
254 | ||| Same as `index i (allAnies shapes)` but reduces better
261 | ||| Extract the position from an AnyPos at a given index
270 | -- parameters (f : Type -> Type)
271 | -- ||| These are all of the morphisms in the cokleisli category of (f <!> -)
272 | -- public export
273 | -- MonLens : Cont -> Cont -> Type
274 | -- MonLens c d = (f <!> c) =%> d
275 | --
276 | -- public export
277 | -- counit : Monad f => f <!> c =%> c
278 | -- counit = !% \x => (x ** pure)
279 | --
280 | -- public export
281 | -- cojoin : Monad f => (f <!> c) =%> (f <!> (f <!> c))
282 | -- cojoin = !% \x => (x ** join)
297 | carrier