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/

521 :デフォルトの名無しさん:2014/08/30(土) 00:19:47.90 ID:g4GRl5RV
leiningenすらも使いずらい

522 :デフォルトの名無しさん:2014/08/30(土) 00:49:42.05 ID:NlcNxbCo
息をするのもめんどくさい

523 :デフォルトの名無しさん:2014/08/30(土) 00:56:21.25 ID:g4GRl5RV
起動
java -cp %CLOJURE_HOME%\clojure-1.5.1.jar clojure.main

終了
(System/exit 0)

はじめて見たときは冗談かと思った

524 :デフォルトの名無しさん:2014/08/30(土) 01:24:57.73 ID:2I7W1a/t
>>494
あんまり詳しくないが、
そいつらリーダーマクロっていって、S式を評価する前(リードした時)に評価される文字という認識
https://gist.github.com/ponkore/4195740

525 :デフォルトの名無しさん:2014/08/30(土) 01:27:31.04 ID:2I7W1a/t
windowsのleiningenインストーラー
http://leiningen-win-installer.djpowell.net

526 :デフォルトの名無しさん:2014/08/30(土) 07:43:43.79 ID:TXjyMgKn
>>520
Linuxで良いじゃん

527 :デフォルトの名無しさん:2014/08/30(土) 08:43:13.34 ID:8H1iBGWr
>>520
うちのWin8.1+Leiningen2.0.0だと何処でもlein replできた
違いは何処にあるんだろう?

ちなみに
cd c:\
だと書き込み権限が無いってエラーでreplできない

528 :デフォルトの名無しさん:2014/08/30(土) 08:51:34.88 ID:8H1iBGWr
追記
Win8.1環境で
lein upgrade
したら
lein versionは
2.1.2になって
lein replは普通に通った
その後でさらに
lein upgrade
したら
lein versionが
2.4.3になって
lein replの結果>>502と同様にlein newしたディレクトリ以外では同じエラーが出た
今のleiningenはproject.cljの無い所だとエラーになるかもしらん。
leiningenの使い勝手変えたいならlein.batのVERSION設定で選択するとよいかもしらん

529 :デフォルトの名無しさん:2014/08/30(土) 19:13:43.58 ID:NlcNxbCo
数値(金額)をカンマ入れ表記に変換するコードが必要になって、書いてみたらすごくながったらしくて、もっといい書き方ないかな?って聞こうかと思ったら、Javaで書けばいいんだって思い出した…

