тип Odd инстансом Enum. Сам Odd определен так:
data Odd = Odd Integer deriving (Eq, Show)
Вот я думаю, достаточно ли тут определить fromEnum и toEnum? Судя по {-# MINIMAL toEnum, fromEnum #-}, должно быть достаточно. Но у меня пока не особенно завелось.
И второе – тут ведь, по идее, должно быть просто отображение из натуральных чисел ("индексов" Enum) в нечетные, и обратно. Так? Но Int – Bounded, а Integer – нет.
Только плз без спойлеров к задаче
да, достаточно
второе: Enum может бросать исключение, если Int выходит за пределы типа или наоборот
deriving Enum можно: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#stand-alone-deriving-declarations
Обсуждают сегодня