pub struct CausalMultiVectorWitness;Trait Implementations§
Source§impl Adjunction<CausalMultiVectorWitness, CausalMultiVectorWitness, Metric> for CausalMultiVectorWitness
impl Adjunction<CausalMultiVectorWitness, CausalMultiVectorWitness, Metric> for CausalMultiVectorWitness
Source§fn unit<A>(ctx: &Metric, a: A) -> CausalMultiVector<CausalMultiVector<A>>
fn unit<A>(ctx: &Metric, a: A) -> CausalMultiVector<CausalMultiVector<A>>
Source§fn counit<B>(_ctx: &Metric, lrb: CausalMultiVector<CausalMultiVector<B>>) -> B
fn counit<B>(_ctx: &Metric, lrb: CausalMultiVector<CausalMultiVector<B>>) -> B
The Counit of the Adjunction: L<R> → B Read more
Source§fn left_adjunct<A, B, F>(ctx: &Metric, a: A, f: F) -> CausalMultiVector<B>where
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
F: Fn(CausalMultiVector<A>) -> B,
fn left_adjunct<A, B, F>(ctx: &Metric, a: A, f: F) -> CausalMultiVector<B>where
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
F: Fn(CausalMultiVector<A>) -> B,
The Left Adjunct: (L → B) → (A → R) Read more
Source§fn right_adjunct<A, B, F>(_ctx: &Metric, la: CausalMultiVector<A>, f: F) -> Bwhere
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
F: FnMut(A) -> CausalMultiVector<B>,
fn right_adjunct<A, B, F>(_ctx: &Metric, la: CausalMultiVector<A>, f: F) -> Bwhere
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
F: FnMut(A) -> CausalMultiVector<B>,
Source§impl Applicative<CausalMultiVectorWitness> for CausalMultiVectorWitness
impl Applicative<CausalMultiVectorWitness> for CausalMultiVectorWitness
Source§fn apply<A, B, Func>(
f_ab: CausalMultiVector<Func>,
f_a: CausalMultiVector<A>,
) -> CausalMultiVector<B>where
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
Func: Satisfies<NoConstraint> + FnMut(A) -> B,
fn apply<A, B, Func>(
f_ab: CausalMultiVector<Func>,
f_a: CausalMultiVector<A>,
) -> CausalMultiVector<B>where
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
Func: Satisfies<NoConstraint> + FnMut(A) -> B,
Source§impl CoMonad<CausalMultiVectorWitness> for CausalMultiVectorWitness
impl CoMonad<CausalMultiVectorWitness> for CausalMultiVectorWitness
Source§fn extract<A>(fa: &CausalMultiVector<A>) -> A
fn extract<A>(fa: &CausalMultiVector<A>) -> A
Extracts the value at the current focus of the comonadic context. Read more
Source§fn extend<A, B, Func>(
fa: &CausalMultiVector<A>,
f: Func,
) -> CausalMultiVector<B>where
Func: FnMut(&CausalMultiVector<A>) -> B,
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
fn extend<A, B, Func>(
fa: &CausalMultiVector<A>,
f: Func,
) -> CausalMultiVector<B>where
Func: FnMut(&CausalMultiVector<A>) -> B,
A: Satisfies<NoConstraint> + Clone,
B: Satisfies<NoConstraint>,
Extends the comonadic context by applying a function to its observed state. Read more
Source§impl Foldable<CausalMultiVectorWitness> for CausalMultiVectorWitness
impl Foldable<CausalMultiVectorWitness> for CausalMultiVectorWitness
Source§fn fold<A, B, Func>(fa: CausalMultiVector<A>, init: B, f: Func) -> B
fn fold<A, B, Func>(fa: CausalMultiVector<A>, init: B, f: Func) -> B
Reduces the elements of the structure to a single value by applying a function. Read more
Source§impl Functor<CausalMultiVectorWitness> for CausalMultiVectorWitness
impl Functor<CausalMultiVectorWitness> for CausalMultiVectorWitness
Source§fn fmap<A, B, Func>(fa: CausalMultiVector<A>, f: Func) -> CausalMultiVector<B>
fn fmap<A, B, Func>(fa: CausalMultiVector<A>, f: Func) -> CausalMultiVector<B>
Source§impl HKT for CausalMultiVectorWitness
impl HKT for CausalMultiVectorWitness
Source§type Constraint = NoConstraint
type Constraint = NoConstraint
The constraint on inner types. Use
NoConstraint for fully polymorphic.Source§type Type<T> = CausalMultiVector<T>
type Type<T> = CausalMultiVector<T>
The Generic Associated Type (GAT) that represents the type constructor.
The
<T> is the “hole” in the type constructor (e.g., Option<T>). Read moreSource§impl Monad<CausalMultiVectorWitness> for CausalMultiVectorWitness
impl Monad<CausalMultiVectorWitness> for CausalMultiVectorWitness
Source§fn bind<A, B, Func>(ma: CausalMultiVector<A>, f: Func) -> CausalMultiVector<B>where
A: Satisfies<NoConstraint>,
B: Satisfies<NoConstraint>,
Func: FnMut(A) -> CausalMultiVector<B>,
fn bind<A, B, Func>(ma: CausalMultiVector<A>, f: Func) -> CausalMultiVector<B>where
A: Satisfies<NoConstraint>,
B: Satisfies<NoConstraint>,
Func: FnMut(A) -> CausalMultiVector<B>,
Chains a computation from an effectful value, flattening the result.
This is the core sequencing operation of a Monad. Read more
Source§impl Pure<CausalMultiVectorWitness> for CausalMultiVectorWitness
impl Pure<CausalMultiVectorWitness> for CausalMultiVectorWitness
Source§fn pure<T>(value: T) -> CausalMultiVector<T>where
T: Satisfies<NoConstraint>,
fn pure<T>(value: T) -> CausalMultiVector<T>where
T: Satisfies<NoConstraint>,
Lifts a pure value into the context
F::Type<T>. Read moreAuto Trait Implementations§
impl Freeze for CausalMultiVectorWitness
impl RefUnwindSafe for CausalMultiVectorWitness
impl Send for CausalMultiVectorWitness
impl Sync for CausalMultiVectorWitness
impl Unpin for CausalMultiVectorWitness
impl UnwindSafe for CausalMultiVectorWitness
Blanket Implementations§
Source§impl<T, L, R, Context> AliasAdjunction<L, R, Context> for T
impl<T, L, R, Context> AliasAdjunction<L, R, Context> for T
Source§fn integrate<A, B, Func>(ctx: &Context, a: A, f: Func) -> <R as HKT>::Type<B>where
A: Satisfies<<L as HKT>::Constraint> + Satisfies<<R as HKT>::Constraint> + Clone,
B: Satisfies<<R as HKT>::Constraint>,
<L as HKT>::Type<A>: Satisfies<<R as HKT>::Constraint>,
Func: Fn(<L as HKT>::Type<A>) -> B,
fn integrate<A, B, Func>(ctx: &Context, a: A, f: Func) -> <R as HKT>::Type<B>where
A: Satisfies<<L as HKT>::Constraint> + Satisfies<<R as HKT>::Constraint> + Clone,
B: Satisfies<<R as HKT>::Constraint>,
<L as HKT>::Type<A>: Satisfies<<R as HKT>::Constraint>,
Func: Fn(<L as HKT>::Type<A>) -> B,
Alias for
left_adjunct. Read moreSource§fn differentiate<A, B, Func>(
ctx: &Context,
la: <L as HKT>::Type<A>,
f: Func,
) -> Bwhere
A: Satisfies<<L as HKT>::Constraint> + Clone,
B: Satisfies<<L as HKT>::Constraint> + Satisfies<<R as HKT>::Constraint> + Clone,
<R as HKT>::Type<B>: Satisfies<<L as HKT>::Constraint>,
Func: FnMut(A) -> <R as HKT>::Type<B>,
fn differentiate<A, B, Func>(
ctx: &Context,
la: <L as HKT>::Type<A>,
f: Func,
) -> Bwhere
A: Satisfies<<L as HKT>::Constraint> + Clone,
B: Satisfies<<L as HKT>::Constraint> + Satisfies<<R as HKT>::Constraint> + Clone,
<R as HKT>::Type<B>: Satisfies<<L as HKT>::Constraint>,
Func: FnMut(A) -> <R as HKT>::Type<B>,
Alias for
right_adjunct. Read moreSource§impl<T, F> AliasCoMonad<F> for T
impl<T, F> AliasCoMonad<F> for T
Source§impl<T, F> AliasFoldable<F> for T
impl<T, F> AliasFoldable<F> for T
Source§impl<T, F> AliasFunctor<F> for T
impl<T, F> AliasFunctor<F> for T
Source§impl<T, F> AliasMonad<F> for T
impl<T, F> AliasMonad<F> for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more