У меня естьКак включить работу?
module type T = sig
type t
end
и
module Make (TypeProvider : T) = struct
include TypeProvider
type d = Wrapped of t
end
и
module Test = struct
include Make (struct type t = ForWrap end)
let f = function | Wrapped ForWrap ->()
end
я представлял тест после компиляции, как
module Test = struct
type t = ForWrap
type d = Wrapped of t
let f = function | Wrapped ForWrap ->()
end
Но в реале, это не компилируется с ода. OCaml говорит мне:
module Test = struct
include Make (struct type t = ForWrap end)
let f = function | Wrapped ForWrap ->()
^^^^^^^
Error: Unbound constructor ForWrap
end
И я не могу понять, почему. В чем проблема в моем решении?
functor application - это операционная среда, и вы не можете рассматривать '' include'' как чистую замену синтаксического уровня – objmagic