haskell-ja > Archives > 2011/12/11

2011/12/11 02:31:48 UTCsakai
#
ええと、 http://t.co/E4KIgqK1 は型レベルのラムダを書くという話ではなく、「型付けに型シノニムの部分適用が必要な場合には、型シグネチャを明示しなくてはならない」という話。例えば、
#
newtype Mu f = In (f (Mu f))
type Flip f a b = f b a
v1 = In (Left 0)
v2 = In (Right 0)
#
のv2はそのままだと(今まで通り)型エラーにするけど、 v2 :: Mu (Flip Either Int) と書けば通すとか、そんな話かと。
2011/12/11 17:38:04 UTCshelarcy@twitter
#
なるほど、そうですか。MonoLocalBinds [http://t.co/EDMMw6Ug ] ではなく RankNTypes が例に挙がっていたので、てっきりそっちの形式だと思ってしまいました。