5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  
レス数が950を超えています。1000を超えると表示できなくなるよ。

【Lisp】プログラミング言語 Clojure #3【JVM】

1 :デフォルトの名無しさん:2013/09/28(土) 11:03:28.38
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/

735 :デフォルトの名無しさん:2015/06/07(日) 20:06:39.36 ID:VJLGoFo1
>>733
案外少ないんですね。 Qiita まとまりがない気がしたんですが、そうでもないんですね。
ありがとうございます。

736 :デフォルトの名無しさん:2015/06/08(月) 15:16:37.13 ID:5sYF/T/a
プログラミング初心者かどうかによって変わりますよね。
もしプログラミング経験があって、英語が読めるのであれば、次の本が良いと思います。巻末にClojureの短い入門がついています。

https://pragprog.com/book/dswdcloj/web-development-with-clojure

737 :デフォルトの名無しさん:2015/06/08(月) 15:26:39.30 ID:rWuOTYr3
「…よね」とか言うやつは精神病ぽくていかん

738 :デフォルトの名無しさん:2015/06/08(月) 16:22:10.16 ID:rJB8iCDI
>>737
おまいが病院逝けω

739 :デフォルトの名無しさん:2015/06/08(月) 16:57:40.49 ID:ZMbPAywj
「…よね」とか言うやつは精神病ぽいよね

740 :デフォルトの名無しさん:2015/06/08(月) 20:28:34.03 ID:AXPER4TO
「「…よね」とか言うやつは精神病ぽいよね 」とか言うやつは精神病

741 :デフォルトの名無しさん:2015/06/08(月) 20:44:02.11 ID:rWuOTYr3
「…よね」とかいうやつはマジレスするとただのバカ
二流以下的社会での表現だな
それを精神病なんだよとオブラートしてやったのに

742 :デフォルトの名無しさん:2015/06/08(月) 20:51:07.02 ID:bPcbWOEv
IDが出るようになってからただの煽り合いに終始する低レベルな板に成り果てたな

743 :デフォルトの名無しさん:2015/06/09(火) 03:24:36.79 ID:PVVA8Vxp
なったんじゃなくて
もとからそうだっのが
ばれただけなんですよね

744 :デフォルトの名無しさん:2015/06/09(火) 06:56:29.26 ID:QNGnbMWJ
>>736
ググったら第二版が出るみたいなので、それを待とうと思います。

745 :デフォルトの名無しさん:2015/06/09(火) 07:08:49.86 ID:KNd4rBRo
P2.0はもうでてるぞ。

746 :デフォルトの名無しさん:2015/06/09(火) 11:01:38.41 ID:zYTkc1Sl
http://yogthos.net/posts/2015-04-14-Web-Development-with-Clojure-2.html
今夏でしょ?

747 :デフォルトの名無しさん:2015/06/10(水) 15:52:31.84 ID:5fSdXMUj
P2.0とは別なのか。楽しみだけど、本当に夏に出るのかしらんw

748 :デフォルトの名無しさん:2015/06/10(水) 16:39:34.42 ID:fY/pgtrq
>>747
あの出版社は、正式な出版前の本をベータ版として買えるようにしているけど、
まだ出ていないところを見ると夏には厳しそうな気が。

749 :デフォルトの名無しさん:2015/06/14(日) 19:02:21.26 ID:UgX2HyeQ
後輩育成のために
プログラミングClojure第2版買い書店に行ったんだけど、
中小規模の書店でも平積みで何冊も置いてあった。
意外ととClojure来てるんじゃないかと思った。
関数型プログラミング押しの本も目立ってたし。
まぁ、ユーザー増えすぎるとロックインできなくなるけどね…

750 :デフォルトの名無しさん:2015/06/14(日) 19:09:10.06 ID:CZaX0Ile
プログラミングClojureは翻訳の質が保証されてるから買いやすい
なおClojurescript

751 :デフォルトの名無しさん:2015/06/14(日) 21:11:34.86 ID:ZbqvNuzj
書店で平積みの本が増えると「このジャンルも終わりだな」と思うようになった

