Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2008-09-22

ClojureでL-99 (P06 回文の判定)

| 20:34 | ClojureでL-99 (P06 回文の判定) - わだばLisperになる を含むブックマーク はてなブックマーク - ClojureでL-99 (P06 回文の判定) - わだばLisperになる

CLのような順番でドキュメントを付けることもできるようです。ただこの場合、ボディ部を括弧で囲まないと上手くSLIMEのドキュメント表示にひっかかってこないという謎。

ちなみに、Clojureは引数/ボディの書き方が複数あるようですが、どれが標準なんだろうという…。

(defn palindrome? 
  "P06 (*) Find out whether a list is a palindrome.
A palindrome can be read forward or backward; e.g. (x a m a x)."
  ([coll]
     (= (seq coll) (reverse coll))))

(palindrome? "たけやぶ")
;=> false
(palindrome? "たけやぶやけた")
;=> true
(palindrome? '[x a m a x])
;=> true

ClojureでSLIME その2

| 19:54 | ClojureでSLIME その2 - わだばLisperになる を含むブックマーク はてなブックマーク - ClojureでSLIME その2 - わだばLisperになる

自分は、SLIMEはEMACS内からSWANKを起動するのではなく、SWANKは別に起動して、slime-connectで接続して使っています。

配布のままのswank-clojureだと、EMACS内で起動するようになっているので、slime-connectで接続できるよう、別にSWANKを起動するような起動スクリプトを書いてみました。

Clojure側で準備して、シェルスクリプトで起動させます。

$ swank-clojure
Swank port =>  9696
Clojure
...
#!/bin/sh
#
# swank-clojure

CLOJURE_HOME=~/Desktop/Clojure

cd $CLOJURE_HOME
#java -cp clojure.jar clojure.lang.Repl
java -jar $CLOJURE_HOME/clojure.jar $CLOJURE_HOME/swankd.clj
SWANKサーバ起動
;;;;
;;;; SWANKD
;;;;
;;;; swankd.clj

;; swank-clojureの場所をfile...に指定します。
(clojure/add-classpath "file:////u/mc/Desktop/Clojure/jochu-swank/")
(clojure/require 'swank)

;; いらない?
(swank/ignore-protocol-version "2008-09-14")

(in-ns 'swank)
(defn swankd [port]
  (setup-server port 
                (fn [x] (println "Swank port => " port))
                connection-serve))
  
;; start!
(in-ns 'user)
;; ポートは好きな空いてるとこを…
(swank/swankd 9696)

ゲスト



トラックバック - http://cadr.g.hatena.ne.jp/g000001/20080922