thyme-0.3.5.5: A faster time library

Safe Haskell | None
Language | Haskell2010

Data.Thyme.Calendar.WeekDate

Contents

- ISO 8601 Week Date
- Weeks starting Sunday
- Weeks starting Monday
- Orphan instances

Description

Various Week Date formats

Synopsis

- type Year = Int
- type WeekOfYear = Int
- type DayOfWeek = Int
- data WeekDate = WeekDate {
  - wdYear :: !Year
  - wdWeek :: !WeekOfYear
  - wdDay :: !DayOfWeek
  }
- weekDate :: Iso' Day WeekDate
- weekDateValid :: WeekDate -> Maybe Day
- showWeekDate :: Day -> String
- data SundayWeek = SundayWeek {
  - swYear :: !Year
  - swWeek :: !WeekOfYear
  - swDay :: !DayOfWeek
  }
- sundayWeek :: Iso' Day SundayWeek
- sundayWeekValid :: SundayWeek -> Maybe Day
- data MondayWeek = MondayWeek {
  - mwYear :: !Year
  - mwWeek :: !WeekOfYear
  - mwDay :: !DayOfWeek
  }
- mondayWeek :: Iso' Day MondayWeek
- mondayWeekValid :: MondayWeek -> Maybe Day
- _wdYear :: Lens' WeekDate Year
- _wdWeek :: Lens' WeekDate WeekOfYear
- _wdDay :: Lens' WeekDate DayOfWeek
- _swYear :: Lens' SundayWeek Year
- _swWeek :: Lens' SundayWeek WeekOfYear
- _swDay :: Lens' SundayWeek DayOfWeek
- _mwYear :: Lens' MondayWeek Year
- _mwWeek :: Lens' MondayWeek WeekOfYear
- _mwDay :: Lens' MondayWeek DayOfWeek

# 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

- wdYear :: !Year
- wdWeek :: !WeekOfYear
- wdDay :: !DayOfWeek

#### Instances

Instances details

Bounded WeekDate |
Instance details Defined in Data.Thyme.Calendar.WeekDate Methods minBound :: WeekDate maxBound :: 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 Methods arbitrary :: Gen WeekDate Source # shrink :: WeekDate -> [WeekDate] Source #
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

Methods

randomR :: RandomGen g => (WeekDate, WeekDate) -> g -> (WeekDate, g) Source #

random :: RandomGen g => g -> (WeekDate, g) Source #

randomRs :: RandomGen g => (WeekDate, WeekDate) -> g -> [WeekDate] Source #

randoms :: RandomGen g => g -> [WeekDate] Source #

randomRIO :: (WeekDate, WeekDate) -> IO WeekDate Source #

randomIO :: IO WeekDate Source #

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 Methods buildTime :: TimeParse -> WeekDate Source #
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 Vector WeekDate = V_WeekDate (Vector Int)
newtype MVector s WeekDate Source # |
Instance details Defined in Data.Thyme.Calendar.Internal newtype MVector s WeekDate = MV_WeekDate (MVector s Int)

weekDate :: Iso' Day WeekDate Source #

weekDateValid :: WeekDate -> Maybe Day Source #

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

- swYear :: !Year
- swWeek :: !WeekOfYear
- swDay :: !DayOfWeek

#### Instances

Instances details

Bounded SundayWeek |
Instance details Defined in Data.Thyme.Calendar.WeekDate Methods minBound :: SundayWeek maxBound :: SundayWeek
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 Methods compare :: SundayWeek -> SundayWeek -> Ordering (<) :: SundayWeek -> SundayWeek -> Bool (<=) :: SundayWeek -> SundayWeek -> Bool (>) :: SundayWeek -> SundayWeek -> Bool (>=) :: SundayWeek -> SundayWeek -> Bool max :: SundayWeek -> SundayWeek -> SundayWeek min :: SundayWeek -> SundayWeek -> SundayWeek
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 Methods arbitrary :: Gen SundayWeek Source # shrink :: SundayWeek -> [SundayWeek] Source #
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

Methods

randomR :: RandomGen g => (SundayWeek, SundayWeek) -> g -> (SundayWeek, g) Source #

random :: RandomGen g => g -> (SundayWeek, g) Source #

randomRs :: RandomGen g => (SundayWeek, SundayWeek) -> g -> [SundayWeek] Source #

randoms :: RandomGen g => g -> [SundayWeek] Source #

randomRIO :: (SundayWeek, SundayWeek) -> IO SundayWeek Source #

randomIO :: IO SundayWeek Source #

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 Methods buildTime :: TimeParse -> SundayWeek Source #
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

Methods

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

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

basicLength :: Vector SundayWeek -> Int Source #

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

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

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

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

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 Vector SundayWeek = V_SundayWeek (Vector Int)
newtype MVector s SundayWeek Source # |
Instance details Defined in Data.Thyme.Calendar.Internal newtype MVector s SundayWeek = MV_SundayWeek (MVector s Int)

sundayWeek :: Iso' Day SundayWeek Source #

