[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 02/27 22:04 / Filesize : 81 KB / Number-of Response : 350
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Lisp】プログラミング言語 Clojure【JVM】



1 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:18:39 ]
無いようなので立てた。
JVM上で動作するLisp方言「Clojure」のスレ。

Clojure - home
ttp://clojure.org/

116 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 21:03:47 ]
>>115
ブログだとコメント承認制のところが多いから、批判系の意見は承認しないということも多いし、
仮に承認しても本文と日時を黙って修正して批判者が本文をよく読まずに誹謗中傷する頭のおかしい人だ
というレッテルを張ってくることもある。
有名な人でも時々それがあるから本当に困る。
批判者は俺じゃないんだが、昔のMatzもそんなことしていた時期があったよ。
ともかく、どんなに論理的な意見でも真っ向から批判するんじゃなくて、
YESマンを装いつつ自分の言いたいことを伝えるような難しい技術が必要なんだよ。

117 名前:デフォルトの名無しさん mailto:age [2010/01/25(月) 21:28:32 ]
>>116
まあね。結構色々なブログをお読みみたいだね。承認制はおおくなったし、
批判に対して不寛容なところはおっしゃるように増えてるかもしれない。
有名人も含めて文字を通してのやりとりって慣れてないのと、心地良いもの
だけを惹き付けない癖がついちゃってとれない人もいるのは本当だろうな。
皮肉なことに第三者としてそれを見てるとその人の知性までみえてしまう
から恐しいものさ。

ただし、その人達が政治的なことを糸を引くようなところがあるとは限らな
い。まず、そんな暇があったらプログラミングしてるだろう。それがハッ
カーだし。それに、レビューとかそんなのを拾い上げる人ってのは著者だけ
ではないし、出版の編集者も関わってくることだよ。これは、111で書いて
るように公平性の問題かな。そこからはyesマンばかりではないのね。

上手に言いたいことを伝える技術はおっしゃるように重要だ。まずは、敵対
関係ではないことと、それをお互いに良くしようとしているという前提を
わすれない伝えかたを考えるってことだろう。それがyesマン風かと聞かれ
るとどうだろう?それを容易くするためには信頼関係を強くすることだろ
うよ。


118 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:21:15 ]
同じ出版社のやつは、scalaも薄いですよ。(作者の熟練度もあるんでしょうが)
ttp://pragprog.com/titles/shcloj/programming-clojure
Clojureの場合も、1,2年すればWeb開発とか分散系に特化した専門的な本も出てくる気はする。

ruby1.9 960p
ruby1.8 864p
erlang 536p
↑詳解
↓紹介
groovy 320p
clojure 304p
scala 250p

manning
- Clojure in Action 475p
- The Joy of Clojure 300p
apress
- Practical Clojure 350p

119 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 13:29:27 ]
献本する側からすると関係者以外へ送るやつは宣伝費なので、要は宣伝として
有効なら良い。書評書いてくれそうで界隈にそこそこ有名であることは大前提
だけど、yesマンに書かせると嘘くさくて潜在的読者が引くのでyesマンは要ら
ない。
かといって、影響力の大きいところに思いっきり叩かれると本当に売り上げに
響いて恐い。

だから、普段から技術的に価値の高い記事を書いていて、他人の本とか記事を、
良いところはよく褒めて悪いところはするどく指摘するという当たり前のこと
をやってる人が献本しやすい。

120 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 17:25:56 ]
Windows上なのにMeadow+Slime+clojure-mode+clojureで幸せすぎる
もしかしてタダで使えるWindows上のlisp処理系で一番いい選択肢なんじゃなかろうか?


121 名前:デフォルトの名無しさん mailto:age [2010/01/26(火) 18:44:46 ]
>>120
たぶんそう。

122 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 19:00:00 ]
Hanchentootとかを動かしたくてCL覚えようとしたんだけどWin上だとThreadがダメだったり
asdf-installがめんどくさかったりとものすごく敷居が高いんだ

でもclojureで実用系の部分をjavaの資産つかっておけばあとは自分がやりたいことだけに専念できる気がするんでものすごくありがたいかも



123 名前:デフォルトの名無しさん mailto:age [2010/01/26(火) 19:42:47 ]
>>122
うん。windowsでcommon lispを使うときは外部のライブラリに泣かされるからね。windowsを捨てても問題はないから捨てるのも一考だが。藁
abclもjava資産を使えるという意味ではよいだろうけど、ECLIPSE,NETBEANS
などのプラグインも開発されてそれを使えば、即ClojureのREPLまで使えるか
らインストールの負担は一番すくないからね。clojureのライブラリを生かそ
うとすれば、ほんの少し敷居があがるけどね。どのOSでもどのIDE/editorでも
環境が容易されているってのは強みだと思う。

ただ、Clojureの問題は、まったくの初心者向けの情報もあまりないことかも
しれない。


124 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 20:10:20 ]
おいらはnewlispも結構いいなと思ってる



125 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 20:18:21 ]
Amazon未だに予約受付中で涙目なんだけどなんでなんだぜ...
速攻売り切れた?

126 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:19:56 ]
おれもだ。もしや届いていないかと急いで会社から帰ってきてしまった。
自宅と会社用にAmazon予約と地元の本屋で二冊買うぜ。

127 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:55:50 ]
秋葉原の書泉では平積みだった
もちろん買った


128 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:29:45 ]
地方の本屋にゃ売ってなかったよ。まぁいい。
Amazonからの配達をワクテカして待つ。

129 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 17:53:24 ]
『プログラミングClojure』帰りがけに駅ビル中の本屋によったら、一冊だけ有った。
うっかり買いそうになっちまったぜ、あぶないあぶないw

130 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 18:00:03 ]
買ったら駄目なん?

131 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 18:21:38 ]
明日あたり入るかな?@北海道

132 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 19:22:16 ]
Clojureに興味持ってる人ってもともとLispかじってた人だけ?

133 名前:デフォルトの名無しさん [2010/01/27(水) 19:52:42 ]
Lispやってない奴は構文的にとっつきやすそうなScalaにいく気がするな...

134 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 20:06:19 ]
scalaとclojureに勢力が分かれて
どっちもメジャーになれないみたいな感じになるな



135 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 21:06:40 ]
Common Lispで言う「クロージャー」の綴りは"Closure"だとせっかく覚えたのに
最近、"Clozure CL" だの "Clojure言語" だの紛らわしいのが増えてきて、困ったもんだw

136 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 21:47:33 ]
名前を造語にするのは検索しやすいからよい
最近非常に検索しづらい名前の言語がでたけど、
きっと作ったところはそういうことを何もわかってないんだろうな

137 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 01:56:44 ]
おっとJの悪口はそこまでだぜ・・・

