« Kindle カーソル 移動 | トップページ | JavaScript 再帰関数 »

2011年4月 5日 (火)

Haskell 型と値 2

下記のように記述した場合、


data YYY a = ZZZ | XXX a

「ZZZ」または、「XXX a」は、型「YYY a」の値になる。

*Main> let x = XXX 100
*Main> :t x
x :: YYY Integer
*Main> :t ZZZ
ZZZ :: YYY a

「100」ではなく、「XXX 100」が、「値」なのが受け入れがたい。。

この形は、Maybe a の

data Maybe a = Nothing | Just a

から意味を抜いたものです。
「Just 100」という「値」を記述することで、「Maybe a」型の値が生まれるんでしょう。

(訂正)
上記、まちがってました。

*Main> :t Just
Just :: a -> Maybe a

Just は、関数で、aを受け取って、Maybe aを返します。
「Just 100」が値というのは、ある意味あってますが、関数Justに値100を与えた返却値として、
値になる、ということですね。

|

« Kindle カーソル 移動 | トップページ | JavaScript 再帰関数 »

Haskell」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1049865/39504070

この記事へのトラックバック一覧です: Haskell 型と値 2:

« Kindle カーソル 移動 | トップページ | JavaScript 再帰関数 »