【Lisp】プログラミン ..
116:デフォルトの名無しさん
10/01/25 21:03:47
>>115
ブログだとコメント承認制のところが多いから、批判系の意見は承認しないということも多いし、
仮に承認しても本文と日時を黙って修正して批判者が本文をよく読まずに誹謗中傷する頭のおかしい人だ
というレッテルを張ってくることもある。
有名な人でも時々それがあるから本当に困る。
批判者は俺じゃないんだが、昔のMatzもそんなことしていた時期があったよ。
ともかく、どんなに論理的な意見でも真っ向から批判するんじゃなくて、
YESマンを装いつつ自分の言いたいことを伝えるような難しい技術が必要なんだよ。
117:デフォルトの名無しさん
10/01/25 21:28:32
>>116
まあね。結構色々なブログをお読みみたいだね。承認制はおおくなったし、
批判に対して不寛容なところはおっしゃるように増えてるかもしれない。
有名人も含めて文字を通してのやりとりって慣れてないのと、心地良いもの
だけを惹き付けない癖がついちゃってとれない人もいるのは本当だろうな。
皮肉なことに第三者としてそれを見てるとその人の知性までみえてしまう
から恐しいものさ。
ただし、その人達が政治的なことを糸を引くようなところがあるとは限らな
い。まず、そんな暇があったらプログラミングしてるだろう。それがハッ
カーだし。それに、レビューとかそんなのを拾い上げる人ってのは著者だけ
ではないし、出版の編集者も関わってくることだよ。これは、111で書いて
るように公平性の問題かな。そこからはyesマンばかりではないのね。
上手に言いたいことを伝える技術はおっしゃるように重要だ。まずは、敵対
関係ではないことと、それをお互いに良くしようとしているという前提を
わすれない伝えかたを考えるってことだろう。それがyesマン風かと聞かれ
るとどうだろう?それを容易くするためには信頼関係を強くすることだろ
うよ。
118:デフォルトの名無しさん
10/01/26 00:21:15
同じ出版社のやつは、scalaも薄いですよ。(作者の熟練度もあるんでしょうが)
URLリンク(pragprog.com)
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:デフォルトの名無しさん
10/01/26 13:29:27
献本する側からすると関係者以外へ送るやつは宣伝費なので、要は宣伝として
有効なら良い。書評書いてくれそうで界隈にそこそこ有名であることは大前提
だけど、yesマンに書かせると嘘くさくて潜在的読者が引くのでyesマンは要ら
ない。
かといって、影響力の大きいところに思いっきり叩かれると本当に売り上げに
響いて恐い。
だから、普段から技術的に価値の高い記事を書いていて、他人の本とか記事を、
良いところはよく褒めて悪いところはするどく指摘するという当たり前のこと
をやってる人が献本しやすい。
120:デフォルトの名無しさん
10/01/26 17:25:56
Windows上なのにMeadow+Slime+clojure-mode+clojureで幸せすぎる
もしかしてタダで使えるWindows上のlisp処理系で一番いい選択肢なんじゃなかろうか?
121:デフォルトの名無しさん
10/01/26 18:44:46
>>120
たぶんそう。
122:デフォルトの名無しさん
10/01/26 19:00:00
Hanchentootとかを動かしたくてCL覚えようとしたんだけどWin上だとThreadがダメだったり
asdf-installがめんどくさかったりとものすごく敷居が高いんだ
でもclojureで実用系の部分をjavaの資産つかっておけばあとは自分がやりたいことだけに専念できる気がするんでものすごくありがたいかも
123:デフォルトの名無しさん
10/01/26 19:42:47
>>122
うん。windowsでcommon lispを使うときは外部のライブラリに泣かされるからね。windowsを捨てても問題はないから捨てるのも一考だが。藁
abclもjava資産を使えるという意味ではよいだろうけど、ECLIPSE,NETBEANS
などのプラグインも開発されてそれを使えば、即ClojureのREPLまで使えるか
らインストールの負担は一番すくないからね。clojureのライブラリを生かそ
うとすれば、ほんの少し敷居があがるけどね。どのOSでもどのIDE/editorでも
環境が容易されているってのは強みだと思う。
ただ、Clojureの問題は、まったくの初心者向けの情報もあまりないことかも
しれない。
124:デフォルトの名無しさん
10/01/26 20:10:20
おいらはnewlispも結構いいなと思ってる
125:デフォルトの名無しさん
10/01/26 20:18:21
Amazon未だに予約受付中で涙目なんだけどなんでなんだぜ...
速攻売り切れた?
126:デフォルトの名無しさん
10/01/26 21:19:56
おれもだ。もしや届いていないかと急いで会社から帰ってきてしまった。
自宅と会社用にAmazon予約と地元の本屋で二冊買うぜ。
127:デフォルトの名無しさん
10/01/26 21:55:50
秋葉原の書泉では平積みだった
もちろん買った
128:デフォルトの名無しさん
10/01/26 22:29:45
地方の本屋にゃ売ってなかったよ。まぁいい。
Amazonからの配達をワクテカして待つ。
129:デフォルトの名無しさん
10/01/27 17:53:24
『プログラミングClojure』帰りがけに駅ビル中の本屋によったら、一冊だけ有った。
うっかり買いそうになっちまったぜ、あぶないあぶないw
130:デフォルトの名無しさん
10/01/27 18:00:03
買ったら駄目なん?
131:デフォルトの名無しさん
10/01/27 18:21:38
明日あたり入るかな?@北海道
132:デフォルトの名無しさん
10/01/27 19:22:16
Clojureに興味持ってる人ってもともとLispかじってた人だけ?
133:デフォルトの名無しさん
10/01/27 19:52:42
Lispやってない奴は構文的にとっつきやすそうなScalaにいく気がするな...
134:デフォルトの名無しさん
10/01/27 20:06:19
scalaとclojureに勢力が分かれて
どっちもメジャーになれないみたいな感じになるな
135:デフォルトの名無しさん
10/01/27 21:06:40
Common Lispで言う「クロージャー」の綴りは"Closure"だとせっかく覚えたのに
最近、"Clozure CL" だの "Clojure言語" だの紛らわしいのが増えてきて、困ったもんだw
136:デフォルトの名無しさん
10/01/27 21:47:33
名前を造語にするのは検索しやすいからよい
最近非常に検索しづらい名前の言語がでたけど、
きっと作ったところはそういうことを何もわかってないんだろうな
137:デフォルトの名無しさん
10/01/28 01:56:44
おっとJの悪口はそこまでだぜ・・・
138:デフォルトの名無しさん
10/01/28 02:07:16
>>133
lispに興味があって(無いならまず除けると思う)関数型言語に興味がある場合はこっちに来ると思う
マルチスレッドでの効率に関係して関数型言語に触れようとした場合で、最近の傾向を知っているならSTMが標準で準備されてるClojureに目がいくと思う
というかscalaはerlangとかがライバルなんじゃなかろうか?
ってなわけでscalaとclojureがバッティングすることってあんまり無いような気がする
139:デフォルトの名無しさん
10/01/28 02:16:02
つまんねえ比較どうでもいいよ。
140:デフォルトの名無しさん
10/01/28 06:51:21
キミという一個人が感じるつまらなさは、もっとどうでもいいんだけどね。
141:デフォルトの名無しさん
10/01/28 12:05:59
>>138
STMが関数型言語と関係しているみたいな言い方だけど、
これは一個人ではなくClojureの公式見解?
142:デフォルトの名無しさん
10/01/28 22:12:06
日本語でおk
143:デフォルトの名無しさん
10/01/29 21:46:27
北海道の片田舎だがようやく買えた
さて読むか
144:デフォルトの名無しさん
10/01/30 00:04:11
AnarchyGolfの対応言語に追加してもらったよ。 URLリンク(golf.shinh.org)
休憩中にでもやってみれ
145:デフォルトの名無しさん
10/01/30 00:20:08
>>144
CLだと割と短いコード書けるけど(トップには及ばないんだよなぁOTL)clojur
#てな訳で精進中(CL派はsetqにとりつかれているかも)
146:デフォルトの名無しさん
10/01/30 08:08:29
ちょっとOCamlっぽいな
147:デフォルトの名無しさん
10/01/30 19:11:36
Golf方面にはがんばらなくていいよ・・・
148:デフォルトの名無しさん
10/01/30 19:15:08
実数とか整数ってjava.lang.Doubleとかなのね
149:デフォルトの名無しさん
10/01/30 19:19:56
golfだけはな…。初心者が手を染めるものではないわな。
プログラミングスタイルに悪い癖が付いてしまう。
150:デフォルトの名無しさん
10/01/31 07:49:41
仕様よく知らないけど、
やっぱシンボルドット表記でクラスの階層参照するわけだよな?
(かんたら(ref うんたら))形式はやっぱアホだよなあ
やっぱ(うんたら.かんたら)だよなあ
翻訳したshiroさん自身はどう思ってるのかな
151:デフォルトの名無しさん
10/01/31 10:41:54
「 はよく知らないけど だからアホ」とか…はてなやTwitterで見慣れたけどね。
半可通って知ってるか?生半可な知識で通ぶるのは一般的には恥ずかしいことだ。
152:デフォルトの名無しさん
10/01/31 11:03:45
>>151
作者の意図を正確に掴んで、別の方法を提示した上で双方の手法に
利点と問題点を纏めて指摘できるようなやつなら、有名人になって
るかもな。所詮、テレビのコメンテーター気取りってだけの話。
153:デフォルトの名無しさん
10/01/31 18:12:48
>生半可な知識で通ぶる
知ってたら通ぶれないんだろ
154:デフォルトの名無しさん
10/02/02 00:25:25
iPhnoeとか、他のケータイでなんか遊べないんかな?
活用術みたいなのってない?
155:デフォルトの名無しさん
10/02/02 00:26:34
誤爆した
156:デフォルトの名無しさん
10/02/02 17:29:12
昨日からプログラミングClojure読みながらREPL動かしてるがすごいなこれ
予想よりもはるかにしっかり作り込まれてる
(個人的には、大体のものはimmutable、seqは遅延評価、STM使えるという
Haskellっぽいところが特に気に入った)
本気でClojure使う気がなくても、
「自分の使ってるLispでも同じ機能あったら便利だな、
マクロで似た機能作ろう」というアイデアを得る為だけとしても
さわってみる価値はあるかも。with-metaとか
気に入らない部分もなくはないけど、
(数値や文字列はJavaのオブジェクトなのでメタデータつけられないとか)
大した事ではない・・・と思う多分
157:デフォルトの名無しさん
10/02/02 22:23:08
本読んでるだけでも楽しくなる
158:デフォルトの名無しさん
10/02/02 22:36:48
ベンチ代わりにふつーにフィボナッチやらせてみたらclispより2倍くらい遅かったw
159:デフォルトの名無しさん
10/02/02 22:42:54
わざわざJVM上に構築してるわけだから、速さは期待できないよな。
おもしろい構文とかJavaのライブラリを自由に呼び出せるのが魅力だろう。
160:デフォルトの名無しさん
10/02/03 05:47:32
javaの-serverオプションが効果的になるね
161:デフォルトの名無しさん
10/02/03 11:15:20
>>158
clojureでフィボナッチといっても、どんな関数を作ってやった?
再帰なのか無限シーケンスなのかそれとも?
162:デフォルトの名無しさん
10/02/03 11:17:14
clojureの再帰もclojureの流儀はちょっと特殊だけど、
それを無視した再帰を公開してるブログもあるよ。
もちろん、速さに影響がある。
163:デフォルトの名無しさん
10/02/03 12:32:45
time clj fib.clj
って感じで測ってるなら重い重いJVMの立ち上げがあるからそのへんが軽いclispと比べても…
164:デフォルトの名無しさん
10/02/03 12:47:11
clojureの本に速いってかいてあったけど速いのか?
165:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/02/03 22:50:36
>>167
java -serverで起動するとclojureの方が早いよ
sbclはもっと早いけど
169:168
10/02/03 22:51:55
java -client(こっちがデフォルト)とjava -serverだと普通に8倍くらい違う
170:デフォルトの名無しさん
10/02/06 14:58:58
>>2で紹介してくれてるチュートリアル見てるけど面白そうだ。
練習問題集みたいなページない?
171:デフォルトの名無しさん
10/02/06 21:19:10
問題集なのか分からんけど
・Project Euler
URLリンク(projecteuler.net)
・SICP
URLリンク(mitpress.mit.edu)
書籍ごと書き換えてるやつ(途中?)
・SICP in Clojure ( URLリンク(mitpress.mit.edu) )
URLリンク(sicpinclojure.com)
Lisp本のサンプルコード書き換えたもの
・ Practical Common Lisp ( URLリンク(www.gigamonkeys.com) )
URLリンク(github.com)
・ On Lisp (URLリンク(www.komaba.utmc.or.jp) URLリンク(www.paulgraham.com))
URLリンク(github.com)
その他
・ Programming Clojure
URLリンク(github.com)
172:170
10/02/06 21:36:17
>>171
たくさん紹介して頂いて有難うございます
173:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/02/07 03:26:38
一旦strで文字列化してから出力すればok
175:デフォルトの名無しさん
10/02/07 06:10:37
>>174
ありがとう
おかげで外部化できた
176:デフォルトの名無しさん
10/02/08 03:12:14
duck-streamのread-linesをwindowsのreplで使ってると
うかつに最後まで読ませないでいると消せないファイルだらけになってしまうのね
(let [ header (take 3 (read-lines (. fileChooser getSelectedFile))) ]
;headerのアタマだけなんかする
)
repl抜けるまでファイル消せなくなって焦った
こういうときってどういう風にするのがよいのかね?
177:デフォルトの名無しさん
10/02/08 04:08:38
>>176
なんというwindowsの罠・・・
同じようにやってみたら、よくexplore.exeがやるみたいに、
jreが開いたファイルをロックしっぱなしにしてた
直接ファイルpathをread-linesせずに、with-in-readerで囲めば、
そのブロックを抜けたらロック解除してくれる
(read-linesには引数として*in*を渡す)
ちなみに、unlockerというソフトで、ロックしてるかどうか調べた
本来は、explorer等によってファイルが無駄にロックされて困る時に
強制的にロック解除するソフト
windows使うなら入れといて損は無いと思う
178:デフォルトの名無しさん
10/02/08 17:45:42
>>171
ありがとう
179:デフォルトの名無しさん
10/02/09 02:02:51
>>67-71 のFogusさんのスライドが紹介されてた。
Clojure 1.1 の廃止・追加とその後についての物(英語)だった。
URLリンク(www.fogus.me)
180:デフォルトの名無しさん
10/02/09 22:07:51
>>177
ありがとう、with-*がC++のdestructerみたいな使い方するときのイディオムなのね
181:デフォルトの名無しさん
10/02/10 00:50:10
javaで扱えるunicode文字ならなんでもかんでもシンボルやらキーワードにできるのね
contrib.sqlはダメかと思ったらそういう文字つかったテーブルとかすらもりもりと生成できてびっくらこいた
182:デフォルトの名無しさん
10/02/10 02:22:24
emacs-slime経由だとjavamailがセキュリティチェックに引っかかるorz
183:デフォルトの名無しさん
10/02/10 02:44:39
俺がアホだった、mailcapのファイル名まちがってたorz
回線切って寝る
184:デフォルトの名無しさん
10/02/10 10:19:17
URLリンク(vintage-digital.com)
clojureだけ敵でワラタ
185:デフォルトの名無しさん
10/02/10 11:50:58
ボーグなのかいw
いや待て、ロキュータスなことに意味があるのかもよ?w
186:デフォルトの名無しさん
10/02/10 17:07:29
>>184
ちょっとまてPHPはダ○ン症か?道徳的に問題あるんじゃない?
187:デフォルトの名無しさん
10/02/10 20:04:05
rubyはやめといたほうがよさそうだ
188:デフォルトの名無しさん
10/02/10 22:45:29
自己紹介(common lisp)はないんかいw
189:デフォルトの名無しさん
10/02/10 22:46:32
よく見たらあった
眼科逝ってくる
190:デフォルトの名無しさん
10/02/10 22:48:12
ASP.NETってセクシーなんだな
191:デフォルトの名無しさん
10/02/10 22:52:21
>>186
あれはただの男の子だろ?小学生くらいの。
192:デフォルトの名無しさん
10/02/10 23:26:47
あぶなっかしいガキンチョじゃないかな >PHP
193:デフォルトの名無しさん
10/02/10 23:28:45
カークはないな。不純だが便利という意味でスコッティを推奨する。
194:デフォルトの名無しさん
10/02/10 23:31:32
ぅあ…がいないな…
195:デフォルトの名無しさん
10/02/11 10:49:20
>>193
その立場はEmacs lispがとったもよう
196:デフォルトの名無しさん
10/02/11 15:55:21
名前の由来は何でしょうか?
197:デフォルトの名無しさん
10/02/11 16:02:12
closure + java =: clo[j]ure
198:デフォルトの名無しさん
10/02/11 17:01:30
ありがとうございます
しかしClojureの数多くある機能の中で
なぜクロージャだけ名前に使われるほどフィーチャーされたのですか?
199:デフォルトの名無しさん
10/02/11 18:15:34
>>198
リッチなヒッキーさんに直接聞いた方がいいんじゃね?
200:デフォルトの名無しさん
10/02/11 18:19:40
>>198
語感がカッコイイからキマットル。
201:デフォルトの名無しさん
10/02/11 18:55:38
>>198
s-exp + java で名前が s-presso とかだとガッカリするから
202:デフォルトの名無しさん
10/02/11 19:09:52
ダサすぎるw>s-presso
そういや昔はコーヒーにちなんだ名前がたくさんあったな、今から考えると
かなりカッコわるい
203:デフォルトの名無しさん
10/02/11 19:15:18
>>202
珈琲ならまだいい、javaが登場した当初はお茶とカレーのネタにうんざりしたもんだぞ
204:デフォルトの名無しさん
10/02/11 19:34:39
#t と currying のネタを思い付いたけど、書き込むのは止めておくわw
205:デフォルトの名無しさん
10/02/11 21:00:38
>>198
やっぱLISPを象徴する機能だからじゃないか? > closure
206:デフォルトの名無しさん
10/02/11 22:17:41
言語名は造語だとぐぐらびりてぃー的に良いよね。
207:デフォルトの名無しさん
10/02/12 00:11:42
“scheme”は今は結構まともだけど最初は酷かった>ぐぐる
2chスレのおかげだな
208:デフォルトの名無しさん
10/02/12 00:44:05
最近、hl=ja なぐぐるは色々と残念な希ガス。プログラムの話題は特に。
ぐぐる先生が悪いんじゃなくて、日本語で書かれたコンテンツが残念なだけかもしらんけど。
209:デフォルトの名無しさん
10/02/12 02:21:29
日本語だと残念な部分(言い回しとか)まではっきり見えるからだろ
210:デフォルトの名無しさん
10/02/12 08:18:13
期待するパッケージがずらずら表示されるぐんにょり感
qt とか洋物ツールの情報を探すのコツがいる、とか
たまに yandex で引いてみたり naver で引いてみたりする
211:デフォルトの名無しさん
10/02/12 09:54:15
FORTHがセオドア・カジンスキー だってのもなんだろうね。
lisperにとってそんな脅威?
212:デフォルトの名無しさん
10/02/12 10:01:23
ユナボマー?
213:デフォルトの名無しさん
10/02/12 10:03:58
>>211
文明の発展にNOって感じなんじゃないの
FORTHの進化ってあんま聞いた事ないし
214:デフォルトの名無しさん
10/02/12 10:24:10
>>209
いや根本的に日本が残念なんだよw
215:デフォルトの名無しさん
10/02/12 11:26:04
三段目がスタートレックなのはわかるけど
赤提灯ののん兵衛っぽいおっさんの元ネタが
わかりそうでわからないのだった・・・
はすけるはどっくだぬばっくとぅざふぃちゃだぬ
216:デフォルトの名無しさん
10/02/12 16:06:22
今気付いたんだが、googleのappspotってJava使えるから、Clojureもいけるんじゃね?
そう思ってぐぐったら既に先人がいた
URLリンク(wave-samples-gallery.appspot.com)
これはgoogle waveのbotだけど、普通にも使えるようだから
手軽に無料で遊べそうな予感
217:デフォルトの名無しさん
10/02/12 22:39:49
URLリンク(en.wikipedia.org)
よく知られているJVM言語に入れられてるな。
218:デフォルトの名無しさん
10/02/13 18:58:09
ほかにも記事書いてる人いるみたいだー
URLリンク(www.google.co.jp)
219:デフォルトの名無しさん
10/02/13 19:07:19
clojure.lib コーディング規約
URLリンク(www.google.co.jp)
実用的な方向に進んでるなー
220:デフォルトの名無しさん
10/02/13 20:13:28
>>219
現時点の最新情報はこの辺りですね。
Clojure Library Coding Standards
URLリンク(www.assembla.com)
“Clojureライブラリ・コーディング規約” まとめ
URLリンク(manjilab.com)
221:デフォルトの名無しさん
10/02/14 22:53:33
>>205
Lispを象徴する機能って言ったらマクロじゃないですか?
222:デフォルトの名無しさん
10/02/15 15:20:44
macro
↓
jacro
mjcro
majro
macjo
macrj
223:デフォルトの名無しさん
10/02/15 16:11:17
>>222
どれにしても"カッコ"悪いと言う事ですねw
224:デフォルトの名無しさん
10/02/15 19:57:25
↓
macjo
maclj
macloj
macloju
aclojur
clojure
↓
clojure
225:デフォルトの名無しさん
10/02/15 21:22:52
おい
226:デフォルトの名無しさん
10/02/15 21:28:28
>>224
「マックロージャー」
227:デフォルトの名無しさん
10/02/15 21:57:17
西洋版まっくろくろ助みたいな
228:デフォルトの名無しさん
10/02/15 22:10:10
>>226
どうでもいいけど「まっくろーどはーすばらしい〜♪」ってCMソングが想起された
さらにどうでもいいけど、clojureのおかげでsolaris-linux-bsd-windows全部の環境でSLIMEでreplができて幸せ
commonlispの時はwindowsだけスレッドがつかえねぇとかものすげぇ不便だった
229:デフォルトの名無しさん
10/02/17 00:57:01
JVM前提でLispとかwwwwwwww
だったらJava使えばいいだろってはなしwwwwwwwwwwwwwww
クソってるwwwwwwwwwwwwwwwwwwwwww
230:デフォルトの名無しさん
10/02/17 01:04:51
>>229
ライブラリがほしいだけだと思う、JVM がほしいわけじゃないと思うよ
欠陥言語使う気になれない!とくに floating 関係の仕様バグ > Java
231:デフォルトの名無しさん
10/02/17 01:07:55
>>230
>floating 関係の仕様バグ
もしかして以前 Lisp スレに出没してた人かな?
結局大した欠陥なんて無かったんだよな
232:デフォルトの名無しさん
10/02/17 13:09:43
なんだ、ここにまで馬鹿ちんこが来たのか
233:デフォルトの名無しさん
10/02/20 12:09:29
URLリンク(lispjobs.wordpress.com)
フロリダで Clojure 弄りながらお金貰えるって素敵だな
234:デフォルトの名無しさん
10/02/20 12:25:30
Youメール出しちゃいなYO!
235:デフォルトの名無しさん
10/02/20 22:42:10
>>233
>Strong mathematical and analytical skills
優秀な数学的かつ分析的能力
お前らにはむりぽ
236:デフォルトの名無しさん
10/02/20 23:08:54
>>235
なんで、そんな風に決めつけるかな?
237:デフォルトの名無しさん
10/02/20 23:24:28
そうじゃないと何かに耐えられないのでは。
238:デフォルトの名無しさん
10/02/21 15:31:25
clojure楽しいけどちょっとした処理のツールを作っておくとかだと起動が重たいって欠点が目立ちすぎるね
やはりサーバ立て向けなんだろうか?
239:デフォルトの名無しさん
10/02/21 17:37:20
中村さん、べた褒めしてるね。
ところでInfoQに作者のインタビュー
があるけどかっこいいなと思ったのは俺だけ?
240:デフォルトの名無しさん
10/02/21 17:51:12
>>239
正三郎?
あのひと普段の言動が軽いからべた褒めしてても話半分の半分位にしかきこえねぇ
名前になんか言うのやなんだけど、リッチなヒッキーさんって本名だけでしびれる
241:デフォルトの名無しさん
10/02/21 23:44:32
ちなみにRich Hickeyがインタビューに答えている動画を見ることができるのはここね
URLリンク(www.infoq.com)
242:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/02/23 10:52:32
user=> (map println '(1 2 3))
(1
2
nil 3
nil nil)
こんな風になってしまうのですが、clojureでは
リストの要素を表示するにはどうすればいいのでしょうか?
244:デフォルトの名無しさん
10/02/23 11:13:14
>>243
こう?
user=>(print (apply str (interpose "\n" '(0 1 2 3 4) )))
0
1
2
3
4
nil
245:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/02/23 14:59:31
sage忘れた。すまん。
247:デフォルトの名無しさん
10/02/23 19:16:00
>>244 >>245
ありがとうございます。
いろいろ使い分けないといけないんですね。
248:デフォルトの名無しさん
10/02/23 20:39:47
>>243
(doseq [x '(1 2 3)] (println x)) かな
249:デフォルトの名無しさん
10/02/23 21:51:52
Clojure 本を見ると、 doall と dorun はほとんど必要にならない、って書いてあるな。
Clojure 本体のコードを見ると
doall は clojure.walk で使っているけど、これは木構造の葉を先に評価しておきたいからだと思う。
dorun は doall を実装するのに使っているだけ。
doseq は 30 箇所くらいで使われてる。
map + dorun / doall は結果の Seq が必要なときだけ使うのが標準的なスタイルみたい。
250:デフォルトの名無しさん
10/02/23 22:30:12
JVMが必要とか腐ってるな
251:デフォルトの名無しさん
10/02/24 00:27:14
clojure-crlって使い物になるの?
252:デフォルトの名無しさん
10/02/24 01:17:03
ちょっと触ってみた感じだと、
・clojure-contrib他ライブラリーがjava依存部分を書き換えないと
いけないので、使えない場合が多い。
・clojure.jarのカバー率はそこそこあるみたいなので、
基本機能と.netのAPIで作りたいものがあれば、ありかも。
・REPLの起動までもちょっと遅いと思う(Debugビルドしか作れないから、詳細は不明)。
・速度もngen使っても2,3倍ゆっくりだった。開発者もIL(バイトコード)の時点で最適化されない
部分が結構あって、計算量のオーダーが変っちゃうのを嘆いていた。
こんな感じでした。
253:デフォルトの名無しさん
10/03/03 17:07:17
このへんを見ながら
URLリンク(elhumidor.blogspot.com)
Google App Engine + Clojure + Compojure をやろうとしているがうまくいかねー
いいかげんGAEはABCLでいい気になってくる
254:デフォルトの名無しさん
10/03/04 21:38:35
俺もそれやってみたが駄目だった
GAEのappengine-java-sdkのバージョンが上がって
appengine-cljと互換性がなくなったのが原因のような気がちょっとする
結構試行錯誤したんだが・・・
255:デフォルトの名無しさん
10/03/04 22:47:41
URLリンク(github.com)
このforkは、最近もいじってるみたいだけど、どうかな。
256:デフォルトの名無しさん
10/03/04 22:52:38
URLリンク(github.com)
こっちも、更新してるみたい、対 appengine SDK 1.3.1 ってかいてある。
257:デフォルトの名無しさん
10/03/04 22:59:38
swank-clojure で slime-autodoc 活かすと repl が固まるのはうちだけ?
258:デフォルトの名無しさん
10/03/04 23:00:37
URLリンク(github.com)
大本の人は、masterにじゃなくて、>255を統合したのをブランチにしてたので
ブランチのが、masterより新しいという
URLリンク(code.google.com)
1.3.1 - 2010-02-10 で、appengine-cljのforkはそれぞれ2/14以降に更新してるみたいだから、どれもOKなのかな?
259:デフォルトの名無しさん
10/03/04 23:16:01
>>256
history見てると、1.3.1対応って明記してるのこれだけだった。
>>257
埋もれて申し訳ない。
260:254
10/03/05 01:09:45
>>259
appengine-cljをsnewmanのに変更したら動きました!
ありがとうございます!
261:デフォルトの名無しさん
10/03/05 17:06:01
sbclから乗り換えるなら、今まで書いてたコードいろいろ書き変えないとだめ?
自動変換ツールとかないのかな
262:デフォルトの名無しさん
10/03/05 21:45:53
便乗だけどclojureからabcl上のclコード使うと
面倒なだけなんかな
263:デフォルトの名無しさん
10/03/06 08:27:51
>>261
そらまぁそうだわな
>>261
> 自動変換ツール
ないだろうな。作る気もしない(clojure は lisp1, CL は lisp2)
264:デフォルトの名無しさん
10/03/06 08:58:11
Schemeからだって自動変換するようなものじゃない。
再帰の扱いや遅延評価の活用を考えると、既存のLispとは別物と考えるべき。
Clojureに乗りかえようとおもって本腰いれたけど、置き換えじゃなくて共存になった。
265:デフォルトの名無しさん
10/03/09 13:50:45
Clojure勉強しようと思って図書館から「プログラミングClojure」借りてきた。
言語の学習は当然ながら処理系が必須。Clojureをインストール。
git先端をantしてmvnして・・・swank-clojureが動かないからquackで・・・
とか、苦労して実行環境を構築(普通はサクッとできるんでしょうな(泣))。
Hello worldとかちゃんと動くぞ・・・と喜んだのも束の間。サンプルを落とさなきゃだ。
サンプルを落としてサンプルのルートでClojureを起動すると立ち上がらない(;_;)。
良く見るとサンプルにClojure本体からContribから起動スクリプトから全部ある。
普段使いのClojreとは別にサンプル専用のreplを起動するようにして学習再開 ← 今ここ
266:デフォルトの名無しさん
10/03/09 14:13:25
javaでlisp処理系って昔から割とあったけど、本格的になってきたなあ
267:デフォルトの名無しさん
10/03/10 05:52:35
abclもclojureもjavaが動けばどこでも動くのですごくうれしい
インタラクティブ環境って使っていること自体が楽しくて困る
268:デフォルトの名無しさん
10/03/10 21:11:43
前者は別にメリットとは思えないな。
269:デフォルトの名無しさん
10/03/10 22:41:55
ご自由に
270:デフォルトの名無しさん
10/03/11 00:21:26
CLISP も割とどこでも動くからな…
Clozure CL も現実的によく使われている環境はカバーしてるし
ブラウザ上で動かしたいとか、PaaS みたいなのだとまた変わってくるけど
271:デフォルトの名無しさん
10/03/11 00:47:13
>>268,270
LTK無くてもwindowを扱えるのでちょろっとしたツール作るのにも向いてる
ThreadもWindow操作もunixとMSwinとmacの間で書き換えが必要ないってだけで嬉しい
他にこれ満たしてくれるのACLしかないような気がする
272:デフォルトの名無しさん
10/03/11 01:03:40
GUI はそうだね。SDL や OpenGL を使っても限界があるし。
スレッドは Clozure CL でも行けると思う。
273:デフォルトの名無しさん
10/03/27 19:26:48
リッチなUI(透過や非矩形ウィンドウ)を取り扱うのってclojureできるのかな?
swingとかは無理そうで、JavaFXだと手軽にできるみたいなんだけど
clojureはjavaFX扱えるんだろうか?
274:デフォルトの名無しさん
10/03/27 21:28:06
SunのJavaVM限定だけど、Java側の機能を呼べばできるんでないかな?
URLリンク(java.sun.com)
275:デフォルトの名無しさん
10/03/28 19:33:52
clojure.contrib.duck-streams すげー。
(read-lines "URLリンク(www.2ch.net)")
って書くだけでhtml引っ張ってきてくれる。びっくりですよ。
276:デフォルトの名無しさん
10/03/28 19:58:38
>>275
しらんかった
HTTPリクエストまじめに書いちゃった
読み出しをduck-streamで
orz
277:デフォルトの名無しさん
10/03/28 21:35:20
phpのfile_get_contentsみたいなもんか。
細かいこともできるのはいいね。>>276 頑張れw
278:デフォルトの名無しさん
10/03/29 09:41:32
>>277
手探りでしたいことから探していくと上位機能の存在しらないままいたりするからねぇ
一度contribのソースとコメントに目をとおしたほうがよくないかな>>276
279:デフォルトの名無しさん
10/03/29 16:53:40
contribどころかclojure.coreのコードも見てないぜっ
280:デフォルトの名無しさん
10/03/29 20:48:37
duck-streamは、clojure-contrib-1.1.0のapiドキュメントの方に載ってますた
281:デフォルトの名無しさん
10/04/08 22:57:23
URLリンク(www.viksit.com)
clojure-1.2.0-snapshot 来てるのか?
282:(u_・y) ◆e6.oHu1j.o
10/04/12 03:03:41
>>275
は!?なにがすごいの?
read-lines関数に与えられた文字列がURLだったらそれ用の処理してるだけじゃん???
こんな事は大昔から誰かがやってたであろう事だし
clojureが出来るんじゃなくて
clojure「でも」出来るようになってるってだけのことじゃん
このclojureスレ興ざめなんだけど
たったその程度でclojure褒めたたえるのやめてよね
283:デフォルトの名無しさん
10/04/12 07:45:17
それ用の処理を標準に組み込んだところを評価してるんじゃね
284:デフォルトの名無しさん
10/04/12 14:23:26
>>282
clojureが凄いんじゃなくて、clojure.contrib.duck-streamsが凄いんでしょ。
それも、言語的に凄い・・・とかじゃなくて、使えば凄く楽ができる・・・って感じでは?
285:デフォルトの名無しさん
10/04/12 14:24:53
socketさえあればそんな糞ライブラリすぐ作れるだろ。
libcurlくらいの機能があるものならともかく。
286:デフォルトの名無しさん
10/04/13 00:45:23
貴殿のコミットをお待ち申しあげます
287:デフォルトの名無しさん
10/04/14 17:32:47
あて先はこちら
288:デフォルトの名無しさん
10/04/20 20:23:19
ファイルの読み書きはJavaのクラス利用するの?それともclojureのライブラリにそれ系の関数群がある?
289:デフォルトの名無しさん
10/04/20 21:52:54
Javaのクラスをそのまま使ってるコードはよく見かける。
290:デフォルトの名無しさん
10/04/20 22:03:45
>>288
with-out-writerとか
291:デフォルトの名無しさん
10/04/20 22:59:45
>>288
URLリンク(lethain.com)
292:デフォルトの名無しさん
10/04/22 10:41:34
masterと1.1.xってどっちのが新しいのかわからん
293:デフォルトの名無しさん
10/04/22 11:46:33
1.1.xは、12/31で止まってる
masterが、svnのtrunk的な扱いになってるようだ。
樹形図的なやつ
URLリンク(github.com)
294:デフォルトの名無しさん
10/04/22 11:57:36
分からない人は
URLリンク(code.google.com)
ここのを使っとくのがいいかと。
295:デフォルトの名無しさん
10/04/22 16:48:30
>>293
そうするとduck-streamsはどこにいっちゃったん?
296:デフォルトの名無しさん
10/04/23 00:36:39
contribになければ、まだないということ。
297:デフォルトの名無しさん
10/04/23 22:45:30
間違えて消えたのか、元を間違えたのか・・・
テスト系には、requireにclojure.contrib.duck-streams残ってるよー
298:デフォルトの名無しさん
10/04/24 23:54:12
URLリンク(groups.google.com)
> 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:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/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:デフォルトの名無しさん
10/04/25 00:12:24
masterのclojure.contrib.duck-streamsについて、
二月にも質問があるけど、この時は違う意味に扱われてたのかな?
googleグループの方から探すのメンドかったので、検索結果のリンク
URLリンク(www.mail-archive.com)
302:デフォルトの名無しさん
10/04/25 00:15:01
最後のは、勘違いのような気がしてきたので、スルーしてくだしあ・・・orz
303:デフォルトの名無しさん
10/04/29 13:46:58
Scalaがにぎわってるみたいだけど、こっちも盛り上がって欲しいね
304:デフォルトの名無しさん
10/04/29 17:03:48
そういや、Planet Clojure( URLリンク(planet.clojure.in) )って、インド発なんだよな?
> 「Planet 言語名」で、ニュース集約サイト
Incanter( URLリンク(incanter.org) )の開発ログが、多いのが目につくけど。
> Incanter (ClojureベースのRライクな統計計算とビジュアライゼーションプラットフォーム)
305:デフォルトの名無しさん
10/04/29 17:10:41
Rich Hickey氏のスライドだけ公開されてるのかと思ったら、
解説付き(英語)があったんだ・・・
ファイル置場
URLリンク(groups.google.com)
Clojure on blip.tv
URLリンク(clojure.blip.tv)
306:デフォルトの名無しさん
10/04/29 17:28:40
Full Disclojureという、解説ビデオ(英語)シリーズは、5分ぐらいづつで編集されてた。
URLリンク(github.com)
URLリンク(vimeo.com)
URLリンク(vimeo.com) 古い順
Clojure界隈に参加してるひとも英語圏では、解説関係はかなり熱心だよね。
ErlangOTPや、(Scala)Akka、(Java)Teraccotaみたいなエンタープライズ環境を銘打ったものは、
もとから取り込んでる部分も多いせいかあまり見かけないけど・・。
307:デフォルトの名無しさん
10/05/15 15:46:17
SNAPSHOTは URLリンク(build.clojure.org) に置いてありました・・・
URLリンク(build.clojure.org) clojure-1.2.0-master-20100507.230258-69.jar
URLリンク(build.clojure.org) clojure-contrib-1.2.0-SNAPSHOT.jar
308:デフォルトの名無しさん
10/05/15 15:49:19
URLリンク(build.clojure.org)
URLリンク(build.clojure.org)
こっちからだと、名前が変わらない最新版っぽい
309:デフォルトの名無しさん
10/05/15 15:50:58
リリース1.2.0の開発状況?
URLリンク(www.assembla.com)
githubのmasterから持ってきてビルドするときは、
clojure が、 ant
clojure-contrib が、 mvn package -Dmaven.test.skip=true
テストするには、
clojure が、 ant test
clojure-contrib が、 mvn test
でした。
310:デフォルトの名無しさん
10/05/15 15:53:21
1.2.0向けのwikiの草稿?
URLリンク(www.assembla.com)
311:デフォルトの名無しさん
10/05/15 16:09:39
duckstreamでhttpdアクセスすると遅いのだけど何が起きてるんだろう
(time (read-lines "URLリンク(localhost)"))
500msとか消費する
312:デフォルトの名無しさん
10/05/15 23:57:15
clojure-1.1.0 WinXP
(time (def x (read-lines "URLリンク(goo.ne.jp)")))
(time (def x (read-lines "URLリンク(labs.goo.ne.jp)")))
(time (def x (read-lines "URLリンク(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
こんな感じだった。
URLリンク(localhost)で、FireFoxのFireBugアドオンで接続を確認してみたらいいかも。
313:デフォルトの名無しさん
10/05/16 00:50:25
>>312
slime経由だからって訳じゃないと思う、wgetをwindowsの環境で実行しても此処まで遅くなかったんでちょっと原因がわからなくて
>>312のように普通の結果が得られてるって事は自分の環境がおかしいって事だと思うので別の視点から調査してみるよ
ものすごく感謝してる
314:デフォルトの名無しさん
10/05/21 15:19:55
ドット対ってどうやって作るの?
(cons 'a 'b)
がエラーになるんだが。
315:デフォルトの名無しさん
10/05/21 15:37:13
(cons 'a '(b))
316:デフォルトの名無しさん
10/05/21 15:52:42
ドット対などありゃあせん
317:デフォルトの名無しさん
10/05/24 22:19:30
listでないconsが作れないのと、car,cdrがないのが寂しい。
firstとrestは文字数が違うのが気にいらない。
318:デフォルトの名無しさん
10/05/27 22:39:55
1.2の目玉機能は何?
319:デフォルトの名無しさん
10/05/27 22:47:22
1.2 が出ることです。:-p
320:デフォルトの名無しさん
10/05/28 01:10:51
URLリンク(www.fogus.me)
URLリンク(www.slideshare.net)
1月での1.2予想は、こんな感じだった。
・ reify
・ deftype
・ defprotocol
・ Fine-grained locals clearing
・ Agent error handlers
321:デフォルトの名無しさん
10/05/28 01:23:21
URLリンク(www.assembla.com)
開発サイトのwikiに1.2(以降?)の追加要素がリストされてた。
322:デフォルトの名無しさん
10/05/28 01:34:21
導入するのはこれみたい
URLリンク(clojure.org)
URLリンク(clojure.org)
323:デフォルトの名無しさん
10/05/28 11:48:29
protocols ってなんぞ。
324:デフォルトの名無しさん
10/05/29 00:42:50
JAVAでいう(実装と分離するための)インターフェースの代わりにつかえて、
動的に対応するインターフェースを生成するらしい。
あとから拡張できるらしい?
余計にわからんな。
325:デフォルトの名無しさん
10/05/29 00:49:35
誤訳かもしれんが、
追加する主な動機は、Clojureで書いたClojureコンパイラをClojureでリーズナブルに
コンパイルするのに何が必要かを考えていて、高速で自前のデータ型を操作できるような
機構を追加しようということらしい。
326:デフォルトの名無しさん
10/05/30 00:22:09
なるほど。わからん。
327:デフォルトの名無しさん
10/05/30 01:07:37
名前からすると Objective-C の protocol に近いものだろうか
328:デフォルトの名無しさん
10/06/01 20:16:52
型的にはtraitsのような機能で、
ディスパッチの実装を抽象化するために作られた。
ということみたい。かなり実装指向の機能。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5107日前に更新/81 KB
担当:undef