From: Nobuo Yamashita <nobsun / sampou.org>
Subject: [haskell-jp:239] Re: 低レベルプログラミングとstricttypesystem
Date: Fri, 31 Oct 2003 11:28:32 +0900 (JST)

> プログラマ St.Atic 氏の戦略はすこし違います。もともとの
> 
>  foo :: a -> b -> p より一般性のある
> 
> 3引数関数
> 
>  foo-gen :: c -> a -> b -> p を考えます。
> 
> すべての関数はカリー化されるので、このシグネチャーは
> 
>  c -> (a -> b -> p) 
> 
> とも読めます。foo-gen に z を与えたものが、
> foo と同じ仕事をする関数を生成するように、foo-gen を定義すればいいのです。
> St.Atic 氏は、foo-gen を定義した上で、従来の foo の定義を
> 
>  foo = foo-gen z という定義に変えて、いろいろと実験をしました。

あーなるほど。これって結局、静的型付けで省略可能引数にデフォルト引数を
与えてているのと同じですよね。異なる点は、違う個数の引数を与える関数に
違う名前を当てなくちゃならないというところ。

型安全を取るか、名前の多重定義の方を心地よく感じるか、そういう問題かなあ。

--shiro



--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/