by shigemk2

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

型変数→多相型関数

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

ここでいうaを型変数という。どんな型もとりうることを意味する。

型変数を用いた関数を多相型関数という。

ジェネリクスに似ているって説明があるけど、よく考えたら動的言語にそういう概念ってないよね。

独習 Scalaz — 型を司るもの、カインド

Scalaもこういうふうに書くことで型変数的なのが実現できると思われる。

def head[A](xs: List[A]): A = xs(0)

すごいHaskellたのしく学ぼう!

すごいHaskellたのしく学ぼう!