public ShareCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment, TState state) { _self = self; _environment = environment; _state = state; _lazy = Lazy.Create <RWSResult <TOutput, TState, TValue> >(RunSelf); }
public static TState Execute <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment, TState state, Action <TValue> onValue) { RWSResult <TOutput, TState, TValue> selfResult = self.RunRWS(environment, state); onValue(selfResult.Value); return(selfResult.State); }
public static TState Execute <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment, TState state, Action <TValue> onValue, Action <TState> onState, Action <IEnumerable <TOutput> > onOutput) { RWSResult <TOutput, TState, TValue> selfResult = self.Run(environment, state); onValue(selfResult.Value); onState(selfResult.State); onOutput(selfResult.Output); return(selfResult.State); }
public IfCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, IRWSMonad <TEnvironment, TOutput, TState, TValue> elseSource, Func <RWSResult <TOutput, TState, TValue>, bool> selector) { _self = self; _elseSource = elseSource; _selector = selector; }
public AskSelectCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Func <TEnvironment, TEnvironment> selector) { _selector = selector; }
public static IRWSMonad <TEnvironment, TOutput, TState, TEnvironment> Ask <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Func <TEnvironment, TEnvironment> selector) { return(new AskSelectCore <TEnvironment, TOutput, TState, TValue>(self, selector)); }
public static IStateMonad <TState, RWSResult <TOutput, TState, TValue> > ShareEnvironment <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment) { return(new ShareEnvironmentCore <TEnvironment, TOutput, TState, TValue>(self, environment)); }
public static IIdentityMonad <RWSResult <TOutput, TState, TValue> > ToIdentity <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment, TState state) { return(self.Share(environment, state)); }
public static IRWSMonad <TEnvironment, TOutput, TState, TResult> SelectMany <TEnvironment, TOutput, TState, TValue, TResult>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Func <TValue, IRWSMonad <TEnvironment, TOutput, TState, TResult> > selector) where TState : class { return(new SelectManyCore <TEnvironment, TOutput, TState, TValue, TResult>(self, selector)); }
public IfStaticCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> thenSource, IRWSMonad <TEnvironment, TOutput, TState, TValue> elseSource, Func <bool> selector) { _thenSource = thenSource; _elseSource = elseSource; _selector = selector; }
public static TState Execute <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment, TState state) { return(self.RunRWS(environment, state).State); }
public DoOnOutputCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <IEnumerable <TOutput> > action) { _self = self; _action = action; }
public DoOnStateCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <TState> action) { _self = self; _action = action; }
public static IRWSMonad <TEnvironment, TOutput, TState, TValue> DoOnState <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <TState> action) { return(new DoOnStateCore <TEnvironment, TOutput, TState, TValue>(self, action)); }
public DoCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <RWSResult <TOutput, TState, TValue> > action) { _self = self; _action = action; }
public static IRWSMonad <TEnvironment, TOutput, TState, TValue> Do <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <RWSResult <TOutput, TState, TValue> > action) { return(new DoCore <TEnvironment, TOutput, TState, TValue>(self, action)); }
public static IRWSMonad <TEnvironment, TOutput, TState, TValue> If <TEnvironment, TOutput, TState, TValue>(IRWSMonad <TEnvironment, TOutput, TState, TValue> thenSource, IRWSMonad <TEnvironment, TOutput, TState, TValue> elseSource, Func <bool> selector) { return(new IfStaticCore <TEnvironment, TOutput, TState, TValue>(thenSource, elseSource, selector)); }
public static IRWSMonad <TEnvironment, TOutput, TState, TValue> DoOnOutput <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <IEnumerable <TOutput> > action) { return(new DoOnOutputCore <TEnvironment, TOutput, TState, TValue>(self, action)); }
public static IRWSMonad <TEnvironment, TOutput, TState, TValue> If <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, IRWSMonad <TEnvironment, TOutput, TState, TValue> elseSource, Func <RWSResult <TOutput, TState, TValue>, bool> selector) { return(new IfCore <TEnvironment, TOutput, TState, TValue>(self, elseSource, selector)); }
public SelectManyCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Func <TValue, IRWSMonad <TEnvironment, TOutput, TState, TResult> > selector) { _self = self; _selector = selector; }
public static IReaderMonad <TEnvironment, RWSResult <TOutput, TState, TValue> > ShareState <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TState state) { return(new ShareStateCore <TEnvironment, TOutput, TState, TValue>(self, state)); }
public static IRWSMonad <TEnvironment, TOutput, TState, TResult> SelectMany <TEnvironment, TOutput, TState, TFirst, TSecond, TResult>(this IRWSMonad <TEnvironment, TOutput, TState, TFirst> self, Func <TFirst, IRWSMonad <TEnvironment, TOutput, TState, TSecond> > selector, Func <TFirst, TSecond, TResult> projector) where TState : class { return(new SelectManyCore <TEnvironment, TOutput, TState, TFirst, TSecond, TResult>(self, selector, projector)); }
public ShareStateCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TState state) { _self = self; _state = state; }
public static IIdentityMonad <RWSResult <TOutput, TState, TValue> > Share <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment, TState state) { return(new ShareCore <TEnvironment, TOutput, TState, TValue>(self, environment, state)); }
public AskCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self) { }
public ShareEnvironmentCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment) { _self = self; _environment = environment; }
public static IRWSMonad <TEnvironment, TOutput, TState, TEnvironment> Ask <TEnvironment, TOutput, TState, TValue>(this IRWSMonad <TEnvironment, TOutput, TState, TValue> self) { return(new AskCore <TEnvironment, TOutput, TState, TValue>(self)); }