HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulerelude-1.2.0.0Haskell2010

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.0.0
  • 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