10/06/07 07:11:53
clojureで日付を扱いたいと思ってます。
それで
(def dates
'((4 (1 2 30))
(5 (1))))
こんなのを用意して
(make-days dates) -> ((2010 4 1) (2010 4 2) (2010 4 30) (2010 5 1))
このように出力する関数を作りたいんですが
(defn make-days (map #(interleave (repeat 2010) (repeat (first %)) (last %)) dates))
と定義すると
(make-days dates) -> ((2010 4 1 2010 4 2 2010 4 30) (2010 5 1))
となってしまい、ここで詰まってしまいました。
うまく整形する、又はもっとうまい方法はないでしょうか?
初心者的な質問で申し訳ありませんがお願いします。
clojureで日付を扱う人ってどうしてるんでしょう。
java.util.GregorianCalendar使うのが一般的なんですかね。
330:デフォルトの名無しさん
10/06/07 12:42:36
(defn make-days [date-list] (mapcat (fn [e] (map #(list 2010 (first e) %) (second e))) date-list))
(defn make-days [date-list] (mapcat #(map list (repeat 2010) (repeat (first %)) (second %)) date-list))
331:デフォルトの名無しさん
10/06/07 16:29:55
Practical Clojure (英語)がでてました。 2010/5/26
Googleブックスのプレビューもあるよ。
URLリンク(apress.com)
Joy of Clojureは、そろそろ、ファイナルレビューだとあった。
URLリンク(joyofclojure.com)
URLリンク(www.manning.com)
332:デフォルトの名無しさん
10/06/07 16:30:03
今年中に1.2が出るとして、コードが動かなくなるのは、
githubから落としてtestが通らなかった
contrib.duck-type (ioに移動)ぐらいかな。
333:デフォルトの名無しさん
10/06/07 16:53:55
Try Clojure
URLリンク(try-clojure.org)
グローバルIP上でWebサービスを作ってみたいならStax.netで出来るようだ。
URLリンク(stax.net)
URLリンク(developer.stax.net)
URLリンク(wiki.stax.net)
URLリンク(en.wikibooks.org)
URLリンク(wiki.stax.net)
334:デフォルトの名無しさん
10/06/07 23:22:21
>>330
すいません。どうもありがとうございました!シーケンス関数についてもっとよく勉強します。
335:デフォルトの名無しさん
10/06/07 23:38:39
>>332
名前空間の移動だけならAliasとかサポートしてほしかったりとか思うんだけどそういうものじゃないのかな?
336:デフォルトの名無しさん
10/06/09 14:06:33
Results from the State of Clojure, Summer 2010 Survey
URLリンク(muckandbrass.com)
planet clojure経由でみたけど、
「clojureユーザーに聞きました」のアンケート結果がおもしろかった。
IDE、Clojureがなくなったら、一緒に何をつかってる、どのぐらい・どのレベルで何に使ってるとか。
337:デフォルトの名無しさん
10/06/09 14:45:46
「wordpress(php)からclojureにblogをうつしてみた」というのがあった。
毎回作成から生成キャッシュに変えたのもあるみたいだから、主な速度の向上の理由かもしれない。
URLリンク(www.bestinclass.dk)
URLリンク(www.bestinclass.dk)
338:デフォルトの名無しさん
10/06/13 20:38:32
clj-ds Clojure data structure for Java
URLリンク(groups.google.com)
Clojureランタイム呼び出し分の遅延がない、JVM上の他言語供用向けな永続データ構造?
339:デフォルトの名無しさん
10/06/13 20:43:24
URLリンク(blog.higher-order.net)
コメントにあったけど、java向けのPersistent Java Collectionsは、すでにあるのか。
URLリンク(code.google.com)
340:デフォルトの名無しさん
10/06/18 09:47:07
安全な並行処理を売りとしてる割には、
並行処理自身の仕組みが乏しいように見受けられますが、どう実装するのがよいでしょうか?
例えばconsumer-workerパターンのような処理をする場合は
agentを使うのとjava.util.concurrentを使うのと、どっちがよいか、です。
341:デフォルトの名無しさん
10/06/18 22:18:26
URLリンク(clojure.org)
342:デフォルトの名無しさん
10/06/19 01:06:30
URLリンク(www.assembla.com)
Primitive Supportというのでgithubにブランチがいっぱいあるらしい?
BigInt fibで話題になってたやつ?(ただし、Scalaだったような気がする)
343:デフォルトの名無しさん
10/06/19 19:51:54
URLリンク(1978th.net)
ひょっとすると、Clojureを実用的に使ってる方がいるようです。
344:デフォルトの名無しさん
10/06/19 22:17:38
>>340
分かりやすい日本語のスライドがありました。Var/Ref/Atom/Agentの比較表もありました(41p)。
Clojureの言語には、プロセス内の並列機構しかないようだ。
プロセス内で処理するなら、Ref(p.13-)とかでいいんじゃないだろうか。
ここら辺は、RDBみたいな機能だけど、本物が欲しければRDB使えとか。
(略)Clojure並行処理 URLリンク(www.slideshare.net)
Clojure入門 URLリンク(www.slideshare.net)
StuartHalloway作のスライド (比較表の別バージョンがあるる)
URLリンク(github.com)
Rich Hickey作のスライド (pdfのやつ)
URLリンク(groups.google.com)
じっくり読むんだったら、プログラミングClojureを確認したほうが、分かりやすいんじゃないかな。
345:デフォルトの名無しさん
10/06/20 20:14:49
>>330 はポイントフリーで
(def make-days (partial mapcat #(map (conj [2010 (first %)]) (second %))))
のように書いた方が良いのだろうか。
346:名無しさん@そうだ選挙に行こう
10/07/11 12:56:18
VimClojure、始めからかもしれないけど、
evalしたり出来るようになってるのか?
バックグランドでclojure立上げて評価するソースが組み込まれてる。
URLリンク(kotka.de)
347:名無しさん@そうだ選挙に行こう
10/07/11 17:03:43
lisp系つかうのはslime@emacsって決めてるからなぁ、いまさらvi系覚えるの辛い
;;決めたのはもちろんスライムに服を溶かされるヨーコさんのbastered!が原因だ!
348:デフォルトの名無しさん
10/07/13 06:52:48
いやっほ~い
349:デフォルトの名無しさん
10/07/15 13:32:06
clojure 1.2 Beta 1
URLリンク(clojure.org)
βきたー