> module R20130122 where 簡易HTTPサーバのライブラリを作成したとして、以下のようなアクションを書いたとします。 > type Host = String > type Port = Int > server' :: Host -> Port -> IO () > server' host port = undefined ここで、一部の引数を省略可能にして、省略したら規定の値を使いたい、という状況に なったとします。例えば、他にもserverを起動しているのでportだけ変更したい、とか 無指定で起動したら標準的な環境で起動したい、といった状況です。 以下のようにそれぞれの引数に対して規定値を事前に指定した別アクションを定義 することもできますが、冗長ですし、引数の数が増えたらたいへんなことになります。 > serverWithHost :: Port -> I