ghci: информация и пикша по синонимам типа - PullRequest
0 голосов
/ 27 октября 2018

У меня есть синоним типа, например

type Events t b = Tb.T t b

Базовый тип Tb.T является экземпляром многих классов типов, например,

instance [safe] (Eq time, Eq body) => Eq (Tb.T time body)
instance [safe] Functor (Tb.T time)
..

Мой синоним типа (конечно) наследует всеэти случаи.Например, это также Functor:

λ> :t flip fmap (undefined :: Events Int String)
flip fmap (undefined :: Events Int String)
  :: (String -> b) -> Tb.T Int b

, но этот факт не показан ни в команде :info команды ghci, ни в сгенерированной документации пикши.Кроме того, я предпочел бы видеть тип возвращаемого значения как Events Int b вместо Tb.T Int b.

Есть ли способ обойти это?

...