Hi,
I'm trying to make use of parameterized modules / functors and maybe I'm missing something.
module type SomeSig = sig
val some_function : unit -> unit
end
module type SomeFunctor =
functor (M : SomeSig) ->
sig
val some_function : unit -> unit
end
module SomeModule : SomeFunctor =
functor (M : SomeSig) ->
struct
let some_function () =
Io.format "In parameterized module\n" [];
M.some_function ();
end
module SomeImpl =
struct
let some_function () =
Io.format "In module implementing SomeSig\n" []
end
module PMod = SomeModule(SomeImpl)
let main () =
PMod.some_function ()
When I compile this file with caramel compile *.ml the main function gets compiled into such and there are no compilation errors:
-spec main() -> ok.
main() -> pmod:some_function().
Yet there is no pmod.erl file created, which is how I sort of expected the parameterized modules to be implemented.
Hi,
I'm trying to make use of parameterized modules / functors and maybe I'm missing something.
When I compile this file with
caramel compile *.mlthe main function gets compiled into such and there are no compilation errors:Yet there is no
pmod.erlfile created, which is how I sort of expected the parameterized modules to be implemented.