私はこのファイルを持っています:
{-# 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