可能我们可以在以下方式支持简单的函数应用。
`
(defne substo [e new a out]
('(var ~a) _ _ new)
('(var ~y) _ _ '(var ~y)) (nom/hash a y)
('(app ~rator ~rand) _ _ '(app ~rator-res ~rand-res))
(substo rator new a rator-res)
(substo rand new a rand-res))
('(lam ~(nom/tie c body)) _ _ '(lam ~(nom/tie c body-res))]
(nom/hash c a) (nom/hash c new)
(substo body new a body-res)))
`
如果我们在一个未引用的序列中有一个,那么我们知道我们有一个应用。所有的函数符号都保持不变,所有的参数都被认为是新鲜变量或局部变量。