3
假設我有以下設置分型和OCaml的模塊納入
module type FOO = sig type f val do_foo : f end
module type BAR = sig type b val do_bar : b end
module type FOOANDBAR =
sig
include FOO
include BAR
end
現在我想(在一個不錯的方式,又名,不復制接口,使FOO和BAR仍然亞型)執行限制類型f和類型b是相同的。
有沒有一種很好的方式來做到這一點OCaml,可能使用一些不同的方法,包括關鍵字?
謝謝!! -Joseph
Gracias! (今天是我與OCaml的第二天,這是非常容易混淆的,但這非常容易) –
'include(bar with type b = f)'和'include(BAR with type b:= f )'?後者用「f」粗暴地用「b」代替「b」。 – lukstafi
@lukstafi:w':='是一種破壞性的替代,它改變了簽名,而不是隻用平等來改進它。我認爲在這種情況下任何一個都可以,但是我使用了'=',因爲它更簡單並且已經可用了很長時間,而':='只是在OCaml 3.12中添加的。 – gasche