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/

668 ::2014/12/04(木) 02:06:25.10 ID:EifX8RrY
>>655
>>656
>>667
うわー、多分できた、
いつもはinit.elのところ開いたら一度しめてそれからターミナルでemacsとうってインストールしようとしていた。
でも今回はinit.elを開いたままで、
(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
を貼って、M-x eval-current-bufferとうって
M-x package-install ciderとやったらなんかciderを読み込んでいるみたいになったよ、、

669 :デフォルトの名無しさん:2014/12/04(木) 02:15:37.89 ID:uBagqB+X
>>668
cider入ったらleiningen管理のプロジェクトの中でcljファイル(project.cljでもいい)開いてからC-c M-jでreplが開くよ!

670 ::2014/12/04(木) 19:53:34.22 ID:ujZTdShy
>>669
leiningenというのがどういうものかよくわからないけど、
とりあえず、lein new sampleとやって
emacsで、M-x cider-jack-inってやったらできるようになった
よかった、、
けど、なぜかC-c C-jでははじめられなかった。

671 ::2014/12/04(木) 19:55:04.23 ID:ujZTdShy
あ、C-c M-j、、

672 :電波いっぱい:2014/12/04(木) 21:50:43.67 ID:gxSGbnnh
>>668

>いつもはinit.elのところ開いたら一度しめてそれからターミナルでemacsとうってインストールしようとしていた。
でも今回はinit.elを開いて

これって、init.elの場所が間違ってるんじゃない?
もしくは、保存しないで閉じてるとか?

673 ::2014/12/05(金) 19:26:25.51 ID:x1r9cuUq
>>672

ターミナルでemacs ~/.emacs.d/init.elと
うったらnit.elが開けるとおもっているんですが、、
それで間違っていたら開けていないかもしれない。
保存は、
開いてC-x C-sで保存?してC-x C-cで脱出してます、、

674 ::2014/12/06(土) 23:49:38.91 ID:i3Rn7LUz
>>650
純文学という感じでしょうか、、

675 :デフォルトの名無しさん:2014/12/07(日) 14:22:55.49 ID:Jx6Y4qFX
開発環境が最小の状態に慣れておかないと、マシン替える度にイライラする
そんな私もsurfaceproでメモ帳コマンドプロンプトです

676 ::2014/12/08(月) 18:07:29.67 ID:5xrTpuJG
>>675
本を読むときもそういう習慣は役に立ちそうですね。
closure、自分はネットの情報だけで勉強しようと思っています、、
でも、やっぱり、本買わないとだめなのかな。
他に欲しい本がたくさんあって、お金がない、、

677 :デフォルトの名無しさん:2014/12/08(月) 19:24:27.66 ID:F4bca2XM
よし、体売ってこい


つるはしを振るうんだ
チンポるるうなよ

678 ::2014/12/08(月) 20:56:36.65 ID:5xrTpuJG
>>677
おー、
筋トレをお金に変換、、

679 :デフォルトの名無しさん:2014/12/09(火) 22:55:35.94 ID:aSBE7sLo
開発環境ポータブルに出来れば、usbストレージやクラウドにというのもあり

680 :デフォルトの名無しさん:2014/12/23(火) 11:34:02.48 ID:FV7c0C0V
ライブラリが膨大だからカタログてきな参考書に目を通しておいたほうがいいね。
できるだけ新しい情報で

681 :デフォルトの名無しさん:2015/01/02(金) 08:28:07.96 ID:40BDq3Bs
質問です。
defrecordでレコード型を作ってprotocolでメソッドを追加する事でjavaのクラス相当の物が作れるのはいいんですけど
コンストラクタってどうするものなんですか?
(->xxx 〜) だとすべてのデータを直接指定しないといけないし。
型の内部に持たせるのではなくて、別関数として定義するやり方が一般的なんでしょうか?

682 :デフォルトの名無しさん:2015/01/02(金) 10:34:08.22 ID:YBPhwGd5
(defrecord YourReord [ v1 v2 andmore])
(YourRecord. 1 2 3) => { :v1 1 :v2 2 :andmore 3}
で普通にレコード生成できるっしょ?

683 :デフォルトの名無しさん:2015/01/03(土) 16:53:30.80 ID:nLUbwEH9
>682
何か色々勘違いしてました。ありがと。

ついでにさらに質問で。
下記だと問題なくassocが使用できるけど、
(let [d [0 0 0 0 0]] (assoc d 0 999))
=> [999 0 0 0 0]

下記はエラー。
(let [d (take 5 (repeat 0))] (assoc d 0 999))
=> エラー(lazySeqをキャスト出来ない〜)

エラー内容からrepeatで作成した遅延シーケンスはassocを使えないってことらしいけど
takeで取り出しても遅延シーケンスってこと?
5つ位のシーケンスなら直接記述してもいいけど、もっと大きいサイズで
assocが使えるようなシーケンスを作成する場合はどうしたらいいんでしょうか?

684 :デフォルトの名無しさん:2015/01/03(土) 17:14:44.67 ID:VHcKNT7s
vec使ったら

685 :デフォルトの名無しさん:2015/01/03(土) 22:35:36.09 ID:xxy0Tk3f
>>683
assocは基本mapに使う
vectorへのassocは (assoc vector-data index value)
listへは使えない

なので (take n somting)の結果がlistなのでエラーになる
もしどうしてもtakeした結果に使いたいなら
(let [d (take 5 (repeat 0)] hogehogeでなく
(let [d (vec (take 5 (repeat 0))] (assoc d ...
にしないと駄目

686 :電波いっぱい:2015/01/07(水) 13:25:19.06 ID:RbdNG2kP
>>683
シーケンスにassocを使いたい理由がわからない。
多分、方法が間違ってる。

687 :デフォルトの名無しさん:2015/01/23(金) 15:50:23.04 ID:q8ayYuMd
ringのwrapper経由でurlのparamとかpostのparamをキーワードにしてるけど、これって外から延々違う文字列でquery stringのnameを食わせるとサーバ落ちたりしないのかな?
Clojureのkeywordってstaticな内部辞書に載っちゃうのでgcされないよね?

(doseq [id (range 1000000)]
(keyword (str "hoge" id)))
(System/gc)
ってやるとkeywordで作ったメモリは帰ってこないから延々やれば落とせるんだろうけど(↑ので8MByte位食う)
8M潰すために100万回httpリクエストされる方が非道いと言う事なんだろうか?

688 :デフォルトの名無しさん:2015/01/23(金) 18:56:18.19 ID:utqj4QgC
>>687
(System/gc)でガーベッジコレクタが確実に動作するとは限らないぞ。

689 :デフォルトの名無しさん:2015/01/24(土) 22:52:59.88 ID:xWCxxmVh
Javascriptのソースを難読化するためにClojureScriptで書き直しはじめたんだけど、
ClojureScriptの難読化って直感的には結構なものだと思うんだけど、みんなはどう思う?
:optimizations :advanced で読みづらくなってる上に、Clojureコードをコンパイルしたjavascriptコードだから、コンパイルのルールを分かってないとすごく読みづらくなると思うし

690 :デフォルトの名無しさん:2015/01/24(土) 23:22:54.22 ID:AxJ1ZwJl
難読化なんて意味ない事しない。

691 :デフォルトの名無しさん:2015/01/25(日) 05:49:08.67 ID:IAlWKeKG
>>687
キーワードのテーブルはWeakReference使ってるからGCされるで

692 :デフォルトの名無しさん:2015/01/25(日) 05:58:35.91 ID:ITyso3aB
>>689
なんだ、こいつ
精神病?

693 :デフォルトの名無しさん:2015/01/25(日) 08:03:17.05 ID:HK7FfI78
ChromeAppとかスマホアプリで、プロダクトを作ろうとすると必要になるでしょ? -> 難読化

694 :デフォルトの名無しさん:2015/01/25(日) 08:09:10.77 ID:SZuCIDm7
>>693
いや別に必要無いけど。

695 :デフォルトの名無しさん:2015/01/25(日) 19:15:33.32 ID:/ILbZFHt
>>690
ソースコードを納品するときには難読化してる

696 :デフォルトの名無しさん:2015/01/25(日) 21:02:22.01 ID:psVbrQV/
>>695
本当にそんなところあるのか…誰も得しないような気がする

697 :デフォルトの名無しさん:2015/01/25(日) 21:07:43.25 ID:TpVzkFBJ
難読化なんて大した効果はない
ていうかクズプログラムなんてわざわざ解読されないよ
価値あると思われればたかが難読化なんてプププだし

ま、それでも依頼もあって、うん十年前はn88-BASICソースを難読化したけどな
わははははは
馬鹿には読めないソースにするには
継続を使った末尾再帰で書くのがいいな
あはははははは

698 :デフォルトの名無しさん:2015/01/25(日) 21:13:05.43 ID:/ILbZFHt
2000年問題のときに、コードの難読こそが給料の素だと経験により理解した

699 :デフォルトの名無しさん:2015/01/25(日) 22:11:14.99 ID:SZuCIDm7
仕事なら複数人でするから難読化などあり得ない。
ソースで納品してメンテナンスを他に回されても
どうせ(ゴミのようなソースになって)戻ってくるので
難読化しない。
勿論引き継ぎはメンテナンス契約じゃなくて新規契約でw。

趣味でプログラムするならメンテナンスを自分でするから
難読化などあり得ない。
どちらにしろ難読化する必要がない。

700 :デフォルトの名無しさん:2015/01/25(日) 22:28:44.24 ID:/ILbZFHt
ソースの難読化はあくまでも納品時です
専用のスパゲッティ化スクリプトもきちんと用意してます
移行までやったら、どうせソースなんて見やしないので、問題が起きるまでそのままです
酷いときは、納品したコードすら紛失してます

一方、趣味や社内のコードは極限まで読みやすくします

難読化する目的はたった一つ
「コードをいじらせない」です

701 :デフォルトの名無しさん:2015/01/25(日) 22:31:38.75 ID:khShqkpM
難読化が必要なのってAndroidのアプリコード位じゃないのけ?(カジュアルパクリ防止とアプリサイズ縮小にしかならんけど)
Web用のJSで難読化必要ってのはカジュアルコピーして欲しくないってだけならcljsでadvancedな最適化かければ十分じゃないの?(まるパクはどうしようもないのは難読化と関係ない)

702 :デフォルトの名無しさん:2015/01/25(日) 22:34:32.24 ID:khShqkpM
>>700
良く其れで金もらえるよね、難読化されたソースなんて納品したら普通はRejectされるよ?
SQLインジェクションで開発会社が3割賠償責任おわされた判例でてるし、難読化して事故ったら全責任おわされても文句言えないんじゃないかな?

703 :デフォルトの名無しさん:2015/01/25(日) 22:42:27.78 ID:/ILbZFHt
>>701-702
Cとlisp系の良いところは正しく難読化できる点だから、難読化と正しさは関係ない
そもそもSQL文やHTMLが壊れる理由は、「納品先が勝手にコードをいじるから」だし

我々のところはソースをソースのままスパゲッティにしてるからまだいい方で、酷いところ(大手)になると、ソースコードにアセンブリ埋め込む形式の難読化してる

704 :デフォルトの名無しさん:2015/01/26(月) 00:15:49.00 ID:X+/5coMG
SQLインジェクションってSQL壊れるのとはなんの関係もないような・・・。
ソースにアセンブリ埋め込むのって高速化のためには普通にするような気がするけど、
難読化のためにすることもあるものなの?

705 :デフォルトの名無しさん:2015/01/26(月) 00:33:55.66 ID:Ly3CAIWB
だから勝手に文字列をエスケープする関数を外すなとあれほど…

706 :デフォルトの名無しさん:2015/01/26(月) 08:10:37.27 ID:Ts/Sr/RD
>ソースコードにアセンブリ埋め込む形式の難読化してる

ここ嗤うところですよね

707 :デフォルトの名無しさん:2015/01/26(月) 21:26:27.49 ID:RXvh4ou7
clojureは知らんけど、
CLだとマクロを全部展開しちゃえば読む気も起きなくなるという意味で難読化みたいなの昔読んだな

708 :デフォルトの名無しさん:2015/01/26(月) 21:28:42.11 ID:Ly3CAIWB
改行全部削除するだけでも効果的

709 :デフォルトの名無しさん:2015/01/26(月) 21:44:49.32 ID:scuLqwMl
いまiOSとAndroid(とchromeアプリ)でアプリ作ってて、
極力楽しようとしてWebView主体で作り始めたからJavascript難読化しないといけなくなったのです。(WebViewで作るのは結局良くないといまは思いますが・・・)
iOSやAndroidだとJavascriptファイルは丸見えになるので、部分的にでも丸パクリされたら嫌だなと思って。
まあ、ClojureScript初めてやってみて、最初はDOM操作とか苦労したけど、core.async を使って非同期処理を同期処理のようなコードで書くやりかたはすごく面白かった。Javascriptのコールバック地獄にはうんざりしてたから

710 :デフォルトの名無しさん:2015/01/26(月) 21:48:26.22 ID:Ly3CAIWB
>>709
Javaとかclojureなら、オブジェクトをシリアライズすればいいかと

711 :デフォルトの名無しさん:2015/01/26(月) 22:57:49.23 ID:scuLqwMl
>>710
Androidでシリアライズしたオブジェクトでアプリを動かすのって面白いアイディアですね。思いもよらなかった。できるんだろうか・・・
とはいえ、Webviewで動かすjavascriptはファイルに書いとかなきゃいけなくて、このファイルはアプリのアーカイブを展開すると丸見えなんですよ

712 :デフォルトの名無しさん:2015/01/26(月) 22:59:06.41 ID:scuLqwMl
でもシリアライズしたオブジェクトを使うためのクラスファイルが必要になるから、どちらにせよソースは必要ですね

713 :デフォルトの名無しさん:2015/01/26(月) 23:03:24.81 ID:Ly3CAIWB
>>711-712
むしろ、シリアライズオブジェクトを展開するソースはきちんと公開してオープンで開発した方がよいかと

714 :デフォルトの名無しさん:2015/01/26(月) 23:09:19.30 ID:scuLqwMl
デシリアライズしたオブジェクトを使うためにはそのオブジェクトのクラスって必要なかったでしたっけ?

715 :デフォルトの名無しさん:2015/01/26(月) 23:15:53.57 ID:Ly3CAIWB
クラスの有無よりもクラスの同一性の方がやっかいだった記憶がある

716 :デフォルトの名無しさん:2015/01/29(木) 00:26:07.52 ID:mTH1pwOm
デスクトップアプリとかをバイナリ納品してたようなところは、スクリプト言語でもobfucationするとこはあるみたいだね。
ソース納品の場合は別料金で、さらに著作権譲渡せず、利用権貸与という契約もある。

phpでもある。元は海外製なので海外でも需要あるのかな?
http://www.asial.co.jp/ioncube/encoder/gui_manual/settings_obfuscation.php

javaの場合もclassファイルやjarで納品は聞くので、逆にscalaやclojureで納品出来る場合もあるらしい。

ただ、普通のjsやtsでも、cljsみたいにminifyやobfucation掛ければいいので、それが理由でcljs使う必要はない気がするが。

717 :デフォルトの名無しさん:2015/02/17(火) 10:08:49.06 ID:HzudLjaJ
Boot使ってる人いる?

718 :デフォルトの名無しさん:2015/02/17(火) 17:36:31.38 ID:TUaKLPcf
Clojure Gazzetの記事で見たけどいまいち何が変わるのかがわかんないので困ってる
Clojureで作り込みしたプロダクトにswankサーバ同封してるせいで利点が見えないっていうか

719 :デフォルトの名無しさん:2015/02/17(火) 17:37:41.92 ID:TUaKLPcf
>>718>>717のBootの件ね

720 :デフォルトの名無しさん:2015/02/22(日) 04:10:34.36 ID:RMVSmAx/
bootは、フロントエンドのツールチェインが多いjsみたいな、cljs環境を意識して作ったとなんかで見た。

721 :デフォルトの名無しさん:2015/02/22(日) 04:23:57.95 ID:RMVSmAx/
leinは二回呼び出すから重いという話はあるね。
bootもそこは同じかな。
https://github.com/boot-clj/boot/blob/master/README.md

単純にclojure二回呼び出さないという点なら、昔はruby gemだったcakeとかあった。
先に立ち上げておいて、ストックしておく方法もあるけど。

722 :デフォルトの名無しさん:2015/04/17(金) 00:00:53.05 ID:8Ijoxuo8
http://sourceforge.jp/magazine/15/04/16/144600
CLojureCLRでネイティブプログラム生成できそうだな

723 :デフォルトの名無しさん:2015/04/17(金) 16:36:56.82 ID:ZCMgfOu6
いままでも、sgenまたはmono --aot, mono --llvm --aotは出来たけど、RyuJITと共通というのが特色らしい。

724 :デフォルトの名無しさん:2015/04/17(金) 16:41:49.13 ID:bZyz08BX
Windowsも*nixもMacもiOSもAndroidもClojureで行けるとオモタけどちがうっぽい?

725 :デフォルトの名無しさん:2015/04/17(金) 16:58:44.86 ID:ZCMgfOu6
AOT使うとiPythonでもGUIの起動は速くなる。
ClojureCLRならrepl起動も早くなるが、ループなどの最高速はJITより最適化し難い。

726 :デフォルトの名無しさん:2015/04/17(金) 17:03:02.34 ID:ZCMgfOu6
>>724
desktopとandroidはjavaのJVM
IOSはjava2objcがあるので、Clojureでいける。

ClojureCLRは、いまのところUnity3D(のデスクトップ環境)でつかったり、WinでWPF使ったりとかぐらいかな。

727 :デフォルトの名無しさん:2015/05/07(木) 12:51:41.83 ID:gx7/6L+t
http://www.infoq.com/jp/news/2015/05/microsoft-llilc-llvm-compiler
ClojureのLLVMの実装がもうじき実現するな

728 :デフォルトの名無しさん:2015/05/09(土) 21:12:09.66 ID:6h8WVvO7
mono llvmだと、実装がない場合はmono vmにフォールバックしてたけど、どんな感じなんだろう。
mono llvmの場合は、startupに時間かかるけど、数値計算などが速くなったはず。
http://www.mono-project.com/docs/advanced/runtime/docs/llvm-backend/

729 :デフォルトの名無しさん:2015/06/05(金) 20:18:54.60 ID:uj8dQgdW
uberjar→VPSにscp→nginx設定→java -jar
こんなに簡単に出来ていいのか

730 :デフォルトの名無しさん:2015/06/05(金) 20:32:25.24 ID:dl+rXweg
>>729
大規模にamazonつかってるとpalletとか使うともっと幸せに

731 :デフォルトの名無しさん:2015/06/07(日) 18:15:11.55 ID:VJLGoFo1
Clojure 初心者なんですが、勉強するためのリソースを知りたいです。
あと日本人でツイッターフォローしておいた方がいい人とかいますか?

732 :デフォルトの名無しさん:2015/06/07(日) 18:46:50.39 ID:jqCf9UHL
>>731
日本語だったら
https://www.google.co.jp/search?client=safari&rls=en&q=gpsoft+clojure+kindle
で出てくるgpsoftのclojure kindle書籍三冊とか
あとは英語ならClojure GazzetとかのML

733 :デフォルトの名無しさん:2015/06/07(日) 18:52:12.75 ID:rVbuZbAc
日本語ならプログラミングClojure(孔雀)とQiitaくらい?

734 :デフォルトの名無しさん:2015/06/07(日) 20:05:28.96 ID:VJLGoFo1
>>732
紙の書籍はダメなんですね。
ちょっと読んでみます、ありがとうございます!

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/

263 KB
新着レスの表示

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


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