a) => Semigroup (Min a) where
(Min x) <> (Min y) = Min (min x y)
stimes t (Min a)
| t < 0 = error "t < 0"
| t == 0 = Min (maxBound :: a)
| otherwise = (Min a) Data.Semigroup.<> stimes (t - 1) (Min a)
но возникает ошибка:
Could not deduce (Bounded a1) arising from a use of `maxBound' from the context: (Ord a, Bounded a)
вообще не пойму; может ли кто-нибудь поправить?
Можно скидывать в https://play.haskell.org/ для воспроизводимости
Обсуждают сегодня