Ejemplo n.º 1
0
 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);
 }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 public AskSelectCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Func <TEnvironment, TEnvironment> selector)
 {
     _selector = selector;
 }
Ejemplo n.º 6
0
 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));
 }
Ejemplo n.º 7
0
 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));
 }
Ejemplo n.º 8
0
 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));
 }
Ejemplo n.º 9
0
 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));
 }
Ejemplo n.º 10
0
 public IfStaticCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> thenSource, IRWSMonad <TEnvironment, TOutput, TState, TValue> elseSource, Func <bool> selector)
 {
     _thenSource = thenSource;
     _elseSource = elseSource;
     _selector   = selector;
 }
Ejemplo n.º 11
0
 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);
 }
Ejemplo n.º 12
0
 public DoOnOutputCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <IEnumerable <TOutput> > action)
 {
     _self   = self;
     _action = action;
 }
Ejemplo n.º 13
0
 public DoOnStateCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <TState> action)
 {
     _self   = self;
     _action = action;
 }
Ejemplo n.º 14
0
 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));
 }
Ejemplo n.º 15
0
 public DoCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Action <RWSResult <TOutput, TState, TValue> > action)
 {
     _self   = self;
     _action = action;
 }
Ejemplo n.º 16
0
 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));
 }
Ejemplo n.º 17
0
 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));
 }
Ejemplo n.º 18
0
 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));
 }
Ejemplo n.º 19
0
 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));
 }
Ejemplo n.º 20
0
 public SelectManyCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, Func <TValue, IRWSMonad <TEnvironment, TOutput, TState, TResult> > selector)
 {
     _self     = self;
     _selector = selector;
 }
Ejemplo n.º 21
0
 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));
 }
Ejemplo n.º 22
0
 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));
 }
Ejemplo n.º 23
0
 public ShareStateCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TState state)
 {
     _self  = self;
     _state = state;
 }
Ejemplo n.º 24
0
 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));
 }
Ejemplo n.º 25
0
 public AskCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self)
 {
 }
Ejemplo n.º 26
0
 public ShareEnvironmentCore(IRWSMonad <TEnvironment, TOutput, TState, TValue> self, TEnvironment environment)
 {
     _self        = self;
     _environment = environment;
 }
Ejemplo n.º 27
0
 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));
 }