Scalaz7 の Iteratee や partial Lenses 、zipper を使った、新しい Database と Json のライブラリ

追記:リポジトリ変わったみたいです



https://github.com/ephox/argonaut
https://github.com/ephox/vault

argonaut が JSON library で、vault が DB のライブラリです。ephox という organization のところにありますが、主に作ってるのは Scalaz 作者の tonymorris さんのようです。それぞれ gh-page にちょっとしたdocumentもあります。

http://ephox.github.com/argonaut/
http://ephox.github.com/vault/


両方とも、直接build.scalaにScalazへの依存が書いてなくて、depend.jsというファイル

https://github.com/ephox/argonaut/blob/3dd0f4f3d694dc934fe6c71f56bf91ff2b2039e9/config/dent/depend.js

にjavasrciptで書いてあるんですが、これなにか別のビルドのためのフレームワークなんでしょうか?それともephoxの人たち(?)が使ってる独自の仕組みなんでしょうか?誰か知ってたら教えて下さい。教えてもらた↓



mainのコードの行数は

でした。今後どうなるのかはよくわかりませんが、結構コンパクトですね。


vaultのほうは、document内で Takusen

http://hackage.haskell.org/package/Takusen

という Haskell のdatabaseのライブラリについて言及していて、これに影響をうけていたりするようです(?)


直接使う機会があるかどうかはべつにしても、 tonymorrisさんがつくっているだけあって、Scalaz7のpartial lensesやIterateeを生かした作りになっていて面白そうなので、読んでみるといいんじゃないでしょうか?自分もまだちょっと眺めた程度なので、これからもうちょっと探ってみようかと思います。