问题描述
按照https://stackoverflow.com/a/26084087/8142021中的答案 我使用以下 haskell 代码来定义带有 GADT 的模态逻辑。
data Plain
data Mod
data Formula t where
Prop :: {propName :: String} -> Formula t
Neg :: Formula t -> Formula t
Conj :: Formula t -> Formula t -> Formula t
disj :: Formula t -> Formula t -> Formula t
Impl :: Formula t -> Formula t -> Formula t
BiImpl :: Formula t -> Formula t -> Formula t
MyModality :: Formula Mod -> Formula Mod
type PlainFormula = Formula Plain
type ModalFormula = Formula Mod
有没有办法将 PlainFormula 的类型更改为 ModalFormula?由于PlainFormula 是Modal Formula 的一个子集,我尝试定义以下注入但它不起作用。
toModal :: PlainFormula -> ModalFormula
toModal f = f
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)