3
http://okmij.org/ftp/tagless-final/nondet-effect.html#no-functorに拡張演習を行い、にint_t
型を置き換えようとしています。これをやろうとしている間、私は次のようなエラーにこだわっている:cons
のOcamlの値がモジュールとシグネチャのパラメータ化された型と一致しません
Values do not match:
val cons : '_a repr -> '_a list_t -> '_a list_t
is not included in
val cons : 'a repr -> 'a list_t -> 'a list_t
私の実装は間違いなく正しい型を持っている
let cons: 'a repr -> 'a list_t -> 'a list_t =
liftm2 (fun h t -> h::t)
のように見えます。これらの明らかに同じ型が互換性がないのはなぜですか?