我想在slime的REPL中使用clojure.contrib.trace命名空间中的函数。如何让slime自动加载它们?另一个相关问题是,如何将特定的命名空间添加到正在运行的REPL中?
在clojure.contrib API中,它描述了以下用法:
(ns my-namespace
(:require clojure.contrib.trace))
但是将这段代码添加到我的项目中会导致文件无法加载,出现“无法解析符号”的错误,该错误会影响 trace 命名空间下的任何函数。我使用 Leiningen 的 'lein swank' 命令来启动 ServerSocket,我的 project.clj 文件如下:
(defproject test-project "0.1.0"
:description "Connect 4 Agent written in Clojure"
:dependencies [[org.clojure/clojure "1.2.0-master-SNAPSHOT"]
[org.clojure/clojure-contrib "1.2.0-SNAPSHOT"]]
:dev-dependencies [[leiningen/lein-swank "1.2.0-SNAPSHOT"]
[swank-clojure "1.2.0"]])
所有看起来都是最新的,即'lein deps'不会产生任何更改。那么怎么回事?