by shigemk2

当面は技術的なことしか書かない

型変数

head関数の型は何なのか。

Main> :t head
head :: [a] -> a

ではfst関数の型は?

Main> :t fst
fst :: (a, b) -> a

この a とか bとかっていうのは、型変数と呼ばれるもので、
どんな型も取り得るということを意味する。

型変数を用いた関数を多相的関数と呼ばれる。

型変数 a や b は違う型変数である。