「終わり」の意味は、「知ってると給料が上がるのではなく知らないと給料が下がる」

752 :デフォルトの名無しさん:2015/06/14(日) 23:30:28.77 ID:UgX2HyeQ
>>751
Clojureで稼げる案件をお持ちであれば是非ご紹介いただきたいですね^^

753 :デフォルトの名無しさん:2015/06/14(日) 23:35:33.56 ID:ZbqvNuzj
>>752
昔はアプリを作る高級言語は lisp か C の2択だった
そのときにlispで作った資産を、今のJVMで動くようにする仕事のときは儲かった

1990年代のサーバ系は lisp で作ったやつが多いから、探してみよう

754 :デフォルトの名無しさん:2015/06/15(月) 00:40:36.18 ID:mxjEMfHB
そいつはすげーや、
俺には無理だ、Clojureからlisp入ったんだもの

755 :デフォルトの名無しさん:2015/06/20(土) 09:44:43.51 ID:A64/1XTV
普段はScheme使ってるのでLisp全般には慣れてるけど
Javaはよくわからない
そんな自分にお勧めのClojure入門書ってありませんか?

756 :デフォルトの名無しさん:2015/06/20(土) 10:20:52.62 ID:X5oJjLmp
>>755
プログラミングClojureでいいんじゃない
リファレンスはREPLでdoc読めばいいし例がほしければ http://clojuredocs.org/

757 :デフォルトの名無しさん:2015/06/20(土) 10:23:57.24 ID:oPIOHJmn
プログラミングClojure一択じゃない?
Webアプリの章はもう使えないけど

758 :デフォルトの名無しさん:2015/06/20(土) 14:09:46.96 ID:lE0SRYnt
翻訳されてないのでよく見かけるのはここらへん。
BaTは、オンラインであるのが大きいかな。

Clojure 1.3-
Clojure Programming (2012)

Clojure1.6-
The Joy of Clojure, Second Edition (2014)
Clojure for the Brave and True (online)
http://www.braveclojure.com/

759 :デフォルトの名無しさん:2015/06/20(土) 14:10:59.09 ID:lE0SRYnt
Clojure1.2と1.3の間に大きな断絶があったけど、
それ以降は、最適化や機能追加がほとんどだとおもうので、
プログラム自体は1.3に則ってかけば1.7で動くはず。
https://github.com/clojure/clojure/blob/master/changes.md

mapやsetみたいに、たまたまorderedな実装で動いてたのが、
変わって動かなくなるライブラリとかあるけど。

760 :デフォルトの名無しさん:2015/06/21(日) 10:52:31.48 ID:ghFblFiJ
Clojureから
Javaのclassの中のpublic static void main(String[] args)
を呼び出す方法がわからない
public static void hellow()
なら
ClassName/hellow
で呼び出せるのに
ClassName/main
だとエラーになる

761 :デフォルトの名無しさん:2015/06/21(日) 11:01:42.21 ID:vToOg2t5
まさか配列の引数ってことはないよね?

762 :デフォルトの名無しさん:2015/06/21(日) 13:43:56.73 ID:hAOMkAbd
>>761
おれもそう思った

763 :デフォルトの名無しさん:2015/06/22(月) 07:19:38.74 ID:goqHZtw7
https://github.com/swannodette/delimc
これを動かしたいけど
project.cli
ってどう書けばいいんだろう
手動でダウンロードしてsrc 以下にdelimic/coreというディレクトリ作っても
うまく動いてくれない

764 :デフォルトの名無しさん:2015/06/22(月) 09:29:37.82 ID:EoRNx9lp
>>763
Leiningenは使ってるの?

765 :デフォルトの名無しさん:2015/06/22(月) 09:48:31.40 ID:fUlCJROE
>>763
自分のプロジェクトの
src/delimc/core.clj
にgithubからrawファイルコピペしたら普通に動いたよ

git cloneしたものを使うならローカルリポジトリにinstallしてproject.cljのdependencyに [delimc "0.2.0"]って書けばよくね?
なおclojarsだと0.1.0しか無かった

