3
为什么ghci desugar类型列表和类型族?可以有选择地禁用它吗?
我试图使我的库的ghci显示类型尽可能直观,但是在使用更高级的类型功能时遇到了很多困难。 假设我在文件中有以下代码: {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeOperators #-} import GHC.TypeLits data Container (xs::[*]) = Container 我将其加载到ghci中,然后键入以下命令: ghci> :t undefined :: Container '[String,String,String,String,String] 不幸的是,ghci给了我一个难看的外观: :: Container ((':) * String ((':) * String ((':) * String ((':) * String ((':) * String ('[] *)))))) ghci删除了用于类型级别字符串的糖。有什么方法可以防止ghci这样做并给我漂亮的版本吗? 在相关说明中,可以说我创建了一个类型级别的Replicate函数 …