2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2011/10/13(木) 18:41:38.12
JVM上で動作するLisp方言「Clojure」のスレ。

Clojure - home
http://clojure.org/
http://www.try-clojure.org/

前スレ:
【Lisp】プログラミング言語 Clojure【JVM】
http://hibari.2ch.net/test/read.cgi/tech/1255533519/

2 :デフォルトの名無しさん:2011/10/13(木) 18:42:06.81
【リファレンス】
API Overview - Clojure v1.3 (stable)
ttp://clojure.github.com/clojure/
Clojure-contrib API Reference
ttp://richhickey.github.com/clojure-contrib/index.html
ClojureDocs
ttp://clojuredocs.org/
Clojure Examples Wiki
ttp://clojure-examples.appspot.com/
逆引きClojure (日本語)
ttp://rd.clojure-users.org/
Rosetta Code
ttp://rosettacode.org/wiki/Main_Page
clojure-euler
ttp://clojure-euler.wikispaces.com/

【ブログ・ML・質問箱】
Clojure
ttp://groups.google.com/forum/#!forum/clojure
Clojure Dev
ttp://groups.google.com/forum/#!forum/clojure-dev
planet clojure
ttp://planet.clojure.in/
stackoverflow.com tag:clojure
ttp://stackoverflow.com/questions/tagged/clojure
github.com clojure
ttp://github.com/languages/Clojure
Clojure-jp (日本語)
ttp://groups.google.com/forum/#!forum/clojure-ja

3 :デフォルトの名無しさん:2011/10/13(木) 18:42:25.94
【チュートリアル】
Clojure Programming
ttp://en.wikibooks.org/wiki/Clojure_Programming
labrepl (おすすめ)
ttp://github.com/relevance/labrepl
4Clojure
ttp://www.4clojure.com/
Clojure - Functional Programming
ttp://java.ociweb.com/mark/clojure/article.html
Clojure Tutorial For the Non-Lisp Programmer | Moxley Stratton
ttp://www.moxleystratton.com/article/clojure/for-non-lisp-programmers
Clojure - Functional Programming for the JVM
ttp://java.ociweb.com/mark/clojure/article.html
PCL -> Clojure (Practical Common Lisp のサンプルコードを Clojure に)
ttp://blog.thinkrelevance.com/2008/9/16/pcl-clojure

【コーディング規則】
ttp://en.wikibooks.org/wiki/Learning_Clojure/Coding_Conventions
Library Coding Standards
ttp://dev.clojure.org/display/design/Library+Coding+Standards

4 :デフォルトの名無しさん:2011/10/13(木) 18:42:49.55
【その他】
InfoQ: ClojureがSTMとLISPをJVMにもたらす
ttp://www.infoq.com/jp/news/2009/02/clojure-interview-halloway
InfoQ: Rich Hicky氏、Clojureの特徴と実装について語る
ttp://www.infoq.com/jp/news/2009/06/hickey-clojure
Writing/Coding: Clojure Series: Table of Contents
ttp://writingcoding.blogspot.com/2008/06/clojure-series-table-of-contents.html

【本】
Programming Clojure
ttp://www.pragprog.com/titles/shcloj/programming-clojure
ttp://www.amazon.co.jp/dp/4274067890 (日本語版)
The Joy of Clojure (本は電子ブックがついてくる 要 manning 登録)
ttp://joyofclojure.com/
ttp://www.amazon.co.jp/dp/1935182641
ttp://www.infoq.com/jp/articles/the-joy-of-clojure
Practical Clojure
ttp://www.apress.com/9781430272311
ttp://www.amazon.co.jp/dp/1430272317
Clojure Programming
ttp://shop.oreilly.com/product/0636920013754.do
ttp://www.amazon.co.jp/dp/1449394701
Clojure in Action
ttp://www.manning.com/rathore
ttp://www.amazon.co.jp/dp/1935182595

【テンプレ終了】
テンプレ収集場所 http://tinyurl.com/clojure-2ch (ID:guest Pass:cl)

5 :デフォルトの名無しさん:2011/10/13(木) 19:12:09.10
京都大学霊長類研究所では、未知の感染症が蔓延し、
感染した研究員はどのスレッドにも同じコピペを
繰り返すといった症状が報告されています。

研究員によると思われる書き込みがあっても
近づかないようにしてください。

                  京都大学

6 :デフォルトの名無しさん:2011/10/13(木) 20:53:34.46

開発サイトが1.4に書き換わってる

7 :デフォルトの名無しさん:2011/10/14(金) 15:54:21.82
lispで書かれた実用的なソフトってなんかあるのか?

8 :デフォルトの名無しさん:2011/10/14(金) 17:43:27.01
Emacsとか初代Yahoo!のWebsiteとか。

9 :デフォルトの名無しさん:2011/10/14(金) 17:51:25.35
http://www.byflow.com/ はClojureで作ってるらしいね
開発者ブログとか始めてくれないかな

10 :デフォルトの名無しさん:2011/10/14(金) 18:21:38.05
人工知能のための超マイナー言語とおもっていたが、
結構面白いことできるんだな。

11 :デフォルトの名無しさん:2011/10/14(金) 18:55:17.54
最初に発明された頃人工知能の研究がブームだったので自然にそれに
使われた例が初期には多いってだけなんだが

12 :デフォルトの名無しさん:2011/10/14(金) 18:59:20.37
当時GCを持つ言語がLispぐらいしかなかったってのが大きい

人工知能みたいな大きな問題をGCがない言語でやりたいとは思わん

13 :デフォルトの名無しさん:2011/10/14(金) 19:32:09.87
「Lispは人工知能の言語」は、今は「Cはカーネルの言語」よりも怪しい
Lispの後、1970年代にPrologが開発されたし
最近のAI系研究室は(Perl|Python|Ruby)を使ってる所もあるってたまに聞くし

14 :デフォルトの名無しさん:2011/10/14(金) 19:34:20.58
>>7
Lispだと却下される案件でもClojureだとWarファイルで納品できるので通ったりする
実際2つほどプロダクトをリリースしてる。

今3つめの案件をClojureで書いてる

15 :デフォルトの名無しさん:2011/10/14(金) 22:04:14.16
いいね。実運用での所感聞かせてよ。

16 :デフォルトの名無しさん:2011/10/14(金) 22:15:03.81
eclipseでもemacsでもswank経由のREPLで即時実行テストができるのでコードが完成系になる為のサイクルがもの凄く短い
HTMLテンプレート展開はPHPとかのフロントエンドとデザイナ組に任せてバックエンドのロジックをringでガンガンつくっておいて、実サーバではTomcat等にWarで渡せる
なので実運用時のメンテコストも既存のservletと変わらないが開発サイクルが短いのとプログラマが嬉々としてコード書くのでチームのモチベーションが高い

最初上を説得するの大変だったんだけど、あっという間にプロダクトがリリースできるのを目の当たりにさせたら通った。
#ドカタが戦力になったというか


17 :初心者:2011/10/15(土) 23:12:14.89
Clojureを勉強しようと思って、
Eclipseで counterclockwise(以下 CCW)をインストールしました。

新しいClojureプロジェクトを作ると、
自動的に、プロジェクトフォルダ直下に
clojure.jar, clojure-contrib.jar, clojure-contrib-src.jar, clojure-src.jar
が置かれていて、
すぐに、Clojureのプログラムが始められて便利でした。

それで、最近、1.3がリリースされたようなので、
1.3を使おうと思ったんですが、
CCWで作成されるプロジェクトは依然、1.2のままです。
(CCWは最新にアップデートしているつもりです。)

プロジェクト作成時に、Clojreの1.3 を選んだり、あるいは、プロジェクト作成後にClojure1.3
にする方法はありますか?

後者は、ホームページから、clojure.jar, clojure-src.jar くらい探してきて
置き換えれば十分でしょうか?? (1.3からはcontribがなくなっているようなので、削除して。)

ちょっとよくわからないので、教えてください
よろしくお願いします。

18 :初心者:2011/10/16(日) 03:50:52.02
自己レスです。

要はEclipseの使い方でつまずいていたようです。
Clojureのサイトからダウンロードしてくると、clojure-1.3.jarなどが入ったファイルが落とせるので、
それを、Eclipseのプロジェクトの中に入れます。

それで、Project>Properties>JavaBuildPath
で、Librariesに clojure-1.3.jarを追加して、Orderで、srcディレクトリの上に追加。
もとの、clojure.jarとかclojure-contrib.jarなどは削除する。

という感じで、一見問題なく使えています。

sourcepath を設定していませんが、(デフォルトでは、clojure.jarはclojure-src.jarなどをsourceパスとして設定していましたが)
自分での作り方がわからないので、設定していません。

一応、問題なく使えています。
以上

19 :デフォルトの名無しさん:2011/10/17(月) 11:51:28.16
eclipse/netbeans/inteliJで、mavenやleinningen、cakeのmaven経由で管理できるんだろうけど
IDEとの連携ってそれで機能するのかな

20 :デフォルトの名無しさん:2011/10/17(月) 12:33:40.07
lein-eclispを入れればいい。

21 :デフォルトの名無しさん:2011/10/17(月) 12:36:21.25
inteliJはla clojure+leiningen プラグインを入れる。eclispよりか
こっちのほうが出来がいいと思う。

22 :デフォルトの名無しさん:2011/10/17(月) 12:43:11.47
前スレが埋まる前に新スレ使っちゃうのがクロージャ使い
ユーザーの民度が低い言語です

23 :デフォルトの名無しさん:2011/10/17(月) 12:48:09.06
スレ違いだけど、>>16の開発者が嬉々としてって羨ましいな。
俺がちゃんとコスト対効果と有用性を提示できてないのが悪いんだけど、
「コードなんて若い奴らに書かせとけばいいだろw」と言われて凹んだわ。
そして若手からも「今Javaで出来てるんだから、それでいいじゃないですか」と。
ジョブズ並とは言わんが、もちっと説得力あるプレゼンしないとな。スレチごめんなさい。

24 :デフォルトの名無しさん:2011/10/17(月) 12:51:04.51
>>23
うん、お前が悪い

25 :デフォルトの名無しさん:2011/10/17(月) 12:59:37.82
チュートリアルみたいなのを作って、啓蒙するとか。

Clojureは、チュートリアル的なものが少ない。英語でも。

26 :デフォルトの名無しさん:2011/10/17(月) 14:07:23.19
簡単なところなら、演習問題や実例は99problemsやProject Eulerを使えばいいしね。

27 :デフォルトの名無しさん:2011/10/17(月) 18:09:50.83
>>25
>>3のlabreplはマジオススメ


28 :デフォルトの名無しさん:2011/10/17(月) 21:20:08.61
>>16
>プログラマが嬉々としてコード書く
kwsk.....。

29 :デフォルトの名無しさん:2011/10/18(火) 00:09:36.78
結局、JVMを捨てて.NETメインにするまではマイナー言語のままなんだよな。

30 :デフォルトの名無しさん:2011/10/18(火) 01:43:20.82
JVM言語だと、haskellがまともに動くようにいじってたり競争が激しいが、
作者さんは、2003年にDotLisp(.net)、2007年にclojure(JVM)と移ったのであまり.netに手を出す気はないらしい。
なので、別の人がclojure-clrをポートしてる。

31 :デフォルトの名無しさん:2011/10/18(火) 13:37:01.57
Clojure1.3です。
defvar ってよくわからないんですが、
どういう働き、使い方をするんでしょうか。

変数を初期値とドキュメント文字列で定義する、もののようなので、
下記のようにしていますが、エラーがでます。。

(defvar vartest 123 "document")
(println vartest (class vartest))

defvar が何かわからないというエラーなんですが。。
def と同じような働きをすると思って、使ってみたんですが。。

32 :デフォルトの名無しさん:2011/10/18(火) 15:19:28.51
(defvar vartest 123 "document" )

(def ^{:doc "document"} vartest 123)
これをするのと一緒


33 :31:2011/10/18(火) 21:03:13.70
defvar 使うと、
Exception in thread "main" java.lang.Exception: Unable to resolve symbol: defvar in this context
というエラーが出てしまうんですよね。

インストールの仕方が悪いのでしょうか。。

34 :31:2011/10/18(火) 21:10:07.39
https://github.com/getwoven/clj-time/pull/13
もしかして、1.3では、defvar はデフォルトで削除されている??

35 :デフォルトの名無しさん:2011/10/18(火) 21:40:36.51
see http://clojuredocs.org/clojure_contrib/clojure.contrib.def/defvar


36 :デフォルトの名無しさん:2011/10/19(水) 09:28:09.80
defvarは大分前からcontribにあるし、1.3ではdefがdocstringを受け付ける

(def foo "A meaningless number." 123)

これはdefnやnsと同じdocstring→内容という順番に揃えられた

(ns bar
"A useless namespace."
(:require [clojure.string :as str]))

(defn baz
"Returns \"foo,bar,baz\" always."
[]
(str/join \, ["foo" "bar" "baz"]))

1.2で関数ではないvarにdocstringを付けるには、contribを使うなり、>>32のように書くなりすれば良い

37 :デフォルトの名無しさん:2011/10/19(水) 09:39:30.11
s/docstring→内容/名前→docstring→内容/

38 :31:2011/10/19(水) 22:45:49.36
なるほど。そういう流れだったんですね。

39 :デフォルトの名無しさん:2011/10/19(水) 23:05:02.26
>>28
今時入ってくる新人ってREPL以前にMSXみたいなBASIC環境すらしらないんだ
で、コンピュータが対話環境で使えるときに感じる自分の能力の拡張みたいな感覚にアヘン吸ったみたいな快楽を覚えてしまって
ものすごい集中力でコード書きだして周りのほうがびっくり状態になってる。
実際ここ数年Unitテストとかで対話に近いテストサイクルでもモチベーションが少しだけ上がったんだけど
Realな対話環境がもたらす単体関数の即時テスト(たんにSlimeでevalするだけなんだけど)が面白くてしょうがないって言ってる。
だから16で「ドカタが」って最後に書いたんだけど、こいつらがそのまま会社に居着いてくれればうれしいけど、収入上がんないとこれ何人かは流れちゃうかもしれない。


40 :デフォルトの名無しさん:2011/10/19(水) 23:42:45.18
アヘン吸わせると良いのか

41 :デフォルトの名無しさん:2011/10/20(木) 00:00:15.66
>>39
それはぜひどこかの媒体で発表してもらいたいな。Clojure党支援につながる 笑

42 :デフォルトの名無しさん:2011/10/20(木) 10:12:07.78
BASICを知らない新人が多いのは想像できるが
今時REPLを知らない新人が多いなんてことがあるのか

43 :デフォルトの名無しさん:2011/10/20(木) 10:38:50.24
まだ「プログラミング教育はJavaでやってます()」って結構多いだろ

Windowsしか使ってないとテキスト端末環境を使うことにすら慣れない奴も多いし

44 :デフォルトの名無しさん:2011/10/20(木) 19:07:49.41
まるでプログラミング教育をJavaでやるのがおかしいかのような書き方だな

45 :デフォルトの名無しさん:2011/10/20(木) 19:51:51.16
>>44
初めて使う言語スレに移動すればこの手の話はいっぱい出てる。これを話しだすと
フレーム論争になるし、オフトピになってしまう。

46 :デフォルトの名無しさん:2011/10/20(木) 19:55:40.69
>>41
ここに書いただけでもばれたらやばいので雑誌や論文誌でとかミリ


47 :デフォルトの名無しさん:2011/10/20(木) 23:20:09.54
うん

48 :デフォルトの名無しさん:2011/10/21(金) 00:02:17.41
煽りでもなさそうなのに「ドカタ」とか「Java()」みたいなことを平気で書いてしまうのは痛いな
プロダクトを2つリリースして今3つめって、見る人が見れば一発でバレるようなことを書いといて
バレたらやばいってのも意味が分からん

ちょっと頭の弱い人なのかな…
こういうのがいると言語自体の印象が悪くなるし、ホント迷惑だわ

49 :デフォルトの名無しさん:2011/10/21(金) 00:26:02.75
2チャンの中ってほんとキチガイめいた人(キチガイかもしれない。)が
いて、行動の善悪の判断がずれてる人がいるから慎重になったほうがいい
ところ。彼らの思い込む正義のためなら何でもしてしまう危険な連中がい
るから。

JavaをしらんからJava()で煽りになるんかどうかすら俺は知らん。土方は
この板じゃ差別用語なのは知ってるが。

50 :デフォルトの名無しさん:2011/10/21(金) 22:45:23.90
KCLの御大がご退官されるとのこと。


51 :デフォルトの名無しさん:2011/10/21(金) 23:30:54.79
Smalltalkだったら失神するな

52 :デフォルトの名無しさん:2011/10/22(土) 14:12:36.72
東大京大どっち?

53 :デフォルトの名無しさん:2011/10/22(土) 17:18:47.63
lispスレに書き込むべきだったが誤爆したな。
京大のほう。

54 :デフォルトの名無しさん:2011/10/23(日) 16:25:10.65
〜 Clojureで改行はいつするのかとRubyist 〜

Clojureでのコーディング規約というか、改行をどこで入れるのかとか、
説明したサイトありますか??

55 :デフォルトの名無しさん:2011/10/23(日) 17:35:04.23
>>54
スレの1からのリンク集いおいてある。

56 :デフォルトの名無しさん:2011/10/24(月) 12:44:11.48
FP Day 2011, Cambridge UK
http://www.fpday.net/fpday2011/programme.php
名前に対してこじんまりとしたイベントだけど、
キーノートにMSRのhaskellとF#の御仁が来て、
Hands-onとCaseStudyには追加でClojureコースがあったという。

57 :デフォルトの名無しさん:2011/10/25(火) 19:18:36.65
Clojureで、 [ ]括弧を使うのは、
let, defn の仮引数部 ,with-open とかだけど、
これらに共通するのは何か??

なぜ、def では[ ] 括弧を使わないのだろうか。。

58 :デフォルトの名無しさん:2011/10/25(火) 23:09:16.71
defを含むスペシャルフォームだと、let,fn,loop
http://clojure.org/special_forms

59 :デフォルトの名無しさん:2011/10/26(水) 12:16:53.17
シンタックスの一部としてベクタを要求するフォームは主に二種類ある。
・引数を表すベクタ(例:fn、defn、defmacro)
・その式の「内側」で有効な束縛を作るベクタ(例:let、binding、dotimes、loop)

defはそのどちらでもない

60 :デフォルトの名無しさん:2011/10/26(水) 12:25:13.19
あ、引数のベクタも書式は名前と値のペアではないが
「内側」で通用する束縛を作っている点で共通すると考えてもいいな

61 :デフォルトの名無しさん:2011/10/26(水) 14:21:51.20
Lispの生みの親が逝ってしまった・・

62 :デフォルトの名無しさん:2011/10/26(水) 16:00:36.34
クソ言語生み出した奴は死んで当然

63 :デフォルトの名無しさん:2011/10/26(水) 17:40:00.11
>>62 死んで詫びろ今すぐ

64 :デフォルトの名無しさん:2011/10/26(水) 18:42:02.83
ClojureのSTMは使い物にならない ? JUMPERZ.NET Blog
ttp://kanatoko.wordpress.com/2011/05/06/clojure_stm_too_slow/

Clojure での並列プログラミングはシンプルな記述も出来ない、パフォーマンスも悪い、という事ですが。

Clojure はマルチスレッドプログラミングの複雑さを解決するとか聞いていたのに、話と違うような気が……

どう思いますか?


65 :デフォルトの名無しさん:2011/10/26(水) 19:31:17.00
またそれか

66 :デフォルトの名無しさん:2011/10/26(水) 21:09:31.58
あまり共有せずイミュータブルな構造に見合った設計すればいいんじゃないかな?

最近なイントロ用スライド
https://github.com/strangeloop/2011-slides/raw/master/Sierra-ClojureIntro.pdf

67 :デフォルトの名無しさん:2011/10/26(水) 21:11:49.07
https://github.com/strangeloop/2011-slides/blob/master/README.md
Richyの講演 simple made easyのビデオ

68 :デフォルトの名無しさん:2011/10/26(水) 21:17:10.72
https://github.com/strangeloop/2011-slides/raw/master/Marz-Storm.pdf
http://github.com/strangeloop/2011-slides/raw/master/Tellman-EventDrivenProgrammingInClojure.pdf
こういうのやってるぐらいだから、なんとかなんじゃないの?

69 :デフォルトの名無しさん:2011/10/26(水) 21:31:15.21
>>64
匿名でブログことは余りコメントしたくないな。コード規約的に余り見たくないんだよな。

70 :デフォルトの名無しさん:2011/10/26(水) 22:32:52.96
>コード規約的にあまり見たくない

日本人の方、いらっしゃいましたら翻訳をお願いします

71 :デフォルトの名無しさん:2011/10/26(水) 23:47:21.13
_で始まる変数がキモイとかそういうことかしらね?

72 :デフォルトの名無しさん:2011/10/27(木) 03:06:23.37
他人のコード見ると、コード規約を忘れてしまう、とエスパー。

73 :デフォルトの名無しさん:2011/10/27(木) 09:11:32.09
> 匿名でブログこと

日本語でおk

74 :デフォルトの名無しさん:2011/10/27(木) 10:11:06.01
ensureとかcommuteとか
http://www.slideshare.net/kakuda/clojure-3844723
http://www.slideshare.net/marblejenka/clojurestm

変更を観測するadd-watchというのがあるのか
http://groups.google.com/group/akka-user/browse_thread/thread/ff909a4cd9f6159c
http://java.ociweb.com/mark/stm/STM_1up.pdf

あとは、retry回数とかの統計も欲しい。

75 :デフォルトの名無しさん:2011/10/28(金) 01:03:32.08
http://rob-rowe.blogspot.com/2011/10/getting-started-with-clojure-clr.html

少し使ってみた感じ、monoがターゲットじゃない(.netメインにする意味はwinでWPFやVSぐらい?)、ikvmとかでjvm向けの命令補完する仕組みがあるとちょっといいのになと思った。
なにに使えばいいのか分からん。
そういえば、dynamic導入するのかな。

76 :デフォルトの名無しさん:2011/10/28(金) 13:38:25.12
Clojureと、elisp とで、クオートの意味合いは少し違いますか??

たとえば、.emacsの設定ファイルにある
(add-to-list 'foo-bar-alist '(name . value))
のは、