766 :デフォルトの名無しさん:2015/06/22(月) 09:57:22.42 ID:nboh/a20
切れすぎ

767 :デフォルトの名無しさん:2015/06/22(月) 17:42:15.28 ID:2Ao8Xtyy
Clojureで継続使いたい場合はこっち使うのが推奨ってことでいいのかな
http://www.clojure.net/2012/03/24/Continuation-monad/

768 :デフォルトの名無しさん:2015/06/25(木) 00:51:30.58 ID:XTmBAD/B
継続を使って何がしたいわけ?

769 :デフォルトの名無しさん:2015/06/25(木) 09:42:25.02 ID:ngztl1PG
抜かずの3発かなぁ

770 :デフォルトの名無しさん:2015/06/26(金) 11:56:46.04 ID:1d77gFDC
pythonのscikit-learnが便利すぎる
Clojureで作ってしまったプログラムと
うまく組み合わせる方法ないものでしょうか

leinをコマンドライン実行を
pythonのsystem.osから実行するのが簡単かもしれないけど
カレントディレクトリの指定をどうしたものか

771 :デフォルトの名無しさん:2015/06/26(金) 16:08:26.02 ID:Ag+Ez/h4
>>770
普通に jar 作ってしまえばいいんじゃねーの?( lein 呼び出すのは重いし)
あと fs ってライブラリ使えば簡単にカレントディレクトリ取れると思う。

772 :デフォルトの名無しさん:2015/06/26(金) 21:10:57.38 ID:Ok1luf1O
>>768
scheme資産の流用をしたい

773 :デフォルトの名無しさん:2015/06/27(土) 15:17:46.11 ID:EeQiqsFc
プログラミング closure
読んでるんだが6章で初めて出てくる
->
の説明が何処にもない

774 :デフォルトの名無しさん:2015/06/27(土) 15:35:21.21 ID:1I5SLscW
>>773
マクロやね
(doc ->)
-------------------------
clojure.core/->
([x & forms])
Macro
Threads the expr through the forms. Inserts x as the
second item in the first form, making a list of it if it is not a
list already. If there are more forms, inserts the first form as the
second item in second form, etc.

