HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Modulerelude-1.2.2.2Haskell2010

Relude.Extra.Enum

SPDX-License-Identifier : MIT Maintainer : Kowainik xrom.xkov@gmail.com Stability : Stable Portability : Portable

Mini bounded-enum framework inside relude.

  • 3 values
  • Packagerelude-1.2.2.2
  • Exports3
  • LanguageHaskell2010
  • LicenceMIT
  • SourceEnum.hs
valuenext :: (Eq a, Bounded a, Enum a) => a -> a
#

Like succ, but doesn't fail on maxBound. Instead it returns minBound.

Example3 expressions
next FalseTruenext TrueFalsesucc True*** Exception: Prelude.Enum.Bool.succ: bad argument
valueprev :: (Eq a, Bounded a, Enum a) => a -> a
#

Like pred, but doesn't fail on minBound. Instead it returns maxBound.

Example3 expressions
prev TrueFalseprev FalseTruepred False*** Exception: Prelude.Enum.Bool.pred: bad argument
valuesafeToEnum :: (Bounded a, Enum a) => Int -> Maybe a
#

Returns Nothing if given Int outside range.

Example4 expressions
safeToEnum @Bool 0Just FalsesafeToEnum @Bool 1Just TruesafeToEnum @Bool 2NothingsafeToEnum @Bool (-1)Nothing