(apply str (reverse (apply str (map #(apply str %) (interpose "," (partition 3 3 nil (reverse (str 1234567))))))))

(-> (NumberFormat/getNumberInstance Locale/JAPAN) (.format 1234567))

530 :デフォルトの名無しさん:2014/09/01(月) 11:26:36.25 ID:TlhTHmWT
Ubuntu14.04でopen-jdk-7入れてlein2.4.3でlein replしたらエラー吐いた
github見て2.4.2にdgしたら直ったけど

531 :デフォルトの名無しさん:2014/09/01(月) 11:37:06.61 ID:TlhTHmWT
2.4.4にしないのは原因が不明かつ開発リソースが足りてないかららしい
leinプロジェクト外でlein replしたら出るエラーだから>>502>>508と同じ症状かも

532 :デフォルトの名無しさん:2014/09/01(月) 12:02:34.46 ID:z1FNQfnD
>>530
win,mac,linux,bsdどのプラットフォームでもproject.clj無いとエラー吐くね>>2.4.3
つーわけで2.4.2に戻してみた

533 :デフォルトの名無しさん:2014/09/02(火) 15:10:40.76 ID:O+cfco8y
来たぜ来たぜ来たぜー
新規案件、モバイルデバイス向けソフト兼サーバ必須、そして言語縛り無し!
ラピッド開発で各週統合
しかも開発に割り当てられた人的資源は自分入れて二人のみ、しかも両者ともにClojarianとくれば、もうClojure使うしか

534 :デフォルトの名無しさん:2014/09/02(火) 15:31:36.68 ID:kfD3d1pR
入門ClojureScriptの和訳がイマイチ
プログラミングClojureの後に読んだからかもしれないけど

535 :デフォルトの名無しさん:2014/09/02(火) 15:58:16.49 ID:QR3Wyv0t
>>533
個人でやってるの?
それとも小さい会社?

536 :デフォルトの名無しさん:2014/09/02(火) 18:42:46.09 ID:/dSRrT7Z
>>533
悪いことは言わない
clojureはプロトタイプまでにとどめておけ
どうしてもというなら、せめてlispでやるべき

長時間多アクセスのclojureサーバは、再帰の最適化がヘボいからコケるぞ

537 :デフォルトの名無しさん:2014/09/02(火) 20:13:34.08 ID:IqVW5NOO
Clojureは再帰使わないでコード書くものじゃないの?

538 :デフォルトの名無しさん:2014/09/02(火) 21:13:35.89 ID:l/NwgCei
単なるwebサーバーならそんなに再帰つかわないだろ?
再帰使うんなら書籍のプログラミングClojureのフィボナッチ数列のところ読めば十分じゃね?

539 :デフォルトの名無しさん:2014/09/02(火) 21:18:03.06 ID:dVCJIvZO
俺のコードがヘボいからコケるぞ!

540 :デフォルトの名無しさん:2014/09/02(火) 21:30:17.75 ID:sMeqRneA
clojure でいくつかサーバサイド書いたけど、再起など一度も使わなかった。そのチャンスさえなかった。
意識せずに遅延seqになって困った事ならあったが。
あと、JVM 起動遅くて辛かった。

541 :デフォルトの名無しさん:2014/09/02(火) 21:33:42.88 ID:/dSRrT7Z
1万行のコードの中から再帰を削除しなくてもコケない選択肢と、削除しないとコケる選択肢

(この世で最も信頼できない3ヶ月以上時間を隔てた) 俺のコードがヘボくてもコケない選択肢と、ヘボいとコケる選択肢

なぜあえて金のかかる場面で冒険をしたがるのか…

542 :デフォルトの名無しさん:2014/09/02(火) 21:37:20.54 ID:uBvsTbOp
コケるって結局何がコケたの?
最適化がヘボイからコケるってケースがよくわかんない

543 :デフォルトの名無しさん:2014/09/02(火) 22:03:43.74 ID:l/NwgCei
ネストが深い再帰をしたい場合はプログラミングClojureのフィボナッチ数列のところよく読んだ方がいいが、浅い再帰ならそんなに気にしなくていいと思うが...
まあ、何も分かってないプログラマがrecur使ってたらゾッとするがね。

544 :デフォルトの名無しさん:2014/09/02(火) 22:12:58.16 ID:/dSRrT7Z
>>542
WEBサーバでclojureで作ったサーブレット追加してサーバが落ちた経験一覧
・普通に気付かずにヘボ再帰を書いてる -> 表現が素直だから目の前にあっても気付かない
・ページの文字列連結で落ちた -> 差分リストに変更
・よく見たらletfnで再帰になってた -> 見つけるのに4日かかった
・デバッグ情報追加したら落ちた -> デバッグ情報の持ち回りに超頭使う
・clojureがバージョンアップして落ちた -> 原因不明、関数名の扱いの変更が怪しい
・その他、コードの入れ替えに落とす必要あり

545 :デフォルトの名無しさん:2014/09/02(火) 22:19:51.63 ID:uBvsTbOp
それ再帰の最適化関係ある?
バージョンアップ以外は実装してる人間の能力が問題のように見えるんだけど

546 :デフォルトの名無しさん:2014/09/02(火) 22:35:51.34 ID:/dSRrT7Z
>>545
SICP和田本から計算機言語の世界に来た人にとってはもの凄く関係あると思われる

547 :デフォルトの名無しさん:2014/09/02(火) 22:51:52.26 ID:IqVW5NOO
>・デバッグ情報追加したら落ちた -> デバッグ情報の持ち回りに超頭使う
>・clojureがバージョンアップして落ちた -> 原因不明、関数名の扱いの変更が怪しい
再帰関係無いじゃん

>・その他、コードの入れ替えに落とす必要あり
Webサーバ立ち上げたままREPLでコード修正して問題なかったと思うが
warにしてTomcatなりに組み込むのは完成してからでいいよね

548 :デフォルトの名無しさん:2014/09/02(火) 22:53:15.77 ID:uBvsTbOp
SICPは俺も好きだし結構読み込んだけど、どこが関係あるのかわかんないな
末尾最適化してくれないとかそういうの?
それこそループで書けよって思っちゃうんだけど(まあ末尾最適化を仕様で必須にしてくれればそれはうれしいけどね)
Scheme脳なら再帰にこだわるのはわかるけど、CLとかClojureとかは再帰使うよりループ使うほうが自然じゃない?

549 :デフォルトの名無しさん:2014/09/02(火) 22:54:22.16 ID:O+cfco8y
>>544
それバージョンアップ以外は544が悪くね?
>・デバッグ情報追加したら落ちた -> デバッグ情報の持ち回りに超頭使う
これなんか特に
ユニットテストとか負荷試験とかするよね?

550 :デフォルトの名無しさん:2014/09/02(火) 22:58:10.29 ID:O+cfco8y
>>548
Clojureだと再帰よりも無限リストへ関数適用で結果得方法使う事多いかなあ
loopやrecurは↑に慣れてなかった頃は良くつかったけど、今だとあんまり使わない。

551 :デフォルトの名無しさん:2014/09/02(火) 23:04:18.75 ID:IqVW5NOO
そもそも再帰の最適化は全くしないから遅延シーケンスやrecurを使ってねっていう言語なのに

552 :デフォルトの名無しさん:2014/09/02(火) 23:28:49.29 ID:/dSRrT7Z
>>547
今調べたら関数名の束縛方法が変わってて再帰状態のトレースができなくなってた

553 :デフォルトの名無しさん:2014/09/02(火) 23:32:18.63 ID:/dSRrT7Z
>>549
負荷試験するたびに、「lispならサクサク行くのにィィィィィ」とうなることうけあい

554 :デフォルトの名無しさん:2014/09/02(火) 23:32:47.97 ID:jxF8XaRa
シーケンス関数の組み合わせでばっかり書くけどな

555 :デフォルトの名無しさん:2014/09/02(火) 23:50:21.81 ID:/9mshiOI
なんとなく、jdkまわりの話。

openjdkよりoracle jdk/jreの方がいいかも。
oracle jdkはちょっと前にデグレしてたみたいなので、最新版使う。
jdk8はメモリまわりの改善あり、ただし互換性に関しては慎重に。
ibm j9は、メモリ利用効率がいいがメモリでエラー出さず落ちることがある。あとは、あまり使ってる人がいないのでclojure関連でバグあるかも。
オプションの関係もあり、leinから商用環境サーバー起動しない方がいい。

556 :デフォルトの名無しさん:2014/09/03(水) 00:27:50.58 ID:PvOs3K6+
永続的なサービスに向かない作りであれば、webサービスだと定期的にインスタンス再起動して入れ替えする運用が多いね。
たとえば、apacheはプロセス再起動を組み込みでやってる。
railsのunicornもそんな仕組みがある。
jvmの場合は、特にウオームアップ後の入れ替えが良いと思う。

557 :デフォルトの名無しさん:2014/09/03(水) 05:04:16.50 ID:3zk9T5qQ
>>543
フィボナッチはスゴいな
もう、にっちもさっちもいかなくなるわ
こらぁ、うごいてんのかぁ!

もっと腰ふらんかい!

558 :デフォルトの名無しさん:2014/09/03(水) 11:05:15.04 ID:grGI9d1X
CLバリバリ書いてた人が、プログラミングclojureみたいなclojureの作法が書いてある資料読まずに始めると、確かにハマりそうだね。

559 :デフォルトの名無しさん:2014/09/03(水) 11:19:05.25 ID:00AxUh/f
>>553
CL使うとfranz使いたくなるし、使うと現場でライセンス料がががががになる

560 :デフォルトの名無しさん:2014/09/03(水) 23:18:38.44 ID:mfAODgKx
100歩ゆずってサーブレットみたいな部品をclojureで作るとしても、商用でサーバコンテナみたいな本体をclojureで作るなんてことはないよね?

561 :デフォルトの名無しさん:2014/09/03(水) 23:22:39.08 ID:00AxUh/f
>>560
どのようにしてそのように考えたのかをまず述べてくれないだろうか?

562 :デフォルトの名無しさん:2014/09/04(木) 06:20:48.19 ID:ZW5BEuQC
商用でclojure使ってるとこ普通にあるでしょ
まあ少ないだろうけど

563 :デフォルトの名無しさん:2014/09/04(木) 16:53:57.73 ID:IshzZhlV
egisonの非線形パターンマッチができるライブラリない?

564 :デフォルトの名無しさん:2014/09/04(木) 18:59:44.24 ID:jk5K1tbR
作者が移植してるのは、rubyとhaskellだね。
clojureに移植って、どこから持ってくるのが楽なんだろうね。

565 :デフォルトの名無しさん:2014/09/04(木) 23:11:30.07 ID:KIcCGqHh
>>559
懐かしいね、franz。AllegroStore とか AllegroServe ってどうなったんだろう…

566 :デフォルトの名無しさん:2014/09/05(金) 11:16:58.89 ID:xDuN/XcD
httpサーバもあるぞ。

HTTP client/server for Clojure
http://http-kit.org/
Ring
https://github.com/ring-clojure/ring/blob/master/README.md
アクセス多い場合、ringをセルフホスティングしてることは、少ないと思うけど。

Clojure web server shoot-out
https://github.com/ptaoussanis/clojure-web-server-benchmarks/blob/master/README.md

567 :デフォルトの名無しさん:2014/09/05(金) 12:16:04.00 ID:u9vJFh8i
http-kitのコードは結構Javaで書いてあったりするしこういう逃げ道があるだけでも全然実用的では

568 :デフォルトの名無しさん:2014/09/06(土) 03:48:48.69 ID:wK8BCI9U
immutant2 alphaになったとこなんだな。
http://immutant.org/news/2014/08/27/announcing-2-alpha1/
去年ぐらいなら開発してたからもうリリース直前ぐらいかとおもってた。

569 :デフォルトの名無しさん:2014/09/06(土) 14:21:20.62 ID:wK8BCI9U
最近、clojure/clojurescriptではなく、haskell/elmみたいに、ホスト言語に合わせて再実装したというコンバータが出て来たらしい。
ライブラリ使い回すことが出来ないけど、こっちの方がシンプルで構文もシンプルで書きやすいんだよな。
js https://github.com/Gozala/wisp
llvm https://github.com/artagnon/rhine

570 :デフォルトの名無しさん:2014/09/08(月) 01:59:23.82 ID:CIBCo0oi
core.asyncとchannelがイマイチしっくりこない
分かりやすいチュートリアルとかあったら教えてください

571 :デフォルトの名無しさん:2014/09/08(月) 22:59:20.37 ID:AyVNnGAs
なぜアクターモデルをデフォルトにしなかったのか…

572 :デフォルトの名無しさん:2014/09/09(火) 12:15:28.91 ID:JCwcwuFZ
>>571
schemeとは別の考え方で作られてるからってのはリッチがどこかで書いてたけど。

573 :デフォルトの名無しさん:2014/09/10(水) 19:13:51.07 ID:U1JgMN8O
参考にした、goのchannelの解説
http://jxck.hatenablog.com/entry/20130414/1365960707
core.asyncの解説
http://qiita.com/mizchi/items/55386689d19a67baa62d

ただ、オフィシャルが一番詳しいような気が。ここからたどってるかな?
https://github.com/clojure/core.async/blob/master/README.md
http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html

574 :デフォルトの名無しさん:2014/09/11(木) 21:43:46.32 ID:DgIouG2i
lispの資産を移行しながら勉強しようと思ったら、ドット対がなくていきなり挫折しかけてる状態
パターンマッチングプログラム作るときに不便すぎる

575 :デフォルトの名無しさん:2014/09/12(金) 05:12:50.76 ID:Ypjnf85z
え?ドット対がないの?
あらら
じゃあ(cdr l)を(cadr l)に書き換えなきゃね

576 :デフォルトの名無しさん:2014/09/12(金) 09:05:08.51 ID:WTGM0q3b
clojureつかjavax.swingを完全なemacsバインドにするのって凄いめんどくさいのね。

577 :デフォルトの名無しさん:2014/09/12(金) 22:04:25.78 ID:XcTB9vyQ
cdr もないじゃないか

578 :デフォルトの名無しさん:2014/09/12(金) 22:17:52.66 ID:F2dOTuLl
car,cdrって悪しき慣習だったからばっさり切ってくれてよかった。

579 :デフォルトの名無しさん:2014/09/12(金) 23:14:06.10 ID:XcTB9vyQ
cons で非リストを対にしたいんですが、どうしたらよいでしょうか

cons 1 '(2) はできる
cons 1 2 はできない

580 :デフォルトの名無しさん:2014/09/13(土) 00:18:36.47 ID:dIuOMN4p
consが返すのはリストじゃなくてシーケンス
まずはリストとシーケンスの違いを勉強しておいで

581 :デフォルトの名無しさん:2014/09/13(土) 00:24:34.54 ID:0gDmFCxq
リストやシーケンスじゃなくて、対が欲しいのですが、どうすればよいでしょうか

代用するのはよいですが、できるだけ一般的に行われている方法を知りたいです

582 :デフォルトの名無しさん:2014/09/13(土) 00:48:12.18 ID:Z1UHFJSo
一般的も何もclojureに対がないような

583 :デフォルトの名無しさん:2014/09/13(土) 00:50:08.35 ID:pQ1fvgTL
>>581
(defn pair [ f s ] [ f s])
(let [p (pair 1 2)]
(println (first p))
(println (second p)))
じゃ駄目なの?

584 :デフォルトの名無しさん:2014/09/13(土) 01:06:48.06 ID:0gDmFCxq
>>583
(pair 1 2) が()やnilから構成されるリストやベクタではなく、 (pair 1 ()) が '(1) と同値になるような pair が欲しいです
lisp の . や、 prologの | みたいな演算子です

ゆにふぃケーションのプログラムを作っていて、
(1 2 3 4) を (pair x y) にマッチさせたときに、(y . ()) と (2 . (3 . (4 . ())) ではなく、 y と (2 . (3 . (4 . ())) 全部をマッチさせたいのですが、
()から構成したときだけリストと同値になる対やタプルがないとかなり面倒なことになりそうです

585 :デフォルトの名無しさん:2014/09/13(土) 02:27:41.87 ID:dIuOMN4p
>>584
シーケンスでそういう構造つくればいいだろ
ドット対がどんな構造してるか理解してれば簡単だろ?

586 :デフォルトの名無しさん:2014/09/13(土) 04:08:37.23 ID:P+Ln4dUo
最終的に作りたいのがprologのコンビネータだとすると、新しいconsシークエンスは作れてもそれをリストのように使えるようにするのはむつかしい

lispをそのまま移行するわけにはいかぬ

587 :デフォルトの名無しさん:2014/09/13(土) 04:20:45.69 ID:dIuOMN4p
consモドキ構造とリストを相互変換できるようにしとけばいいだろ

588 :デフォルトの名無しさん:2014/09/13(土) 09:11:59.83 ID:0gDmFCxq
すみません

(defn a [n]
(if(<= n 0) 0 (b (- n 1))))

(defn b [n]
(if (<= n 0) 0 (+ (a n) 1)))

これ↑を test.clj に書いて (load "./test") や (load-file "./test.clj") を実行すると エラーになります
b の位置を入れ替えて保存したあとにもう一回ロードするとエラーは消えます
2回目以降は、replを再起動するまではエラーはでません

replを起動するたびにこれをやると面倒なのですが、みなさんはどうしてるのでしょうか

589 :デフォルトの名無しさん:2014/09/13(土) 09:20:01.97 ID:qNZ9pwOr
>>588
http://clojuredocs.org/clojure_core/clojure.core/declare

590 :デフォルトの名無しさん:2014/09/13(土) 14:40:50.48 ID:dIuOMN4p
>>588
プログラミングClojureを読んだほうがいいぞ
Lispやってた人がそのまま突き進むといろいろ嵌る

591 :デフォルトの名無しさん:2014/09/13(土) 15:34:43.87 ID:PBJgHhTk
翻訳してるのGaucheの人だしCLとかSchemeから移ってくる人には向いてるかも

592 :デフォルトの名無しさん:2014/09/13(土) 17:10:16.96 ID:0gDmFCxq
やっぱり見づらいです

(def db7
(list
(list (mlist "append" NIL "Ys" "Ys"))
(list (mlist "append" (mcons "X" "Xs") "Ys" (mcons "X" "Zs"))
(mlist "append" "Xs" "Ys" "Zs"))))
(def q7 (list (mlist "append" "X" "Y" (range 1 7))))

user=> (prolog-test q7 db7)
((append.(X.(Y.((1.(2.(3.(4.(5.(6.mNIL)))))).mNIL)))))
#{X Y}
ans: ({X mNIL} {Y (1.(2.(3.(4.(5.(6.mNIL))))))})
ans: ({X (1.mNIL)} {Y (2.(3.(4.(5.(6.mNIL)))))})
ans: ({X (1.(2.mNIL))} {Y (3.(4.(5.(6.mNIL))))})
ans: ({X (1.(2.(3.mNIL)))} {Y (4.(5.(6.mNIL)))})
ans: ({X (1.(2.(3.(4.mNIL))))} {Y (5.(6.mNIL))})
ans: ({X (1.(2.(3.(4.(5.mNIL)))))} {Y (6.mNIL)})
ans: ({X (1.(2.(3.(4.(5.(6.mNIL))))))} {Y mNIL})
"end"

593 :デフォルトの名無しさん:2014/09/14(日) 01:38:30.64 ID:j2m0rNSv
leiningen 使ってて、本番用のjar作りたいときに、設定ファイルとかを本番用に置き換えたりするには、それようのシェルを書かないとダメかな?
それかant使うとか。
基本、leiningenってビルドスクリプト書くようにはできていないよね?

594 :デフォルトの名無しさん:2014/09/14(日) 04:14:34.70 ID:7RRZzfTf
leinコマンドで、profiles切り替えることは出来るので、runやuberjarのときに切り替えも出来る。
https://github.com/technomancy/leiningen/blob/master/doc/PROFILES.md
https://github.com/technomancy/leiningen/blob/master/sample.project.clj

lein以外だと、普通に環境変数やアプリ側の起動オプションとワーキングディレクトリなどの設定ファイルと組み合わせて切り替える。

595 :デフォルトの名無しさん:2014/09/15(月) 11:16:52.24 ID:X07CHSCX
Clojure版SICP成功しますように

596 :デフォルトの名無しさん:2014/09/15(月) 12:37:29.90 ID:js3EBI3k
>>595
Richは否定的じゃなかった?
SICPはプログラミングの概念を学ぶものだからSchemeみたいなプリミティブな言語使うのが適してるとか言っていたような?

リンク探したけど見つからなかったのでうろ覚えなんだけど

597 :デフォルトの名無しさん:2014/09/15(月) 13:47:32.68 ID:SJHXukYy
Clojureの学習でSICPは使えるかと問われ、Rich曰く、
http://d.hatena.ne.jp/katzchang/20120211/p1

598 :デフォルトの名無しさん:2014/09/15(月) 16:27:18.84 ID:3RJRJIrt
僕は、SICPはプログラミング言語の本じゃなくて、あれはプログラミングの本なんだと思ってる。
本の中でSchemeを使っているのは、アトミックなプログラミング言語だからなんだ。
ラムダ計算、末尾再帰、継続を使った抽象制御、抽象構文(マクロ)、可変状態など。軽量で、かつ十分だ。

599 :デフォルトの名無しさん:2014/09/15(月) 18:40:34.22 ID:upNhnkM6
>>595
ドット対がないんだけど、どうすんだろうか

600 :デフォルトの名無しさん:2014/09/15(月) 19:24:23.43 ID:6zICEfBP
キャー!
ないの?
キャ!

601 :デフォルトの名無しさん:2014/09/16(火) 17:12:21.85 ID:V1Xx4jW9
doted pairsがないとかcar,cdrがないとかClojureってcellsが基本じゃないの?

エヘヘ
セルがいなけりゃ天津飯でも最強になれるぜ

リストぉーふぁーっく

602 :デフォルトの名無しさん:2014/09/16(火) 23:53:55.83 ID:9F6k5Qvl
http://gpsoft.dip.jp/hiki/?Common+Lisp%2C+Scheme%2C+Gauche%2C+Clojure%A4%F2%CA%D9%B6%AF%A4%B9%A4%EB%C1%B0%A4%CB
> ちなみにClojureは、セルやドット対という概念を捨てています。
> Clojureにもcons関数はありますが、第2引数にアトムを指定することはできません。

603 :デフォルトの名無しさん:2014/09/17(水) 00:10:06.01 ID:9D0rV1mM
基本データ型として用意されてないので、自分でデータ構造を定義して使う。

604 :デフォルトの名無しさん:2014/09/17(水) 04:30:42.06 ID:vt1vk8t3
女ができて
Lispに興味があると言うから
winタブに入っていたrepl.scmをみせた。
式の評価関数は
(eval-sexp sexp table)
すると
「変態!」
と言われて立ち去られてしまった
な、なんでたぁ!!

605 :デフォルトの名無しさん:2014/09/17(水) 10:18:41.39 ID:aYkhXuVZ
そりゃあれだwindows使ってたからだろ

606 :デフォルトの名無しさん:2014/09/17(水) 20:39:01.01 ID:j6eDcU3v
leiningen 2.5.0 / 2014-09-14
https://github.com/technomancy/leiningen/blob/master/NEWS.md

- Fix a bug where repls outside of a project were broken. (Phil Hagelberg)
となってるが、ちゃんと治ったのかな?

607 :デフォルトの名無しさん:2014/09/17(水) 23:12:39.67 ID:ry1QXF9R
新しいwebスタックなのかな?
caribou
http://caribou.github.io/caribou/docs/outline.html

608 :デフォルトの名無しさん:2014/09/18(木) 14:22:15.28 ID:zEr3CNRT
>>606
Ubuntu14.04x86でlein upgradeして試したら直ってた

609 :デフォルトの名無しさん:2014/09/22(月) 17:11:34.59 ID:LvPIFofq
クロージャーは苦労じゃと思ったことはないの?

610 :デフォルトの名無しさん:2014/09/22(月) 17:12:13.46 ID:xorcTHrm
go clojure tar

611 :デフォルトの名無しさん:2014/09/22(月) 17:40:13.84 ID:vIHnf5mS
ドット対ないの、困らないのる

612 :デフォルトの名無しさん:2014/09/22(月) 18:09:57.08 ID:S+g0REzG
のらない

613 :デフォルトの名無しさん:2014/09/22(月) 21:18:23.52 ID:vh/Af1aB
ドット対がないと過去のlisp資産を使えないので困る

614 :デフォルトの名無しさん:2014/09/22(月) 21:20:36.50 ID:c1ePS+PE
>>613
その代わりJavaの資産を使えますしおすし。

615 :デフォルトの名無しさん:2014/09/22(月) 21:24:54.18 ID:vh/Af1aB
java APIは、資産か負債か…

616 :デフォルトの名無しさん:2014/09/22(月) 21:30:18.38 ID:c1ePS+PE
Mavenのセントラルリポジトリから色々引っ張ってこれるから
超便利なんだけど…

617 :デフォルトの名無しさん:2014/09/22(月) 22:25:55.59 ID:yriWFnZx
lein ring uberwarしてできたwarファイルをTomcatに渡すだけでマジで動くのこれ?
だとしたら便利過ぎる

618 :デフォルトの名無しさん:2014/09/22(月) 23:37:24.00 ID:nvfImWev
Tomcatなんてダサいものに入れる必要ないぜ
lein uberjar して java -jar すれば組み込みのJettyが動く。
マジで楽。

619 :デフォルトの名無しさん:2014/09/24(水) 15:15:31.48 ID:GXSMA3Ap
Clojure+Luminus+HTTP Kit+H2で2ちゃんねる専用ブラウザを作ってみたよ〜
http://meriken.me/programming/merikens-2ch-browser

620 :デフォルトの名無しさん:2014/09/24(水) 15:52:47.85 ID:ToswTk7I
>>619
良くできてるねー
でもp2とかが保存した古いdatの受け口とかないのかな?
あれば移行できるんだけど。

263 KB
新着レスの表示

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


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