formは関数の並びでxを最初関数の第一引数に突っ込んでその結果を第二関数の最初の引数に以下略な形にしてくれる
user=>(macroexpand-1 '(-> 1 inc (+ 1) (+ 2) (* 3)) )
(* (+ (+ (inc 1) 1) 2) 3)
こんな風になる

前の関数の結果をケツにしてくれる ->>ってマクロもある

775 :デフォルトの名無しさん:2015/06/27(土) 16:07:08.70 ID:O5DXQOTX
>>773
これ覚えておくと超便利だぞ。

776 :デフォルトの名無しさん:2015/06/27(土) 16:19:27.24 ID:2uHODUNV
というかこれないと関数のネストがヤバいことに

777 :デフォルトの名無しさん:2015/06/27(土) 17:14:07.79 ID:CmsG8aAe
スレッディングマクロ最高よね

778 :デフォルトの名無しさん:2015/06/28(日) 08:41:32.80 ID:T9BA7Qai
matchマクロで...が使えないのだけど
代わりの手段が何かあったりします?

779 :デフォルトの名無しさん:2015/06/28(日) 20:55:57.06 ID:a0oplYwD
デフォルトで入ってるマクロ以外のマクロは無しの方向にしませんか

780 :デフォルトの名無しさん:2015/06/29(月) 17:02:14.83 ID:uLxN7juh
leiningenってJavaのパッケージは自動でダウンロードしてきてくれないの?

781 :デフォルトの名無しさん:2015/06/29(月) 17:04:52.48 ID:uo6R+/rX
>>780
Mavenのリポジトリならダウンロードするけど、何がダメなん?

782 :デフォルトの名無しさん:2015/06/29(月) 18:36:56.46 ID:hIsoJUif
マップのキーワードに日本語を使うプログラムが普通に動いてしまって驚いてる

783 :デフォルトの名無しさん:2015/06/29(月) 18:39:43.12 ID:hIsoJUif
マップのキーワードに日本語を使うプログラムが普通に動いてしまって驚いてる

({(keywaord "日本 料理") 90 (keyword "アイス" 4} (keyword "日本 料理"))

このままもっと複雑なプログラム作っていっても問題ないのだろうか

784 :デフォルトの名無しさん:2015/06/29(月) 21:10:46.91 ID:jEZLfwei
実装見れば?特に驚くようなことじゃない

https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Keyword.java
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Symbol.java

785 :デフォルトの名無しさん:2015/06/30(火) 02:59:54.16 ID:HIKgKluT
javaの内部エンコーディングはutf16だし、通常通りファイルエンコーディングを
utf8にして、エンコーディングを合わせてる限り無いとは思う。

786 :デフォルトの名無しさん:2015/06/30(火) 11:49:44.87 ID:5/fQWLo+
>>785
Javaでいう変数名と勘違いしているようだけど全然違う話だぞ

787 :デフォルトの名無しさん:2015/07/01(水) 01:16:58.15 ID:dlscpTQ4
>>786
ん?文字列だと思ったんだけど、なぜに変数名?

788 :デフォルトの名無しさん:2015/07/01(水) 03:02:14.71 ID:PhVrWrz6
>>787
まさか文字列リテラルのこと?
それは深読みしすぎだったが、そもそもキーワードにって書いてあるの読めなかったの?

789 :デフォルトの名無しさん:2015/07/01(水) 12:07:43.91 ID:z/KDpVAR
:日本(半角スペース)料理

790 :デフォルトの名無しさん:2015/07/03(金) 13:08:50.98 ID:xhUgkep8
mavenにkawaとABCLがあるんだけど
ClojureからkawaやABCLが使えるってこと?

791 :デフォルトの名無しさん:2015/07/03(金) 19:52:40.00 ID:4RTBoCuF
おいしいClojure
ざっと見てみた感じあんまりおいしくないような感じするのは
普段使ってるのがPythonで豊富すぎるライブラリが
当たり前に感じてるからなんでしょうか

792 :デフォルトの名無しさん:2015/07/03(金) 19:58:01.77 ID:UaXrhJN5
前に立ち読みしたときに既に古くて使えないライブラリがけっこうあったような

793 :デフォルトの名無しさん:2015/07/03(金) 23:45:50.57 ID:1TzmIX3q
>>790
何の話してるのかよく分かんないけど、それは出来ると思う

794 :デフォルトの名無しさん:2015/07/03(金) 23:50:26.84 ID:zFXA0WTo
Javaと一緒でなんだかんだ言って移植性が低すぎる

795 :デフォルトの名無しさん:2015/07/04(土) 10:10:15.10 ID:ThPkJ/+I
>>794
移植性の高い低いって何で決まんの?

796 :デフォルトの名無しさん:2015/07/04(土) 10:31:13.07 ID:vGUPxdrf
そりゃJVMと一蓮托生よ

797 :デフォルトの名無しさん:2015/07/04(土) 11:27:28.07 ID:1j8Z8n9B
理想としては

leinとproject.cljをjavaのインターフェイスとして使って
主体のプログラムはkawaで書いて
racketとも互換性があるようにしたい

798 :デフォルトの名無しさん:2015/07/04(土) 15:17:09.17 ID:n0O10IcO
意味不明
せめて例示を

799 :デフォルトの名無しさん:2015/07/04(土) 18:06:24.23 ID:ThPkJ/+I
そこまでしないといけない理由が全く持って分からないし、Scheme処理系なんてそもそも互換がお互いにほとんどないじゃん。それもRacketとかRacket languageだし。

800 :デフォルトの名無しさん:2015/07/04(土) 21:51:58.00 ID:V2uWXOcR
>>795
移植性が高い = コンパイラ・インタプリタがインストールしてあれば、ソースコードをコピーすればそのまま翻訳実行できる

いままでの経験上、一番移植性が高いのはC言語
Javaは…

801 :デフォルトの名無しさん:2015/07/04(土) 22:12:12.38 ID:0/RKLMEi
>>800
JVMがあればそのまま実行できるじゃんよ
ClojureとClojure CLRだとJVM依存ライブラリ(jettyつかってるとかapache commonsとか)があるとソレの移植からになるのを懸念してるの?

802 :デフォルトの名無しさん:2015/07/04(土) 22:16:40.32 ID:V2uWXOcR
>>801
javaはそもそも10年前のコードがコンパイルができない

clojureはleinみたいなモノを使わないと、ライブラリで何を使ってるかすら把握できない

803 :デフォルトの名無しさん:2015/07/04(土) 22:32:24.41 ID:n0O10IcO
>>800 >>802
Cで同じコードがそのまま動くなんてラッキーくらいの感覚だけどな
まあこの10年だけで考えるならワードサイズも32bitでよかっただろうし、リトルエンディアンだけ考えてれば十分だったのかもしれないけど

で、10年で見るならJavaだって似たようなもんじゃないかと思うがコンパイルできないってどんなコード?

804 :デフォルトの名無しさん:2015/07/04(土) 22:44:01.81 ID:0/RKLMEi
>>802
C はAutoConfがー
RubyはGemがー
他多数

ですが?

805 :デフォルトの名無しさん:2015/07/04(土) 22:50:07.63 ID:ItRolA6R
Javaについては、90年代のプログラムをコンパイルしようと思うと
コレクションフレームワークのところでコケるかもしれない。
それ以外は大丈夫だと思うけど。

806 :デフォルトの名無しさん:2015/07/04(土) 23:11:09.88 ID:V2uWXOcR
>>803
・文字列処理(java.lang.Characterのメソッド)
・文字コードで分岐する処理
・日付(java.Dateのメソッド)
・型チェック(警告いっぱい)
・<>指定しないとコレクション使えない点

807 :デフォルトの名無しさん:2015/07/04(土) 23:16:12.23 ID:V2uWXOcR
>>804
Cは、10年前に gcc file.c でコンパイルできてたモノが、コンパイルできなくなるなんてないしな…

Rubyにはそもそも互換性なんか求められてない

808 :デフォルトの名無しさん:2015/07/04(土) 23:33:17.97 ID:ItRolA6R
>>806
10年前には当たり前なことだらけなので、
当時のコードを書いた人の技術力が足りなかったのでは。

809 :デフォルトの名無しさん:2015/07/04(土) 23:42:10.87 ID:n0O10IcO
>>807
gccの動く環境だけで移植性を語ってたのか・・・
つかgccが動いてもCPU次第だし標準ライブラリのみでやってたわけじゃないと思うけどな

810 :デフォルトの名無しさん:2015/07/04(土) 23:43:41.89 ID:V2uWXOcR
>>808
それより技術力が低いときに作ったはずのCがきちんとコンパイルできてるんだから、教訓としては、できてから10年しか経ってない言語で書くなということでしょうね

811 :デフォルトの名無しさん:2015/07/04(土) 23:47:10.33 ID:V2uWXOcR
>>809
gccが動けばOKというのは心強い
WindowsとUnix関係なく移植できるし

ライブラリの話までしだしたら、javaは標準APIの階層から変わってるしな…
clojureにいたっては、ネットワーク接続して頻繁にライブラリ更新するのが当たり前だしな…

812 :デフォルトの名無しさん:2015/07/04(土) 23:55:48.86 ID:n0O10IcO
>>806
> ・文字列処理
CSIなCと比較できないっしょ

> ・文字コードで分岐する処理
基本的に上と同じ指摘になるが、そもそもどういう処理だとJavaでコンパイルできない?

> ・日付(java.Dateのメソッド)
Cなんかtime_tのサイズも違うし分解能もプラットフォームごとにいちいち考慮するぞ

> ・型チェック(警告いっぱい)
このあたりは既に >>803 で指摘したとおりだが、そもそもdeprecatedなメソッドはちゃんと警告でるだけかなり親切だと思うがな

> ・<>指定しないとコレクション使えない点
使えない?

813 :デフォルトの名無しさん:2015/07/05(日) 00:01:50.24 ID:EDD7h1SP
>>811
ずっと規格とか言葉の定義があやふやなままだけど、gccが動くってのもGNU tool chainが動くって意味だね
Unixって書いてるけど本当にUnixなら間違いだし知ってて書いてるとは思えない

自分定義で移植性を語るならもう少しみんなに分かるように定義してくださいね

814 :デフォルトの名無しさん:2015/07/05(日) 00:16:09.10 ID:6U0/+Enp
>>813
ここでの移植性を次のように定義すればどうでしょう

大学の演習で処理系に付属しているAPI以外を使わずに作成した
・行交換するGaussの消去法のプログラム
・自作Prologの処理系
・エコーサーバログラム

のソースコードが、32bitか64bit かに依存してコードを書きかえることなく、
・Windows8.1 (MinGW gcc, JDK javac)
・Solaris11 (付属のcc, JDK javac)
・Ubuntu10 (gcc, JDK javac)

の最新バージョンで動く

815 :デフォルトの名無しさん:2015/07/05(日) 00:36:21.06 ID:EDD7h1SP
>>814
移植性という言葉を使うには狭いかな
せめて実用的なプロダクトベースのコードで語ってほしいし、
JVMで動くJavaとCを比べるならハードウェアアーキテクチャ抜きに比較するのは不適切だし、
10年前云々がすっぽり抜けちゃってるぞ

816 :デフォルトの名無しさん:2015/07/05(日) 02:34:42.80 ID:ex8y+zyl
その定義ならClojureとLeiningenの
組み合わせでまったく問題ないじゃん。

817 :デフォルトの名無しさん:2015/07/05(日) 06:35:28.36 ID:EoM2Wfz5
移植性の意味が10年前のコードがコンパイルできるかって話になってて驚いてる。

Javaの10年前というと時代的にJDK5になるのな。JDK5時代に書いたコードがJDK8で動くか、なら限りなくほとんどのコードはそのまま動くんじゃないの?
(知ってる限りでもAPI階層から変わったものなんて山のようにないし、それこそ警告が出てくるんだからそれ変えるだけで普通に動くと思うんだが)
JDK8で書いてJDK5で動かすのは当然無理だけど。
あとは指摘されてる通り、JVM動けばアーキテクチャ依存なコードを書かない限りは動くでしょ
(ウェブアプリケーションならほとんど引っかからない問題な気がする(過去に1.4で動いてたのを6か7でコンパイルしてワーニング出たくらいで収まった経験ならある))

818 :デフォルトの名無しさん:2015/07/05(日) 06:36:52.54 ID:EoM2Wfz5
Clojureの話はどっかに書いてあったけど、Clojure1.3から1.7までならほとんどの標準ライブラリは動くと思う(deprecatedは仕方ないとして)。そもそもproject.cljにclojureのバージョンまで指定しておけばどこでも同じバージョンになると思うし、JVM動けば動くんじゃないの?
外部ライブラリだって日々更新していく方針を取らなければ、ずっと古いバージョン使えるわけだし。

なんか間違ってる?

819 :デフォルトの名無しさん:2015/07/05(日) 13:20:49.21 ID:18+ya5CF
うん

820 :デフォルトの名無しさん:2015/07/05(日) 23:24:23.30 ID:W3uesJYK
leinがデフォルトで生成するディレクトリ構造だと
src/projectname/core.clj
に全部書いてねって感じだけど
core.cljが巨大になってきたので
my-util.clj
io-util.clj
etc-util.clj
みたいな感じでファイルを分けたいのだけど
src/my-util.clj

src/projectname/my-util.clj
のどっちが推奨なんです?

javaのプログラムもsrc/以下に放り込むのが推奨スタイル?

821 :デフォルトの名無しさん:2015/07/05(日) 23:57:33.00 ID:EDD7h1SP
>>820
このあたりの設定例読んで、
https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L278

みんながどうやってるか眺めて好きなやり方をとればよい
https://github.com/search?l=Clojure&q=clojure&type=Repositories&utf8=%E2%9C%93

822 :電波いっぱい:2015/07/06(月) 20:04:01.75 ID:z0yxLIYt
>>820

僕なら、utilディレクトリを作って目的別のファイルに入れる。
でも、etc とか、my とかは目的名じゃないからもっと考えて命名する。

目的が明確なら、そのディレクトリを作るのもいいと思う。ioとか。

823 :デフォルトの名無しさん:2015/07/07(火) 02:10:30.78 ID:FANO5u+E
sjisで書かれたjavaコードと
utf8で書かれたclojureコードが混在している場合って
project.clj
はどう書けばいいのでしょうか

824 :デフォルトの名無しさん:2015/07/07(火) 02:22:56.44 ID:Q1eHRJ8E
>>823
javaコードはjavacでコンパイルされるからここを参考に設定すればよい
https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L251

825 :デフォルトの名無しさん:2015/07/16(木) 22:09:29.07 ID:pZIQE70v
ClojureでもJavaみたいにnamespaceを
com.example.foo.bar/MyClass
みたいに深いディレクトリを掘ってファイル置かないといけないのです?
簡単に bar しかnsにしてない人が多い印象ですが

826 :デフォルトの名無しさん:2015/07/16(木) 23:32:45.55 ID:UiQdF58b
>>825
好きにすればいい

Javaは慣例で”com.company.product.xxx”とか”jp.co.company.product.xxx”なんてやってるが実は考え過ぎで、せいぜい”product.xxx”で困らなかったのではないかという気もする

827 :デフォルトの名無しさん:2015/07/18(土) 00:50:24.79 ID:XMhN9NpT
java使ってるときは、ドメイン名の部分は一括りで識別してたんで、長さはあんまり気にしてなかった。

828 :デフォルトの名無しさん:2015/07/18(土) 01:14:33.74 ID:XMhN9NpT
clojarsでも、こんな感じ。
[ring "1.4.0"] 親プロジェクト (ring/ring)
[ring/ring-core "1.4.0"] 子プロジェクト
[org.clojure/clojure "1.5.1"] maven centralにあげる場合は、グループ名がドメイン名

maven centralにあげる場合にグループ名にドメイン名を付けるぐらいで、パッケージ名にはつけないみたい?

https://github.com/ato/clojars-web/wiki/Groups
https://github.com/ato/clojars-web/wiki/tutorial
https://github.com/technomancy/leiningen/blob/preview/doc/DEPLOY.md

829 :デフォルトの名無しさん:2015/07/20(月) 12:48:43.17 ID:MJ+wdIOr
Javaとclojureのコードを同じネームスペースに置いてしまうのって大丈夫なんでしょうか

830 :デフォルトの名無しさん:2015/07/20(月) 13:24:27.17 ID:4YwvXMoy
>>829
問題無い、ただ分けた方が見通しは良くなる
Clojureのプロジェクトでjavaソース併用するときに相互依存な物書くのはできないのでやっちゃだめ

831 :デフォルトの名無しさん:2015/07/24(金) 13:32:52.45 ID:W0iRT6Hu
JavaのClassの中で(lex/yaccとかつかって)
自動でClojureに変換できる関数だけClojureに変換して
残りはJavaのまま残しておいて
同じnamespace内に混在

832 :デフォルトの名無しさん:2015/07/25(土) 23:12:36.29 ID:47K/058z
Leinは依存関係にあるcのプログラムもビルドしてくれるようにならないものか
Python のpipはしてくれる

833 :デフォルトの名無しさん:2015/07/27(月) 00:37:08.41 ID:SYhC4jQ3
>>832
JNIでも使ってんの?

834 :デフォルトの名無しさん:2015/07/28(火) 04:16:47.13 ID:JdT7Ezwf
leinの前工程で、ネイティブの依存関係をyum,brewなりで解決させるしかないのでは。
それこそpipやgem
premakeなりmakeなり
leinのプラグインでシェル扱うのもあるけど。
https://github.com/hyPiRion/lein-shell

835 :デフォルトの名無しさん:2015/07/28(火) 04:17:18.39 ID:JdT7Ezwf
途中で送信してしまった

263 KB
新着レスの表示

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


read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)