>>642
>>644
試しに forall master. をコメントアウトしてコンパイルしてみたら、下記の warning が出た。

Variable ‘master’ is implicitly quantified due to a context
Use explicit forall syntax instead.
This will become an error in GHC 7.12.
In the type ‘YesodChat master => HandlerT Chat (HandlerT master IO) a’
In the declaration for type synonym ‘ChatHandler’

出たのは warning だけで、コンパイル自体はできる。
ということは、局所的な forall ではないよね。
もしそうならエラーでコンパイルできないはず。

つまり、今のところは「この場合の forall の有無による意味の違いは無い」と解釈して問題ない、よね? まずいかな?


書籍ではたぶん、将来エラー扱いになる(し、今でも警告が出る)から今のうちに forall を明示的に書いておいたのだと思う。
だが、なんで将来エラー扱いになるのかが分からんな。
明示しないとどんな不都合が起こるんだろ。