如何判断变量的值是否是绑定到Scheme中过程的符号?

Jay*_*Jay 3 lisp scheme functional-programming common-lisp

我熟悉Common Lisp并尝试学习一些Scheme,所以我一直在努力理解我如何使用Scheme来解决我通常在Common Lisp中编写的问题.

在Common Lisp中fboundp,它告诉我符号(变量的值)是否与函数绑定.所以,我会这样做:

(let ((s (read)))
  (if (fboundp s)
      (apply (symbol-function s) args)
      (error ...)))
Run Code Online (Sandbox Code Playgroud)

这可能在Scheme中吗?我一直试图在R6RS规范中找到这个,但是找不到类似的东西.

Rai*_*wig 5

这条路?

  1. 检查它是否是一个符号
  2. 使用它EVAL来评估符号以获取其值
  3. 检查结果是否是一个程序 PROCEDURE?