Problem
SML/NJ accepts curried functor parameter syntax, for example:
functor F(M: ORD_MAP) (S: ORD_SET) :>
sig
val func: string list -> S.set M.map
end =
(* ... *)
end
However, this triggers a parse error: expected '=' at the second parameter group (S : ...). It looks like Millet parses functor F (M : ...) and then expects = / : ... / :> ..., so the extra (S : ...) is rejected and causes cascading errors.
Solution
The curried functor parameter is the extention syntax in SML/NJ. It would be very helpful if Millet could support (or provide a mode for) this.
Problem
SML/NJ accepts curried functor parameter syntax, for example:
However, this triggers a parse error:
expected '='at the second parameter group(S : ...). It looks like Millet parsesfunctor F (M : ...)and then expects=/: .../:> ..., so the extra(S : ...)is rejected and causes cascading errors.Solution
The curried functor parameter is the extention syntax in SML/NJ. It would be very helpful if Millet could support (or provide a mode for) this.