0
Для упражнений, которые я делаю, я реализовал тип данных, который похож на Maybe
:Определить формат печати для пользовательских типов данных
type Some a = a
data Optional a = Some a | None
и функция:
safeRoot :: Double -> Optional Double
safeRoot x =
if x >= 0
then Some (sqrt x)
else None
Однако, если я попробуйте запустить функцию из GHCI так:
safeRoot 4
я получаю:
No instance for (Show (Optional Double))
arising from a use of ‘print’
In a stmt of an interactive GHCi command: print it
Как определить формат печати для Optional
?
Вы знаете, что ваш тип 'Some' не имеет отношения к конструктору данных' Some', определенному как часть 'Optional', правильно? – chepner