普通のClojureの関数だと、
(add-to-list foo-bar-alist '(name value))
こういう感じで、foo-bar-alistに、クオート必要ないですよね。
(もちろん、クオートが必要なようにadd-to-list関数を書くこともできると思いますが。。)

ClojureからLispに入っているので、
普通の人にはわかない疑問かもしれませんが、
皆さんの感覚を教えてください。

77 :76:2011/10/28(金) 13:40:56.12
クオートというよりは、
あるいは、デフォルトの、
変数や、シンボルの扱いが違うのでしょうか?

その辺り教えてください。よろしくおねがいします。

78 :電波いっぱい:2011/10/28(金) 20:25:16.28
言語やの違いとかではなくて、破壊的な変更をしたいときのやり方が違うだけ。
emacsのadd-to-listは破壊的な関数で、内容を書き換えたい変数そのものを渡すためにクォートしてる。clojureで同じことをするにはatomなんかをはさむからそうならない。


79 :電波いっぱい:2011/10/28(金) 20:33:35.12
あ、言語の違いではあるな。クォートの違いではない。ごめん。

80 :デフォルトの名無しさん:2011/10/29(土) 05:21:18.42
>>76
クオートは評価を遅らすという意味で違いはないでしょ。
確かにクオートとかシンボルはすごい混乱しやすい所。 俺も初心者の頃はreplでずっと考えを整理してた。
まず先頭が関数かマクロかをはっきり認識しておく。
関数なら引数は左から順に'評価'されていく。
評価とは以下のことだ。
(ここでめんどくさくなったのでやめる)

81 :デフォルトの名無しさん:2011/10/29(土) 13:13:38.75
http://toki.2ch.net/test/read.cgi/scienceplus/1319679294/

82 :デフォルトの名無しさん:2011/10/29(土) 13:42:10.79
>>76-77
中途半端にいろいろ考えるよりも、
Lispにおける関数とマクロについて勉強してみたらいいんじゃないかな?
なぜ関数の引数にクオートが必要になる場合があるのか。
なぜマクロなんてものが必要になるのか。
クオート、関数、マクロ、に対する考え方は、elispもClojureも変わらないはず。

83 :デフォルトの名無しさん:2011/10/30(日) 00:01:10.88
elispのadd-to-listでは、
foo-bar-listというシンボルが何を束縛するかを変更するから、
foo-bar-listをクオートしてシンボル自体をadd-to-listに渡す必要がある。

普通のClojureの関数?では、
シンボルが何を束縛するかを変更するのではなく、
シンボルが束縛してる物の状態を変えるから、
シンボル自体を渡す必要が無く、シンボルが束縛してる物を渡せば良い。
したがってシンボルをクオートする必要が無い。

84 :デフォルトの名無しさん:2011/10/30(日) 03:00:44.69
lein-multi, clj-stacktrace, slingshot, lein-difftest, robert-bruce
http://technomancy.us/154

85 :デフォルトの名無しさん:2011/10/30(日) 03:41:12.09
1.3系って1.2の頃とcontribの扱いが違うのですげー戸惑っちゃうんだけど、感覚的に行き先がわかるようなドキュメント転がってないかな。


86 :デフォルトの名無しさん:2011/10/30(日) 09:57:36.37
1.2でもばらばらのやつ使えるってあるけど、coreに取り込まれた奴はどうすればいいんだ。

>85 感覚的か分からんけど
概要や関数名インデックスで検索とか
API Overview -clojure-contrib v1.3 (in development)
http://clojure.github.com/clojure-contrib/branch-master/index.html
開発サイトのドキュメント(まとめ、新旧対応表)
http://dev.clojure.org/display/doc/Clojure+Contrib
http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go

87 :デフォルトの名無しさん:2011/10/30(日) 10:59:52.87
>>86
おおー、この最後のリンクだわ欲しかったの
感謝感謝!


88 :デフォルトの名無しさん:2011/10/30(日) 12:11:14.32
1.2でコアに入ってなくて、1.3で入ったcontrib由来のライブラリって何があったっけ

89 :デフォルトの名無しさん:2011/10/31(月) 09:08:37.59
2週間で80レスか。22−3週でレスを消費するペース

90 :デフォルトの名無しさん:2011/11/01(火) 13:23:41.36
http://www.cafepress.com/technomancy?utm_medium=cp_social&utm_source=addthis&utm_campaign=CafepressShop#.TqoexsC5DuE.twitter

91 :デフォルトの名無しさん:2011/11/01(火) 14:13:43.12
LeiningenよりかClojureのロゴが入ってるマグカップが欲しいわ。

92 :デフォルトの名無しさん:2011/11/01(火) 17:50:17.95
>>91
いいなそれ
Land Of Lispでもいいや

93 :デフォルトの名無しさん:2011/11/01(火) 18:11:02.67
この際、Half-Lifeでもいいよ

94 :デフォルトの名無しさん:2011/11/01(火) 19:33:03.52
>>93
λしか合ってねぇ

95 :デフォルトの名無しさん:2011/11/02(水) 00:48:27.74
http://www.zazzle.co.jp/clojure?st=date_created&ps=15#products
そこのサイトもこちらのサイトも勝手に作れるのかな?
マグカップは無いようだ、、

96 :デフォルトの名無しさん:2011/11/06(日) 06:51:00.51
先月22日に、ClojureCLRの(開発者ほぼひとりなので個人でなく)公式blogが始まってた。
いきなり10日間の利用調査をおこなって、
http://clojureclr.blogspot.com/2011/10/2011-clojureclr-survey-is-open.html
結果発表してる。
http://clojureclr.blogspot.com/2011/11/results-of-2011-clojureclr-survey.html

clojure(.core)1.3の99%機能実装してる
javaのweb,db環境に依存してる
開発環境に不安
CLRのジェネリックスのサポートがない
monoで動かない
調査中2人しか個人利用でも常時使ってない
など、いろいろ書いてあった。

97 :名無しさん@お腹いっぱい。:2011/11/06(日) 10:04:05.57
GUIやDB操作のClojure独自の使用できないのかね

98 :名無しさん@お腹いっぱい。:2011/11/06(日) 10:57:19.00
>>97
使用×
仕様

99 :デフォルトの名無しさん:2011/11/06(日) 19:11:20.97
>>97
jdbcとかコネクションプールとか、チョロく使えすぎるのでだれもわざわざ書いたりしないんだよね

100 :デフォルトの名無しさん:2011/11/06(日) 23:46:51.95
GUIだったらseesawとか。

101 :デフォルトの名無しさん:2011/11/09(水) 10:13:06.73
を、非公式な1.3互換のclojure.contribだって
https://github.com/arohner/clojure-contrib/tree/1.3-compat
いまのところ、clojarsなどには置いてないので、ローカルに置いて使うようだ。

102 :デフォルトの名無しさん:2011/11/09(水) 23:06:18.43
clojure 1.3にすると1.3へ未対応なライブラリが一杯あって^dynamicせいや!と山ほど警告が出るのがいやだなぁ
clojarsのサイトみてもdependencyは実際読むまでわからんから困る(clojarqlが山ほど居てどれが対応版かわからんとか)


103 :デフォルトの名無しさん:2011/11/10(木) 00:54:43.02
^{:dynamic true}なら1.2で構文エラーにならずに済むらしい


104 :デフォルトの名無しさん:2011/11/11(金) 07:27:02.56
ループ内でpersistent hashをassoc,dissocして新しいの作ってばかりだとGCやら処理コストで遅いかとおもってたらjava.util.HashMapと殆ど速度かわらないのね。
ものすげー驚いたわ
現実的な部分だとSTMを高速に書き換えるスレッドが競合するようなアホな事しなければjavaでsynchronizeに神経使うよりも開発効率めちゃくちゃいいわ。




105 :デフォルトの名無しさん:2011/11/11(金) 12:13:51.00
clojure/conjスライド
https://github.com/relevance/clojure-conj/tree/master/2011-slides

ことしのツイートは大分増えた気がする
http://twitter.com/#!/search/%23clojure_conj%20-rt

106 :デフォルトの名無しさん:2011/11/12(土) 02:10:22.64
>>104
haskellでもミュータブルなArray使って実用的な速度出したりしてたから、
実装を工夫してイミュータブルでGC減らしたりするのは、
関数型全体でも実装面で影響が有ったみたい。

107 :デフォルトの名無しさん:2011/11/13(日) 00:30:59.40
>>16
二つのプロダクトは何人で開発していたの?
完成形になる速度は、どのくらい違うもん?
もっと熟練度が上がれば、どのくらいになりそう?

108 :デフォルトの名無しさん:2011/11/13(日) 02:43:53.39
Evangelizing Clojure
http://rhebus.posterous.com/79870335

・Know your enemy
Scala, Clojure and Groovy are in competition, but they are not enemies of each other. The real enemy is the status quo.

status quo - ラテン語で現状(というか現実?)
http://dictionary.goo.ne.jp/leaf/ej3/81156/m0u/status+quo/

マインドシェアって英語はWP7で聞くようになったな。


109 :デフォルトの名無しさん:2011/11/13(日) 03:21:53.85
Scala,Clojure,Groovyは競走中じゃが、お互いに敵ちゃうよ。本当の敵じゃ
現状じゃよ。
*Clojureやるなんてデカイリスク抱えるやん。確かなのがいい
*ClojureはJavaよりええ選択やとおもうけど、Javaは産業の標準や
わしは、Clojureを選んでプロジェクトが失敗しよったら、より非難しそうや。
*Clojureを選んだら、よう知ってるClojure開発者をやとえるか知らん。

とこんなところがthe status quoの内容ですね。

110 :デフォルトの名無しさん:2011/11/13(日) 09:49:42.45
2つめのこと
(Javaを使ってプロジェクトが失敗する時)より非難しそうや。


111 :デフォルトの名無しさん:2011/11/15(火) 09:58:13.31
https://groups.google.com/forum/#!msg/clojure-cake/GG7DbCQmmW4/Uh7IdWNFmdwJ
cakeとleiningenが統合するらしい。
これでlein replは最初は起動は普通だが2回目は速くなりそうだな。

112 :デフォルトの名無しさん:2011/11/15(火) 11:40:27.98
>>110
昔、「IBMを選ぶ理由は、IBM以外を選んで失敗したら何言われるか判らないから」って話があった。

113 :デフォルトの名無しさん:2011/11/15(火) 12:52:17.49
そういうどうしようもない底辺は相手にする価値がない

114 :デフォルトの名無しさん:2011/11/15(火) 13:27:32.58
結局管理者の立場になると、自分の責任になってくることをなるべく減らす
ために、既存の権威というのか常識にあわせて、そちらに責任転嫁をするように
できるというのは魅力的なんだろう。
海外ですら(あのブログの人どこの人かしらんけど。)あの状態だから、より
保守的な日本ならその常識がもっと重要なんだろうね。

115 :デフォルトの名無しさん:2011/11/15(火) 20:51:52.28
http://groups.google.com/group/clojure-dev/browse_thread/thread/dd506abb7f0188cb
ライブラリ作ったら、clojure MLで発表しよう。
そこが、みんなの集まる場所(だとおもっているので)
RH

うろ翻訳。開発MLで呼びかけてるんだなー。大黒柱っぽくていいね。

116 :デフォルトの名無しさん:2011/11/16(水) 05:35:56.30
なんでその内容をdevで周知してるんだろ。

117 :デフォルトの名無しさん:2011/11/16(水) 07:29:02.90
clojureを購読してる人に「お前らもっと自分のコードアピールしろよ」ってことではなく
「clojure-devはcontributor向けのMLだから、こっちでアナウンスしても気付けない人がいるよ」ってことじゃね

118 :デフォルトの名無しさん:2011/11/16(水) 14:05:38.06
そうだと思うけど、ツイートするだけじゃなくって言ってるのが一般向けに見えた。
それにdevでアナウンスしてる人なんて見当たらないし。

119 :デフォルトの名無しさん:2011/11/16(水) 20:47:43.78
そこのあなた(ライブラリ作成者)に呼びかけるんだったら、(無いから開発サイトになってしまうが)公式ブログやtwitterに書いた方がいい内容だよね。
開発MLは閲覧自由だけど、core,contribの開発という目的にあわせてコントリビューター宣誓しないとメンバー登録出来ない。
逆説的なせいか、なんかこうしっくりこないんだよなー。

http://clojure.org/contributing
http://dev.clojure.org/display/design/JIRA+workflow

120 :デフォルトの名無しさん:2011/11/16(水) 23:32:47.34
遅ればせながら意訳してみた。

君はClojureライブラリの開発者かい? 何かリリースしたばかり?
メインのClojureグループでアナウンスした? もししてないならやった方が良い。
あっちは現在でも何千もの人々に情報提供できる主たる場所なんだ。ツイートも良いけど、Clojureグループも入れてやってよ。
よろしくね。
リッチより

121 :デフォルトの名無しさん:2011/11/18(金) 09:10:53.52
http://www.manning.com/rathore/
正式に発売されたみたいね。
Clojure in Action is a hands-on tutorial for the working programmer who
has written code in a language like Java or Ruby, but has no prior
experience with Lisp.
とあるんで、すでに一つ言語を習得した人向けの本かな。
Clojure in Action は職業プログラマーのための実践的チュートリアルです。
JavaやRubyの言語でプログラムを組んでいる人向けで、Lispの経験はなくて
もいいよ。(使ってる言語:他の情報からだとOOPを扱った言語のことを指してるのかな。)
というようなこと。内容は多義に渡ってるのかな。基本から応用まで、実践例
を交えてるとのこと。manningは掲示板に登録したりしてメール広告をもらうよう
にしておくとクーポンは簡単に手に入る。


122 :デフォルトの名無しさん:2011/11/18(金) 20:56:19.81
スレタイだけど、clojureならスレの番号はベクタで
[3]
とかにして
(プログラミング言語 clojure [3])
っていうのはどう?

123 :デフォルトの名無しさん:2011/11/18(金) 21:25:21.20
>>122
なんか nilとか戻されそう


124 :デフォルトの名無しさん:2011/11/19(土) 16:06:40.75
conterclockwiseで開発しようとしてるんですが、何度も再起動ってどうやってやるんですか?
どうも、起動するたびにREPLというのが起動してとても遅い気がします
簡単な計算ならLoad File in REPLで素早くREPL内で起動するようですが、Swingを使うと
Load file in REPLでウィンドウが現れなくなってしまうようです

125 :124:2011/11/19(土) 16:33:45.32
うーん、REPLが起動していないと、エディタ内の補完も効かないみたいですね
しかもSwingアプリを終了させるとREPLも終了してるようで、
補完が効かなくなってしまう
しかも特定の補完の仕方をするとめちゃくちゃ遅いですね
intelliJ IDEAのLa Clojureはこうした問題が何もないので、
こっちを使うことにします。

126 :デフォルトの名無しさん:2011/11/19(土) 16:41:22.11
intellJ IDEAのほうがいいと思うよ。leiningenプラグインもあるから
そちらも入れておけばいい。外部ライブラリを使うようになれば
こちらはかなり重要だ。
でも、一番いいのは、leiningen+slime+emacsだから。
ものによったら、eclipseに限らずSwing アプリを終了したときにREPLも落ちることはある。

127 :124:2011/11/19(土) 16:53:43.92
>>126
親切にありがとうございます。leiningenってツールが良いんですね。
Emacsという手もありましたか。
検討してみます。

128 :デフォルトの名無しさん:2011/11/19(土) 20:11:59.60
Swingアプリケーションを終了した時にREPLが終了するのって
setDefaultCloseOperationにEXIT_ON_CLOSE(ウィンドウを閉じたら終了する)を指定したとか
どこかでSystem.exitを呼んでるとかではなく?

129 :デフォルトの名無しさん:2011/11/19(土) 20:16:21.89
あと、IDEは一連の作業でそう何度も再起動するようなものじゃないと思うが……
viやnanoならファイルを開く度に起動して用が済んだら閉じるけど

130 :デフォルトの名無しさん:2011/11/19(土) 20:21:45.78
viで開発するならscreenつかってバックグラウンドでreplを動かさないと
効率が上がらん。

131 :デフォルトの名無しさん:2011/11/19(土) 20:54:44.61
俺も時間取って書く時はバックグラウンドで走らせる

132 :デフォルトの名無しさん:2011/11/20(日) 19:32:51.60
viよりemacsの方が良いのか

133 :デフォルトの名無しさん:2011/11/20(日) 21:42:45.45
>>132
一種のIDEだし, なじめば, まぁ...
slimeなれたら離れられなくなるとおもう


134 :デフォルトの名無しさん:2011/11/20(日) 22:25:04.20
clojure 1.3で、
(def a 1)は警告でないのに(def *a* 1)は警告が出る。
二つの使い分けってあるの?
あと警告文の「名前を変えろ」の意味がよくわからんけど*取れってこと?



135 :デフォルトの名無しさん:2011/11/20(日) 23:13:09.48
vimも良くなってる。vim+lein(cake)+screenという組み合わせは、
かなり機動力が高いと思うよ。vimclojureかslimzかどちらかのvimプラグイン
を入れれば、シンタックスは対応できるから。

136 :デフォルトの名無しさん:2011/11/21(月) 00:03:26.02
>>154
1.3から*で囲われたvarは再束縛できなくなった、んで ^dynamicつけないといかんぞって警告が出てくる
CommonLisp慣れしてると結構面食らう


137 :デフォルトの名無しさん:2011/11/21(月) 01:49:11.33
monoにも、llvmのバイトコード吐く仕組みがあって、
http://www.mono-project.com/Mono_LLVM
http://www.mono-project.com/Mono:Runtime:Documentation:LLVM
この記事の通り下のSciMarkをmono-llvmで回したら通常の1.5倍ぐらいのスコアだった。
ただし起動時の初期化が長いので短いプログラムでは遅くなるかも。
http://www.cs.ucsb.edu/~ckrintz/racelab/PhxCSBenchmarks/index.html

ちなみに同じくubuntu11.10 amd64で、gcc -O2で2倍、-O3 i7-avx最適化で、2.5倍ぐらいだった。
openjdk7で2.1倍。


138 :デフォルトの名無しさん:2011/11/21(月) 01:50:06.86
誤爆

139 :デフォルトの名無しさん:2011/11/21(月) 01:54:58.65
*var-name*をclojure.jarでは定数に使ってるので、みんなも定数に使ってねって事だったかも。

140 :デフォルトの名無しさん:2011/11/21(月) 03:11:36.80
>>136
あー、*で始まって*で終わる名前はdynamic専用の名前にすっからよろしく、ってことか。

>>139
定数・・・なのかな。定数は*なしで定義するのかなと思った・・・けど*clojure-version*が謎。

141 :デフォルトの名無しさん:2011/11/21(月) 03:24:59.74
*つけるのはbindingで値を変える前提のVarだけにしとけって事。
みんなバラバラの意味で使って混乱するから強制にしたんじゃね。
逆に^dynamicついてないとbindingできなくなったし。
ついてないのを無理やり変えるならwith-redefsかalter-vat-rootかな。

142 :デフォルトの名無しさん:2011/11/21(月) 04:03:30.08
http://clojuredocs.org/quickref/Clojure%20Core
変数だから、警告は名前変えてじゃなくて、dynamic付けろっていってくれた方がいいよね。

143 :デフォルトの名無しさん:2011/11/21(月) 04:11:50.98
http://clojuredocs.org/clojure_core
http://clojuredocs.org/clojure_contrib
索引

144 :デフォルトの名無しさん:2011/11/21(月) 10:02:15.44
>>142
二文目で

・(動的に再束縛することを意図しているなら):dynamicメタデータにtrueを付加する(indicate ^:dynamic)
・(慣習を知らずに、単に*で囲ってるvarをよく見かけるから付けたのなら)名前を変える(change the name)

のどちらかをやれ(Please either)と明記してるだろ?

145 :デフォルトの名無しさん:2011/11/21(月) 10:30:56.37
それから、>>136は「*で囲んだシンボルだけがデフォルトで再束縛できない」という意味合いにも解釈できるから
>>139は「Clojureでは*で囲んだシンボルを定数に使っているんだろう」と解釈したんだろうけど
「すべてのvarが動的に再束縛できる」→「:dynamicがtrueなvarだけが動的に再束縛できる」に変わっただけで
*で囲んだvarだけ特別に動的な再束縛を禁止しているわけではない

>>136は、Common Lispのdefvarから類推すると、Clojureの"var"はすべて動的に再束縛できて当然だから面食らったって話……だよな?)

146 :デフォルトの名無しさん:2011/11/21(月) 10:33:15.76
あ、ごめん
もしかして136と139は同じ人?

147 :デフォルトの名無しさん:2011/11/21(月) 12:10:00.67
>>145
面食らった件はそう、他のライブラリでも*db*とかを再束縛してたりしたので1.3で結構面食らった
*付きじゃないと警告でなかったような気もしたのだけど気のせいかな?
>>146
136だけど139じゃないです


148 :デフォルトの名無しさん:2011/11/21(月) 12:44:32.03
>>147
*で囲まれていなければ警告は出ないが、動的に再束縛できない点は変わらない
*で囲んだ時だけ警告されるのは、慣習と実際が食い違っているから

逆に、1.2まではこんなこともできた(:inlineでインライン化される場合は効かない)

(binding [println (fn [& args] nil)]
(println "hello, world")) ; 出力されない

149 :デフォルトの名無しさん:2011/11/21(月) 20:34:13.12
>>148
動的束縛全面禁止になったのか、で、*はよく用いられていたから警告だすようになったって事でFAってことかな?


150 :デフォルトの名無しさん:2011/11/21(月) 21:12:01.18
全面禁止じゃなくて、:dynamicがtrueなvarに限定された
よく使われているというか、Clojureでも動的に再束縛できる変数は*で囲む慣習がある
ただ、名前によって動的な再束縛の可否という振る舞いを変えるのではなく
移行時に警告で振る舞いの変更を知らせるようにした

151 :デフォルトの名無しさん:2011/11/22(火) 09:28:11.55
まったくの初学者で、labreplはじめたんだけど、It's all dataとloopingの間に
深い深い溝があるような・・・みんな、軽々と乗り越えたん?
いきなりrecurだのベクター中の&だのif-letだの出てきてわけわからん状態で挫折しそう。

152 :デフォルトの名無しさん:2011/11/22(火) 15:41:09.31
https://sites.google.com/site/clojurejapanesedocumentation/home/reference
labreplやるにも、
ここら辺は必要なのかな?

&は残りの引数という意味らしい。

153 :デフォルトの名無しさん:2011/11/22(火) 16:47:58.20
全くの初学者でよくそれを見つけたなw
今動かしてみたけど、結構良くできたチュートリアルだね。
でも確かにloopingの2番はいきなりdefn、loop、分配束縛、if-let出してきてそれ使えってのは無茶だな。
たっぷり例示してからやればいいのに。

154 :デフォルトの名無しさん:2011/11/22(火) 17:45:00.44
テンプレでおすすめに入れてるから。

155 :デフォルトの名無しさん:2011/11/22(火) 18:05:38.78
http://vimeo.com/channels/fulldisclojure
このビデオキャストイイね。advanced course だけど、プログラミングclojure
を読み終わって更に力を付けたいという人には向いてる。
ただし、英語の放送ですが。

156 :デフォルトの名無しさん:2011/11/22(火) 18:55:25.38
おまえら予約した?

Amit Rathore "Clojure in Action"


157 :デフォルトの名無しさん:2011/11/22(火) 20:26:31.69
>>156
ebook版なら先週くらいに買ったよ


158 :デフォルトの名無しさん:2011/11/22(火) 21:09:21.64
>>152さん、ありがとうです。やっぱり難しいですよね。
labreplは>>154さんのいうとおり、テンプレのお勧め見て
試して見ました。・・・が、>>153さんの言われている単語すら
よくわからない状態で。精進します。

159 :デフォルトの名無しさん:2011/11/22(火) 22:12:48.46
>>155
まだ2つしか見てないけどいいわこれ
教えてくれてありがと


160 :デフォルトの名無しさん:2011/11/22(火) 22:59:16.34
joy of clojure買ったのに読んでなかったわ

161 :デフォルトの名無しさん:2011/11/22(火) 23:55:04.58
http://media.pragprog.com/newsletters/2011-11-21.html
どこ標準時か判らないけれど、11/25(金)だけ40%オフだそうで。
pragmatic bookshelf
http://pragprog.com/titles
プログラミングClojure第二版
翻訳されるなら英語版買わんでも、と思うがどうなんだろう。

162 :デフォルトの名無しさん:2011/11/23(水) 01:16:19.86
in actionのmanningは感謝祭の前日50%引きセールだそうで。
西海岸は、22日の午前8時過ぎだから日本時間だと今日17時までかなあ。

163 :157:2011/11/23(水) 04:03:33.67
くぅ、まだ100ページ(四分の一)しか読んでないのに半額セールとか涙出そうだ
ショボーン
木曜休みとってあるからこの連休で全部読むしか orz


164 :デフォルトの名無しさん:2011/11/23(水) 04:33:38.69
感謝祭前後には毎年なにか割引があること覚えておかないとなあ。
apressの場合、去年は12中旬ぐらいに25%セールがあったけど今年はどうだろ。

165 :デフォルトの名無しさん:2011/11/23(水) 14:44:07.82
clojureスレにきてるやつって
なにげに英語余裕で読み書きできそうなやつがそろってそうな
気がしてならない。

166 :デフォルトの名無しさん:2011/11/23(水) 16:07:52.55
>>165
まだ裾野が狭いからね。日本語のリソースをもっと増やさないといけ
ないのはわかってんだが。手が回らない。

167 :デフォルトの名無しさん:2011/11/23(水) 21:28:11.01
クックブックみたいのが出るといいと思うんだがねえ。
入門はあの翻訳本でいいとして。

168 :デフォルトの名無しさん:2011/11/23(水) 22:22:12.21
> 入門はあの翻訳本でいいとして。
取り上げてる例に興味が持てなかったので未だに積んであるんだが


169 :デフォルトの名無しさん:2011/11/23(水) 22:41:40.13
俺もLancetには興味なかったけど、あの本のLancetパートは
別に熱心に読まなくてもいいというか、章末の復習ついでに実装が進んでいく感じ
第二版は全体の構成が少し変わってるけど、Lancetパートはあるんだろうか

170 :157:2011/11/23(水) 23:58:22.32
Leiningenを例にする本がでればいいのにとか重いながら、Clojure in Actionをこの2日で180ページまで読んだ
どんどん濃くなるのでうれしいが今年中に読み終われるかギリギリな感じ

>>165
高卒のおばかなプログラマの俺でも興味のあるものの為に辞書片手に読むようになったらここ2年ですごい読めるようになったよ。
なんで生徒時代あんなに英語赤点だったんだろうかってくらい(大学入試ムリなくらいなレベル)




171 :デフォルトの名無しさん:2011/11/24(木) 02:41:49.52
第二版は、はじめの方でちょろっとlein使ってるぐらい。
実践の部分はclojure.test(.generative),clojure.java.jdbc,compojureの説明があって、
それを使ってゲームを作る流れ。(jdbcは使ってないかも)
パフォーマンスの説明は、いまのところ、メモ化やlongとuncheck使った四則演算の話が少しある。

172 :デフォルトの名無しさん:2011/11/24(木) 18:49:15.23
Lancetのところはみなすっ飛ばしたわ。笑 キョーミなかったし。
それでもなんとでもなるよ。基本的なことはそれ抜きに書かれてるから。
私はLisp系の基本だと思ってる関数で関数を返すといった技法絡みは無いけどさ。

173 :デフォルトの名無しさん:2011/11/24(木) 18:56:52.57
技術的なことは分からんが、leinが簡単過ぎて嬉しい。
Mavenとかantとか複雑過ぎて俺の脳みそには入らん。
自動化ツールを自動化しなきゃダメな時点でどうなんだと。
アホのeclipseのために専用のプロジェクト作らなくても、emacsでほいほい開発できるし単純に楽だわ。

174 :デフォルトの名無しさん:2011/11/24(木) 21:24:18.01
>>173
激しく同意

175 :デフォルトの名無しさん:2011/11/24(木) 23:43:11.28
質問です。
LinuxerのサンデープログラマLisperなんですがJava未学習者がclojureを
覚える強いメリットっありますか?
あとOSごとにソフトを作り込んだ方がヘビーなエンドユーザーは使いやすいと
思うんですが、実際の所はどうなんでしょうか?

176 :デフォルトの名無しさん:2011/11/25(金) 00:46:13.24
こういうメリット云々ぬかす奴は嫌い。

177 :デフォルトの名無しさん:2011/11/25(金) 00:47:09.55
JAVA嫌いなら出来ない おわり

178 :デフォルトの名無しさん:2011/11/25(金) 01:07:46.30
俺ジャバは知らないけど、使ってるよ。若干困るところはjavaの機能を
使おうとする部分かな。ライブラリ知らないのは資料だけならネットに
いっぱいあるから問題なしかな。protocolところは混乱するかもしれな
いけど、固有の機能を使うGUIだってseesawのようなものも出てきてるので
そんなに問題はないかな。
迷信のように、Javaを知らなければ、Clojureを使えないと言ってる人は
いるようだけど、(検索などで見かけた。)あれは真っ赤な嘘か、発言者の
頭のスペックの問題と考えていいよ。

179 :デフォルトの名無しさん:2011/11/25(金) 01:21:03.33
>>175
javaしらなくても十分やる価値があるよ
Lispよりも純粋関数型言語の思想の方が強く関与してるおかげで副作用なしの関数の学習に適してるから
Emacs+Slimeの様なインタラクティブ環境でそれができるのは希有な上に学習曲線が緩いClojureは一押しだったりする
他にも関数型でHaskellやML系とかJVMならScalaもいるがこれらよりは優しいと思う

まぁ本人が何したいのかにもよるんだけどね。


180 :デフォルトの名無しさん:2011/11/25(金) 03:29:57.95
みんなLancet飛ばしててわろた。

181 :デフォルトの名無しさん:2011/11/25(金) 03:50:23.70
ビルドツールが例ってのはちょっとややこしいよなぁ。
そもそもAntって何だっけ状態だったし。

182 :デフォルトの名無しさん:2011/11/25(金) 04:20:46.34
leiningenは良くできてるよなー。
このビルドツールの使いやすさもclojure普及に一役かってると思う

183 :デフォルトの名無しさん:2011/11/25(金) 06:22:55.93
>>178-179
純粋関数型言語を勉強する気が起きたらならそれに適した言語で勉強します。言語マニアでも
ないので無駄な勉強時間は割きたくありません。

ようするに強いメリットはないようですね。こちらのスレが伸びていたのは知っていたので
もっと明確な答えが返ってくると期待したのですが間違いでした。

回答、ありがとうございました。

184 :デフォルトの名無しさん:2011/11/25(金) 07:00:39.64
>>182
一役どころじゃないよな。
プラグインを個々にインストールする仕組みになったからproject.cljも変更しないで済んで更に便利になったし。

185 :デフォルトの名無しさん:2011/11/25(金) 08:48:20.69
>>183
web屋さんには強いメリットはあるけどね。

186 :デフォルトの名無しさん:2011/11/25(金) 08:49:08.28
415 名前:デフォルトの名無しさん [sage] :2011/11/25(金) 06:41:33.57
>>410
各ディストリでそんなに環境依存ってあるもんなんですか?
>>395のリンクでもありますがCで触れるのは最後にチューニングできるのは強みのような気もするんですが。
Richちゃんのいつごろ書いた記事?
>>411
朝、起きて気づいた。こっちの方が書き込み多いのは驚いた。Clojureスレのヤツはウンコだな。
>>412
それならGaucheで良くね?
CLならsbcl, clisp。個人の日本語解説サイトもあるから日本語資料には困らんよ。
日本語資料では間に合わなくなったら辞書片手に読めば良い。以上。

Clojureスレのヤツはウンコだな。

187 :デフォルトの名無しさん:2011/11/25(金) 09:15:58.30
最近は質問する奴の方が偉そうなの多くなったのかねぇ
>>183
後出し設定乙でありますとしか、何がしたいために知りたかったのかが伝わらない質問した自分を恥じなさいな


188 :デフォルトの名無しさん:2011/11/25(金) 09:46:08.48
ClojureスレからCLスレに転載したかと思えば、CLスレからClojureスレに再び転載
お前は一体何がしたいんだ

189 :デフォルトの名無しさん:2011/11/25(金) 10:20:59.99
煽れば教えて貰えると思ってるんだろ。
皆通る道だ。

190 :デフォルトの名無しさん:2011/11/25(金) 12:22:51.15
lisp使いでこっち見てるなら、関連スレにもいるに決まってんだろ。
本当頭悪い奴だな。
頭悪いついでに、LISP総合スレは
Lisp Scheme Part33
http://hibari.2ch.net/test/read.cgi/tech/1318150738/

191 :デフォルトの名無しさん:2011/11/25(金) 12:54:33.21
Herokuはいいとして、
GAEやbeanstalk,RUN@cloudなんかは、javaのインフラが使えること分からないとどう利用してるのかイメージつき難いのかな。

192 :デフォルトの名無しさん:2011/11/28(月) 19:52:07.72
googleのえらいさんでPAIP/AIMAの著者とhyperspecの中の人の文章です。
http://www010.upp.so-net.ne.jp/okshirai/tutorial-on-good-lisp-programming-style-ja.txt
これはcommon lispのスタイルについて書いてる文章だけど、
基本的なことはclojureのプログラミングについてもつながってるので、
読んでない人がいたら一読をおすすめする。



193 :デフォルトの名無しさん:2011/11/29(火) 00:07:18.76
翻訳頼むわ↓

194 :デフォルトの名無しさん:2011/11/29(火) 00:21:56.62
http://blog.raynes.me/blog/2011/11/27/the-clojure-community-and-me/
>I had a lot of time to do these things because I’ve always been
> home-schooled.
>I always say that Haskell was my first language.
>I’m 17
>I also landed a book deal with No Starch Press. I’m currently
> writing a book called Meet Clojure for them.

17ってのも驚きだけど、Land of LispやLearn You A Haskellの堅苦しくない
出版からClojureの本を出すことになってるってのも驚き。
Learn You~は大学生が出したHaskellの本だが。
中学生でHaskellをやったんかなぁ。

195 :デフォルトの名無しさん:2011/11/29(火) 00:23:26.41
http://meetclj.raynes.me/ これがアナウンスしてる予定の本。
Land~もLearn~も好評だったからなぁ。

196 :デフォルトの名無しさん:2011/11/29(火) 00:38:46.33
http://nostarch.com/
伝統(?)の黄色い表紙は、キッチリしてるんじゃないかな。
オーム社のマンガガイドの科学シリーズが翻訳されててベストセラーにいつもはいってる。
英訳で始めてオーム社でこんなの出してたんだというのを知った。

197 :デフォルトの名無しさん:2011/11/29(火) 04:49:12.48
>>193
ハングルはアニョハセヨぐらいしか知らんよ


