public TMonad Evaluate(IContext <TMonad> context) { var c = ConditionExpr.Evaluate(context); return(Monad.Bind(c, BindC)); TMonad BindC(object res) { return(res is bool b ? (b ? TrueExpr.Evaluate(context) : FalseExpr.Evaluate(context)) : Monad.Unit); } }
internal abstract T_Return VisitFalse(FalseExpr <T_Identifier> expression);
internal override CellTreeNode VisitFalse(FalseExpr <DomainConstraint <BoolLiteral, Constant> > expression) { throw new NotImplementedException(); }
internal override BoolExpr <DomainConstraint <BoolLiteral, Constant> > VisitFalse( FalseExpr <DomainConstraint <BoolLiteral, Constant> > expression) { return((BoolExpr <DomainConstraint <BoolLiteral, Constant> >)TrueExpr <DomainConstraint <BoolLiteral, Constant> > .Value); }
internal override int VisitFalse(FalseExpr <T_Identifier> expression) { return(0); }
internal override StringBuilder VisitFalse( FalseExpr <DomainConstraint <BoolLiteral, Constant> > expression) { this.m_builder.Append("False"); return(this.m_builder); }
internal override IEnumerable <TermExpr <DomainConstraint <BoolLiteral, Constant> > > VisitFalse( FalseExpr <DomainConstraint <BoolLiteral, Constant> > expression) { yield break; }
internal override DbExpression VisitFalse( FalseExpr <DomainConstraint <BoolLiteral, Constant> > expression) { return((DbExpression)DbExpressionBuilder.False); }
internal override bool VisitFalse( FalseExpr <DomainConstraint <BoolLiteral, Constant> > expression) { return(true); }
internal override DomainBoolExpr VisitFalse(FalseExpr <DomainConstraint> expression) { return(TrueExpr <DomainConstraint> .Value); }