138 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 02:07:16 ]
>>133
lispに興味があって(無いならまず除けると思う)関数型言語に興味がある場合はこっちに来ると思う
マルチスレッドでの効率に関係して関数型言語に触れようとした場合で、最近の傾向を知っているならSTMが標準で準備されてるClojureに目がいくと思う

というかscalaはerlangとかがライバルなんじゃなかろうか?
ってなわけでscalaとclojureがバッティングすることってあんまり無いような気がする



139 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 02:16:02 ]
つまんねえ比較どうでもいいよ。

140 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 06:51:21 ]
キミという一個人が感じるつまらなさは、もっとどうでもいいんだけどね。

141 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 12:05:59 ]
>>138
STMが関数型言語と関係しているみたいな言い方だけど、
これは一個人ではなくClojureの公式見解?

142 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 22:12:06 ]
日本語でおk

143 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 21:46:27 ]
北海道の片田舎だがようやく買えた
さて読むか

144 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 00:04:11 ]
AnarchyGolfの対応言語に追加してもらったよ。 ttp://golf.shinh.org/
休憩中にでもやってみれ



145 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 00:20:08 ]
>>144
CLだと割と短いコード書けるけど(トップには及ばないんだよなぁOTL)clojur

#てな訳で精進中(CL派はsetqにとりつかれているかも)


146 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 08:08:29 ]
ちょっとOCamlっぽいな

147 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:11:36 ]
Golf方面にはがんばらなくていいよ・・・

148 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:15:08 ]
実数とか整数ってjava.lang.Doubleとかなのね


149 名前:デフォルトの名無しさん mailto:age [2010/01/30(土) 19:19:56 ]
golfだけはな…。初心者が手を染めるものではないわな。
プログラミングスタイルに悪い癖が付いてしまう。

150 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 07:49:41 ]
仕様よく知らないけど、
やっぱシンボルドット表記でクラスの階層参照するわけだよな?
(かんたら(ref うんたら))形式はやっぱアホだよなあ
やっぱ(うんたら.かんたら)だよなあ
翻訳したshiroさん自身はどう思ってるのかな

151 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 10:41:54 ]
「 はよく知らないけど だからアホ」とか…はてなやTwitterで見慣れたけどね。
半可通って知ってるか?生半可な知識で通ぶるのは一般的には恥ずかしいことだ。

152 名前:デフォルトの名無しさん mailto:age [2010/01/31(日) 11:03:45 ]
>>151
作者の意図を正確に掴んで、別の方法を提示した上で双方の手法に
利点と問題点を纏めて指摘できるようなやつなら、有名人になって
るかもな。所詮、テレビのコメンテーター気取りってだけの話。

153 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 18:12:48 ]
>生半可な知識で通ぶる
知ってたら通ぶれないんだろ

154 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 00:25:25 ]
iPhnoeとか、他のケータイでなんか遊べないんかな?
活用術みたいなのってない?



155 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 00:26:34 ]
誤爆した

156 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 17:29:12 ]
昨日からプログラミングClojure読みながらREPL動かしてるがすごいなこれ
予想よりもはるかにしっかり作り込まれてる
(個人的には、大体のものはimmutable、seqは遅延評価、STM使えるという
Haskellっぽいところが特に気に入った)
本気でClojure使う気がなくても、
「自分の使ってるLispでも同じ機能あったら便利だな、
マクロで似た機能作ろう」というアイデアを得る為だけとしても
さわってみる価値はあるかも。with-metaとか

気に入らない部分もなくはないけど、
(数値や文字列はJavaのオブジェクトなのでメタデータつけられないとか)
大した事ではない・・・と思う多分

157 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 22:23:08 ]
本読んでるだけでも楽しくなる

158 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 22:36:48 ]
ベンチ代わりにふつーにフィボナッチやらせてみたらclispより2倍くらい遅かったw

159 名前:デフォルトの名無しさん mailto:sage [2010/02/02(火) 22:42:54 ]
わざわざJVM上に構築してるわけだから、速さは期待できないよな。

おもしろい構文とかJavaのライブラリを自由に呼び出せるのが魅力だろう。

160 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 05:47:32 ]
javaの-serverオプションが効果的になるね

161 名前:デフォルトの名無しさん mailto:age [2010/02/03(水) 11:15:20 ]
>>158
clojureでフィボナッチといっても、どんな関数を作ってやった?
再帰なのか無限シーケンスなのかそれとも?

162 名前:デフォルトの名無しさん mailto:age [2010/02/03(水) 11:17:14 ]
clojureの再帰もclojureの流儀はちょっと特殊だけど、
それを無視した再帰を公開してるブログもあるよ。
もちろん、速さに影響がある。


163 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 12:32:45 ]
time clj fib.clj
って感じで測ってるなら重い重いJVMの立ち上げがあるからそのへんが軽いclispと比べても…

164 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 12:47:11 ]
clojureの本に速いってかいてあったけど速いのか?



165 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 13:04:15 ]
(def fibo
(fn [n]
(cond (or (= n 0) (= n 1)) 1
   :else (+ (fibo (- n 1)) (fibo (- n 2))))))
(def beti (. java.lang.System (currentTimeMillis)))
(println (fibo 40))
(def afti (. java.lang.System (currentTimeMillis)))
(println (/ (- afti beti) 1000.0))
こんな感じで比べてみたんよ

166 名前:デフォルトの名無しさん mailto:age [2010/02/03(水) 13:48:30 ]
再帰のところはrecurを使わなきゃ。でも、fibは再帰で苦手な例だったよね。
clispとの比較だから遅延はさせてないのかもしれないが。

遅延を効かしてないし、clojureの特徴はいかせてみると
(defn fib2 [x y]
  (lazy-seq
    (when-let [foo (+ x y)]
      (cons x (fib2 y foo)))))
として
user>(def fibo-list (fib2 0 1))
user> (time (take 40 fibo-list))
としてごらん。

