pub struct CausalMonad<S = (), C = ()>(/* private fields */);Expand description
CausalMonad is the concrete implementation of the MonadEffect5 trait for the
CausalSystem. It provides the fundamental pure and bind operations
that enable monadic programming within the DeepCausality framework.
This monad is designed to manage the flow of CausalEffectPropagationProcesss, ensuring
that errors are handled gracefully and a comprehensive log of operations is maintained.
Trait Implementations§
Source§impl<S, C> Clone for CausalMonad<S, C>
impl<S, C> Clone for CausalMonad<S, C>
Source§fn clone(&self) -> CausalMonad<S, C>
fn clone(&self) -> CausalMonad<S, C>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<S, C> Debug for CausalMonad<S, C>
impl<S, C> Debug for CausalMonad<S, C>
Source§impl<S, C> Default for CausalMonad<S, C>
impl<S, C> Default for CausalMonad<S, C>
Source§fn default() -> CausalMonad<S, C>
fn default() -> CausalMonad<S, C>
Returns the “default value” for a type. Read more
Source§impl<S, C> MonadEffect5<CausalSystem<S, C>> for CausalMonad<S, C>where
S: Clone + Default,
C: Clone,
<CausalSystem<S, C> as Effect5>::HktWitness: Sized + Functor<<CausalSystem<S, C> as Effect5>::HktWitness>,
impl<S, C> MonadEffect5<CausalSystem<S, C>> for CausalMonad<S, C>where
S: Clone + Default,
C: Clone,
<CausalSystem<S, C> as Effect5>::HktWitness: Sized + Functor<<CausalSystem<S, C> as Effect5>::HktWitness>,
Source§fn pure<T>(
value: T,
) -> CausalEffectPropagationProcess<T, S, C, CausalityError, EffectLog>
fn pure<T>( value: T, ) -> CausalEffectPropagationProcess<T, S, C, CausalityError, EffectLog>
Lifts a pure value into an Effect container (arity 5). Read more
Source§fn bind<T, U, Func>(
process: CausalEffectPropagationProcess<T, S, C, CausalityError, EffectLog>,
f: Func,
) -> CausalEffectPropagationProcess<U, S, C, CausalityError, EffectLog>where
Func: FnMut(T) -> CausalEffectPropagationProcess<U, S, C, CausalityError, EffectLog>,
U: Default,
fn bind<T, U, Func>(
process: CausalEffectPropagationProcess<T, S, C, CausalityError, EffectLog>,
f: Func,
) -> CausalEffectPropagationProcess<U, S, C, CausalityError, EffectLog>where
Func: FnMut(T) -> CausalEffectPropagationProcess<U, S, C, CausalityError, EffectLog>,
U: Default,
The core sequencing operation for arity 5 effect systems. Read more
Auto Trait Implementations§
impl<S, C> Freeze for CausalMonad<S, C>
impl<S, C> RefUnwindSafe for CausalMonad<S, C>where
S: RefUnwindSafe,
C: RefUnwindSafe,
impl<S, C> Send for CausalMonad<S, C>
impl<S, C> Sync for CausalMonad<S, C>
impl<S, C> Unpin for CausalMonad<S, C>
impl<S, C> UnwindSafe for CausalMonad<S, C>where
S: UnwindSafe,
C: UnwindSafe,
Blanket Implementations§
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