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

【Lisp】プログラミング言語 Clojure #4【JVM】 [無断転載禁止]©2ch.net

1 :デフォルトの名無しさん:2017/01/04(水) 12:00:49.23 ID:uHeuKaUg
JVM上で動作するLisp方言「Clojure」のスレ。

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

前スレ:
【Lisp】プログラミング言語 Clojure #3【JVM】
http://echo.2ch.net/test/read.cgi/tech/1380333808/
【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 :デフォルトの名無しさん:2017/01/04(水) 12:03:33.58 ID:uHeuKaUg
【リファレンス】
API Overview - Clojure v1.8 (stable)
ttp://clojure.github.io/clojure/
Clojure Libraries - Clojure Contrib, Leiningen, ...
ttp://clojure.org/api/api
grimoire - community combined cheatsheet + examples
ttp://grimoire.arrdem.com/
ClojureDocs - community provided example repositoryttp://clojuredocs.org/
CrossClj - library cross-referencettp://crossclj.info/


【ブログ・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
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

3 :デフォルトの名無しさん:2017/01/04(水) 12:04:20.76 ID:uHeuKaUg
【チュートリアル】
Clojure Koans
ttp://clojurekoans.com/
ttp://clojurescriptkoans.com/
labrepl
ttp://github.com/relevance/labrepl
4Clojure
ttp://www.4clojure.com/
Clojure の日本語ガイド
ttps://ayato-p.github.io/clojure-beginner/

【コーディング規則】
Library Coding Standards
ttp://dev.clojure.org/display/community/Library+Coding+Standards
コミュニティベースのClojureスタイルガイド(bbatsov/clojure-style-guideの日本語訳)
ttps://github.com/totakke/clojure-style-guide

4 :デフォルトの名無しさん:2017/01/04(水) 12:08:19.28 ID:uHeuKaUg
【本】
ttp://www.amazon.co.jp/s?field-keywords=clojure
Programming Clojure (2nd edition)
ttp://blog.practical-scheme.net/shiro/20130417-programming-clojure-2nd (日本語版)
英語の本
ttp://clojure.org/community/books

【動画】
ttps://youtube.com/user/ClojureTV

【その他】
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

5 :デフォルトの名無しさん:2017/01/04(水) 12:10:14.90 ID:uHeuKaUg
【テンプレ終了】

テンプレ収集場所
http://wiki.fdiary.net/lisp/?%A5%C6%A5%F3%A5%D7%A5%EC+%28Clojure+%A5%B9%A5%EC%29
(ID:guest Pass:cl)

6 :デフォルトの名無しさん:2017/01/04(水) 18:38:14.84 ID:yy/SdLnw
1.9っていつ出るの?

7 :デフォルトの名無しさん:2017/01/04(水) 23:14:41.62 ID:VMJ7nozd
re-frameの勢力増えている気がして嬉しい

8 :デフォルトの名無しさん:2017/01/05(木) 18:05:12.91 ID:FiQZD0WY

エラーもっと見やすくなりますように

9 :デフォルトの名無しさん:2017/01/13(金) 17:24:28.45 ID:R3VNpyWj
http://www.rightrelevance.com/search/articles?query=clojure

ざっとみてたら、reagentのちょっとした記事があった。
Reagent deep dive part 1
http://timothypratley.blogspot.jp/2017/01/reagent-deep-dive-part-1.html

10 :デフォルトの名無しさん:2017/01/13(金) 23:31:45.53 ID:X2ezHFUW
まさにHTMLというでかいデータ構造をReact/JSXで書くという点に不満を抱いている人はおおいね
Clojureはデータ構造をベターっと書くのが得意だからうまく処理できる

11 :デフォルトの名無しさん:2017/01/16(月) 01:48:04.88 ID:u1r5PPit
re-frameすげぇびっくり
HTMLをemacs+clojure単体でhiccupで書くだけでも楽だったのだけどSPAでものすごいお気楽に書けるのでびっくり
おいらは社内で猛プッシュ中なのだけどclojureがlisp系なので忌避されて泣きそう

12 :関連サイト:2017/01/16(月) 05:52:01.38 ID:snnb/Fhd
JVM上で動くということはAndroidアプリも作れるということですか?

13 :デフォルトの名無しさん:2017/01/16(月) 16:58:49.54 ID:zFZr9yOS
clojureで動いてるアプリもあるけど、まずはjavaでandroidの仕組みを理解するのが先かな、
https://github.com/alexander-yakushev/foreclojure-android

他にcljsとreactnativeで動かすやつもある。
https://github.com/drapanjanas/re-natal

14 :デフォルトの名無しさん:2017/01/16(月) 17:23:51.15 ID:cwyxJ1cI
ありがとうございます