167 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 20:35:18 ]
Windows上のClisp2.48とClojure 1.1.0だと Clojureのfibの方がちょっと速かったな。
(compile 'fib)したらClispの方が速くなったけど。

まあしかし色々書き方あって面白いね
(defn lfib [n]
(loop [a 1 b 1 i n]
(if (= i 0) a
(recur b (+ a b) (dec i)))))

(use 'clojure.contrib.def)
(defn-memo mfib [n]
(if (< n 2) 1
(+ (mfib (- n 1))
(mfib (- n 2)))))

(def fibseq (map first (iterate (fn [[a b]] [b (+ a b)]) [1 1])))

(time (prn :loop (lfib 40)))
(time (prn :memo (mfib 40)))
(time (prn :seq (nth fibseq 40)))

168 名前:デフォルトの名無しさん mailto:sage [2010/02/03(水) 22:50:36 ]
>>167
java -serverで起動するとclojureの方が早いよ
sbclはもっと早いけど

169 名前:168 mailto:sage [2010/02/03(水) 22:51:55 ]

java -client(こっちがデフォルト)とjava -serverだと普通に8倍くらい違う

170 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 14:58:58 ]
>>2で紹介してくれてるチュートリアル見てるけど面白そうだ。
練習問題集みたいなページない?

171 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 21:19:10 ]
問題集なのか分からんけど
・Project Euler
ttp://projecteuler.net/index.php?section=problems
・SICP
ttp://mitpress.mit.edu/sicp/full-text/book/book-Z-H-37.html
書籍ごと書き換えてるやつ(途中?)
・SICP in Clojure ( mitpress.mit.edu/sicp/ )
ttp://sicpinclojure.com/
Lisp本のサンプルコード書き換えたもの
・ Practical Common Lisp ( ttp://www.gigamonkeys.com/book/ )
ttp://github.com/stuarthalloway/practical-cl-clojure
・ On Lisp (ttp://www.komaba.utmc.or.jp/~flatline/ ttp://www.paulgraham.com/onlisp.html)
ttp://github.com/stuarthalloway/onlisp-clojure
その他
・ Programming Clojure
ttp://github.com/stuarthalloway/programming-clojure

172 名前:170 mailto:sage [2010/02/06(土) 21:36:17 ]
>>171
たくさん紹介して頂いて有難うございます

173 名前:デフォルトの名無しさん mailto:sage [2010/02/06(土) 23:46:29 ]
ちょっと助けて、
[{ :id 1 :label "value1"} { :id 2 :label "val2" }]
こういうベクターをそのままファイルに書き出して読み込もうとしたのだけど
with-out-writeでprintしちゃうとダブルクォートが無くなって
[{ :id 1 :label value1} { :id 2 :label val2 }]
↑の様になってしまうのだけど、意図したとおりにREPLでの表現と同じ形式でファイルに書き出すにはどうしたらよいのだろう?



174 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 03:26:38 ]
一旦strで文字列化してから出力すればok



175 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 06:10:37 ]
>>174
ありがとう
おかげで外部化できた

176 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 03:12:14 ]
duck-streamのread-linesをwindowsのreplで使ってると
うかつに最後まで読ませないでいると消せないファイルだらけになってしまうのね
(let [ header (take 3 (read-lines (. fileChooser getSelectedFile))) ]
;headerのアタマだけなんかする
)
repl抜けるまでファイル消せなくなって焦った
こういうときってどういう風にするのがよいのかね?


177 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 04:08:38 ]
>>176
なんというwindowsの罠・・・
同じようにやってみたら、よくexplore.exeがやるみたいに、
jreが開いたファイルをロックしっぱなしにしてた
直接ファイルpathをread-linesせずに、with-in-readerで囲めば、
そのブロックを抜けたらロック解除してくれる
(read-linesには引数として*in*を渡す)

ちなみに、unlockerというソフトで、ロックしてるかどうか調べた
本来は、explorer等によってファイルが無駄にロックされて困る時に
強制的にロック解除するソフト
windows使うなら入れといて損は無いと思う

178 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 17:45:42 ]
>>171
ありがとう

179 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 02:02:51 ]
>>67-71 のFogusさんのスライドが紹介されてた。
Clojure 1.1 の廃止・追加とその後についての物(英語)だった。
www.fogus.me/static/preso/clj1.1+/


180 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 22:07:51 ]
>>177
ありがとう、with-*がC++のdestructerみたいな使い方するときのイディオムなのね




181 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 00:50:10 ]
javaで扱えるunicode文字ならなんでもかんでもシンボルやらキーワードにできるのね
contrib.sqlはダメかと思ったらそういう文字つかったテーブルとかすらもりもりと生成できてびっくらこいた


182 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 02:22:24 ]
emacs-slime経由だとjavamailがセキュリティチェックに引っかかるorz


183 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 02:44:39 ]
俺がアホだった、mailcapのファイル名まちがってたorz
回線切って寝る


184 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 10:19:17 ]
ttp://vintage-digital.com/hefner/misc/lisp-programmers.jpg
clojureだけ敵でワラタ



185 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 11:50:58 ]
ボーグなのかいw
いや待て、ロキュータスなことに意味があるのかもよ?w

186 名前:デフォルトの名無しさん [2010/02/10(水) 17:07:29 ]
>>184

ちょっとまてPHPはダ○ン症か?道徳的に問題あるんじゃない?

187 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 20:04:05 ]
rubyはやめといたほうがよさそうだ

188 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:45:29 ]
自己紹介(common lisp)はないんかいw

189 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:46:32 ]
よく見たらあった
眼科逝ってくる

190 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:48:12 ]
ASP.NETってセクシーなんだな

191 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 22:52:21 ]
>>186
あれはただの男の子だろ?小学生くらいの。


192 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 23:26:47 ]
あぶなっかしいガキンチョじゃないかな >PHP

193 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 23:28:45 ]
カークはないな。不純だが便利という意味でスコッティを推奨する。

194 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 23:31:32 ]
ぅあ…がいないな…



195 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 10:49:20 ]
>>193
その立場はEmacs lispがとったもよう

196 名前:デフォルトの名無しさん [2010/02/11(木) 15:55:21 ]
名前の由来は何でしょうか?

197 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 16:02:12 ]
closure + java =: clo[j]ure

198 名前:デフォルトの名無しさん [2010/02/11(木) 17:01:30 ]
ありがとうございます
しかしClojureの数多くある機能の中で
なぜクロージャだけ名前に使われるほどフィーチャーされたのですか?

199 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 18:15:34 ]
>>198
リッチなヒッキーさんに直接聞いた方がいいんじゃね?

200 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 18:19:40 ]
>>198
語感がカッコイイからキマットル。

201 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 18:55:38 ]
>>198
s-exp + java で名前が s-presso とかだとガッカリするから

202 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 19:09:52 ]
ダサすぎるw>s-presso
そういや昔はコーヒーにちなんだ名前がたくさんあったな、今から考えると
かなりカッコわるい


203 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 19:15:18 ]
>>202
珈琲ならまだいい、javaが登場した当初はお茶とカレーのネタにうんざりしたもんだぞ


204 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 19:34:39 ]
#t と currying のネタを思い付いたけど、書き込むのは止めておくわw



205 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 21:00:38 ]
>>198
やっぱLISPを象徴する機能だからじゃないか? > closure


206 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 22:17:41 ]
言語名は造語だとぐぐらびりてぃー的に良いよね。

207 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 00:11:42 ]
“scheme”は今は結構まともだけど最初は酷かった>ぐぐる
2chスレのおかげだな

