Зачем выводить Typeable для этого типа - PullRequest
0 голосов
/ 29 сентября 2018

В xmonad исходном коде я нахожу:

data Resize     = Shrink | Expand   deriving Typeable

Я не могу понять, почему это должно происходить из Typeable

Я видел знаменитый сообщение в блоге от Chrisdone, которое объясняет различные способы использования Typeable.Но я не могу найти ни одного сценария в исходном коде xmonad.

Есть подсказка?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Это остаток старых версий GHC.В настоящее время Typeable выводится для всех типов автоматически, а deriving Typeable ничего не делает, но допускается для обратной совместимости.

0 голосов
/ 30 сентября 2018

Typeable всегда можно получить для всех типов, так что ... почему бы и нет?Код xmonad может не использовать экземпляр Typeable, но пользователи могут захотеть.

Обратите внимание, что Typeable - это класс, экземпляры которого обычно , а не определяются вручную.

...