thyme-0.3.5.5: A faster time library
Safe HaskellNone
LanguageHaskell2010

Data.Thyme.Calendar.WeekDate

Description

Various Week Date formats

Synopsis

Documentation

type Year = Int Source #

type WeekOfYear = Int Source #

type DayOfWeek = Int Source #

ISO 8601 Week Date

data WeekDate Source #

Weeks numbered 01 to 53, where week 01 is the first week that has at least 4 days in the new year. Days before week 01 are considered to belong to the previous year.

Constructors

WeekDate 

Fields

Instances

Instances details
Bounded WeekDate 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Eq WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

(==) :: WeekDate -> WeekDate -> Bool

(/=) :: WeekDate -> WeekDate -> Bool

Data WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

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

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

toConstr :: WeekDate -> Constr

dataTypeOf :: WeekDate -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> WeekDate -> WeekDate

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

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

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

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

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

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

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

Ord WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

compare :: WeekDate -> WeekDate -> Ordering

(<) :: WeekDate -> WeekDate -> Bool

(<=) :: WeekDate -> WeekDate -> Bool

(>) :: WeekDate -> WeekDate -> Bool

(>=) :: WeekDate -> WeekDate -> Bool

max :: WeekDate -> WeekDate -> WeekDate

min :: WeekDate -> WeekDate -> WeekDate

Show WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

showsPrec :: Int -> WeekDate -> ShowS

show :: WeekDate -> String

showList :: [WeekDate] -> ShowS

Generic WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Associated Types

type Rep WeekDate :: Type -> Type

Methods

from :: WeekDate -> Rep WeekDate x

to :: Rep WeekDate x -> WeekDate

Arbitrary WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

CoArbitrary WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Methods

coarbitrary :: WeekDate -> Gen b -> Gen b Source #

Random WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Unbox WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

NFData WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

rnf :: WeekDate -> ()

ParseTime WeekDate Source # 
Instance details

Defined in Data.Thyme.Format

FormatTime WeekDate Source # 
Instance details

Defined in Data.Thyme.Format

Methods

showsTime :: TimeLocale -> WeekDate -> (Char -> ShowS) -> Char -> ShowS Source #

Vector Vector WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

basicUnsafeFreeze :: PrimMonad m => Mutable Vector (PrimState m) WeekDate -> m (Vector WeekDate) Source #

basicUnsafeThaw :: PrimMonad m => Vector WeekDate -> m (Mutable Vector (PrimState m) WeekDate) Source #

basicLength :: Vector WeekDate -> Int Source #

basicUnsafeSlice :: Int -> Int -> Vector WeekDate -> Vector WeekDate Source #

basicUnsafeIndexM :: Monad m => Vector WeekDate -> Int -> m WeekDate Source #

basicUnsafeCopy :: PrimMonad m => Mutable Vector (PrimState m) WeekDate -> Vector WeekDate -> m () Source #

elemseq :: Vector WeekDate -> WeekDate -> b -> b Source #

MVector MVector WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

basicLength :: MVector s WeekDate -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s WeekDate -> MVector s WeekDate Source #

basicOverlaps :: MVector s WeekDate -> MVector s WeekDate -> Bool Source #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) WeekDate) Source #

basicInitialize :: PrimMonad m => MVector (PrimState m) WeekDate -> m () Source #

basicUnsafeReplicate :: PrimMonad m => Int -> WeekDate -> m (MVector (PrimState m) WeekDate) Source #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) WeekDate -> Int -> m WeekDate Source #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) WeekDate -> Int -> WeekDate -> m () Source #

basicClear :: PrimMonad m => MVector (PrimState m) WeekDate -> m () Source #

basicSet :: PrimMonad m => MVector (PrimState m) WeekDate -> WeekDate -> m () Source #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) WeekDate -> MVector (PrimState m) WeekDate -> m () Source #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) WeekDate -> MVector (PrimState m) WeekDate -> m () Source #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) WeekDate -> Int -> m (MVector (PrimState m) WeekDate) Source #

type Rep WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

