[表示 : 全て 最新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/

75 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 19:01:48 ]
なまじSmalltalkを知ってると混乱するObjective-Cみたいなもんか

76 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 23:39:43 ]
そうやなぁ。 >>75 c++のオブジェクトの扱いを知ってたらclosで面喰らう
というのと似てるかもな。でも知らないよりはゆうりだよ。

77 名前:デフォルトの名無しさん [2010/01/19(火) 12:11:11 ]
オブジェクト指向がどうのこうの言ってる奴がいると原始人に思えて仕方がないw

78 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 16:50:11 ]
Lispって括弧内のデータ配列表現で全部書くから見た目が統一的できれいだね。
他の言語は書き方がいろいろあるせいでゴチャゴチャしてて見づらい。と、思うようになった。

79 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:42:23 ]
>>78
むかしからずっとなんだけど不等号だけはパッと見で大小関係が把握しにくい
(> a b) の > aに着目しちゃうせいで b > aに勘違いしちゃう


80 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 19:55:36 ]
clojureは結構ゴチャついてるよな
連打で括弧を閉じていきたいんだけど、括弧の種類を慎重に見極める必要があるw

81 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:00:09 ]
Clojure、こいつは流行らないぞ

82 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 22:33:30 ]
>>81
なんで?

83 名前:デフォルトの名無しさん mailto:age [2010/01/20(水) 10:59:45 ]
そろそろ店頭に本がならぶころかな。



84 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 11:36:37 ]
30日とかじゃなかったっけ?>本

85 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 12:20:39 ]
1/22 だったのが 1/25 取次搬入になったみたい
twitter.com/hisashim/status/7896528048


86 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 12:43:12 ]
>>80
R6RS Scheme でも cond の節に [ 〜 ] を使ってて括弧の対応を間違えてる人を見たことがある
paredit.el みたいなのを使って構造エディタっぽくやっていれば大丈夫なんだろうか
それとも Clojure だと )))])) みたいに閉括弧が並ぶところで
種類を考えないといけないパターンは少なくなるようになってるのかな

87 名前:84 mailto:sage [2010/01/20(水) 12:51:11 ]
>>85
サンクス。30日とか変なデマ流してすまん。

88 名前:84 mailto:sage [2010/01/20(水) 12:52:22 ]
括弧の対応はエディタ任せって約束したじゃないですかー!

89 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 08:49:23 ]
]は全部閉じるってじっちゃんが言ってた

90 名前:デフォルトの名無しさん mailto:age [2010/01/21(木) 11:06:41 ]
>>80
emacsなら.emacsにそうかいとけ。

91 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:59:46 ]
ClojureCLR (beta)
ttp://github.com/richhickey/clojure-clr

clojure.orgのTOPにCLRへのリンクっていつからあるんだろう?


まえClojureで、CLR版は作らないような受け答えなかったっけ?とおもったら、
Rich Hickey本人じゃなくて、記憶してたのは、Stuart Hallowayへのインタビューだった。

ttp://www.infoq.com/jp/news/2009/02/clojure-interview-halloway
> InfoQ: (Javaプラットフォームだけではなく)マルチプラットフォームのClojureを見てみたいと思いますか?
> Halloway: もちろん、私は機能的なLispが.NETプラットフォームと一緒になったものを歓迎します
> -- しかし、それはClojureであるべきではありません。

92 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 09:35:52 ]
Clojure in Clojureはその布石ですね

93 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 10:39:49 ]
clojureの前身プロジェクトってCLR用のDotLispなんだよなー
まあCLRだとunixコミュニティのサポートが得にくいからjvmに移行したのは賢明だと思うけど



94 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 11:40:17 ]
CLRならunix総力を上げて潰すのですね
賢明です

95 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 11:50:06 ]
>>91
そこの原文を見たらちょっとニュアンスが違う。
> No. Clojure's tight integration with Java is key to its power.
> Of course I would welcome a functional Lisp tied to the .NET platform
> -- but it shouldn't be Clojure.

96 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 12:28:31 ]
プログラミングClojure
www.amazon.co.jp/dp/4274067890
>発売日: 2010/1/26

●献本をもらった人たちの解説と感想
月の塵
d.hatena.ne.jp/leque/20100121/p1
suztomoの日記
d.hatena.ne.jp/suztomo/20100121/1264091046
Lisp log
cadr.g.hatena.ne.jp/ytakenaka/20100122/p1
ひげぽん OSとか作っちゃうかMona-
d.hatena.ne.jp/higepon/20100122

