2
鑑於這種代碼定影型變量
locale A =
fixes foo :: "'a"
locale B = A +
fixes bar :: "'a × 'a"
locale C' = A +
fixes baz :: "'a"
begin
sublocale B foo "(foo, baz)".
end
我得到
Type unification failed
Failed to meet type constraint:
Term: (foo, baz) :: 'b × 'a
Type: 'b × 'b
如此看來,伊莎貝爾不明白,baz
和foo
應該是同一類型的。有沒有辦法來解決這個問題?
太好了,我不知道'constrains'。看起來我甚至可以在那裏添加排序約束(這將是我的下一個問題)。 – 2014-10-08 10:45:59