> 私は nobsun が翻訳されてたやさしい Haskell 入門の型のところから、ついていけてません。

どうも、あれは、ちっとも「易しく」ないというのが定説になりつつありますねぇ。

> 型構築子ってのが出て来たあたりから、型の定義と本質的にどう違うのかさっぱり。
> とりあえず、関数プログラミングでは、まだその辺出てないのですけど。

用語は慣れないと、違和感がありますねぇ。たしかに。

data Hoge a b = Foo a | Bar b

のような定義をしたときに、Hoge が型構築子で、Foo と Bar がデータ構築子です。

mkFooes :: [a] -> [Hoge a b]

のような型のシグネチャには、データ構築子は出現しません。
データ構築子は、関数のように扱うことができます。Haskellの正しい宣言では
ありませんが、意味としては、 Foo :: a -> Hoge a b ということです。

mkFooes = map Foo

のように書くことができます。

> あと、個人的には Haskell 入門者にとってあれ ? ってのは記号関係です。
> ++ や !! や \ や >>= などがいきなりひょいと出てくると尻込みしてしまう。
> ++ は連接ってのはいいとして、 \ は lambda かな ?
> !! ってどっかで見たような気がしたんだけど...やさしい ...じゃなかったかな。

そうですね。コードを見ながらなら、 \ が lambda であることはすこし考えると
分りそうですが、\ を知らないときに、lambda ってどう書くの? というときは
探しにくいでしょうねぇ。

構文要素以外の記号は演算子なので、括弧でかこって(セクションといいます)
hugs のプロンプトで、:f コマンドを使って、

Hugs.Base> :f (!!)

とか

Hugs.Base> :f (.)

とかやると、定義ファイルを $EDITOR で開いてくれます。

「やさしい」というのは、「Gentle」の訳として私が採用したものです。
『Haskell 98 言語レポート』を読むよりは「優しい」とは思いますが。。。
なんか良い訳語あります?

{- あれは一度、訳を改訂しないと思って早や、何年 > 儂 -}

--nobsun


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