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

()は(.)の代わりに使える

例えばこういう関数群があったとして、 toStr :: Float -> String toStr = show length' :: String -> Int length' = length isBig :: Int -> Bool isBig = (> 5) Haskellでは($)演算子を使ってデータに対して次々に関数を適用できる。 isBig $ length' $ to…

haskell-relational-recordチートシート

最近、haskell-relational-recordを勉強しているが、ドキュメントを読むととにかく大量のデータ型(と型シノニム)が出てきてわけが分からなくなるので整理してみた。(relational-record-0.1.1.0, relational-query-0.4.0.1, relational-query-HDBC-0.1.0.0の…

必須引数とオプショナル引数が混在した名前付き引数渡し

Haskellで名前付き引数(named arguments/parameters)のようなことをしようと思ったらレコード構文を活用するのが一般的である。 data Args = Args { arg1 :: Int, arg2 :: Int, arg3 :: String } func :: Args -> Int func = undefined main = print $ func …