- 1 名前:デフォルトの名無しさん mailto:sage [2017/01/04(水) 12:00:49.23 ID:uHeuKaUg.net]
- JVM上で動作するLisp方言「Clojure」のスレ。
Clojure - home clojure.org/ www.try-clojure.org/ 前スレ: 【Lisp】プログラミング言語 Clojure #3【JVM】 echo.2ch.net/test/read.cgi/tech/1380333808/ 【Lisp】プログラミング言語 Clojure #2【JVM】 toro.2ch.net/test/read.cgi/tech/1318498898/ 【Lisp】プログラミング言語 Clojure【JVM】 hibari.2ch.net/test/read.cgi/tech/1255533519/
- 32 名前:デフォルトの名無しさん mailto:sage [2017/03/06(月) 23:40:59.97 ID:MJoZTqPl.net]
- clojureでbigdataな処理をやりたいとかね
sparkとかつかえよっていう話かもしれないが とりあえずletをうまくつかったら40分の計算が9秒になったわ だがrepl出力にアウトプットをそのまま垂れ流そうとすると標準i/o出力に40分かかってしまう ちなみに9秒になったのはlazyで計算されてないわけではなく計算値のlastは普通に12(9+3)秒程度で取得できる 大型なデータのrepl出力を手軽に高速化する方法ってないのかな なんか挙動見てる限りchunk seqをちまちま出力しているように見える、計算結果はinto []してるんだけどな
- 33 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 01:35:01.47 ID:72cHV2nQ.net]
- >>32
replの出力鈍いからなぁ ものすげぇ長い戻り値って端からわかってるならファイルに書いちゃうのが吉 いつもemacs+ciderでうぼあーってなる自分が言うのもなんだけど
- 34 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 02:02:53.70 ID:TRrf8/Mo.net]
- あれから少し調べたけど
system/outがそもそも遅いみたいね 普通にreplの挙動を考えると1ラインで1システムコールだもんな OSコールと描画のオーバーヘッドは無視できない とりあえずbufferedwriterでsystem/outを包んでやるか、素直にfileに出すのが良さそうね だからみんなtimbreとかlog4jとか使ってるわけだ
- 35 名前:デフォルトの名無しさん mailto:sage [2017/03/07(火) 23:38:38.94 ID:4Kmn9smG.net]
- unixならtail -fなりでいいしね。winで調べたらpowershellか。
- 36 名前:デフォルトの名無しさん mailto:sage [2017/03/09(木) 13:15:22.02 ID:fDJtN/vS.net]
- いろいろ調べたけどそもそも計算できてなかったわ
lazy-seqのvectorになってただけだった
- 37 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 13:48:01.36 ID:H2WcmmXo.net]
- facebook傘下のwitaiが基盤実装をclojureからc++かhaskellに移行する予定だったらしく、haskellにしたとのこと。
移行したら読みやすいみたいな話もちょっとだけ。 clojureの場合、ライブラリは一度作るまでいろいろいじって、一回出来るとあまりいじらないイメージもあるけど、実装を多人数でよくいじるみたいなのだと、難しいのかな? IDE上手く使えばそういう開発もできるのだけど、最初からなんでも決まってるほうがいいってのはgo見るとわかる気もする。 https://wit.ai/blog/2017/05/01/new-duckling
- 38 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 13:57:16.18 ID:H2WcmmXo.net]
- postd.cc/measuring-gc-latencies-in-haskell-ocaml-racket/
postd.cc/golangs-real-time-gc-in-theory-and-practice/ gc関連の話題に触れると、基盤系はgcチューニングに結構リソース割いてるgoやそもそもgc回避できるrustが来そうってのはあるが、 javaはどうなってくんだろうね。 JVM言語向けのvmやpauseless vmを開発してる話は聞くんだけど、あまりリソースが割けてなさそう。
- 39 名前:デフォルトの名無しさん mailto:sage [2017/05/05(金) 21:49:19.19 ID:MDgrGB6E.net]
- spec方面でエコシステムが育って来てるようだけど、どれぐらいで落ち着いて参入しやすくなるかな?
https://www.slideshare.net/simonbelak/spec-a-lispflavoured-type-system
- 40 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 19:28:59.81 ID:5LsaYMbU.net]
- threading macroを使ったSeqの途中で一時変数(let)を使いたいんだけど、どうすれば良いの??
- 41 名前:デフォルトの名無しさん [2017/08/13(日) 19:51:35.89 ID:KJ+m5GEj.net]
- (A 1 2 3 B 1 2 C 1 2 3 4)
から ((A 1 2 3) (B 1 2) (C 1 2 3 4)) を得たいのですが、loop、recur以外のよい方法はあるでしょうか?
- 42 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 07:56:11.94 ID:XAFRApiv.net]
- reduce
- 43 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 14:28:53.47 ID:ks1WQGP1.net]
- Clojure知らんのだけど、CLならこんな書き方も
(defun ochinchin (xs) (mapcon (lambda (xs &aux (head (first xs)) (tail (rest xs))) (when (symbolp head) (list (subseq xs 0 (position-if (lambda (x) (not (numberp x))) tail))))) xs)) (ochinchin '(A 1 2 3 B 1 2 C 1 2 3 4)) ==> ((A 1 2) (B 1) (C 1 2 3 4))
- 44 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 14:31:35.01 ID:ks1WQGP1.net]
- 失敬、バグってたw
- 45 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 14:30:43.67 ID:aeYzbOC4.net]
- バグってないコードもかいておくれ
- 46 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 18:22:24.05 ID:Ejsp/QIe.net]
- (position-if (lambda (x) (not (numberp x))) tail)
の部分を、↓ (let ((n (position-if (lambda (x) (not (numberp x))) tail))) (when (numberp n) (1+ n))) もしくは、アナフォリックマクロライブラリが使えるなら (awhen (position-if (lambda (x) (not (numberp x))) tail) (1+ it)) ですね。 👀 Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
- 47 名前:デフォルトの名無しさん [2017/11/07(火) 09:53:07.55 ID:QNcerxGs.net]
- Clojureということでシーケンスを使って、以下はどうでしょうか?
(defn foo [xs] (->> xs (partition-by char?) (partition-all 2) (map (partial apply concat)))) > (foo [\a 1 2 3 \b 4 5 \c 6 7 8]) ((\a 1 2 3) (\b 4 5) (\c 6 7 8))
- 48 名前:デフォルトの名無しさん mailto:sage [2018/01/08(月) 22:31:20.70 ID:7CLJqQI5.net]
- lein run では問題無く動作するけど
lein uberjar を行おうとすると失敗して困っています Uberjar aborting because jar failed: Invalid argument というメッセージが表示されています 何方か解決方法を教えていただけると助かります 問題が発生してるコードはこれです https://github.com/kemono/gaw-00001
- 49 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 06:37:21.04 ID:lIn3WuFp.net]
- 動かない原因は、:resource-paths ["resources" "lib/jme3/*"]
lein2になってからワイルドカード使ってjarをまるごと解決ってのが出来なくなってlein runすら動かないと思うし、直接lib/jme3/hoge.jarみたいに指定しても、uberjar時にjar内にjarが出来てそのままではうまくいかない 簡単な解決方法としては、Mavenレポジトリを使った方法で、以下変更点によってlein uberjarがうまくいく 念のためleinのアップデートもね ; project.clj (defproject tiny-game "0.1.0-SNAPSHOT" :dependencies [[org.clojure/clojure "1.8.0"] [org.jmonkeyengine/jme3-core "3.2.0-stable"] [org.jmonkeyengine/jme3-desktop "3.2.0-stable"] [org.jmonkeyengine/jme3-plugins "3.2.0-stable"] [org.jmonkeyengine/jme3-jogg "3.2.0-stable"] [org.jmonkeyengine/jme3-blender "3.2.0-stable"] [org.jmonkeyengine/jme3-lwjgl "3.2.0-stable"]] :repositories {"jcenter" {:url "https://jcenter.bintray.com/"}} :resource-paths ["resources"] :main tiny-game.core :aot :all) ; core.clj (ns tiny-game.core (:gen-class) ...)
- 50 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 08:36:00.75 ID:IAv+4//d.net]
- >>49
解決出来ました!! 本当に助かりました!ありがとうございます!!
- 51 名前:デフォルトの名無しさん [2018/01/18(木) 20:11:18.76 ID:vOZSq9tB.net]
- この言語って何に使うの?まさか仕事?
- 52 名前:デフォルトの名無しさん mailto:sage [2018/01/19(金) 19:58:18.39 ID:1WY9ihKS.net]
- 5ちゃんで使われてるらしいよ
- 53 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 19:11:22.71 ID:bJUCDaUD.net]
- LINE Game Cloudの例に見る関数型言語の特徴
https://engineering.linecorp.com/ja/blog/detail/244
- 54 名前:デフォルトの名無しさん [2018/05/23(水) 20:42:00.99 ID:Au5e7VGg.net]
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 SAB28
- 55 名前:デフォルトの名無しさん [2018/07/05(木) 01:10:47.40 ID:RfoszcD2.net]
- ZO6
- 56 名前:デフォルトの名無しさん [2018/08/07(火) 00:00:25.28 ID:ahdeFvKS.net]
- 関数型言語で画像処理のプログラムが書きたいんだけど
Common Lispで言う (setf (aref ary img y x) num) みたいなn次元配列をmutableでごりごり書き換えるのって Clojureでできる? オライリーのCLOJURE PROGRAMMINGとshiro kawai訳のプログラミングClojureの 最初の方は読んだ
- 57 名前:デフォルトの名無しさん mailto:sage [2018/08/08(水) 23:16:42.23 ID:o1dMGl8v.net]
- 行列計算をごりごり使うってのは向いてないかなと。
javaなどでごりごり書いて、clojureから使ってるってひとはいるかもしれないが。 いちおうそのためのライブラリはある。 https://neanderthal.uncomplicate.org/articles/getting_started.html
- 58 名前:デフォルトの名無しさん [2020/03/16(月) 03:39:58.54 ID:r6kvZN2B.net]
- bashでパイプから流されてくるプログラムコードの文字列をprity printして綺麗に改行とかインテンドされたコードに変換して保存したい
どうすれば出来ますでしょうか
- 59 名前:デフォルトの名無しさん mailto:sage [2020/03/16(月) 09:09:27 ID:BYpTFeXn.net]
- VSCode みたいな、各言語の言語サーバーを使えば?
- 60 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 10:10:43.60 ID:hrhIzOSk.net]
- >>58
pprint
- 61 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 12:40:26.22 ID:wW4uIUgX.net]
- Clojure面白いけど日本だといまいち人気ないよね
Leiningenのサイトに行くと変なオッサンが現れるのが原因だと思うんだけど
- 62 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 22:51:45.01 ID:kotKgp7H.net]
- 最近始めたんだけど、leiningen使えば良いのかdeps.edn使えば良いか混乱した。boot?とかもあるし
- 63 名前:デフォルトの名無しさん mailto:sage [2021/02/27(土) 12:17:21.37 ID:IWlmpzlB.net]
- パッケージシステムってだいたい混沌としてる気がする
- 64 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 12:27:40.79 ID:tUVUKdZi.net]
- Ruby on Rails 6 の本を出している人の、入門書が出た
Elixir実践ガイド、黒田努、2021/2/5 Ubuntu 20.04, Docker CE 19.03, Elixir 1.11
- 65 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 18:18:56.25 ID:+052LPUC.net]
- clojure使う人ってjavaにも精通してるの?
ごりごりjavaなのをclojureに書き直すプロジェクトとかあるのかな
- 66 名前:デフォルトの名無しさん [2021/03/18(木) 20:39:43.08 ID:7a+X5xG9.net]
- 勝手なイメージだかど、Javaの資産やライブラリを使う前提がありそうだから、それなりに知識が必要になりそう
- 67 名前:デフォルトの名無しさん [2021/03/18(木) 21:50:06.96 ID:1sWV2MVC.net]
- >>64
あわしろ氏が総監修のやつか。
- 68 名前:デフォルトの名無しさん [2021/05/10(月) 23:29:16.21 ID:zV1+0nw0.net]
- Clojure 二日目です
(ns example.trumps.card) (def spades 4) (def hearts 3) (def diamonds 2) (def clubs 1) (def suit '(spades hearts diamonds clubs)) って定義して user=> (use 'example.trumps.card) nil user=> spades 4 user=> suit (spades hearts diamonds clubs) user=> (first suit) spades user=> (= (first suit) spades) false user=> (= (eval (first suit)) spades) true ってなるのが理解出来ません… 特に (= (first suit) spades) が false になるのは何でですかね? 多分「評価」って事と、そのタイミングが理解出来てないんだと思いますが…
- 69 名前:デフォルトの名無しさん [2021/05/11(火) 00:27:26.30 ID:5VzwiW7v.net]
- >>68
丁度 Clojure 三日目になりました (ns example.trumps.card) (def spades 4) (def hearts 3) (def diamonds 2) (def clubs 1) ;(def suit '(spades hearts diamonds clubs)) (def suit (conj '() clubs diamonds hearts spades)) って直したらイケました user=> (use 'example.trumps.card) nil user=> spades 4 user=> suit (4 3 2 1) user=> (first suit) 4 user=> (= (first suit) spades) true リストを作りたいからクォートで評価を止めたので リストの中身も評価されずに追加されている って事だったみたいです… うーん…
- 70 名前:デフォルトの名無しさん [2021/05/11(火) 00:56:40.16 ID:5VzwiW7v.net]
- >>69
んで、こうなりました… (ns example.trumps.card) (def spades 4) (def hearts 3) (def diamonds 2) (def clubs 1) ;(def suit '(spades hearts diamonds clubs)) ;(def suit (conj '() clubs diamonds hearts spades)) (def suit [spades hearts diamonds clubs]) って定義して user=> (use 'example.trumps.card) nil user=> suit [4 3 2 1] user=> spades 4 user=> (get suit 0) 4 user=> (= (get suit 0) spades) true インデックス要らないからベクタじゃなくてリストで定義しようとして クォートで括弧の評価を止めてリストを定義したら リストの中身も評価されなかったので クォートの要らないベクタに変更したら ベクタの中身はちゃんと評価されましたとさ 別にインデックス要らないんだけど…
- 71 名前:デフォルトの名無しさん mailto:sage [2021/05/11(火) 10:31:49.88 ID:zfkVf3yY.net]
- これを (def suit '(spades hearts diamonds clubs))
こうすれば (def suit (list spades hearts diamonds clubs)) 中身を評価したリストが作れる クォートでやりたいならこれでもいい (def suit `(~spades ~hearts ~diamonds ~clubs)) バッククォートの中はチルダをつけた式だけ評価してくれる
- 72 名前:デフォルトの名無しさん [2021/05/11(火) 20:06:43.07 ID:5VzwiW7v.net]
- >>71
アドバイスありがとうございます! 普通に list 関数でリストを作ればよかっただけだったんですね…
- 73 名前:デフォルトの名無しさん [2021/07/07(水) 05:19:35.12 ID:Jk8/Aq6G.net]
- なんでclojureが流行ってるのかわからない
- 74 名前:デフォルトの名無しさん [2021/07/07(水) 15:09:07.62 ID:49748z4f.net]
- なんでubyが流行ってるのかわからない
↓ ubyは流行ってない
- 75 名前:デフォルトの名無しさん mailto:sage [2021/07/07(水) 18:20:58.87 ID:ustzb7y5.net]
- どこで流行っているのか詳しく...
- 76 名前:デフォルトの名無しさん mailto:sage [2021/07/15(木) 01:31:51.73 ID:UxRGUXYq.net]
- 今年からClojure始めて遊んでるけど、はやってるのか?
日本語の記事見ると2013年頃のやつが多い気がするから、一度流行ってみんなどこかに行っちゃったのか?
- 77 名前:デフォルトの名無しさん [2021/07/17(土) 17:47:13.48 ID:Q2NmMT6S.net]
- そのくらいに関数型言語やらscalaとかclojureみたいな次期Java互換言語みたいのが流行った気がする。
あれはなんだったんだろう。
- 78 名前:デフォルトの名無しさん mailto:sage [2021/07/17(土) 21:49:07.90 ID:xmQE+uIu.net]
- Elixir の本なら出た
Elixir実践ガイド、黒田努、2021/2 Ubuntu 20.04, Docker CE 19.03, Elixir 1.11 Scala は、YouTube で有名な、雑食系エンジニア・KENTA が、オワコン認定した! 新規参入が無いから、 コミュニティーに偏屈なベテが居座って、新人にマウントを取ってくる それで寂れた
- 79 名前:デフォルトの名無しさん mailto:sage [2021/07/17(土) 22:37:43.26 ID:niIhu6/Y.net]
- 雑食系エンジニア・KENTAってだれやねん(´・ω・`)
- 80 名前:78 mailto:sage [2021/07/17(土) 23:10:42.22 ID:xmQE+uIu.net]
- KENTA のサロンは異例、日本6位の2千人入っている
未経験者の自社開発ウェブ系への転職、 Ruby on Rails の虎の穴
- 81 名前:デフォルトの名無しさん mailto:sage [2021/07/17(土) 23:46:21.71 ID:niIhu6/Y.net]
- (´・ω・`) うわぁ
- 82 名前:78 mailto:sage [2021/07/18(日) 00:06:09.51 ID:H/NN8O82.net]
- KENTA は、Java 土方・SES とか、
高額学校とか、マナブの情報商材などを批判するから、 あちこちの経営者から攻撃されている 今も、200万円の学校をぼったくりと言ったので、訴えられたw こういう手順で勉強すれば、お金が掛からないとか、 安上がりな方法を教えるから、多くの経営者から嫌われている
- 83 名前:デフォルトの名無しさん [2021/08/30(月) 16:00:14.46 ID:sXvjxAc3.net]
- libpython-clj を clojurescript から使うのは無理なのでしょうか?
- 84 名前:デフォルトの名無しさん mailto:sage [2021/09/23(木) 05:05:53.26 ID:M6IEENDA.net]
- lispやhaskellも日本ではちょっと前のほうが流行ってたな
みんなどうしてしまったのだろう
- 85 名前:デフォルトの名無しさん [2021/09/30(木) 17:21:48.87 ID:n/Set1um.net]
- pythonのpythonpathに相当するものないのでしょうか
自分で作ったコードで良く使い回しするもの集めたディレクトリにbashrcでパスを通しておくのpython でよくやってたので clojureでも同じことできると嬉しい
- 86 名前:デフォルトの名無しさん [2023/04/29(土) 08:35:36.05 ID:C7fe7AD16]
- 断じて容認できないのは金正恩し゛ゃなくて,温室効果ガスまき散らして気侯変動させて地球破壊してる國土破壞省た゛ヴォケ>岸田増税文雄
バカチン打ったバカのほうか゛コ口ナ拡散率が高いにもかかわらず全國旅行支援もとい地球破壊支援はハ゛力チン打ったハ゛カが対象.陰性証明は 1曰て゛も空いたり他県またいだら非対象とかやっていなか゛ら入国についてはザ儿、IρCСやら世界中から非難されまくって核ミサイ儿が すかしっ屁レベ儿の地球破壞活動を繰り返し.テ□国家認定の称号化石賞まて゛連続受賞している世界最悪の地球破壊腐敗テ口国家日本 騷音まき散らして静音か゛生命線の知的産業壞滅させてテ゛ジ夕ル後進国に陥れて.腐敗まみれの税金泥棒どもが税金泥棒公務員と結託して 小学生が夏休みに作ったレベルのJアラ━ト(大爆笑)の税金泥棒っふ゜り露わにしてたり.バカチョンも対抗して曰本海を汚染しようと コ゛ミ撃ち込もうとするも陸域で爆発させて大騒ぎ、ミサヰ儿補足もできない,税金泥棒シ゛ャクソはイプシ口ンミサヰルにНЗにと見事に失敗w 曰本に原爆落とした世界最悪の覇権主義国家を中心とした地球破壊テ□リス├税金泥棒ポンコツ連盟―匹残らずとっとと解散しろや
創価学会員は.何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最惡の殺人腐敗組織公明党を 池田センセ―が□をきけて容認するとか本氣て゛思ってるとしたら侮辱にもほと゛か゛あるぞ! https://i.imgur.com/hnli1ga.jpeg
- 87 名前:デフォルトの名無しさん mailto:sage [2023/08/03(木) 18:53:19.76 ID:Ee057Aaj.net]
- native imageって使えてる?
- 88 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 22:34:55.18 ID:/45PPSXv.net]
- >>78
Scalaが負けたのは単にベターJavaのポジションをKotlinが確保したってのが一番デカいと思うがな JavaScriptがクソ言語だからってトランスパイルして動かすAltJSが乱立してたけど CoffeeやPureScript、Elm、Flowとか優秀な言語は沢山あったけど マイクロソフトがゴリ押ししたTypeScript一強で終わったし
- 89 名前:デフォルトの名無しさん mailto:sage [2024/01/31(水) 01:32:58.89 ID:+kvetBHm.net]
- Clojureの本スレだと思うけど、何でこんなに過疎ってんの?
- 90 名前:デフォルトの名無しさん mailto:sage [2024/04/11(木) 17:52:27.27 ID:jfKO/2Xn.net]
- >>89
他のプログラミング板も過疎ってるし こんなもんじゃね?
- 91 名前:デフォルトの名無しさん [2025/01/12(日) 22:56:11.59 ID:QDgxO6DBa]
- 例えは゛『JA??MP』は『税金泥棒災害惹起捏造逮捕殺人集団警視庁」た゛か゛
クソ航空機による騒音被害を受けたらアプリ『ADS-B Unfiltered...』て゛登録記号確認 ttps://jasearch.info/ ←ここで犯人特定 ADS-B出してない日の丸ロゴ機体は憲法違反税金泥棒自閉隊関係だが.人の尊厳を踏みにじるこいつらテ□リストか゛莫大な石油を無駄に 燃やして工ネ価格高騰,氣候変動.災害連発、人殺しまくって憲法ガン無視て゛騷音まき散らして労働者の睡眠妨害して生産性壞滅 知的産業を根絶やしにして住民の生命財産生活にと破壞して人々を貧困化させてる強盗殺人か゛近年の俺も俺も強盜の根源なわけた゛が この惡質テ口に立ち向かう英雄に送金したいというやつ本当に大勢いるからな 企業トップ銃殺してSNSて゛盛大に称賛されて多額の金か゛集まってるか゛この深刻な被害に切り込んだ英雄は━生遊へ゛るほと゛に大儲けできるぞ 航空燃料税1万円/Lにするた゛けで財政.脱炭素,治安,國際競争カと━挙解決するものをア−ア─聞こえないの腐敗政府を追い詰めよう (ref.) ttps://www.call4.jp/info.php?type=items&id=I0000062 ttps://haneda-project.jimdofree.com/ , ttps://flight-route.com/ ttps://n-souonhigaisosyoudan.amebaownd.com/
|

|