198 :デフォルトの名無しさん:2011/11/29(火) 19:54:39.36
user=> (map doc '(list))
java.lang.Exception: Can't take value of a macro: #'clojure.core/doc (NO_SOURCE_FILE:179)
というエラーが出てしまうんですが、どうすれば欲しい結果を返すことができるんでしょうか? version1.3.0

user=> (doc list)
-------------------------
clojure.core/list
([& items])
Creates a new list containing the items.
nil
user=> (map + '(1 3))
(1 3)
user=> (type list)
clojure.lang.PersistentList$1
user=> (map type '(1 list))
(java.lang.Integer clojure.lang.Symbol)


199 :デフォルトの名無しさん:2011/11/29(火) 20:26:53.31
これならとりあえず動いた。versionは1.2.1。
user> (map print-doc (list (var list)))
(-------------------------
clojure.core/list
([& items])
Creates a new list containing the items.
nil)

200 :デフォルトの名無しさん:2011/11/29(火) 20:55:40.85
レス、ありがとうございます。
version 1.2.1で動作確認しました。
;;version 1.3.0
user=> (map print-doc (list (var list)))
CompilerException java.lang.RuntimeException: Unable to resolve symbol: print-doc in this context, compiling:(NO_SOURCE_PATH:22)

欲しい結果がちょっと抽象的でしたので具体的にします。sbclでやるとこんな感じです。
CL-USER> (mapcar #'(lambda (f) (documentation f 'function)) '(list setq defun))
("Return constructs and returns a list of its arguments." NIL
"Define a function at top level.")
あと"(defun &ENVIRONMENT ENV NAME ARGS &BODY BODY)"という情報も欲しいです。

で、最終的にはこんな感じにしたいです。
("-------------------------
clojure.core/list
([& items])
Creates a new list containing the items.
nil" "-------------------------
hogehoge ..." "-------------------------
fugehoge ..." ...)

201 :デフォルトの名無しさん:2011/11/29(火) 21:04:47.37
clの場合 (describe シンボル名)

202 :デフォルトの名無しさん:2011/11/29(火) 21:06:28.19
(mapcar #'(lambda(x)(describe x)) '(cons defun))

203 :デフォルトの名無しさん:2011/11/29(火) 21:32:55.00
>>198はメッセージの通り、docというマクロ自体を引数として与えようと事によるエラー
Clojureのマクロは今の所それ自体の「値」を直接手に入れることができない

>>200は1.2では内部関数であるprint-docが外部にむき出しになっていたのが
1.3でちゃんと外部から直接呼べないようになったので動かなくなった

ところで、要するにdocの出力を文字列として受け取ればいいんだよな?
Clojureでは標準入出力を直接使う代わりに*in*や*out*という名のvarを使い、それらがデフォルトで標準入出力になってる
with-out-strは内側で*out*を動的にStringWriterへ束縛して、*out*に出力された文字列を返り値にする
なので、こうすれば望んだ結果が得られる

(map (fn [name] (with-out-str (doc name))) '(list))

204 :デフォルトの名無しさん:2011/11/29(火) 21:45:56.51
あ、*in*などを使うのは強制ではないし、System/inなどをハードコードしてる場合もリダイレクトできるってわけじゃない
coreは勿論、大抵のClojureライブラリも*in*などを使ってるんだけど、出力先を指定できないJavaライブラリを使うときは注意

205 :デフォルトの名無しさん:2011/11/29(火) 21:56:08.39
>>203
俺もそんな感じでいけるんじゃないかと思ったが
docが変数名そのものから展開してしまって思うようにいかなかったわ
そのコード例だと、(fn …)の返り値が全部#'clojure.core/nameのドキュメントになる

>>200
(defmacro docs [& xs]
(apply list 'list (for [x xs] `(with-out-str (doc ~x)))))
とマクロを定義して
(docs print println def defn)
で(doc …)の文字列のリスト取得できるようになる…と思う
可変長引数じゃなくてベクタやリストを渡したければ[& xs]を[xs]にでもしてくれ



206 :デフォルトの名無しさん:2011/11/29(火) 21:57:50.54
(source doc)してみれ docのマクロは読める。

207 :デフォルトの名無しさん:2011/11/29(火) 22:07:29.05
1.3で(macroexpand '(doc list))するとどうなるの?
1.2.1だと(clojure.core/print-doc (var list))になるんで>>199にしてみたんだが。

208 :デフォルトの名無しさん:2011/11/29(火) 22:13:49.63
>>207
1.3だと((var clojure.repl/print-doc) (clojure.core/meta (var list)))になったよ

それじゃあと、(use '[clojure.repl :only (print-doc)])としてみたんだが
IllegalAccessError print-doc is not public clojure.core/refer (core.clj:3774)
というエラーが出た。

209 :デフォルトの名無しさん:2011/11/29(火) 22:15:50.28
>>205
ああ、本当だ。間違ってたごめん
最初に#()で書いたら""が返ってきて「%というシンボルを探してるのか」と気付いてたのに大ボケかましてしまった

210 :デフォルトの名無しさん:2011/11/29(火) 22:25:52.02
>>208
ならば、これでどうだ。もう本題から離れちゃってる気がするけどw
(map (var clojure.repl/print-doc) (list (clojure.core/meta (var list))))

211 :デフォルトの名無しさん:2011/11/29(火) 22:28:04.52
>>207-208
1.3でprint-docはvarではなくメタデータを取るようになった
(source doc)すれば分かるけど、docにはいくつかの特別な名前の為の処理があるから、print-docだけではうまくいかない
useのエラーは上で書いた通り、内部関数のprint-docは1.3からは直接呼べない(:privateがtrue)が、シャープクォートを使えば迂回できる
(docの内部でシャープクォートを使ってるのも、展開先で呼び出せる必要があるから)

(#'clojure.repl/print-doc (meta (var list)))

212 :デフォルトの名無しさん:2011/11/29(火) 22:39:18.85
>>203-208
みなさん、ありがとう。
とりあえず、長考するわ。

長考する前にデバック(on slime)についてのおすすめの英語サイトありますか?

213 :デフォルトの名無しさん:2011/11/29(火) 22:41:11.81
>>211
なるほど。:privateみたいなのでアクセス制限できて、それを (var xxxx) = #'xxxx で回避できるのね。

214 :デフォルトの名無しさん:2011/11/30(水) 05:32:02.34
docの結果は値としては返ってこないのか。
返ってくるのは結果をどこかへ出力する副作用をもった遅延シーケンスだから、
>>203みたいなことしないと出力を文字列として得ることができないと・・

215 :デフォルトの名無しさん:2011/11/30(水) 05:58:24.60
>>214
最終形は>>205ね。まだコードの行数も少ないからgitで追っかけるかな。

216 :デフォルトの名無しさん:2011/11/30(水) 16:33:31.53
結構面白い問題だから、公式のグループで聞いた方がいい。

217 :デフォルトの名無しさん:2011/11/30(水) 18:05:27.24
求人伸び率最強はClojure…元々が少なかっただけだろうけど
http://yfrog.com/ocsykp

218 :デフォルトの名無しさん:2011/12/02(金) 01:45:33.47
金持ちが居たら受けて感想でも教えてくれ。$325だってよ。
http://codelesson.com/courses/view/introduction-to-clojure

219 :デフォルトの名無しさん:2011/12/02(金) 22:57:23.02
clojureで作った関数をjavaから呼び出す方法ってありますか?
出来上がった.classファイルを解析するしかない?

220 :デフォルトの名無しさん:2011/12/02(金) 23:26:49.80
Clojureの関数はCallableとRunnableを実装してるので
それらを実装した他のクラスと同じ感覚で呼び出せる
望むならjava.util.concurrentのタスクスケジューラなどに渡すこともできる

221 :デフォルトの名無しさん:2011/12/03(土) 01:16:22.04
>>219
http://clojure.org/compilation

222 :デフォルトの名無しさん:2011/12/03(土) 16:45:38.26
>>220
>>221
ありがとう。
英語苦手だからとりあえず:gen-classって付けてみたけど、
欲しい関数はどこにあるかわからなかった。
ゆっくり読みながら試してみます。

とりあえず"hello"ってStringを返すだけのdefnを
javaから呼べるようにすることからはじめてみます。

223 :デフォルトの名無しさん:2011/12/03(土) 18:30:08.22
>>222
最近MLで見たよ、その話。書いておいた。
Java から Clojure の関数を呼び出す
http://rd.clojure-users.org/entry/view/77001

あと、Google Group の メンバーステータスを
「各メッセージが投稿されるたびに受け取る」にしておくのおすすめ。
メールがうざくないなら。

224 :デフォルトの名無しさん:2011/12/03(土) 18:57:06.14
おいら、java側コードを道具としてつかっちゃうからjava側からclojureの関数呼び出すとかいう発想自体無かった
どんなときに有用なん?(出来ないのは困るってのはあるけど)


225 :デフォルトの名無しさん:2011/12/03(土) 19:23:12.22
Javaアプリケーションのスクリプト環境として使う時?
GIMPのScript-Fuみたいな感じ

226 :デフォルトの名無しさん:2011/12/03(土) 22:04:38.82
Clojureで作成したライブラリをJVMで使いたいときは、下記の機能知ってると、細かいところまで用意できるけど、
まず上に出てきた、コンパイル時の-Dclojure.conpile.path=classesと実行時の -cp classes:…、ソースの(:gen-class)とdefn -main[&args]で、javaのメイン関数的な呼び出しさえ出来れば良いんじゃないかと。(かleinのコマンドと設定)

227 :デフォルトの名無しさん:2011/12/03(土) 22:05:26.14
Java Interop
http://clojure.org/java_interop
のSupport for Java in Clojure Library Functionsの項

Clojure で適切な型定義を選択 するためのフローチャート
http://cemerick.com/2011/08/09/flowchart-for-choosing-the-right-clojure-type-definition-form-jp-translation/

228 :デフォルトの名無しさん:2011/12/04(日) 09:51:34.33
>>227
わかりやすくて感動した!

229 :デフォルトの名無しさん:2011/12/04(日) 10:12:52.20
>>227
壁紙にした!


230 :デフォルトの名無しさん:2011/12/04(日) 16:28:18.48
Clojureの勉強のつもりで、EvernoteのAPIを使ってみようと。
んで、

(import '[com.evernote.edam.userstore UserStore$Client])

って叩いたら、
IncompatibleClassChangeError Implementing class java.lang.ClassLoader.defineClass1 (ClassLoader.java:-2)
とか怒られるんですよね−。
他のインナークラスは大抵importできるのに。implementsされてたらアカンいう事?

色々調べたけど、英語がそんなに得意でないこともあってもう限界。
だれか解決方法ご存知の人教えて下さい。

231 :デフォルトの名無しさん:2011/12/04(日) 16:28:33.22
Clojureの勉強のつもりで、EvernoteのAPIを使ってみようと。
んで、

(import '[com.evernote.edam.userstore UserStore$Client])

って叩いたら、
IncompatibleClassChangeError Implementing class java.lang.ClassLoader.defineClass1 (ClassLoader.java:-2)
とか怒られるんですよね−。
他のインナークラスは大抵importできるのに。implementsされてたらアカンいう事?

色々調べたけど、英語がそんなに得意でないこともあってもう限界。
だれか解決方法ご存知の人教えて下さい。

232 :デフォルトの名無しさん:2011/12/04(日) 16:42:30.39
大切なことなので2階言いました。

233 :デフォルトの名無しさん:2011/12/04(日) 17:38:59.42
ミスっただけです

234 :デフォルトの名無しさん:2011/12/04(日) 18:02:20.53
>>231
そのAPIを使ったことが無いので、ちょっと試してみたけど
そのコード自体は問題なく通ったよ

user=> (import '[com.evernote.edam.userstore UserStore$Client])
com.evernote.edam.userstore.UserStore$Client
user=>

自分がやった方法は
leiningenを使って、プロジェクト作ってlein depsした後
lib/以下にevernote-api-1.19/java/lib/に入ってあった
* evernote-api-1.19.jar
* libthrift.jar
の2つを置くだけ

そのエラーの原因は、メソッドやクラスの関係にズレが生じて
整合性がとれなくなるときに起きるエラーのようだよ

例示すると
"interface Aが定義された.classと、それをimplementsしたclass Bが定義された.classがあるとして
Aをabstract classとして定義し直して再コンパイルしたがclass Bのほうは古いまま"
のような場合に起きるらしい

>>231がどういう環境を使ってるかは良くわからないので
これでは解決にはならないかもしれないが、良ければ参考にしてくれ

235 :デフォルトの名無しさん:2011/12/04(日) 18:37:59.57
>>234

おおお、ありがとう!
なんかかんやと出したり引いたり弄くっているうちにズレたのかも。

未知のバグだったら手も足も出んなぁ思っていたから、
そうじゃないと判っただけでもとても助かりましたです。

236 :デフォルトの名無しさん:2011/12/06(火) 00:38:49.33
http://www.infoq.com/news/2011/12/date4j-vs-joda-time
JSR-310がJoda Timeそのままでは無いようなのだけど、
JVM言語はどうするんだろう。
すでにJSR-310の勝手バックポートがあるみたいだし、
ちょうどclojure1.4になにかしら用意したいという話から意見募集してるみたいだけど。
http://groups.google.com/group/clojure-dev/browse_thread/thread/940c4225b439367e/8d1563a2e13df1b1?#8d1563a2e13df1b1

237 :デフォルトの名無しさん:2011/12/06(火) 11:12:10.34
勝手→リファレンス
あと、記事のdate4jはjsr-310と無関係

238 :デフォルトの名無しさん:2011/12/08(木) 04:46:02.38
よろしくお願いします。
リスト操作・lambdaの扱いが慣れていないlisper見習いなんですが、clojureを効率よく
勉強するにはclojureでの再実装を意識しながらsbcl or cclで実装してからcloujureで再
実装した方が基礎を固める意味で良いでしょうか?
それとも動くはずなのにエラーに苦しみながら何度も調べながらclojureで実装した方が
したっぽいが良いでしょうか?

clojureに慣れたらわざわざ他のclで実装する必要もなくなると思いますが。

239 :デフォルトの名無しさん:2011/12/08(木) 08:45:00.24
動かないのなら、「動くはず」はただの思い込みだよ、ClojureでもCLでも
Clojureを学ぶのが目的なら最初からClojureをやればいいし
どのLisp方言を学ぶか選んでる最中ならCLと比較しながらやればいい

あと、念のために言うけど、Clojureの頭にCLの二文字が付いてはいるけど
SBCLやCCLのCL (Common Lisp)とは特に関係ない、別の言語だからね

240 :デフォルトの名無しさん:2011/12/08(木) 12:07:36.94
驚き最小の法則()

241 :デフォルトの名無しさん:2011/12/08(木) 12:42:22.08
Clojureは他のLisp方言に比べたらちょっと個性的だと思う。(破壊的処理
のところがね。副作用の部分をモナドで囲むようなHaskellのようなわけ方を
してる。もっともJava固有のコレクションや配列を直接扱うときはこの保護
機構を使わなくても書き換え可能)

242 :デフォルトの名無しさん:2011/12/08(木) 12:55:58.35
>>239
Clojure is not CL.は知りませんでした。
後出しですがemacs lispも勉強したいのでCLベースで基礎を固めた方が良いのかな。
>>241
ちょっと個性的ですよね。記法を覚えていないとか、慣れの問題があるんでしょうけど。

243 :デフォルトの名無しさん:2011/12/08(木) 13:46:12.60
Clojureは可変な値ではなく、refなどの可変な参照が指し示す値を変える事で可変な状態を扱う、って考え方だから
同じように「囲んで」いるように見えても、モナドとは考え方の背景が違うけどな
printlnみたいにむき出しにしてる部分も多いし、Clojureではそれも悪くはない

モナドが欲しい時はalgo.monadsを試すといい

244 :デフォルトの名無しさん:2011/12/08(木) 16:01:06.27
>>242
JVM で動く CL 実装は ABCL 。
一応書いとくと、elisp も CL とは違うよ。

245 :デフォルトの名無しさん:2011/12/08(木) 16:30:56.69
>>243
当然背景も考え方も違うよ。

246 :デフォルトの名無しさん:2011/12/08(木) 16:53:57.78
>>238
ClojureはCommonLispとはかなり性格が違うので一緒にやると混乱するよ
EmacsLispも学びたいって言う事から察するとLisp族初めたばかりだと思うからいくつか助言するとしたら
1.Clojureから先に覚えれば、破壊操作が楽な他のLisp族へは移行が優しい
2.通常の言語で高度なプログラムが書けるならCommonLsipからやる方が優しい
3.興味や学術方面から入るならSchemeがオススメ

の3つの選択肢があるのでどれか一つから始めるといいよ。
どれから始めてもカッコが気にならなくなったらいつでも他のLisp族にうつれるから気にしなくて良いよ、ただし3つのどれも同時に始めるとLisp族が嫌いになると思うのでできれば一つに集中してほしい


247 :デフォルトの名無しさん:2011/12/08(木) 18:50:09.35
>>244
I know "Emacs lisp is not CL".

Why clojure?
Clojureが流行っているのは大量書き込みに難があると噂だけど並列処理ができるから?
>>246
(1)重要な要素ではないです。(3)Schemeでcar, cdrを覚えました。そして、本格的にプログラミング
しようと思って、速くて下品そうなCLに移って来ました。CLはEmacs lispと多少コードの互換性がある
ので再利用できるのもCLを選びました。(2)高度なブログラムを書けないけど、CLが体に馴染んで来ました。
カッコがないとむしろ気持ち悪いくらいです。
自分の判断としては(2)のコースで必要があればClojureで再実装なのかな。今、そこまで実装したいと
いう気持ちはありませんが、簡易なBlogシステムとか、Web関連でちょっとした遊びがしたいですね。

248 :デフォルトの名無しさん:2011/12/09(金) 01:38:27.41
既にCL使ってるのか、
それなら、CLでもweb frameworkあるよ。
比較するならclojureだとjavaのservletを使ったSaaSにデプロイするのという手段がとれるので楽だと思うけど。(Herokuなど)
あと、CLとClojure比較するのに参考になる話題ではないけれど、
java以外のJVM言語のなかでは言語の組み込みなデータ構造と機構だけで、
デーモン上にて大量のオブジェクトを扱った場合でも比較的ヒープの使い方がうまいらしい。
(1,2年前の話。良く分かってないけど、2GB以上ヒープメモリつかっても、GC周りの地獄になりにくい?)


249 :デフォルトの名無しさん:2011/12/09(金) 08:25:12.93
ヒープの使用効率は永続的なデータ構造(persistent data structure)の影響かな
今年のClojure/conjで発表した人だと、Phil Bagwellが永続的なデータ構造の論文をいくつも発表している

250 :デフォルトの名無しさん:2011/12/09(金) 08:50:14.37
>>248
Clojureであってもヒープを大量に消費すればfull GCが走って遅くなる
ただ、可能な限りデータ構造を共有する(不変性のおかげで、書き換えられる心配がないからコピーしなくてもいい)ので、例えば

(def a [1 2 3])
(def b (conj a 4))
(def c (conj b 5))

と書いても[1 2 3]と[1 2 3 4]と[1 2 3 4 5]をヒープに置く必要はなく
[1 2 3]と[<aの内容を参照> 4]と[<bの内容を参照> 5]を持っていればいい
これが>>249の「永続的なデータ構造」で、ヒープの効率向上に貢献する

実際の仕組みはもう少し複雑なので、正確に知りたい人はこれを読むといい
http://blog.higher-order.net/2009/02/01/understanding-clojures-persistentvector-implementation/

251 :デフォルトの名無しさん:2011/12/09(金) 10:04:41.70
>>250
これってCommonLispで明示的に書いてできないもんなの?

252 :デフォルトの名無しさん:2011/12/09(金) 11:31:41.32
>>251
もちろん永続的データ構造を実装すればできる

253 :デフォルトの名無しさん:2011/12/09(金) 11:46:21.54
Common Lispで永続的なデータ構造を実装した例
http://d.hatena.ne.jp/sile/20100929/1285733544
ここで参照されてる"Ideal Hash Trees"はPhil Bagwellの論文

254 :デフォルトの名無しさん:2011/12/10(土) 11:21:11.16
>>253
(loop FOR i FROM 0 TO 9 COLLECT i)という書き方が興味深かった。(loop For i From 0 To 9 Collect i)と
いう書き方ってコストじゃないからこういう書き方の方が良いのかな。

255 :デフォルトの名無しさん:2011/12/13(火) 16:32:44.59
Amazonからお支払番号きた。
買う/買ったやついる?

1 Clojure in Action ¥3,652

256 :デフォルトの名無しさん:2011/12/13(火) 19:46:51.46
買ったやつの大半はmanningからDL購入してると思われる。

257 :デフォルトの名無しさん:2011/12/13(火) 20:43:49.40
>>255
こーてへんけど、本にはクーポンがついてて電子ブックは登録すれば
無料でもらえると思うよ。

258 :デフォルトの名無しさん:2011/12/13(火) 23:06:58.99
>>255
e-book版ならだいぶまえに買ったよ


259 :デフォルトの名無しさん:2011/12/14(水) 00:28:06.36
こーたり

260 :デフォルトの名無しさん:2011/12/15(木) 20:22:03.70
やっと発売か

261 :デフォルトの名無しさん:2011/12/16(金) 11:28:08.78
全体的な構成を変えたclojure1.3
出たタイミングだから、
いままでのバージョンアップの時より
なぜだというツイートが多かったりするね。

今後の本はどうするんだろう。
来年1月予定 450p
http://shop.oreilly.com/product/0636920013754.do
来年2月 250p
http://pragprog.com/book/shcloj2/programming-clojure

262 :デフォルトの名無しさん:2011/12/16(金) 17:23:19.39
どうするって何が?
Programming Clojureの2nd Editionは以前から1.3ベースって宣言してるし
オライリーのClojure Programmingも作者的に1.3非対応にはしなさそうだけど

263 :デフォルトの名無しさん:2011/12/16(金) 17:51:33.97
牛のブライアンに直接聞いてみたらなんか返ってくるかも 笑
彼日本語(漢字)勉強してるみたいだから。

264 :デフォルトの名無しさん:2011/12/16(金) 18:40:18.52
誰か、凸れ

265 :デフォルトの名無しさん:2011/12/17(土) 20:22:59.00
ライブラリさがすのってここでいい?
http://clojure-libraries.appspot.com/
他にいいとこある?

266 :デフォルトの名無しさん:2011/12/17(土) 20:25:08.39
>>265
http://clojars.org/
で苦労して探してたけどそこいいね


267 :デフォルトの名無しさん:2011/12/25(日) 17:06:08.30
もちろんクリスマスはclojureを書いて過ごしたよね?俺だけじゃないよね?

268 :デフォルトの名無しさん:2011/12/25(日) 17:43:08.92
>>267
イヴの夜は寒くて教会に行くのサボって、当日は顔を出して、ベイクセールで
募金したぐらい。あとはClojure : CL : Elisp : conf = 3 : 3 : 2 : 2で
オナっていたぜ。

269 :!omikuji !dama:2012/01/02(月) 01:58:29.88
本年がClojure祭りでありますように

270 :デフォルトの名無しさん:2012/01/02(月) 09:47:55.24
>>268
今の教会って、「イブ、とは前日の事ではない」と教えないのか。
ウリストじゃないよね?

271 :デフォルトの名無しさん:2012/01/02(月) 10:39:59.70
そもそも午前零時に日付が変わる、という意識が一般化したのが近世ないし近代。
それ以前の慣習については、日の出または日没が日の区切りである可能性がある、
というのがごく一般的な話。

272 :デフォルトの名無しさん:2012/01/02(月) 10:51:00.76
クリスマスに Compojure が1.0.0になってたのな

273 :デフォルトの名無しさん:2012/01/04(水) 12:04:37.90
真夜中に一日の区切りを持って来る事については、天文学者が猛反対した、という話も。

274 :デフォルトの名無しさん:2012/01/04(水) 17:49:53.49
連中は、今でも正午を区切りにしようとか画策してる秘密結社だからな。

275 :デフォルトの名無しさん:2012/01/05(木) 14:50:53.81
30時間制っちゅうのがあって、朝6時に切り替えって発想は星方面にはあるよ。

276 :デフォルトの名無しさん:2012/01/05(木) 15:23:45.59
ClojureでAndroidとかやってみたけど、当たり前だけど文法が変わっただけで、やることは手続き型だった。
適材適所って大事ね。

277 :デフォルトの名無しさん:2012/01/06(金) 01:13:54.18
>>276
ラップして楽するようにすると面白いっすよ
つかAndroidでswankできてもうなんかモニョモニョしちゃうくらいもだえたぜ


278 :デフォルトの名無しさん:2012/01/06(金) 03:32:20.41
梱包じゃ

279 :デフォルトの名無しさん:2012/01/06(金) 10:58:55.34
苦労じゃ

280 :デフォルトの名無しさん:2012/01/06(金) 12:07:59.48
>>277
なんか例えばこんな時に…みたいなのってある?
AndroidというとUI部品への値の読み書きがほとんどで、Clojureが活躍する領域が思い浮かばない。

281 :デフォルトの名無しさん:2012/01/08(日) 07:04:35.90
contribっていつ1.3が出るのかと待っていたが、別々のライブラリに分かれたのか。
http://dev.clojure.org/display/doc/Clojure+Contrib
いろいろ減ったような?
みんな1.3に移行してる?

282 :デフォルトの名無しさん:2012/01/08(日) 09:24:29.29
>>281
活発にメンテナンスされてなくて、メンテナーに立候補する人もいなかったライブラリと
既にclojure.jarに取り込まれてメンテナンスされているライブラリは移行してない
古いcontribもorg.clojure.contrib/standaloneかどこかで一応引っ張ってこれるはずだけど保証は出来ない

移行してないけどこれがないと困るってライブラリがあったら
IRCやMLで訊けば代替を教えてくれるし、メンテナーに立候補する手もある
実際、1.3リリース後に移行したライブラリもある

俺は今の所基本1.3でたまに1.4の様子を見てる

283 :デフォルトの名無しさん:2012/01/09(月) 01:44:03.19
なるほど

284 :デフォルトの名無しさん:2012/01/12(木) 22:22:46.37
swing utilsは代替がないね、


285 :デフォルトの名無しさん:2012/01/13(金) 07:21:23.54
GUIFTWやSeesawを使えば良いんじゃね
GUIライブラリじゃなくてswing-utilsそのものが使いたいのなら、移行しないのか尋ねてくるといい

286 :デフォルトの名無しさん:2012/01/13(金) 20:25:49.85
JavaしらんClojure使いだが。ちとJavaのことを知りたいなと思ってみたけど
本がわんさかあって、何がええやらよくわからんです。
初めてのRuby見たいな、他の言語習得者向きの本って無いんですかね?
洋書の安いのがあれば一番いいかも。
Head First Javaはamazon.comで売れてるみたいだし、検討中なんですがね。

287 :デフォルトの名無しさん:2012/01/13(金) 20:54:44.82
PerfectJavaがおすすめ。網羅的に場広く解説さるてる。

288 :デフォルトの名無しさん:2012/01/13(金) 22:36:12.43
>>287
ありがとう。今度本屋で確認してみます。:)

289 :デフォルトの名無しさん:2012/01/18(水) 10:38:05.77
swank-clojure が動かない。
debian で
clojure 1.2.1
leiningen 1.6.2
をインストールして、

$ lein plugin install swank-clojure 1.3.4

~/.lein/bin/swank-clojure の
CLASSPATH="/home/なんとか/..." を "$HOME/" に(多分これはバグ)変更。


290 :289:2012/01/18(水) 10:38:34.35
$ ./.lein/bin/swank-clojure
Exception in thread "main" java.lang.IllegalArgumentException: Wrong number of args (0) passed to: swank$-main (NO_SOURCE_FILE:0)
at clojure.lang.Compiler.eval(Compiler.java:5440)
at clojure.lang.Compiler.eval(Compiler.java:5391)
at clojure.core$eval.invoke(core.clj:2382)
at clojure.main$eval_opt.invoke(main.clj:235)
at clojure.main$initialize.invoke(main.clj:254)
at clojure.main$script_opt.invoke(main.clj:270)
at clojure.main$main.doInvoke(main.clj:354)
at clojure.lang.RestFn.invoke(RestFn.java:436)
at clojure.lang.Var.invoke(Var.java:373)
at clojure.lang.AFn.applyToHelper(AFn.java:167)
at clojure.lang.Var.applyTo(Var.java:482)
at clojure.main.main(main.java:37)
Caused by: java.lang.IllegalArgumentException: Wrong number of args (0) passed to: swank$-main
at clojure.lang.AFn.throwArity(AFn.java:437)
at clojure.lang.RestFn.invoke(RestFn.java:399)
at clojure.lang.AFn.applyToHelper(AFn.java:159)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at clojure.core$apply.invoke(core.clj:540)
at user$eval1637.invoke(NO_SOURCE_FILE:1)
at clojure.lang.Compiler.eval(Compiler.java:5424)
... 11 more


291 :デフォルトの名無しさん:2012/01/18(水) 13:56:10.59
>>290
$ lein swank
じゃねーの?


292 :289:2012/01/18(水) 22:17:50.98
>>291
https://github.com/technomancy/swank-clojure
ここ見てやっていたのだけれど、さっきできた。
$ lein new myproject
して、Emacs 上で myproject に移動後 M-x clojure-jack-in するだけではだめ。
myproject に空の core.clj を作ってから M-x clojure-jack-in でできた。

project.clj の書き方も分からないので、
問題の切り分けのためにスタンドアローンのサーバを立ち上げようとしたけれど、
(それは今もできないけれど)まあいいや。

293 :デフォルトの名無しさん:2012/01/19(木) 07:02:32.08
>290 のところは、>291 ではなくキャンセルして、最近おすすめのclojure-jack-in使ったんだよね?

あと、.emacs.elあたりにreqire 'clojure-modeがあると、拡張子がcljならclojure-modeを呼び出す状態になってる。
さらに、clojure-modeならswank-clojure関連でclojure-jack-inが呼び出せるようになってる。
みたいな感じをイメージを想像出来るといいね。

clojureある程度やってみたら、
少しemacsとjavaのことも勉強すると周辺環境の理解が深まるかも

294 :デフォルトの名無しさん:2012/01/19(木) 22:02:50.63
>>293
流れとしては
1. プロジェクトを作らないとサーバが起動できないらしい
2. 作ったけど、 M-x clojure-jack-in で起動できない
3. project.clj かプロジェクト下の他のファイルが悪いのかも、でも何が悪いのか分からない
4. プロジェクトを作らない方法もあるから、そっちを試そう
5. 4 も駄目だ
6. $ lein new myproject すると Look over project.clj and start coding in myproject /core.clj
とでていたので、 myproject /core.clj を作ってから M-x clojure-jack-in するとできた

という感じ。
Emacs + slime で Common Lisp は以前から使っていたけれど、
JAVA は久しぶりにインストールしたよ。

295 :デフォルトの名無しさん:2012/01/29(日) 08:41:16.28
scalaよりは名前カッコいいしLISPerの後押しもあるしで
そこそこ流行りそうだな

296 :デフォルトの名無しさん:2012/01/29(日) 09:30:34.90
少なくとも日本ではScalaの方がずっと多く本出てるし
Lisperと言ってもそれぞれ好きな方言があるだろうからなぁ……
俺はどちらでもないから分からないけど、多分CLerやSchemerは
「Clojure(に〇〇があれば|が〇〇だったら)もっと良かった」って点をいくつか挙げるだろうし

297 :デフォルトの名無しさん:2012/01/29(日) 14:11:22.03
>>296
javaから来たらscalaの方が覚えるのは楽だと思う
lispしってりゃclojureの方がreplで楽ができるから俺はclojureの方が学習コスト低かったけど


298 :デフォルトの名無しさん:2012/01/29(日) 20:48:28.62
Tiobeの最新ランキング見ると Groovy > Scala > Clojureらしいね。
Lisp(CL?)が13位でRubyの次にランクインしていたのには驚いたな。

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

299 :デフォルトの名無しさん:2012/01/31(火) 08:57:49.42
本当にScala流行るかわからんし少なくともすぐ流行るとも思えないから
Java使いが取り敢えずで新しいことやりたいならClojureという選択肢もありなのかな

300 :デフォルトの名無しさん:2012/01/31(火) 09:23:04.95
>>299
むしろアリだと思うよ、Lava使いがLisp族を覚えるのにこれほど適した言語は無いし
覚えて損することも無い

301 :デフォルトの名無しさん:2012/02/01(水) 04:40:16.59
scala は一時的なもんだろうな。一部引き始めてるから、大きなうねりには
ならんだろう。
なによりコミュニティが北斗の拳だし・・・。

302 :デフォルトの名無しさん:2012/02/01(水) 10:31:25.95
Clojureは j の点の部分を四葉か三葉のクローバー、下をクローバーの
茎に見立てたデザインにすればきっと格好良くなる

303 :デフォルトの名無しさん:2012/02/02(木) 10:35:09.95
>>301
北斗の拳?

304 :デフォルトの名無しさん:2012/02/02(木) 12:26:39.16
>>301
「おまえは既に死んでいる」と言う事かな?


305 :デフォルトの名無しさん:2012/02/02(木) 15:31:09.29
モヒカンがヒャッハーみたいな
世紀末でカオスな状態になってる
ってことだろ多分

306 :デフォルトの名無しさん:2012/02/02(木) 19:36:14.88
うん。殺伐ってこと

307 :デフォルトの名無しさん:2012/02/02(木) 22:20:58.87
へえ。そんなに殺伐としてるのか。

308 :デフォルトの名無しさん:2012/02/02(木) 22:30:44.55
水嶋の真似をしようとした連中が、scala初心者に対して学術風味なご高説を垂れてるらしいな。
で、中にはご高説同士で「当然論文はご覧になってますよね?」的なノリの人格批判でうぼぁー。

って聞いた。

309 :デフォルトの名無しさん:2012/02/03(金) 00:11:29.21
北斗の拳って言うからてっきり「今日より明日なんじゃ…」って言いながら非互換変更入れたり
自分のライブラリが標準ライブラリに採択されたら「神はわれわれを選んだのだ!」って叫んだりしてるのかと

310 :デフォルトの名無しさん:2012/02/04(土) 09:35:57.89
名指しで他のコミュニティのことはとやかく言わないようにしよう。
誰も得しない。

311 :デフォルトの名無しさん:2012/02/04(土) 18:33:47.97
http://clojurewest.org/sessions
clojure/west 講演一覧
講演したことある主要clojure開発者のtwitterアカウントの8割ぐらいいってそう。


312 :デフォルトの名無しさん:2012/02/04(土) 18:39:36.54
osxにて、HomeBrewのcake.rbがなくなって、
brew install cakeでは、いけなくなっていた。
gemからはいけた。

古いHomeBrewのcake.rbでは、-HEADオプションつければ入るが、結局動かなかった。
たぶん、gem install cake使ったhomebrewのcake.rb書けばいいんだろうけど。

313 :デフォルトの名無しさん:2012/02/07(火) 22:09:58.98
emacsのcompilation-error-regexp-alist
に良い指定の方法ないかな?、自分がやるとスタックトレースに出てくる方までひっかかっちゃって


314 :デフォルトの名無しさん:2012/02/10(金) 19:28:22.44
emacs使った開発をしようとしていますが、
regionを関数に抽出したりするなどの、リファクタリングや
括弧の数が合わなければ色を変えて、教えてくれるなどの機能は、どんなプラグインを入れれば良いでしょうか。

ベタなコードをkill/yankで別関数に抜き出すと、括弧の数が合わなくなったりして、
よく無駄にハマる時間ができてしまいます。

あと今はparedit, clojure-mode, slimeをいれていますが、その他clojure開発でオススメがありましたら教えていただけると嬉しいです。

315 :デフォルトの名無しさん:2012/02/10(金) 20:22:33.58
paredit使ってるなら括弧の数合わなくなることはあんまないでしょ。
あー、キルヤンクの時ね。C-Spaceとかで手動で範囲指定するとあわなくなるけど、
C-kやM-C-@とかで括弧単位でコピペするのが楽だね。
swank-clojure使ってるならC-c C-k すれば大体のエラー箇所は教えてくれるよ。
括弧の数合わないとか定義されてない変数使ってるとか。

316 :デフォルトの名無しさん:2012/02/10(金) 22:28:15.46
>>314
http://www.emacswiki.org/emacs/RainbowDelimiters
括弧関係だとこんなのもある
ちょっと目に来るのでつかわなくなってしまったけど


317 :デフォルトの名無しさん:2012/02/11(土) 01:25:15.07
Clojure でのツリー・ビジター
Java の Visitor パターンを関数型 zipper で更新する
Alex Miller, Senior Engineer, Revelytix
http://www.ibm.com/developerworks/jp/java/library/j-treevisit/

もっと日本語版もある技術サイトに載って、興味もってくれる人が増えるといいな

318 :デフォルトの名無しさん:2012/02/11(土) 05:06:32.53
後方互換性にとらわれないとはいっても、
プログラミングClojure第一版のコードすら結構動かないものがあるというのはどうかと。
仕様が固まってくるまでどれくらいの時間がかかるのかな。

319 :デフォルトの名無しさん:2012/02/11(土) 07:09:41.76
いま固まりました

320 :デフォルトの名無しさん:2012/02/11(土) 08:25:05.41
1.3では、大幅変更があったからなぁ。
高速化はどんどん期待したいけど、仕様変更だけは、4,5年くらい
変更なしでも動くような事のほうが使いやすいよね。

321 :デフォルトの名無しさん:2012/02/11(土) 09:01:56.88
プログラミングClojure第一版は1.0(日本語版は訳者による開発中の1.1に基づいた脚注あり)だな
コアに取り込まれたcontribライブラリを使ってたり(例、c.c.duck-stream→c.c.io→clojure.java.io)
typeやprotocolにまったく触れてなかったり、proxyはあるけどreifyはなかったりと
1.1〜1.2の変化も書かれてないから、1.2でもちょっと古いコードになるな
原著第二版は2012-03-06発売予定か

322 :デフォルトの名無しさん:2012/02/11(土) 14:08:31.04
JVMに縛られてる限り駄目だわこの言語

323 :デフォルトの名無しさん:2012/02/11(土) 14:46:55.26
釣りにつられて スルーができるのか?みなさん

324 :デフォルトの名無しさん:2012/02/11(土) 15:36:06.63
>>322
一度でいいからRichが書いてる事読んでから言えよ
JVMにこだわっているのじゃなくPlatformからの独立について語ってるって知るべき.


325 :デフォルトの名無しさん:2012/02/11(土) 15:36:54.73
俺は後方互換性なんてあんまり考えないで欲しい。
より良い言語になるなら。

326 :デフォルトの名無しさん:2012/02/11(土) 16:04:56.06
言語が良くなってもライブラリが付いてこないからな。
黒板言語と呼ばれて良ければそれでもいいんだろうが…。

327 :デフォルトの名無しさん:2012/02/11(土) 23:56:07.41
>>326
javaライブラリの利用はさほどむつかしくないから、そうとはならないと思うが。

328 :デフォルトの名無しさん:2012/02/12(日) 00:23:16.62
しばらくclojureを追っかけてなかったけど、contribの事どうなったの?
動向を追いかけてる人いるの?

329 :デフォルトの名無しさん:2012/02/12(日) 02:19:34.16
clojure1.4.0-beta1、1.3から1.4でなにが変わったかあまりよく分からないが・・・
http://groups.google.com/group/clojure/browse_thread/thread/71e19a6097cb74a1


330 :デフォルトの名無しさん:2012/02/12(日) 02:37:03.91
contribのことは、ここらへんにまとまってる。
http://dev.clojure.org/display/design/Where+Did+Clojure.Contrib+Go
http://dev.clojure.org/display/doc/Clojure+Contrib

next release (現在は1.4)
http://dev.clojure.org/display/design/Release.Next+Planning


331 :デフォルトの名無しさん:2012/02/12(日) 05:31:03.26
instant literal とかいうのが入ったね。
使いどころがよくわからんが。

332 :デフォルトの名無しさん:2012/02/12(日) 06:33:42.28
何それ

333 :デフォルトの名無しさん:2012/02/12(日) 07:58:07.39
変更点はgithubのcommitsをブラウザで見るか、ワーキングツリーが手元にあるならgit logでとりあえず見られる

>>332
http://dev.clojure.org/pages/viewpage.action?pageId=950382
http://dev.clojure.org/jira/browse/CLJ-871
https://github.com/clojure/clojure/commit/6afdf43f200fb902d36b31d3094ba166eb84aa14

334 :デフォルトの名無しさん:2012/02/12(日) 09:13:52.03
>>330
さんくす。 大分整備が進んでるね。

335 :デフォルトの名無しさん:2012/02/12(日) 12:24:55.66
clojarsのリポジトリとかがClojureのバージョン別に検索しやすくなってくれないと正直leiningenやcakeで困るわー


336 :デフォルトの名無しさん:2012/02/12(日) 15:29:40.80
ライブラリの最新バージョンとかいちいち調べるのすごいめんどい。

337 :デフォルトの名無しさん:2012/02/12(日) 16:17:15.41
https://github.com/ato/clojars-web

338 :デフォルトの名無しさん:2012/02/12(日) 16:34:33.72
Clojureとライブラリのバージョン対応の問題は1.3.0以降急激に増加しているので、
なんとかmaven系の設定ファイルで管理してほしいところではある。

339 :デフォルトの名無しさん:2012/02/12(日) 16:38:15.07
clj-httpがメンテナーが変わって、clojure, contribみたいにCIツール使ってて、こっちは、githubから使えるものを使ってた。
ビルド失敗マークが付いていてなにか大きな変更があるのかとおもったら、lein2へ移植中となっていた。
チュートリアル http://mmcgrana.github.com/2010/08/clj-http-clojure-http-client.html
現在のmaster https://github.com/dakrone/clj-http
CI http://travis-ci.org/#!/dakrone/clj-http/builds

leiningenのmasterブランチでは、2.0.0を準備中で結構変わるみたいだね。
https://github.com/technomancy/leiningen/blob/master/todo.org
https://github.com/technomancy/leiningen/tree/master/doc

340 :デフォルトの名無しさん:2012/02/12(日) 16:47:28.82
https://github.com/maravillas/lein-multi
複数のclojureバージョン対応project.cljは、lein multiでなんとか作れるけど自動でバージョンチェックしてはくれないからな・・・

341 :デフォルトの名無しさん:2012/02/12(日) 16:55:10.64
1.3リリース以降*db*関係でSQL系ライブラリが大混乱
これなんとかならんかなぁ
1.3の数値primitive指定使ったチューニング凄いんだけどDBでclojureql使いたいと思うとvarのdynamic指定関係でライブラリが選択しにくい(というかclojureのメインバージョンに引きずられる依存関係の解決ができない)


342 :デフォルトの名無しさん:2012/02/12(日) 18:37:43.83
気付いたらパッチを送ってくれると大勢が助かる

343 :デフォルトの名無しさん:2012/02/13(月) 22:13:47.17
http://disclojure.org/2012/02/12/intertweets/
pycljとかlein-scalacとか何じゃろう?


344 :デフォルトの名無しさん:2012/02/13(月) 22:44:35.73
>>315,316
遅くなりましたがありがとうございます。
RainbowDelimetersはこちらの黒背景だとそこまで目にうるさくないし、
明らかに足りないところは赤で分かりやすいのでちょうどいい感じです。

またお伺いしたいことがあるのですが、swank-clojureでエラーが消えません。
再現方法は
1. 適当にlein newでプロジェクトを作ります。
2. core.cljで (defn xxx [] (+ 1 2)) というコードを書きます。
3. clojure-jack-inでswankを起動します。ここでrepl上で (xxx)を呼ぶと、当然3が返ってきます。
4. ここで間違ってreplで (xx) と呼ぶと、Unable to resolve symbol: xx in this contextが返ってきます。
5. 以降、repl上でどんなコードを入力しても、Unable to resolve symbol: xx in this contextが返るようになります。
  (xxx)を呼ぶと、別bufferにエラーが表示され、replには 3 が返ってきます。
 C-c C-kをしてもダメで、emacsを再起動すると(というかswankを再起動?)、また正常になります。

emacsは23.4.1でclojure-modeは1.11.5(Marmaladeで落としました)、OSはMac OS 10.7.3です。
エラー情報をクリアするようなコマンドはありますでしょうか。

345 :デフォルトの名無しさん:2012/02/14(火) 00:23:54.01
アメリカではClojureの本が最近、結構出版されてるな

346 :デフォルトの名無しさん:2012/02/14(火) 00:43:02.80
>345
Clojure In Action
Joy of Clojure
Clojure Programming
の他にもでたん?


347 :デフォルトの名無しさん:2012/02/14(火) 10:30:57.26
The little clojure
The reasoned clojure
The seasoned clojure
Land of Clojure
。。。妄想でどうぞ。

348 :デフォルトの名無しさん:2012/02/14(火) 17:44:50.72
>>347
Land of Lispは買ったんだがなぁ、あのビデオクリップDVDでだしてくんねぇかな


349 :デフォルトの名無しさん:2012/02/14(火) 21:58:15.04
http://pragprog.com/book/shcloj2/programming-clojure
3/6予定にはなってるが、どうだろう?

350 :デフォルトの名無しさん:2012/02/14(火) 22:06:20.81
http://www.manning.com/marz/
Marzのbigdataも、どれぐらいclojureの記述があるのかな。
DSLとして取り上げるのはclojureだとおもうが、目次からは推測出来るところがない。

351 :デフォルトの名無しさん:2012/02/18(土) 00:34:03.35
実際のところ並列プログラミングでプログラムを高速化させたい場合は
C/C++で書いたほうがずっと早いんだよな

理由は

・もともと早い
・最適化するほどさらに速くなる(差が広がる)
・並列プログラミングも制限がないので早くできる
 (関数型とかの並列プログラミングに対する利点は所詮、
 並列プログラミングの力を削ぐ形で制限し、プログラムしやすくしているだけ)

352 :デフォルトの名無しさん:2012/02/18(土) 07:40:02.95
C++との比較は見てみたいな。
結構な規模でコードの複雑さとパフォーマンスがどのぐらいになるのか。
小さな問題じゃ参考にならないや。

353 :デフォルトの名無しさん:2012/02/18(土) 08:49:29.02
IOセンシテイブな分野でも、
HBaseとhypertableの話みたいな話あるからね。
hypertableのが速いけど、HBaseのが諸々の事情で普及してしまった。
http://www.hypertable.com/why_hypertable/hypertable_vs_hbase_2/
http://www.infoq.com/jp/news/2008/05/hbase-interview

ヘテロジーニアスな並列計算環境だと、最近はネイティブコードジェネレータも増えてきてるとおもう。

354 :デフォルトの名無しさん:2012/02/18(土) 09:16:57.22
>>351
immutable/persistentなデータ構造はスレッドセーフでスケーラビリティも良好って事はCでも言われてるんだが
とBoehmのcordを最近知った俺がしたり顔で言ってみる

CやC++の方が速くしやすいのは確かだろうけど、俺はプログラムしやすい方がいいな
プログラマの時間よりCPUの時間が高価な分野にいないから持てる、甘えた考えかもしれないけど

355 :デフォルトの名無しさん:2012/02/18(土) 11:29:08.37
手間暇かけていいんなら、そりゃCで書くよね。


356 :デフォルトの名無しさん:2012/02/18(土) 12:47:21.07
やだよ

357 :デフォルトの名無しさん:2012/02/18(土) 17:32:16.40
>>351
C++やCで並列化コード書く時ってOpenMPみたいなライブラリつかって丁寧に作らないとバグった時の悲惨さがでかいんだよな(特に何処かで実行単位相互に書き換わっちゃったみたいな計算結果がおかしいようなときのバグ)
実際機械コードに近いから実行効率はいいんだろうけど、万が一の時にリカバリする時間の労力考えるとマルチスレッドレベルでの並列コードならClojureはかなり優秀だと思うぞ(特に1.3以降)


358 :デフォルトの名無しさん:2012/02/18(土) 22:29:24.24
最初から並列処理させるつもりで書かないと駄目だけど、
OpenMPは十分楽ちんだと思うけどなぁ。

Clojureも好きだけどね。

359 :デフォルトの名無しさん:2012/02/19(日) 00:09:43.60
>>358
それぞれ違う特徴もってるからどっちが良いとか一言でかたづける問いじゃないんだよね
Clojureの場合スケール可能なのはコア数上限までで、それ以上のパワーが必要なら結局単体じゃムリだし。
その条件でも十分ならClojureで書く方がはるかに気が楽だったりするし

360 :デフォルトの名無しさん:2012/02/19(日) 00:49:06.65
C++やhaskellのDSL
http://sourceforge.jp/magazine/09/08/21/1128207
http://tanakh.jp/pub/start-haskell-0-fun.pdf
http://www.logos.ic.i.u-tokyo.ac.jp/~tau/highly_productive_langs/users/scnews/doc/sacsis.pdf

clojureだと最近avoutってのが出来たけど、まだ分散STMという話で
分散プログラム実行環境は、
hadoopとかstormとかjavaインフラ使って制御するんだと思う。

clojure in actionの著者のswarmijiってのもあるけど、メジャーではないし。

361 :デフォルトの名無しさん:2012/02/19(日) 01:20:18.06
なんか下のリンクみたいな分野向けのclojureラッパーはあるのかな?

http://www.slideshare.net/defza/mpi-java
http://ateji.blogspot.com/2010/09/java-for-high-performance-computing.html
http://www.azulsystems.com/blog/cliff/2009-09-06-java-vs-c-performanceagain

362 :デフォルトの名無しさん:2012/02/19(日) 13:53:46.94
>>151あたりでも少し話題が出たlabreplの"looping"の項だけど
minを実装する節で出てくる以下のコード、4行目のseq関数って必要なのかな

(defn min-1
  [x & more]
  (loop [min x
         more (seq more)]
    (if-let [i (first more)]
      (recur (if (< i min) i min) (next more))
      min)))

363 :デフォルトの名無しさん:2012/02/19(日) 18:35:41.19
>>362
いらないね

364 :デフォルトの名無しさん:2012/02/19(日) 21:00:02.22
>>363
そうだよな。ずっともやもやしてたんだ、ありがとう

365 :デフォルトの名無しさん:2012/02/19(日) 22:45:33.36
(if-let [s (seq coll)] A B)
少し似てるけどこの位置のseqは意味のあるイディオム

366 :デフォルトの名無しさん:2012/02/27(月) 06:26:46.92
EPLって、商業用に配布してもいいの?

367 :デフォルトの名無しさん:2012/02/27(月) 16:10:07.47
いいよ
というか、それが駄目なライセンスをIBMが書く(前身のCPL)わけがない
ただし条件はちゃんと読んでね

368 :デフォルトの名無しさん:2012/02/27(月) 16:25:24.66
いや、IBM云々以前にDFSGやOSDが商用利用を禁じるようなライセンスを認めてないんだったか

369 :デフォルトの名無しさん:2012/02/27(月) 17:55:41.96
http://sourceforge.jp/projects/opensource/wiki/licenses%2FEclipse_Public_License
http://ja.m.wikipedia.org/wiki/Eclipse_Public_License
EPLライセンスされたプログラムの受領者は、使用・修正・コ ピーや、修正したバージョンの配布ができる。 しかし、修正したバージョンを配布する場合はソース
コードの入手方法を示すなどの義務が生じる。

修正BSDやMITほど緩くはないが、
GPLと違って、リンクしただけで問題になるようなことはない。

370 :デフォルトの名無しさん:2012/02/28(火) 05:29:34.77
第1節で、別モジュールの場合はEPLが論じる「Contribution」に該当しないと
定義しているよ。
だからEPLなライブラリを動的リンクしたというだけで本体までEPLの効力が
及ぶことはなさそう。

371 :デフォルトの名無しさん:2012/02/29(水) 16:14:51.18
http://cemerick.com/2012/02/27/clojure-programming-book-finished/

372 :デフォルトの名無しさん:2012/02/29(水) 16:33:14.90
programing clojure 2ed. の方はb5が出て、出版向けのデザイン・レイアウトになってた。

373 :デフォルトの名無しさん:2012/03/01(木) 12:07:25.30
pythonによる実装
https://github.com/halgari/clojure-py

s-expって移植しやすいのかな

374 :デフォルトの名無しさん:2012/03/01(木) 17:23:18.59
S式がどうこうというより、Clojure本体はclojure.langさえ移植すれば
Javaのクラスライブラリを直接使ってる場所以外は少ない変更/変更なしで動くようになってる
Clojureで書かれた部分がclojure.lang.RTを酷使してるのもそのため

375 :デフォルトの名無しさん:2012/03/07(水) 02:29:05.50
Lisp界隈の進歩が亀のようにノロい理由として、
すぐに俺実装を作りたがって開発リソースが分散しがちというのが
大きな理由としてあると思っている。

376 :デフォルトの名無しさん:2012/03/07(水) 02:39:25.59
わざわざ他スレにまで具体例付きで書き込むとはご丁寧なことだが、
Lisp界隈の進歩が遅いとみなした理由を教えてくれ。

377 :デフォルトの名無しさん:2012/03/07(水) 03:02:53.92
俺がLispを嫌いな理由は。カッコの数を数えるのが面倒だから。
個人が勝手にやるのは自由だが、他人様に見せる物じゃないと思った。

378 :電波いっぱい:2012/03/07(水) 09:31:30.40
>>375
ここ30年くらい、括弧の数なんて数えたことない、。

379 :デフォルトの名無しさん:2012/03/07(水) 11:07:23.50
>>377
プログラムの読み方を知らないとそうなる。
あと、vim/emacsでいいがエディタを選ぶ言語だってのはあるな。

380 :デフォルトの名無しさん:2012/03/07(水) 13:21:58.10
Lispに限らず括弧の対応は自動的に処理される環境を使うだろ?
誰だってそーする、おれもそーする

381 :デフォルトの名無しさん:2012/03/07(水) 13:46:06.11
>>377
割とマジで括弧の数なんか数えないぞ
エディタの補助は使うけど、適切なインデントを用いることで括弧自体は存在自体が空気みたいなものだ
Pythonのコードを置換で編集するときに空白削って涙目(パンチカードをばらまくのと一緒だけど)よりも括弧の方が遙かにましというか


382 :デフォルトの名無しさん:2012/03/07(水) 23:38:53.60
scalaやrubyつかえよ

383 :デフォルトの名無しさん:2012/03/08(木) 00:09:17.52
あーるゆーびーわいってなんだすか?

384 :デフォルトの名無しさん:2012/03/08(木) 00:44:44.69
>>383
酸化アルミニュームの一種ですよ
閃光を与えると特定波長のレーザーを励起できる物質で、宝石としても扱われます。


385 :デフォルトの名無しさん:2012/03/08(木) 00:48:59.74
トラックボールの支持球で有名な奴ですね

386 :デフォルトの名無しさん:2012/03/10(土) 12:40:41.35
>>378
戦前から括弧の数なんて数えずにlispのプログラムを作ってるよ。

387 :デフォルトの名無しさん:2012/03/18(日) 21:24:01.90
clojure-pyサンプルにあったシングルスレッド用らしいfactorial.cljの実行時間を測ってみたんだが、
作者のマシンでpypy48s jvm25sのところ、
OSX@C2D 2.4GHzでやったら、
clojurepy 0.1.0@pypy1.8.0 190s
clj1.3.0@jvm1.6.0 79s
だった。

比率はいいとして、最近のCPUのシングルスレッド性能そこまで高いの?

388 :デフォルトの名無しさん:2012/03/18(日) 22:25:35.94
これだよね?
ttps://github.com/halgari/clojure-py/blob/master/examples/factorial.clj

Core i5 660@3.33GHz WindowsXP
JVM1.6.0のClojure1.3で35秒

C2D E8400@3.00GHzの環境もあるのだが、こっちにはClojureをインストールしてない。
でも、上記の環境とくらべてそんなにCPU性能に差があるとは感じない。

79秒もかかるのは遅すぎだと思うのだが。

389 :デフォルトの名無しさん:2012/03/18(日) 23:01:56.64
ちなみに、Core i5 660は2コア4スレッド動作で、
>>388を動かしてる間は1スレッドがほぼ占有される状態で、
CPU使用率は25%〜30%をいったりきたりだった。

390 :デフォルトの名無しさん:2012/03/19(月) 23:13:26.96
http://dev.clojure.org/display/community/Google+Summer+of+Code+2012
自前のページ用意したのか

391 :デフォルトの名無しさん:2012/03/19(月) 23:17:53.71
って採択まえなので当たり前だった。

392 :デフォルトの名無しさん:2012/03/23(金) 13:08:19.82
http://www.techworld.com.au/article/419328/clojure_inventor_hickey_now_aims_android
> Hickey: We're on version 1.3; version 1.4 should be [available] in the next month or two.
> InfoWorld: What's going to be the main attractions in that?
> Hickey: The main improvement is an extensible reader. You can add your own data types to what can be read.

reader macros, finally.

393 :デフォルトの名無しさん:2012/03/23(金) 22:28:32.82
schemeベースにしなかったのは何か理由があるんでしょうか?
作者の趣味?

394 :デフォルトの名無しさん:2012/03/24(土) 00:26:02.52
どういう意味でschemeベース?
Clojure開発する前、RHは.netでdotlispというのを作っていたがこれもlispエキスパート向けではなくて、lispやschemeとちがった。
http://dotlisp.sourceforge.net/dotlisp.htm
http://en.wikipedia.org/wiki/List_of_CLI_languages
また、clojureを開発する前からJVM上ならcl(abcl), scheme(kawa)があった。

395 :デフォルトの名無しさん:2012/03/24(土) 00:45:21.89
http://en.wikipedia.org/wiki/List_of_JVM_languages

RHがlispプログラマーだったか、知らないけど、Clojureは(Arcみたいに)分かりやすいS式表現や不変データ構造が発想のベースにしあるため、clとschemeから離れてるんだと思う。
http://en.wikipedia.org/wiki/Arc_(programming_language)

396 :デフォルトの名無しさん:2012/03/24(土) 02:36:48.50
>>393
Clojureをつくったわけ
http://www.geidai.ac.jp/~marui/clojure/rationale/

397 :デフォルトの名無しさん:2012/03/26(月) 21:45:18.51
Rich Hickey 氏,Clojure/West で Datomic を語る
http://www.infoq.com/jp/news/2012/03/clojure-west

398 :営利利用に関するLR審議中@詳細は自治スレへ:2012/03/31(土) 23:35:06.36
最近ちょくちょくと人気投票見かけるけど、
HackersNewsでもやってるんだね。
http://attractivechaos.github.com/HN-prog-lang-poll.png
C++のスレで見かけたので貼ってみる

399 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/01(日) 14:45:35.51
ライブラリが充実さえしてれば人気ない方がいい

400 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/01(日) 23:25:50.53
>>399
なんとなく言いたいことは分かる。

401 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/02(月) 12:09:21.80
だがライブラリが充実するにはそれなりの裾野が必要というジレンマ


402 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 21:24:47.52
Clojureにおいて #' を使うのはどういう時でしょうか
(つまり var関数 をつかって直接Varを得るメリットということです。)?

CommonLispだと、#' を使うと、関数の名前空間から、そのシンボルに対応する関数オブジェクトを探しますよね。
#'がないと、変数の名前空間から対応する値を探しますよね。
関数オブジェクトを明示できて有用だと思います。

一方、Clojureだと、関数も変数問わず、
どちらにしろ、同じ (var 名前) が実行されて、Varが返ってきて
少なくともCommonLispのような使い分けのメリットないですよね。

強いて言うなら、Varは
ポインタみたいな役割を果たすのかとも考えたのですが、
いい具体例が思いつきません。

質問がわかりにくくてすみませんが、アドバイスお願いします。
よろしくお願いします。

403 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 23:51:15.80
(defn foo [f] (fn [x] (f x)))
(defn bar [x] (str "1st-" x))
(def boo-fn (foo bar))
(def boo-var (foo #'bar))

(boo-fn "XYZ") => "1st-XYZ"
(boo-var "XYZ") => "1st-XYZ"

(defn bar [x] (str "2nd-" x))

(boo-fn "XYZ") => "1st-XYZ"
(boo-var "XYZ") => "2nd-XYZ"

とりあえず、boo-var 側の挙動が必要なときに使えると教えてもらった。

404 :営利利用に関するLR審議中@詳細は自治スレへ:2012/04/07(土) 02:28:34.75
鳥本くるんだね

405 : 忍法帖【Lv=4,xxxP】 :2012/04/15(日) 00:20:45.90
ホントにたまたま間違って開いたすれなんだけど
見てたらやりたくなってきたから、関数型知らないけどやってみる
インストールから始めるかな


406 :デフォルトの名無しさん:2012/04/15(日) 20:05:43.31
>>405
Leiningenからはじめた方が楽かも

407 :デフォルトの名無しさん:2012/04/15(日) 22:01:14.45
とりあえずjre入れてjar落としてチュートリアルやってみた
(+ 1 2 3)で6が返ってきた時の感動は半端ない
関数型って楽しそうだ。遊んでみる

>>406
人居たのね
よく分からないけどゴリゴリやってみてる


408 :デフォルトの名無しさん:2012/04/15(日) 23:59:30.35
>>407
>>406じゃないけど、このスレ割りと人いるんだぜ
clojureの楽しいところは、泥臭いのは全部javaのライブラリが請け負ってくれる事なので、安心してclojureの世界だけで行けるってかんじ
CommonLispのCFFIでOkみたいなのが全部java側なのでCFFIで必要なライブラリを呼ぶ苦労が全くないのがミソというか

ま、楽しんでちょ

409 :デフォルトの名無しさん:2012/04/16(月) 12:10:14.52
https://github.com/clojure/clojure/blob/master/changes.md
1.4がきたのね

410 :デフォルトの名無しさん:2012/04/16(月) 22:12:10.79
1.2から1.3みたいな断絶はないとのこと。
http://corfield.org/blog/post.cfm/clojure-1-4-0-clj-time-congomongo

411 :デフォルトの名無しさん:2012/04/16(月) 23:43:37.33
そりゃよかった

412 :デフォルトの名無しさん:2012/04/19(木) 10:33:46.52
light table
http://www.chris-granger.com/2012/04/15/light-tables-numbers/
http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/

まずは、clojureとjs対応(他の言語はプラグインで追加)の開発環境というか拡張エディタというか

ちょっと話題になってる。


413 :デフォルトの名無しさん:2012/04/19(木) 10:35:44.39
コンセプトモデルなので、これから作るという話みたい。

414 :デフォルトの名無しさん:2012/04/19(木) 14:52:58.67
clojureは少し枯れ気味になるのを待ってるけど、何年先になるんだろうな。
1.2->1.3のようなことが何度もあるとちょっと使いづらい。

415 :デフォルトの名無しさん:2012/04/19(木) 23:03:49.77
java1.4-1.6で動くように作ってたので、clojureの後方互換性も重視してるのかなと思ったけど、
思ったよりライブラリ関連での断絶があるし、告知や対応が分かり辛いかな。

416 :デフォルトの名無しさん:2012/04/21(土) 00:26:45.03
http://sourceforge.jp/magazine/12/04/20/1025254
おっと、.や#に影響ある変更あるのか。

417 :デフォルトの名無しさん:2012/04/23(月) 17:52:06.34
日本でClojure使ってるプロダクトやサービスとかってbyflow以外にあるのでしょうか?
海外だとミドルウェアでの利用を中心として、FlightCaster、Storm、Datomic、Prismaticあたりでしょうか。

418 :デフォルトの名無しさん:2012/04/23(月) 23:29:32.11
http://dev.clojure.org/display/community/Clojure+Success+Stories
clojure MLで集まった海外の事例はここにあるよ。
去年募集したときのがほとんどなので、最新はもっと増えてる気はする。

419 :デフォルトの名無しさん:2012/04/24(火) 13:09:26.53
おお!ありがとうございます。
ただ日本の事例がのってないのですね・・・




420 :デフォルトの名無しさん:2012/04/28(土) 01:29:56.77
Typed Clojureという単語に、注目してるのは、型付きラムダ計算メインな人達なのか、LLメインの人達なのか、それともClojureメインの人達なんだろか。

Typed Racketのライブラリの移植なのかなと思ったんだけどどうなるんだろ?

421 :デフォルトの名無しさん:2012/04/28(土) 01:31:18.26
clで、型指定してunsafeにするみたいな高速化の効果はあるんだろうか。

422 :デフォルトの名無しさん:2012/04/28(土) 01:48:35.02
ループの中で(.read st)とかをぶん回すときに
#^java.io.BufferedInputStream stしてあるかどうかでかなり速度が違う。

423 :デフォルトの名無しさん:2012/04/30(月) 00:17:53.37
>>422
確かに十倍ぐらい差が出る事があるね。

424 :デフォルトの名無しさん:2012/05/01(火) 02:10:51.29
Clojure に型推論+型宣言の”オプション”をつけてほしい.


425 :デフォルトの名無しさん:2012/05/02(水) 01:09:54.57
.NET専用になってからな。

426 :デフォルトの名無しさん:2012/05/02(水) 10:14:34.69
>>424
ソースは公開されてるからclokellとでもして新しい言語を作ってみたらどう?

427 :デフォルトの名無しさん:2012/05/02(水) 12:13:04.49
Hasjureを推すね。

428 :デフォルトの名無しさん:2012/05/02(水) 12:29:33.95
当たりとは正反対の方向を向いてる言語になりそうだ

429 :デフォルトの名無しさん:2012/05/02(水) 15:15:31.75
くろ☆ける

430 :デフォルトの名無しさん:2012/05/02(水) 17:39:01.87
はす☆じゃあ

431 :デフォルトの名無しさん:2012/05/06(日) 13:46:59.37
>>424
後からソースコードに推論した型の宣言文を自動で追加するツールが欲しい

432 :デフォルトの名無しさん:2012/05/06(日) 23:24:00.55
>>431
ちょろっとがんばれば作れそうだが俺がやるとマクロ展開済みになっちゃった後みたいな悲惨な事になりそうで鬱だ


433 :デフォルトの名無しさん:2012/05/07(月) 19:16:46.72
コンパイラが型推論してくれてるんだから、その情報を吐き出してほしい
秘密のオプションとかないのだろうか

434 :デフォルトの名無しさん:2012/05/07(月) 19:35:57.71
Clojureはコンパイル時に型推論はしてないんじゃないの?

435 :デフォルトの名無しさん:2012/05/07(月) 19:52:28.91
ということは、自動化は無理だな…

436 :デフォルトの名無しさん:2012/05/08(火) 02:21:02.88
JVMのバイトコード生成してるなら、javaの逆コンパイラjavapを利用してjavaのスケルトン生成して、それをパースして型を記述できないだろうか


437 :デフォルトの名無しさん:2012/05/08(火) 13:46:07.75
型情報を静的に確定したバイトコードを生成しない

438 :デフォルトの名無しさん:2012/05/08(火) 19:28:55.40
型安全性のためじゃなくて、パフォーマンス向上のための型推論なら、数値周りとstaticなメソッド呼び出し、型ヒントをつけたオブジェクト周りはやってくれたはず。
普通の関数呼び出しは型情報がなくても、invokeinterfaceにコンパイルされるから十分速い。

439 :デフォルトの名無しさん:2012/05/08(火) 20:35:59.19
速度よりも、保守のために型の情報がほしい
1年後に関数見ても関数名だけじゃ何やってるか分からない

440 :デフォルトの名無しさん:2012/05/08(火) 21:57:22.79
>>436
引数フィールドがObjectじゃ涙目になるしかなかろう
JVMのバイトコードまで追いかけるくらいならs式状態で追い回す方が楽だよ


441 :デフォルトの名無しさん:2012/05/11(金) 08:22:14.63
カタカタ言ってる奴って何ガタガタしてんの?なんか麻薬が切れた中毒患者みたいに見える。
LISPで型を意識しながら作るってのは普通だけど、
なるべくシンプルに作ることを心がけてる?


442 :デフォルトの名無しさん:2012/05/11(金) 08:29:58.35
うーん。3点

443 :デフォルトの名無しさん:2012/05/12(土) 11:43:26.46
>>441
プログラムを作るのは自分だけじゃないから
他人の作ったプログラムも解読しないといけないから

自分の作ったプログラムでさえ何やってるのか忘れるというのに

444 :デフォルトの名無しさん:2012/05/17(木) 04:45:44.93
型なんてコードを追いかける上で大した情報じゃないとおもうけどなぁ

445 :デフォルトの名無しさん:2012/05/18(金) 22:45:45.71
型があると楽なこと
・オブジェクトを定義してるソースファイルをすぐに特定できる
・ユニットテストやるときにコードをブラックボックスにしてテストデータを自動生成できる
・勝手に型変換されてないかチェックしやすい

446 :デフォルトの名無しさん:2012/05/25(金) 06:32:54.13
LightTableがkickstarterでスタートアップ資金20万ドル集めたり、Yコンビネータにスタートアッププログラム参加を認められたり。
商用IDEでClojureが話題になるとは思わなかった。

447 :デフォルトの名無しさん:2012/05/25(金) 14:07:16.46
Clojure Programmingって本 1.3.0以上対応の本なんだね。

448 :デフォルトの名無しさん:2012/05/27(日) 10:33:40.71
型推論でも静的解析でもないけど、
seesaw.dev の show-options や show-events は便利だと思った。

449 :デフォルトの名無しさん:2012/05/27(日) 18:11:07.60
1.3以上対応というと、この二つかな?

Programming Clojure 2nd ed.
http://pragprog.com/book/shcloj2/programming-clojure

オライリーのClojure Programming
http://www.clojurebook.com/

450 :デフォルトの名無しさん:2012/05/27(日) 21:11:06.50
clojure-pyは、土台にしてる生pythonと同じぐらいの速度で動いてるらしい。
一番上のレイヤーをclojureで書きたいけど、 NumPy、SciPy、RPy2みたいなネイティブコード使うライブラリで科学計算を速くしたい人向けなのかな?
http://clojure-py.blogspot.jp/2012/02/ive-been-asked-many-times-recently-how.html?m=1

451 :デフォルトの名無しさん:2012/05/27(日) 21:17:04.12
pythonの特色に合わせていろいろチャレンジしてて面白い
http://clojure-py.blogspot.jp/2012/04/clojure-py-02-released.html
http://clojure-py.blogspot.jp/2012/04/clojure-py-and-distributed-concurrency.html
http://clojure-py.blogspot.jp/2012/04/clojure-py-and-distributed-concurrency_18.html

JVMにないものを実装する悩みもあったり
http://clojure-py.blogspot.jp/2012/04/ifn-vs-call.html

452 :デフォルトの名無しさん:2012/05/28(月) 00:10:41.07
>>450
使いたい人が限られる状況だね。おっしゃるように
pythonライブラリ群を利用したい人みたいだね。
丁度、lispでjavaライブラリ群を使いたい人がclojureを始めたようにね。


453 :デフォルトの名無しさん:2012/06/10(日) 16:30:44.06
末尾再帰最適化するマクロかな?
https://github.com/cjfrisz/clojure-tco

454 :デフォルトの名無しさん:2012/06/10(日) 16:38:57.23
末尾最適化ってJVMの都合でできないという話だったけど、マクロでできるならコンパイラでもできるのではなかろうか

455 :デフォルトの名無しさん:2012/06/10(日) 17:11:55.27
限られたパターンに限ってループに変換することなら可能なんじゃない?
例えばSchemeの仕様が要求してる、可能なパターンにおいて全て最適化せよ、
という要求は満たせない、という意味かと>できない

456 :デフォルトの名無しさん:2012/06/18(月) 16:44:09.75
トランポリンするコードへのソースコード変換

457 :デフォルトの名無しさん:2012/06/19(火) 22:04:59.08
>>454
なんでできないんだろう?
JVMのインストラクション見てる限り不可能じゃなさそうだけど、クラスローダに却下されるんだろうか?


458 :デフォルトの名無しさん:2012/06/19(火) 22:38:31.95
どの命令で出来るっていうんだよw

459 :デフォルトの名無しさん:2012/06/20(水) 02:38:11.15
https://twitter.com/tnoda_/status/213644201613721601
clojure programming本、力強くていいなあ。

460 :デフォルトの名無しさん:2012/06/20(水) 08:18:37.12
.NETでHaskell、という処理系も無理、とかいう話なんだよな。

461 :デフォルトの名無しさん:2012/06/21(木) 21:36:49.92
Counterclockwise 0.9.0.STABLE001
http://code.google.com/p/counterclockwise/

462 :デフォルトの名無しさん:2012/06/21(木) 23:07:51.07
>>458
仮に末尾最適化がJVMの都合でできないとしたら、JVMの計算能力は、目の前のPCのCPUの計算能力と異なるということではなかろうか
同じPCで動くSchemeのコンパイラは末尾最適化するから

組み込みでも動くように設計してるから、JVMは理論的な計算能力が低いということだろうか?

463 :デフォルトの名無しさん:2012/06/21(木) 23:12:04.71
計算能力って?

464 :デフォルトの名無しさん:2012/06/21(木) 23:22:49.30
http://www.ibm.com/developerworks/java/library/j-diag8/index.html

465 :デフォルトの名無しさん:2012/06/22(金) 00:13:59.12
>>462
それだと「末尾ジャンプ出来ないとチューリング完全ではない」と主張していることになる。
しかしそうではない。

466 :デフォルトの名無しさん:2012/06/22(金) 01:18:01.16
チューリングマシンは無限長のメモリ領域を仮定するよね

467 :デフォルトの名無しさん:2012/06/22(金) 12:01:21.35
動的メモリ操作が出来れば末尾再帰は仮想的に実現できる。
JVMの命令で直接実現するのは無理。
次の仕様変更のテーマの一つ。

468 :デフォルトの名無しさん:2012/06/22(金) 22:16:45.30
>>463
計算可能な関数のクラスのこと

>>467
末尾最適化ってポインタ操作が必要なのか…

469 :デフォルトの名無しさん:2012/06/23(土) 00:53:24.19
ポインタというか、
リストか、
スタック二本(トランポリン)あれば、
実現可能。

470 :デフォルトの名無しさん:2012/06/24(日) 09:05:19.32
clojure/west 2012の動画が少しずつ追加されてる。
http://www.infoq.com/clojure-west-2012/
スライド単体は、先にあがってた。
https://github.com/strangeloop/clojurewest2012-slides

471 :デフォルトの名無しさん:2012/06/24(日) 13:53:25.64
ClojureCLRが1.4.0に到達したらしい。
http://clojureclr.blogspot.jp/2012/06/clojureclr-14-released-with-code-gen.html

472 :デフォルトの名無しさん:2012/06/24(日) 15:33:16.28
>>471
マジか!
でもなぁ、実際仕事で使うときってJava側ライブラリとかつかっちゃったりするから単体の移植ってあんまり意味ないのが困るよね>>clojure
leiningenのCLI版も必須というか。 orz



473 :デフォルトの名無しさん:2012/06/25(月) 02:21:58.68
いよいよJVMを切る時期が近づいてきたな

474 :デフォルトの名無しさん:2012/06/25(月) 03:32:44.34
>>473
jettyかtomcatが必須なライブラリばっかり使ってるんだけどCLIだと何かいいのあるかな?


475 :デフォルトの名無しさん:2012/06/25(月) 21:31:47.40
そういえばclojureCLRの紹介って、
WindowsのGUIがいじれるよとか、.netにある機能を使えるよとかだね。
JVM上で活発な機能を移植しようという話は、まだ聞かない。

ringのadaptorを用意すれば動くんだろうか。

476 :デフォルトの名無しさん:2012/06/25(月) 22:38:55.75
CLRだとDBへのアクセスはどうなんの?

477 :デフォルトの名無しさん:2012/06/26(火) 00:28:22.92
native clojureまだー?

478 :デフォルトの名無しさん:2012/06/27(水) 01:48:15.72
>>477
リッチさんがそれは邪悪って論文かいてるやん
LLVMはアリかもしれんけど


479 :デフォルトの名無しさん:2012/06/27(水) 23:46:32.56
新しい商用IDE LightTableのサンプル
http://app.kodowa.com/playground

1日しかたってないけど、みんないじってるみたい。
http://www.chris-granger.com/2012/06/26/24-hours-later/


480 :デフォルトの名無しさん:2012/07/01(日) 00:56:12.49
redhat clojure部隊の分散トランザクション(XA準拠)
http://immutant.org/news/2012/06/26/transactions/

なにげにDBまわりの設定がまとまってる。

481 :デフォルトの名無しさん:2012/07/04(水) 03:59:14.89
>>478
初耳なんだが、ソースは?
そもそも論文書いてるの見た事ない。

482 :デフォルトの名無しさん:2012/07/04(水) 09:24:40.62
Light Table playground試してみたけど、こりゃ楽しいな
$50でもなんでもいいから早く完成して欲しい

483 :デフォルトの名無しさん:2012/07/08(日) 09:34:22.85
Counterclockwiseスポンサー付いてたのか
どんどん発展するといいな

484 :デフォルトの名無しさん:2012/07/10(火) 00:53:43.02
RelevanceはClojureのスポンサー兼コア開発者なので、IDEのスポンサーやるのも自然ではあるかも。
http://clojure.com/about.html

最近はRedHatなんかもライブラリ開発やイベントスポンサーをやってる。
http://euroclojure.com/2012/sponsors/
http://clojurewest.org/sponsors/

485 :デフォルトの名無しさん:2012/07/12(木) 01:26:57.23
>>477
ClojureCってのが作られてるらしい。
https://github.com/schani/clojurec

486 :デフォルトの名無しさん:2012/07/12(木) 19:21:40.53
そこまで行くなら普通にLISP使うか、ObjectiveCを使う

487 :デフォルトの名無しさん:2012/07/13(金) 22:52:41.15
やはり天才
http://datomic.com/

488 :デフォルトの名無しさん:2012/07/14(土) 12:57:10.79
http://juliangamble.com/blog/2012/07/13/amazing-lisp-books-living-again-in-clojure/
LISP本のclojure置き換え記事一覧(英語)

489 :デフォルトの名無しさん:2012/07/14(土) 13:10:18.81
clojure-pyは、科学計算のネイティブライブラリー使うのにいいなと思ったけど、
clojurecみたいに全体をネイティブにするとなると、goとかシステム向けの特色が欲しいところ。

490 :デフォルトの名無しさん:2012/07/14(土) 15:55:05.44
べーむのGCよりJVMのGCの方が性能よさげだと思うので実用向けというわけじゃないんじゃなかろか clojurec


491 :デフォルトの名無しさん:2012/07/14(土) 16:49:12.95
>>490
そこ、発音悪い。オの口でエーと発音するんだ。orz

492 :デフォルトの名無しさん:2012/07/17(火) 13:13:02.70
いやだからエーと発音してんじゃないかい?

493 :デフォルトの名無しさん:2012/07/18(水) 06:24:43.99

      .      ゙    , ゙
        ヾ   .。 . 。
     ,゙     ./ / ./ / , -―-、       
  く       ./ / ./ /./    ヽ   
       /./ ./ ̄ /  /゙i⌒ヽ、|    ヴェェェェェェェェwwww
 ノ    / ,ヽ V/  /゙ヾ/          
     /    、/ ,ー´-/       
    =彳    |‘゚。、` ヽ。..,..o   
    /        ゙, ,( ゙゚、。、。、o\
   /        | |ヽ ヽU  o  \
   /         | │ \ o ∴ `ヽ8 \
  │         \\U 。  ゙ 。 U 、 :l
  /          ゙し、、  ・  。 、 。 |:!
            。 U\..\ o ○  U
                。  ゙ o し ゙ 8 。

494 :ぼるじょあ ◆yBEncckFOU :2012/07/18(水) 07:02:59.22
(・3・)エェーここなんのスレだYO

495 :デフォルトの名無しさん:2012/07/18(水) 11:49:28.27
Clojureかabcl(JVM上のCL)で迷ってるんだけど、
みなさんがClojureを選んだ理由は?
何か決め手ある?

並列処理に強いって言っても、今回は細粒度の並列処理はそこまで必要性高くないんだよね。どうしようかな。


496 :デフォルトの名無しさん:2012/07/20(金) 10:25:45.27
言語を選ぶ理由はひとつ。
流行ってるか、流行ってないかだ。

497 :デフォルトの名無しさん:2012/07/20(金) 10:40:41.39
なら Javascript 一択だな

498 :デフォルトの名無しさん:2012/07/20(金) 13:23:08.44
clojureって海外では流行ってるの?
twitterで、今やっとけばチートできる!(まわりを出し抜ける?)みたいな投稿あったけど。

499 :デフォルトの名無しさん:2012/07/20(金) 23:45:27.95
abclはclを使いたいけど、JVMを使う必要があったり、ライブラリーが使いたい場合、
clojureは、clojureの記述方法が他のLISPより気に入ってたり、イミュータブルにやってみようと思ったり、積極的にjavaのツール・ライブラリーを密接に使いたいという場合になるかな。

500 :デフォルトの名無しさん:2012/07/20(金) 23:50:32.22
日本より、都市ごとのコミュニティー活発だし、コントリビュートや勝手ライブラリーの開発者も多いかも。
http://dev.clojure.org/display/community/Clojure+User+Groups

501 :デフォルトの名無しさん:2012/07/21(土) 12:47:37.62
>>499
d

とりあえずCojureをいじってるんだけど、LOLが積ん読状態なんだよなぁ。両方やりたいが頭が爆発しそうだ

502 :デフォルトの名無しさん:2012/07/21(土) 23:07:11.05
ネイティブコンパイラのClojureってナンセンスだと思ってたんだけど、
冷静に考えるとIntelもHardware transactional memoryを提供する
方向に向かっていると思うし、HTMに対応できるかJVM任せっていう
状況になることを考えると、それほど無しでは無い気がしてきた。
BlueGene/QではすでにHTM実装されてるらしいし。

503 :デフォルトの名無しさん:2012/07/22(日) 13:27:37.35
>>495
本屋に解説書があるかないかがすべて

504 :デフォルトの名無しさん:2012/07/22(日) 14:54:45.44
オライリーの翻訳本でないのかね?

505 :デフォルトの名無しさん:2012/07/22(日) 16:30:15.59
でないんでない?

506 :デフォルトの名無しさん:2012/07/24(火) 01:40:35.74
はやくJVMと決別しろ

507 :デフォルトの名無しさん:2012/07/24(火) 06:34:40.45
The work on reducers on the JVM side has introduced version-specific implementation (using Fork/Join in JVM 7 or falling back to other means on earlier versions).

508 :デフォルトの名無しさん:2012/07/24(火) 06:35:45.36
I suspect a similar 3.5/4.0 .Net distinction could be made to take advantage of the Task Parallel Library (or whatever it is called these days). If you've played with TPL under ClojureCLR, I'd love to hear about it.
http://clojureclr.blogspot.jp/2012/06/clojureclr-14-released-with-code-gen.html

509 :デフォルトの名無しさん:2012/07/24(火) 23:09:03.16
java1.4で動くんだっけ?

510 :電波いっぱい:2012/07/25(水) 00:24:44.99
1.5以上が必要です。

511 :デフォルトの名無しさん:2012/07/25(水) 23:02:03.29
2012 State of Clojure survey
http://cemerick.com/2012/07/19/2012-state-of-clojure-survey/
26日まで募集中

512 :デフォルトの名無しさん:2012/07/26(木) 05:31:04.59
clojureの選択
http://blog.practical-scheme.net/shiro/20120711-design-decision

ClojureCLRでngenまでやると起動がそこそこ速くなる。
ウエイトが大きいらしいメタ情報の初期化も速くなるのかね。
http://clojureclr.blogspot.jp/2011/12/using-ngen-to-improve-clojureclr.html

513 :デフォルトの名無しさん:2012/07/28(土) 22:24:01.05
>>512
サーバプロセスで使ったりしてる分には起動時間気にならないし普段slime(lein swank)相手だとそも再起動すること自体が少ないからこまらないが
アプリで使うには致命的なのかな


514 :デフォルトの名無しさん:2012/07/29(日) 11:23:21.46
Leiningenも最初遅いよな(´・ω・`)

515 :デフォルトの名無しさん:2012/07/30(月) 12:35:28.59
>>514
lein compile
とか
lein uberjar
するとき泣ける
でも
lein swankで
居続けをすれば良いことに気づいてから作り方の方を変えちゃったよ


516 :デフォルトの名無しさん:2012/07/30(月) 21:17:37.72
>>506
JVMというか、JavaのAPIが使えないならLISPを使う

517 :デフォルトの名無しさん:2012/08/01(水) 22:17:03.15
A Logic Programming Reading List
http://dosync.posterous.com/a-logic-programming-reading-list
http://szamitogepesnyelveszet.blogspot.jp/2012/08/another-logic-programming-reading-list.html

この界隈では多いけど、どれぐらい実用的なんだろう。
datomicのdatalogもそうだよね。

518 :デフォルトの名無しさん:2012/08/01(水) 22:21:06.30
gem install cake
でインストールしたcake使うと、カレントディレクトリごとに
replが立ち上がりっぱなしになるのでそれなりに速い

519 :デフォルトの名無しさん:2012/08/02(木) 09:17:41.36
cake旨く動かないんだよなぁ
rubyのバージョンとgemとかもう環境汚染の一種じゃなかろか

rubyはISOでなんとか規格化してくんないと今後滅ぶ物の一種だとしかおもえない(言語的には嫌いではないんだが、環境を揃えるのが苦痛になりつつある)


520 :デフォルトの名無しさん:2012/08/02(木) 23:32:28.95
http://d.hatena.ne.jp/athos/touch/20110515/clojure_on_nailgun_and_groovyserv
こんなのも。

nailgunは、VimClojureでも使われてるね。

521 :デフォルトの名無しさん:2012/08/02(木) 23:49:48.18
サービスやる人たちは、環境揃える必要は感じていてrubyのバージョン管理にrvmとプロジェクトのgemをbundlerを使ってるね。

mavenやleinningenがbundlerにあたるが。
rvmに当たる物はjavaにないけど、6,7やibmのjvmに切り替えるのも簡単だから必要ないかな。

522 :デフォルトの名無しさん:2012/08/02(木) 23:50:52.43
サービスやる人たちは、環境揃える必要は感じていてrubyのバージョン管理にrvmをプロジェクトのgem管理にbundlerを使ってるね。

bundlerが、mavenやleinningenにあたり、
rvmに当たる物はjavaにないけど、6,7やibmのjvmに切り替えるのも簡単だから必要ないかな。

523 :デフォルトの名無しさん:2012/08/02(木) 23:51:27.15
ニジューダー
ごめんなさい

524 :デフォルトの名無しさん:2012/08/04(土) 10:36:49.18
関数への引数としてJavaのクラスを渡してインスタンス生成することは
できませんか?
http://clojure.org/java_interop
を見る限り、なさそうなんですが。クラス名はコンパイル時に解決されるみたい。

やりたいことは、雰囲気としては
(defn myfunc [cls] (new cls))
(myfunc mypkg.MyJavaClass)

マクロ書かないと駄目でしょうか?

525 :デフォルトの名無しさん:2012/08/04(土) 11:43:50.53
>>524
つリフレクション

(defn new-instance [klass] (.newInstance klass))
(new-instance HogeClass)

526 :デフォルトの名無しさん:2012/08/04(土) 21:57:14.06
>>525
おお、ありがとうございます(`・ω・´)


527 :デフォルトの名無しさん:2012/08/05(日) 07:27:13.01
Javaから勉強し直したほうがよい

528 :デフォルトの名無しさん:2012/08/05(日) 18:00:21.10
Javaを抽象的に扱うことができるという利点に気付いてほしい

529 :デフォルトの名無しさん:2012/08/06(月) 20:51:52.60
http://d.hatena.ne.jp/athos/touch/20110416/apply_ctor
リフレクションといえば、こんな話題もあった。

530 :デフォルトの名無しさん:2012/08/06(月) 20:54:48.65
clojurescriptなど考えると、
javaを使うinteropとその他は切り分けて考えたほうがいいかも。

531 :デフォルトの名無しさん:2012/08/06(月) 21:29:04.59
JavaしらんけどClojure使ってるよ。lispさえ知ってれば問題ない。

532 :デフォルトの名無しさん:2012/08/06(月) 22:25:28.56
最近leiningenでdependencyのコンフリクトで悩んでる
1.3以降のclojureでだけなんだけど
一部のライブラリがそれぞれ依存しているjarのバージョンの微妙な差異で動かなかったりする

しかたが無いので元のライブラリのソースをforkしてローカルリポジトリで扱っているのだけど、同じような事のせいでclojarsとかに作者違いのforkバージョンがいっぱいあるんじゃないのかと思うようになった。

こういうのとりまとめてるサイトってないのかな?(みんなで車輪の再発明ならぬforkしてるというか)

533 :デフォルトの名無しさん:2012/08/12(日) 19:22:00.15
今年のclojure利用者調査
http://cemerick.com/2012/08/06/results-of-the-2012-state-of-clojure-survey/

534 :デフォルトの名無しさん:2012/08/12(日) 19:37:23.69
前半は、毎年の調査結果と同じみたいだね。
clojureと一緒に使ってる他の言語はjava,ruby,python。
clojureが無くなったら、lispか(静的)関数型を使いたいという。

535 :デフォルトの名無しさん:2012/08/19(日) 23:51:24.38
>>532
今痛感した
java.jdbcとかdatabase関係のライブラリが泣ける
clojarsみたらスゲー量のforkライブラリがあって泣き笑い中


536 :デフォルトの名無しさん:2012/09/02(日) 13:07:17.58
swank-clojureいつの間にDeprecatedになってたんだ
これからはRitzってのが発展しそうなのかな
美味そうな名前でなにより

537 :デフォルトの名無しさん:2012/09/02(日) 14:37:42.56
これからは、とか言ったけど2年前からあったんだな
知らんかった

538 :デフォルトの名無しさん:2012/09/02(日) 19:51:45.71
>>536
同じ作者(?)のnreplっての使ってみたけど、触った感じだと結構良い。

539 :デフォルトの名無しさん:2012/09/03(月) 03:36:07.62
nREPLは直接使うよりは、REPL-y等を使うほうが良いんでないかな

540 :デフォルトの名無しさん:2012/09/03(月) 22:18:22.96
>>539
d

541 :デフォルトの名無しさん:2012/09/04(火) 22:38:42.22
Ritz使いたくていれてみようとしたらEmacs22だと辛い
出たばっかりのEmacs24入れたらSegFaultで落ちることがあるので怖くて使えん
皆Emacsは23なの?
Emacs22でRitz使うTipsないかな(emacs package.elのTipsかもしらんけど)




542 :デフォルトの名無しさん:2012/09/16(日) 03:52:14.18
仕事でClojure使っていたのだが、新しい案件でpure java言われて久々にJavaのみでコード書いたら辛いこと辛いこと。
hashやregexpのリテラルが扱えないのがこんなにめんどくさいとは思わなかった。
開発効率が違いすぎるのでclj解禁してくれるようにちょっと根回ししてみようと思うくらいClojure中毒かもしれない。

連休なくなっちゃうんだものなー、見積もり間違った俺がわりぃんだけどさ。


543 :デフォルトの名無しさん:2012/09/16(日) 15:33:32.73
Emacs24でritz使ってみようと思ったんだけど、エラーで使えなかった。
とりあえずnreplを0.1.4にアップグレードして、
(marmaldeは0.1.3しか無いので、githubからダウンロードして
install-from-bufferみたいなやつでインストール)、
その後ritzインストールしたけど動かない。

ritz-nrepl-jack-inでエラーメッセージがminibufferに出るんだけど
スタックトレースの下の方しか見えない上にクリックとかすると
即座に消えてしまう・・・どっか別のバッファに出てないのかな?


544 :デフォルトの名無しさん:2012/09/16(日) 17:37:18.45
>>542
clojure から .java ソースに自動変換するプログラムを作ってる人がいると思う
LISPからCに自動変換するプログラムがあるから

545 :デフォルトの名無しさん:2012/09/16(日) 18:37:31.82
>>543
minibufferのメッセージはBufferListの *Messages*に全部積もってるからそれ見るとわかるかもよ?
ritzは1.3をママレから落としたのつかってるけど1.4だとなんか良いことあるのかな?


546 :デフォルトの名無しさん:2012/09/16(日) 22:45:04.86
>>545
0.1.4を入れたのは、ritzが要求してるからなんだけどママレードには0.1.3しか
なくて、悩んだ末に一回も使ったこと無いinstall-from-buffer(だっけ)を使った

そうか、*Messages*にあるのか。見てみる。d

もしかしてritzのdependencyを書き換えたが方が早いというオチかな?

547 :デフォルトの名無しさん:2012/09/17(月) 20:35:45.57
ritzのチュートリアル的なサイトってある?

548 :デフォルトの名無しさん:2012/09/18(火) 00:21:03.75
>>544
.javaファイル生成する必要があるのなら、.classファイルの逆アセンブルになる気がする。
(ASM使ってる部分がどうなるか分からないけど)

そういえば、JVM,.net,pyだとclojureのコードが直接動くようにバイトコード変換する部分を作ってるけど、
js,cだと各言語に変換するのか。

549 :デフォルトの名無しさん:2012/09/29(土) 17:34:21.04
ritzすげぇ、デバッグがめちゃ楽になった


550 :デフォルトの名無しさん:2012/10/01(月) 19:40:15.18
>>549
ritzのバージョンがここの処毎週上がるのだが、上げたらデバッグ出来ない状態になって困った。
lein側でclojureの方はバージョン管理できるのだが
emacs lisp側がどうしようもない

nreplの nrepl-eval-requestの引数の数が違うとかで実行そのものが駄目になるとか勘弁してほしい(これは手でパッチした)>>Hugo先生


551 :デフォルトの名無しさん:2012/10/02(火) 17:16:59.38
わーん、割とマジで困ってるので誰か助けて!
rein-ritz-jack-in
でrepl作っても例外で止まってくれない(SLDBモードにならない)
M-x nrepl-ritz-break-on-exception
するとウントモスントモ言わなくなる

nREPL> (throw (RuntimeException. "hoge"))

普通は↑でSLDBに入るはずなんだけどそうならなくなった

環境はEmacs24+elpa-marmaladeのnrepl, nrepl-ritz + leiningen2 preview10 ritz-0.5.0


552 :デフォルトの名無しさん:2012/10/04(木) 12:53:55.34
Helpモノはいつまでに教えないと困るのか書かないとダメだと思う

553 :デフォルトの名無しさん:2012/10/04(木) 23:15:05.67
news groupでも同じ質問でてたな
ritz作者のHugoからは返信きてないみたい、news groupのはMacOSだけど同じだったらJobsの呪いにちがいない


554 :デフォルトの名無しさん:2012/10/09(火) 22:05:43.59
http://www.lispcast.com/static-vs-dynamic-typing
HaskellとClojureがメインって人は、
チョットしたスクリプトはどうしてるのかな。

555 :デフォルトの名無しさん:2012/10/10(水) 02:32:14.02
>>554
CL使ってる頃からREPLでそのまま実行してる
スクリプトを起動するんじゃなくて、自分の環境にファイル名を食わせるっていえばわかるかな?

バッチにするようなのはpython使ってる


556 :デフォルトの名無しさん:2012/10/10(水) 08:52:11.23
>>555
>自分の環境にファイル名を食わせるっていえばわかるかな?
Smalltalk的だな、なんて思う自分は、まだまだ青二才なんだろう

557 :デフォルトの名無しさん:2012/10/10(水) 22:15:11.27
スクリプトのファイル名の先頭に日付をつけたいです

558 :デフォルトの名無しさん:2012/10/12(金) 00:48:26.76
意図がわからんけど、履歴を管理したいのであれば
gitやsvnみたいなバージョン管理システムじゃダメなの?

559 :デフォルトの名無しさん:2012/10/12(金) 21:20:10.74
>>558
スクリプトごときでバージョン管理システムは使いたくないです
ファイル名前見ただけで、作った日付+内容が一目で分かってソートできるとよいのですが

シェルスクリプトとかlispとかはファイルに日付つけてたので

560 :デフォルトの名無しさん:2012/10/12(金) 22:36:49.27
strangeloopは先月あったのか。
http://blog.getprismatic.com/blog/2012/10/1/prismatics-graph-at-strange-loop.html
prismatics

http://www.linkedin.com/in/bradfordcross
おもしろそうだけど

561 :デフォルトの名無しさん:2012/10/12(金) 22:49:39.57
ClojureTCO
https://github.com/cjfrisz/clojure-tco
A little bit of CPS, a few thunks, and a trampoline
http://www.chrisfrisz.com/blog/?p=220
http://www.chrisfrisz.com/blog/?p=234

syntactic-closure
https://github.com/athos/syntactic-closure
Macros in Clojure
http://www.slideshare.net/sohta/macros-in-clojure

Typed Clojure
https://github.com/frenchy64/typed-clojure

いろんな言語拡張があるんだね。
上二つは、もうそこそこ使えるのかな。



562 :デフォルトの名無しさん:2012/10/13(土) 18:17:10.64
nreplって、leinプロジェクトの外でもrepl起動できるのか。
便利だ。
これって前からできたっけ?できなかったよね?

563 :デフォルトの名無しさん:2012/10/13(土) 19:15:05.72
>>562
nrepl-3.xの頃には既にあったよ
五月くらいだったかな


564 :デフォルトの名無しさん:2012/10/14(日) 06:07:59.13
>>561
ClojureTCOは、やってることは単純なCPS変換っぽいけど、変換するときにマクロ展開をしないでそれぞれの構文に対して変換処理を定義してるから、Clojureのかなり限られた範囲の構文しか使えない。

syntactic-closureは、syntactic closureとしては使えるのかもしれんが、そもそもsyntactic closureでマクロを定義するのがダルい。健全なマクロならsyntax-rulesも欲しい。

この中なら、Typed Clojureが一番成熟してそうなイメージ。使ったことはないが。

565 :デフォルトの名無しさん:2012/10/14(日) 11:36:34.06
>>563
あー、swank-clojureと混同していたかも。スマソ

566 :デフォルトの名無しさん:2012/10/20(土) 00:08:59.30
https://github.com/strangeloop/clojurewest2012-slides

https://github.com/strangeloop/strangeloop2012

567 :デフォルトの名無しさん:2012/10/21(日) 14:59:03.70
clojure-testモード使ってみて思ったが
コマンドラインでlein testってやるともっさりしてイヤになっていたのがウソの様に軽い
癖になりそうだ



568 :デフォルトの名無しさん:2012/10/21(日) 23:37:59.82
>561
こういうの実装したいと思ったら、このインタビュー記事が面白いかも。
http://clojure.com/blog/2012/02/16/take5-william-byrd.html

569 :デフォルトの名無しさん:2012/10/21(日) 23:45:28.76
4clojureの #120 がタイムアウトで通らない・・・なぜだ

570 :デフォルトの名無しさん:2012/10/25(木) 23:33:28.29
商用AOTコンパイラ(win/linuxのみ)がチャリティで無償(寄付金$10のみ)で配布してるみたい。
これでコンパイルしたjarでREPLやスクリプトが正確で高速に動くか興味ある。
http://www.excelsior-usa.com/jetcharity.html

ちなみに、.netではAOTが一般的にあったりする。
http://clojureclr.blogspot.jp/2011/12/using-ngen-to-improve-clojureclr.html
http://www.mono-project.com/AOT

571 :デフォルトの名無しさん:2012/10/30(火) 13:30:32.93
ClojureでAOTねえ

572 :デフォルトの名無しさん:2012/11/03(土) 00:26:28.45
http://clojure-conj.org/
もうそろそろだね。

573 :デフォルトの名無しさん:2012/11/03(土) 00:40:18.03
http://shootout.alioth.debian.org/u32/which-programs-are-fastest.php
JS V8とかLuaJITはおかしい(クレイジーな)ことになってるけど、
sbclはc++の、clojureはjavaの3倍ぐらいで
一般的なLL言語の10-100倍という単位とは違う。
動的に解決が必要なものが一般的なLLと比べて少ないのも一因だと思う。

574 :デフォルトの名無しさん:2012/11/08(木) 23:12:16.46
http://www.ibm.com/developerworks/java/jdk/linux/download.html
IBM Java7 SR3 64bit / ubuntu 12.04 64bit
の組み合わせ試してみたんだけどclojure1.4がうまく動かなかった。
ちなみにJava6 SR12 64bitでは動いたが他の組み合わせは試してない。

575 :デフォルトの名無しさん:2012/11/10(土) 00:03:03.49
https://github.com/frenchy64/typed-clojure/commits/master
GSoCの評価が9月初めぐらいで終わってるのかなと思うけど、10月以降に0.1、0.1.1、0.1.2とバージョン上げてるな。
clojure/conj参加もあってモチベーションあがってるのかな。

> (typed.core/cf t) type checks the form t.
評価を型付きで返すもの用意されてるみたい。

> Only Clojure 1.5.0-beta1 is supported.
そうなのか〜、何が出来るかよく分からんがsample動かしてみようかな

576 :デフォルトの名無しさん:2012/11/10(土) 13:24:15.32
http://clojure-conj.org/speakers/byrd-friedman.html
scheme miniKanrenの作者も今年のClojure/Conjに呼んでるんだ。

577 :デフォルトの名無しさん:2012/11/15(木) 00:23:50.79
jasper

578 :デフォルトの名無しさん:2012/11/17(土) 00:10:26.22
http://eigenhombre.com/Clojure/2012/11/16/lightning-fast-startup-times-for-clojure-programs/
drip、nailgunやgroovyservのお仲間みたい。

579 :デフォルトの名無しさん:2012/11/17(土) 00:11:47.42
Clojure/conj2012、はじまったか。

580 :デフォルトの名無しさん:2012/11/17(土) 00:21:27.61
>>578
再利用するんじゃなくて、実行が終わったら別にJVMを起動させるのか。
メモリが潤沢ならapacheのpreforkみたいに複数JVM起動させておく仕組みがあるといいかもしれないね。
http://httpd.apache.org/docs/2.2/ja/mod/prefork.html

581 :デフォルトの名無しさん:2012/11/17(土) 05:07:53.33
dripさんleiningenとかだと効果薄いなぁ

582 :デフォルトの名無しさん:2012/11/17(土) 11:24:12.15
drip ps でみてみたら、コマンドラインオプションからclass名までハッシュにして、再起動してるみたいだね。
JAVA_CMD=drip lein で確認したら
/tmp/lein-trampoline-xxxxxってオプションがあるので、そこで引っかかってるね

583 :デフォルトの名無しさん:2012/11/17(土) 19:07:39.19
開発中はswankに居座ってるからjavaの起動の遅さなんかまったく気にならないのだが、最後にbuildと統合testするときにモサーっとするのが悲しいのよね。

584 :デフォルトの名無しさん:2012/11/25(日) 14:16:43.06
maicro benchmarks
http://jafingerhut.github.com/clojure-benchmarks-results/Clojure-expression-benchmarks.html
https://github.com/netguy204/cljs-bench
results
http://jafingerhut.github.com/clojure-benchmarks-results/Clojure-expression-benchmark-graphs.html
http://www.50ply.com/cljs-bench/

585 :デフォルトの名無しさん:2012/12/02(日) 20:57:57.95
nREPL-ritzが0.6.0になってほぼ完璧なデバッグ環境になってた。
ありがたやありがたや

586 :デフォルトの名無しさん:2012/12/03(月) 17:34:46.18
nrepl-ritz-jack-inしたあとにemacs抜けてもcdtへアクセスするjavaプロセスが残ってしまい、何回かやってるとメモリ圧迫しはじめちゃうのだけど
これって既知のバグ?
lein-ritz 0.6.0ね

587 :デフォルトの名無しさん:2012/12/25(火) 23:49:09.07
逆にかんがえる

588 :デフォルトの名無しさん:2012/12/25(火) 23:50:15.31
誤爆した。

http://clojurefun.wordpress.com/2012/12/24/invoking-clojure-code-from-java/
コンパイルしない時のjavaからのclojure

589 :デフォルトの名無しさん:2012/12/25(火) 23:57:13.38
https://github.com/mikera
blogで紹介してるけど、この方のgithubもなんか面白そうなやつがある。

590 :デフォルトの名無しさん:2012/12/26(水) 23:48:20.46
SoftwareDesignとかで、次世代言語の本命みたいに持ち上げられてるけど本当だろうか…

591 :デフォルトの名無しさん:2012/12/26(水) 23:59:44.74
へー、ML語族のHaskell/Scala/F#には静的型チェックがあって実務向けというのは良く訴求してるのだが、
簡潔なlispと不変とREPL、Javaベースのインフラボリュームを押してくれてんのかな?

592 :デフォルトの名無しさん:2012/12/27(木) 20:25:55.97
同じJVMプラットフォームの言語ならユーザベースでScalaに完全に負けてるような。

593 :デフォルトの名無しさん:2012/12/27(木) 20:29:17.73
敗因は何だろう?
やっぱりカッコ?
それとも前置記法?

594 :デフォルトの名無しさん:2012/12/27(木) 20:30:03.88
カッコ

595 :デフォルトの名無しさん:2012/12/27(木) 22:14:55.51
>>593
クラスが作れない点かと。
いや、Clojureはすぐ挫折したから作れないと思ってるだけかもしれないけど。

596 :デフォルトの名無しさん:2012/12/27(木) 23:03:19.01
末尾再帰最適化さえあれば…

597 :デフォルトの名無しさん:2012/12/27(木) 23:10:39.11
http://clojure.org/compilation
クラスは結構簡単に出来るけどアノテーション的というか
ピントこない部分でもある。

598 :デフォルトの名無しさん:2012/12/27(木) 23:30:17.53
>>595
ちょっち気になるのだが、なんで挫折したん?
身の回りだと、SLIME経由で触らせると継続して使ってくれるけどソース編集->コンパイル->実行のサイクルでやらせると挫折しやすい。
ただまぁSLIMEのためにEmacsのキーバインドでつらそうだったが>>Win系のエディタになれた人

599 :デフォルトの名無しさん:2012/12/27(木) 23:48:44.75
Lispやschemeの構文が使えるけど、Lispやschemeのような最適化がないので、畳み込みを作る際にいちいち効率を考えなければならない

600 :デフォルトの名無しさん:2012/12/28(金) 01:08:19.36
>227 gen-classといえばこんなのもあったな。

601 :デフォルトの名無しさん:2012/12/28(金) 05:05:28.45
>>600
それうちのマシンのデスクトップの背景になってるw

602 :デフォルトの名無しさん:2012/12/28(金) 05:07:43.79
>>599
そこまで最適化するのって本当に必要?
普通のコード的にはJVMのHotSpotで事足りるしそこまでするならNativeコンパイラ言語使うべきじゃ無いのかな?

603 :デフォルトの名無しさん:2012/12/28(金) 22:46:44.24
Lispから見ると、再帰をジャンプに最適化してくれないと大変なことになりそうな気がするけど、そうでもないんかな?

604 :デフォルトの名無しさん:2012/12/29(土) 00:24:57.28
>>598
メインで開発してる人達がJavaしかできない人達なので、
Javaからアクセスしやすいclassにコンパイルされるという条件で
関数型で手軽にプログラミングしたかった。
そこでscalaとclojureに出会って、どちらが学びやすいかなーってはじめたんだけど、
scalaの方がとっつきやすくて結局scalaしか勉強しなくなっちゃった。
こんな感じですねー。
clojureにも興味はあるんですけど、始められないままですねー。

605 :デフォルトの名無しさん:2012/12/29(土) 01:56:22.16
>>604
REPLなしだとClojureの魅力半分以下だからしょうが無いかもね
Lisp系の一番良いところがまったくなくなっちゃう

606 :デフォルトの名無しさん:2012/12/29(土) 10:09:59.09
100歩譲ってclojure に物凄い利点があるとしても、それをJavaでそこそこプログラミングできる人に実感させるのは難しい
テキストに載ってる例題程度のモノなら、REPLで試行錯誤するまでもなく頭の中で組み立ててJavaだけでサクサク作れちゃうし
逆に、Javaでできないことはclojureでもできないという

どこかの学部で、Javaを一切教えずに初めからclojureだけを教えるようなカリキュラムを作るまでは様子見が続くと思われる

607 :デフォルトの名無しさん:2012/12/29(土) 12:57:45.69
>>606
そうかなぁ?
Clojure経由でJavaライブラリをインタプリタ(REPL)環境から触って実験とかするのってものすごく有用だと思うのだけど。
Javaで作られたインフラライブラリへのアクセスをREPL経由で簡単にアクセスできる環境って、ClojureとABCL以外に無いのよね。

608 :デフォルトの名無しさん:2012/12/29(土) 13:14:39.90
BasicのREPL版が開発されずにQuickBasicやVisualBasicに進んでいったのを考えると、REPLは我々が思っているより便利ではない気がする
(Lispがあったので、REPLという発想はあったはず)

そもそもUNIXでシェルスクリプトを作るときだって、それほど頻繁にシェルでコマンドの実験をするわけではないことに気付く

609 :デフォルトの名無しさん:2012/12/29(土) 16:13:28.83
今ちょうど久しぶりにシェルスクリプトをいじってるけど、
端末でちょっと動かして動作を確認とかやりまくり
シェルスクリプトは配列とかパラメータの展開関係でちょっとこったことしようとすると
実際に試してみないと安心してコーディングできんな

610 :デフォルトの名無しさん:2012/12/30(日) 01:00:05.23
>>607
それならscalaで十分って思っちゃう。
scalaのREPLだとjava風に書いても動くからjavaからの人も使いやすいかと。

611 :デフォルトの名無しさん:2012/12/30(日) 01:50:50.47
REPLにも出来ることの幅があるけど、
JavaのAPI確認するぐらいならGroovyからScalaまで好みだと思う。
ScalaだとREPLの作りはML系っぽいのかな?
一応、C/C++(Cint)やC#(mono)にもREPLはあったり。
強いていえばlisp系のREPLは動いてる環境を弄ったり、マクロ組んでDSL的にかけたりというのが、自然に出来るような。
ここら辺は必要なら他の言語でも取り入れられると思うけど、(Smalltalkにもある?)必要性が無かったり方向性が違うのかも。

612 :デフォルトの名無しさん:2012/12/30(日) 02:03:23.90
今見なおしてたら、独自実装だったCINTをメンテしてたCERNではC++11の登場に合わせて後継にllvm使ったclingを開発してるらしい。
http://root.cern.ch/drupal/content/cling

613 :デフォルトの名無しさん:2012/12/30(日) 05:21:42.87
Clojureは現代的な言語かつLispとかいうとてもすばらしいものだけど
Lisp族の括弧がとか読みづらいとか思われちゃう(食わず嫌いも入る)部分があるだけでLisp嫌いな人にはやっぱり無理なのかもね。

614 :デフォルトの名無しさん:2012/12/30(日) 06:55:10.87
自動インデントと構文ハイライトのあるエディタがあれば括弧なんて全然苦にならんけどね
メモ帳でLispのプログラムを読み書きしろとか言われたらお断りしますが

615 :デフォルトの名無しさん:2012/12/30(日) 07:38:49.50
>>614
メモ帳だったらまだedやexで書く方がマシなレベルw
ぼかぁ、Emacsとpareditがあればそれだけで幸せだ

616 :デフォルトの名無しさん:2012/12/30(日) 12:14:13.27
REPLが便利というのは、横のtemで実験した行をそのままソースコードにコピペできます、以外の意味はないと思う

617 :デフォルトの名無しさん:2012/12/30(日) 13:36:16.83
こうかくとClojureに否定的に思われるかもしれませんが、普及する言語という
のは、できるプログラマーに好かれるだけでは十分ではなく、そうではないプ
ログラマーにも敷居の低いことは要件なんですよね。逆に言うと圏論や型推論
など、一般のプログラマーには難しい理論を要求する言語というのは普及は難
しいのではないでしょうかね。もちろん完全に隠し込めればいいのでしょうが、
コンパイルエラーやデバッグなどで顔を出す限りはなかなか難しい。というわ
けで頭の良い方々が推奨されるプログラミング言語については、その普及とい
う点では否定的に見ております。なお、アカデミアのプログラミング言語を専
門とする研究者(特に優秀な研究者)が設計した言語が大きく普及しないという
のも、この辺りに遠因があるのではないかと邪推しております。

618 :デフォルトの名無しさん:2012/12/30(日) 13:55:41.36
普及度よりも、論文に書きやすいかどうかが重要

619 :デフォルトの名無しさん:2012/12/30(日) 18:46:48.70
>>616
そりゃ、REPLを単に端末代わりにしか使ったことがないんじゃねえの?
実行中のプログラムを実行したまま修正するとかできるのが重要だよ?

620 :デフォルトの名無しさん:2012/12/30(日) 19:14:33.25
>616
Clojure+SLIMEで(SLIMEは実行Jarに入れておく)ライブデバッグとかすると全く違う感覚を得られると思うよ
Webサービスでバグが出たときに実プロセスにアタッチしても現場にソースがあるとかいうびっくりするような事とかが手軽にできる。
Lisp系言語の異常さをちゃんとJVMに持ち込んでるのがすごいんだわ。

621 :デフォルトの名無しさん:2012/12/31(月) 00:04:49.81
>>620
それってplay for scalaでも普通にできるんじゃ

622 :デフォルトの名無しさん:2012/12/31(月) 00:22:14.27
>>621
scalaだけじゃできないってことかね
playが使えないようなアプリの場合には同じような仕組みが別に必要だと

623 :デフォルトの名無しさん:2012/12/31(月) 13:31:21.68
>>622
webサービスがscalaだけでは出来なくもないけどしんどい。
別にwebサービスでなければscalaだけでよい。

それよりclojureの良さを語ろうよぉ。
clojureって始めるまでの敷居が高すぎる気がする。
環境準備が大変すぎる。

624 :デフォルトの名無しさん:2012/12/31(月) 14:59:56.00
そもそもJVMの互換性が…

625 :デフォルトの名無しさん:2012/12/31(月) 16:07:03.73
>>623
始めるだけならJDK入れてleiningenスクリプトダウンロードするだけですむじゃん。
SLIME導入もEmacs24系ならパッケージ2個入れるだけだし。
Emacs24もWinですらNTEmacsで一発だし、MacはCocoa-emacsのDMGからドラッグするだけだし、Unix系なら普通にパッケージ入れればいいし

Eclipseでってなるとごめんなさいだけど。

626 :デフォルトの名無しさん:2012/12/31(月) 16:29:49.53
>>625
インストールは簡単かもしれないけど
emacs自体の敷居の高さを無視されてもなあ

627 :デフォルトの名無しさん:2012/12/31(月) 20:01:40.65
>>626
カスタマイズしなければ普通のエディタと変わらないと思うぞ
Quitできなくてびっくりするだろうけどw

628 :デフォルトの名無しさん:2013/01/01(火) 01:21:12.74
https://github.com/clojure/clojure/blob/master/changes.md
このurlだと中身変わっちゃうけど、1.5.0の変更点について
これを見ると並列まわりやらクラス定義みたいなところをいままでよりちゃんと実装していってるのかな?

629 :デフォルトの名無しさん:2013/01/01(火) 10:11:16.50
clojure.core.reducers/* でマルチコア時代ktkr

630 :デフォルトの名無しさん:2013/01/02(水) 19:07:44.26
Clojreを活発に使ってる部署のひとつが大規模データ解析のせいかインフラ設定やらモニタリングのツールがあるみたいだね。
http://riemann.io/index.html
http://palletops.com/
http://immutant.org/news/2012/05/18/runtime-isolation/

http://www.infoq.com/jp/news/2013/01/New-Type-Providers
この記事にあるF#3.0でRからのTypeProvider作ってる会社のblogみたら、監視ツールRiemannのプラグインを作っていて使っているらしい。

631 :デフォルトの名無しさん:2013/01/02(水) 19:45:24.29
clojure界隈だと、cascalog, storm+kafka, reimann, pallotなどなど
日本人コミュではfluentd, Tresure data, Asakusa, Thundergateなどなど
clojure知っててここら辺の知識あると、
両方に参加していいとこどり出来るのかなと思ったりするのだけど、なかなか追いつけない。

http://blog.infochimps.com/2012/10/30/next-gen-real-time-streaming-storm-kafka-integration/
http://brianoneill.blogspot.jp/2012/08/a-big-data-trifecta-storm-kafka-and.html
http://support.metrics.librato.com/knowledgebase/articles/122270-collection-agents

632 :デフォルトの名無しさん:2013/01/02(水) 21:41:03.13
http://d.hatena.ne.jp/satosystems/touch/20121228/1356655565
これ別環境でやってみたら、
java(1.7.0_09 64bit) 0.667s
scala(2.9.2 fsc動作後) 1.653s
clojure(1.4.0の java -cp jar clojure.main) 4.756s
となった。単位あってるか分からんけど、
他とぐらべると結果一覧の41sはなんか別の問題があるような?

633 :デフォルトの名無しさん:2013/01/02(水) 22:03:08.60
ちなみに[^long n] にすると、3.201sぐらい。[^BigInteger n]だと変わらない。

なんか数値型まわり調べとる人がいた。
http://tnoda-clojure.tumblr.com/post/26778104832/knowing-when-to-use-java-in-a-clojure-project
http://tnoda-clojure.tumblr.com/post/26848335642/clojure-learn-you-a-haskell-2

こんなのもあるのね。
http://tnoda-clojure.tumblr.com/post/25870005444/java-arrays-in-clojure
http://tnoda-clojure.tumblr.com/post/28996774133/arrays-as-funcions

634 :デフォルトの名無しさん:2013/01/03(木) 15:08:07.29
http://stuartsierra.com/2013/01/01/clojure-2012-year-in-review
シエラさんの去年の総括

参加者や見え方については結構変化があったようで。
・メーリングリストの参加者が7000人突破
・利用者アンケートの参加者が2倍
・下記TWの技術要素調査でtrialからadoptに
http://www.thoughtworks.com/sites/www.thoughtworks.com/files/images/52/radar-october-2012-languages-and-frameworks.jpg

635 :デフォルトの名無しさん:2013/01/03(木) 17:00:56.34
>>632
clojure 1.0.0となっている、、、
ubuntu10.04は2010/4で、clojure 1.2.0は2010/8なのか。

636 :デフォルトの名無しさん:2013/01/03(木) 17:30:15.42
>>632
defn-memoしたらすごいことになってわらた

637 :デフォルトの名無しさん:2013/01/03(木) 18:17:13.25
毎回同じこと計算する一番重いアルゴリズムだから、本当に少しのことで変わるのが面白いよね。

ubuntuのclojureパッケージはバージョンごとに1.0/1.2/1.3と別れてるみたいだね。
sudo apt-get clojure{,1.2,1.3}
普段はleinだけ入れたり、ローカルにleinだけにしてるので知らなかった。

638 :デフォルトの名無しさん:2013/01/03(木) 20:15:49.50
Factorみたいに連結するDSLだって
https://github.com/brandonbloom/factjor
標準でも矢印でなんかできるんだっけ?

639 :デフォルトの名無しさん:2013/01/04(金) 23:47:52.93
>>623
あけましておめでとう
>>622で言ってるのは、>>620が言ってるClojure+SLIMEのような環境が、
Scalaではplayが無いとできないのね?さらにそれだとWebサービス限定だね?っという話

Clojure限定じゃないけど、Lisp環境ならだいたいどんなアプリにでも容易に組み込めるSLIMEはとてもよい

640 :デフォルトの名無しさん:2013/01/05(土) 01:01:58.22
Datomicを生み出したことへの賞賛っぷりが凄い。
ただ筆者がclojure愛好家なので、結構思い入れがあるのかも。
http://www.infoq.com/jp/articles/State-of-NoSQL

>>632
lisperとして(結果的に)あれなコメントしてきた。

641 :デフォルトの名無しさん:2013/01/05(土) 01:34:43.72
clojureのところは、コメントで更新されてるね。
そういえば、SunJDK6に比べてOpenJDK6はclojureに厳しかったか。

642 :デフォルトの名無しさん:2013/01/11(金) 00:44:54.07
http://joyofclojure.com/2nd
Joy of Clojure 第二版が計画段階とのこと。
今度は1.6.0ぐらいが出た時期に1.5.0になるのかな。
1.4.0以降の本が増えるのはありがたい。

643 :デフォルトの名無しさん:2013/01/11(金) 22:16:04.72
LispよりもSchemeをベースにしてほしかった…

644 :デフォルトの名無しさん:2013/01/12(土) 00:05:03.39
あんたがschemeベースのを作ればいいじゃん?

645 :デフォルトの名無しさん:2013/01/12(土) 00:09:23.30
馬鹿野郎か?
そんスキルあったらつぶやいてねーよ…

646 :デフォルトの名無しさん:2013/01/12(土) 02:44:35.80
学部時代に演習でLISPでscheme処理系を作らされた
lazy stream や amb も実装したかなり本格的なモノ
そのプログラム流用してclojureでscheme処理系作ろうとしたけど、変更するところが多すぎてあきらめた
あらためてclojureとLISPは別物だと実感した

LISPでprologも作らされたけど、こっちは、ユニフィケーションの部分だけはLISPコードを根気よく修正してclojure版を実装した
DSL的な感じでけっこう使える

647 :デフォルトの名無しさん:2013/01/12(土) 03:38:16.17
大学でclojure教えるところって、lispみたいに、記号処理やってprologのオモチャ作るカリキュラムなのだろうか…

648 :電波いっぱい:2013/01/12(土) 18:45:32.38
>>643
どちらかというとCmmonLispよりSchemeの方に近いと思ってるんだけど、どうしてそう思う?

649 :デフォルトの名無しさん:2013/01/12(土) 19:01:24.34
>>648
クォート

650 :デフォルトの名無しさん:2013/01/12(土) 19:43:20.92
Clojureの学習でSICPは使えるかと問われ、Rich曰く、
http://d.hatena.ne.jp/katzchang/touch/20120211/p1

ホーム&lrm; > &lrm;リファレンス&lrm; > &lrm; 他のLispとの違い
https://sites.google.com/site/clojurejapanesedocumentation/home/reference/lisps

651 :デフォルトの名無しさん:2013/01/13(日) 00:03:17.01
thx!

652 :デフォルトの名無しさん:2013/01/13(日) 01:29:54.37
lispをclojureに自動変換するプログラムを絶対にだれかが作ってると思うんだけどな…

653 :デフォルトの名無しさん:2013/01/13(日) 08:11:33.57
>>646
contribにもcore.logicやcore.unifyがあるけど
自作を使っているのはそっちには機能面で不満があるとか?

654 :デフォルトの名無しさん:2013/01/13(日) 19:30:35.16
車輪の発明ほど楽しいことはない

655 :デフォルトの名無しさん:2013/01/13(日) 23:59:57.95
発明は良いな。
再発明はくだらないけど。

656 :デフォルトの名無しさん:2013/01/14(月) 05:20:14.73
何かを理解するために再発明するのは有意義。過程に意味があるので結果はくだらないけどね〜

657 :デフォルトの名無しさん:2013/01/14(月) 13:36:53.13
core.unify って探索手法を制御できるのだろうか

658 :デフォルトの名無しさん:2013/01/14(月) 22:22:52.47
https://groups.google.com/forum/m/#!topic/Shibuyalisp/gral7FBKKEI
■定期開催のミートアップについて
・Lispミートアップ presented by Shibuya.lisp
・月一回ミートアップを開催する
・CL, scheme, clojureの順でなにかをやることを告知

懇親会は平日8-10時でも会場で少し出来るのかな
順当に毎月で開催出来れば、3月はclojure中心になるのか

他と関係なく開催してるshibuya.clj(ハッカソン)は二ヶ月ペースで休日午後に開催してるようにみえるので、今後同じペースだと2月と4-5月かな?

659 :デフォルトの名無しさん:2013/01/15(火) 20:40:30.86
>>657
make-*-fnに渡す関数によってできるんじゃないかな?
unificationをよく知らないから、関係ないところを見てるかもしれないけど

660 :デフォルトの名無しさん:2013/01/18(金) 01:24:43.42
Beginning Clojure Reading List
http://regretful.ly/clojure/2013/01/16/beginning-clojure-reading-list/
3冊に絞ってあるけと、
programing clojureの第二版が無かった。
オライリーのclojure programmingは厚さもあって網羅的ではあるのかな。

それよりも、全部日本語になることはあるんだろうか。

661 :デフォルトの名無しさん:2013/01/21(月) 21:28:08.03
一番上のFP-OPもclojure本なのね。
タイトルからclojureだけとは思わんかった。

662 :デフォルトの名無しさん:2013/01/21(月) 23:30:10.47
Java最新版に新たな脆弱性情報
www.itmedia.co.jp/enterprise/articles/1301/21/news022.html
# 米Oracleが脆弱性を修正したばかりの「Java 7 Update 11」に、新たな2件の脆弱性が報告された。

Clojure終わったな…

663 :デフォルトの名無しさん:2013/01/21(月) 23:36:06.19
ただユーザ数が多いからバグ見つけた人が隠しておけないだけだと思う
ユーザ数が少なければ、黙って穴を使い続けるだけ

664 :デフォルトの名無しさん:2013/01/21(月) 23:39:24.14
Javaっつーか、Sandboxの脆弱性じゃないの?
Clojureの主戦場であるサーバサイドにはあんまり関係ない話だという理解。

665 :デフォルトの名無しさん:2013/01/22(火) 00:54:43.79
Conterclockwise 0.11.0来てたか
http://code.google.com/p/counterclockwise/wiki/ReleaseNotes#Version_0.11.0.STABLE001

使い勝手の改善が多めで、大きく変わったのは
内部Clojureが1.5.0、組み込みLeiningen2が(ほぼ)preview11になったくらいか
あとdoc hover

666 :デフォルトの名無しさん:2013/01/22(火) 14:41:31.10
>>660
FP-OOPだけ読んでないなー
>>662
Sandboxじゃん
もうAppletとFXはあきらめる宣言だして欲しいわ

667 :デフォルトの名無しさん:2013/01/22(火) 15:29:30.43
>>662-664
scalaスレにもいたな

668 :デフォルトの名無しさん:2013/02/05(火) 09:54:34.97
2週間も経つのにまだ誰もLeiningen2.0.0リリースに触れてない件
https://github.com/technomancy/leiningen/blob/master/NEWS.md

669 :デフォルトの名無しさん:2013/02/05(火) 09:55:25.97
vaporwareまがいになるかと思ったら、ちゃんと出てたんだな。

670 :デフォルトの名無しさん:2013/02/06(水) 21:19:36.49
clojure1.3みたいに、lein2もジャンプがあるんだっけ。

671 :デフォルトの名無しさん:2013/02/07(木) 15:22:25.09
いつの間にかswank-clojureも非推奨になってるんだな。
nrepl.el入れてみたけどキーワード補完とかやってくれないし、
引数表示もREPLでしかやってくれないし、SLIMEからかなり退行してないか?

672 :デフォルトの名無しさん:2013/02/07(木) 23:17:43.39
JavaAPIとかの非推奨とか誰が決めてるんだろうか…

673 :デフォルトの名無しさん:2013/02/07(木) 23:22:53.84
>>671
ac-nrepl.elじゃ駄目?

674 :デフォルトの名無しさん:2013/02/07(木) 23:58:02.66
>536-
あたりで、ritz-nrepl, REPL-yなど避難先の紹介があるよ。

675 :デフォルトの名無しさん:2013/02/08(金) 20:11:35.64
>>672
そりゃOracleとかじゃね

676 :デフォルトの名無しさん:2013/02/09(土) 01:18:12.67
Graph: Abstractions for Structured Computation
February 7, 2013
http://blog.getprismatic.com/blog/2013/2/1/graph-abstractions-for-structured-computation
公開されると話題になってたライブラリが公開されたらしい。

677 :デフォルトの名無しさん:2013/02/09(土) 16:02:14.92
アホな俺の頭では>>676読んでもどういうライブラリなのかよくわからんかった。
GitHubのほうの要約を読むと
>Graph is a simple and declarative way to specify a structured computation, which is easy to analyze, change, compose, and monitor.
複雑な構造を管理しやすくするためのライブラリってこと?
頭の良いやつ解説してくれ;__;

678 :デフォルトの名無しさん:2013/02/09(土) 16:41:54.41
話題になった時の記事のほうが分かりやすいかも。
https://raw.github.com/strangeloop/strangeloop2012/master/slides/sessions/Wolfe-Graph.pdf
http://blog.getprismatic.com/blog/2012/10/1/prismatics-graph-at-strange-loop.html

679 :デフォルトの名無しさん:2013/02/09(土) 16:45:49.11
関数やもっと大きくサービスとか変数や定数が多くなりそうな場合とかあるけど単純に組み合わせに出来るみたいな話にみえる。

680 :デフォルトの名無しさん:2013/02/10(日) 12:00:13.95
nreplとREPL-yはLeiningen2の中に組み込まれててlein replするだけで使えるのか

681 :デフォルトの名無しさん:2013/02/10(日) 12:21:55.89
>>677
infoQに>>678の講演の動画があったよ、リンク忘れたけど

682 :デフォルトの名無しさん:2013/02/11(月) 00:45:35.28
HTTP上の簡易的なバイナリAPIに対応しようと思って探したらこんなのがあった。
一番上のが楽そうだ。
https://github.com/ztellman/gloss
https://github.com/geoffsalmon/bytebuffer
https://github.com/smee/binary

683 :デフォルトの名無しさん:2013/02/11(月) 00:54:28.73
https://github.com/jduey/protocol-monads
https://github.com/blancas/morph
プロトコルベースもなー

684 :デフォルトの名無しさん:2013/02/11(月) 01:19:29.40
http://tnoda-clojure.tumblr.com/post/33025122752/clojure
標準がProtocolベースだとJavaの型に依存しちゃうのではないかという懸念点があるのかな?

上の記事で思い出したけど、限定継続はCL実装を移植したやつがあったね。
https://github.com/swannodette/delimc

685 :デフォルトの名無しさん:2013/02/11(月) 13:05:13.07
>>676のはデータ処理のフローをマップ形式で簡単に定義できるライブラリってところなのかな
>>678のスライドpdfがわかりやすいね

686 :デフォルトの名無しさん:2013/02/11(月) 17:21:30.49
Overtoneのgithubアカウントにあるemacs-liveなかなか良いじゃねえか
落としてすぐClojureハックできるし

687 :デフォルトの名無しさん:2013/02/19(火) 22:32:53.42
質問です
clojureにschemeのfor-each関数相当のものってありますか?
それとgaucheのrlet1やbegin0のようなものはありますか?
最後にlet+fnとletfnの使い分けって何かありますか?

688 :デフォルトの名無しさん:2013/02/19(火) 22:40:28.44
意味不明なことを書いていたので最後のはなかったことにしてください

689 :デフォルトの名無しさん:2013/02/19(火) 23:22:06.50
構文は関数と同一視してよいのかわるいのか

690 :デフォルトの名無しさん:2013/02/20(水) 00:57:17.56
http://clojure.org/lisps
https://sites.google.com/site/clojurejapanesedocumentation/home/reference/lisps

http://stackoverflow.com/questions/9456102/implementing-foreach-doseq-in-clojure

691 :デフォルトの名無しさん:2013/02/20(水) 22:01:30.91
どうも
doseq使うか自分で定義しろってことですね
rlet1とかは簡単に作れることがわかったので自分で書くことにしました
それとletfnの使い方もわかりました

692 :デフォルトの名無しさん:2013/03/02(土) 17:27:01.02
誰も書いてないから俺が書くか

Clojure1.5キタ━━━━━━(゚∀゚)━━━━━━ !!
https://groups.google.com/forum/?fromgroups=#!topic/clojure/kzF5O0Yfdhc

693 :デフォルトの名無しさん:2013/03/02(土) 20:24:29.35
>>692
~/.m2/repository/org/clojure
の中が凄いことになってた
1.1.0
1.2.0, master-SNAPSHOT
1.2.1
1.3.0, RC0, alpha[24567], bata[234]
1.3.1
1.4.0, alpha[12345], bata[1234567]
1.4.1
1.5.0, RC[1-6], RC14, RC15, alpha[1-7], beta[12789], bata10, beta11, bata12, bata13

694 :デフォルトの名無しさん:2013/03/03(日) 00:03:23.77
1.4から1.5の間はそんなに長くなかったとおもうけど確かに凄いねw

695 :デフォルトの名無しさん:2013/03/03(日) 23:11:46.80
https://groups.google.com/forum/m/?fromgroups#!topic/clojure/_7tqNWmQuGU
clojureCLRのlein-clrとか
少しづつ環境や拡張の開発者がついて来てるね。

696 :デフォルトの名無しさん:2013/03/03(日) 23:57:40.28
>692
MLのスレッドみても
clojure-1.5.0に移行してもそんなに問題なさそう?

697 :デフォルトの名無しさん:2013/03/11(月) 00:38:28.02
http://clojurefun.wordpress.com/2013/03/07/achieving-awesome-numerical-performance-in-clojure/
Clojureで数値計算頑張りたい人たち

698 :デフォルトの名無しさん:2013/03/11(月) 23:53:17.78
(use 'clojure.core.matrix) の時点でできない

user=> (use 'clojure.core.matrix)
FileNotFoundException Could not locate clojure/core/matrix__init.class or clojure/core/matrix.clj on classpath: clojure.lang.RT.load (RT.java:443)

699 :デフォルトの名無しさん:2013/03/12(火) 00:05:38.27
>>698
>core.matrix is starting to get serious as a tool for Clojure numerics. I’ve been contributing to the effort because I need it for my own machine learning work and also for some of my more fun / artistic projects like enlight and Clisk.
--- snip snip
>But in order understand the true performance potential, you would want to use an optimised core.matrix implementation, so I’ve chosen vectorz-clj for this purpose.

ってかいてあるやん
https://github.com/mikera/vectorz-clj

700 :デフォルトの名無しさん:2013/03/12(火) 00:11:56.31
英語分からないけど、プリインストされてるコアじゃなくて別途APIをインストールしないといけないんかな
clojure.core.matrix って名前だからてっきりもともと入ってるのかと

701 :デフォルトの名無しさん:2013/03/12(火) 00:51:07.27
なまえが、fakeだよねw

今後contributeするつもりらしいけど、気が早すぎるし、なったらなったでdata.matrixあたりになるんじゃないかな。

http://dev.clojure.org/display/doc/Clojure+Contrib+Libraries

702 :デフォルトの名無しさん:2013/03/12(火) 00:54:02.57
もしかして、ここに突っ込まれるのか?
http://richhickey.github.com/clojure/clojure.core-api.html

703 :デフォルトの名無しさん:2013/03/12(火) 01:00:46.30
contrib一覧でみると、結構coreで始まるのが多いんだね。

704 :デフォルトの名無しさん:2013/03/12(火) 01:54:19.86
>>700
とりあえずvectorz-clj試した。
clojure.coreに入ってたら行列必須のプログラムでプロトタイプ作るための選択肢をnumpyからclojureに変えたくなる。

705 :デフォルトの名無しさん:2013/03/12(火) 03:06:28.12
外部APIってことは、デフォルトでは matrix型は入ってないのね

706 :デフォルトの名無しさん:2013/03/12(火) 03:26:43.56
schemeのgauche.arrayで作った行列演算を再利用したいけど、clojureのコードに自動変換できないでしょうか

707 :デフォルトの名無しさん:2013/03/12(火) 21:38:07.98
自動変換できたとしても、手で書き直すよりずっと手間かかるんじゃなかろうか
もし真面目にやるなら、リファレンス見たらSRFI-25ベースだから、
siscかkawaに移植してそれをclojureから呼ぶというのが一番近い気はする

708 :デフォルトの名無しさん:2013/03/13(水) 01:50:23.79
というか、clojureがSRFI 実装してくれないかな

709 :デフォルトの名無しさん:2013/03/16(土) 15:48:32.93
lein replでIBM JDK 1.7とclojure1.5RCがうまく動かなかったけど、
RCぬけて動くようになってた。

http://build.clojure.org/view/Clojure/job/clojure-test-matrix/
ただ、IBM JDK1.7がテスト対象に入ってない。
そして、IBM JDK 1.5/1.6でエラー無しだったのは12年3月みたいまでみたい。

710 :デフォルトの名無しさん:2013/03/17(日) 07:40:52.18
>>709
IBMのJDKで通らないってどういう事情なんだろうね?

ってのは捨て置いて、Clojarsにつまんないもの公開したらいきなり四ダウンロードもらってびっくり中

711 :デフォルトの名無しさん:2013/03/17(日) 14:08:06.69
clojureがIBMのjdkで動かないってことは、ベンダごとにclassファイルの互換性がない場合があるということだろうか

712 :デフォルトの名無しさん:2013/03/17(日) 16:14:29.09
>>321
2013年4月新刊予定:プログラミングClojure 第2版
http://www.ohmsha.co.jp/kaihatsu/archive/2013/02/18113212.html

4月予定だけど、発売日きまってないのかな?
このペースだと早くて4月後半かな?

713 :デフォルトの名無しさん:2013/03/17(日) 23:25:42.39
>>712
初版から電子版出してくれないかな、前作は両方買ったんだわ(自炊したんだけど容量でかくてさ)

714 :デフォルトの名無しさん:2013/03/20(水) 01:05:06.50
http://blog.clojurewerkz.org/blog/2013/03/15/leiningen-user-survey-2013/
leiningenのユーザーアンケート募集中

715 :デフォルトの名無しさん:2013/03/21(木) 11:09:34.68
defmethodにもdocstringほちい

716 :デフォルトの名無しさん:2013/03/21(木) 23:01:15.03
Java実装の部分なんだけど、clojure.asmはclassファイル読み書きやバイトコードの編集に使うみたいで、クラスを実行環境に読み込むのはDynamicClassLoaderなのかな?
http://www.jarvana.com/jarvana/view/org/clojure/clojure/1.4.0-alpha4/clojure-1.4.0-alpha4-javadoc.jar!/clojure/asm/package-use.html
http://www.jarvana.com/jarvana/view/org/clojure/clojure/1.4.0-alpha4/clojure-1.4.0-alpha4-javadoc.jar!/clojure/lang/DynamicClassLoader.html

717 :デフォルトの名無しさん:2013/03/21(木) 23:05:05.56
manningのclojure in actionとjoy of clojure両方とも第二版草稿(MEAP)取り掛かってて、出版予定が秋になってた。

718 :デフォルトの名無しさん:2013/03/21(木) 23:11:26.90
programming clojure 2ndとclojure programmingがclojure1.4に対応してるからどうしても欲しいわけではないけど、もう出版物では世代交代が終わるんだな。
ネット上では古い記事の方がおおいのかな。
そういえば日本のclojure関連のサイトでドメイン切れのサイトがあった、、、

719 :デフォルトの名無しさん:2013/03/22(金) 03:05:00.87
land of lisp 読んだら、lisp言語の仲間として紹介されてたけどなんか異和感がある

720 :デフォルトの名無しさん:2013/03/22(金) 09:30:08.29
違和感は、Arcみたいに括弧減らそうとしているところ?

clojure/west、strangeloop、clojure/conjで三大年間行事を構成してるな。
http://mindbat.com/2013/03/clojurewest-2013-day-one-notes/
http://mindbat.com/2013/03/clojurewest-2013-day-two-notes/

721 :電波いっぱい:2013/03/22(金) 21:39:57.68
clojureがlispじゃあなかったら、いったい何なんだ?

722 :デフォルトの名無しさん:2013/03/22(金) 23:32:24.60
人生…かな

723 :デフォルトの名無しさん:2013/03/22(金) 23:48:29.98
俺はLISPには萌えなんて感情は抱かないけどS式に魅入られた

724 :デフォルトの名無しさん:2013/03/23(土) 04:43:20.02
それ恋だよ

725 :デフォルトの名無しさん:2013/03/23(土) 14:37:13.15
洗いにして食うと旨い?

726 :デフォルトの名無しさん:2013/03/23(土) 17:44:13.00
括弧があったら入りたい

727 :デフォルトの名無しさん:2013/03/23(土) 18:26:23.44
自分の人生をマクロ化するとしたら、名前は何にする?

728 :デフォルトの名無しさん:2013/03/23(土) 19:01:10.83
マクロ黒助

729 :デフォルトの名無しさん:2013/03/23(土) 23:32:49.15
Data-centricなアプローチでのゲームの作り方
http://www.chris-granger.com/2012/12/11/anatomy-of-a-knockout/

730 :デフォルトの名無しさん:2013/03/23(土) 23:56:32.31
http://pedestal.io/
http://www.luminusweb.net/
https://github.com/seancorfield/fw1-clj

http://rrees.me/2013/03/20/a-batteries-included-clojure-web-stack/
http://brehaut.net/blog/2012/clojure_web_and_the_crud_stack
web stackとか

731 :デフォルトの名無しさん:2013/03/24(日) 18:03:22.13
http://yogthos.net/blog/42
I've recently got signed by the The Pragmatic Programmers to write a book on web development using Clojure.
作者はcompojure系ではなく、noirがディスコンになったので変わりにlib-noirとluminusを作っている人らしい。

732 :デフォルトの名無しさん:2013/03/24(日) 18:11:45.31
http://blog.fogus.me/2013/02/08/moar-joy/
http://blog.fogus.me/2013/03/20/fun-js/
http://shop.oreilly.com/product/0636920028857.do
Functional JavaScript
JSナンデ!?

733 :デフォルトの名無しさん:2013/03/25(月) 11:02:25.14
>>732
ClojureScriptがメインというわけでもないのか。

734 :デフォルトの名無しさん:2013/03/27(水) 01:16:47.38
Clojure and 'Why Calculating Is Better Than Scheming'
http://www.leonardoborges.com/writings/2013/03/25/clojure-and-why-calculating-is-better-than-scheming/
clojure/westで話題にあがった昔の論文
Miranda(Haskellのもとになった言語)vsSchemeというようなものを題材に、
schemeではなくclojureではどうなのかという記事。
どうしても型の話に行き着くけど、ちょっとだけ違う切り口がいいね。

735 :デフォルトの名無しさん:2013/03/27(水) 01:26:42.37
http://www.clojure.net/2012/06/03/Monad-Protocols/
jvmやclrのような低レイヤーの型システムに依存するのはHickeyさんから推奨されてないけど、
いろんなことができてしまうわけで。

736 :デフォルトの名無しさん:2013/03/27(水) 19:00:56.97
再帰やloopのたびに recur を入れるのが気持ちわるいです

737 :デフォルトの名無しさん:2013/03/27(水) 22:20:54.45
>>736
CommonLispのloopマクロでも移植しなされ

738 :デフォルトの名無しさん:2013/03/28(木) 00:34:01.70
http://d.hatena.ne.jp/athos/touch/20111204/elephant_things_in_clojure
loop/recur入れ子に出来ないのはイケてないと

739 :デフォルトの名無しさん:2013/03/28(木) 00:39:46.92
https://github.com/strangeloop/clojurewest2013/tree/master/slides
westの発表資料集まってる

740 :デフォルトの名無しさん:2013/03/28(木) 03:45:46.65
lispやschemeから来た人にrecurの説明をするのは難しい
もしかして、JVMの制約で改善のしようがないとかいうオチではなかろうか

741 :デフォルトの名無しさん:2013/03/29(金) 01:27:13.38
なぜアクターモデルを採用しなかったのか…

742 :デフォルトの名無しさん:2013/03/30(土) 17:08:16.57
http://www.infoq.com/news/2013/03/Language-Expressiveness
DSLや特定用途だと上位になりやすく、
ライブラリの実装とかに使われる言語は大きめのコミットになり下位になる傾向はあると思うけど、Clojure/Racketはかなり上位だね。
Haskellも実装までしてる言語だからライブラリも簡潔なんだろうか。

743 :デフォルトの名無しさん:2013/03/30(土) 17:41:05.99
そもそも言語の順位がコロコロ入れ替わるという状況が想像できない
使い始めたら何年も同じ言語を押し付けられるから

744 :デフォルトの名無しさん:2013/03/30(土) 18:03:56.58
Erlang/OTPやAkka(Scala)のスーパーバイザあたりを移植してるっぽい
https://github.com/MichaelDrogalis?tab=repositories
http://michaeldrogalis.tumblr.com/

745 :デフォルトの名無しさん:2013/04/02(火) 01:14:34.30
Akkaのラッパーもあるのかとおもったらこんな記事が。
http://martinsprogrammingblog.blogspot.jp/2012/05/distributed-actors-in-clojure.html

746 :デフォルトの名無しさん:2013/04/07(日) 02:47:09.65
erlangのアクターモデルみたいにプログラムを停止せずに更新できるようにしてくれたらなぁ…

747 :デフォルトの名無しさん:2013/04/08(月) 23:19:01.45
JVMにはこういうのがあるみたいだけど、JRabel社はscalaから無償で使えるようにしたりしてた。
そういえば、clojureからどう使うかという記事は見たことない。
http://stackoverflow.com/questions/7998669/redeploy-alternatives-to-jrebel
JRabel

748 :デフォルトの名無しさん:2013/04/09(火) 01:58:13.05
プロセスの管理がVMというかREPLでできるようにするには、clojureとJVMの間にもう一個言語を間にはさまなければならない気がする

749 :デフォルトの名無しさん:2013/04/09(火) 02:27:19.75
>>748
JDTとかじゃだめなん?

750 :デフォルトの名無しさん:2013/04/09(火) 16:17:49.48
websocket系の実装の乱立なんとかならんのかー
というかこのあたりのフレームワークコンセンサスって全然無いのね orz

751 :デフォルトの名無しさん:2013/04/10(水) 00:43:45.06
ClojureCLRがここに来て、
NuGetサポート、clojure.clr.xxxの追加、nlein・lein clr、mono/unixでrepl,compileが動くという状況になってて驚いた。
http://clojureclr.blogspot.jp/2011/11/survey-says-be-eco-friendly.html
この頃の話が結構実現されてる。

752 :デフォルトの名無しさん:2013/04/10(水) 20:47:16.11
>>751
SLIMEサポート入ったら使ってみたいんだがClojureCLRってIDE関係どないなってんの?(あんまりそういうページ転がってない)

753 :デフォルトの名無しさん:2013/04/11(木) 15:09:06.40
調査: もっとも表現力に富んだ汎用プログラム言語は Clojure,CoffeeScript,Haskell
http://www.infoq.com/jp/news/2013/04/Language-Expressiveness

754 :デフォルトの名無しさん:2013/04/11(木) 22:33:51.46
表現力に富んだ = 表現するのが難しい

755 :デフォルトの名無しさん:2013/04/12(金) 00:02:40.61
Expressiveの訳としては結構いいと思うが、なんとなく文学評論的な薫りがする。

756 :デフォルトの名無しさん:2013/04/12(金) 00:15:39.90
http://tm.durusau.net/?p=40298
遂にデータ解析系の本が出てた。
http://www.packtpub.com/clojure-data-analysis-cookbook/book

ToCは網羅的な感じするけど、
incanterはあまりアクティブではないのか。

757 :デフォルトの名無しさん:2013/04/12(金) 22:25:35.67
 
日本語でおk

としか言いようがない

758 :デフォルトの名無しさん:2013/04/13(土) 01:16:19.23
ToCでは網羅的な意味でいい本に見えると思ったら、上のブログではあまりアクティブでないincanterに二章割いてるのはどうかと思うと批評されていた。
incanterの代替には触れられてなかったけどなんかあるのかね。

759 :デフォルトの名無しさん:2013/04/13(土) 01:17:31.49
http://www.techempower.com/blog/2013/04/05/frameworks-round-2/
このWebベンチマーク結果ではcompojure頑張ってるな。
フルスタックとシンプルなものが並んでて必要以上に高性能に見えちゃってるけど。

760 :デフォルトの名無しさん:2013/04/13(土) 12:41:37.69
>>756
ちょうど欲しい事が書いてある本なので買ってしまった。

>>759
nettyがトップに来てるけどnettyベースのaleph+compojureとかも速いのかな

761 :デフォルトの名無しさん:2013/04/14(日) 19:33:26.69
下がring-netty-adapterらしいけど、
同じ人が別に作ってるserverのほうが軽いらしい。
http://http-kit.org
https://github.com/shenfeng/async-ring-adapter

jetty以外も対応させたいという要望はあるらしく
そのうちlein ring server のオプションで
起動できるようになるかも。
https://github.com/weavejester/lein-ring/issues/65
https://github.com/weavejester/ring-server/issues/11

http-kitのleinテンプレート
lein new http-kit your.project.name
https://github.com/http-kit/lein-template

762 :デフォルトの名無しさん:2013/04/14(日) 19:39:34.20
alephは、leinまわりとか整備されてないのがちょっと大変そうだね。

ベンチ系の話だと、java 64bitで「-XX:+UseCompressedOops」か「-XX:+AggressiveOpts」を設定すると32bitより遅くなるようなところも同じぐらいで動くみたい。

>759 のベンチマークは、compojureをhttp-kitで動かしたバージョンもpullしてるみたいだからそのうち反映されるかも。
https://github.com/shenfeng/FrameworkBenchmarks/commits/master

763 :デフォルトの名無しさん:2013/04/14(日) 19:48:06.72
http://d.hatena.ne.jp/quitada/20120130/p1
あれ?UseCompressedOopsはデフォルトで有効なのか。

https://www.acroquest.co.jp/webworkshop/JTSMM/backnumber.cgi?id=13445697911903
IBM JVMでも、-Xcompressedrefsで設定できるのね。

764 :デフォルトの名無しさん:2013/04/14(日) 19:53:27.66
>>760
そもそも、compojureのちょっと上に来てるhttp-kitというのがcompojure+ring+http-kitのやつだった・・
https://github.com/TechEmpower/FrameworkBenchmarks/tree/master/http-kit

765 :デフォルトの名無しさん:2013/04/14(日) 20:06:15.28
お、compojure表記のはjettyではなくlein ring uberwarでservletにしてresinで動かしてるね。
http-kitはec2の仮想サーバで速く、実サーバで遅いみたい。なんでだろう。

dbアクセスは、resinのconnection poolが効いているのか、
compojure表記のやつが速い。

766 :デフォルトの名無しさん:2013/04/15(月) 01:07:47.30
http://blog.gonzih.me/blog/2013/04/14/clojure-on-raspberry-pi-openjdk-vs-oracle-java-8/
ARM向けのJVM(Java8)がRaspberry Pi上で10倍ほど速くなってる

767 :デフォルトの名無しさん:2013/04/15(月) 10:16:12.44
>>764
http-kitは活発みたいだね。issueの一部の中国語がちと読めないのが残念orz

768 :デフォルトの名無しさん:2013/04/16(火) 09:28:11.89
>>766
OracleJDKすげぇなARMのサーバクラスタでなんかする気なんだろうか?

769 :デフォルトの名無しさん:2013/04/20(土) 20:59:12.85
clojure webサーバベンチマーク
https://github.com/ptaoussanis/clojure-web-server-benchmarks
ここではjettyのring adopterよりjettyのservletの方が速いのか。
こっちのベンチはservletのサーバにresin使ったのがない&並列性が疑問視されやすいab使ってるみたい。

war作るleinコマンドには、lein ringとlein servletとあるらしい。
https://github.com/kumarshantanu/lein-servlet
https://github.com/weavejester/lein-ring

770 :デフォルトの名無しさん:2013/04/20(土) 21:13:41.62
エンタープライズの中のClojureって?
http://corfield.org/blog/post.cfm/clojure-in-the-enterprise
やっぱりデータ解析ユーザ多いんだな。

771 :デフォルトの名無しさん:2013/04/20(土) 23:22:24.43
サーバはネットのボトルネックがあるから処理速度はあんまり関係ない
サーバで処理速度が問題になるのは企業だと思うけど、企業がclojure使うとは思えんし

772 :デフォルトの名無しさん:2013/04/22(月) 01:48:36.24
http://augustl.com/blog/2013/truly_concurrent_user_interfaces/
OOPで実現したいことをOOP以外で実現してるclojureらしいGUIのプロトタイプをOpenGLで作ってみた、らしい。

773 :デフォルトの名無しさん:2013/04/22(月) 21:50:46.01
GLUTをclojureで実装しなおしてくれれば使いたい

774 :デフォルトの名無しさん:2013/04/22(月) 22:11:30.26
>>759
http://www.techempower.com/benchmarks/
みんなが猛烈にコミット競争していて第三弾を機にベンチマーク専用ページができてた。
今まで通りcompojure使ったものしかないけど、clojure界隈はシンプルなとこから積み上げなので、
単純なベンチマークではservletと比べてもそこまで速度落ちないね。

775 :デフォルトの名無しさん:2013/04/23(火) 02:57:21.00
そもそもservletの何に問題があったのか

776 :デフォルトの名無しさん:2013/04/26(金) 01:50:09.70
http://sunng.info/blog/2013/04/checkout-ring-adapter-for-jetty-9/
Jetty9用のring adopter作ってみて、WebSocketとSPDYに対応してみた?

777 :デフォルトの名無しさん:2013/04/26(金) 19:09:40.00
>>776
Aleph,http-kitとかいっぱいあるけどWebSock経はかなり混沌としてるねぇ
とか思ってたのだけど、Jettyっていつの間にメジャーバージョンが9に!!!なっったん?

8見たこと無いw

778 :デフォルトの名無しさん:2013/04/26(金) 23:47:36.93
jetty9のSPDY対応にはjava7が必要みたい。
http://s.news.mynavi.jp/news/2012/08/29/130/index.html

779 :デフォルトの名無しさん:2013/04/27(土) 02:44:31.74
最近、javaはC言語よりも互換性がないのではないかと思えてきた

780 :デフォルトの名無しさん:2013/04/27(土) 14:14:28.71
昔のAppletとか今のJVMだと普通に動かないものもあるしね

781 :デフォルトの名無しさん:2013/04/27(土) 14:25:57.43
Write once, run anywhere の標語をやめたのは結構前の事

782 :デフォルトの名無しさん:2013/04/27(土) 20:55:55.12
pure clojureなら.Net, JVM両方で動くよ!!
って思ったがそんなものは滅多にないのであった。 ションボリ

783 :デフォルトの名無しさん:2013/04/28(日) 13:34:24.72
>>781
でもWrite once, debug anywhere は健在なんだよね、こっちをはやくやめてほしい

784 :デフォルトの名無しさん:2013/04/28(日) 14:16:24.25
最近debug everydayとかpatch everydayなのがなー

785 :デフォルトの名無しさん:2013/05/01(水) 09:53:03.30
nrepl ってslimeより機能が足りないような気がする。replのバッファとcljファイルのネームスペースを同期させたりとかないよね?

786 :デフォルトの名無しさん:2013/05/01(水) 17:52:02.17
ritzの方だよね?

787 :785:2013/05/01(水) 21:52:27.38
>>786
ritz って何?名前は見たことあるけどよくわからないのでいれてません。

788 :デフォルトの名無しさん:2013/05/03(金) 12:55:23.58
>>787
break-on-exceptionとか使えるnreplの拡張

789 :デフォルトの名無しさん:2013/05/05(日) 19:46:38.67
Def news letteerで知ったのだが、ミョルニル(mjolnir)すげー
LLVMをClojureから触る、しかもシームレスとか思ってもみなかった。

790 :デフォルトの名無しさん:2013/05/10(金) 22:19:35.48
まだ誰も貼ってないと思うので一応貼っておく。
知らない奴はいないだろうけどw

プログラミングClojure 第2版
http://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06913-0

791 :デフォルトの名無しさん:2013/05/11(土) 01:38:54.45
発売日にかっちゃったからなー(英語版いれて4冊:日本語版紙の初版とPDF,二版のepub英語版とPDF日本語版)
Ohm社もepub版にしてくんないかなー(ちっちゃい端末でも文字大きく読めるのが楽なんだ)

792 :デフォルトの名無しさん:2013/05/11(土) 02:23:34.73
(def news-letter)でttps://github.com/ayamada/clanが紹介されてたんだけど
こんなプロジェクトもあるのね、androidで起動時もっさりしたりしないのならコレでアプリ作りたいな。

793 :デフォルトの名無しさん:2013/05/21(火) 23:04:42.58
>>792
リンクたどってった先のどっかでサンプルアプリがダウンロードできるから試してみろ
起動にこれだけ時間がかかるのが許容範囲かどうかは人によると思う

794 :デフォルトの名無しさん:2013/06/07(金) 00:44:03.90
http://clojure-android.blogspot.jp/2013/06/state-of-clojure-on-android-2013.html
今年もGSoCでandroid弄る人がいる様だ。

795 :デフォルトの名無しさん:2013/06/07(金) 00:47:27.22
http://thinkrelevance.com/blog/2013/06/03/three-book-ideas
3冊はでないかしれんが、真ん中は出そう。

796 :デフォルトの名無しさん:2013/06/07(金) 01:04:37.26
http://bluemontlabs.com/blog/2013/05/29/seeking-clojure-developers/
面白い求人が。パートタイム?

797 :デフォルトの名無しさん:2013/06/07(金) 07:14:50.59
>>795
Datomicの本は読んでみたいな

798 :デフォルトの名無しさん:2013/06/09(日) 14:19:00.27
https://github.com/takeoutweight/clojure-scheme
ClojureScript利用したSchemeへのトランスレータ。gambitなど使えばc/ネイティブになる。

結構アクティブに開発してるみたい。
起動時間が気になる用途にはclisかscmに変換しておくといいのか?

799 :デフォルトの名無しさん:2013/06/09(日) 16:04:07.28
JVMの起動が遅いのがイヤでNativeコンパイルするclojureをCで書き始めてとりあえずcoreの一部まで動いたのだけど実に意味が無い orz
javaや.netのライブラリがお気軽に使えるのがみそなんだなぁとしみじみ思う。

800 :デフォルトの名無しさん:2013/06/09(日) 21:20:07.03
やっぱそうだよね。
.net実装でも、contribほかjavaのライブラリ使ってるところの修正がいろいろあるみたいだし。

801 :デフォルトの名無しさん:2013/06/10(月) 22:56:44.01
Incanter1.5.0リリース
行列計算に高速なライブラリが使えるようになってパフォーマンス向上するらしい
http://data-sorcery.org/2013/06/09/incanter-1-5-0-has-been-released/

802 :デフォルトの名無しさん:2013/06/10(月) 23:42:50.25
48時間プログラミング大会
Clojure Cup 9/28-29
http://clojurecup.com/

803 :デフォルトの名無しさん:2013/06/12(水) 02:19:54.12
フロントエンドはrailsでバックエンドはclojureというblog記事が連チャンできてた。
http://gphil.net/posts/2013-06-07-thoughts-on-clojure-versus-ruby-for-startups.html
http://patternhatch.com/2013/05/29/event-stream-processing-using-clojure-and-esper/

circleci
http://lanyrd.com/2012/clojurewest/spdfm/
https://raw.github.com/arohner/clojurewest2012-slides/master/Rohner-JRuby.pdf

clojureのwebまわりはrack+sinatra系が中心なので、モデルが薄い環境ではフロントエンドrailsが楽なのかも。

circleciの人がjs client app + clojure webapi したいみたいだけど、最近はextjsやangular/backbone使ったサービスは多いんだろうな。

大規模サービスになると画面内のmodel数だけ叩かれるとリクエスト数が爆発するみたいかだけど、こんなこと出来る様になってるんだろうか。
http://web.archive.org/web/20120319045710/http://code.google.com/apis/gears/architecture.html

804 :デフォルトの名無しさん:2013/06/13(木) 20:42:03.74
clojure本の第2版って、第1版となんか違うの?

805 :デフォルトの名無しさん:2013/06/13(木) 21:34:24.54
>>804
うん、少し違うよ

806 :デフォルトの名無しさん:2013/06/13(木) 22:30:28.35
翻訳者も違いを解説してる
http://blog.practical-scheme.net/shiro/20130417-programming-clojure-2nd

807 :デフォルトの名無しさん:2013/06/13(木) 22:50:08.78
第1版との差分だけがほしいです

808 :デフォルトの名無しさん:2013/06/14(金) 01:07:15.67
>>807
3/5くらい違うから買ってあげなさいな。

809 :デフォルトの名無しさん:2013/06/14(金) 21:48:35.45
http://tm.durusau.net/?p=42818
オライリーからclojure cookbookが出るらしい

810 :電波いっぱい:2013/06/14(金) 23:24:24.18
>>803
rubyをやってた/やってる人たちが来てるからなんではないかなぁ。

811 :電波いっぱい:2013/06/14(金) 23:28:53.34
>>809
事例を募集してて、投稿するともしかすると採用されるかもしれない。ダメもとでやってみるかな。

812 :デフォルトの名無しさん:2013/06/20(木) 00:00:33.31
https://github.com/ztellman/primitive-math
算術命令のauto boxing避けたいときのためのライブラリだって。
避けたいときにはその方が分かりやすいよね。

813 :デフォルトの名無しさん:2013/06/20(木) 04:10:09.01
>>812
どっかで見た名前の人だなーと思ったらalephの人だった。
websocketですげーお世話になりっぱだわ

814 :デフォルトの名無しさん:2013/06/21(金) 16:45:57.34
>>813
オウムの人なの?

815 :デフォルトの名無しさん:2013/06/21(金) 20:05:49.88
>>814
なんでそうなるんだよー(ああいえばじょうゆうな人なのか?)
数学の方のalephからの意味だと思うぞ。

816 :デフォルトの名無しさん:2013/06/21(金) 21:42:57.20
オーム社が云々とかたまに聞いてくる人いるよね。
若い人はそもそも記憶ないんだろうけど。
ちなみにalephはヘブライ文字のAで、数学でギリシャ文字では
記号が足りないなどで使われることもある。
イスラエルでは普段使いで、中二病患者もたまに使う。

817 : ◆QZaw55cn4c :2013/06/21(金) 22:36:27.38
自然数の濃度のことを、アレフ・ゼロっていうよね、あれってカントールが厨二病というだけだったかと

818 :デフォルトの名無しさん:2013/06/21(金) 22:59:35.71
アレフ・バー・タウ がアルファベットの語源だと誰も教えてくれなかったのだろうか…

819 : ◆QZaw55cn4c :2013/06/21(金) 23:38:19.84
ヘブライ文字 http://ja.wikipedia.org/wiki/%E5%8F%A4%E3%83%98%E3%83%96%E3%83%A9%E3%82%A4%E6%96%87%E5%AD%97
フェニキア文字 http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A7%E3%83%8B%E3%82%AD%E3%82%A2%E6%96%87%E5%AD%97
あたりまで遡れるようだけれども‥‥はてさて、こういうのはどこできけばいいのかな?

820 :デフォルトの名無しさん:2013/07/10(水) NY:AN:NY.AN
本にいきなり「var」って出てくるけど、この「var」って何ですか?
名前空間との関係もよくわかりません

821 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
こんな感じ。
http://stackoverflow.com/questions/6079818/whats-the-difference-between-var-and-quote


Stormのひと、3月にTwitterやめて独立してたんだね。
http://nathanmarz.com/blog/leaving-twitter.html

822 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
http://clojure.org/vars
http://clojure.org/reader
これを読めれば分かるような気がする。

823 :デフォルトの名無しさん:2013/07/12(金) NY:AN:NY.AN
https://github.com/nathanmarz/storm/wiki/Powered-By
storm使ってるところ
JavaやScalaから使えるけど、Clojure使ってるところとだいたい被ってるね。
http://dev.clojure.org/display/community/Clojure+Success+Stories

824 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
Clojure本の第2版からlancetの話がごっそり消えてたのはやっぱり不評だったからだろうか

825 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
第一版はleinningenが出来る前か広まる前で作者がDIYしてみたやつだったからね。
その後lancetがみんなで改良するということもなく、leinningenがデファクトスタンダードになった。
書籍の書き換えはそれなりに労力はあるが、利用者とおなじく最強のエバンジェリストさんには優秀なツールがあること自体が嬉しい事だろう。

826 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
clojureがSLIMEじゃなくてnRepl推奨してるのって、どういう理由?

827 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
これみれば経緯が分かる
http://mikio.github.io/article/2012/09/07_swank-clojurenrepl.html

あと、付け足すなら
現時点でtools.nreplはclojure contribというメンテナンスする誓約みたいなことをしているライブラリになっている。
https://github.com/clojure/tools.nrepl

828 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
clojureって仕様は安定してるの?
python2 のプログラムがpython3で動かなくなるような変更が頻繁にあったりする?

829 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
>>828
マクロがあるし、clojure.coreのほとんどが実はコアじゃなくて外部ライブラリだからな…

830 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
>>828
1.2から1.3へ行くときにイロイロあったけどpythonの2->3よりは大丈夫だった
つか1.3のときのイロイロのおかげで1.4,1.5と問題が出ずに移行できるようになったというか。

831 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
洋書だけど3冊新しく書籍でるみたいだな
最近1つ出たみたいだけど

832 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
http://qiita.com/omasanori/items/08a169eab9335a912e86
1.2から1.3,1.4の変更はこんな感じだったみたい。

833 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
http://www.manning.com/fogus2/
http://www.manning.com/rathore2/
http://clojure-cookbook.com/

こいつらかな?

834 :デフォルトの名無しさん:2013/07/13(土) NY:AN:NY.AN
第二版じゃなくてこのへん?

Meet Clojure、こんなのあったのか。
http://meetclj.raynes.me/

http://pragprog.com/book/mbfpp/functional-programming-patterns-in-scala-and-clojure

前にでてきてたデータ解析のやつは4月
http://www.packtpub.com/news/master-data-analysis-using-clojure-with-packts-new-book-and-e-book

835 :デフォルトの名無しさん:2013/07/14(日) NY:AN:NY.AN
講演だと全部聞き取れないので、ありがたい。
筋が通るように全文翻訳されると、やっぱり分かりやすいな。
http://eed3si9n.com/ja/simplicity-matters

抄訳の翻訳だとよく分からんけど、なんかやった事だけは分かる。
http://www.infoq.com/jp/news/2013/06/database-value

そういえば、ほかにも二個ぐらい超有名な講演があるけど翻訳されてるのってある?
http://www.infoq.com/author/Rich-Hickey
http://www.confreaks.com/presenters/125-rich-hickey

836 :デフォルトの名無しさん:2013/07/14(日) NY:AN:NY.AN
日本語でおk としか…

837 :デフォルトの名無しさん:2013/07/14(日) NY:AN:NY.AN
core.asyncって、ClojureScriptでも使えるのか。
http://swannodette.github.io/2013/07/12/communicating-sequential-processes/

838 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
どの環境で学習するのが一番便利?
eclipse?emacs?vim?メモ帳?

839 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
Lispにメモ帳は漢だな
便利なのがLightTableかemacs系のエディタだろうな

840 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
黒板

841 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
30年くらいまえは Emacs を使わせてもらえなくて
ed で lisp 書いてたんだがwWWW
# よくそんなことやってたよな < 俺

842 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
並列処理に強いとか言ってるから調べてみたけど
性能を犠牲にしてプログラムを書きやすくしているだけじゃん

Clojureのマルチスレッドプログラムでは、性能を徹底的にチューニングした
シングルスレッドのアセンブラやCのプログラムには勝てそうにない

843 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
>>842
> シングルスレッドのアセンブラやCのプログラムには勝てそうにない
10kコネクションをシングルスレッドでさばけるんだったら聞いてあげる

844 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
>>842
そもそも徹底チューニングCやアセンブリに勝てる言語はないだろ

845 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
普通に書くとJavaやScalaの1/2-1/3ぐらいの性能なので、最高性能を気にしてもしょうがない。
動的言語のRubyやPHPほど遅くはないが、本当に性能を気にするような用途であればJava(Javaが苦手なとこはC++は)でAPI用意する。
CascalogやStromはそんな感じだったとおもう。

ちょっと微妙な記事だけどこんな特集もあった。
Concurrency in Modern Programming Languages
http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=6341732
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6341738

846 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
みんなどういう用途でClojure使ってるの?
今までWebプログラムしかやったことがないから今一想像が出来ない。
程度の低い質問で申し訳ない。

847 :843:2013/07/15(月) NY:AN:NY.AN
>>846
個人的には, 変わり種のリスプ, 存在意義がわからない

848 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
自分もweb apiのところだなあ。

求人情報からどんな用途で使われてるか少しわかるかも。
http://functionaljobs.com/jobs/search/?q=clojure

849 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
Lisp系言語とウェブは結構よく合うと思う

850 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
>>847
ウェブアプリでLisp系言語の中で一番安心して使える

851 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
>>847
変わり種のリスプと言えば、
AllegroGraphみたいな用途で使えるように拡張ライブラリ作って使っている人達は多いみたい。
http://www.franz.com/agraph/allegrograph/

852 :843:2013/07/15(月) NY:AN:NY.AN
>>844
最近の最適化技術を舐めるんじゃねぇ
少なくとも VLIW 系の IA64 とか GPU とかだと, 人がチューニングするより
機械がチューニングしたほうが速い
ロック関連とかあるんで人の手は必要なことはあるが, 「いかにして確実に
ロックをかけるか?」方向に行くのが大半なのでスピード的には遅くなる

まぁ, 処理系の使い方が痛いっちゃ痛いんだが >> STM on clojure

853 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
Datomicってもしかすると下のスライドみたいなKVS+キューでやってる「自前でトランザクション保証する処理」を代わりにやってくれるのか?
http://www.slideshare.net/itoyusaku/jawsug-201303

854 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
http://gotocon.com/dl/goto-cph-2012/slides/clojure/datomic-in-clojure.pdf

855 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
VLIWはそもそもCPUの仕様に合わせて命令を詰め込んでやらないと早くならない
一般的な最適化技術とはちょっと違う

856 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
> CPUの仕様に合わせて命令を詰め込んでやらないと早くならない

これはみんなそうだろ。

VLIWは(というか、MIPSの名前のもともとも意味)では、
CPUの仕様に合わせて命令を並べてやらないと、そもそも正しいプログラムにならない。

間違ったプログラムだろうとCPUは全力で実行する、というのがVLIW。

857 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
IA64では特殊なルールに基づいて命令を並び替えてパックするとかだったな
それをしなくてもとりあえず動くけど効率が悪い
でも汎用CPUではこれ系の技術はオワコン

858 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
最適化はJVMにお任せ、が基本姿勢じゃないの?
個人的にはモダーンなLispとして悪くないと思ってるけど。

859 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
Maximum Clojure Performance
http://www.youtube.com/watch?v=ii-ajztxALM
先ほど検索してたら、こんなプレゼンテーションの動画があがってた。

Linux Conf Australia とあるのでこいつの動画だろうか?
Clojure and performance at Linux Conf Australia 2013
http://info9.net/wiki/tmarble/posts/Clojure_Designed_For_Performance/

860 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
>>852
この流れでIA64とかVLIWの話にもってくのはどうよ?

861 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
STMといえば、MLでこんなトピックがあった。STMほとんどつかってない?
https://twitter.com/otabat_/status/279138529416728576
https://groups.google.com/forum/?fromgroups=#!topic/clojure/kO6OuZGZnlY

でも活躍の場を増してる人達もいるみたい。
もう少し並行性をあげたやつ
https://github.com/cgrand/megaref

簡単に分散環境作れないの?という話で、
https://groups.google.com/forum/#!topic/clojure/4GRJVxctlU0
Redis使って拡張したやつ
https://github.com/lantiga/exoref
ZooKeeper使って拡張したやつ
http://avout.io/

862 :843:2013/07/15(月) NY:AN:NY.AN
>>860
その他は前振りで, 言いたかったのは STM の使い方が痛い!!!

863 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
「STM の使い方が痛い」じゃ何を言いたいのか伝わってこないんで
もうちょっと具体的にどうぞ

864 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
>>862
頻繁に排他的変更がされるクリティカルセクションのかわりにSTM使ったら駄目ってのは承知の上での「痛い」ってことかい?

865 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
チラ裏日記
>>861
MLの分散環境のトピックをなんとなく目を通してたら、ポラックさんが突然scalaのツールの話をしだしてビックリした。
そしたら最後に言いたいことが書いてあって、時間があったらcore.async使って自分がscala向けに実装したような分散実行ツールを作りたいという話だった。

866 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
>>844
教育コストや保守や移植コストまで考えれば…

867 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
ClojureであまりSTM使わない話って、Concurrent Revisionsってのと似たようなことをやってる気がする。
(2010年の論文だから、clojureの方が先にあるし2006年のOut of the Tar Pitの論文以降似たような実装は増えてるはずだけど)
http://www.slideshare.net/pfi/ss-9780450

868 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
あんまりClojureっぽくないけど、STMの説明ってHTMの説明みたいに再粒度じゃなくて粗粒度のロックをSTMに置き換えるためのものという説明もあったほうが分かりやすいんじゃないかと思う。
http://www.isus.jp/article/coarse-grained-locks/
http://www.slideshare.net/hayamiz/transactional-memory-primer

言語実装でも粗粒度のロックとオサラバしたいというのがあるらしく、
pypyではSTMを試していたらしい。
http://morepypy-ja.blogspot.jp/2011/09/blog-post.html
http://morepypy.blogspot.jp/2013/06/stm-on-drawing-board.html

869 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
なんでアクターモデルをデフォルトにしなかったのか

870 :デフォルトの名無しさん:2013/07/15(月) NY:AN:NY.AN
おっと、すごいポカをしてる。
実際は競合少ない場合に粗粒度のロックをSTMに置き換えることで、
細粒度のロックと同じパフォーマンスを出すことか。

871 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>869
結局アクターモデルは実装しなかったけど、
Goで使っているチャンネルを最近core.asyncに実装したので、そっちが急速に広まってるみたい。

872 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>845
この前データ解析の本でたぐらいだからClojureで解析しようとしたけど
javaとかscalaとかにそこまで離されるのか

873 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
性能が必要ならはじめからC/C++を使うべきだな
自分で速いコードを書けなくても、ライブラリとかで誰かが書いてくれているかもしれないし
チューニングしたら確実にC/C++のほうが性能高いんだから

874 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
組み込みをlispっぽいのでプログラミングしたいときはclojure一択だと思う

875 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>872
裏がjavaやC++でほとんどそっちで実行時間とるなら、あまり変わらないとおもう。

876 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
処理にハードディスクアクセスが入ると、実行速度はあんまり変わらないと思う

877 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
SSDの登場で状況が変わったよ
ハードディスクがボトルネックにならないアプリが増えて
メモリアクセスやCPUの性能を引き出すことが重要になった
まあ、それでもJavaやClojureの性能なら十分なんだけどな

878 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>872
そういえばIncanter1.5系はネイティブのBLASが使えるようになって速くなってるはずだよ。
http://data-sorcery.org/2013/06/09/incanter-1-5-0-has-been-released/

879 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
>>872
数値計算がネックになるならそこだけjavaで書いちゃう、型指定してclojureで書き込むよりも中置記法の式の方がさすがに読みやすいし。

;;;この2日ほど凄いカキコがいっぱいでびっくり

880 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
そういえば日本でユーザグループってまだ無いんだね?

881 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
探してみたけど、ユーザーグループとしての活動はしてないね。

http://lisphub.jp/event/
https://groups.google.com/forum/m/#!forum/clojure-ja
https://sites.google.com/site/clojurejapanesedocumentation/about-japanese-translations

882 :デフォルトの名無しさん:2013/07/16(火) NY:AN:NY.AN
みんなでワイワイ出来る場があればいろんな意味でもっと楽しくなるだろうな〜。
情報の集積地みたいな。
それはそうと翻訳サイトの翻訳者リストをみるとGroovy界隈の人たちだね。

883 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
2chが一番のコミュニティーとか珍しいな

884 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
>>827
亀レスだけど参考になった。ありがとう。

885 :デフォルトの名無しさん:2013/07/17(水) NY:AN:NY.AN
>>883
いや、プログラミング関係だとなんだかんだでみんな2chに集まるよ

886 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
最近しったプリミティブ、ネイティブに寄せて高速化しようとしてるはこんな感じ。
primitve-math, byte-stream, vertigo(fast, idiomatic C-style structs)
https://groups.google.com/forum/m/#!msg/clojure/BayfuaqMzvs/62lAVwLuJuEJ

iota file読み込みのメモリサイズを縮小するやつ
https://groups.google.com/forum/m/#!msg/clojure/lNUlmubt3cI/XcfQwvpHhA4J

llvm(mjolnir, )やらnumpy使いたい人のclojure-py
https://github.com/halgari?tab=repositories
http://www.infoq.com/presentations/Clojure-LLVM

887 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
途中で送ってしまった、、、

888 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
IntelliJを使ってClojureを勉強しようという人はこのページが分かりやすいよ。
http://blog.tomeklipski.com/2013/04/running-and-debugging-clojure-code-with.html
IntelliJ公式の通りにやっても上手くいかないからな・・・

889 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
もうclojureじゃないと駄目な体にされてしまった
letとかdefunとかで[]で括る事ができないとかなりイラっとする。(一部schemeは[]が()と同格なのですげーたすかるけど)

890 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
一般的なlisp/schemeの表記を捨ててまで独自表記を採用する価値があったのか疑問だが
まあ趣味を通せるのがmy言語のいいところだしな…

891 :デフォルトの名無しさん:2013/07/18(木) NY:AN:NY.AN
coreがコアじゃないのはどうにかならないのだろうか

892 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
Arcも括弧が少ないはず。
どこの処理系作者か忘れたけど、せっかくモダンなlispを設計するなら、簡潔にして括弧を減らすと書いてた覚えがある。

893 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
http://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3AS式の理由
これか

894 :デフォルトの名無しさん:2013/07/19(金) NY:AN:NY.AN
http://www010.upp.so-net.ne.jp/okshirai/HOPL2-Uncut-j.txt
特に関係なさそうだけど、ながいから放棄した、、

895 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
>>894
Web時代なのにnroffっぽいのはどうしてなんだろう、よみにくいよ orz

896 :デフォルトの名無しさん:2013/07/20(土) NY:AN:NY.AN
http://blog.paralleluniverse.co/post/49445260575/quasar-pulsar
新しくclojure(のラッパーとJava実装)でErlang/OTPみたいな分散環境を管理するプラットフォームが出てきた。
こういうの使いたい人でも、今のタイミングだとcore.async使った方に感心があって、いつもよりさらにスルーされそう。

897 :デフォルトの名無しさん:2013/07/21(日) NY:AN:NY.AN
>>896
この手のやつって設定が楽にできるとEC2とかで活用できるんだけど、palletとかと組み合わせていったりしないのかな?

898 :デフォルトの名無しさん:2013/07/21(日) NY:AN:NY.AN
分散処理をする言語はたくさんあるんだから、最初から共有メモリを完全に捨てて簡素化をはかればよかったのに

899 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
>>896
ここにあるとおり、いまどきjava7,clojure1.5.1なんて当たり前と余裕こいてたら
http://puniverse.github.io/pulsar/

最新のleiningen 2.2系でないとうまく設定出来ないらしくはまってしまった。

git clone git://github.com/puniverse/pulsar.git pulsar
lein midje
lein -o run -m co.paralleluniverse.pulsar.examples.pingpong

終了してもleinから戻らず。
http://d.hatena.ne.jp/Kazuhira/touch/20121021/1350809081
コードみてないけど、こういう話?

900 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
分散処理で本当に性能が必要ならC/C++/Fortranしか選択肢はないんだし
他の言語はいかに簡単に分散処理できるかを競うべきだろうな

901 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
Erlangみたいにメッセージパッシングオンリーでいけばよかったのに…

902 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
Fortranって早いの?

903 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
数値計算のための言語なので、スーパーコンピュータのインフラ使って最適な計算するためのライブラリ、コンパイラはそろっている。

904 :デフォルトの名無しさん:2013/07/23(火) NY:AN:NY.AN
>>903
ClojureFortran作れば大規模シュミレーションのできる言語になれるな

905 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
>>904
RATFORってのを思い出した

906 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
Tokyo.clj #16
2013/08/24 (土) 13:00〜2013/08/24 (土) 18:00
http://atnd.org/event/tokyoclj

昔やってた頃は、現在のatendが無くて、atend betaじゃなかったから作る先間違えてた感がバリバリと、、
http://atnd.org/events/3729

907 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
渋谷.cljとかぶりませんように、、、

908 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
土地名.拡張子、ってもうダサいよ

909 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
raspberry pi でrepl起動するのに1分くらいかかるぞw

910 :デフォルトの名無しさん:2013/07/24(水) NY:AN:NY.AN
Python福岡とかならいいの?

911 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
大津.pyとかなら…

912 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
えー、別に良いじゃ〜ん

913 :デフォルトの名無しさん:2013/07/25(木) NY:AN:NY.AN
>>909
一回起動しちゃえば遜色感じないんだけどな

914 :デフォルトの名無しさん:2013/07/28(日) NY:AN:NY.AN
なんかちょっと貫禄がでてきた
http://www.amazon.co.jp/The-Joy-Clojure-Michael-Fogus/dp/1617291412/

915 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
IncanterのexeをDLしたんだけど
Clojureのverが1.2だけど1.5にできない

916 :デフォルトの名無しさん:2013/07/30(火) NY:AN:NY.AN
>>915
exe?ってどゆこと?

917 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
>>916
http://incanter.org/downloads/
このexe

918 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
exeのなかのjarのなかに、clojure1.2が一緒に入ってるんじゃないかな?
incanterがどのversionのclojureで動くのか分からないけど、
leiningenとかでproject.clj弄って環境用意した方が早いんじゃないかな?

919 :デフォルトの名無しさん:2013/07/31(水) NY:AN:NY.AN
https://groups.google.com/forum/m/#!topic/clojure-core-typed/5JaBl8c8TGw
core.typedがそこそこ安定して来たので、0.2.0出すから待っててね。
ってことかな?

ところで、他のライブラリみたいに、なんに使えば便利とかあるんだろうか。

920 :デフォルトの名無しさん:2013/08/09(金) NY:AN:NY.AN
Incanter 1.5.2出たらしいぞ

921 :デフォルトの名無しさん:2013/08/14(水) NY:AN:NY.AN
>865 の続き
@dppさん、async使って違うことをはじめたようだ。
http://blog.goodstuff.im/clojure_http_channels

922 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>921
ポラックさんってLift(Scala)の人だっけ?

923 :デフォルトの名無しさん:2013/08/15(木) NY:AN:NY.AN
>>921
本当に凄い人って説明もわかりやすいのね

924 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
cookbook以外にもレシピ本を年初発売予定で作ってる人がいるらしい。
こっちはひとりでやってるのかな?
http://juliangamble.com/blog/2013/08/17/announcing-clojure-recipes/

http://www.amazon.co.jp/gp/aw/d/0321927737
サイトみた時はkindleで自費出版でもするのかと思ったんだけど、アマゾンで出版社調べたらピアソングループのアジソンウェスレイだった。

925 :デフォルトの名無しさん:2013/08/17(土) NY:AN:NY.AN
core.typedの人がblog連載はじめたみたい。
http://frenchy64.github.io/typed/clojure,/core.typed,/clojure/2013/08/16/first-steps-with-core-typed.html
具体的な使い道ははじめてみた気がする。

926 :デフォルトの名無しさん:2013/08/20(火) NY:AN:NY.AN
ここ最近、 RESTful services向けのLiberator (旧名compojure-rest)使ってるというblog記事を見かけるのだが使ってる人いる?
http://yogthos.net/blog/30-Making+services+with+Liberator
http://clojure-liberator.github.io/liberator/
何と無くcompojureのrouteで済ましてしまうイメージがあるのだか。

927 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
http://www.slideshare.net/pcalcado/from-a-monolithic-ruby-on-rails-app-to-the-jvm
SoundCloud、Railsでさくさくスタートアップして、いまは6サービスをClojureで3つ、Finagle/Scalaで1つ, JRuby(no rails)で2つ動かしてるそうだ。
JVM言語ごとの特徴も書いてあってなんとなく興味深い。

928 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
friendというモジュールでユーザー認証やロールベースの権限管理などが出来るみたい。
https://github.com/cemerick/friend/blob/master/README.md

チュートリアル作ってる人もいる。
https://github.com/ddellacosta/friend-interactive-form-tutorial/blob/master/README.md

フルスタック志向っぽいけど、よく使われてるsandbarの認証と一緒にsandbarに無い機能使えたりしないのかな?

929 :デフォルトの名無しさん:2013/08/26(月) NY:AN:NY.AN
quilを使ってるんだけど
https://github.com/quil/quil

defsketchに渡した関数の中で起こったエラーを見たいんだ。
今は
(def error (atom nil))
としておいて、エラーを取りたい関数の中で
(defn draw []
(try
(/ 1 0) ;;ここでエラーを起こす。
(catch Exception e (reset! error e))))
みたいにしてるんだけどもっといい方法はないか?
quil使っている人がいたら教えてくれ。

それとquil以外でclojureで書けるお絵かきするソフトってある?

930 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
うーん、IntelliJ12.14のLa Clojureを試してみてるけど、どうも実行(ctrl+Shift+F10)が実行出来ない。
プロジェクト自体はlein new project-nameで生成して、lein pom実行後、Intellijからそのプロジェクトをインポートしただけ。

Error:(1, 0) Clojure Compiler: java.io.IOException: No such file or directory, compiling:({プロジェクトディレクトリ}/src/{プロジェクト名}/core.clj:1:1)

931 :930:2013/08/28(水) NY:AN:NY.AN
うわーごめんなさい!完全にうっかりしてた!
La Clojureプラグインはインストールしてたけどleiningenプラグインは入れてなかった・・・
http://wiki.jetbrains.net/intellij/Getting_started_with_La_Clojure

ちなみにドイツ語のClojure本?を見つけた。
http://denkspuren.blogspot.de/2013/04/freies-clojure-buch-funktionale.html
無料で読めるPDFみたい。

932 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
日本語でおk

933 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
お、ちょうど2年でスレ埋まりそうだね

934 :デフォルトの名無しさん:2013/08/29(木) NY:AN:NY.AN
へー、intelijでleiningenプロジェクトのプラグインあるのか。

935 :デフォルトの名無しさん:2013/08/31(土) NY:AN:NY.AN
Michael Fogusさんがなんか始めるみたいね。
http://readevalprintlove.fogus.me
とりあえずMLにJoinしてみた

936 :デフォルトの名無しさん:2013/09/01(日) 20:44:26.91
プログラミングclojureの2版にmidiの話が載ってて試してるけど、英語の情報ばっかりでつらい

937 :デフォルトの名無しさん:2013/09/02(月) 03:25:47.53
>>936
この際だから英語も勉強しちゃおうぜ!

938 :デフォルトの名無しさん:2013/09/03(火) 22:37:17.46
http://yogthos.net/blog/50
http://pragprog.com/book/dswdcloj/web-development-with-clojure
noir後継のlumina作者のweb開発本だけど、compojure/ringの本らしい。

今度レシピ本が二冊出るし、実用本も増えてきたね。
(clojureオンリー本の日本語翻訳は一冊で止まってるけど)

939 :デフォルトの名無しさん:2013/09/09(月) 02:40:08.69
そもそもjava関係以外はLispの本読めばなんとかなる件

940 :デフォルトの名無しさん:2013/09/09(月) 04:39:57.48
Clojureを理解するために学ぶべきことはたくさんある。
Lisp本からだとマクロやMOPくらいか。
他にはHaskellによる純粋関数型、JavaやGoの並行処理、Prologなど論理プログラミング、Eiffelから契約プログラミングとか。

941 :デフォルトの名無しさん:2013/09/10(火) 02:59:13.05
Clojureって文法の元ネタがLispだけど目指している先ってLisp1,Lisp2とは異なると思うのよね
どっちかってーとMLに近い感じ

942 :デフォルトの名無しさん:2013/09/10(火) 03:07:21.94
「java関連以外は全部CommonLispと同じです」でよかったのに
なぜ、括弧を減らさすとか余計なことをしたのか…

似た言語を作ろうと考えてる人は、「java関連以外は全部scheme(R5)と同じです」という言語を作ってください

943 :デフォルトの名無しさん:2013/09/10(火) 07:29:28.59
CommonLispとは違う新しいLispを作る方が主目的で、
JVM上で動かすのはオマケだろ

944 :デフォルトの名無しさん:2013/09/10(火) 10:41:15.54
>>942
それならArmed Bear Common Lispで。

945 :デフォルトの名無しさん:2013/09/10(火) 13:09:49.30
>>942
Kawaでも使っとれ

946 :デフォルトの名無しさん:2013/09/10(火) 18:01:54.38
この二つは検索すればすぐ探せるし、アクティブなプロジェクトだと思う。
abcl 1.2.1 (2013/06/27)
http://abcl.org/
kawa 1.13 (2012/12/10)
http://www.gnu.org/software/kawa/

clojure使ってるひとも大抵はJVMが使いたい訳ではないように、大抵はJVM上でlispを使いたい訳ではないよね。

947 :デフォルトの名無しさん:2013/09/10(火) 21:12:23.09
だがjavaのAPIは使いたい

948 :デフォルトの名無しさん:2013/09/10(火) 21:18:39.63
javaのインフラに依存しまくるつもりなので別にclやschemeじゃなくてもいいやって感じ

949 :デフォルトの名無しさん:2013/09/11(水) 14:09:18.38
俺は括弧が少なくなったり[]になったの歓迎派
とは言え、今のclojureの構文が最適解だとは思ってない
letのbinding部は[]じゃなく{}の方がよかったなあ、とか思ってる

950 :デフォルトの名無しさん:2013/09/11(水) 18:35:30.08
順番関係あるんだからマップリテラル{}はだめだろ

951 :デフォルトの名無しさん:2013/09/11(水) 23:10:03.40
カッコが少なくなるのは歓迎だけどリテラル以外は()で統一して欲しかったような気もする

952 :デフォルトの名無しさん:2013/09/12(木) 04:39:59.86
そうすると他言語に慣れているとはじめは見にくくなる
初心者にはとっかかりにくいからいろんな括弧多用して読みやすくしてるわけだし

953 :デフォルトの名無しさん:2013/09/12(木) 12:42:47.59
往年のLisperにとって()に統一されてないのは寂しいのかもしれないけど、
そもそもClojureで言われるS式は厳密にはS式ではないのだし、()にこだわる意味はあまりないと思う。

954 :デフォルトの名無しさん:2013/09/12(木) 22:11:36.21
defun が defn になったのには反対

955 :デフォルトの名無しさん:2013/09/12(木) 22:36:36.20
久しぶりに他のlispを書くとdefun, define, defnを間違えてコンパイラに怒られる

956 :デフォルトの名無しさん:2013/09/13(金) 05:05:02.56
それって、editor の keyword (色付け)で気づきそうなもんだけど

957 :デフォルトの名無しさん:2013/09/13(金) 07:04:36.79
IntelliJのLaClojureプラグインにあるレインボーなんちゃらっていうオプションをオンにしたら
対応するカッコ同士がマジレインボー

958 :デフォルトの名無しさん:2013/09/13(金) 12:51:16.21
>>956
エディタがlispモードだから

959 :デフォルトの名無しさん:2013/09/13(金) 21:00:39.58
>>953
それでもcond節のカッコ省きはおいらはうれしかった
つか元のLispってなんでcondのカッコあんなんなんだ?

960 :デフォルトの名無しさん:2013/09/13(金) 23:13:53.31
>>959
構造を素直に反映した結果じゃねえの。
フラットにすると情報が欠落して、cond は
ニコイチって知識無しには復元出来なくなる。
処理する時のループ書くのも楽だし、
書き損じのリスクやダメージも少ない。

等ともっともらしい事を考えてみたけど。

961 :デフォルトの名無しさん:2013/09/13(金) 23:30:26.80
記憶違いな気がしてならないが
ホントはCONDを修正したいってMcCarthy自身が言ってなかったけ?

962 :デフォルトの名無しさん:2013/09/14(土) 00:14:02.32
http://clojurecup.com/
二週間後にこんにちは

963 :デフォルトの名無しさん:2013/09/17(火) 00:15:11.40
http://thinkrelevance.com/blog/2013/09/16/relevance-and-metadata-partners-join-forces-to-become-cognitect
clojure/core参加者が一つにまとまるようだ。

964 :デフォルトの名無しさん:2013/09/17(火) 02:26:15.30
関数型言語でset!系まわりが面倒くさくなってるのがlispとの違いということでしょうか

965 :デフォルトの名無しさん:2013/09/19(木) 00:16:52.17
http://thechangelog.com/rich-hickeys-greatest-hits/
八月に追加されてる

966 :デフォルトの名無しさん:2013/09/19(木) 02:18:22.97
人材募集の記事だがなかなか参考になる
http://functionaljobs.com/jobs/8646-clojure-engineers-needed-at-factual

967 :デフォルトの名無しさん:2013/09/19(木) 22:51:59.78
find-doc があるから書籍いらないと思う

968 :デフォルトの名無しさん:2013/09/27(金) 04:01:24.93
clojure-pyってgithubのデータ見るとVersion 0.1だけど
pythonのサイト見ると0.2.4になってるけどいったいどうなってるんだ

969 :デフォルトの名無しさん:2013/09/27(金) 08:04:17.37
記述が古いってだけじゃ。

970 :デフォルトの名無しさん:2013/09/27(金) 15:56:20.33
ソース内でのバージョン定義はHEADでは0.2.4になってた
ttps://github.com/halgari/clojure-py/blob/master/clojure/main.py
リリースタグとかふってないし非常に追いづらい
おそらく通常配布はgithub以外でやってると思われるので、
githubから取るよりもそっちから取った方が安全だと思われる

971 :デフォルトの名無しさん:2013/09/27(金) 15:59:23.14
githubのソースみても、バージョン埋め込んでるところはなさそう。
どちらにせよ、githubもPyPIのも一年前のままという認識で合ってる。

972 :デフォルトの名無しさん:2013/09/27(金) 22:20:56.71
本屋に新しいclojure本が出てた
外部ライブラリをふんだんにダウンロードするやり方だけど、あれって、どこまでオフィシャル度があるのだろうか

973 :デフォルトの名無しさん:2013/09/27(金) 22:33:53.07
>>972
オフィシャル度ってなんだよハゲ

974 :デフォルトの名無しさん:2013/09/27(金) 22:44:50.39
>>973
本で紹介してるライブラリが消えない or 統合されない or モジュールが変わらない or 関数名が変わらない 度数

coreですら不安

975 :デフォルトの名無しさん:2013/09/27(金) 22:49:27.51
載ってる奴全部今の段階でフォークしちまって
お前のリポジトリとして公開すりゃその条件満たせるじゃん

976 :デフォルトの名無しさん:2013/09/27(金) 22:54:59.62
git や lein は嫌いなんだ…

977 :デフォルトの名無しさん:2013/09/27(金) 22:57:27.34
leiningen嫌いならClojureの何が好きなの…
mavenリポだし割と安心して使えると思うが

978 :デフォルトの名無しさん:2013/09/27(金) 23:09:27.39
>>977
そもそも環境がスタンドアロンで独立した状態で完結してないと不安

979 :デフォルトの名無しさん:2013/09/27(金) 23:19:51.75
>>978
$ lein uberjar

そんな我儘言うなら他所の子になりなさい
多分他所でも帰れって言われるから

980 :デフォルトの名無しさん:2013/09/27(金) 23:24:53.56
どこで拾ってきたか分からないモノに汚染されてると、家でやってた作業が会社でできない
また、ライブラリ群のダウンロード前提だと、作業環境のサイズが爆発する

981 :デフォルトの名無しさん:2013/09/27(金) 23:55:35.69
新しい本ってこれか
http://www.amazon.co.jp/dp/4774159913/
Haddopとなかなかよさそうな内容だな

982 :デフォルトの名無しさん:2013/09/28(土) 00:46:45.44
コレってどの本の翻訳なの?
原本のレビュー観たいんだけども

983 :デフォルトの名無しさん:2013/09/28(土) 01:01:59.78
洋書としては見たことない。というわけで探したらこちらか
https://github.com/hellonico/niclojure

984 :電波いっぱい:2013/09/28(土) 01:02:53.82
翻訳でなくてオリジナルでしょ。

985 :デフォルトの名無しさん:2013/09/28(土) 01:07:36.66
>>982
日本でしかでてないよ

986 :デフォルトの名無しさん:2013/09/28(土) 01:21:21.39
>>983-985
ありがとうございます
やっぱり出てないんですね著者の名前で検索してみて出てなさそうだとは思ったんですが、
海外の人なのでもしかしたら原書があるかもと想いまして。

987 :デフォルトの名無しさん:2013/09/28(土) 10:16:59.06
980超えてたね。次スレ建てみる

988 :デフォルトの名無しさん:2013/09/28(土) 12:02:07.00
次スレ
【Lisp】プログラミング言語 Clojure #3【JVM】
http://toro.2ch.net/test/read.cgi/tech/1380333808/

989 :デフォルトの名無しさん:2013/09/28(土) 12:27:44.36
http://www.indiegogo.com/projects/typed-clojure
https://groups.google.com/forum/#!topic/clojure/5H8M1cwodek
Typed Clojureをフルタイムで開発するためにクラウドファウンディングでお金集めてるらしい。
LightTableの時は2000万円ぐらい集まってたね。
オーストラリアだったと思うけど、フルタイムで200万円か。
何ヶ月かわらないけど、人材価値と商品価値のギャップが何倍かあるプロジェクト感満載?

990 :デフォルトの名無しさん:2013/09/28(土) 12:45:24.43
http://www.indiegogo.com/individuals/222990/activities
RHも100ドル募ってイベントに呼び出す権利獲得してた。

991 :デフォルトの名無しさん:2013/09/28(土) 15:45:32.79
>>983
それ書籍になったんか、ちょっと前からおっかけてたけど、GitHubだと訳文そんなになかったのに
著者と訳者がんばってんだな

明日探して買ってこよう。(でも本当はオンライン版がいいんだけどなぁ orz)

243 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)