sundayWeekValid :: SundayWeek -> Maybe Day Source #

# 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

- mwYear :: !Year
- mwWeek :: !WeekOfYear
- mwDay :: !DayOfWeek

#### Instances

Instances details

Bounded MondayWeek |
Instance details Defined in Data.Thyme.Calendar.WeekDate Methods minBound :: MondayWeek maxBound :: MondayWeek
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 Methods compare :: MondayWeek -> MondayWeek -> Ordering (<) :: MondayWeek -> MondayWeek -> Bool (<=) :: MondayWeek -> MondayWeek -> Bool (>) :: MondayWeek -> MondayWeek -> Bool (>=) :: MondayWeek -> MondayWeek -> Bool max :: MondayWeek -> MondayWeek -> MondayWeek min :: MondayWeek -> MondayWeek -> MondayWeek
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 Methods arbitrary :: Gen MondayWeek Source # shrink :: MondayWeek -> [MondayWeek] Source #
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

Methods

randomR :: RandomGen g => (MondayWeek, MondayWeek) -> g -> (MondayWeek, g) Source #

random :: RandomGen g => g -> (MondayWeek, g) Source #

randomRs :: RandomGen g => (MondayWeek, MondayWeek) -> g -> [MondayWeek] Source #

randoms :: RandomGen g => g -> [MondayWeek] Source #

randomRIO :: (MondayWeek, MondayWeek) -> IO MondayWeek Source #

randomIO :: IO MondayWeek Source #

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 Methods buildTime :: TimeParse -> MondayWeek Source #
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

Methods

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

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

basicLength :: Vector MondayWeek -> Int Source #

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

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

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

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

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 Vector MondayWeek = V_MondayWeek (Vector Int)
newtype MVector s MondayWeek Source # |
Instance details Defined in Data.Thyme.Calendar.Internal newtype MVector s MondayWeek = MV_MondayWeek (MVector s Int)

mondayWeek :: Iso' Day MondayWeek Source #

mondayWeekValid :: MondayWeek -> Maybe Day Source #

_wdYear :: Lens' WeekDate Year Source #

_wdWeek :: Lens' WeekDate WeekOfYear Source #

_wdDay :: Lens' WeekDate DayOfWeek Source #

_swYear :: Lens' SundayWeek Year Source #

_swWeek :: Lens' SundayWeek WeekOfYear Source #

_swDay :: Lens' SundayWeek DayOfWeek Source #

_mwYear :: Lens' MondayWeek Year Source #

_mwWeek :: Lens' MondayWeek WeekOfYear Source #

_mwDay :: Lens' MondayWeek DayOfWeek Source #

# Orphan instances

Bounded MondayWeek Source # |
Instance details Methods minBound :: MondayWeek maxBound :: MondayWeek
Bounded SundayWeek Source # |
Instance details Methods minBound :: SundayWeek maxBound :: SundayWeek
Bounded WeekDate Source # |
Instance details Methods minBound :: WeekDate maxBound :: WeekDate
Arbitrary MondayWeek Source # |
Instance details Methods arbitrary :: Gen MondayWeek Source # shrink :: MondayWeek -> [MondayWeek] Source #
Arbitrary SundayWeek Source # |
Instance details Methods arbitrary :: Gen SundayWeek Source # shrink :: SundayWeek -> [SundayWeek] Source #
Arbitrary WeekDate Source # |
Instance details Methods arbitrary :: Gen WeekDate Source # shrink :: WeekDate -> [WeekDate] Source #
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 Methods randomR :: RandomGen g => (MondayWeek, MondayWeek) -> g -> (MondayWeek, g) Source # random :: RandomGen g => g -> (MondayWeek, g) Source # randomRs :: RandomGen g => (MondayWeek, MondayWeek) -> g -> [MondayWeek] Source # randoms :: RandomGen g => g -> [MondayWeek] Source # randomRIO :: (MondayWeek, MondayWeek) -> IO MondayWeek Source # randomIO :: IO MondayWeek Source #
Random SundayWeek Source # |
Instance details Methods randomR :: RandomGen g => (SundayWeek, SundayWeek) -> g -> (SundayWeek, g) Source # random :: RandomGen g => g -> (SundayWeek, g) Source # randomRs :: RandomGen g => (SundayWeek, SundayWeek) -> g -> [SundayWeek] Source # randoms :: RandomGen g => g -> [SundayWeek] Source # randomRIO :: (SundayWeek, SundayWeek) -> IO SundayWeek Source # randomIO :: IO SundayWeek Source #
Random WeekDate Source # |
Instance details Methods randomR :: RandomGen g => (WeekDate, WeekDate) -> g -> (WeekDate, g) Source # random :: RandomGen g => g -> (WeekDate, g) Source # randomRs :: RandomGen g => (WeekDate, WeekDate) -> g -> [WeekDate] Source # randoms :: RandomGen g => g -> [WeekDate] Source # randomRIO :: (WeekDate, WeekDate) -> IO WeekDate Source # randomIO :: IO WeekDate Source #