Ejemplo n.º 1
0
def evalApplication(exp, env, cont):
    def c1(operator_val):
        def c2(operands_val):
            return apply(operator_val, operands_val, env, cont)

        return evalRands(expressions.operands(exp), env, c2)

    return teval(expressions.operator(exp), env, c1)
Ejemplo n.º 2
0
def analyzeApplication(exp):
    analyzedOperator = analyze(expressions.operator(exp))
    analyzedOperands = analyzeOperands(expressions.operands(exp))

    def analyzed(env, cont):
        def c_operator_exec(operatorVal):
            def c_operands_exec(operandVals):
                return pogo.bounce(apply, operatorVal, operandVals, env, cont)
            return pogo.bounce(analyzedOperands, env, c_operands_exec)
        return pogo.bounce(analyzedOperator, env, c_operator_exec)
    return analyzed
Ejemplo n.º 3
0
def evalApplication(exp, env, cont):
    def c1(operator_val):
        def c2(operands_val):
            return apply(operator_val, operands_val, env, cont)
        return evalRands(expressions.operands(exp), env, c2)
    return teval(expressions.operator(exp), env, c1)