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