208 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 00:44:05 ]
最近、hl=ja なぐぐるは色々と残念な希ガス。プログラムの話題は特に。
ぐぐる先生が悪いんじゃなくて、日本語で書かれたコンテンツが残念なだけかもしらんけど。

209 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 02:21:29 ]
日本語だと残念な部分(言い回しとか)まではっきり見えるからだろ


210 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 08:18:13 ]
期待するパッケージがずらずら表示されるぐんにょり感
qt とか洋物ツールの情報を探すのコツがいる、とか

たまに yandex で引いてみたり naver で引いてみたりする

211 名前:デフォルトの名無しさん mailto:age [2010/02/12(金) 09:54:15 ]
FORTHがセオドア・カジンスキー だってのもなんだろうね。
lisperにとってそんな脅威?

212 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:01:23 ]
ユナボマー?

213 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:03:58 ]
>>211
文明の発展にNOって感じなんじゃないの
FORTHの進化ってあんま聞いた事ないし

214 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:24:10 ]
>>209
いや根本的に日本が残念なんだよw



215 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 11:26:04 ]
三段目がスタートレックなのはわかるけど
赤提灯ののん兵衛っぽいおっさんの元ネタが
わかりそうでわからないのだった・・・

はすけるはどっくだぬばっくとぅざふぃちゃだぬ

216 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 16:06:22 ]
今気付いたんだが、googleのappspotってJava使えるから、Clojureもいけるんじゃね?
そう思ってぐぐったら既に先人がいた
ttp://wave-samples-gallery.appspot.com/about_app?app_id=97002
これはgoogle waveのbotだけど、普通にも使えるようだから
手軽に無料で遊べそうな予感

217 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 22:39:49 ]
en.wikipedia.org/wiki/List_of_JVM_languages
よく知られているJVM言語に入れられてるな。

218 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 18:58:09 ]
ほかにも記事書いてる人いるみたいだー
ttp://www.google.co.jp/search?hl=ja&q=clojure+google-app-engine&lr=

219 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 19:07:19 ]
clojure.lib コーディング規約
ttp://www.google.co.jp/search?hl=ja&q=clojure.lib+coding+standards

実用的な方向に進んでるなー

220 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 20:13:28 ]
>>219
現時点の最新情報はこの辺りですね。

Clojure Library Coding Standards
https://www.assembla.com/wiki/show/clojure/Clojure_Library_Coding_Standards
“Clojureライブラリ・コーディング規約” まとめ
manjilab.com/2010/02/13/clojure-library-coding-standards/

221 名前:デフォルトの名無しさん [2010/02/14(日) 22:53:33 ]
>>205
Lispを象徴する機能って言ったらマクロじゃないですか?

222 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 15:20:44 ]
macro

jacro
mjcro
majro
macjo
macrj

223 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 16:11:17 ]
>>222
どれにしても"カッコ"悪いと言う事ですねw

224 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 19:57:25 ]

macjo
maclj
macloj
macloju
aclojur
clojure

clojure



225 名前:デフォルトの名無しさん [2010/02/15(月) 21:22:52 ]
おい

226 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 21:28:28 ]
>>224
「マックロージャー」

227 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 21:57:17 ]
西洋版まっくろくろ助みたいな

228 名前:デフォルトの名無しさん mailto:sage [2010/02/15(月) 22:10:10 ]
>>226
どうでもいいけど「まっくろーどはーすばらしい〜♪」ってCMソングが想起された
さらにどうでもいいけど、clojureのおかげでsolaris-linux-bsd-windows全部の環境でSLIMEでreplができて幸せ
commonlispの時はwindowsだけスレッドがつかえねぇとかものすげぇ不便だった

229 名前:デフォルトの名無しさん [2010/02/17(水) 00:57:01 ]
JVM前提でLispとかwwwwwwww

だったらJava使えばいいだろってはなしwwwwwwwwwwwwwww

クソってるwwwwwwwwwwwwwwwwwwwwww

230 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 01:04:51 ]
>>229
ライブラリがほしいだけだと思う、JVM がほしいわけじゃないと思うよ

欠陥言語使う気になれない!とくに floating 関係の仕様バグ > Java


231 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 01:07:55 ]
>>230
>floating 関係の仕様バグ

もしかして以前 Lisp スレに出没してた人かな?
結局大した欠陥なんて無かったんだよな

232 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 13:09:43 ]
なんだ、ここにまで馬鹿ちんこが来たのか

233 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:09:29 ]
lispjobs.wordpress.com/2010/02/18/clojure-lisp-developers-ft-lauderdale-south-florida-recruiter/

フロリダで Clojure 弄りながらお金貰えるって素敵だな

234 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:25:30 ]
Youメール出しちゃいなYO!



235 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 22:42:10 ]
>>233

>Strong mathematical and analytical skills

優秀な数学的かつ分析的能力

お前らにはむりぽ

236 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 23:08:54 ]
>>235
なんで、そんな風に決めつけるかな?


237 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 23:24:28 ]
そうじゃないと何かに耐えられないのでは。

238 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 15:31:25 ]
clojure楽しいけどちょっとした処理のツールを作っておくとかだと起動が重たいって欠点が目立ちすぎるね
やはりサーバ立て向けなんだろうか?




239 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:37:20 ]
中村さん、べた褒めしてるね。

ところでInfoQに作者のインタビュー
があるけどかっこいいなと思ったのは俺だけ?

240 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 17:51:12 ]
>>239
正三郎?
あのひと普段の言動が軽いからべた褒めしてても話半分の半分位にしかきこえねぇ

名前になんか言うのやなんだけど、リッチなヒッキーさんって本名だけでしびれる


241 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 23:44:32 ]
ちなみにRich Hickeyがインタビューに答えている動画を見ることができるのはここね

www.infoq.com/interviews/hickey-clojure


242 名前:デフォルトの名無しさん mailto:sage [2010/02/22(月) 05:03:39 ]
>>238
起動時間が、通常1.8秒のところがAOTで0.4秒になった。
意味ないけど、perl 0.007秒 python,php 0.02秒 sbcl 0.09秒

os: linux centos5.4 x86_64 java: jdk 6u16 clojure: 1.1.0 の環境で、
Excelsior JET 7.0(AOTツール)の体験版(betaは棚卸中)を試したら、
real:0.438s user:0.081s sys:0.167s
java -cp clojure.jar clojure.main -i /dev/null
real:1.819s user:1.322s sys:0.171s
ちなみに、java -jar clojure.jar -i /dev/null だと2.0秒

制限少ないJVM向けのAOTあれば、そういう用途も使いやすいんだけど・・

