Open
Description
Emitting something like
val _ = Hol_datatype `op = Foo`
val _ = Hol_datatype `bar = Bar of op`
emitLib.eSML "bug" [DATATYPE `op = Foo`, DATATYPE `bar = Bar of op`]
generates the inconsistent and invalid
signature bugML =
sig
datatype op_ = Foo
datatype bar = Bar of op
end
This is not trivial to fix because EmitML uses type_pp.pp_type for arguments on the right hand side of a datatype.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.