Haskell型推論に問題があると思います。
独自のデータ型を作成し、それをクラスのインスタンスにしましたRead
。私のデータ型は実際にはパラメータとして他の型を取ります、それは型パラメータです。
readPresc
文字列を解析して新しいデータを返すように再定義しました。私が書くとき:
read "string that represent MyType a" :: MyType a
それは完全にうまく機能します(少なくとも私が期待したことをします)
これで、関数、と呼びましょう。この関数は、型のinsert
要素を受け取り、新しいを返します。a
MyType a
MyTape a
insert :: a -> MyType a -> a
しかし、私が書くとき:
insert 3 "string that rapresent MyType Int"
私は得Ambigous type
た。
read
インサートのパラメーターと同じタイプを推測するようにhaskellに指示するにはどうすればよいですか?