97 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 08:40:40 ]
どうせおれなんて献本なんて貰ったことねーよorz

98 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 10:06:45 ]
>>97
何かを手に入れたい、何かを目標にがんばろう、と思ってがんばっても、
それに手が届くところまで来れたときには、すでに必要なくなっている、
って良くあるよね。
俺の人生はすべてそうだった。

99 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 10:11:35 ]
>>98
俺もプログラマカッコイイと思ってプログラマになったが、今はやめたくて仕方が無い。

100 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 10:29:44 ]
献本もらってるのはレビューとかに参加した人達じゃね?
バイト代みたいなもんでそ。

101 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 11:28:25 ]
出版された本の誤植を報告しておくと次に別のレビューに誘われるかもよ
あとは、書評の人として有名になってたりすると献本が送り付けられてくるかも

102 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:31:18 ]
ok、レビューに呼んでもらえるようにブログに書評を書くことからはじめるよ
全然関係なくてもgaucheとかclojureとか書いてshiroさんに
拾ってもらえるようにがんばる

103 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:37:37 ]
>>102
あと批判とかもすんなよ。
基本YESマン



104 名前:デフォルトの名無しさん mailto:age [2010/01/24(日) 14:04:04 ]
>>102
今なら、clojureの日本語情報があまりないから、海外の情報をいちはやく
紹介してみたらいいかも? ただし、clojureのその他の本が出るのが早い
次期になるとは思えない。
オンラインでもオフラインでも良いが、勉強会を開くなどして目立っていけ。
れと、yesマンになる必要はない。

105 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 15:03:37 ]
>>102
レビュアーとしては、誤字脱字レベルじゃなくて、内容まで突っ込んだ話ができると重宝がられると思う
用語が変だとか、想定される読者にはこういう言い方の方が通じやすいんじゃないか、とか
書評の方だとやっぱり目立つ人が強い
あの××が認めた、みたいな感じだとやっぱり評判になるし
そういう意味では単純な yes マンよりは、良い悪いをきちんと言える人の方が信用されると思う

106 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 12:42:47 ]
『プログラミングClojure』ってそろそろ書店に並んでいるかな?

107 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 12:44:51 ]
昨日はジュンク堂においてなかった

108 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:26:44 ]
先ほど秋葉原の文教堂も書泉も置いてなかった


109 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:28:05 ]
amazonは予約受付中だった(konozama?


110 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:42:37 ]
今日取次搬入らしいから明日には並ぶのかな
amazon も 1/26 発売としてるし

111 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:07:00 ]
>>104
自分は公正・公平に判断している、と自称している人間でも、
たとえ筋が通っていたとしても批判されるとムッとなって意見を聞こうともしなくなる奴が結構いるけどね。
俺はそういう奴をリアルで何人も知ってるし、とりわけブログ書いているような奴らはそういうのが顕著。
たとえば池田信夫w

112 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:09:47 ]
秋葉原の書泉ブックタワーで確保
隣に並べてあるScala本に比べると薄くて小さくてちと寂しい

113 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:38:52 ]
最初の本としては薄い方がとっつきやすくていいな



114 名前:デフォルトの名無しさん mailto:age [2010/01/25(月) 20:42:30 ]
>>111
池田はな…。進化で電波を飛している人としか思ってない。 アルファ系
といわれる人たちはそれがプライドになってるからな。ふんぞりかえる
ことと誠実なことの区別ができない人もいるが、プログラミング系のと
ころはyesマンの必要はないけども、個性がつよいってのはまちがいな
い。105に書かれているように、論理性だよ。ただし、それを取捨選択す
るのは著者だから。

115 名前:デフォルトの名無しさん mailto:age [2010/01/25(月) 20:53:45 ]
電波って書いたのは「とんでも系」だって意味ね。それに、111の書いてる
ダブスタ系の人は多いけど、そんな人はちゃんと信頼を失うという代償を払
うから、賢明ならば適当にながしておくことだな。器の大きな人か小さな人
かも判断できるしね。
ただ、筋が通ってる意見を言ったつもりでも、御互いにみてる視点が違った
り同じことを言ってるのにお互いに理解できてなかったりもありますから、
おたがいにダブスタにならないように気をつけることだな。

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
ありがとう
おかげで外部化できた






[ 続きを読む ] / [ 携帯版 ]

前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