243 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 10:52:32 ]
user=> (map println '(1 2 3))
(1
2
nil 3
nil nil)
こんな風になってしまうのですが、clojureでは
リストの要素を表示するにはどうすればいいのでしょうか?

244 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 11:13:14 ]
>>243
こう?
user=>(print (apply str (interpose "\n" '(0 1 2 3 4) )))
0
1
2
3
4
nil





245 名前:デフォルトの名無しさん [2010/02/23(火) 14:25:55 ]
>>243
Clojureではシーケンスの多くが遅延評価される仕様になってる
その例では、REPLが(map println '(1 2 3))の結果のリストを表示しようとする
タイミングで初めて各要素についてprintlnされるので、そんな結果になる
このような場合、dorunが使える
user=> (dorun (map println '(1 2 3)))
1
2
3
nil

mapした結果を捨てたくないなら、doallを使う
user=> (doall (map println '(1 2 3)))
1
2
3
(nil nil nil)

246 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 14:59:31 ]
sage忘れた。すまん。

247 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 19:16:00 ]
>>244 >>245
ありがとうございます。
いろいろ使い分けないといけないんですね。

248 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 20:39:47 ]
>>243
(doseq [x '(1 2 3)] (println x)) かな

249 名前:デフォルトの名無しさん mailto:sage [2010/02/23(火) 21:51:52 ]
Clojure 本を見ると、 doall と dorun はほとんど必要にならない、って書いてあるな。
Clojure 本体のコードを見ると
doall は clojure.walk で使っているけど、これは木構造の葉を先に評価しておきたいからだと思う。
dorun は doall を実装するのに使っているだけ。
doseq は 30 箇所くらいで使われてる。
map + dorun / doall は結果の Seq が必要なときだけ使うのが標準的なスタイルみたい。

250 名前:デフォルトの名無しさん [2010/02/23(火) 22:30:12 ]
JVMが必要とか腐ってるな

251 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 00:27:14 ]
clojure-crlって使い物になるの?

252 名前:デフォルトの名無しさん mailto:sage [2010/02/24(水) 01:17:03 ]
ちょっと触ってみた感じだと、
・clojure-contrib他ライブラリーがjava依存部分を書き換えないと
いけないので、使えない場合が多い。
・clojure.jarのカバー率はそこそこあるみたいなので、
基本機能と.netのAPIで作りたいものがあれば、ありかも。
・REPLの起動までもちょっと遅いと思う(Debugビルドしか作れないから、詳細は不明)。
・速度もngen使っても2,3倍ゆっくりだった。開発者もIL(バイトコード)の時点で最適化されない
部分が結構あって、計算量のオーダーが変っちゃうのを嘆いていた。

こんな感じでした。

253 名前:デフォルトの名無しさん [2010/03/03(水) 17:07:17 ]
このへんを見ながら
ttp://elhumidor.blogspot.com/2009/04/clojure-on-google-appengine.html
Google App Engine + Clojure + Compojure をやろうとしているがうまくいかねー
いいかげんGAEはABCLでいい気になってくる

254 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 21:38:35 ]
俺もそれやってみたが駄目だった
GAEのappengine-java-sdkのバージョンが上がって
appengine-cljと互換性がなくなったのが原因のような気がちょっとする
結構試行錯誤したんだが・・・



255 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 22:47:41 ]
github.com/r0man/appengine-clj
このforkは、最近もいじってるみたいだけど、どうかな。

256 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 22:52:38 ]
github.com/snewman/appengine-clj
こっちも、更新してるみたい、対 appengine SDK 1.3.1 ってかいてある。

257 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 22:59:38 ]
swank-clojure で slime-autodoc 活かすと repl が固まるのはうちだけ?


258 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:00:37 ]
github.com/duelinmarkers/appengine-clj/tree/r0man-integration
大本の人は、masterにじゃなくて、>255を統合したのをブランチにしてたので
ブランチのが、masterより新しいという

code.google.com/intl/ja/appengine/downloads.html
1.3.1 - 2010-02-10 で、appengine-cljのforkはそれぞれ2/14以降に更新してるみたいだから、どれもOKなのかな?

259 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 23:16:01 ]
>>256
history見てると、1.3.1対応って明記してるのこれだけだった。

>>257
埋もれて申し訳ない。

260 名前:254 mailto:sage [2010/03/05(金) 01:09:45 ]
>>259
appengine-cljをsnewmanのに変更したら動きました!
ありがとうございます!

261 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 17:06:01 ]
sbclから乗り換えるなら、今まで書いてたコードいろいろ書き変えないとだめ?
自動変換ツールとかないのかな

262 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 21:45:53 ]
便乗だけどclojureからabcl上のclコード使うと
面倒なだけなんかな

263 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 08:27:51 ]
>>261
そらまぁそうだわな
>>261
> 自動変換ツール
ないだろうな。作る気もしない(clojure は lisp1, CL は lisp2)


264 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 08:58:11 ]
Schemeからだって自動変換するようなものじゃない。
再帰の扱いや遅延評価の活用を考えると、既存のLispとは別物と考えるべき。
Clojureに乗りかえようとおもって本腰いれたけど、置き換えじゃなくて共存になった。



265 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 13:50:45 ]
Clojure勉強しようと思って図書館から「プログラミングClojure」借りてきた。

言語の学習は当然ながら処理系が必須。Clojureをインストール。
git先端をantしてmvnして・・・swank-clojureが動かないからquackで・・・

とか、苦労して実行環境を構築(普通はサクッとできるんでしょうな(泣))。

Hello worldとかちゃんと動くぞ・・・と喜んだのも束の間。サンプルを落とさなきゃだ。

サンプルを落としてサンプルのルートでClojureを起動すると立ち上がらない(;_;)。
良く見るとサンプルにClojure本体からContribから起動スクリプトから全部ある。

普段使いのClojreとは別にサンプル専用のreplを起動するようにして学習再開 ← 今ここ

266 名前:デフォルトの名無しさん mailto:sage [2010/03/09(火) 14:13:25 ]
javaでlisp処理系って昔から割とあったけど、本格的になってきたなあ

267 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 05:52:35 ]
abclもclojureもjavaが動けばどこでも動くのですごくうれしい
インタラクティブ環境って使っていること自体が楽しくて困る


268 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 21:11:43 ]
前者は別にメリットとは思えないな。

269 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 22:41:55 ]
ご自由に

270 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 00:21:26 ]
CLISP も割とどこでも動くからな…
Clozure CL も現実的によく使われている環境はカバーしてるし

ブラウザ上で動かしたいとか、PaaS みたいなのだとまた変わってくるけど

271 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 00:47:13 ]
>>268,270
LTK無くてもwindowを扱えるのでちょろっとしたツール作るのにも向いてる
ThreadもWindow操作もunixとMSwinとmacの間で書き換えが必要ないってだけで嬉しい

