我仍然对已回答的问题感兴趣。
宏在 common lisp 中的延续——关于 OnLisp 中的实现
如果 Paul Graham 的假设是正确的,尤其是从 (A 5) 变为 (B 1) 时会发生什么?cont与这里有什么关系?
当文字说
=bind,旨在以与多值绑定相同的方式使用。它接受参数列表、表达式和代码体:参数绑定到表达式返回的值,并使用这些绑定计算代码体。
我无法直接从 =bind 的宏定义中看到绑定,它看起来像
(defmacro =bind (parms expr &body body)
`(let ((*cont* #'(lambda ,parms ,@body))) ,expr))
绑定是否仅在 =values 稍后出现时发生?