13/09/28 11:12:57.06 .net
【リファレンス】
API Overview - Clojure v1.5 (stable)
URLリンク(clojure.github.io)
Clojure Libraries (Clojure Contrib, Leiningen, ...)
URLリンク(clojure.org)
API Overview - clojure-contrib v1.2 (stable) ※廃止
URLリンク(clojure.github.io)
ClojureDocs
URLリンク(clojuredocs.org)
Clojure Examples Wiki
URLリンク(clojure-examples.appspot.com)
逆引きClojure (日本語)
URLリンク(rd.clojure-users.org)
Rosetta Code
URLリンク(rosettacode.org)
clojure-euler
URLリンク(clojure-euler.wikispaces.com)
3:デフォルトの名無しさん
13/09/28 11:13:29.98 .net
【ブログ・ML・質問箱】
Clojure
URLリンク(groups.google.com)
Clojure Dev
URLリンク(groups.google.com)
Clojure Confluence wiki
URLリンク(dev.clojure.org)
Clojure JIRA tickets and patches
URLリンク(dev.clojure.org)
planet clojure
URLリンク(planet.clojure.in)
stackoverflow.com tag:clojure
URLリンク(stackoverflow.com)
Reddit(clojure)
URLリンク(www.reddit.com)
github.com clojure
URLリンク(github.com)
Clojure-jp (日本語)
URLリンク(groups.google.com)
4:デフォルトの名無しさん
13/09/28 11:22:49.04 .net
【チュートリアル】
Clojure Programming
URLリンク(en.wikibooks.org)
labrepl (おすすめ)
URLリンク(github.com)
4Clojure
URLリンク(www.4clojure.com)
Clojure - Functional Programming
URLリンク(java.ociweb.com)
Clojure Tutorial For the Non-Lisp Programmer | Moxley Stratton
URLリンク(www.moxleystratton.com)
Clojure - Functional Programming for the JVM
URLリンク(java.ociweb.com)
PCL -> Clojure (Practical Common Lisp のサンプルコードを Clojure に)
URLリンク(blog.thinkrelevance.com)
Full Disclojure (中級者向け;英語動画)
URLリンク(vimeo.com)
【コーディング規則】
Library Coding Standards
URLリンク(dev.clojure.org)
コミュニティベースのClojureスタイルガイド(bbatsov/clojure-style-guideの日本語訳)
URLリンク(github.com)
5:デフォルトの名無しさん
13/09/28 11:35:03.40 .net
【その他】
Clojureをつくったわけ
URLリンク(www.geidai.ac.jp)
InfoQ: ClojureがSTMとLISPをJVMにもたらす
URLリンク(www.infoq.com)
InfoQ: Rich Hicky氏、Clojureの特徴と実装について語る
URLリンク(www.infoq.com)
InfoQ: Clojureに関するコンテンツ
URLリンク(www.infoq.com)
InfoQ: All of Rich Hickey's Content
URLリンク(www.infoq.com)
RailsConf 2012 基調講演 Simplicity Matters 翻訳書き起し
URLリンク(eed3si9n.com)
6:デフォルトの名無しさん
13/09/28 11:59:03.50 .net
【本】
URLリンク(www.amazon.co.jp)
Programming Clojure (2nd edition)
URLリンク(blog.practical-scheme.net) (日本語版)
URLリンク(pragprog.com)
The Joy of Clojure, Second Edition
URLリンク(www.manning.com)
URLリンク(www.joyofclojure.com)
URLリンク(www.infoq.com)
Clojure Programming
URLリンク(www.clojurebook.com)<)
英語版は、オフィシャルで40-50%ディスカウントクーポンや紙買った後に5-10ドルでebook追加できるサービスなど一部あり
【テンプレ終了】
7:デフォルトの名無しさん
13/09/28 12:00:38.53 .net
テンプレ収集場所
URLリンク(wiki.fdiary.net)
(ID:guest Pass:cl)
8:デフォルトの名無しさん
13/09/29 16:29:28.68 .net
>>1 乙
そしてなぜ前スレが1000行く前に落ちてんだ
9:デフォルトの名無しさん
13/09/30 18:10:34.01 .net
URLリンク(2013.8-p.info)
facebookが内部で形付きのphp拡張作ってるって。
typedscript含めて動的言語の型検査がトレンドになってきてる?
typed clojureは0.2で、使える代物になってるので、circleciでは実践投入しているらしい。
URLリンク(blog.circleci.com)
10:デフォルトの名無しさん
13/09/30 18:11:07.14 .net
typed clojureは、別に宣言する形なので、
慣れの問題だろうけど、本文中に埋め込んでる方が簡潔にみえる。
URLリンク(m.imgur.com)
lisp族でもshenは埋め込んでたが、
racket, clojureで埋め込まなかったのは、構文の自由度に影響でるから?
11:デフォルトの名無しさん
13/09/30 18:32:34.79 .net
>>8
980超えると一定時間経過で自動的に落ちるとかなんとか
12:デフォルトの名無しさん
13/10/01 15:29:09.20 .net
Clojure Cupが昨日終了して、さっき一般投票が始まったみたいだけど、誰か参加した人っている?
URLリンク(clojurecup.com)
13:デフォルトの名無しさん
13/10/01 20:55:20.02 .net
おいしい本は、ライブラリのカタログとしてかなり範囲が広いし、ライブラリが複数ある用途についてはしっかり一番オススメ出来るやつを選んで載せてある。
本屋でパッと見るだけでも全体通して同じだから雰囲気わかると思うよ。
参考文献がないのはなんかのお約束なんだろうか?
lolなところは、
入門書ではないが、leiningenのインストールのところはうまく初心者向けにかいてあるのに、javaのインストールには一言も触れてない点
関数脳って副題、内容関係なく編集者がつけた点
でした。
14:デフォルトの名無しさん
13/10/01 21:08:13.26 .net
>>12
このチームは日本からの参加者みたい
URLリンク(clojurecup.com)
15:デフォルトの名無しさん
13/10/02 01:33:24.25 .net
>>13
javaというか、jreだけでOKだよね?
16:デフォルトの名無しさん
13/10/02 23:32:43.22 .net
>>14
宣伝乙
17:デフォルトの名無しさん
13/10/03 00:32:32.27 .net
まあしかし、Rails Rumbleとかに比べてClojure Cupは全く盛り上がってないよなあ。そもそも母数が少ないから当たり前だが。
18:デフォルトの名無しさん
13/10/03 01:27:11.66 .net
おいしいやつけっこう評価いいっぽいな。買うかな。
19:デフォルトの名無しさん
13/10/03 01:54:41.31 .net
RunaとClimateが買収されたらしく、盛り上がってる。
どちらも、ネット上でClojureの人材募集してたのを見かけたことがあるけど、
コアな人材を集める気のあるところの方が、
買収する側にとっても独立したRD部署とするにはマッチするのかもしれないね。
20:デフォルトの名無しさん
13/10/03 01:54:42.31 .net
おいしい本は外部ライブラリ使った応用を紹介してるだけだから、文法的なことを期待して買うと塩漬けすることになる
21:デフォルトの名無しさん
13/10/03 01:58:06.93 .net
こういう話なのかね。
URLリンク(blog.livedoor.jp)
22:デフォルトの名無しさん
13/10/03 02:04:01.34 .net
おいしい本は、カタログ本なんでまず眺めてみたらいいと思うよ。
書店いくの面倒だったら、サンプルと草稿あるし。
URLリンク(gihyo.jp)
URLリンク(github.com)
23:デフォルトの名無しさん
13/10/03 02:07:51.84 .net
URLリンク(github.com)
URLリンク(github.com)
コマンドライン上で先にjava立ち上げておくツールは、
普段したのやつ使ってるけど、おいしい本では、上のやつが紹介されてた。
24:デフォルトの名無しさん
13/10/03 02:42:39.87 .net
どの本にも repl を終了するコマンドが書いてない件
(System/exit 0) で代用してるけど、いいのだろうか
25:デフォルトの名無しさん
13/10/03 04:38:08.70 .net
>>24
URLリンク(stackoverflow.com)
26:デフォルトの名無しさん
13/10/03 08:12:26.22 .net
Clojure Cupのエントリー数は42か。
まあ初回だしこんなもんなのかな
27:デフォルトの名無しさん
13/10/04 02:21:37.58 .net
make-arrayで配列作ってたんだけど、状態変更不可だと聞いてたから、配列の値を変更するたびに新しい配列を作り直すのかと思ったら、中身はjavaの配列で普通に代入してる件
28:デフォルトの名無しさん
13/10/04 02:32:30.29 .net
>>27
イミュータブルなデータ構造使いましょう
29:デフォルトの名無しさん
13/10/04 02:39:58.02 .net
状態変更不可だと聞いたの聞き間違いだね
ClojureにはJavaオブジェクトとかrefとかアトムとか
変更可能なものがいろいろ用意されてる
30:デフォルトの名無しさん
13/10/04 09:00:25.55 .net
URLリンク(clojure.org)
ここで扱う構造は、java直接なので代入可能。
基本的なデータ構造がイミュータブルな関数型言語でも、
URLリンク(en.m.wikipedia.org)
上の高速なHash使って、実用的な速度というので注目を集めたのがClojureだった。
なので、もともとHaskellでも代入可能なデータ構造が用意されてたりするし、使ったりする。
URLリンク(www.haskell.org)
URLリンク(d.hatena.ne.jp)
31:デフォルトの名無しさん
13/10/04 09:03:07.00 .net
URLリンク(hackage.haskell.org)
これもclojureにインスパイアされて作ってたはず。
32:デフォルトの名無しさん
13/10/04 23:28:39.24 .net
URLリンク(logaan.github.io)
clojureから、typed clojureにしてみて、scalaとhaskellに移植して比較してみたらしい。
typed clojureが一番長いけど、納得いかないものではない、という感想になってた。
33:デフォルトの名無しさん
13/10/05 00:53:56.11 .net
cup戦の投票結果発表してたよ。
34:デフォルトの名無しさん
13/10/05 01:16:50.23 .net
URLリンク(en.m.wikipedia.org)
URLリンク(github.com)
URLリンク(github.com)
URLリンク(github.com)
並行Trieは、scalaのチームが考えたのか。
clとhaskellの実装があるようだ。
名前からするとhash mapとstmが複数コアで速くなりそうに見えるけど、どうなんだろう。
35:デフォルトの名無しさん
13/10/05 02:23:43.17 .net
clojure-py やってみようと思ったけど
開発止まってるこれはもう開発の余地がないほど完成してるってとってもいいのかな
36:デフォルトの名無しさん
13/10/05 09:30:26.26 .net
URLリンク(groups.google.com)
The project is totally unactive right now, but it is in a reasonably usable state (you can start python2 clojure.py and get a working REPL).
前動かした時は、基本的なものは動くようにみえた。
ただ、javaのapi叩いてるようなライブラリは動かない。(主に、ioまわり)
37:デフォルトの名無しさん
13/10/05 16:49:02.23 .net
Getting Pushy: pushing data from server to browser
URLリンク(thestrangeloop.com)
> Join David Pollak, Lift’s founder, as he walks through Lift’s design decision
> and then see those same design decisions applied
> to a Clojure/ClojureScript/AngularJS side project that David has been working on.
core.async登場にあわせて、Liftっぽいフレームワーク作り始めてるのか。
38:デフォルトの名無しさん
13/10/05 17:20:31.97 .net
Schema for Declarative Data Validation in Clojure
URLリンク(thestrangeloop.com)
ちょっと話題になってるデータバリデーションライブラリ
これもスライドないのかな?
セッション一覧
URLリンク(thestrangeloop.com)
スライド一覧
URLリンク(github.com)
39:デフォルトの名無しさん
13/10/06 06:06:04.49 .net
setterという変数の内部の値を書きかえる関数があるとき、
(let [] (setter x) x)
と
(do (setter x) x)
で結果が違うんですけど、これは仕様でしょうか?
letの方はxが変更されなくて、doの方はxの中身が変更されます
40:デフォルトの名無しさん
13/10/06 12:12:08.07 .net
URLリンク(clojure.org)(let%20[bindings*%20]%20exprs*)
URLリンク(clojure.org)(do%20exprs*)
基本的に副作用ある場合は逐次実行される様にdo系の逐次実行マクロで囲む必要があるという認識。
URLリンク(d.hatena.ne.jp)
URLリンク(d.hatena.ne.jp)
基本は、副作用考慮し�
41:ネい実行順序によらない並列評価になると思うので let使う場合も、(let [bindings*] (do (expr*)))にする必要がある(と思ってる)。
42:デフォルトの名無しさん
13/10/06 12:55:16.43 .net
逐次実行の外部計算ライブラリ利用したプログラムでベンチとった時に、cpuが100%(=1論理コア)以上使われてた。
検証せずに、とりあえず並列評価された可能性が高いってことにしておいた。
別件だけど、reducerでメモリまわりも節約出来るようだし、java1.6以降対応だから初めから使うようにしたいんだが、
javaのagentが立ち上がるので、明示的にjavaをexitするところの作法ってないのかな?
URLリンク(tnoda-clojure.tumblr.com)
URLリンク(tnoda-clojure.tumblr.com)
URLリンク(tnoda-clojure.tumblr.com)
43:デフォルトの名無しさん
13/10/06 16:41:26.61 .net
exitする前にshutdown-agents呼んどく、という話ではない?
URLリンク(clojuredocs.org)
44:デフォルトの名無しさん
13/10/06 18:08:18.49 .net
ひょっとして、 do でも実行順序が保証されてなくないですか?
user=> (map (fn [x] (do (println "print " x) x )) (range 0 40))
(中略)
print 31
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 print 32
print 33
print 34
print 35
print 36
print 37
print 38
print 39
31 32 33 34 35 36 37 38 39)
45:デフォルトの名無しさん
13/10/06 19:19:42.62 .net
scheme の場合
gosh> (map (lambda (x) (begin (print "print " x) x)) (list-ec (:range v 100) v))
(中略)
print 95
print 96
print 97
print 98
print 99
(0 1 2 3 4 中略 91 92 93 94 95 96 97 98 99)
common lisp の場合
CL-USER> (mapcar (lambda (x) (progn (print x) x)) (range 100))
(中略)
97
98
99
(0 1 2 3 中略 97 98 99)
clojure は変数の不変性を前提に変な遅延評価と最適化してるような気がする
46:デフォルトの名無しさん
13/10/06 19:39:25.70 .net
mapが返すのは遅延リストだから、
(do s1 s2 s3)
s1 が s2 より前に実行されることが保証されているだけで、 s1 と s2 の間に他の処理をしないことは保証されていない
s1 s2 が s3 の内部の値を書き換える操作の場合は s3 の内部状態が書き換わることは保証されない
47:デフォルトの名無しさん
13/10/06 20:28:02.08 .net
遅延評価まじでウザいな
なんでこんな欠陥を導入したんだよ
48:デフォルトの名無しさん
13/10/06 20:47:17.05 .net
破壊的副作用に頼ったコードを書かなければどうということはない
・・・と言いたいところだけど、java呼び出しで書かざるを得ない時は結構ある
毎日clojureさわってる内はちゃんとdoallとかdorunとか呼ぶようにするけど、
ひさしぶりにさわると忘れてる事が
49:デフォルトの名無しさん
13/10/06 21:24:51.01 .net
データ構造を作った後に値を埋めていくタイプのコンストラクタはどうやって作るのだろうか…
50:デフォルトの名無しさん
13/10/06 21:25:48.60 .net
遅延評価ではなく遅延シーケンスな
51:デフォルトの名無しさん
13/10/06 22:44:50.69 .net
>>46
遅延シーケンスを否定するならClojureを使う意味はほぼ無いよ
まさしくClojureの主要機能
52:デフォルトの名無しさん
13/10/07 03:31:05.01 .net
順序問題はloop使うとちょっと逃げられる
53:電波いっぱい
13/10/07 17:49:52.39 .net
>>48
doto を使うということではなくて?
54:デフォルトの名無しさん
13/10/07 23:35:18.05 .net
do一族
URLリンク(clojure.github.io)
URLリンク(julianlaffey.wordpress.com)
55:デフォルトの名無しさん
13/10/12 00:43:25.74 .net
遅延なんて、カスと認定されて20年以上前に主要プログラミング言語から追放された昨日なのに
どうして関数型を名乗る言語で復活してしまったのか
カスなのに
56:デフォルトの名無しさん
13/10/12 02:47:32.00 .net
>>54
54の頭が20年前で止まってるから。
57:デフォルトの名無しさん
13/10/12 02:55:10.84 .net
そもそも追放されてなくね
58:デフォルトの名無しさん
13/10/12 03:57:57.56 .net
>>54
リストxs が f1 f2 f3 ... で構成されてて、
各fi が xs の部分集合から計算されるとき、
各fi の計算順序を無視して xs の定義を記述できる
ので便利
59:デフォルトの名無しさん
13/10/12 09:16:54.87 .net
副作用を制限する関数型言語の特性と遅延処理の相性がいいからねえ
60:デフォルトの名無しさん
13/10/12 09:27:51.29 .net
netflixの紹介は遊んでるな
URLリンク(speakerdeck.com)
61:デフォルトの名無しさん
13/10/12 17:45:21.27 .net
その作者、seesaw作ってた人か
当時は学生っぽく見えたけど、どうだったんだろう。
62:デフォルトの名無しさん
13/10/14 11:35:08.95 .net
>>59
マクロの項目吹いたwwwww
63:デフォルトの名無しさん
13/10/15 05:16:59.58 .net
それマクロスちゃうヴァルキリーやで
っていう突っ込み欲しいんだろうか
64:デフォルトの名無しさん
13/10/15 23:04:25.26 .net
netflix社内では、アニメ見放題なんだろうか。
最近見かけるようになった機械学習のSaaSっぽいやつのひとつ
URLリンク(bigml.com)
バックエンドが99%clojureらしい。
URLリンク(blog.bigml.com)
65:デフォルトの名無しさん
13/10/17 12:57:58.69 .net
割とマジでコレが日本で流行らん理由がわからん。
PHPなんかよりよっぽどWeb関係作りやすいし安定してるのに。
66:デフォルトの名無しさん
13/10/17 14:16:47.21 .net
流行らない理由「Lispだから」説
twitterでもネタで書かれてたけど
本当にこれありそうだよな
67:デフォルトの名無しさん
13/10/17 14:25:53.41 .net
Pythonみたいなのが流行りつつあるのを見ると
やはりみんな括弧が嫌いなのかね
自分もエディタのサポートが無い環境なら
括弧の類が少ない言語を選ぶ気がするよ
68:デフォルトの名無しさん
13/10/17 15:28:06.39 .net
Lisp系の文法フリーな文化に慣れると
他の言語に手を出す気が失せる
69:デフォルトの名無しさん
13/10/17 15:59:06.29 .net
>>66
今の時代エディタのサポートなしとか余程の変態か初心者しかやらないし
python流行ってるのは米軍とかgoogleが支援してるからも大きい
つまりclojureにもいいパトロンがつけば
70:デフォルトの名無しさん
13/10/17 17:06:09.50 .net
外野からすると単にカッコがというよりものっぺりしたコードの見た目に抵抗がある
71:デフォルトの名無しさん
13/10/17 18:06:07.41 .net
>>64
生のJavaScript書くのが辛いという理由で、Haxeみたいなのが人気が出てるのを見ると、
「コンパイラがエラーを指摘してくれる安心感」に魅力を感じる人が多いんだな、と思う。
Lispは発想を自由にコーディング出来るが、言い換えると開発者によって練度のバラつきが
大きく影響する--->人月で契約するプロジェクトマネージャーへの受けの問題だろう。
72:デフォルトの名無しさん
13/10/17 22:00:11.12 .net
マクロ書けなかったらClojure使う意味なんかないしなぁ
73:デフォルトの名無しさん
13/10/18 13:15:25.70 .net
>>70
JavaScriptもClojureのREPLみたいに使えればそんなに書くの嫌いじゃ無いんだが開発環境がとてもショボイのが嫌いだ
ってなわけでWeb環境はclojure+clojure scriptが楽だったりする。
プロトタイプはこれで作ってプレゼンする感じ
でも実際の運営までにはPHPとかに変換しないと運営から文句来る orz
74:デフォルトの名無しさん
13/10/18 16:00:03.29 .net
これはClojure->PHPのトランスレータのフラグ。
75:デフォルトの名無しさん
13/10/19 10:07:41.65 .net
Twitter見てるとアニオタに人気の言語なのかね
76:デフォルトの名無しさん
13/10/19 13:41:00.30 .net
>>74
PythonとRubyがアップを始めたようです
77:デフォルトの名無しさん
13/10/19 20:10:23.28 .net
Haskell「所詮スポーツマンじゃの」
78:デフォルトの名無しさん
13/10/19 21:31:27.19 .net
今勉強中なんだけど、
セットとかマップって単にリストとか連想リストではいかんのだろうか。
そんなに効率が変わるようにも思えないし
79:デフォルトの名無しさん
13/10/20 00:36:22.11 .net
普段はScala + Playをsbt + IDEAでコーディングしてるんだけど、
Clojureでウェブアプリ作ろうと思ったらどんな組み合わせでやるものなの?
デプロイ先とかも簡単に見つかるのかどうかも気になります。
80:デフォルトの名無しさん
13/10/20 01:42:32.78 .net
Ring: RubyでいうRackのようなミドルウェア
Compojure: RubyでいうSinatraのようなWebアプリ記述用DSL
ということらしい、詳しくは知らん
参考URL URLリンク(d.hatena.ne.jp)
81:デフォルトの名無しさん
13/10/20 12:28:05.95 .net
ringアプリでwarとか作れば、servletで提供できるよ。
URLリンク(www.ibm.com)
なので、openshift,run@cloud,gae,beanstalk,herokuなど無料から使えるとこで使える。
82:デフォルトの名無しさん
13/10/20 12:51:03.51 .net
mvc的なものなら
compojure
URLリンク(devcenter.heroku.com)
luminus
URLリンク(www.luminusweb.net)<)
URLリンク(www.flyingmachinestudios.com)
この本は、compojure中心
URLリンク(pragprog.com)
クライアントサイドJSまわりは、clojurescriptというのでかけたりする。
URLリンク(www.oreilly.co.jp)
Railsのmigration、scaffold的なところがあるツールは、今のところないと思う。
83:デフォルトの名無しさん
13/10/20 13:38:55.00 .net
>>78
webアプリだと基本warに落とせる物が多いからAWSでもなんでも何処でもOKですぜ。
servletエンジン持ちもあるから単体jarで起動できる物も多いし。
JVMの有無だけじゃないのかなデプロイの可否
84:デフォルトの名無しさん
13/10/22 01:07:49.94 .net
ふっふっふ
社内で勉強会開始
emacsenが半数を占めていたのでCCWじゃなくnrepl-jack-inでclojure学習でだいぶいけそう
85:デフォルトの名無しさん
13/10/22 02:58:45.16 .net
メモ帳+コマンドプロンプト の俺は異端か…
86:デフォルトの名無しさん
13/10/22 03:51:38.44 .net
Lispでエディタ補助なしって拷問に近い
LightTableがオシャレ
87:デフォルトの名無しさん
13/10/22 04:10:29.72 .net
メモ帳でLisp書くのとかどんな罰ゲームだよwww
88:デフォルトの名無しさん
13/10/22 05:31:08.88 .net
>>84
器用だな
不便感じないの?
89:デフォルトの名無しさん
13/10/22 07:49:10.16 .net
>>79
>>80
>>81
>>82
ありがとう。いろいろ選択肢はあるんですね。
少しずつ勉強してみます。
90:デフォルトの名無しさん
13/10/22 18:48:42.63 .net
>>84
xyzzyいいよー^^
91:デフォルトの名無しさん
13/10/22 23:16:26.44 .net
メモ帳+コマンドプロンプトになれると、USBメモリにclojure1.xx.x..jarとコマンドプロンプトのショートカットだけ入れてればどこでもプログラミングできる
92:デフォルトの名無しさん
13/10/23 02:58:00.41 .net
xyzzyにclojure-modeあるのか?
93:デフォルトの名無しさん
13/10/23 14:58:22.80 .net
>>90
いっそのことlanternaとか使ったテキストエディタもとろもつくっちまったほうがよくね?(lanterna日本語とおらないのがアレ過ぎるけど)
94:デフォルトの名無しさん
13/10/25 03:44:18.58 .net
もはやメモ帳でコーディングする方が楽という領域に入ったが、
メモ帳閉じた後に自動インデント整形してソースを出力しなおしてくれるツールがあるとうれしい
clojure.jarにくっつけてくれ、とだれが英語でリクエストしておいてください
95:デフォルトの名無しさん
13/10/25 05:16:19.00 .net
URLリンク(www.infoq.com)
形システムについての日本語記事
96:デフォルトの名無しさん
13/10/26 01:55:15.87 .net
>>93
vimとclojure.vim入れて、全行を「=」コマンドで整形して保存するだけのスクリプトを書いて実行
もしくはemacsで(ry
コードの整形は流石にpretty-printでは無理か
97:デフォルトの名無しさん
13/10/26 19:43:26.42 .net
leiningen使ってたら他の処理系のビルドが大変めんどくさくなってきて困る
なんだかdameningenになった気分だ
98:デフォルトの名無しさん
13/10/26 20:08:56.78 .net
githubのランキングが変わってた。
だいぶ前なのかもしれないけど。
トレンドなリポジトリ
URLリンク(github.com)
トレンドな開発者
URLリンク(github.com)
googleのリポジトリもあるんだね。
99:デフォルトの名無しさん
13/10/26 20:19:48.05 .net
>>96
最近の、ビルドの最中までオンライン前提な風潮はどうにかならないのだろうか…
100:デフォルトの名無しさん
13/10/27 17:15:30.86 .net
>>98
つlein -o
101:デフォルトの名無しさん
13/10/28 01:28:01.73 .net
nrepl.elで
(.start (Thread. #(println "anal")))
とかすると、出力がreplではなく*nrepl-server*バッファに表示されてしまう問題はいつ解決されるんだろうか
102:デフォルトの名無しさん
13/10/28 21:17:40.45 .net
URLリンク(github.com)
URLリンク(doc.tir.ne.jp)
作者が日本人だから日本語のドキュメントが充実してていいな
103:デフォルトの名無しさん
13/10/29 20:25:42.06 .net
>>100
replの*out*をどこかにコピーしておいてbinding で*out*へ結びなおすのじゃだめなん?
user>(defonce +nrepl+ *out*)
user> (.start (Thread. #(binding [*out* +nrepl+] (println "anal"))))
anal
nil
user>
104:デフォルトの名無しさん
13/11/02 18:46:32.47 .net
>>102
そっか、それで良いのかありがとう
pcallsとかならbindingしなくてもちゃんとreplに出力されるみたいだから内部で同じようなことやってるのかな
それでも例外は*nrepl-server*に出てしまうけど
105:デフォルトの名無しさん
13/11/03 08:59:14.28 .net
>>103
例外は補足してバッファにpopupさせる設定ができるから
nrepl-popup-.*
な変数を c-h vでチェックしてみるのがよさげ
;;; 最新版にしたらritzが動かないのでbreak-on-exception効かなくなってちょっとこまった >> nrepl
106:デフォルトの名無しさん
13/11/05 21:51:04.56 .net
URLリンク(cemerick.com)
Clojure国勢調査2013
去年まではもう少し早い時期にやってた気が。
107:デフォルトの名無しさん
13/11/05 21:58:39.40 .net
Great Goodとか出してるNo Starchからclojureの本出すらしい。
> Good news everybody: I've signed a deal with No Starch Press to publish Clojure for the Brave and True! Not only that, the entire book will continue to be available for free online!
URLリンク(www.flyingmachinestudios.com)
たくさん図のはいった本になるんだろうか
108:デフォルトの名無しさん
13/11/05 22:20:40.22 .net
現在フリーで公開してるこれを No Starch からも出すってことじゃない?
URLリンク(www.braveclojure.com)
これで勉強して Compojure で何か書いてみたいなあ
109:デフォルトの名無しさん
13/11/11 23:53:23.54 .net
ニュー速VIP爆撃中の2ch定期書き込みツールqsocks
lispで書かれたこのツールを誰か改造してください。
他板でも使えるようにしてください。
お願いします。m(ーー)m
qsocks
URLリンク(anonfiles.com)
qsocksソースコード
URLリンク(codepad.org)
110:デフォルトの名無しさん
13/11/12 00:19:25.31 .net
知らばく見てなかったけど、もちろんJVMとは決別したよな。
111:デフォルトの名無しさん
13/11/12 00:32:31.14 .net
もうブラウザに移行しまうま。
来年ぐらいに構文解析的な用途では十分なCinCもできそう。
llvm、python、.net実装は利用者増えてない。
112:デフォルトの名無しさん
13/11/12 00:33:43.41 .net
JJUGで発表あったような、、、
113:デフォルトの名無しさん
13/11/20 08:19:00.09 .net
URLリンク(www.sankeibiz.jp)
clojure cupに出てたのこのチームだったそうで。
114:デフォルトの名無しさん
13/11/20 16:55:40.22 .net
もっとこういうClojureの採用事例が増えてくれるとうれしい
115:デフォルトの名無しさん
13/11/23 01:29:58.21 .net
lispってemacsユーザーのオモチャっていうイメージがある
116:デフォルトの名無しさん
13/11/23 03:14:20.49 .net
そもそもclojureはlispなのだろうか…
117:デフォルトの名無しさん
13/11/23 07:37:57.01 .net
let over lambdaの作者がvimmer過ぎて、読んだらemacs云々はのイメージが薄れた。
118:デフォルトの名無しさん
13/11/23 10:29:47.83 .net
>>114
逆ジャね?
emacsがLispユーザのおもちゃじゃね?
119:デフォルトの名無しさん
13/11/24 01:18:40.32 .net
SICPとemacsがプログラミング入門に最適だった
今でも、そこからスタートするのが良い素養を持てるはず
C#,PHPがやることなんて、せいぜいlatexの延長か何か
120:デフォルトの名無しさん
13/11/24 16:43:40.55 .net
SICPはschemeメインだから、SICPから入ると、loopを多用するlisp的なイデオムに拒否反応が出る
121:デフォルトの名無しさん
13/11/24 18:43:19.94 .net
lein使おうと思ってダウンロードしてlein replしたら
URLリンク(leiningen.s3.amazonaws.com)
をダウンロードしようとして失敗する。
122:デフォルトの名無しさん
13/11/26 23:46:08.50 .net
2.4.0-SNAPSHOTがないっぽい。
たしか、2.3.4にしたら動いた。
leiningen-2.3.4-standalone.jar
123:デフォルトの名無しさん
13/11/26 23:54:53.15 .net
URLリンク(blog.jonharrington.org)
Hy (lisp on python)
URLリンク(docs.hylang.org)
clojure-pyは活動停してしまったけど、
lisper向けな別プロジェクトがあるらしい。
124:デフォルトの名無しさん
13/11/27 00:02:25.56 .net
export LEIN_VERSION="2.4.0-SNAPSHOT"
ここを"2.3.4"ね。
たまたま、普段使わないwindowsにいれようと思ってひっかかったので、
404 not found じゃなくて、403 Forbiddenだし、
過去の報告みてダウンローダーがおかしいのかと思ったんだけど、
取り敢えずファイルが公開されてないようだ。
125:デフォルトの名無しさん
13/11/27 00:04:04.94 .net
hylasと微妙にカブる
126:デフォルトの名無しさん
13/11/28 23:21:29.33 .net
incanterをRの代わりの使おうしたけど
incanterは色々足りない感じがして残念
127:デフォルトの名無しさん
13/11/28 23:51:11.37 .net
資産を生かしたいなら、Rのラッパーがjavaやclojureにあればすむのかな?
128:デフォルトの名無しさん
13/11/29 02:46:50.26 .net
>>125
Incanter は現在もしっかりと開発されてるんだよな
数人がコツコツ作ってる印象だけど
物足りない感じるならなら開発に参加すべき
129:デフォルトの名無しさん
13/11/29 13:56:26.40 .net
JVM上で動くRやサーバーで動くRもあるらしいので組み合わせてみては
URLリンク(code.google.com)
URLリンク(rforge.net)
130:デフォルトの名無しさん
13/11/29 20:41:34.26 .net
もうそれ素直にRやったほうがいいと思うの
131:デフォルトの名無しさん
13/12/03 13:16:22.87 .net
Common LispやSchemeとの関数の対照表はありませんか?
まずmemberやfindに対応するものからしてわからない……
132:デフォルトの名無しさん
13/12/03 20:08:14.78 .net
define defun defnとか、set系とか、eq系とか、mapとmapcarとか、高階関数の引数で#'が必要かどうかとか
もうあきらめてる
133:デフォルトの名無しさん
13/12/03 23:33:26.00 .net
つ URLリンク(hyperpolyglot.org)
134:デフォルトの名無しさん
13/12/03 23:49:14.67 .net
2013利用者調査の集計終わったらしい
URLリンク(cemerick.com)
URLリンク(tech.puredanger.com)
135:デフォルトの名無しさん
13/12/12 00:14:11.72 .net
jarkをraspberry piとbeaglebone blackで使えるようにして�
136:ルしい。 つまりarmアーキテクチャで動くjarkがほしい。 rpiもbbbもjvmとかreplとかの起動が信じられないほど遅くてclojureを使うモチベーションが 打ち砕かれてるのが現状だけど jarkが動くようになれば未来がガラリとかわる。
137:デフォルトの名無しさん
13/12/12 01:01:07.13 .net
CPUは18ヶ月で2倍だっけ?
atomのBayTrailなら普通に動くので、
あと二年ぐらいで、1万前後の組み込みボードでarmかatomがそこそこ動くようになってると思う。
138:デフォルトの名無しさん
13/12/17 14:54:34.68 .net
Incanter 最近動きないと思っていたけどこつこつと開発は進んでいたんだな
139:デフォルトの名無しさん
14/01/03 18:29:49.53 .net
同じような処理をするならリストかベクタどっちが早いの
140:デフォルトの名無しさん
14/01/03 19:21:41.87 .net
>>137
その同じような処理がどんな処理かによる
141:デフォルトの名無しさん
14/01/04 01:48:06.47 .net
>>138
要素ごとに関数を適応する場合と
(+ n n+1 n+2)みたいな計算を全リストごとに計算をする
142:デフォルトの名無しさん
14/01/04 02:00:47.86 .net
処理そのものの速さよりも、結果を他のコレクションに変換するときのコストを気にする方がいいような…
143:デフォルトの名無しさん
14/01/04 02:40:32.32 .net
>>139,140
1.5からmapvとかあるからvectorでもseqでも変換コストはかかんねぇような気がする
144:デフォルトの名無しさん
14/01/04 02:41:55.72 .net
あ、まちがい、出来上がった結果のvecやらseqやらをさらに遣って後から伸びる方法によるのか。(頭に足すかケツに足すか)
145:デフォルトの名無しさん
14/01/04 18:25:37.79 .net
>>141
mapv初めて知った
>>140
リストをベクタにしたりとか変換しないようにしとけば特に問題ないんだな
146:デフォルトの名無しさん
14/01/09 16:16:29.71 .net
LightTableがOSSになったぞ
147:デフォルトの名無しさん
14/01/09 16:58:50.78 .net
>>144
見てきた
cljsとはおもわなんだ
ちょっとびっくり
148:デフォルトの名無しさん
14/01/25 03:02:37.00 .net
おいしいclojure読んだけど、外部のライブラリを導入するときに、インストールまで全部オンラインでやること前提になってるけど、今はそれが普通なのだろうか
必要なアーカイブをダウンロードして、あとはオフラインでやるというスタイルはもう終わりですか
149:デフォルトの名無しさん
14/01/25 13:52:56.12 .net
>>146
できなくはないけど、面倒くさい。
150:デフォルトの名無しさん
14/01/25 15:18:37.20 .net
jarファイルダウンロードしてくる部分のこと?
yum(rpm)、gemとかと一緒だね、
leiningenとかで使ってるのは、javaのmavenレポジトリがベース
rubygems.orgとか良くダウンしてたので、その時の為に、ローカルにリポジトリのURLリンク(daly.axiom-developer.org)ミラー作ったり、yumもインストールCDからしたり出来るし。ローカルネットワークのみの場合でもproxy経由でインストールしたりする。
mavenは詳しくわからないけど、
leiningenも、ローカルにミラーしたmavenレポジトリ追加したりということは可能かと。
あとは、独自版を使いたいときのために、localinstallプラグインというのがある。
151:デフォルトの名無しさん
14/01/25 16:42:03.33 .net
4clojureがちょくちょくつまる
reverseなしでreverseするには空リストにintoとか
普通すらすらわかるん?
152:デフォルトの名無しさん
14/01/25 16:53:06.44 .net
>>148
普通にローカルの~/.m2/repositoryへ突っ込む手段はあるから問題ないんじゃ?
ソースひっぱってきてmvn installでも lein installでも使える
バイナリのjarだけを突っ込む方法はしらん;-p (~/.m2/repositoryをクローンで?)
153:デフォルトの名無しさん
14/01/25 21:21:53.70 .net
>>150
バイナリのjarだけつっこみたい時は、lein localrepoをつかう
URLリンク(github.com)
154:デフォルトの名無しさん
14/01/25 23:42:38.80 .net
起動時間なんとかしてくれー
155:デフォルトの名無しさん
14/01/26 11:44:45.81 .net
jvmの起動時間て
なんであんなに遅いの?
どうにかならないもんなの?
156:デフォルトの名無しさん
14/01/26 15:18:15.60 .net
leinは、32bitJVMのころにあった-clientに当たるような設定つけて起動してるみたい。
なので、サーバー用途にlein runそのまま使うと遅くなることも。
Android4.4に実装されているART Runtimeみたいに、AOTで起動早くすることもできるんだけど、
現状、AOT付いてるPC向けのVMはHotSpotVMより起動が遅かったりする。
そういうば、ART Runtimeだと今のところclojureでつくったソフトが起動時にclassのverificationで落ちて動かない。
157:デフォルトの名無しさん
14/01/26 23:53:17.89 .net
要望にあったものではないだろうが、こんなのが
URLリンク(github.com)
ClojureScriptのscheme版に改造したものらしい
cljs系は面倒だけど、メンテナンスはしやすいかも。
pycljとかも、起動早いしそのまま使える。
でも、JVMに直接依存してるところは、動かない、、
こういうのって、OpenCLみたなHPC向けのコード吐けるものなら便利そう
158:電波いっぱい
14/01/27 23:40:51.24 .net
>>149
そういうのに多く触れて来た人ならスラスラ解けるでしょうけど、そうで無い人の方が多いでしょう。
でも、そういう問題を解いて、他の人がどのように解いているのかということを知るのが4clojureの目的だよね。
159:デフォルトの名無しさん
14/01/28 10:27:48.13 .net
>>156
なるほど、解いた後他人のsolutionを見ることに意味があるのか
160:デフォルトの名無しさん
14/01/30 00:07:51.81 .net
すみません
leiningen を reple で起動したときに、jar をどっかからダウンロードしてると思うんですけど、そのjarっていったいどこに保存されてるのでしょうか?
Windows7 です
161:デフォルトの名無しさん
14/01/30 05:22:55.78 .net
lein classpath とか打てば書いてあるんじゃね?
162:デフォルトの名無しさん
14/01/30 11:22:48.47 .net
>>158
c:/Users/<アカウント名>/.m2
ここがmavenのリポジトリの在処
lein depsでひらってくると.m2以下に突っ込まれる
163:デフォルトの名無しさん
14/01/31 22:17:30.83 .net
大学生協に1冊だけあったおいしい本がなくなってやがる
こんなマイナー本をピンポイントで
中身確認したかったのにorz
164:デフォルトの名無しさん
14/02/01 00:04:22.94 .net
おいしい本は、読者がネットに常時接続してることを前提にしている点に違和感がある
165:デフォルトの名無しさん
14/02/01 00:30:20.21 .net
ずっと繋がないといけない処理があったりするの?
lein使うのやめてほしいとかそいうの?
166:デフォルトの名無しさん
14/02/01 00:34:29.85 .net
>>163
私の開発環境は完全にオフラインだから
leinだと、USBメモリにjarファイルコピーしても、どこに配置すればいいのか分からん
167:デフォルトの名無しさん
14/02/01 01:00:42.53 .net
確かに。昔は、何も使わないチュートリアルがあったけど、最近はlein中心だからね。
もともとそれで動くから、
ツール系はhadoopとかみたいに、libsフォルダにがっつりjarファイルが入ってて、コマンド用意して隠蔽してたりする。
jar置いて実行できるツールは必要かもね。clojurebox
基本はこれだけど、
URLリンク(clojure.org)
unix
java -cp jar1:jar2:..:jarn -m clojure.main
win
java -cp jar1;jar2;...;jarn -m clojure.main
jarフォルダにいれてあれば、jar1:jar2:...:jarnを展開してくれるスクリプトみたいのあったかも。
leinプロジェクトの場合は、lein uberjarしてstandalone.jarをどっかからもってくるというて手もあるが。
168:デフォルトの名無しさん
14/02/01 22:53:02.10 .net
ふと思ったんだけどClojureってClojureで実装されてんの?
169:デフォルトの名無しさん
14/02/01 23:15:13.68 .net
バイトコードにコンパイルするのに、sdkのjavac が必要ないことだけは分かってる
170:デフォルトの名無しさん
14/02/01 23:18:43.09 .net
>>167
.javaなruntimeクラスとかどうやってコンパイルしてるん?
171:デフォルトの名無しさん
14/02/02 12:57:22.64 .net
ローカルの ~/.m2 リポジトリをUSBメモリやモバイルPCに入れて、
オフラインで lein 使用できないかな?
172:デフォルトの名無しさん
14/02/02 13:49:18.44 .net
>>169
$HOMEを書き換えれば使えるんじゃね?
173:デフォルトの名無しさん
14/02/02 23:31:31.18 .net
Clojureは今のところJavaで実装されてる。ClojureのコンパイラをClojureで書き直すプロジェクトはClojure Contribの1つとして既に走ってるよ。
174:デフォルトの名無しさん
14/02/03 23:57:20.87 .net
Java言語習得済み人に聞きたいんだけどメソッドの大文字小文字の命名規則ってある?
kとKの違いでプログラミングClojureのSnakeゲーム時間めっちゃとられた
175:デフォルトの名無しさん
14/02/04 00:30:48.62 .net
メソッド名は小文字から始まって、単語の区切りの先頭を大文字で
なので単語はアンダーバーで区切らず、そのまま連結する
というのが基本で、○○法とかの固有名詞の場合はそのときそのときで
今は日本語のメソッド名も使えるらしいが、その場合のルールは不明
176:デフォルトの名無しさん
14/02/04 01:04:01.73 .net
ClojureScriptでhello world書いたら1MB弱あるjsファイル吐かれて驚いたんだけどこれが普通なの?
一応pretty print切ったら600KB少しにはなった
177:デフォルトの名無しさん
14/02/04 04:30:37.09 .net
>>174
google closure compilerがゴリゴリ削るはずなんだけど
:optimizations が :none とか :whitespace になってたりしない?
178:デフォルトの名無しさん
14/02/04 10:53:27.86 .net
>>173
なるほど、そういうことか
そうやってクラス名とメソッド名を区別するわけか
thx
179:デフォルトの名無しさん
14/02/05 06:09:12.77 .net
haskel caml ml scala 使いのおれがclojureにうつるので今現在のおすすめ本ほしえてくれ
主要な本、英語か日本語で 特徴つけてくれたらうれしい
180:デフォルトの名無しさん
14/02/05 06:55:56.35 .net
日本語書籍
オーム社
プログラミング Clojure 第二版(PDF版アリ)
Clojureの基本解説書、これよんだ後はclojarsとgithub探訪で事足りるような?
技術評論社
おいしいClojure
フレームワークやライブラリの紹介集なので必要かどうかは微妙だが名前が類推できないものとかをちょろっと知るには便利
英語書籍(基本ebook)
Joy of Clojure
入門書 Programming Clojureとどちらか片方あればOK
Clojure in Action
入門書+α +αの所が良い感じ TDD, Data storage, web, DSLとか
Clojure Programming
これは読んでないのでしらない
181:デフォルトの名無しさん
14/02/05 20:27:20.90 .net
Very thanks
やっぱ日本語と英語じゃ理解の速度も深さもちがうから
日本語書籍 オーム社 プログラミング Clojure 第二版(PDF版アリ)
を週末に買いに行くわ
ただ、projectの組み方とか、開発環境の細かい使い方セッティングの仕方とか
かいてあるのもほしい、eclipse for java みたいなののつかいかた
lein とかの使い方、webあされば分かるんだろうけど、
まとまってるのがいい本とかで、その方が達成もあるし。
182:電波いっぱい
14/02/05 23:26:58.73 .net
>>179
使い方方面であれば、これはいいと思う。
URLリンク(pragprog.com)
webベースのいくつかのシステムを1から作り上げていく過程を解説するという流れで進んでいく。
clojureのバージョンも最新の1.5.1対応。
leiningenの説明もあり。
ideはLightTable。
183: さておき、Joy of Clojureは入門書では無いと思う。一通り身についた頃に読むと、clojureらしい書き方っていうのがわかる本。
184:デフォルトの名無しさん
14/02/06 00:57:12.73 .net
joy of clojureは本自体にそんなことが書いてあるもんなぁ
185:デフォルトの名無しさん
14/02/07 00:45:16.62 .net
プログラミングClojureの5,6章はJavaの前提知識がないと辛いものがあるな
7章はめっちゃすんなり読めるのに
186:デフォルトの名無しさん
14/02/07 00:51:17.32 .net
>>175
optimizationsをadvancedに変えたら素のJS並に減ったわ
でもこれJSのライブラリと相性悪いみたいなんで萎えた・・・
187:デフォルトの名無しさん
14/02/07 08:52:33.77 .net
URLリンク(otabat.hatenablog.com)
細かい指定方法があった
188:デフォルトの名無しさん
14/02/07 11:19:08.24 .net
それを読んだので萎えた
189:デフォルトの名無しさん
14/02/08 16:01:14.48 .net
>>180 thanks 日本語の本読んでから見てみる
190:デフォルトの名無しさん
14/02/09 22:02:16.24 .net
日本語の書評があったので、転載
1. Web Development with Clojure
Clojure で Web アプリ開発する方法を調べようとして,ググり疲れた人向けです.
本書では Compojure/Ring の組み合わせについて, 一通りサンプル Web アプリケーションが動くまでを解説しています.そのほか (続く)
2. Clojure High Performance Programming
この本はおすすめなので,絶賛します.
この本の大部分は (遅くならない)普通の Clojure プログラムの書き方 の説明に費されています.
そこで,この本は次のような人におすすめです.
初級~中級レベルの Clojure プログラマをこれから目指す入門者
(続く)
3. Clojure for Domain-specific Languages
これは、英語の書評があったけど、DSLが40ページで、残りが入門書とのこと。
あまりお勧めされてはいなかった。
似たような分野だと、
実践プログラミングDSL ドメイン特化言語の設計と実装のノウハウ
と
Functional Programming Patterns in Scala and Clojure: Write Lean Programs for the JVM
がある。
そういえば、clojureの書籍での入門順は何ヶ所で見た気がする。こことか
URLリンク(www.bigjason.com)
191:デフォルトの名無しさん
14/02/10 19:49:57.63 .net
nilと()って分けてみたはいいけどあまりうまくなかったという感じがしない?
利便性に振った結果か、結局色んな所で同一視してるし……
192:デフォルトの名無しさん
14/02/10 23:07:26.60 .net
nilとfalseを分けたschemeが嫌いな人には向いてると思う>>Clojure
193:デフォルトの名無しさん
14/02/11 00:23:41.32 .net
というか、嫌なら、適当なシンボルを偽に割り当てればいいのではなかろうか
194:デフォルトの名無しさん
14/02/14 20:03:15.49 .net
プログラミングClojure第二版の10.4の
lein noir new clojurebreaker
って
lein new noir clojurebreaker
の間違いじゃね?
195:デフォルトの名無しさん
14/02/15 08:03:30.33 .net
kindleマーケットで100円の本買ってClojureの勉強はじめた
Android上で動くワンペインアウトラインプロセッサ作りたい
196:デフォルトの名無しさん
14/02/15 15:29:39.97 .net
あのkindle本、追体験出来るように書かれてるので独習にいいよね。
197:デフォルトの名無しさん
14/02/15 23:15:27.33 .net
seesawで表示させるとUbuntuだとテキストめっちゃ汚いんだけどWindowsだとどうなんだろ
198:デフォルトの名無しさん
14/02/16 03:54:07.02 .net
>>194
font設定しないと駄目じゃね?
199:デフォルトの名無しさん
14/02/16 04:24:20.25 .net
>>194
Javaのメソッドで直接アンチエイリアスの設定をしないと綺麗にならないよ。
200:デフォルトの名無しさん
14/02/16 04:37:24.76 .net
間違えた。"(anti-alias g)"でいけたわ。
201:デフォルトの名無しさん
14/02/16 14:18:22.71 .net
clojure-1.6.0がbetaになったらしい
URLリンク(groups.google.com)
細かい拡張とバグフィックス
あとはパフォーマンス的には、hashとstmとprotocol呼び出しの効率あがったみたい。
202:デフォルトの名無しさん
14/02/16 18:04:34.54 .net
>>198
hashはそんなに重いと感じたことないけどprotocolはすげーありがたい。
stmは粒度気にしてればパフォーマンスあんまり気にならなかったけど、レースコンディションの激しいものでもOKってわけじゃないよね?
203:デフォルトの名無しさん
14/02/16 18:21:14.27 .net
>>195
>>196
フォント設定したらそこそこ綺麗になった
thx
204:デフォルトの名無しさん
14/02/16 23:16:52.08 .net
>>199
単純に使ってないシステムコール(時計)を消去しただけみたい。
205:デフォルトの名無しさん
14/02/16 23:39:30.74 .net
もともとトランザクショナルメモリは、GILやジャイアントロックのようなロックを並列処理出来るようにしたり、書き込みが一箇所に集中しない時に使って楽するものみたいだし、
カウンターみたいなのは、合成(reduce)していく設計になるんじゃないかと思った。
206:デフォルトの名無しさん
14/02/16 23:52:52.21 .net
URLリンク(tnoda-clojure.tumblr.com)
最近知ったんだけど、reducers使うと効率いいらしい。
207:デフォルトの名無しさん
14/02/17 00:36:36.78 .net
>>203
カリー化ってClojureに実装されてなくね?
208:デフォルトの名無しさん
14/02/17 05:27:34.71 .net
>>203
勉強になった
209:デフォルトの名無しさん
14/02/17 12:29:59.97 .net
Quilって使ってる人居る?
210:デフォルトの名無しさん
14/02/17 22:19:18.20 .net
なんか怖いが第一印象
211:デフォルトの名無しさん
14/02/21 00:37:52.59 .net
Quilはけっこう便利
これなら手軽にClojureでゲームが作れたりするんじゃないだろうか
ただgithubのドキュメントがまさにイギリス人の英文って感じなのがあれだけど
212:デフォルトの名無しさん
14/02/22 20:26:54.41 .net
test
213:デフォルトの名無しさん
14/02/22 20:46:56.31 .net
あれ、まだ?
214:電波いっぱい
14/02/23 22:40:30.45 .net
あれって?
215:デフォルトの名無しさん
14/02/24 05:52:59.34 .net
かそりんぐ
216:デフォルトの名無しさん
14/02/24 12:28:29.24 .net
ID
217:デフォルトの名無しさん
14/02/24 23:13:01.99 .net
(every? sequential? [x y])
と書くのだるいから
(sequential? x y)
と書きたいって感じで標準の関数を拡張していくのはよくあること?
あと、R風のベクトル処理できるライブラリとかないかな?Incanterに入ってるのかな?
218:デフォルトの名無しさん
14/02/25 22:21:14.29 .net
>>214
ベクトル処理ならmapとReduceあるし
incanterで手軽にlapack使える
219:デフォルトの名無しさん
14/02/25 23:53:07.13 .net
Incaterにminusとかplusとかあったみたいね。
(plus 2 [1 2 3]) ;[3 4 5]
単純な演算にmapとか使うのめんどいからさ~
220:デフォルトの名無しさん
14/02/26 06:38:58.46 .net
練習
;;;(plus 2 (1 2 3 )) → (3 4 5)
(defun plus (x lst)
(let ((ptr lst))
(while ptr
(rplaca ptr (+ x (car ptr)))
(setrq ptr (cdr ptr)))
lst))
221:デフォルトの名無しさん
14/03/01 08:20:36.25 .net
プログラミングclojure 2版 100page
次のコードが「ほとんどcurry」になるのがなぜかわからん
(defn faux-curry [& args] (apply partial partial args))
ちなみに
(def add-3 ((faux-curry +) 3))
(add-3 7)
-> 10
となる
(ほとんどカリー化のほとんどは すべての引数が固定されたときも定数を返さないから)
222:デフォルトの名無しさん
14/03/01 12:05:28.50 .net
カリー化は関数を関数のチェーンに変換することで
部分適用は引数を固定することだから、かな?
223:デフォルトの名無しさん
14/03/01 12:32:42.15 .net
「ほとんどカリー化」というか2引数関数のカリー化だな
3引数ならpartial3回いる
224:デフォルトの名無しさん
14/03/01 19:37:35.00 .net
compじゃカリー化だめなん?
225:デフォルトの名無しさん
14/03/02 10:34:04.97 .net
org.clojure/tools.* とかの最新版ってどうやってさがしてくるん?
226:デフォルトの名無しさん
14/03/02 21:48:58.61 .net
apply partial partial とか絶対見たくない
227:デフォルトの名無しさん
14/03/02 21:52:38.43 .net
>>222
lein search tools.nrepl
とか?
228:デフォルトの名無しさん
14/03/03 00:57:13.85 .net
マクロを利用する関数を書きたい場合って結構あると思うんだけど、
その場合は関数じゃうまくいかなくてマクロを書かざるを得ないな
229:電波いっぱい
14/03/03 13:30:21.16 .net
>>225
そんなこと無いと思うけど、具体的にはどんな場合?
230:デフォルトの名無しさん
14/03/03 19:10:02.21 .net
関数内でよく使われるマクロはそうでもないけど
トップレベルで使われることを想定してるimportとか
with-outとかwith-precisionとかbindingを利用しているマクロを
さらに拡張しようとした場合に関数だとダメっぽいなあ
231:デフォルトの名無しさん
14/03/03 19:41:45.36 .net
(key val key val)のシーケンスからhash-mapに変換する関数はあるけどその逆はないのかな?
引数リストで{:as options}とかした後、そのoptionsをもとのシーケンスに戻したいんだけど
interleave keys vals で元に戻すしかないか
232:デフォルトの名無しさん
14/03/03 20:35:19.57 .net
>>224
おおー、ありがと。
lein searchをずっとローカルリポジトリ検索かと思ってた orz
233:電波いっぱい
14/03/04 07:01:56.15 .net
>>227
そういうことであれば、そうかもしれないけど、そんなことをするのって、めったにないと思う。
234:電波いっぱい
14/03/04 07:06:01.80 .net
>>228
(flatten (seq m))でどうかなぁ。mapになった時点で順番は失われてしまうから、元のシーケンスにはならないけど。
ところで、そんなことが必要になるシチュエーションが思い浮かばないんだけど、どういう時?
235:デフォルトの名無しさん
14/03/04 07:52:05.70 .net
>>231
flattenだとvalueがシーケンスの時にうまくいかないと思う
clojure.java.io/readerとか同じようにオプションをとる関数に引き渡していく際に欲しい
236:デフォルトの名無しさん
14/03/04 21:07:58.40 .net
LightTableのオススメの設定とかってある?
まだコレくらいしか設定してないけど
#user.keymap
"ctrl-pageup" [:window.zoom-in]
"ctrl-pagedown" [:window.zoom-out]
"alt-c" [:clear-console]
"f3" [:find.next]
"shift-f3" [:find.prev]
"ctrl-/" [:toggle-comment-selection]
"ctrl-w" [:editor.watch.watch-selection]
"ctrl-shift-w" [:editor.watch.unwatch]
f3とかpageupとかも普通に使えるのに驚いた
:toggle-comment-selectionは必須だな。もっと早く知りたかった
Windowsだとalt-wがメニューに吸われるのがだるいなあ・・・
237:デフォルトの名無しさん
14/03/04 23:15:28.80 .net
>>228
(mapcat seq mm) とかではだめかな?
238:デフォルトの名無しさん
14/03/05 01:16:01.38 .net
>>234
なるほどね。それでいけるね。
apply concatでも大丈夫そう
239:デフォルトの名無しさん
14/03/06 02:40:32.58 .net
repl で
(set! x 4)
とかとしてもエラーにならないxってどうやって定義するの?
(def x 0)
(def ^:dynamic 0)
とかでも
IllegalStateException Can't change/establish root binding of: x with set clojure.lang.Var.set
でエラーになる
240:デフォルトの名無しさん
14/03/06 02:57:00.72 .net
clojure.core.clj のソースをみても
(def ^:dynamic *print-level* nil)
とかで定義しているのに、なんで自分で定義したら上のエラーが出るんだ?
241:デフォルトの名無しさん
14/03/06 03:20:29.28 .net
>>236
thread localの(bindingした)varに対してset!できる
(def ^{:dynamic true} *TESTVAR* 1)
(binding [*TESTVAR* 2]
*TESTVAR*)
=> 2
(def ^{:dynamic true} *TESTVAR* 1)
(binding [*TESTVAR* 2]
(set! *TESTVAR* 3)
*TESTVAR*)
=> 3
そうでないなら(REPLからとか)
(alter-var-root #'YOUR-VAR-NAME (constantly NEW-VALUE))
みたいにしないと駄目
242:デフォルトの名無しさん
14/03/06 04:26:07.41 .net
>>238 なるほどね。Thanks!
でもなんで *print-level*は
(def ^:dynamic *print-level* nil)
で定義されているのに
replで
(set! *print-level* 5)
-> 5
とかできるんだろう
243:デフォルトの名無しさん
14/03/06 08:46:49.52 .net
(defn myint []
(let [x (read)]
(binding [mem mem]
(if (< x 0)
(println "good-by")
(do
(set! mem (+ mem x))
(println mem)
(myint))))))
のでつかえばいいんだな
244:デフォルトの名無しさん
14/03/06 17:03:49.35 .net
>>239
clojure.mainの中でwith-bindingマクロつかってREPLのループ中でbindingされているから
emacsでnrepl-jack-inとかcider-jack-inして使っているなら clojure.mainをM-.してソースみてみると良いよ
あるいは直接clojureのソースのmain.cljみてみるよろし。(repl関数ね)
245:デフォルトの名無しさん
14/03/06 17:27:55.81 .net
sublimeでClojure書いてるひといる?
デフォルトのインデントが糞なのでlispindentって拡張使ってるけど、時々固まるんだよなぁ。
246:デフォルトの名無しさん
14/03/06 17:43:10.65 .net
ClojureはLightTableかなぁ
RubyはSublime使うけど
247:デフォルトの名無しさん
14/03/06 17:49:45.45 .net
sublime良いエディタだけどclojure使うときはemacsかぬ
248:電波いっぱい
14/03/06 22:20:13.89 .net
>>239
被った。
Dynamicのvarをset!できるのは、別スレッドでbindされている場合のみで、
replで*print-length*などをset!できるのは、replが別スレッドで動いていて、
起動時にそれらのvarがbindされているからです。
どこでそのようなことが行なわれているかについては、
URLリンク(groups.google.com)
にあります。このスレはまったく同じ質問についてのスレなので、他のメッセー
ジも参考になるかと。
ところで、そのdynamicなvarはどのような目的でつかいます?
どこに書いてあったかわすれたけど、set!はclojuerの流儀としてはほとんど
使われなくて、どうしても変更可能な値を管理したい場合はatomなどを使いま
す。
249:デフォルトの名無しさん
14/03/07 00:49:09.11 .net
>>245
別スレッドでなくてもset!できますよ
250:デフォルトの名無しさん
14/03/09 13:11:05.66 .net
with-meta使えるなあ
付加情報渡すのに便利だわ
251:デフォルトの名無しさん
14/03/09 13:20:08.43 .net
塹壕から迫撃砲しよ
252:デフォルトの名無しさん
14/03/09 15:55:17.19 .net
シーケンスを引数にとる関数だらけのClojrueではオブジェクト的な構造は使いづらいが
メタ情報を使ってオブジェクト的な構造を表現して渡すのも場合によってはありだな
253:デフォルトの名無しさん
14/03/09 20:03:01.27 .net
(get [:a :b :c] 1)は:bなのに
(get '(:a :b :c) 1)はnilになるのな
こんなところではまった。nthを使うべきだった
254:デフォルトの名無しさん
14/03/09 23:40:32.71 .net
関数getについて単に無知なんだろ
255:デフォルトの名無しさん
14/03/09 23:50:43.49 .net
どういう意味?
リストが暗黙的にマップとして扱われないのはなぜ?
256:デフォルトの名無しさん
14/03/10 03:08:58.76 .net
>>252
getはリストとかマップとかは関係なく非線形探索可能なデータに対して使います。(マップ、ベクタ、セット、文字列、配列)
そのようなデータを使う時、nilや指定した値を返すのが便利だから作ったのでしょう。
257:デフォルトの名無しさん
14/03/10 19:56:48.85 .net
この例に限らずnilが返ったり、nilを与えたときにどう動作するか
明確にドキュメントに書いてないことが多くて試してみないといけないのがちょっとめんどい
258:デフォルトの名無しさん
14/03/11 20:46:55.74 .net
へ?
ベクターは添字でアクセスできるが
リストにそれを求めるのは変だろ
nilが帰ってくるあたりまえ
リストは可変長配列ではないのだから
259:デフォルトの名無しさん
14/03/12 20:09:52.24 th2nKpvg.net
nthではアクセスできるじゃん
hash-mapのvalueにだけ関数を適用して変換できるmap関数のようなものないのかなあ
自作するしかないか
260:デフォルトの名無しさん
14/03/12 21:22:44.77 th2nKpvg.net
coreとcntrib以外にベースになるライブラリってない?
ディレクトリ内を正規表現かglobで検索できる関数が欲しい・・・
261:デフォルトの名無しさん
14/03/12 21:32:43.30 w2TVy3P1.net
glob検索必要って事はWindowsかいね?
普段使いだとUnixとかLinuxとかMacOSだとコマンドラインのレベルでワイルドカード展開しちゃうから必要性感じないのだけど
262:デフォルトの名無しさん
14/03/13 00:03:00.15 +EH3xZU4.net
Android上のclojure起動時間は、ART(KitKatから入ったAOT使うJVMのRuntime)では縮まらない模様だ。
現状のART使ってみたらreplが起動で落ちてしまうので全く使えないのかと思ってたけど、一部動くみたい。
URLリンク(nicholaskariniemi.github.io)
263:電波いっぱい
14/03/13 00:25:56.65 63sq92O1.net
>>257
Javaのファイル検索にglobがあるからそれをつかっては?
264:電波いっぱい
14/03/13 00:36:12.30 63sq92O1.net
>>256
リストとベクタは順序のある要素の並びだからnthでアクセス
マップはキーと値の関連の集まりだからgetでアクセス。ベクタのインデックスをキーとしてgetが使えるのはオマケ。
マップの全ての値に同じ操作をする必要性かあまり思いつかないけど、reduceを使うときれいにできると思う。
265:デフォルトの名無しさん
14/03/13 08:14:17.30 MKpH1D3w.net
>>256
マップの特定のキーを持つ値に対してであれば、update-inを使いましょう。
全ての値だったらcoreにはないけど、clojure.algo.generic.functor/fmapがあります。
266:デフォルトの名無しさん
14/03/13 10:00:28.26 +EH3xZU4.net
>259 のひとつ前にスタートアップが遅い理由を計測した記事があった
URLリンク(nicholaskariniemi.github.io)
varとmetadataのロードで80%ぐらいかかってるとある
二年前にもAndroidで使おうとしてる人たちが調べてた
URLリンク(blog.practical-scheme.net)
URLリンク(martinsprogrammingblog.blogspot.de)
URLリンク(raw.github.com)
URLリンク(clojureclr.blogspot.jp)
JVMのlispといってもsbclやkawaの起動は早かったと思う
なのでhello worldベンチするなら一緒にやってあげると、lispではなくclojureの特徴とわかるはず
267:デフォルトの名無しさん
14/03/18 14:59:31.28 Tn1P3965.net
Kormaで並列にMySQLへ接続してると
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
Communications link failure
ってのが出て死ぬ。まだ深追いしてないけど、逐次なら動く。
mysqlのログに一
268:切何も出てないのが謎。 pmapで馬鹿並列にしてるから、何かコネクションの再利用方法とか 設定する必要があるのかな?
269:デフォルトの名無しさん
14/03/18 22:33:42.28 AVGKCT5w.net
max_connection関連かな?わからんけど
TIME_WAITがいっぱいになってたりして
270:デフォルトの名無しさん
14/03/19 15:30:04.40 oXIqqE+e.net
mysqlの問題かもしれんし、もう少し調べます。
スレ汚しすまそ
271:デフォルトの名無しさん
14/03/19 20:21:00.17 lJfJcBCq.net
リソースが取り戻せず、スレッドプールの上限、もしくはmysqlの上限になってるのか。
mysql側は、show processlist;とかで見てみるとか。
スレッド数よりプールが少なくて待たずにおちてるとか、
ライブラリのバグかもしれないし、なんとも言えない。
272:デフォルトの名無しさん
14/03/19 20:24:24.96 lJfJcBCq.net
URLリンク(github.com)
poolさん
273:デフォルトの名無しさん
14/03/19 23:00:39.65 egBAL9X9.net
>>267
直感的にはプール数とスレッド数の関係のような気がする・・・
ありがとうございます
274:デフォルトの名無しさん
14/03/20 00:56:12.08 RyuQttGh.net
URLリンク(nicholaskariniemi.github.io)
Androidでも速くclojure起動出来るようにする手法を検討してた。
275:デフォルトの名無しさん
14/03/22 01:46:11.71 H6xXr1wF.net
java8がラムダ式導入とか遅延評価とか来たが
Clojure の遅延評価とか高速化されんのかな
276:デフォルトの名無しさん
14/03/22 09:17:38.80 QkVVAvLB.net
言語コアとして遅延評価が入ったわけじゃないから関係ないだろうな
高速化なら7のときのinvokedynamicのほうが恩恵ありそう
277:sage
14/03/22 22:40:10.10 kQXftENJ.net
invokedynamicは議論になってたけど、Android含めた互換性の問題で今のところは見送られています。
Lambdaでinvokedynamicが使われているのを考えると、これも同様に見送りになるのでは。
278:デフォルトの名無しさん
14/03/23 12:42:58.40 SAz6Yfrw.net
>>269
デスクトップ環境では、ちょっとしたスクリプトを繰り返し使いたいなら、drip、java -client or -XX:+TieredCompilationがつかえるので、
URLリンク(eigenhombre.com)
URLリンク(www.slideshare.net)
現時点では、繰り返し起動するような開発手法とGUIアプリ、特にモバイルアプリ独自の悩みになって来てるとおもう。
URLリンク(gal.dolber.com)
URLリンク(github.com)
279:デフォルトの名無しさん
14/03/23 14:34:28.66 60hyhDZ1.net
clojure CLRってWinRT端末でもうごくん?
280:デフォルトの名無しさん
14/03/26 20:24:51.33 6aJM0KWZ.net
Clojure1.6がリリースされた
281:デフォルトの名無しさん
14/03/27 01:05:30.61 SdqpiaKJ.net
今回は、何事もなく。
1.5のときは、大変だったみたいだけど。
clojureのwebスタックのセキュリティ周りが足りてないらしく(一般的なフレームワークが、ここ5年ぐらい叩かれて対応してきた部分)、ある意味コミットするチャンスかも。
URLリンク(hackworth.be)
282:デフォルトの名無しさん
14/03/27 23:51:56.02 SdqpiaKJ.net
URLリンク(www.clojurewest.org)
clojure/west2014のスポンサーが、小売の研究所や天候予測、農家の集計とか、EC専業や金融でないのが面白い感じ。
ウォルマートにも研究所があるのか。
283:デフォルトの名無しさん
14/03/29 14:52:41.94 LoHVEupa.net
Processingのjarを使ってclojureでグラフィックを書いています。
高負荷の作画をした際に初めて分かったのですが、Javaで書いた同じプログラムよりclojureの方が大分遅くなります。
推測では原因はjavaメソッドの呼び出しで、lineやrectなどの作画メソッドを1フレームに数千回は呼んでいます。この呼び出し数を下げるとパフォーマンス悪化が和らいできます。
なんとかJavaで書いたプログラムと同等のパフォーマンスを出したいのですが、javaメソッド呼び出し部分を工夫する余地がないように思います。(.line applet x1 y1 x2 y2)
どなたかアドバイスを頂けませんでしょうか?
284:デフォルトの名無しさん
14/03/29 14:55:33.55 46qVoWdl.net
javaで書いてしまいましょう
285:デフォルトの名無しさん
14/03/29 14:58:17.67 yiV3q/LE.net
>>279
つQuil
286:デフォルトの名無しさん
14/03/29 15:30:04.24 LoHVEupa.net
quilは使っていました。しかしquilのサポートするprocessingのバージョンが古いままなので、直接processingを使うことにした次第です。
quilでも同じコードを書いて試してみたのですが、
processing.jarを使う <(若干早い) quil <(全然はやい) Java
でした。
万策尽きました、がっくし
287:デフォルトの名無しさん
14/03/29 15:32:21.00 NMmPcx+b.net
だから、javaで書け
288:デフォルトの名無しさん
14/03/29 16:03:50.55 qrJfmm9g.net
リフレクションが使われていないかは確かめた?
型ヒントでリフレクション使われないようにすると50倍くらいは差が出るよ
289:デフォルトの名無しさん
14/03/29 16:28:07.03 LoHVEupa.net
>>284
(def applet (new PApplet)) となってたのを
(def ^PApplet applet (new PApplet)) としたら
死ぬほど早くなりました。
つまらないことお聞きして失礼しました(てへぺろ
これでclojureでのコーディングが続けられてウレシイです
290:デフォルトの名無しさん
14/03/29 16:56:57.64 yiV3q/LE.net
型ヒントってそんなに違うものなのか
ちなみに作ってるのってゲーム?
291:デフォルトの名無しさん
14/03/29 17:11:41.63 BM6Xgp1r.net
Clojureのチューニングポイントはいろいろあるけど、Javaと比べて実行時間1.2倍くらいまでなら容易に達成できます。
そこまで達成できないのであれば、まだまだチューニングの余地ありと考えましょう。
ちなみに、普通にJavaで書くよりもClojureの方が高速になる特異な事例もあります。
292:デフォルトの名無しさん
14/03/29 17:13:30.01 LoHVEupa.net
>>286
Clojureの練習を兼ねてジェネラティブ・デザインを少々
Android用Processing.jar + Clojure でゲームにしたいですがハードル高そう
293:デフォルトの名無しさん
14/03/29 17:31:16.72 XODOKiZ8.net
おお、凄いな
294:デフォルトの名無しさん
14/03/29 19:36:12.68 yiV3q/LE.net
デザイン系か
Androidだったらleindroid+Quilじゃ駄目なん?
295:デフォルトの名無しさん
14/03/29 19:48:47.96 YpOewtNN.net
clojureが速いという例では無いが、(Elasped secが実行時間、CPU secの合計で、CPU Secだとだいぶ遅い)
下のページのjavaとの比較表でダガーマークがついてるやつは、javaが1coreでclojureがマルチコア使ってて、
URLリンク(benchmarksgame.alioth.debian.org)
† possible mismatch - one-core program compared to multi-core program.
ソースみるとclojure側も並列化意識してないCっぽいプログラムのベタ移植たけど、勝手にマルチコア使ってくれてるものが幾つかある。
296:デフォルトの名無しさん
14/03/30 10:24:46.95 csT97O8F.net
Javaの呼び出しが入っちゃったら並列化可能かどうかの解析なんか結局不可能だからなあ
現実的じゃないよ
297:デフォルトの名無しさん
14/03/30 13:54:21.15 UMO+OpiR.net
並列化は正確には並列実行を保証するものではなくて、並列表現できるという意味だしな…
298:デフォルトの名無しさん
14/03/30 14:17:58.22 8SJ6u3a3.net
>>293
破壊的代入を自動検知して不変性侵犯の有無を元に最適化とかできるようなシステムがあればいいのにと思う事も無いではない。
言語レベル(記述レベルで保証させる)だとHaskellみたいにちょっと堅苦しい事になるのが嫌いなんだよなー
299:デフォルトの名無しさん
14/04/01 02:28:32.89 oW/UHGTB.net
androidもlein-droidも触るの初めてでしたが、lein-droidとprocessing-android でやっと hello world ができました。丸一日かかってしまいました。
lein-droidはjava classのコンパイル時にclojureソースでimportしたJavaクラスのスタティック初期化部が実行されてしまい、それがandroidライブラリのスタブにまで到達した場合、コンパイルエラーになる問題に苦戦させられました。これどうにかならないかな~
300:デフォルトの名無しさん
14/04/01 03:28:08.64 6I3F3lks.net
lein javacでrecompileしたclassってreplからreloadできないん?
301:デフォルトの名無しさん
14/04/01 03:46:20.15 zuSItmXn.net
社内利用とかじゃなくて、実案件でclojure使う例ってあるの?
302:デフォルトの名無しさん
14/04/01 03:52:07.22 6I3F3lks.net
ごめん296だけど探し方が悪かったみたい。
URLリンク(github.com)
こんなの見つけた、leiningenのプラグインでreplからjavacしてreimportさせる仕組みを実装したものを見つけた。
303:デフォルトの名無しさん
14/04/01 03:53:43.56 6I3F3lks.net
>>297
日本だと少ないけど自分はリリースしたものあるよ。(もうサービス終わっちゃったけど orz)
あとはニャンパスの人が仕事で使ってるってblogで言ってるね。
304:デフォルトの名無しさん
14/04/01 08:35:04.77 oFy+THWF.net
>>297
ニャンパスではありませんが、ClojureとClojureScript使った複数のサービスリリース経験ありますよ(運用中のもあります)
305:デフォルトの名無しさん
14/04/01 13:39:10.84 xLiVzV5o.net
>>297
Googleから独立したベンチャーのbyflow?みたいなところが使ってなかったっけ?
306:デフォルトの名無しさん
14/04/01 20:29:08.25 LNeUvpk1.net
clojureで書くだけのメリットがあるコードって何なんだろ
307:デフォルトの名無しさん
14/04/01 23:09:04.50 TpH+LQDd.net
オブジェクト志向向けじゃない問題なのにjava資産を使いたい場合。
まぁ普通に使ってもjavaより断然短く書けるよね。
308:デフォルトの名無しさん
14/04/01 23:27:35.57 uZRloOCu.net
scalaと差別化した回答にして欲しいところ
309:デフォルトの名無しさん
14/04/01 23:53:22.93 xLiVzV5o.net
Lispの文法でJava資産を使いたいとき、とか?
あとLeiningenがあるのも
310:デフォルトの名無しさん
14/04/02 02:05:33.83 34P1vxkc.net
>>304
・scalaのreplは遅くてイライラする
・scalaのreplは複数ファイルをロードするとき、一つを読んだら他のファイルもロードしなくてはならないのが面倒
・scalaは、コンパイルが通るコードもreplに通らないことがある(例: class定義の{の前後の改行位置)
どっちもプロトタイプ向けにしか使わないと思うので、文法よりもこれが決定的
文法で言うなら、scalaは、継承やジェネリックのルールが覚えられないほど細かいのが欠点
311:デフォルトの名無しさん
14/04/02 08:55:56.47 eMainclp.net
文法を間違えないの他に何もメリットが思い浮かばない
312:デフォルトの名無しさん
14/04/03 03:49:09.83 MeCz6RkU.net
あまり使い込んでないから言えないけど、マクロとか?
いや、そこまで積極的に使うものでもないか
313:デフォルトの名無しさん
14/04/03 19:37:09.15 B/aZWfqA.net
Scala複雑すぎるし無駄にしょっちゅうライブラリ弄りすぎ
314:デフォルトの名無しさん
14/04/03 20:01:04.53 3wZs6sQe.net
Scalaあんまり触ったこと無いけど、なんていうのかな、機能同士が直交してないっていうのかな。○○と××を一緒に使うと問題があるのでこの場合は例外的に△△しますみたいなケースが多くて頭がパンクする
315:デフォルトの名無しさん
14/04/03 20:36:13.58 KbAl46jm.net
>>302
速度クリティカルな数値計算でゴリゴリやらない奴なら何でもいいんじゃなかろうかと思う今日この頃。
316:デフォルトの名無しさん
14/04/04 01:21:36.48 4493K1P2.net
雑用スクリプト作ったり、プレゼン用にプロトタイプを30分で作るための言語という認識しかない
317:デフォルトの名無しさん
14/04/04 10:49:26.57 9/ypcDw3.net
>>312
その認識は間違い
318:デフォルトの名無しさん
14/04/04 13:24:05.74 /wbzo9Gd.net
>>312
それならRubyとかPythonの方が良くね?
319:デフォルトの名無しさん
14/04/04 23:52:33.16 HRToJQcJ.net
>>314
Javaが楽に使えるから、過去のservlet資産を組み合わせて短時間で見栄えのいいプロトタイプを作るのに重宝してる
携帯用もできるから手放せない
事務の雑用スクリプトは、もうその人の癖の領域だから、文法とかはもう関係ないかと
320:デフォルトの名無しさん
14/04/05 00:17:58.87 yO4qa4lc.net
REPLが重宝するという話だと、
データ解析とかHadoopの処理をサンプリングしてREPLで組んじゃう話は聞くな。
DB系でコンソールで解析しちゃったり、
コマンドライン上で、パイプコマンドでapacheログ解析しちゃう系のイメージ
321:デフォルトの名無しさん
14/04/05 00:30:37.59 F+xvKCYK.net
replに打ち込んだ履歴をそのままプログラムに反映させようとするとき、Lisp系は各コマンドがS式で独立してる率が高いから重宝する
他のスクリプト言語は前後の文脈も考えて頭つかう必要があることが多い気がする
322:デフォルトの名無しさん
14/04/09 13:59:35.01 LRWrSFoo.net
REPLでdefnしてたの忘れてcljファイルに反映しないで作り込んだら次回cider-jackinしたらコンパイルエラーで起動しなくて焦った。
こういうの忘れない様にするテクニックとかツールないかな?
323:デフォルトの名無しさん
14/04/09 15:26:55.41 WwH8h4FP.net
>>318
lein compileをするのが確実です。
324:デフォルトの名無しさん
14/04/09 17:07:32.49 LRWrSFoo.net
>>319
nreplしてるとlein起動自体重くて忘れがちでした orz
「lein testしろやゴルァ」な付箋をモニタに貼り付けておこうと思います。
[壁]д・)チラッ
nreplの中でdefnしたものをsnipetにして吐いてくれるelispないかなー
325:デフォルトの名無しさん
14/04/09 18:27:30.98 ZiEyUtyX.net
orz、ゴルァ、壁チラww
こいつ何年前からタイムスリップしてきたの?
326:デフォルトの名無しさん
14/04/09 22:25:16.39 6vjqJJUY.net
URLリンク(www.slideshare.net)
URLリンク(github.com)
URLリンク(github.com)
schemaとswagger使ったapiファーストのRESTツールみたい。
このような構成にDB(データストア)組み合わせるとしたら何にどう繋ぐのがいいのかな。
327:デフォルトの名無しさん
14/04/10 16:39:12.97 FMX8fFXB.net
>>321
それがどうした?
としか思わんのだが。
だいたい未来からきたんじゃねぇの?(あるいは>>321が未来すぎる)なんで苛ついてるんだか。
LightTableのREPLが綺麗に死なない(LTをQuitしても残る)んだけど同じような経験してる人いる?<<Win8
328:デフォルトの名無しさん
14/04/10 22:34:00.23 Evnw+C/+.net
URLリンク(blog.engineyard.com)
EngineYardは、無料枠がないからつかったことがない。でもカッコいい。
URLリンク(www.openshift.com)
OpenShiftは、無料枠あるので試しやすいが、紹介記事はservletではなくhttp-kit使う解説だ。
329:デフォルトの名無しさん
14/04/14 20:03:10.09 uL8dJ7v1.net
immutantみたいに、デプロイとか運用向けのツールなのかな?
URLリンク(www.slideshare.net)
こんな感じで実際に使ってるのかな?
clojureのweb frameworkまわりでも最近CQRSってキーワードよく見かけるな。
330:デフォルトの名無しさん
14/04/15 23:32:39.23 TmAN8KJA.net
HTM/CLA
URLリンク(www.taoeffect.com)
URLリンク(fergalbyrne.github.io)
URLリンク(github.com)
URLリンク(numenta.org)
なんかのキャッシュシステムかと思ったら、機械学習とかのシステムだった。
331:デフォルトの名無しさん
14/05/01 23:02:40.45 7+I4mY8K.net
URLリンク(reborg.tumblr.com)
datascript の簡潔な説明があった。っても全部載せられない長さだけど。
> tonsky/datascript Interesting ClojureScript idea,
implementing a Datalog query engine on top of Clojure immutable data structures.
It is meant to run in the browser with a lifecycle starting at page load and ending
the next page load. It is technically an in-memory database in the browser. When to use? ... 続く
332:デフォルトの名無しさん
14/05/01 23:09:25.27 7+I4mY8K.net
RFPを想定してると思われるが、moriやomの一部置き換える事が出来るのかな?
333:デフォルトの名無しさん
14/05/08 21:18:03.15 s8hUpgGE.net
Incanter2.0作ろうって物好きが新機能の案募集してるな
334:デフォルトの名無しさん
14/05/24 15:47:51.04 QTimeHyk.net
今年のGSoCは、メンターのやる気も反映してか科学計算系ライブラリー、lean clojure(runtime startupの高速化)、typed clojure(cljsやエラー表示も)に関するものが複数あって、あとはlight tableとquil(processing.js) on cljsだった。
URLリンク(blog.clojure-gsoc.org)
335:デフォルトの名無しさん
14/05/30 00:53:27.38 d/k/qDLK.net
フィンランドのヘルシンキ大学計算機科学科で、clojure使った関数型プログラミング入門の講義があって
URLリンク(mooc.cs.helsinki.fi)
それをベースにした、MOOCがあった。
336:デフォルトの名無しさん
14/06/03 01:36:11.02 pa2cdK6+.net
職場の環境でこっそりclojureでツール作ってたら同僚からずるいって言われてワラタ
337:デフォルトの名無しさん
14/06/03 20:48:03.41 2xTYhf7B.net
職場でこっそりClojure書いてても、
ディスプレイ覗き見た誰も、何を書いてるのか分からないだろうから、
安心してClojure書いてる俺もいますよ
338:デフォルトの名無しさん
14/06/03 21:32:37.53 DMs9w1H7.net
カッコ良すぎて逆に目立つだろw
339:デフォルトの名無しさん
14/06/12 23:40:56.02 srF1T44X.net
repl で、
user=> (with-open [rdr (clojure.java.io/reader "tmp.txt")] (count (line-seq rdr)))
が OK で、
user=> (with-open [rdr (clojure.java.io/reader "tmp.txt")] (map #(. % toString) (line-seq rdr)))
で例外が出る理由ってわかりますでしょうか?
IOException Stream closed java.io.BufferedReader.ensureOpen (BufferedReader.java:97)
340:デフォルトの名無しさん
14/06/12 23:43:04.83 srF1T44X.net
すみません
自己解決しました
>>335 の質問は取り下げます
341:デフォルトの名無しさん
14/06/13 00:54:10.27 NpvWCx30.net
LightTableのinstareplで(doc my-function)やっても表示されないことってある?
342:デフォルトの名無しさん
14/06/15 00:49:16.29 S46ph848.net
SFXエンターテイメントって、メディア企業なんだね。SFX職人の会社なのかと思った。
募集内容はwebプラットフォームに関するものようだ。
URLリンク(careers.stackoverflow.com)
343:デフォルトの名無しさん
14/06/15 09:19:13.46 e0YOs29w.net
>>333
職場のSEさんとやらは、プログラム言語を一行も理解出来ないので
正常パターンの結果さえ合ってりゃ何も分からないw
344:デフォルトの名無しさん
14/06/15 19:57:01.55 SNHltrJT0
ディスプレイ覗き見た人に、これ何?って聞かれたとき
Clojureですって答えても分からないだろうから
これはLisp文法で、JVMで動くンスよ、って答えても
ふーん、で終わる
345:デフォルトの名無しさん
14/06/21 01:43:55.20 KVBC4Z6J.net
盆栽本良いな
Clojure一通りやったけどWeb開発初めてって人間にはぴったり
必要なのはHTTPの軽い知識くらいだし
なまじRailsみたいに重たいと分かりにくい部分もよくわかる
英語の文章がちょくちょく引っかかるのが玉に瑕だけど
346:デフォルトの名無しさん
14/06/21 04:27:05.44 MmynS5l4.net
URLリンク(pragprog.com)
盆栽ってこれのことだよね
URLリンク(www.kohgakusha.co.jp)
こっちもweb開発だけどチュートリアル的な感じ
盆栽本はwebフレームワーク作ってる人が書いてるし、丁寧に分量も結構あるのがいいね
RubyだとCompojureなど元になったSinatra(を使った薄いフレームワークのPadrino) ってのがあるけど、ちょっとしたチュートリアルしかなくて、あとはapiドキュメントみるかしてた
ちなみに、最近日本でも知名度が上
347:がってきたsoundcloudは、web画面がパーツごとにjsで非同期にweb api叩いて描画する形で、 webapiをsinatra/jruby、clojure、scalaで実装してるらしい
348:デフォルトの名無しさん
14/06/21 04:37:20.50 MmynS5l4.net
soundcloudは、パーツが宣伝ページにはってるのを見かける。大元のページはこんな感じ
URLリンク(soundcloud.com)
URLリンク(soundcloud.com)
webの話だと、こんなのが。
URLリンク(blog.getprismatic.com)
prismaticのwebページがclojurescriptとfacebooのreact使ったomにツールを組み合わせて、リアクティブな画面になって運用してるらしい
ページはこんな感じ
URLリンク(getprismatic.com)
349:デフォルトの名無しさん
14/06/21 20:37:31.31 bUZhCxHN.net
Clojureで開発したWebアプリを日本のサーバーで動かしたいんだけど、
日本にHerokuみたいにClojureに対応したサービスってないの?
350:デフォルトの名無しさん
14/06/21 21:40:12.30 MmynS5l4.net
lein ring uberwar
で、warファイル作ってtomcatやjettyに放り込むか、
URLリンク(qiita.com)
(ここのtomcatとかjettyのあたりや他の資料参考)
lein ring server-headless ポート番号
でも動くので
URLリンク(github.com)
(特に追記ないけど、compojureの公式チュートリアル)
日本の格安vpsとかクラウドの日本リージョンでも大丈夫。
azureにもservletだけおくpaasサービスがあるみたい。
(ほかに日本でやってpaasはあるか知らない)
URLリンク(www.publickey1.jp)
351:デフォルトの名無しさん
14/06/22 19:55:37.79 wfqXkYZT.net
>>345
詳しい回答をありがとうございます。次のサービスでHerokuで動かしてた
Webアプリを起動することが出来ました。warを作成してTomcatにうpする
だけでした。PostgreSQLも使えるので便利です。
URLリンク(www.tsukaeru.net)
Herokuよりも遅めのようなので、とりあえず日本のサーバーで動かしたい
アプリだけこちらに移すことにします。
352:デフォルトの名無しさん
14/06/24 00:30:15.05 QQk/Zaq3.net
githubに公式のリポジトリがあるということも要因だろうけど、github/stackoverflow界隈ではTop20ぐらいに入るぐらいポピュラーという結果に。
GroovyはAndroidまわりでもう少しポピュラーになりそうな予感。
The RedMonk Programming Language Rankings: June 2014
URLリンク(redmonk.com)
353:デフォルトの名無しさん
14/07/02 02:25:06.42 kxCKSSiu.net
Clojarsがリニューアルしてた、トップのメッセージが
Clojars is a dead easy community repository for open source Clojure librarie
とかでちょっとニヤリとしてしまった
354:デフォルトの名無しさん
14/07/02 04:31:49.49 yhBsqych.net
clojarsはマジでdead easyだよね。
自分で作って使うだけのライブラリもローカルでどうするか考えるよりclojarsに放り込むほうが簡単で面倒がないという。
355:デフォルトの名無しさん
14/07/03 20:47:23.41 y+IPLvAO.net
ネットでしょっちゅうライブラリを落としてくること前提の開発環境にいまだに違和感があります
せめてclojure.coreだけは固定して、閉じたプラットフォームを確定してくれないだろうか
356:デフォルトの名無しさん
14/07/03 22:27:44.12 x0NDrClv.net
ネットでしょっちゅうライブラリを落としてこない開発環境って何だろう
357:デフォルトの名無しさん
14/07/04 01:49:36.21 XaGTGyQy.net
最近はプロジェクトごとにライブラリ管理するのが主流だね。
leinだと、昔はプロジェクトごとにlibsにはいったけど、最近はアカウントごとの.m2だけ。
rubyのgemは、リポジトリがよく落ちたり、ネットのルーティングおかしくなったりするのと、
yumみたいな、ミラー機構が組み込まれてないのもあり、
ローカルにミラー持ってる人がいたりする。
yumだと、CDからインストールしたり出来るね。
rpmにあたるツールが欲しいのかな?
358:デフォルトの名無しさん
14/07/04 02:17:36.62 Qs7fnNPT.net
>>352
.m2に落ちてればローカルなサーバに上げなおす事で社内とかプロジェクトローカルにできるっしょ?
つかバージョン番号指定を必須になっているから何処のリポジトリに置いてあっても問題なくない?
359:デフォルトの名無しさん
14/07/05 00:32:10.68 coa4ljqf.net
ローカルリポジトリ構成も出来るし、
それをまとめて配布というのも出来るが、
困ってる人があんまりいないから、記事にならんのだろうな。
360:デフォルトの名無しさん
14/07/05 00:38:50.73 gvj8epPk.net
>>354
どういうときに困るのか割とマジで知りたい
361:デフォルトの名無しさん
14/07/05 22:46:43.27 coa4ljqf.net
mvnリポジトリのサイトに何かしらの障害が発生してアクセス出来ないことが、
一番の問題になるだろうけど、見かけたことないので、機会がない。
rubyなら割とある。
まあ、初めからネットワークアクセス出来ない環境にリリースするなら、uberjarなりにまとめて持ってくだろうから関係ないだろうけど。
362:デフォルトの名無しさん
14/07/05 22:58:01.10 ATjk+jxL.net
>>355
ネットにつながってないコンピュータに移植するとき
363:デフォルトの名無しさん
14/07/06 00:15:28.83 aspDWAp6.net
>>357
それってローカルリポジトリに突っ込むだけでよくね?
仕事のプロジェクトだとネットに繋がらない事前提にSCMに/Required/Lib/*.jarとか置かない?
364:デフォルトの名無しさん
14/07/06 07:47:35.97 eWlTyoxb.net
>>358
開発環境でGoogle先生が使えないと辛いな
365:デフォルトの名無しさん
14/07/09 12:20:46.04 jNsdpHDv.net
入門Clojurescript買った人居る?
366:デフォルトの名無しさん
14/07/09 12:44:13.69 kpjEyPlK.net
>>360
買った、まさに入門なんだけど、調べるのがめんどくさい所を手順で示してくれるのでとてもありがたかった。
367:電波いっぱい
14/07/09 21:05:45.39 NNs3v/8+.net
>>360
英語版を買った。
clojurescriptやるなら持っていて損はないと思う。というか、買うべき。
序盤にある、javascriptへのコンパイル(トランスレート?)の仕組みについての解説は、基礎知識として重要。
他にも、clojureとの違いとか、根っこのところからの解説があったりするのに全体的には実践的な内容なので、入門書としてとてもいいと思う。
368:デフォルトの名無しさん
14/07/12 00:14:26.22 ltnIpPym.net
PlanetClojureみてると、ここのところ事例紹介もだけど、Web API作るなどの実務よりなチュートリアル記事が増えてきた気がする。
369:デフォルトの名無しさん
14/07/12 12:23:18.10 1GK9QQdX.net
Interactive: The Top Programming Languages
IEEE Spectrum’s 2014 Ranking
URLリンク(spectrum.ieee.org)
集計対象は10箇所
URLリンク(spectrum.ieee.org)
top30+1
githubの分類だと、LISP系はracketもあるんだね。
370:デフォルトの名無しさん
14/07/16 23:44:48.62 OHagA9er.net
昔のClojure使ってるスタートアップって解析系の会社が中心で、
セマンティックWebやグラフDBを独自に構築してやってるところが多かったなあということを思い出しつつ、イマイチよくわからんサービスのページを見てる。
URLリンク(fgiasson.com)
371:デフォルトの名無しさん
14/07/18 22:06:01.40 tZkpVjnY.net
clojureでwebアプリを作ろうと思うんだけど、
httpレイヤーのフレームワークはringとcompojureがデファクトな感じ?
URLリンク(poketo7878-dev.hatenablog.com)
↑とか見たけど、webアプリ作るのってほんっと沢山のライブラリの使い方覚えないといけないから敷居が高いとおもうんだよね。
ちょっとうんざりする。