2010-11-28 3 views
0

점액과 열등한 - LISP 프로그램 질문 clojure.contrib :나는 점액 REPL에서 다음 (더 clojure.contib 기능이 발견되지 않음) 한

M-X slime 
user=> (:require 'clojure.contrib.string) 
nil 
user=> (doc clojure.contrib.string/blank?) 
java.lang.Exception: Unable to resolve var: clojure.contrib.string/blank? in this context (NO_SOURCE_FILE:10) 

그리고 콘솔에서 Clojure의를 시작할 때 다음과 같은 (그러나 여기 다) OK 발견되고있다 : 나는 다음과 같은 한 내 이맥스에서

[email protected]~/clojure/cloj-1.2$ java -cp /home/adr/clojure/cloj-1.2/clojure.jar:/home/adr/clojure/cloj-1.2/clojure-contrib.jar -server clojure.main 
user=> (:require 'clojure.contrib.string) 
nil 
user=> (doc clojure.contrib.string/blank?) 
------------------------- 
clojure.contrib.string/blank? 
([s]) 
    True if s is nil, empty, or contains only whitespace. 
nil 

:

(setq inferior-lisp-program "java -cp /home/adr/clojure/cloj-1.2/clojure.jar:/home/adr/clojure/cloj-1.2/clojure-contrib.jar -server clojure.main") 

내 Clojure의 항아리 (1 .2)는 '/home/adr/clojure/cloj-1.2'에 있습니다.

나는 emacs의 초보자이고 튜토리얼을 따라 왔습니다. 얼마 동안 Emacs의 clojure.contrib 라이브러리를 사용하려고했지만 "M-X slime"은 clojure.contrib를 찾지 못합니다. ,

편집 도와주세요 :

(progn (load "/home/adr/.emacs.d/elpa/slime-20100404/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.4493" :coding-system "iso-latin-1-unix")) 

Clojure 1.2.0 
user=> java.lang.Exception: Unable to resolve symbol: progn in this context (NO_SOURCE_FILE:1) 

Edit2가 : 그 도움이 될 경우, 지금은 MX 점액을 사용하는 경우 메시지가있을 것을보고하지만 사용하는 경우 이러한 오류 메시지가 없습니다 MX slime-connect는 디렉토리에서 "lein swank"를 시작한 후에 연결됩니다 ("MX slime-connect"로 시작하는 경우에도 REPL에서 찾은 clojure-contrib 라이브러리는 없습니다 (종속 관계로 leiningen에서 다운로드 함).

답변

1

내가 "필요"(때문에 Clojure의 내 경험 부족까지) REPL 도서관하기 위해 잘못된 방법을 사용하는 것을 나에게 것을; 같은 구문을 사용하는 경우 :

user=> (require 'clojure.contrib.string) 
nil 
user=> (clojure.contrib.string/blank? "asd") 
false 

("M-X 점액-연결"는 허풍 서버에 대한 비 젠체 REPL은 "M-X 점액"를 사용하거나 경우에 상관없이) 모든 라이브러리는 OK 발견되고있다. 그래서 전적으로 내 실수였다. (나는 stackoverflow 대답에서 나의 실수에 대한 힌트를 발견했다. Why do I get an error when I run (use 'clojure.contrib.repl-utils)?)

1

이 줄 :

(progn (load "/home/adr/.emacs.d/elpa/slime-20100404/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.4493" :coding-system "iso-latin-1-unix")) 

는 커먼 리스프하지 Clojure의,하지만 당신은 Clojure의에 inferior-lisp-program를 설정하기 때문에, slimeswank 서버를 시작할 수 없습니다.

swank-clojure project에 다음 절을 참조하십시오

  • 은 점액 포함하기
  • 허풍-clojure.el와 연결

당신이 원하는 기능은 swank-clojure.el 아마이지만, 그것은이다 더 이상 권장하지 않습니다.

이미 ELPA 사용하는 것처럼 :

add-to-list 'package-archives 
     '("technomancy" . "http://repo.technomancy.us/emacs/") t) 

M-x package-install ;(slime-repl) 
M-x slime-connect 
+0

고마워; 나는 .emacs 에서처럼이 줄이 어디에서 오는 것인지 모르겠습니다. 비슷한 것은 없습니다. ELPA를 사용하여 모든 것을 설치했습니다 (이것이 적절한 지 확실하지 않음). – aeter

+0

고마워요. 나는 그것을 시험해 보았지만, 'package-archives'기호가 무효라는 불평을 계속했다. – aeter

+0

나는 그물에 몇몇 자습서로 시도 할 것이다; 그것은 내가 여기에서 놓치고있는 매우 단순한 무엇인가이어야한다. 도와 줘서 고마워. – aeter

관련 문제