他にこれ満たしてくれるのACLしかないような気がする



272 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 01:03:40 ]
GUI はそうだね。SDL や OpenGL を使っても限界があるし。
スレッドは Clozure CL でも行けると思う。

273 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 19:26:48 ]
リッチなUI(透過や非矩形ウィンドウ)を取り扱うのってclojureできるのかな?
swingとかは無理そうで、JavaFXだと手軽にできるみたいなんだけど
clojureはjavaFX扱えるんだろうか?


274 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:28:06 ]
SunのJavaVM限定だけど、Java側の機能を呼べばできるんでないかな?
java.sun.com/developer/technicalArticles/GUI/translucent_shaped_windows/



275 名前:デフォルトの名無しさん [2010/03/28(日) 19:33:52 ]
clojure.contrib.duck-streams すげー。

(read-lines "www.2ch.net")
って書くだけでhtml引っ張ってきてくれる。びっくりですよ。

276 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 19:58:38 ]
>>275
しらんかった
HTTPリクエストまじめに書いちゃった
読み出しをduck-streamで

orz


277 名前:デフォルトの名無しさん mailto:sage [2010/03/28(日) 21:35:20 ]
phpのfile_get_contentsみたいなもんか。

細かいこともできるのはいいね。>>276 頑張れw


278 名前:デフォルトの名無しさん [2010/03/29(月) 09:41:32 ]
>>277
手探りでしたいことから探していくと上位機能の存在しらないままいたりするからねぇ
一度contribのソースとコメントに目をとおしたほうがよくないかな>>276


279 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 16:53:40 ]
contribどころかclojure.coreのコードも見てないぜっ

280 名前:デフォルトの名無しさん mailto:sage [2010/03/29(月) 20:48:37 ]
duck-streamは、clojure-contrib-1.1.0のapiドキュメントの方に載ってますた

281 名前:デフォルトの名無しさん mailto:sage [2010/04/08(木) 22:57:23 ]
www.viksit.com/content/programming-clojure-clojure-120-snapshot

clojure-1.2.0-snapshot 来てるのか?

282 名前:(u_・y) ◆e6.oHu1j.o mailto:sage [2010/04/12(月) 03:03:41 ]
>>275
は!?なにがすごいの?
read-lines関数に与えられた文字列がURLだったらそれ用の処理してるだけじゃん???
こんな事は大昔から誰かがやってたであろう事だし
clojureが出来るんじゃなくて
clojure「でも」出来るようになってるってだけのことじゃん
このclojureスレ興ざめなんだけど
たったその程度でclojure褒めたたえるのやめてよね

283 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 07:45:17 ]
それ用の処理を標準に組み込んだところを評価してるんじゃね

284 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 14:23:26 ]
>>282
clojureが凄いんじゃなくて、clojure.contrib.duck-streamsが凄いんでしょ。

それも、言語的に凄い・・・とかじゃなくて、使えば凄く楽ができる・・・って感じでは?



285 名前:デフォルトの名無しさん mailto:sage [2010/04/12(月) 14:24:53 ]
socketさえあればそんな糞ライブラリすぐ作れるだろ。
libcurlくらいの機能があるものならともかく。

286 名前:デフォルトの名無しさん mailto:sage [2010/04/13(火) 00:45:23 ]
貴殿のコミットをお待ち申しあげます

287 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 17:32:47 ]
あて先はこちら

288 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 20:23:19 ]
ファイルの読み書きはJavaのクラス利用するの?それともclojureのライブラリにそれ系の関数群がある?

289 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 21:52:54 ]
Javaのクラスをそのまま使ってるコードはよく見かける。

290 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 22:03:45 ]
>>288
with-out-writerとか

291 名前:デフォルトの名無しさん mailto:sage [2010/04/20(火) 22:59:45 ]
>>288
lethain.com/entry/2009/nov/16/writing-files-in-clojure/

292 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 10:41:34 ]
masterと1.1.xってどっちのが新しいのかわからん

293 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 11:46:33 ]
1.1.xは、12/31で止まってる
masterが、svnのtrunk的な扱いになってるようだ。

樹形図的なやつ
ttp://github.com/richhickey/clojure/network

294 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 11:57:36 ]
分からない人は
code.google.com/p/clojure/downloads/list
ここのを使っとくのがいいかと。



295 名前:デフォルトの名無しさん mailto:sage [2010/04/22(木) 16:48:30 ]
>>293
そうするとduck-streamsはどこにいっちゃったん?


296 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 00:36:39 ]
contribになければ、まだないということ。

297 名前:デフォルトの名無しさん mailto:sage [2010/04/23(金) 22:45:30 ]
間違えて消えたのか、元を間違えたのか・・・

テスト系には、requireにclojure.contrib.duck-streams残ってるよー

298 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 23:54:12 ]
ttp://groups.google.com/group/clojure/browse_thread/thread/13b3c1188adf8eec/586f941b96d8c627?lnk=gst&q=duck-streams#586f941b96d8c627

> It sounds like you're using a 1.2 pre-release snapshot build of
> clojure-contrib. There's currently some refactoring going on to better
> organize contrib, now that it's a little more mature. Most of
> clojure.contrib.duck-streams has now become clojure.contrib.io.

なんと

299 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 23:58:56 ]
richhickey-clojure-15a2b2e\src\clj\clojure\test.clj(196): clojure.contrib.duck-streams/writer.
richhickey-clojure-15a2b2e\src\clj\clojure\test\junit.clj(35): clojure.contrib.duck-streams/writer)."
richhickey-clojure-contrib-af2a730\clojurescript\src\clojure\contrib\clojurescript.clj(14): (:require [clojure.contrib.duck-streams :as ds]))
richhickey-clojure-contrib-af2a730\clojurescript\src\clojure\contrib\clojurescript\applet.clj(17): (:require [clojure.contrib.duck-streams :as ds]))
richhickey-clojure-contrib-af2a730\clojurescript\src\clojure\contrib\clojurescript\cli.clj(16): (:require [clojure.contrib.duck-streams :as ds]))

clojure/testとclojure/contrib/clojurescriptだけ、手が回ってないのかな。

300 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:04:52 ]
richhickey-clojure-contrib-af2a730\src\main\clojure\clojure\contrib\io.clj

1行目:
;;; duck_streams.clj -- duck-typed I/O streams for Clojure

;; CHANGE LOG
;;
;; May 13, 2009: added functions to open writers for appending

48行目:
(ns
#^{:author "Stuart Sierra",
:doc "This file defines \"duck-typed\" I/O utility functions for Clojure.

いろいろ、そのままだった。

301 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:12:24 ]
masterのclojure.contrib.duck-streamsについて、
二月にも質問があるけど、この時は違う意味に扱われてたのかな?

