2012-01-01から1年間の記事一覧

beanの逆関数unbean

POJO(一般のJavaオブジェクト)をbeanとみなして、プロパティのマップを返してくれる関数 bean がある。http://clojuredocs.org/clojure_core/clojure.core/beanbeanで作ったマップからオブジェクトに戻したい場合もあると思うので、beanの逆関数 unbean を作…

メタデータを含めたPretty Print

ここから抜粋https://groups.google.com/forum/?fromgroups#!topic/clojure/5LRmPXutah8 (use 'clojure.pprint) (defn ppm [obj] (let [orig-dispatch *print-pprint-dispatch*] (with-pprint-dispatch (fn [o] (when (meta o) (print "^") (orig-dispatch (…

Clojureのパーサコンビネータライブラリ fnparse を使う

前記事と似たような話。プログラミングHaskellの第8章で紹介されているパーサコンビネータと同じようなことができるfnparseというライブラリがClojureにも存在する。パーサコンビネータと言えばScalaのライブラリ(コップ本*1 31章)にもあるが、どれも似たよ…

clojure.core.logicでPrologのような論理型プログラミング

clojure.core.logicというClojureをProlog化するライブラリがある。Prologとは、論理型プログラミング言語。 下記のサイトで詳しい説明をしている方がいらっしゃるので、論理型言語についての説明は省略。 http://www.geocities.jp/m_hiroi/prolog/このProlo…