Example #1
0
def analyzeQuoted(exp):
    text = expressions.textOfQuotation(exp)
    ## the common case is to handle simple quotation.
    if not expressions.isQuasiquoted(exp):  
        return (lambda env, cont:
                pogo.bounce(cont, text))
    else:
        return analyze(expressions.expandQuasiquotation(text))
Example #2
0
def evalQuoted(exp, env, cont):
    """Returns a quoted expression, using deepQuotedEval to look for
    UNQUOTE.

    Consequently, quoted elements are properly turned into cons pairs.
    """
    text = expressions.textOfQuotation(exp)
    if expressions.isQuasiquoted(exp):
        expandedExp = expressions.expandQuasiquotation(text)
        return pogo.bounce(teval, expandedExp, env, cont)
    else:
        return pogo.bounce(cont, text)
Example #3
0
def evalQuoted(exp, env, cont):
    """Returns a quoted expression, using deepQuotedEval to look for
    UNQUOTE.

    Consequently, quoted elements are properly turned into cons pairs.
    """
    text = expressions.textOfQuotation(exp)
    if expressions.isQuasiquoted(exp):
        expandedExp = expressions.expandQuasiquotation(text)
        return pogo.bounce(teval,
                               expandedExp,
                               env,
                               cont)
    else:
        return pogo.bounce(cont, text)