输入文字用法

时间:2014-08-07 13:25:36

标签: haskell types ghc

我正在尝试理解haskell类型文字的用法。特别是,我以为我会编写一个函数来显示自定义类型的类型文字

newtype Fixed (p :: Nat) a = Fixed a

instance (KnownNat p) => Show (Fixed p a) where
    show _ = show $ natVal (Proxy::Proxy p)

然而,ghc(7.8)无法推断出KnownNat n0,这意味着我不会像我认为的那样限制事物。任何人都可以提出错误的建议吗?

1 个答案:

答案 0 :(得分:7)

GHC需要-XScopedTypeVariables才能确认p的{​​{1}}与您的类型签名的Proxy p相同。

p