* -> * -> *
instance C Foo where
type F Foo = (->)
Как сделать F Bar типом a -> b -> b?
я не гуру, но разве не через RankN ли?
Ну ньютайп над стрелкой можно
Да, но это не то, что хотелось бы. А без обёртки нельзя? И если нельзя, то почему?
Не понимаю, как
И ещё для такого типа ContrArr a b = b -> a
Можно a и b сделать тайп парамтерами Bar, тогда работать будет
как это должно работать?
Такое не годится? class C c a b where type F c (a :: *) (b :: *) :: * instance C Int a b where type F Int a b = a -> b instance C Bool a b where type F Bool a b = a -> b -> b
Да, там выше уже предложили. Именно так и сделал, спасибо
Обсуждают сегодня