15 :デフォルトの名無しさん:2017/01/19(木) 22:33:16.45 ID:aY4YJCCh
Clojure - Frequently Asked Questions
https://clojure.org/guides/faq

公式にFAQページなんてあったっけ?ツイートで見かけたけど最近できたのかな?

16 :デフォルトの名無しさん:2017/01/21(土) 13:50:33.32 ID:aqW7hRmv
各ライブラリのcomponent設定セット
https://github.com/danielsz/system/

使い方のサンプルも。
https://github.com/danielsz/system-advanced-example
https://github.com/danielsz/system-duct-style-example

17 :デフォルトの名無しさん:2017/01/21(土) 13:52:56.42 ID:aqW7hRmv
sampleで思い出したのだけど、lein newとboot -d boot/new newで作れる雛形を検索できるサイトってあったっけ?

こういう感じのやつ(yo)
http://yeoman.io/generators/

18 :デフォルトの名無しさん:2017/01/21(土) 14:11:29.15 ID:z9Zi6HmD
boot-newが公式リポジトリに移動してた
http://seancorfield.github.io/blog/2017/01/19/boot-new-moved/

19 :デフォルトの名無しさん:2017/01/21(土) 22:59:01.23 ID:C0k8sCvn
初心者向けwebスタック作るっていってたやつのアルファ版らしい。
http://arachne-framework.org/posts/2017/alpha-release/

目標がよく分かってないけど、phpのlaravelみたいに使いづらいところが無くなるようにフレームワークで全体をならすようなつもりだったのかね。

20 :デフォルトの名無しさん:2017/01/21(土) 23:27:58.81 ID:EPTmlCuB
この前クラウドファンディングしてたやつか

21 :デフォルトの名無しさん:2017/01/26(木) 11:35:01.02 ID:BY+td22O
好きなclojureのcore関数は?
ttps://twitter.com/fogus/status/824297817502052352

22 :デフォルトの名無しさん:2017/01/28(土) 11:31:45.85 ID:BGFfcx+H
lux 0.5.0
It's meant to be a functional, statically-typed Lisp that will run on several platforms, such as the Java Virtual Machine and JavaScript interpreters.

https://github.com/LuxLang/lux
https://luxlang.gitbooks.io/the-lux-programming-language

23 :デフォルトの名無しさん:2017/02/11(土) 23:59:17.72 ID:2J4sjkSp
なんぞ
https://groups.google.com/forum/#!msg/clojurescript/wGJeG36GPTk/e9XCo3a2BgAJ
JavaScript Modules (Alpha) | ClojureScript
https://clojurescript.org/guides/javascript-modules

24 :デフォルトの名無しさん:2017/02/12(日) 00:24:59.35 ID:1laRC1Ic
ClosureCompiler用の外部JS宣言を推論してくれるらしい。

Externs (Alpha)
https://clojurescript.org/guides/externs

25 :デフォルトの名無しさん:2017/02/26(日) 17:24:11.89 ID:WP4rX3RZ
javaのmutableなコレクションをうまく扱えるようなライブラリってないかな
具体的にはdouble型からなるmutableな型をdeftypeで宣言して、
array かjava.util.ArrayListに投げてmutableなmap!とかを実装してる奴

自分で書いて試してみろって?そりゃそうなんだけど
clojureの設計思想から真っ向から反しているのはわかってるけど
こういうニーズも満たせればclojureって最強言語なんじゃねと思うんだけど

26 :デフォルトの名無しさん:2017/03/02(木) 00:51:05.02 ID:5Cm7dTQ2
javaと変換を扱うライブラリあるけど、可変にするものではなさそう。
https://github.com/clojure/java.data
https://github.com/rschmitt/dynamic-object
https://github.com/ngrunwald/gavagai

行列みたいな計算向けは可変あるけど、一般的なjavaのって話ではないか。

これも操作を完結する感じなので、java関係なさそう。
https://github.com/nathanmarz/specter

abclもlispobjectとあるので、直接は扱えないのかな?
http://abcl.org/

27 :デフォルトの名無しさん:2017/03/02(木) 00:56:52.60 ID:5Cm7dTQ2
そういえば、こんなのあったね。
https://github.com/zcaudate/hara
http://docs.caudate.me/hara/hara-concurrent-ova.html

28 :デフォルトの名無しさん:2017/03/02(木) 22:07:38.10 ID:7sf+xG/k
あらためて調べて考えたんだけど
javaでは、ヴァルハラがくるまで、ジェネリクスパラメータにプリミティブが使えないんだよね

じゃあ例えばリストを使う場合に特定の参照型、例えばboxed Doubleのような参照型が要素になり、結局mutableのメリットがなくなるってことなのかな
javaはあまり詳しくないけど、プリミティブはメモリを直接上書きするから、高速
オブジェクトは変更されると、
動的に新しい値がメモリに割り当てられ、古いデータはGCに回収されるとする

