Как запросить тип метода по умолчанию? - PullRequest
3 голосов
/ 08 октября 2019

Расширение GHC DefaultSignatures позволяет изменить тип метода по умолчанию:

class Enum a where
  enum :: [a]
  default enum :: (Generic a, GEnum (Rep a)) => [a]
  enum = map to genum

Можно ли запросить у компилятора тип метода по умолчанию? Какой синтаксис для этого? :t enum недостаточно (поскольку он явно сообщает enum :: Enum a => [a]).

1 Ответ

3 голосов
/ 08 октября 2019

:info Enum сделает это.

Для вашего примера это выдаст

class Enum a where
  enum :: [a]
  default enum :: (Generic a, GEnum (Rep a)) => [a]
        -- Defined at ...
...