top page > computer > haskell > web_lecture > for_programmer > function_type.html
更新日:
文責: 重城良国

関数の型

関数は値

関数は値だ。第一級オブジェクトだ。型がある。

関数の型とは

関数の型は引数の型と返り値の型から成る。->で引数の型と返り値の型をつなぐ。

[単純な関数の図]

[引数の型] -> [返り値の型]

Haskellには1引数関数しかない。2引数関数に見えるものは「関数を返す関数」だ。

[2引数関数の図]

[引数1の型] -> ([引数2の型] -> [返り値の型])

->は右結合だ。丸括弧を省略する。

[引数1の型] -> [引数2の型] -> [返り値の型]

丸括弧を省略すると2引数関数のように見える。

関数toLower

関数toLowerは引数として文字をとり小文字の値を返す。引数、返り値ともにChar型だ。

toLower :: Char -> Char

% ghci
Prelude> :m Data.Char
Prelude Data.Char> :t toLower
toLower :: Char -> Char

関数xxcrypt

関数xxcryptは整数値を3つとり整数値を返す。整数型として型Integerを考える。

Integer -> (Integer -> (Integer -> Integer))

整数をとって「整数をとって「整数をとって整数を返す関数」を返す関数」を返す関数だ。丸括弧を省略すると3引数関数のように見える。

Integer -> Integer -> Integer -> Integer

課題

  1. 以下の関数の型を対話環境で確認せよ(:m Data.Charをしておく)

「型とは何か」へもどる 「型宣言」へ

正当なCSSです! HTML5 Powered with CSS3 / styling, and Semantics