Javascript 在emacs+中无法识别parenscript符号;粘液

Javascript 在emacs+中无法识别parenscript符号;粘液,javascript,lisp,common-lisp,parenscript,Javascript,Lisp,Common Lisp,Parenscript,我试着重做一个简单的例子。 我在emacs+sbcl+slime中执行以下命令: (ql:quickload :parenscript) (defpackage :test) (:use :cl :parenscript)) (in-package :test) 然后我编译示例: (defun validate-game-name (evt) (when (= (@ add-form name value) "") (chain evt (prevent-default)) (a

我试着重做一个简单的例子。 我在emacs+sbcl+slime中执行以下命令:

(ql:quickload :parenscript)
(defpackage :test)
  (:use :cl :parenscript))
(in-package :test)
然后我编译示例:

(defun validate-game-name (evt)
 (when (= (@ add-form name value) "")
  (chain evt (prevent-default))
  (alert "Please enter a name.")))
并得到以下错误:

style-warning: undefined function: @
warning: undefined variable: ADD-FORM
warning: undefined variable: NAME
warning: undefined variable: VALUE
这里怎么了

(defpackage :test)
defpackage窗体已关闭,未使用任何包

那么这是什么呢?

(:use :cl :parenscript))

嗯。根据Philipp的评论,我将其编译到上下文中:

(ps
  (defun validate-game-name (evt)
  (when (= (@ add-form name value) "")
  (chain evt (prevent-default))
  (alert "Please enter a name."))))

对不起,我的意思是在:test之后没有括号。@Xaving-你能编辑这个问题,使它包含你真正的意思吗?你在repl的顶层评估
DEFUN
表单吗?您的错误消息看起来是这样的。试着在一个需要parenscript代码的上下文中计算它。试试
PS
或类似的东西(看看文档)。我不知道如何处理它。我使用C-C-C从文件中编译它。有趣的是,当我在slime提示符中键入ps:cha,然后键入double TAB以完成时,我得到的结果是ps:chain。进一步解释一下,以便您理解为什么会这样做:
ps
是一个通用的Lisp宏,它采用了一个表单(或多个表单,我不确定),必须符合parenscript语言(这与常见的Lisp不同,但乍一看非常类似)语义。然后,此表单(或这些表单)通过
PS
以字符串形式转换为相应的javascript。