>>482
> getnameに入れる値の構造は(c,name,age)じゃダメなのでしょうか?
> getname :: Person -> Name
> getname (_ ,name ,_) = name
型シグネチャの引数が代数データ型Personなのに、
パターンマッチしてるのがClass,Name,Ageからなるトリプルなので矛盾してる
正しくパターンマッチさせるには(Person _ name _)にする必要がある
またはtype Person = (Class, Name, Age) という定義にすればよい
でもそもそもレコード構文を使っているので
getname という関数を作らなくても name :: Person -> Nameという関数でNameを取り出せる