def definitionValue(exp):
    if isSymbol(pair.cadr(exp)):
        return pair.caddr(exp)
    return makeLambda(pair.cdr(pair.cadr(exp)), pair.cddr(exp))
def assignmentVariable(exp):
    return pair.cadr(exp)
def definitionVariable(exp):
    if isSymbol(pair.cadr(exp)):
        return pair.cadr(exp)
    return pair.car(pair.cadr(exp))
Beispiel #4
0
def letBindingValues(bindings):
    if pair.isNull(bindings): return pair.list()
    return pair.cons(pair.cadr(pair.car(bindings)),
                           letBindingValues(pair.cdr(bindings)))
def letBindingValues(bindings):
    if pair.isNull(bindings): return pair.list()
    return pair.cons(pair.cadr(pair.car(bindings)),
                     letBindingValues(pair.cdr(bindings)))
def procedureParameters(p):
    return pair.cadr(p)
def continuationImplementation(proc):
    return pair.cadr(proc)
Beispiel #8
0
def procedureParameters(p):
    return pair.cadr(p)
Beispiel #9
0
def primitiveImplementation(proc):
    return pair.cadr(proc)
Beispiel #10
0
def lambdaParameters(exp):
    return pair.cadr(exp)
Beispiel #11
0
def ifPredicate(exp):
    return pair.cadr(exp)
Beispiel #12
0
def definitionValue(exp):
    if isSymbol(pair.cadr(exp)):
        return pair.caddr(exp)
    return makeLambda(pair.cdr(pair.cadr(exp)),
                      pair.cddr(exp))
Beispiel #13
0
def definitionVariable(exp):
    if isSymbol(pair.cadr(exp)):
        return pair.cadr(exp)
    return pair.car(pair.cadr(exp))
Beispiel #14
0
def assignmentVariable(exp):
    return pair.cadr(exp)
def lambdaParameters(exp):
    return pair.cadr(exp)
Beispiel #16
0
def continuationImplementation(proc):
    return pair.cadr(proc)
def ifPredicate(exp):
    return pair.cadr(exp)
Beispiel #18
0
def textOfUnquotation(exp):
    return pair.cadr(exp)
def primitiveImplementation(proc):
    return pair.cadr(proc)
def letBindings(exp):
    return pair.cadr(exp)
def textOfUnquotation(exp):
    return pair.cadr(exp)
Beispiel #22
0
def letBindings(exp):
    return pair.cadr(exp)