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

Scoping of implicit rules + Scoping of .SCANNER rules

OMake のお話。% ワイルドカードの付いているルールは .SCANNER ルールも含め、global scope では無い! つまり、関数内で % を使ったルールを書いた場合、それは関数内でしか有効にならない! これを知らなかったので、% ワイルドカードのついた .SCANNER ル…

pa_monad の "unit binder" を少し拡張

OCaml もモナドをつかったプログラミングでは、私は別に bind operator (>>=) を使うのは全く苦じゃないんです。例えば、今私が遊んでいる LLVM のコードは builder をモナドにしてこんな感じになっています: let run clos lty_ret = B.cast clos lty_generi…

コードを短く書くことと読みやすく書くことは違う

module Z where import Data.Char data Foo = Alpha | Beta | Gamma | Delta | Eta | ... | Omega deriving (Show,Eq,Enum,Bounded) parse internals x = head $ (if all isLower $ take 1 x then [External i | i <- [minBound..maxBound], map toLower (sh…