2
我有這個文件:存在量詞默默地破壞模板Haskell(makeLenses)。爲什麼?
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE ExistentialQuantification #-}
module Toy where
import Control.Lens
data Bar = Bar { _barish :: String }
data Foo = forall a. Show a => Foo { _fooish :: a }
$(makeLenses ''Bar)
$(makeLenses ''Foo)
x = barish
y = fooish
,我得到了以下錯誤消息:
Toy.hs:15:5:
Not in scope: `fooish'
Perhaps you meant `_fooish' (line 9)
這是我第一次嘗試使用存在量詞;我不知道爲什麼這些功能的組合會打破。更令人擔憂的是,爲什麼我不會收到有關makeLenses失敗的錯誤消息?我跑runhaskell Toy.hs