effects-time
Safe HaskellNone
LanguageGHC2021

Effects.Time

Description

Provides the MonadTime class.

Since: 0.1

Synopsis

Effect

class Monad m => MonadTime (m :: Type -> Type) where Source #

Time effect.

Since: 0.1

Methods

getSystemZonedTime :: m ZonedTime Source #

Returns the zoned system time.

Since: 0.1

getTimeZone :: UTCTime -> m TimeZone Source #

Lifted getTimeZone.

Since: 0.1

utcToLocalZonedTime :: UTCTime -> m ZonedTime Source #

Lifted utcToLocalZonedTime.

Since: 0.1

loadLocalTZ :: m TZ Source #

Lifted loadLocalTZ.

Since: 0.1

getMonotonicTime :: m Double Source #

Return monotonic time in seconds, since some unspecified starting point.

Since: 0.1

getSystemTime :: (HasCallStack, MonadTime m) => m LocalTime Source #

Returns the local system time.

Since: 0.1

Timing

withTiming :: (HasCallStack, MonadTime m) => m a -> m (TimeSpec, a) Source #

Runs an action, returning the elapsed time.

Since: 0.1

withTiming_ :: (HasCallStack, MonadTime m) => m a -> m TimeSpec Source #

withTiming but ignores the result value.

Since: 0.1

TimeSpec

data TimeSpec Source #

Structure for holding time data. Eq and Ord are defined in terms of an equivalence class e.g.

MkTimeSpec s n === MkTimeSpec 0 (s * 1_000_000_000 + n)

Since: 0.1

Constructors

MkTimeSpec 

Fields

Instances

Instances details
AMonoid TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

Methods

zero :: TimeSpec Source #

ASemigroup TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

Normed TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

LowerBounded TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

UpperBoundless TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

NFData TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

Methods

rnf :: TimeSpec -> () #

Generic TimeSpec Source # 
Instance details

Defined in Effects.Time

Associated Types

type Rep TimeSpec

Since: effects-time-0.1

Instance details

Defined in Effects.Time

