nobsun です。
 
> それと余談ですが
> 上のコードの (n+) はクロージャと呼んで間違いないでしょうか?

クロージャという用語は、Haskell ではあまり使わないように思います。
(特別な名前をつけてなにかと区別する必要があまりないからかなぁ。)

ちなみに Haskell では関数は常にカリー化されています。
すなわち関数は常に1引数関数です。

たとえば、

(+) :: a -> a -> a

ですが(文脈は省略)これは、

(+) :: a -> (a -> a) のことです。

また関数適用は左結合性をもつので、

(+) 1 2 

は

((+) 1) 2

のことです。

--
Nobuo Yamashita                 mailto:nobsun / sampou.org
  I love programming.           http://www.sampou.org/
  I love pencil puzzles.        http://www.puzzle.jp/




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