【Lisp】プログラミング言語 Clojure #3【JVM】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/09/28(土) 11:03:28.38Clojure - 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/
0002デフォルトの名無しさん
2013/09/28(土) 11:12:57.06API 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/
0003デフォルトの名無しさん
2013/09/28(土) 11:13:29.98Clojure
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
0004デフォルトの名無しさん
2013/09/28(土) 11:22:49.04Clojure 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
0005デフォルトの名無しさん
2013/09/28(土) 11:35:03.40Clojureをつくったわけ
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
0006デフォルトの名無しさん
2013/09/28(土) 11:59:03.50ttp://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追加できるサービスなど一部あり
【テンプレ終了】
0007デフォルトの名無しさん
2013/09/28(土) 12:00:38.53http://wiki.fdiary.net/lisp/?%A5%C6%A5%F3%A5%D7%A5%EC+%28Clojure+%A5%B9%A5%EC%29
(ID:guest Pass:cl)
0008デフォルトの名無しさん
2013/09/29(日) 16:29:28.68そしてなぜ前スレが1000行く前に落ちてんだ
0009デフォルトの名無しさん
2013/09/30(月) 18:10:34.01facebookが内部で形付きのphp拡張作ってるって。
typedscript含めて動的言語の型検査がトレンドになってきてる?
typed clojureは0.2で、使える代物になってるので、circleciでは実践投入しているらしい。
http://blog.circleci.com/supporting-typed-clojure/
0010デフォルトの名無しさん
2013/09/30(月) 18:11:07.14慣れの問題だろうけど、本文中に埋め込んでる方が簡潔にみえる。
http://m.imgur.com/hUGIXwq
lisp族でもshenは埋め込んでたが、
racket, clojureで埋め込まなかったのは、構文の自由度に影響でるから?
0011デフォルトの名無しさん
2013/09/30(月) 18:32:34.79980超えると一定時間経過で自動的に落ちるとかなんとか
0012デフォルトの名無しさん
2013/10/01(火) 15:29:09.20http://clojurecup.com/apps.html
0013デフォルトの名無しさん
2013/10/01(火) 20:55:20.02本屋でパッと見るだけでも全体通して同じだから雰囲気わかると思うよ。
参考文献がないのはなんかのお約束なんだろうか?
lolなところは、
入門書ではないが、leiningenのインストールのところはうまく初心者向けにかいてあるのに、javaのインストールには一言も触れてない点
関数脳って副題、内容関係なく編集者がつけた点
でした。
0014デフォルトの名無しさん
2013/10/01(火) 21:08:13.26このチームは日本からの参加者みたい
http://clojurecup.com/app.html?app=focusoncoding
0015デフォルトの名無しさん
2013/10/02(水) 01:33:24.25javaというか、jreだけでOKだよね?
0016デフォルトの名無しさん
2013/10/02(水) 23:32:43.22宣伝乙
0017デフォルトの名無しさん
2013/10/03(木) 00:32:32.270018デフォルトの名無しさん
2013/10/03(木) 01:27:11.660019デフォルトの名無しさん
2013/10/03(木) 01:54:41.31どちらも、ネット上でClojureの人材募集してたのを見かけたことがあるけど、
コアな人材を集める気のあるところの方が、
買収する側にとっても独立したRD部署とするにはマッチするのかもしれないね。
0020デフォルトの名無しさん
2013/10/03(木) 01:54:42.310021デフォルトの名無しさん
2013/10/03(木) 01:58:06.93http://blog.livedoor.jp/lionfan/lite/archives/52682119.html
0022デフォルトの名無しさん
2013/10/03(木) 02:04:01.34書店いくの面倒だったら、サンプルと草稿あるし。
http://gihyo.jp/book/2013/978-4-7741-5991-1
https://github.com/hellonico/niclojure/tree/master/textja
0023デフォルトの名無しさん
2013/10/03(木) 02:07:51.84https://github.com/flatland/drip
コマンドライン上で先にjava立ち上げておくツールは、
普段したのやつ使ってるけど、おいしい本では、上のやつが紹介されてた。
0024デフォルトの名無しさん
2013/10/03(木) 02:42:39.87(System/exit 0) で代用してるけど、いいのだろうか
0025デフォルトの名無しさん
2013/10/03(木) 04:38:08.70http://stackoverflow.com/questions/4981584/how-to-exit-the-repl
0026デフォルトの名無しさん
2013/10/03(木) 08:12:26.22まあ初回だしこんなもんなのかな
0027デフォルトの名無しさん
2013/10/04(金) 02:21:37.580028デフォルトの名無しさん
2013/10/04(金) 02:32:30.29イミュータブルなデータ構造使いましょう
0029デフォルトの名無しさん
2013/10/04(金) 02:39:58.02ClojureにはJavaオブジェクトとかrefとかアトムとか
変更可能なものがいろいろ用意されてる
0030デフォルトの名無しさん
2013/10/04(金) 09:00:25.55ここで扱う構造は、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
0031デフォルトの名無しさん
2013/10/04(金) 09:03:07.00これもclojureにインスパイアされて作ってたはず。
0032デフォルトの名無しさん
2013/10/04(金) 23:28:39.24clojureから、typed clojureにしてみて、scalaとhaskellに移植して比較してみたらしい。
typed clojureが一番長いけど、納得いかないものではない、という感想になってた。
0033デフォルトの名無しさん
2013/10/05(土) 00:53:56.110034デフォルトの名無しさん
2013/10/05(土) 01:16:50.23https://github.com/axel22/Ctries
https://github.com/danlentz/cl-ctrie
https://github.com/mcschroeder/ctrie
並行Trieは、scalaのチームが考えたのか。
clとhaskellの実装があるようだ。
名前からするとhash mapとstmが複数コアで速くなりそうに見えるけど、どうなんだろう。
0035デフォルトの名無しさん
2013/10/05(土) 02:23:43.17開発止まってるこれはもう開発の余地がないほど完成してるってとってもいいのかな
0036デフォルトの名無しさん
2013/10/05(土) 09:30:26.26The 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まわり)
0037デフォルトの名無しさん
2013/10/05(土) 16:49:02.23https://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っぽいフレームワーク作り始めてるのか。
0038デフォルトの名無しさん
2013/10/05(土) 17:20:31.97https://thestrangeloop.com/sessions/schema-for-declarative-data-validation-in-clojure
ちょっと話題になってるデータバリデーションライブラリ
これもスライドないのかな?
セッション一覧
https://thestrangeloop.com/sessions
スライド一覧
https://github.com/strangeloop/StrangeLoop2013/tree/master/slides/sessions
0039デフォルトの名無しさん
2013/10/06(日) 06:06:04.49(let [] (setter x) x)
と
(do (setter x) x)
で結果が違うんですけど、これは仕様でしょうか?
letの方はxが変更されなくて、doの方はxの中身が変更されます
0040デフォルトの名無しさん
2013/10/06(日) 12:12:08.07http://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*)))にする必要がある(と思ってる)。
0041デフォルトの名無しさん
2013/10/06(日) 12:55:16.43検証せずに、とりあえず並列評価された可能性が高いってことにしておいた。
別件だけど、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
0042デフォルトの名無しさん
2013/10/06(日) 16:41:26.61ttp://clojuredocs.org/clojure_core/clojure.core/shutdown-agents
0043デフォルトの名無しさん
2013/10/06(日) 18:08:18.49user=> (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)
0044デフォルトの名無しさん
2013/10/06(日) 19:19:42.62gosh> (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 は変数の不変性を前提に変な遅延評価と最適化してるような気がする
0045デフォルトの名無しさん
2013/10/06(日) 19:39:25.70(do s1 s2 s3)
s1 が s2 より前に実行されることが保証されているだけで、 s1 と s2 の間に他の処理をしないことは保証されていない
s1 s2 が s3 の内部の値を書き換える操作の場合は s3 の内部状態が書き換わることは保証されない
0046デフォルトの名無しさん
2013/10/06(日) 20:28:02.08なんでこんな欠陥を導入したんだよ
0047デフォルトの名無しさん
2013/10/06(日) 20:47:17.05・・・と言いたいところだけど、java呼び出しで書かざるを得ない時は結構ある
毎日clojureさわってる内はちゃんとdoallとかdorunとか呼ぶようにするけど、
ひさしぶりにさわると忘れてる事が
0048デフォルトの名無しさん
2013/10/06(日) 21:24:51.010049デフォルトの名無しさん
2013/10/06(日) 21:25:48.600050デフォルトの名無しさん
2013/10/06(日) 22:44:50.69遅延シーケンスを否定するならClojureを使う意味はほぼ無いよ
まさしくClojureの主要機能
0051デフォルトの名無しさん
2013/10/07(月) 03:31:05.010053デフォルトの名無しさん
2013/10/07(月) 23:35:18.05http://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/
0054デフォルトの名無しさん
2013/10/12(土) 00:43:25.74どうして関数型を名乗る言語で復活してしまったのか
カスなのに
0055デフォルトの名無しさん
2013/10/12(土) 02:47:32.0054の頭が20年前で止まってるから。
0056デフォルトの名無しさん
2013/10/12(土) 02:55:10.840057デフォルトの名無しさん
2013/10/12(土) 03:57:57.56リストxs が f1 f2 f3 ... で構成されてて、
各fi が xs の部分集合から計算されるとき、
各fi の計算順序を無視して xs の定義を記述できる
ので便利
0058デフォルトの名無しさん
2013/10/12(土) 09:16:54.870059デフォルトの名無しさん
2013/10/12(土) 09:27:51.29https://speakerdeck.com/daveray/clojure-at-netflix
0060デフォルトの名無しさん
2013/10/12(土) 17:45:21.27当時は学生っぽく見えたけど、どうだったんだろう。
0061デフォルトの名無しさん
2013/10/14(月) 11:35:08.95マクロの項目吹いたwwwww
0062デフォルトの名無しさん
2013/10/15(火) 05:16:59.58っていう突っ込み欲しいんだろうか
0063デフォルトの名無しさん
2013/10/15(火) 23:04:25.26最近見かけるようになった機械学習のSaaSっぽいやつのひとつ
https://bigml.com/features
バックエンドが99%clojureらしい。
http://blog.bigml.com/2013/06/21/clojure-based-machine-learning/
0064デフォルトの名無しさん
2013/10/17(木) 12:57:58.69PHPなんかよりよっぽどWeb関係作りやすいし安定してるのに。
0065デフォルトの名無しさん
2013/10/17(木) 14:16:47.21twitterでもネタで書かれてたけど
本当にこれありそうだよな
0066デフォルトの名無しさん
2013/10/17(木) 14:25:53.41やはりみんな括弧が嫌いなのかね
自分もエディタのサポートが無い環境なら
括弧の類が少ない言語を選ぶ気がするよ
0067デフォルトの名無しさん
2013/10/17(木) 15:28:06.39他の言語に手を出す気が失せる
0068デフォルトの名無しさん
2013/10/17(木) 15:59:06.29今の時代エディタのサポートなしとか余程の変態か初心者しかやらないし
python流行ってるのは米軍とかgoogleが支援してるからも大きい
つまりclojureにもいいパトロンがつけば
0069デフォルトの名無しさん
2013/10/17(木) 17:06:09.500070デフォルトの名無しさん
2013/10/17(木) 18:06:07.41生のJavaScript書くのが辛いという理由で、Haxeみたいなのが人気が出てるのを見ると、
「コンパイラがエラーを指摘してくれる安心感」に魅力を感じる人が多いんだな、と思う。
Lispは発想を自由にコーディング出来るが、言い換えると開発者によって練度のバラつきが
大きく影響する--->人月で契約するプロジェクトマネージャーへの受けの問題だろう。
0071デフォルトの名無しさん
2013/10/17(木) 22:00:11.120072デフォルトの名無しさん
2013/10/18(金) 13:15:25.70JavaScriptもClojureのREPLみたいに使えればそんなに書くの嫌いじゃ無いんだが開発環境がとてもショボイのが嫌いだ
ってなわけでWeb環境はclojure+clojure scriptが楽だったりする。
プロトタイプはこれで作ってプレゼンする感じ
でも実際の運営までにはPHPとかに変換しないと運営から文句来る orz
0073デフォルトの名無しさん
2013/10/18(金) 16:00:03.290074デフォルトの名無しさん
2013/10/19(土) 10:07:41.650075デフォルトの名無しさん
2013/10/19(土) 13:41:00.30PythonとRubyがアップを始めたようです
0076デフォルトの名無しさん
2013/10/19(土) 20:10:23.280077デフォルトの名無しさん
2013/10/19(土) 21:31:27.19セットとかマップって単にリストとか連想リストではいかんのだろうか。
そんなに効率が変わるようにも思えないし
0078デフォルトの名無しさん
2013/10/20(日) 00:36:22.11Clojureでウェブアプリ作ろうと思ったらどんな組み合わせでやるものなの?
デプロイ先とかも簡単に見つかるのかどうかも気になります。
0079デフォルトの名無しさん
2013/10/20(日) 01:42:32.78Compojure: RubyでいうSinatraのようなWebアプリ記述用DSL
ということらしい、詳しくは知らん
参考URL ttp://d.hatena.ne.jp/oknknic/20130704/1372950152
0080デフォルトの名無しさん
2013/10/20(日) 12:28:05.95http://www.ibm.com/developerworks/jp/java/library/j-paasshootout/
なので、openshift,run@cloud,gae,beanstalk,herokuなど無料から使えるとこで使える。
0081デフォルトの名無しさん
2013/10/20(日) 12:51:03.51compojure
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的なところがあるツールは、今のところないと思う。
0082デフォルトの名無しさん
2013/10/20(日) 13:38:55.00webアプリだと基本warに落とせる物が多いからAWSでもなんでも何処でもOKですぜ。
servletエンジン持ちもあるから単体jarで起動できる物も多いし。
JVMの有無だけじゃないのかなデプロイの可否
0083デフォルトの名無しさん
2013/10/22(火) 01:07:49.94社内で勉強会開始
emacsenが半数を占めていたのでCCWじゃなくnrepl-jack-inでclojure学習でだいぶいけそう
0084デフォルトの名無しさん
2013/10/22(火) 02:58:45.160085デフォルトの名無しさん
2013/10/22(火) 03:51:38.44LightTableがオシャレ
0086デフォルトの名無しさん
2013/10/22(火) 04:10:29.720087デフォルトの名無しさん
2013/10/22(火) 05:31:08.88器用だな
不便感じないの?
0088デフォルトの名無しさん
2013/10/22(火) 07:49:10.16>>80
>>81
>>82
ありがとう。いろいろ選択肢はあるんですね。
少しずつ勉強してみます。
0089デフォルトの名無しさん
2013/10/22(火) 18:48:42.63xyzzyいいよー^^
0090デフォルトの名無しさん
2013/10/22(火) 23:16:26.440091デフォルトの名無しさん
2013/10/23(水) 02:58:00.410092デフォルトの名無しさん
2013/10/23(水) 14:58:22.80いっそのことlanternaとか使ったテキストエディタもとろもつくっちまったほうがよくね?(lanterna日本語とおらないのがアレ過ぎるけど)
0093デフォルトの名無しさん
2013/10/25(金) 03:44:18.58メモ帳閉じた後に自動インデント整形してソースを出力しなおしてくれるツールがあるとうれしい
clojure.jarにくっつけてくれ、とだれが英語でリクエストしておいてください
0094デフォルトの名無しさん
2013/10/25(金) 05:16:19.00形システムについての日本語記事
0095デフォルトの名無しさん
2013/10/26(土) 01:55:15.87vimとclojure.vim入れて、全行を「=」コマンドで整形して保存するだけのスクリプトを書いて実行
もしくはemacsで(ry
コードの整形は流石にpretty-printでは無理か
0096デフォルトの名無しさん
2013/10/26(土) 19:43:26.42なんだかdameningenになった気分だ
0097デフォルトの名無しさん
2013/10/26(土) 20:08:56.78だいぶ前なのかもしれないけど。
トレンドなリポジトリ
https://github.com/trending?l=clojure
トレンドな開発者
https://github.com/trending/developers?l=clojure
googleのリポジトリもあるんだね。
0098デフォルトの名無しさん
2013/10/26(土) 20:19:48.05最近の、ビルドの最中までオンライン前提な風潮はどうにかならないのだろうか…
0099デフォルトの名無しさん
2013/10/27(日) 17:15:30.86つlein -o
0100デフォルトの名無しさん
2013/10/28(月) 01:28:01.73(.start (Thread. #(println "anal")))
とかすると、出力がreplではなく*nrepl-server*バッファに表示されてしまう問題はいつ解決されるんだろうか
0101デフォルトの名無しさん
2013/10/28(月) 21:17:40.45http://doc.tir.ne.jp/devel/clan
作者が日本人だから日本語のドキュメントが充実してていいな
■ このスレッドは過去ログ倉庫に格納されています