type Rep WeekDate = D1 ('MetaData "WeekDate" "Data.Thyme.Calendar.Internal" "thyme-0.3.5.5-8yk8awDjzEHHYSq2xJCwO3" 'False) (C1 ('MetaCons "WeekDate" 'PrefixI 'True) (S1 ('MetaSel ('Just "wdYear") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Year) :*: (S1 ('MetaSel ('Just "wdWeek") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 WeekOfYear) :*: S1 ('MetaSel ('Just "wdDay") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 DayOfWeek))))
newtype Vector WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

newtype MVector s WeekDate Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

newtype MVector s WeekDate = MV_WeekDate (MVector s Int)

showWeekDate :: Day -> String Source #

Weeks starting Sunday

data SundayWeek Source #

Weeks numbered from 0 to 53, starting with the first Sunday of the year as the first day of week 1. The last week of a given year and week 0 of the next both refer to the same week, but not all DayOfWeek are valid. Year coincides with that of gregorian.

Constructors

SundayWeek 

Fields

Instances

Instances details
Bounded SundayWeek 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Eq SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

(==) :: SundayWeek -> SundayWeek -> Bool

(/=) :: SundayWeek -> SundayWeek -> Bool

Data SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

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

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

toConstr :: SundayWeek -> Constr

dataTypeOf :: SundayWeek -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> SundayWeek -> SundayWeek

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

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

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

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

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

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

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

Ord SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Show SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

showsPrec :: Int -> SundayWeek -> ShowS

show :: SundayWeek -> String

showList :: [SundayWeek] -> ShowS

Generic SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Associated Types

type Rep SundayWeek :: Type -> Type

Methods

from :: SundayWeek -> Rep SundayWeek x

to :: Rep SundayWeek x -> SundayWeek

Arbitrary SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

CoArbitrary SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Methods

coarbitrary :: SundayWeek -> Gen b -> Gen b Source #

Random SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Unbox SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

NFData SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

rnf :: SundayWeek -> ()

ParseTime SundayWeek Source # 
Instance details

Defined in Data.Thyme.Format

FormatTime SundayWeek Source # 
Instance details

Defined in Data.Thyme.Format

Methods

showsTime :: TimeLocale -> SundayWeek -> (Char -> ShowS) -> Char -> ShowS Source #

Vector Vector SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

MVector MVector SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

basicLength :: MVector s SundayWeek -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s SundayWeek -> MVector s SundayWeek Source #

basicOverlaps :: MVector s SundayWeek -> MVector s SundayWeek -> Bool Source #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) SundayWeek) Source #

basicInitialize :: PrimMonad m => MVector (PrimState m) SundayWeek -> m () Source #

basicUnsafeReplicate :: PrimMonad m => Int -> SundayWeek -> m (MVector (PrimState m) SundayWeek) Source #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) SundayWeek -> Int -> m SundayWeek Source #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) SundayWeek -> Int -> SundayWeek -> m () Source #

basicClear :: PrimMonad m => MVector (PrimState m) SundayWeek -> m () Source #

basicSet :: PrimMonad m => MVector (PrimState m) SundayWeek -> SundayWeek -> m () Source #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) SundayWeek -> MVector (PrimState m) SundayWeek -> m () Source #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) SundayWeek -> MVector (PrimState m) SundayWeek -> m () Source #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) SundayWeek -> Int -> m (MVector (PrimState m) SundayWeek) Source #

type Rep SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

type Rep SundayWeek = D1 ('MetaData "SundayWeek" "Data.Thyme.Calendar.Internal" "thyme-0.3.5.5-8yk8awDjzEHHYSq2xJCwO3" 'False) (C1 ('MetaCons "SundayWeek" 'PrefixI 'True) (S1 ('MetaSel ('Just "swYear") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Year) :*: (S1 ('MetaSel ('Just "swWeek") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 WeekOfYear) :*: S1 ('MetaSel ('Just "swDay") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 DayOfWeek))))
newtype Vector SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

newtype MVector s SundayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Weeks starting Monday

data MondayWeek Source #

Weeks numbered from 0 to 53, starting with the first Monday of the year as the first day of week 1. The last week of a given year and week 0 of the next both refer to the same week, but not all DayOfWeek are valid. Year coincides with that of gregorian.

Constructors

MondayWeek 

Fields

Instances

Instances details
Bounded MondayWeek 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Eq MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

(==) :: MondayWeek -> MondayWeek -> Bool

(/=) :: MondayWeek -> MondayWeek -> Bool

Data MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

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

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

toConstr :: MondayWeek -> Constr

dataTypeOf :: MondayWeek -> DataType

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

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

gmapT :: (forall b. Data b => b -> b) -> MondayWeek -> MondayWeek

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

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

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

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

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

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

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

Ord MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Show MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

showsPrec :: Int -> MondayWeek -> ShowS

show :: MondayWeek -> String

showList :: [MondayWeek] -> ShowS

Generic MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Associated Types

type Rep MondayWeek :: Type -> Type

Methods

from :: MondayWeek -> Rep MondayWeek x

to :: Rep MondayWeek x -> MondayWeek

Arbitrary MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

CoArbitrary MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Methods

coarbitrary :: MondayWeek -> Gen b -> Gen b Source #

Random MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.WeekDate

Unbox MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

NFData MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

rnf :: MondayWeek -> ()

ParseTime MondayWeek Source # 
Instance details

Defined in Data.Thyme.Format

FormatTime MondayWeek Source # 
Instance details

Defined in Data.Thyme.Format

Methods

showsTime :: TimeLocale -> MondayWeek -> (Char -> ShowS) -> Char -> ShowS Source #

Vector Vector MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

MVector MVector MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Methods

basicLength :: MVector s MondayWeek -> Int Source #

basicUnsafeSlice :: Int -> Int -> MVector s MondayWeek -> MVector s MondayWeek Source #

basicOverlaps :: MVector s MondayWeek -> MVector s MondayWeek -> Bool Source #

basicUnsafeNew :: PrimMonad m => Int -> m (MVector (PrimState m) MondayWeek) Source #

basicInitialize :: PrimMonad m => MVector (PrimState m) MondayWeek -> m () Source #

basicUnsafeReplicate :: PrimMonad m => Int -> MondayWeek -> m (MVector (PrimState m) MondayWeek) Source #

basicUnsafeRead :: PrimMonad m => MVector (PrimState m) MondayWeek -> Int -> m MondayWeek Source #

basicUnsafeWrite :: PrimMonad m => MVector (PrimState m) MondayWeek -> Int -> MondayWeek -> m () Source #

basicClear :: PrimMonad m => MVector (PrimState m) MondayWeek -> m () Source #

basicSet :: PrimMonad m => MVector (PrimState m) MondayWeek -> MondayWeek -> m () Source #

basicUnsafeCopy :: PrimMonad m => MVector (PrimState m) MondayWeek -> MVector (PrimState m) MondayWeek -> m () Source #

basicUnsafeMove :: PrimMonad m => MVector (PrimState m) MondayWeek -> MVector (PrimState m) MondayWeek -> m () Source #

basicUnsafeGrow :: PrimMonad m => MVector (PrimState m) MondayWeek -> Int -> m (MVector (PrimState m) MondayWeek) Source #

type Rep MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

type Rep MondayWeek = D1 ('MetaData "MondayWeek" "Data.Thyme.Calendar.Internal" "thyme-0.3.5.5-8yk8awDjzEHHYSq2xJCwO3" 'False) (C1 ('MetaCons "MondayWeek" 'PrefixI 'True) (S1 ('MetaSel ('Just "mwYear") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Year) :*: (S1 ('MetaSel ('Just "mwWeek") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 WeekOfYear) :*: S1 ('MetaSel ('Just "mwDay") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 DayOfWeek))))
newtype Vector MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

newtype MVector s MondayWeek Source # 
Instance details

Defined in Data.Thyme.Calendar.Internal

Orphan instances

Bounded MondayWeek Source # 
Instance details

Bounded SundayWeek Source # 
Instance details

Bounded WeekDate Source # 
Instance details

Arbitrary MondayWeek Source # 
Instance details

Arbitrary SundayWeek Source # 
Instance details

Arbitrary WeekDate Source # 
Instance details

CoArbitrary MondayWeek Source # 
Instance details

Methods

coarbitrary :: MondayWeek -> Gen b -> Gen b Source #

CoArbitrary SundayWeek Source # 
Instance details

Methods

coarbitrary :: SundayWeek -> Gen b -> Gen b Source #

CoArbitrary WeekDate Source # 
Instance details

Methods

coarbitrary :: WeekDate -> Gen b -> Gen b Source #

Random MondayWeek Source # 
Instance details

Random SundayWeek Source # 
Instance details

Random WeekDate Source # 
Instance details