googleグループの方から探すのメンドかったので、検索結果のリンク
ttp://www.mail-archive.com/clojure@googlegroups.com/msg23951.html

302 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 00:15:01 ]
最後のは、勘違いのような気がしてきたので、スルーしてくだしあ・・・orz

303 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 13:46:58 ]
Scalaがにぎわってるみたいだけど、こっちも盛り上がって欲しいね

304 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 17:03:48 ]
そういや、Planet Clojure( ttp://planet.clojure.in/ )って、インド発なんだよな?
> 「Planet 言語名」で、ニュース集約サイト

Incanter( ttp://incanter.org/ )の開発ログが、多いのが目につくけど。
> Incanter (ClojureベースのRライクな統計計算とビジュアライゼーションプラットフォーム)





305 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 17:10:41 ]
Rich Hickey氏のスライドだけ公開されてるのかと思ったら、
解説付き(英語)があったんだ・・・

ファイル置場
groups.google.com/group/clojure/files?&sort=date
Clojure on blip.tv
clojure.blip.tv/


306 名前:デフォルトの名無しさん mailto:sage [2010/04/29(木) 17:28:40 ]
Full Disclojureという、解説ビデオ(英語)シリーズは、5分ぐらいづつで編集されてた。
ttp://github.com/francoisdevlin/Full-Disclojure

ttp://vimeo.com/channels/fulldisclojure
ttp://vimeo.com/seandevlin/videos/sort:oldest 古い順

Clojure界隈に参加してるひとも英語圏では、解説関係はかなり熱心だよね。


ErlangOTPや、(Scala)Akka、(Java)Teraccotaみたいなエンタープライズ環境を銘打ったものは、
もとから取り込んでる部分も多いせいかあまり見かけないけど・・。

307 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 15:46:17 ]
SNAPSHOTは build.clojure.org/ に置いてありました・・・
build.clojure.org/snapshots/org/clojure/clojure/1.2.0-master-SNAPSHOT/ clojure-1.2.0-master-20100507.230258-69.jar
build.clojure.org/snapshots/org/clojure/clojure-contrib/1.2.0-SNAPSHOT/ clojure-contrib-1.2.0-SNAPSHOT.jar


308 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 15:49:19 ]
build.clojure.org/job/clojure/lastSuccessfulBuild/artifact/clojure.jar
build.clojure.org/job/clojure-contrib/lastSuccessfulBuild/artifact/target/clojure-contrib-1.2.0-SNAPSHOT.jar

こっちからだと、名前が変わらない最新版っぽい

309 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 15:50:58 ]
リリース1.2.0の開発状況?
www.assembla.com/spaces/clojure/milestones/149827-release-1-2

githubのmasterから持ってきてビルドするときは、
clojure が、 ant
clojure-contrib が、 mvn package -Dmaven.test.skip=true

テストするには、
clojure が、 ant test
clojure-contrib が、 mvn test

でした。

310 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 15:53:21 ]
1.2.0向けのwikiの草稿?
www.assembla.com/wiki/show/b4-TTcvBSr3RAZeJe5aVNr


311 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 16:09:39 ]
duckstreamでhttpdアクセスすると遅いのだけど何が起きてるんだろう
(time (read-lines "localhost/index.html"))
500msとか消費する


312 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 23:57:15 ]
clojure-1.1.0 WinXP
(time (def x (read-lines "goo.ne.jp/robots.txt")))
(time (def x (read-lines "labs.goo.ne.jp/gooLab.rdf")))
(time (def x (read-lines "goo.ne.jp/")))
(time (def x (read-lines "file:C:/.rnd")))
(time (def x (read-lines "file:C:/WINDOWS/system32/shell32.dll")))

0KB  17ms (16ms:Firebug)
5KB  17ms (15ms:Firebug)
16KB 100ms (63ms:Firebug)
1KB  0.5ms
8MB  8.9ms

こんな感じだった。
localhost/index.htmlで、FireFoxのFireBugアドオンで接続を確認してみたらいいかも。

313 名前:デフォルトの名無しさん mailto:sage [2010/05/16(日) 00:50:25 ]
>>312
slime経由だからって訳じゃないと思う、wgetをwindowsの環境で実行しても此処まで遅くなかったんでちょっと原因がわからなくて
>>312のように普通の結果が得られてるって事は自分の環境がおかしいって事だと思うので別の視点から調査してみるよ

ものすごく感謝してる


314 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 15:19:55 ]
ドット対ってどうやって作るの?
(cons 'a 'b)
がエラーになるんだが。




315 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 15:37:13 ]
(cons 'a '(b))

316 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 15:52:42 ]
ドット対などありゃあせん

317 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 22:19:30 ]
listでないconsが作れないのと、car,cdrがないのが寂しい。
firstとrestは文字数が違うのが気にいらない。

318 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 22:39:55 ]
1.2の目玉機能は何?

319 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 22:47:22 ]
1.2 が出ることです。:-p

320 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 01:10:51 ]
ttp://www.fogus.me/static/preso/clj1.1+/
ttp://www.slideshare.net/fogus/clojure-11-and-beyond

1月での1.2予想は、こんな感じだった。

・ reify
・ deftype
・ defprotocol

・ Fine-grained locals clearing
・ Agent error handlers


321 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 01:23:21 ]
www.assembla.com/wiki/show/clojure/
開発サイトのwikiに1.2(以降?)の追加要素がリストされてた。


322 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 01:34:21 ]
導入するのはこれみたい
clojure.org/protocols
clojure.org/datatypes

323 名前:デフォルトの名無しさん mailto:sage [2010/05/28(金) 11:48:29 ]
protocols ってなんぞ。

324 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 00:42:50 ]
JAVAでいう(実装と分離するための)インターフェースの代わりにつかえて、
動的に対応するインターフェースを生成するらしい。

あとから拡張できるらしい?
余計にわからんな。




325 名前:デフォルトの名無しさん mailto:sage [2010/05/29(土) 00:49:35 ]
誤訳かもしれんが、
追加する主な動機は、Clojureで書いたClojureコンパイラをClojureでリーズナブルに
コンパイルするのに何が必要かを考えていて、高速で自前のデータ型を操作できるような
機構を追加しようということらしい。




326 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 00:22:09 ]
なるほど。わからん。

327 名前:デフォルトの名無しさん mailto:sage [2010/05/30(日) 01:07:37 ]
名前からすると Objective-C の protocol に近いものだろうか

328 名前:デフォルトの名無しさん mailto:sage [2010/06/01(火) 20:16:52 ]
型的にはtraitsのような機能で、
ディスパッチの実装を抽象化するために作られた。
ということみたい。かなり実装指向の機能。


329 名前:デフォルトの名無しさん [2010/06/07(月) 07:11:53 ]
clojureで日付を扱いたいと思ってます。

