Я пишу некоторые программы на Haskell, имея дело с множеством основных типов, таких как Word32 / Word64 и т. Д. Я часто использую ghci для тестирования функций, смотрю результаты в терминале.
Для удобства и скорости я всегда показываю данные в шестнадцатеричном формате, например
data Human = M Int | F Int
instance Show Human where
show M x = printf "man, age %d" x
show F x = printf "woman, age %d" x
но я хочу, чтобы базовые типы отображались в шестнадцатеричном виде (особенно в ghci). Я обнаружил, что объявление экземпляра нельзя переопределить. и я не хочу искажать их все, как:
newtype MyInt = MyInt Int
instance Show MyInt where
...
Это выглядит немного глупо.
Могу ли я изменить код в пакете base
для ghc?
Я просто хочу, чтобы все стало "наговором". Я просто хочу, чтобы ghci показывал "шестнадцатеричный". как я могу этого добиться?
Поскольку все мы согласны с тем, что переопределение Show неуместно и непрактично, Приветствуется любой ответ «лучше показать числа в шестнадцатеричной системе счисления в ghci».