2009-07-01から1ヶ月間の記事一覧

バイナリクロック

http://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_179 のお題。時刻の扱いかたを把握するのに時間がかかった。 import Data.Bits (testBit, shiftR) import Data.Time (localTimeOfDay, utcToLocalTime, getCurrentTime, todHour, todMin, getCurren…

Apache Ivy を試す - その2

Ivy

ライブラリプロジェクトに対して、そのテストプロジェクトが依存するという関係を Ivy で解決する。独自のロガーライブラリを例にとる。logging が本体プロジェクト、logging-test がテストプロジェクト。 logging の build.xml <project name="logger" basedir="." default="compile" xmlns:ivy="antlib:org.apache.ivy.ant"> </project>

Apache Ivy を試す

Ivy

使うたびに最初のコマンドを忘れる Maven2 にどうしてもなじめないので, Home | Apache Ivy ™ を試す.今回やろうとしたのは, 高齢者でも効果ある? への依存関係を Ivy で解決する (ひらたく言えば fest の jar を Ivy で落としてくる) ということ. 結局うま…

再帰的にディレクトリをたどる - その2

遅延評価をどうこうしようと思ったけど挫折。どっかを seq すりゃいいと思うんだけどなー。FilePath のリストを返さず、find 内で出力までやっちゃうようにすればすぐできそうなんだけど、それじゃ関数的じゃないよいなぁということで。普通の find と比較し…

再帰的にディレクトリをたどる

いわゆる find。forM ははじめて使った。ただこの実装だと、遅延評価の影響でメモリを馬鹿食いする。次回はこれの改善かな。しかし例外 API をはじめてまともに使ったけども、とても使いやすいとは言えないな。\e を \_ として評価しないようにしても、型が…

エラーモナドを使ったエラー処理

ほとんど http://www.haskell.org/ghc/docs/latest/html/libraries/mtl/Control-Monad-Error.html#1 を写経しただけ。Error クラスのインスタンスにするのにどうすりゃいいかという話さえ分かってしまえば、あとは予想可能な例外として扱えばいいだけ。どう…