Esempio n. 1
0
        public static TMonad Run <T, TMonad> (IMonadExpressionBuilder builder, Func <IMonad <T> > body)
            where TMonad : IMonad <T>
        {
            var prevBuilder = CurrentBuilder;

            try {
                CurrentBuilder = builder;
                return((TMonad)body());
            } finally {
                CurrentBuilder = prevBuilder;
            }
        }
 public static TMonad CxRun <T, TMonad> (IMonadExpressionBuilder builder, Func <IMonad <T> > body)
     where TMonad : IMonad <T>
 {
     return(ComputationExpression.Run <T, TMonad> (builder, body));
 }