我有以下代码,我希望这是失败类型检查:{-# LANGUAGE GADTs #-}
{-# LANGUAGE RankNTypes中的每个条目都有一个相关的错误,我正在用一个Prism建模到一个更大的结构中。当我“解释”这个GADT时,我为e提供了一个具体的类型,其中包含了所有这些Prism的实例。然而,对于<
在中,Andy Gill展示了如何在DSL中恢复存在于Haskell级别的共享。他的解决方案在中实现。这种方法可以修改为与GADT一起使用吗?Bool -> Ast2 Bool Var :: Name -> Ast2 e
通过函数的方式recoverSharing :: Ast -> (Map Name, Ast2 e