public static IRWSMonad <TEnvironment, TOutput, TState, TValue> Tell <TEnvironment, TOutput, TState, TValue>(TValue value, IEnumerable <TOutput> outputs) { return(RWS.Create <TEnvironment, TOutput, TState, TValue>((e, s) => RWSResult.Create(value, outputs, s))); }
public RWSResult <TOutput, TState, TValue> Run(TEnvironment environment, TState state) { return(RWSResult.Create(_value, new TOutput[0], state)); }
public static IRWSMonad <TEnvironment, TOutput, TState, TValue> Tell <TEnvironment, TOutput, TState, TValue>(TValue value, TOutput output) { return(RWS.Create <TEnvironment, TOutput, TState, TValue>((e, s) => RWSResult.Create(value, new TOutput[1] { output }, s))); }
public RWSResult <TOutput, TState, Unit> Run(TEnvironment environment, TState state) { return(RWSResult.Create(Unit.Default, new TOutput[1] { _output }, state)); }
public RWSResult <TOutput, TState, TResult> RunRWS(TEnvironment environment, TState state) { RWSResult <TOutput, TState, TValue> selfResult = _self.RunRWS(environment, state); return(RWSResult.Create(_selector(selfResult.Value), selfResult.Output, selfResult.State ?? state)); }
public RWSResult <TOutput, TState, TState> Run(TEnvironment environment, TState state) { return(RWSResult.Create(state, new TOutput[0], _selector(state))); }
public RWSResult <TOutput, TState, TEnvironment> RunRWS(TEnvironment environment, TState state) { return(RWSResult.Create(_selector(environment), new TOutput[0], state)); }