type Rep TimeSpec = D1 ('MetaData "TimeSpec" "Effects.Time" "effects-time-0.1-inplace" 'False) (C1 ('MetaCons "MkTimeSpec" 'PrefixI 'True) (S1 ('MetaSel ('Just "sec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "nsec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural)))

Methods

from :: TimeSpec -> Rep TimeSpec x #

to :: Rep TimeSpec x -> TimeSpec #

Show TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

Eq TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

Ord TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

MSemiSpace TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

MSpace TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

Semimodule TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

SemivectorSpace TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

(k ~ A_Lens, a ~ Natural, b ~ Natural) => LabelOptic "nsec" k TimeSpec TimeSpec a b Source #

Since: 0.1

Instance details

Defined in Effects.Time

(k ~ A_Lens, a ~ Natural, b ~ Natural) => LabelOptic "sec" k TimeSpec TimeSpec a b Source #

Since: 0.1

Instance details

Defined in Effects.Time

type Rep TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

type Rep TimeSpec = D1 ('MetaData "TimeSpec" "Effects.Time" "effects-time-0.1-inplace" 'False) (C1 ('MetaCons "MkTimeSpec" 'PrefixI 'True) (S1 ('MetaSel ('Just "sec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural) :*: S1 ('MetaSel ('Just "nsec") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Natural)))

Creation

fromSeconds :: Double -> TimeSpec Source #

Converts Double seconds to a TimeSpec.

Since: 0.1

fromNanoSeconds :: Natural -> TimeSpec Source #

Converts Natural nanoseconds to a TimeSpec.

Since: 0.1

Elimination

toSeconds :: TimeSpec -> Double Source #

Converts a TimeSpec to Double seconds.

Since: 0.1

toNanoSeconds :: TimeSpec -> Natural Source #

Converts a TimeSpec into Natural nanoseconds.

Since: 0.1

Operations

diffTimeSpec :: TimeSpec -> TimeSpec -> TimeSpec Source #

Returns the absolute difference of two TimeSpecs.

Since: 0.1

normalizeTimeSpec :: TimeSpec -> TimeSpec Source #

Normalizes nanoseconds < 1 second.

Since: 0.1

Formatting

formatLocalTime :: LocalTime -> String Source #

Formats the LocalTime to YYYY-MM-DD HH:MM:SS.

Since: 0.1

formatZonedTime :: ZonedTime -> String Source #

Formats the ZonedTime to YYYY-MM-DD HH:MM:SS Z.

Since: 0.1

Parsing

parseLocalTime :: MonadFail f => String -> f LocalTime Source #

Parses the LocalTime from YYYY-MM-DD HH:MM:SS.

Since: 0.1

parseZonedTime :: MonadFail f => String -> f ZonedTime Source #

Parses the ZonedTime from YYYY-MM-DD HH:MM:SS Z.

Known Timezones

Expand
  • UTC
  • UT
  • GMT
  • EST
  • EDT
  • CST
  • CDT
  • MST
  • MDT
  • PST
  • PDT
  • +HHMM (e.g. +1300)

Since: 0.1

Misc

getSystemTimeString :: (HasCallStack, MonadTime m) => m String Source #

Retrieves the formatted LocalTime.

Since: 0.1

getSystemZonedTimeString :: (HasCallStack, MonadTime m) => m String Source #

Retrieves the formatted ZonedTime.

Since: 0.1

Reexports

Time

data LocalTime #

A simple day and time aggregate, where the day is of the specified parameter, and the time is a TimeOfDay. Conversion of this (as local civil time) to UTC depends on the time zone. Conversion of this (as local mean time) to UT1 depends on the longitude.

Constructors

LocalTime 

Instances

Instances details
NFData LocalTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

Methods

rnf :: LocalTime -> () #

Data LocalTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LocalTime -> c LocalTime #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LocalTime #

toConstr :: LocalTime -> Constr #

dataTypeOf :: LocalTime -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LocalTime) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LocalTime) #

gmapT :: (forall b. Data b => b -> b) -> LocalTime -> LocalTime #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LocalTime -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LocalTime -> r #

gmapQ :: (forall d. Data d => d -> u) -> LocalTime -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LocalTime -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LocalTime -> m LocalTime #

Generic LocalTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

Associated Types

type Rep LocalTime 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

type Rep LocalTime = D1 ('MetaData "LocalTime" "Data.Time.LocalTime.Internal.LocalTime" "time-1.14-247a" 'False) (C1 ('MetaCons "LocalTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "localDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Just "localTimeOfDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TimeOfDay)))
Show LocalTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

Eq LocalTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

Ord LocalTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

ISO8601 LocalTime #

yyyy-mm-ddThh:mm:ss[.ss] [ISO 8601:2004(E) sec. 4.3.2 extended format]

Instance details

Defined in Data.Time.Format.ISO8601

type Rep LocalTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.LocalTime

type Rep LocalTime = D1 ('MetaData "LocalTime" "Data.Time.LocalTime.Internal.LocalTime" "time-1.14-247a" 'False) (C1 ('MetaCons "LocalTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "localDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Just "localTimeOfDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TimeOfDay)))

data TimeZone #

A TimeZone is a whole number of minutes offset from UTC, together with a name and a "just for summer" flag.

Instances

Instances details
NFData TimeZone # 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

Methods

rnf :: TimeZone -> () #

Data TimeZone # 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TimeZone -> c TimeZone #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TimeZone #

toConstr :: TimeZone -> Constr #

dataTypeOf :: TimeZone -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TimeZone) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TimeZone) #

gmapT :: (forall b. Data b => b -> b) -> TimeZone -> TimeZone #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TimeZone -> r #

gmapQ :: (forall d. Data d => d -> u) -> TimeZone -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TimeZone -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TimeZone -> m TimeZone #

Generic TimeZone # 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

Associated Types

type Rep TimeZone 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

type Rep TimeZone = D1 ('MetaData "TimeZone" "Data.Time.LocalTime.Internal.TimeZone" "time-1.14-247a" 'False) (C1 ('MetaCons "TimeZone" 'PrefixI 'True) (S1 ('MetaSel ('Just "timeZoneMinutes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "timeZoneSummerOnly") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "timeZoneName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

Methods

from :: TimeZone -> Rep TimeZone x #

to :: Rep TimeZone x -> TimeZone #

Show TimeZone #

This only shows the time zone name, or offset if the name is empty.

Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

Eq TimeZone # 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

Ord TimeZone # 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

ISO8601 TimeZone #

±hh:mm [ISO 8601:2004(E) sec. 4.2.5.1 extended format]

Instance details

Defined in Data.Time.Format.ISO8601

type Rep TimeZone # 
Instance details

Defined in Data.Time.LocalTime.Internal.TimeZone

type Rep TimeZone = D1 ('MetaData "TimeZone" "Data.Time.LocalTime.Internal.TimeZone" "time-1.14-247a" 'False) (C1 ('MetaCons "TimeZone" 'PrefixI 'True) (S1 ('MetaSel ('Just "timeZoneMinutes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "timeZoneSummerOnly") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "timeZoneName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

data UTCTime #

This is the simplest representation of UTC. It consists of the day number, and a time offset from midnight. Note that if a day has a leap second added to it, it will have 86401 seconds.

Instances

Instances details
NFData UTCTime # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

rnf :: UTCTime -> () #

Data UTCTime # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UTCTime -> c UTCTime #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UTCTime #

toConstr :: UTCTime -> Constr #

dataTypeOf :: UTCTime -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UTCTime) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UTCTime) #

gmapT :: (forall b. Data b => b -> b) -> UTCTime -> UTCTime #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UTCTime -> r #

gmapQ :: (forall d. Data d => d -> u) -> UTCTime -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UTCTime -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UTCTime -> m UTCTime #

Generic UTCTime # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Associated Types

type Rep UTCTime 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

type Rep UTCTime = D1 ('MetaData "UTCTime" "Data.Time.Clock.Internal.UTCTime" "time-1.14-247a" 'False) (C1 ('MetaCons "UTCTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "utctDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Just "utctDayTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DiffTime)))

Methods

from :: UTCTime -> Rep UTCTime x #

to :: Rep UTCTime x -> UTCTime #

Eq UTCTime # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

(==) :: UTCTime -> UTCTime -> Bool #

(/=) :: UTCTime -> UTCTime -> Bool #

Ord UTCTime # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

ISO8601 UTCTime #

yyyy-mm-ddThh:mm:ss[.ss]Z [ISO 8601:2004(E) sec. 4.3.2 extended format]

Instance details

Defined in Data.Time.Format.ISO8601

Lift UTCTime # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

Methods

lift :: Quote m => UTCTime -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => UTCTime -> Code m UTCTime #

type Rep UTCTime # 
Instance details

Defined in Data.Time.Clock.Internal.UTCTime

type Rep UTCTime = D1 ('MetaData "UTCTime" "Data.Time.Clock.Internal.UTCTime" "time-1.14-247a" 'False) (C1 ('MetaCons "UTCTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "utctDay") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Day) :*: S1 ('MetaSel ('Just "utctDayTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 DiffTime)))

data ZonedTime #

A local time together with a time zone.

There is no Eq instance for ZonedTime. If you want to compare local times, use zonedTimeToLocalTime. If you want to compare absolute times, use zonedTimeToUTC.

Instances

Instances details
NFData ZonedTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

Methods

rnf :: ZonedTime -> () #

Data ZonedTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ZonedTime -> c ZonedTime #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ZonedTime #

toConstr :: ZonedTime -> Constr #

dataTypeOf :: ZonedTime -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ZonedTime) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ZonedTime) #

gmapT :: (forall b. Data b => b -> b) -> ZonedTime -> ZonedTime #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ZonedTime -> r #

gmapQ :: (forall d. Data d => d -> u) -> ZonedTime -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ZonedTime -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ZonedTime -> m ZonedTime #

Generic ZonedTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

Associated Types

type Rep ZonedTime 
Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

type Rep ZonedTime = D1 ('MetaData "ZonedTime" "Data.Time.LocalTime.Internal.ZonedTime" "time-1.14-247a" 'False) (C1 ('MetaCons "ZonedTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "zonedTimeToLocalTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalTime) :*: S1 ('MetaSel ('Just "zonedTimeZone") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TimeZone)))
Show ZonedTime #

For the time zone, this only shows the name, or offset if the name is empty.

Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

ISO8601 ZonedTime #

yyyy-mm-ddThh:mm:ss[.ss]±hh:mm [ISO 8601:2004(E) sec. 4.3.2 extended format]

Instance details

Defined in Data.Time.Format.ISO8601

type Rep ZonedTime # 
Instance details

Defined in Data.Time.LocalTime.Internal.ZonedTime

type Rep ZonedTime = D1 ('MetaData "ZonedTime" "Data.Time.LocalTime.Internal.ZonedTime" "time-1.14-247a" 'False) (C1 ('MetaCons "ZonedTime" 'PrefixI 'True) (S1 ('MetaSel ('Just "zonedTimeToLocalTime") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LocalTime) :*: S1 ('MetaSel ('Just "zonedTimeZone") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 TimeZone)))

TZ

data TZ Source #

Instances

Instances details
Default TZ Source # 
Instance details

Defined in Data.Time.Zones.Types

Methods

def :: TZ Source #

NFData TZ Source # 
Instance details

Defined in Data.Time.Zones.Types

Methods

rnf :: TZ -> () #

Data TZ Source # 
Instance details

Defined in Data.Time.Zones.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TZ -> c TZ #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c TZ #

toConstr :: TZ -> Constr #

dataTypeOf :: TZ -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c TZ) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c TZ) #

gmapT :: (forall b. Data b => b -> b) -> TZ -> TZ #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TZ -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TZ -> r #

gmapQ :: (forall d. Data d => d -> u) -> TZ -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TZ -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> TZ -> m TZ #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> TZ -> m TZ #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> TZ -> m TZ #

Read TZ Source # 
Instance details

Defined in Data.Time.Zones.Types

Show TZ Source # 
Instance details

Defined in Data.Time.Zones.Types

Methods

showsPrec :: Int -> TZ -> ShowS #

show :: TZ -> String #

showList :: [TZ] -> ShowS #

Eq TZ Source # 
Instance details

Defined in Data.Time.Zones.Types

Methods

(==) :: TZ -> TZ -> Bool #

(/=) :: TZ -> TZ -> Bool #

Algebra

class ASemigroup s where Source #

Defines an additive semigroup.

Since: algebra-simple-0.1

Methods

(.+.) :: s -> s -> s infixl 6 Source #

Since: algebra-simple-0.1

Instances

Instances details
ASemigroup TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

ASemigroup Int16 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int16 -> Int16 -> Int16 Source #

ASemigroup Int32 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int32 -> Int32 -> Int32 Source #

ASemigroup Int64 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int64 -> Int64 -> Int64 Source #

ASemigroup Int8 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int8 -> Int8 -> Int8 Source #

ASemigroup Word16 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word16 -> Word16 -> Word16 Source #

ASemigroup Word32 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word32 -> Word32 -> Word32 Source #

ASemigroup Word64 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word64 -> Word64 -> Word64 Source #

ASemigroup Word8 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word8 -> Word8 -> Word8 Source #

ASemigroup Integer Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

ASemigroup Natural Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

ASemigroup Double Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Double -> Double -> Double Source #

ASemigroup Float Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Float -> Float -> Float Source #

ASemigroup Int Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Int -> Int -> Int Source #

ASemigroup Word Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Word -> Word -> Word Source #

RealFloat a => ASemigroup (Complex a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Complex a -> Complex a -> Complex a Source #

ASemigroup (Ratio Integer) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

ASemigroup (Ratio Natural) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

HasResolution k => ASemigroup (Fixed k) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: Fixed k -> Fixed k -> Fixed k Source #

ASemigroup a => ASemigroup (a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a) -> (a, a) -> (a, a) Source #

ASemigroup a => ASemigroup (a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a) -> (a, a, a) -> (a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a) -> (a, a, a, a) -> (a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a) -> (a, a, a, a, a) -> (a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a) -> (a, a, a, a, a, a) -> (a, a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a) Source #

ASemigroup a => ASemigroup (a, a, a, a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.ASemigroup

Methods

(.+.) :: (a, a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a, a) -> (a, a, a, a, a, a, a, a, a) Source #

class ASemigroup m => AMonoid m where Source #

Defines a monoid over an additive semigroup.

Since: algebra-simple-0.1

Methods

zero :: m Source #

Should satisfy:

-- identity
x .+. zero = x = zero .+. x

since 0.1

Instances

Instances details
AMonoid TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

Methods

zero :: TimeSpec Source #

AMonoid Int16 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Int16 Source #

AMonoid Int32 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Int32 Source #

AMonoid Int64 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Int64 Source #

AMonoid Int8 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Int8 Source #

AMonoid Word16 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Word16 Source #

AMonoid Word32 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Word32 Source #

AMonoid Word64 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Word64 Source #

AMonoid Word8 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Word8 Source #

AMonoid Integer Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Integer Source #

AMonoid Natural Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Natural Source #

AMonoid Double Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Double Source #

AMonoid Float Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Float Source #

AMonoid Int Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Int Source #

AMonoid Word Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Word Source #

RealFloat a => AMonoid (Complex a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Complex a Source #

AMonoid (Ratio Integer) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

AMonoid (Ratio Natural) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

HasResolution k => AMonoid (Fixed k) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: Fixed k Source #

AMonoid a => AMonoid (a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a) Source #

AMonoid a => AMonoid (a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a, a) Source #

AMonoid a => AMonoid (a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a, a, a) Source #

AMonoid a => AMonoid (a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a, a, a, a) Source #

AMonoid a => AMonoid (a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a, a, a, a, a) Source #

AMonoid a => AMonoid (a, a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a, a, a, a, a, a) Source #

AMonoid a => AMonoid (a, a, a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a, a, a, a, a, a, a) Source #

AMonoid a => AMonoid (a, a, a, a, a, a, a, a, a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Additive.AMonoid

Methods

zero :: (a, a, a, a, a, a, a, a, a) Source #

class MSemigroup r => MSemiSpace m r | m -> r where Source #

Defines a "multiplicative semi space" over an MSemigroup. This generalizes the notion of a Semimodule \(M\) over a Ring \(R\) in that we assume no additive structure on the space itself.

Since: algebra-simple-0.1

Methods

(.*) :: m -> r -> m infixl 7 Source #

Since: algebra-simple-0.1

Instances

Instances details
MSemiSpace TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

MSemigroup r => MSemiSpace (r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r) -> r -> (r, r) Source #

MSemigroup r => MSemiSpace (r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r, r) -> r -> (r, r, r) Source #

MSemigroup r => MSemiSpace (r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r, r, r) -> r -> (r, r, r, r) Source #

MSemigroup r => MSemiSpace (r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r, r, r, r) -> r -> (r, r, r, r, r) Source #

MSemigroup r => MSemiSpace (r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r, r, r, r, r) -> r -> (r, r, r, r, r, r) Source #

MSemigroup r => MSemiSpace (r, r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r, r, r, r, r, r) -> r -> (r, r, r, r, r, r, r) Source #

MSemigroup r => MSemiSpace (r, r, r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r, r, r, r, r, r, r) -> r -> (r, r, r, r, r, r, r, r) Source #

MSemigroup r => MSemiSpace (r, r, r, r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSemiSpace

Methods

(.*) :: (r, r, r, r, r, r, r, r, r) -> r -> (r, r, r, r, r, r, r, r, r) Source #

class (MGroup k, MSemiSpace v k) => MSpace v k | v -> k where Source #

Defines a "multiplicative space" over an MGroup. This generalizes the notion of a Semivectorspace \(V\) over a Semifield \(K\) in that we assume no additive structure on the space itself.

Since: algebra-simple-0.1

Methods

(.%) :: v -> k -> v infixl 7 Source #

Since: algebra-simple-0.1

Instances

Instances details
MSpace TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

MGroup k => MSpace (k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k) -> k -> (k, k) Source #

MGroup k => MSpace (k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k, k) -> k -> (k, k, k) Source #

MGroup k => MSpace (k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k, k, k) -> k -> (k, k, k, k) Source #

MGroup k => MSpace (k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k, k, k, k) -> k -> (k, k, k, k, k) Source #

MGroup k => MSpace (k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k, k, k, k, k) -> k -> (k, k, k, k, k, k) Source #

MGroup k => MSpace (k, k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k, k, k, k, k, k) -> k -> (k, k, k, k, k, k, k) Source #

MGroup k => MSpace (k, k, k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k, k, k, k, k, k, k) -> k -> (k, k, k, k, k, k, k, k) Source #

MGroup k => MSpace (k, k, k, k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.MSpace

Methods

(.%) :: (k, k, k, k, k, k, k, k, k) -> k -> (k, k, k, k, k, k, k, k, k) Source #

class (AMonoid m, MSemiSpace m r, Semiring r) => Semimodule m r | m -> r Source #

Defines a semimodule over a semiring. This generalizes the notion of a Module \(M\) over a Ring \(R\) such that:

Since: algebra-simple-0.1

Instances

Instances details
Semimodule TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

Semiring r => Semimodule (r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

Semiring r => Semimodule (r, r, r, r, r, r, r, r, r) r Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.Semimodule

class (MSpace v k, Semifield k, Semimodule v k) => SemivectorSpace v k | v -> k Source #

Defines a semivector space over a semifield. This generalizes the notion of a VectorSpace \(V\) over a Field \(K\) such that:

Since: algebra-simple-0.1

Instances

Instances details
SemivectorSpace TimeSpec Natural Source #

Since: 0.1

Instance details

Defined in Effects.Time

Semifield k => SemivectorSpace (k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

Semifield k => SemivectorSpace (k, k, k, k, k, k, k, k, k) k Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Space.SemivectorSpace

class Normed s Source #

Defines a "norm" on a given structure. We have the following laws:

  • Positive definiteness: norm x > 0 for x /= 0, norm 0 = 0.
  • Subadditivity: norm (x + y) <= norm x + norm y.
  • Inversion : norm x = norm (-x).
  • Sign : sgn x = x / norm x.

Notice these laws require various algebraic assumptions, from a semigroup up to a group structure. It is expected that types that implement the relevant typeclasses will follow the respective laws.

We do not require any of these typeclasses as constraints as it is possible that we may want to abstract over "positive" types with a type that does not have an additive semigroup instance (consider multiplicative groups).

Since: algebra-simple-0.1

Minimal complete definition

norm, sgn

Instances

Instances details
Normed TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

Normed Int16 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Int32 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Int64 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Int8 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Methods

norm :: Int8 -> Int8 Source #

sgn :: Int8 -> Int8 Source #

Normed Word16 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Word32 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Word64 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Word8 Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Integer Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Natural Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Double Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Float Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed Int Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Methods

norm :: Int -> Int Source #

sgn :: Int -> Int Source #

Normed Word Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Methods

norm :: Word -> Word Source #

sgn :: Word -> Word Source #

RealFloat a => Normed (Complex a) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Methods

norm :: Complex a -> Complex a Source #

sgn :: Complex a -> Complex a Source #

Normed (Ratio Integer) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Normed (Ratio Natural) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

HasResolution k => Normed (Fixed k) Source #

Since: algebra-simple-0.1

Instance details

Defined in Numeric.Algebra.Normed

Methods

norm :: Fixed k -> Fixed k Source #

sgn :: Fixed k -> Fixed k Source #

class LowerBounded a where Source #

Names the lower limit of a type. Types that also have a Bounded instance should define lowerBound === minBound. This can be derived with the anyclass strategy.

Examples

Expand
>>> -- -XDeriveAnyClass, -XDerivingStrategies
>>> data Foo = Foo1 | Foo2 deriving stock (Bounded, Show) deriving anyclass LowerBounded
>>> lowerBound @Foo
Foo1

Since: bounds-0.1

Minimal complete definition

Nothing

Methods

lowerBound :: a Source #

Since: bounds-0.1

default lowerBound :: Bounded a => a Source #

Instances

Instances details
LowerBounded TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

LowerBounded ByteOrder Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded All Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Any Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CBool Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CChar Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CInt Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CIntMax Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CIntPtr Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CLLong Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CLong Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CPtrdiff Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CSChar Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CShort Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CSigAtomic Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CSize Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CUChar Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CUInt Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CUIntMax Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CUIntPtr Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CULLong Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CULong Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CUShort Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CWchar Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded IntPtr Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded WordPtr Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Associativity Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded DecidedStrictness Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded SourceStrictness Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded SourceUnpackedness Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Int16 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Int32 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Int64 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Int8 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CBlkCnt Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CBlkSize Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CClockId Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CDev Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CFsBlkCnt Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CFsFilCnt Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CGid Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CId Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CIno Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CKey Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CMode Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CNfds Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CNlink Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded COff Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CPid Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CRLim Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CSsize Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CTcflag Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded CUid Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Fd Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Fd Source #

LowerBounded GeneralCategory Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Word16 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Word32 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Word64 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Word8 Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Ordering Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Natural Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded () Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: () Source #

LowerBounded Bool Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Char Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Int Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Levity Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded VecCount Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded VecElem Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded Word Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded a => LowerBounded (First a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: First a Source #

LowerBounded a => LowerBounded (Last a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Last a Source #

LowerBounded a => LowerBounded (Max a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Max a Source #

LowerBounded a => LowerBounded (Min a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Min a Source #

LowerBounded a => LowerBounded (WrappedMonoid a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Bounded a => LowerBounded (Bounds a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded a => LowerBounded (And a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: And a Source #

LowerBounded a => LowerBounded (Iff a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Iff a Source #

LowerBounded a => LowerBounded (Ior a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Ior a Source #

LowerBounded a => LowerBounded (Xor a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Xor a Source #

LowerBounded a => LowerBounded (Identity a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

UpperBounded a => LowerBounded (Down a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Down a Source #

LowerBounded a => LowerBounded (Dual a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Dual a Source #

LowerBounded a => LowerBounded (Product a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

LowerBounded a => LowerBounded (Sum a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Sum a Source #

LowerBounded a => LowerBounded (Solo a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Solo a Source #

LowerBounded (Proxy t) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Proxy t Source #

(LowerBounded a, LowerBounded b) => LowerBounded (a, b) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b) Source #

LowerBounded a => LowerBounded (Const a b) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Const a b Source #

(Applicative f, LowerBounded a) => LowerBounded (Ap f a) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Ap f a Source #

Coercible a b => LowerBounded (Coercion a b) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: Coercion a b Source #

a ~ b => LowerBounded (a :~: b) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: a :~: b Source #

(LowerBounded a, LowerBounded b, LowerBounded c) => LowerBounded (a, b, c) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c) Source #

a ~~ b => LowerBounded (a :~~: b) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: a :~~: b Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d) => LowerBounded (a, b, c, d) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e) => LowerBounded (a, b, c, d, e) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f) => LowerBounded (a, b, c, d, e, f) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g) => LowerBounded (a, b, c, d, e, f, g) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h) => LowerBounded (a, b, c, d, e, f, g, h) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h, LowerBounded i) => LowerBounded (a, b, c, d, e, f, g, h, i) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h, LowerBounded i, LowerBounded j) => LowerBounded (a, b, c, d, e, f, g, h, i, j) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h, LowerBounded i, LowerBounded j, LowerBounded k) => LowerBounded (a, b, c, d, e, f, g, h, i, j, k) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h, LowerBounded i, LowerBounded j, LowerBounded k, LowerBounded l) => LowerBounded (a, b, c, d, e, f, g, h, i, j, k, l) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h, LowerBounded i, LowerBounded j, LowerBounded k, LowerBounded l, LowerBounded m) => LowerBounded (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h, LowerBounded i, LowerBounded j, LowerBounded k, LowerBounded l, LowerBounded m, LowerBounded n) => LowerBounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #

(LowerBounded a, LowerBounded b, LowerBounded c, LowerBounded d, LowerBounded e, LowerBounded f, LowerBounded g, LowerBounded h, LowerBounded i, LowerBounded j, LowerBounded k, LowerBounded l, LowerBounded m, LowerBounded n, LowerBounded o) => LowerBounded (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

Methods

lowerBound :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #

class UpperBoundless a Source #

Types that have no upper bound.

Since: bounds-0.1

Instances

Instances details
UpperBoundless TimeSpec Source #

Since: 0.1

Instance details

Defined in Effects.Time

UpperBoundless Integer Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds

UpperBoundless Natural Source #

Since: bounds-0.1

Instance details

Defined in Data.Bounds