1read 100read
【Lisp】プログラミング言語 Clojure #3【JVM】 (100)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
プログラミングを勉強したいのだが (141)
■暗号技術【ROUNDsurea】■ (574)
■暗号技術【ROUNDsurea】■ (574)
VBで作られた有名なアプリって何? (168)
データ構造,アルゴリズム,デザインパターン総合スレ 2 (109)
画像処理 その14 (120)
【Lisp】プログラミング言語 Clojure #3【JVM】
1 :2013/09/28 〜 最終レス :2013/10/28 JVM上で動作するLisp方言「Clojure」のスレ。 Clojure - home http://clojure.org/ http://www.try-clojure.org/ 前スレ: 【Lisp】プログラミング言語 Clojure #2【JVM】 http://toro.2ch.net/test/read.cgi/tech/1318498898/ 【Lisp】プログラミング言語 Clojure【JVM】 http://hibari.2ch.net/test/read.cgi/tech/1255533519/
2 : 【リファレンス】 API Overview - Clojure v1.5 (stable) ttp://clojure.github.io/clojure/ Clojure Libraries (Clojure Contrib, Leiningen, ...) ttp://clojure.org/libraries API Overview - clojure-contrib v1.2 (stable) ※廃止 ttp://clojure.github.io/clojure-contrib/ 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/
3 : 【ブログ・ML・質問箱】 Clojure ttp://groups.google.com/forum/#!forum/clojure Clojure Dev ttp://groups.google.com/forum/#!forum/clojure-dev Clojure Confluence wiki http://dev.clojure.org/ Clojure JIRA tickets and patches http://dev.clojure.org/jira planet clojure ttp://planet.clojure.in/ stackoverflow.com tag:clojure ttp://stackoverflow.com/questions/tagged/clojure Reddit(clojure) ttp://www.reddit.com/r/clojure github.com clojure ttp://github.com/languages/Clojure Clojure-jp (日本語) ttp://groups.google.com/forum/#!forum/clojure-ja
4 : 【チュートリアル】 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 Full Disclojure (中級者向け;英語動画) ttp://vimeo.com/channels/fulldisclojure 【コーディング規則】 Library Coding Standards ttp://dev.clojure.org/display/community/Library+Coding+Standards コミュニティベースのClojureスタイルガイド(bbatsov/clojure-style-guideの日本語訳) ttps://github.com/totakke/clojure-style-guide
5 : 【その他】 Clojureをつくったわけ ttp://www.geidai.ac.jp/~marui/clojure/rationale/ 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 InfoQ: Clojureに関するコンテンツ http://www.infoq.com/jp/clojure/ InfoQ: All of Rich Hickey's Content http://www.infoq.com/author/Rich-Hickey RailsConf 2012 基調講演 Simplicity Matters 翻訳書き起し ttp://eed3si9n.com/node/141
6 : 【本】 ttp://www.amazon.co.jp/s?field-keywords=clojure Programming Clojure (2nd edition) ttp://blog.practical-scheme.net/shiro/20130417-programming-clojure-2nd (日本語版) ttp://pragprog.com/book/shcloj2/programming-clojure The Joy of Clojure, Second Edition ttp://www.manning.com/fogus2/ ttp://www.joyofclojure.com/2nd ttp://www.infoq.com/jp/articles/the-joy-of-clojure Clojure Programming ttp://www.clojurebook.com Clojure in Action, Second Edition ttp://www.manning.com/rathore2/ 英語版は、オフィシャルで40-50%ディスカウントクーポンや紙買った後に5-10ドルでebook追加できるサービスなど一部あり 【テンプレ終了】
7 : テンプレ収集場所 http://wiki.fdiary.net/lisp/?%A5%C6%A5%F3%A5%D7%A5%EC+%28Clojure+%A5%B9%A5%EC%29 (ID:guest Pass:cl)
8 : >>1 乙 そしてなぜ前スレが1000行く前に落ちてんだ
9 : http://2013.8-p.info/japanese/09-28-languages.html facebookが内部で形付きのphp拡張作ってるって。 typedscript含めて動的言語の型検査がトレンドになってきてる? typed clojureは0.2で、使える代物になってるので、circleciでは実践投入しているらしい。 http://blog.circleci.com/supporting-typed-clojure/
10 : typed clojureは、別に宣言する形なので、 慣れの問題だろうけど、本文中に埋め込んでる方が簡潔にみえる。 http://m.imgur.com/hUGIXwq lisp族でもshenは埋め込んでたが、 racket, clojureで埋め込まなかったのは、構文の自由度に影響でるから?
11 : >>8 980超えると一定時間経過で自動的に落ちるとかなんとか
12 : Clojure Cupが昨日終了して、さっき一般投票が始まったみたいだけど、誰か参加した人っている? http://clojurecup.com/apps.html
13 : おいしい本は、ライブラリのカタログとしてかなり範囲が広いし、ライブラリが複数ある用途についてはしっかり一番オススメ出来るやつを選んで載せてある。 本屋でパッと見るだけでも全体通して同じだから雰囲気わかると思うよ。 参考文献がないのはなんかのお約束なんだろうか? lolなところは、 入門書ではないが、leiningenのインストールのところはうまく初心者向けにかいてあるのに、javaのインストールには一言も触れてない点 関数脳って副題、内容関係なく編集者がつけた点 でした。
14 : >>12 このチームは日本からの参加者みたい http://clojurecup.com/app.html?app=focusoncoding
15 : >>13 javaというか、jreだけでOKだよね?
16 : >>14 宣伝乙
17 : まあしかし、Rails Rumbleとかに比べてClojure Cupは全く盛り上がってないよなあ。そもそも母数が少ないから当たり前だが。
18 : おいしいやつけっこう評価いいっぽいな。買うかな。
19 : RunaとClimateが買収されたらしく、盛り上がってる。 どちらも、ネット上でClojureの人材募集してたのを見かけたことがあるけど、 コアな人材を集める気のあるところの方が、 買収する側にとっても独立したRD部署とするにはマッチするのかもしれないね。
20 : おいしい本は外部ライブラリ使った応用を紹介してるだけだから、文法的なことを期待して買うと塩漬けすることになる
21 : こういう話なのかね。 http://blog.livedoor.jp/lionfan/lite/archives/52682119.html
22 : おいしい本は、カタログ本なんでまず眺めてみたらいいと思うよ。 書店いくの面倒だったら、サンプルと草稿あるし。 http://gihyo.jp/book/2013/978-4-7741-5991-1 https://github.com/hellonico/niclojure/tree/master/textja
23 : https://github.com/icylisper/jark https://github.com/flatland/drip コマンドライン上で先にjava立ち上げておくツールは、 普段したのやつ使ってるけど、おいしい本では、上のやつが紹介されてた。
24 : どの本にも repl を終了するコマンドが書いてない件 (System/exit 0) で代用してるけど、いいのだろうか
25 : >>24 http://stackoverflow.com/questions/4981584/how-to-exit-the-repl
26 : Clojure Cupのエントリー数は42か。 まあ初回だしこんなもんなのかな
27 : make-arrayで配列作ってたんだけど、状態変更不可だと聞いてたから、配列の値を変更するたびに新しい配列を作り直すのかと思ったら、中身はjavaの配列で普通に代入してる件
28 : >>27 イミュータブルなデータ構造使いましょう
29 : 状態変更不可だと聞いたの聞き間違いだね ClojureにはJavaオブジェクトとかrefとかアトムとか 変更可能なものがいろいろ用意されてる
30 : http://clojure.org/java_interop ここで扱う構造は、java直接なので代入可能。 基本的なデータ構造がイミュータブルな関数型言語でも、 http://en.m.wikipedia.org/wiki/Hash_array_mapped_trie 上の高速なHash使って、実用的な速度というので注目を集めたのがClojureだった。 なので、もともとHaskellでも代入可能なデータ構造が用意されてたりするし、使ったりする。 http://www.haskell.org/haskellwiki/Arrays http://d.hatena.ne.jp/kazu-yamamoto/touch/20120706/1341546985
31 : http://hackage.haskell.org/package/unordered-containers これもclojureにインスパイアされて作ってたはず。
32 : http://logaan.github.io/clojure/core.typed/2013/10/02/core.typed-game-of-life.html clojureから、typed clojureにしてみて、scalaとhaskellに移植して比較してみたらしい。 typed clojureが一番長いけど、納得いかないものではない、という感想になってた。
33 : cup戦の投票結果発表してたよ。
34 : http://en.m.wikipedia.org/wiki/Ctrie https://github.com/axel22/Ctries https://github.com/danlentz/cl-ctrie https://github.com/mcschroeder/ctrie 並行Trieは、scalaのチームが考えたのか。 clとhaskellの実装があるようだ。 名前からするとhash mapとstmが複数コアで速くなりそうに見えるけど、どうなんだろう。
35 : clojure-py やってみようと思ったけど 開発止まってるこれはもう開発の余地がないほど完成してるってとってもいいのかな
36 : https://groups.google.com/forum/m/#!topic/clojure-py-dev/ZyfAbg0UCpY 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 : Getting Pushy: pushing data from server to browser https://thestrangeloop.com/sessions/getting-pushy-pushing-data-from-server-to-browser > 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 : Schema for Declarative Data Validation in Clojure https://thestrangeloop.com/sessions/schema-for-declarative-data-validation-in-clojure ちょっと話題になってるデータバリデーションライブラリ これもスライドないのかな? セッション一覧 https://thestrangeloop.com/sessions スライド一覧 https://github.com/strangeloop/StrangeLoop2013/tree/master/slides/sessions
39 : setterという変数の内部の値を書きかえる関数があるとき、 (let [] (setter x) x) と (do (setter x) x) で結果が違うんですけど、これは仕様でしょうか? letの方はxが変更されなくて、doの方はxの中身が変更されます
40 : http://clojure.org/special_forms#Special%20Forms--(let%20[bindings*%20]%20exprs*) http://clojure.org/special_forms#Special%20Forms--(do%20exprs*) 基本的に副作用ある場合は逐次実行される様にdo系の逐次実行マクロで囲む必要があるという認識。 http://d.hatena.ne.jp/ryoasai/touch/20110604/1307201476 http://d.hatena.ne.jp/awacio/touch/20121009/1349796084 基本は、副作用考慮しない実行順序によらない並列評価になると思うので let使う場合も、(let [bindings*] (do (expr*)))にする必要がある(と思ってる)。
41 : 逐次実行の外部計算ライブラリ利用したプログラムでベンチとった時に、cpuが100%(=1論理コア)以上使われてた。 検証せずに、とりあえず並列評価された可能性が高いってことにしておいた。 別件だけど、reducerでメモリまわりも節約出来るようだし、java1.6以降対応だから初めから使うようにしたいんだが、 javaのagentが立ち上がるので、明示的にjavaをexitするところの作法ってないのかな? http://tnoda-clojure.tumblr.com/post/60197800824/reducers http://tnoda-clojure.tumblr.com/post/59364812844/dispelling-tis-fud-about-clojure-part-one http://tnoda-clojure.tumblr.com/post/59416260402/dispelling-tis-fud-about-clojure-part-two
42 : exitする前にshutdown-agents呼んどく、という話ではない? ttp://clojuredocs.org/clojure_core/clojure.core/shutdown-agents
43 : ひょっとして、 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)
44 : 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 は変数の不変性を前提に変な遅延評価と最適化してるような気がする
45 : mapが返すのは遅延リストだから、 (do s1 s2 s3) s1 が s2 より前に実行されることが保証されているだけで、 s1 と s2 の間に他の処理をしないことは保証されていない s1 s2 が s3 の内部の値を書き換える操作の場合は s3 の内部状態が書き換わることは保証されない
46 : 遅延評価まじでウザいな なんでこんな欠陥を導入したんだよ
47 : 破壊的副作用に頼ったコードを書かなければどうということはない ・・・と言いたいところだけど、java呼び出しで書かざるを得ない時は結構ある 毎日clojureさわってる内はちゃんとdoallとかdorunとか呼ぶようにするけど、 ひさしぶりにさわると忘れてる事が
48 : データ構造を作った後に値を埋めていくタイプのコンストラクタはどうやって作るのだろうか…
49 : 遅延評価ではなく遅延シーケンスな
50 : >>46 遅延シーケンスを否定するならClojureを使う意味はほぼ無いよ まさしくClojureの主要機能
51 : 順序問題はloop使うとちょっと逃げられる
52 : >>48 doto を使うということではなくて?
53 : do一族 http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/doall http://julianlaffey.wordpress.com/2013/04/25/untangling-clojures-do-functions-do-doall-dorun-doseq-dosync-dotimes-doto/
54 : 遅延なんて、カスと認定されて20年以上前に主要プログラミング言語から追放された昨日なのに どうして関数型を名乗る言語で復活してしまったのか カスなのに
55 : >>54 54の頭が20年前で止まってるから。
56 : そもそも追放されてなくね
57 : >>54 リストxs が f1 f2 f3 ... で構成されてて、 各fi が xs の部分集合から計算されるとき、 各fi の計算順序を無視して xs の定義を記述できる ので便利
58 : 副作用を制限する関数型言語の特性と遅延処理の相性がいいからねえ
59 : netflixの紹介は遊んでるな https://speakerdeck.com/daveray/clojure-at-netflix
60 : その作者、seesaw作ってた人か 当時は学生っぽく見えたけど、どうだったんだろう。
61 : >>59 マクロの項目吹いたwwwww
62 : それマクロスちゃうヴァルキリーやで っていう突っ込み欲しいんだろうか
63 : netflix社内では、アニメ見放題なんだろうか。 最近見かけるようになった機械学習のSaaSっぽいやつのひとつ https://bigml.com/features バックエンドが99%clojureらしい。 http://blog.bigml.com/2013/06/21/clojure-based-machine-learning/
64 : 割とマジでコレが日本で流行らん理由がわからん。 PHPなんかよりよっぽどWeb関係作りやすいし安定してるのに。
65 : 流行らない理由「Lispだから」説 twitterでもネタで書かれてたけど 本当にこれありそうだよな
66 : Pythonみたいなのが流行りつつあるのを見ると やはりみんな括弧が嫌いなのかね 自分もエディタのサポートが無い環境なら 括弧の類が少ない言語を選ぶ気がするよ
67 : Lisp系の文法フリーな文化に慣れると 他の言語に手を出す気が失せる
68 : >>66 今の時代エディタのサポートなしとか余程の変態か初心者しかやらないし python流行ってるのは米軍とかgoogleが支援してるからも大きい つまりclojureにもいいパトロンがつけば
69 : 外野からすると単にカッコがというよりものっぺりしたコードの見た目に抵抗がある
70 : >>64 生のJavaScript書くのが辛いという理由で、Haxeみたいなのが人気が出てるのを見ると、 「コンパイラがエラーを指摘してくれる安心感」に魅力を感じる人が多いんだな、と思う。 Lispは発想を自由にコーディング出来るが、言い換えると開発者によって練度のバラつきが 大きく影響する--->人月で契約するプロジェクトマネージャーへの受けの問題だろう。
71 : マクロ書けなかったらClojure使う意味なんかないしなぁ
72 : >>70 JavaScriptもClojureのREPLみたいに使えればそんなに書くの嫌いじゃ無いんだが開発環境がとてもショボイのが嫌いだ ってなわけでWeb環境はclojure+clojure scriptが楽だったりする。 プロトタイプはこれで作ってプレゼンする感じ でも実際の運営までにはPHPとかに変換しないと運営から文句来る orz
73 : これはClojure->PHPのトランスレータのフラグ。
74 : Twitter見てるとアニオタに人気の言語なのかね
75 : >>74 PythonとRubyがアップを始めたようです
76 : Haskell「所詮スポーツマンじゃの」
77 : 今勉強中なんだけど、 セットとかマップって単にリストとか連想リストではいかんのだろうか。 そんなに効率が変わるようにも思えないし
78 : 普段はScala + Playをsbt + IDEAでコーディングしてるんだけど、 Clojureでウェブアプリ作ろうと思ったらどんな組み合わせでやるものなの? デプロイ先とかも簡単に見つかるのかどうかも気になります。
79 : Ring: RubyでいうRackのようなミドルウェア Compojure: RubyでいうSinatraのようなWebアプリ記述用DSL ということらしい、詳しくは知らん 参考URL ttp://d.hatena.ne.jp/oknknic/20130704/1372950152
80 : ringアプリでwarとか作れば、servletで提供できるよ。 http://www.ibm.com/developerworks/jp/java/library/j-paasshootout/ なので、openshift,run@cloud,gae,beanstalk,herokuなど無料から使えるとこで使える。
81 : mvc的なものなら compojure https://devcenter.heroku.com/articles/clojure-web-application luminus http://www.luminusweb.net RESTとクライアントJSアプリなら liberator http://clojure-liberator.github.io/liberator/ http://www.flyingmachinestudios.com/programming/building-a-forum-with-clojure-datomic-angular/ この本は、compojure中心 http://pragprog.com/book/dswdcloj/web-development-with-clojure クライアントサイドJSまわりは、clojurescriptというのでかけたりする。 http://www.oreilly.co.jp/books/9784873116129/ Railsのmigration、scaffold的なところがあるツールは、今のところないと思う。
82 : >>78 webアプリだと基本warに落とせる物が多いからAWSでもなんでも何処でもOKですぜ。 servletエンジン持ちもあるから単体jarで起動できる物も多いし。 JVMの有無だけじゃないのかなデプロイの可否
83 : ふっふっふ 社内で勉強会開始 emacsenが半数を占めていたのでCCWじゃなくnrepl-jack-inでclojure学習でだいぶいけそう
84 : メモ帳+コマンドプロンプト の俺は異端か…
85 : Lispでエディタ補助なしって拷問に近い LightTableがオシャレ
86 : メモ帳でLisp書くのとかどんな罰ゲームだよwww
87 : >>84 器用だな 不便感じないの?
88 : >>79 >>80 >>81 >>82 ありがとう。いろいろ選択肢はあるんですね。 少しずつ勉強してみます。
89 : >>84 xyzzyいいよー^^
90 : メモ帳+コマンドプロンプトになれると、USBメモリにclojure1.xx.x..jarとコマンドプロンプトのショートカットだけ入れてればどこでもプログラミングできる
91 : xyzzyにclojure-modeあるのか?
92 : >>90 いっそのことlanternaとか使ったテキストエディタもとろもつくっちまったほうがよくね?(lanterna日本語とおらないのがアレ過ぎるけど)
93 : もはやメモ帳でコーディングする方が楽という領域に入ったが、 メモ帳閉じた後に自動インデント整形してソースを出力しなおしてくれるツールがあるとうれしい clojure.jarにくっつけてくれ、とだれが英語でリクエストしておいてください
94 : http://www.infoq.com/jp/news/2013/10/core-typed 形システムについての日本語記事
95 : >>93 vimとclojure.vim入れて、全行を「=」コマンドで整形して保存するだけのスクリプトを書いて実行 もしくはemacsで(ry コードの整形は流石にpretty-printでは無理か
96 : leiningen使ってたら他の処理系のビルドが大変めんどくさくなってきて困る なんだかdameningenになった気分だ
97 : githubのランキングが変わってた。 だいぶ前なのかもしれないけど。 トレンドなリポジトリ https://github.com/trending?l=clojure トレンドな開発者 https://github.com/trending/developers?l=clojure googleのリポジトリもあるんだね。
98 : >>96 最近の、ビルドの最中までオンライン前提な風潮はどうにかならないのだろうか…
99 : >>98 つlein -o
100read 1read 1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
【関数】Erlang Part 2【エリクソン】 (209)
【COBOLから】バッチ処理【Javaまで】 (153)
画像処理 その14 (120)
プログラミングを勉強したいのだが (141)
ふらっとVisual C#,C♯,C#(初心者用) Part107 (667)
■暗号技術【ROUNDsurea】■ (574)
--log9.info------------------
【XBOX360/PS3】バーチャファイター2 Part18【VF2】 (680)
格闘ゲームの忍者とは2 (116)
インジャスティス 神々の激突 Part2 (123)
ウメハラ総合スレ6360 (1001)
CAPCOM VS. SNK3を期待するスレ 2【カプエス3】 (143)
【老害】サム零SP自称被害者糾弾スレ【荒らし】 (495)
【GGXrd】ギルティギア総合 part180 【GGXXAC+R】 (152)
月華の剣士総合スレ (490)
【DOA】デッドオアアライブシリーズ267 (136)
テストスレ兼画像・動画URL置き場 (678)
【UNI】アンダーナイトインヴァースExe:Late part29 (430)
( ^ω^)今日も負けたお 7連敗目 (161)
【PC】スーパーストリートファイターWAE晒しスレ30 (711)
鉄拳初心者スレ 70 (585)
【P4U】ペルソナ4 ジ・アルティメット イン マヨナカアリーナ Lv146 (404)
格ゲーやめた人の体験談教えて (338)
--log55.com------------------
【河合塾】 2018年度入試結果偏差値 【入試結果分析】
宇宙のトップブランド 日本大学
【MARCH】明治vs青学vs立教【トップ争い】3
2019対応【河合塾・駿台・ベネッセ】3大データ最新難易度ランキング<文系>/早慶上智マーチ
決定権があるつもりの奴
頭が悪い人は生きていける
偏差値55未満の国立のクセにマーチをバカにする奴
キリスト教やって人生めちゃくちゃに壊れた