型変数
型変数とはあれだよList aのaだよ
例えば
code:List.elm
length : List a -> Int
Listの長さを調べるときにListの中の値がなんの型かは考慮しない
型変数は一度確定したら確定してしまう
code:elm
[] -- 空リストのリテラル : List a
intEmpty : List Int
intEmpty = []
intEmptyはList Intなので中身がないからといってList aの不確定の状態に戻ったりしない
いい感じに推論してくれるのでいい感じに直すこと