そうするとミュータブルクラスはパーシステントクラスを使ってるのと決定的な差がなくなってくるという考えに行き着くんだけど

29 :デフォルトの名無しさん:2017/03/02(木) 22:17:29.93 ID:dlTbMJUn
javaだとgc避けるために、off-heepのスタック領域などにリングバッファ作って処理する話が出てくるね。

30 :デフォルトの名無しさん:2017/03/02(木) 22:58:21.96 ID:7sf+xG/k
lmaxのdisruptorとか?
てかいまのやりとりでようやく固定長のキューではなくリングバッファ使っている理由がなんとなくわかった気がするわ

31 :デフォルトの名無しさん:2017/03/06(月) 14:04:12.25 ID:R0WeGFec
>>25
それ必要かな?
メモリセンシティブな用途以外出番なくね?

32 :デフォルトの名無しさん:2017/03/06(月) 23:40:59.97 ID:MJoZTqPl
clojureでbigdataな処理をやりたいとかね
sparkとかつかえよっていう話かもしれないが

とりあえずletをうまくつかったら40分の計算が9秒になったわ
だがrepl出力にアウトプットをそのまま垂れ流そうとすると標準i/o出力に40分かかってしまう
ちなみに9秒になったのはlazyで計算されてないわけではなく計算値のlastは普通に12(9+3)秒程度で取得できる
大型なデータのrepl出力を手軽に高速化する方法ってないのかな
なんか挙動見てる限りchunk seqをちまちま出力しているように見える、計算結果はinto []してるんだけどな

33 :デフォルトの名無しさん:2017/03/07(火) 01:35:01.47 ID:72cHV2nQ
>>32
replの出力鈍いからなぁ
ものすげぇ長い戻り値って端からわかってるならファイルに書いちゃうのが吉

いつもemacs+ciderでうぼあーってなる自分が言うのもなんだけど

34 :デフォルトの名無しさん:2017/03/07(火) 02:02:53.70 ID:TRrf8/Mo
あれから少し調べたけど
system/outがそもそも遅いみたいね
普通にreplの挙動を考えると1ラインで1システムコールだもんな
OSコールと描画のオーバーヘッドは無視できない
とりあえずbufferedwriterでsystem/outを包んでやるか、素直にfileに出すのが良さそうね

だからみんなtimbreとかlog4jとか使ってるわけだ

35 :デフォルトの名無しさん:2017/03/07(火) 23:38:38.94 ID:4Kmn9smG
unixならtail -fなりでいいしね。winで調べたらpowershellか。

36 :デフォルトの名無しさん:2017/03/09(木) 13:15:22.02 ID:fDJtN/vS
いろいろ調べたけどそもそも計算できてなかったわ

lazy-seqのvectorになってただけだった

37 :デフォルトの名無しさん:2017/05/05(金) 13:48:01.36 ID:H2WcmmXo
facebook傘下のwitaiが基盤実装をclojureからc++かhaskellに移行する予定だったらしく、haskellにしたとのこと。
移行したら読みやすいみたいな話もちょっとだけ。

clojureの場合、ライブラリは一度作るまでいろいろいじって、一回出来るとあまりいじらないイメージもあるけど、実装を多人数でよくいじるみたいなのだと、難しいのかな?
IDE上手く使えばそういう開発もできるのだけど、最初からなんでも決まってるほうがいいってのはgo見るとわかる気もする。
https://wit.ai/blog/2017/05/01/new-duckling

38 :デフォルトの名無しさん:2017/05/05(金) 13:57:16.18 ID:H2WcmmXo
http://postd.cc/measuring-gc-latencies-in-haskell-ocaml-racket/
http://postd.cc/golangs-real-time-gc-in-theory-and-practice/

gc関連の話題に触れると、基盤系はgcチューニングに結構リソース割いてるgoやそもそもgc回避できるrustが来そうってのはあるが、
javaはどうなってくんだろうね。

JVM言語向けのvmやpauseless vmを開発してる話は聞くんだけど、あまりリソースが割けてなさそう。

39 :デフォルトの名無しさん:2017/05/05(金) 21:49:19.19 ID:MDgrGB6E
spec方面でエコシステムが育って来てるようだけど、どれぐらいで落ち着いて参入しやすくなるかな?
https://www.slideshare.net/simonbelak/spec-a-lispflavoured-type-system

40 :デフォルトの名無しさん:2017/05/30(火) 19:28:59.81 ID:5LsaYMbU
threading macroを使ったSeqの途中で一時変数(let)を使いたいんだけど、どうすれば良いの??

13 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)