それで
(def dates
'((4 (1 2 30))
(5 (1))))

こんなのを用意して

(make-days dates) -> ((2010 4 1) (2010 4 2) (2010 4 30) (2010 5 1))

このように出力する関数を作りたいんですが

(defn make-days (map #(interleave (repeat 2010) (repeat (first %)) (last %)) dates))
と定義すると
(make-days dates) -> ((2010 4 1 2010 4 2 2010 4 30) (2010 5 1))
となってしまい、ここで詰まってしまいました。
うまく整形する、又はもっとうまい方法はないでしょうか?
初心者的な質問で申し訳ありませんがお願いします。

clojureで日付を扱う人ってどうしてるんでしょう。
java.util.GregorianCalendar使うのが一般的なんですかね。



330 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 12:42:36 ]
(defn make-days [date-list] (mapcat (fn [e] (map #(list 2010 (first e) %) (second e))) date-list))

(defn make-days [date-list] (mapcat #(map list (repeat 2010) (repeat (first %)) (second %)) date-list))

331 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 16:29:55 ]
Practical Clojure (英語)がでてました。 2010/5/26
Googleブックスのプレビューもあるよ。
apress.com/book/view/1430272317

Joy of Clojureは、そろそろ、ファイナルレビューだとあった。
joyofclojure.com/
www.manning.com/fogus/

332 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 16:30:03 ]
今年中に1.2が出るとして、コードが動かなくなるのは、
githubから落としてtestが通らなかった
contrib.duck-type (ioに移動)ぐらいかな。

333 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 16:53:55 ]
Try Clojure
try-clojure.org/

グローバルIP上でWebサービスを作ってみたいならStax.netで出来るようだ。
stax.net/

developer.stax.net/forum/topics/clojure-support
wiki.stax.net/w/index.php/Deploying_WAR_Files
en.wikibooks.org/wiki/Compojure/Getting_Started

wiki.stax.net/w/index.php/Maven_Guide

334 名前:デフォルトの名無しさん [2010/06/07(月) 23:22:21 ]
>>330
すいません。どうもありがとうございました!シーケンス関数についてもっとよく勉強します。



335 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:38:39 ]
>>332
名前空間の移動だけならAliasとかサポートしてほしかったりとか思うんだけどそういうものじゃないのかな?



336 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 14:06:33 ]
Results from the State of Clojure, Summer 2010 Survey
muckandbrass.com/web/display/~cemerick/2010/06/07/Results+from+the+State+of+Clojure%2C+Summer+2010+Survey

planet clojure経由でみたけど、
「clojureユーザーに聞きました」のアンケート結果がおもしろかった。
IDE、Clojureがなくなったら、一緒に何をつかってる、どのぐらい・どのレベルで何に使ってるとか。

337 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 14:45:46 ]
「wordpress(php)からclojureにblogをうつしてみた」というのがあった。
毎回作成から生成キャッシュに変えたのもあるみたいだから、主な速度の向上の理由かもしれない。

www.bestinclass.dk/index.clj/2010/05/refresh-your-cache--best-in-class-has-been-baked.html
www.bestinclass.dk/index.clj/2010/06/best-in-class--now-open-sourced.htm

338 名前:デフォルトの名無しさん mailto:sage [2010/06/13(日) 20:38:32 ]
clj-ds Clojure data structure for Java
groups.google.com/group/clojure/browse_thread/thread/b6709d09a67949f8

Clojureランタイム呼び出し分の遅延がない、JVM上の他言語供用向けな永続データ構造?

339 名前:デフォルトの名無しさん mailto:sage [2010/06/13(日) 20:43:24 ]
blog.higher-order.net/2010/06/11/clj-ds-clojures-persistent-data-structures-for-java/

コメントにあったけど、java向けのPersistent Java Collectionsは、すでにあるのか。
code.google.com/p/pcollections/


340 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 09:47:07 ]
安全な並行処理を売りとしてる割には、
並行処理自身の仕組みが乏しいように見受けられますが、どう実装するのがよいでしょうか?

例えばconsumer-workerパターンのような処理をする場合は
agentを使うのとjava.util.concurrentを使うのと、どっちがよいか、です。

341 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 22:18:26 ]
clojure.org/concurrent_programming

342 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 01:06:30 ]
https://www.assembla.com/wiki/show/clojure/Enhanced_Primitive_Support

Primitive Supportというのでgithubにブランチがいっぱいあるらしい?

BigInt fibで話題になってたやつ?(ただし、Scalaだったような気がする)

343 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 19:51:54 ]
ttp://1978th.net/tech/promenade.cgi?id=78#article78_comments
ひょっとすると、Clojureを実用的に使ってる方がいるようです。

344 名前:デフォルトの名無しさん mailto:sage [2010/06/19(土) 22:17:38 ]
>>340
分かりやすい日本語のスライドがありました。Var/Ref/Atom/Agentの比較表もありました(41p)。
Clojureの言語には、プロセス内の並列機構しかないようだ。
プロセス内で処理するなら、Ref(p.13-)とかでいいんじゃないだろうか。
ここら辺は、RDBみたいな機能だけど、本物が欲しければRDB使えとか。
(略)Clojure並行処理 www.slideshare.net/kakuda/clojure-3844723
Clojure入門 www.slideshare.net/kakuda/clojure-3526907

StuartHalloway作のスライド (比較表の別バージョンがあるる)
github.com/stuarthalloway/clojure-presentations
Rich Hickey作のスライド (pdfのやつ)
groups.google.com/group/clojure/files?&sort=date

じっくり読むんだったら、プログラミングClojureを確認したほうが、分かりやすいんじゃないかな。



345 名前:デフォルトの名無しさん mailto:sage [2010/06/20(日) 20:14:49 ]
>>330 はポイントフリーで
(def make-days (partial mapcat #(map (conj [2010 (first %)]) (second %))))
のように書いた方が良いのだろうか。

346 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:56:18 ]
VimClojure、始めからかもしれないけど、
evalしたり出来るようになってるのか?
バックグランドでclojure立上げて評価するソースが組み込まれてる。
kotka.de/projects/clojure/vimclojure.html

347 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:03:43 ]
lisp系つかうのはslime@emacsって決めてるからなぁ、いまさらvi系覚えるの辛い

;;決めたのはもちろんスライムに服を溶かされるヨーコさんのbastered!が原因だ!


348 名前:デフォルトの名無しさん mailto:sage [2010/07/13(火) 06:52:48 ]
いやっほ〜い

349 名前:デフォルトの名無しさん mailto:sage [2010/07/15(木) 13:32:06 ]
clojure 1.2 Beta 1
clojure.org/downloads

βきたー






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<81KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef