Skip to content

Commit c09f828

Browse files
authored
Merge pull request #41 from haskellari/noble
GHC-8.6.5...9.10.1
2 parents aa9fc59 + 6eccab3 commit c09f828

File tree

22 files changed

+94
-647
lines changed

22 files changed

+94
-647
lines changed

.github/workflows/haskell-ci.yml

Lines changed: 57 additions & 124 deletions
Large diffs are not rendered by default.

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 1.9.7
2+
3+
- Drop support for GHCs prior 8.6.5
4+
15
# 1.9.6.1
26

37
- Support `time-1.12`.

cabal.haskell-ci

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
distribution: bionic
1+
distribution: jammy
22
branches: master
33
head-hackage: False
44

@@ -29,15 +29,3 @@ constraint-set time-1.9.2
2929
constraint-set time-1.8
3030
ghc: >= 7.8 && <8.7
3131
constraints: time ==1.8.*
32-
33-
constraint-set time-1.6
34-
ghc: >= 7.8 && <8.7
35-
constraints: time ==1.6.*
36-
37-
constraint-set time-1.5
38-
ghc: >= 7.4 && <7.9
39-
constraints: time ==1.5.*
40-
41-
constraint-set time-1.4
42-
ghc: >= 7.4 && <7.9
43-
constraints: time ==1.4.*

src/Data/Format.hs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
{-# LANGUAGE CPP #-}
21
module Data.Format
32
( Productish(..)
43
, Summish(..)
@@ -23,24 +22,12 @@ module Data.Format
2322
, decimalFormat
2423
) where
2524

26-
#if MIN_VERSION_base(4,9,0)
2725
import Control.Monad.Fail
2826
import Prelude hiding (fail)
29-
#endif
30-
#if MIN_VERSION_base(4,8,0)
3127
import Data.Void
32-
#endif
3328
import Data.Char
3429
import Text.ParserCombinators.ReadP
3530

36-
37-
#if MIN_VERSION_base(4,8,0)
38-
#else
39-
data Void
40-
absurd :: Void -> a
41-
absurd v = seq v $ error "absurd"
42-
#endif
43-
4431
class IsoVariant f where
4532
isoMap :: (a -> b) -> (b -> a) -> f a -> f b
4633

@@ -63,11 +50,7 @@ class IsoVariant f => Summish f where
6350

6451

6552
parseReader :: (
66-
#if MIN_VERSION_base(4,9,0)
6753
MonadFail m
68-
#else
69-
Monad m
70-
#endif
7154
) => ReadP t -> String -> m t
7255
parseReader readp s = case [ t | (t,"") <- readP_to_S readp s] of
7356
[t] -> return t
@@ -90,11 +73,7 @@ formatShow fmt t = case formatShowM fmt t of
9073

9174
-- | Parse a value in the format
9275
formatParseM :: (
93-
#if MIN_VERSION_base(4,9,0)
9476
MonadFail m
95-
#else
96-
Monad m
97-
#endif
9877
) => Format t -> String -> m t
9978
formatParseM format = parseReader $ formatReadP format
10079

src/Data/Time/Calendar/Compat.hs

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
{-# LANGUAGE CPP #-}
22
{-# LANGUAGE DeriveDataTypeable #-}
3-
#if __GLASGOW_HASKELL__ >= 710
43
{-# LANGUAGE PatternSynonyms #-}
54
{-# LANGUAGE ViewPatterns #-}
6-
#endif
75
module Data.Time.Calendar.Compat (
86
-- * Days
97
Day(..),addDays,diffDays,
@@ -31,9 +29,7 @@ module Data.Time.Calendar.Compat (
3129

3230
-- * Type aliases
3331
DayOfMonth, MonthOfYear, Year,
34-
#if __GLASGOW_HASKELL__ >= 710
3532
pattern YearMonthDay,
36-
#endif
3733
) where
3834

3935
import Data.Time.Calendar
@@ -48,10 +44,6 @@ import Data.Time.Calendar.Types
4844
import Data.Time.Calendar.WeekDate.Compat
4945
#endif
5046

51-
#if !MIN_VERSION_time(1,5,0)
52-
import System.Locale (TimeLocale (..))
53-
#endif
54-
5547
import Control.DeepSeq (NFData (..))
5648
import Data.Data (Data, Typeable)
5749
import Data.Monoid (Monoid (..))
@@ -71,14 +63,7 @@ deriving instance Data CalendarDiffDays
7163
data CalendarDiffDays = CalendarDiffDays
7264
{ cdMonths :: Integer
7365
, cdDays :: Integer
74-
} deriving (Eq,
75-
Data
76-
#if __GLASGOW_HASKELL__ >= 802
77-
#endif
78-
,Typeable
79-
#if __GLASGOW_HASKELL__ >= 802
80-
#endif
81-
)
66+
} deriving (Eq, Data, Typeable)
8267

8368
-- | Additive
8469
instance Semigroup CalendarDiffDays where
@@ -161,18 +146,14 @@ diffGregorianDurationRollOver day2 day1 = let
161146
#endif
162147

163148
#if !MIN_VERSION_time(1,11,0)
164-
#if __GLASGOW_HASKELL__ >= 710
165149
-- | Bidirectional abstract constructor for the proleptic Gregorian calendar.
166150
-- Invalid values will be clipped to the correct range, month first, then day.
167151
pattern YearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day
168152
pattern YearMonthDay y m d <- (toGregorian -> (y,m,d)) where
169153
YearMonthDay y m d = fromGregorian y m d
170154

171-
#if __GLASGOW_HASKELL__ >= 802
172155
{-# COMPLETE YearMonthDay #-}
173156
#endif
174-
#endif
175-
#endif
176157

177158
-------------------------------------------------------------------------------
178159
-- DayOfWeek

src/Data/Time/Calendar/Julian/Compat.hs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
{-# LANGUAGE CPP #-}
2-
#if __GLASGOW_HASKELL__ >= 710
32
{-# LANGUAGE PatternSynonyms #-}
43
{-# LANGUAGE ViewPatterns #-}
5-
#endif
64
module Data.Time.Calendar.Julian.Compat (
75
Year, MonthOfYear, DayOfMonth, DayOfYear,
86

@@ -14,9 +12,7 @@ module Data.Time.Calendar.Julian.Compat (
1412
isJulianLeapYear,
1513

1614
toJulian,fromJulian,
17-
#if __GLASGOW_HASKELL__ >= 710
1815
pattern JulianYearMonthDay,
19-
#endif
2016
fromJulianValid,showJulian,julianMonthLength,
2117

2218
-- calendrical arithmetic
@@ -80,15 +76,11 @@ diffJulianDurationRollOver day2 day1 = let
8076
#endif
8177

8278
#if !MIN_VERSION_time(1,11,0)
83-
#if __GLASGOW_HASKELL__ >= 710
8479
-- | Bidirectional abstract constructor for the proleptic Julian calendar.
8580
-- Invalid values will be clipped to the correct range, month first, then day.
8681
pattern JulianYearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day
8782
pattern JulianYearMonthDay y m d <- (toJulian -> (y,m,d)) where
8883
JulianYearMonthDay y m d = fromJulian y m d
8984

90-
#if __GLASGOW_HASKELL__ >= 802
9185
{-# COMPLETE JulianYearMonthDay #-}
9286
#endif
93-
#endif
94-
#endif

src/Data/Time/Calendar/Month/Compat.hs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
{-# LANGUAGE CPP #-}
22
{-# LANGUAGE DeriveDataTypeable #-}
3-
#if __GLASGOW_HASKELL__ >= 710
43
{-# LANGUAGE PatternSynonyms #-}
54
{-# LANGUAGE ViewPatterns #-}
6-
#endif
75
module Data.Time.Calendar.Month.Compat (
86
Month(..), addMonths, diffMonths,
9-
#if __GLASGOW_HASKELL__ >= 710
107
pattern YearMonth,
11-
#endif
128
fromYearMonthValid,
13-
#if __GLASGOW_HASKELL__ >= 710
149
pattern MonthDay,
15-
#endif
1610
fromMonthDayValid,
1711
-- * time-compat extras
1812
fromYearMonth,
@@ -113,10 +107,8 @@ toSomeDay (MkMonth m) =
113107

114108
#if MIN_VERSION_time(1,9,0)
115109
#define FORMAT_OPTS fo
116-
#elif MIN_VERSION_time(1,8,0)
117-
#define FORMAT_OPTS tl mpo i
118110
#else
119-
#define FORMAT_OPTS tl mpo
111+
#define FORMAT_OPTS tl mpo i
120112
#endif
121113

122114
#if MIN_VERSION_time(1,9,0)
@@ -158,17 +150,13 @@ toYearMonth :: Month -> (Year, MonthOfYear)
158150
toYearMonth (MkMonth m) = case divMod' m 12 of
159151
(y, my) -> (y, succ (fromInteger my))
160152

161-
#if __GLASGOW_HASKELL__ >= 710
162153
-- | Bidirectional abstract constructor.
163154
-- Invalid months of year will be clipped to the correct range.
164155
pattern YearMonth :: Year -> MonthOfYear -> Month
165156
pattern YearMonth y my <- (toYearMonth -> (y, my))
166157
where YearMonth y my = fromYearMonth y my
167158

168-
#if __GLASGOW_HASKELL__ >= 802
169159
{-# COMPLETE YearMonth #-}
170-
#endif
171-
#endif
172160

173161
-- | Part of 'MonthDay' pattern
174162
toMonthDay :: Day -> (Month,DayOfMonth)
@@ -184,17 +172,12 @@ fromMonthDayValid :: Month -> DayOfMonth -> Maybe Day
184172
fromMonthDayValid m dm = case toYearMonth m of
185173
(y, my) -> fromGregorianValid y my dm
186174

187-
#if __GLASGOW_HASKELL__ >= 710
188175
-- | Bidirectional abstract constructor.
189176
-- Invalid days of month will be clipped to the correct range.
190177
pattern MonthDay :: Month -> DayOfMonth -> Day
191178
pattern MonthDay m dm <- (toMonthDay -> (m,dm)) where
192179
MonthDay (YearMonth y my) dm = fromGregorian y my dm
193180

194-
195-
#if __GLASGOW_HASKELL__ >= 802
196181
{-# COMPLETE MonthDay #-}
197-
#endif
198-
#endif
199182

200183
#endif

src/Data/Time/Calendar/MonthDay/Compat.hs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
{-# LANGUAGE CPP #-}
2-
#if __GLASGOW_HASKELL__ >= 710
32
{-# LANGUAGE PatternSynonyms #-}
4-
#endif
53
module Data.Time.Calendar.MonthDay.Compat (
64
MonthOfYear, DayOfMonth, DayOfYear,
7-
#if __GLASGOW_HASKELL__ >= 710
85
-- patterns
9-
#endif
106
monthAndDayToDayOfYear,
117
monthAndDayToDayOfYearValid,
128
dayOfYearToMonthAndDay,
@@ -23,7 +19,6 @@ import Data.Time.Calendar.Types
2319

2420
{-
2521
#if !MIN_VERSION_time(1,12,0)
26-
#if __GLASGOW_HASKELL__ >= 710
2722
pattern January :: MonthOfYear
2823
pattern January = 1
2924
@@ -61,9 +56,6 @@ pattern November = 11
6156
pattern December :: MonthOfYear
6257
pattern December = 12
6358
64-
#if __GLASGOW_HASKELL__ >= 802
6559
{-# COMPLETE January, February, March, April, May, June, July, August, September, October, November, December #-}
6660
#endif
67-
#endif
68-
#endif
6961
-}
Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
{-# LANGUAGE CPP #-}
2-
#if __GLASGOW_HASKELL__ >= 710
32
{-# LANGUAGE PatternSynonyms #-}
43
{-# LANGUAGE ViewPatterns #-}
5-
#endif
64
module Data.Time.Calendar.OrdinalDate.Compat (
75
Day, Year, DayOfYear, WeekOfYear,
86
toOrdinalDate,
97
fromOrdinalDate,
10-
#if __GLASGOW_HASKELL__ >= 710
118
pattern YearDay,
12-
#endif
139
fromOrdinalDateValid,
1410
showOrdinalDate,
1511
isLeapYear,
@@ -24,11 +20,7 @@ module Data.Time.Calendar.OrdinalDate.Compat (
2420
import Data.Time.Orphans ()
2521

2622
import Data.Time.Calendar.OrdinalDate hiding (fromSundayStartWeekValid)
27-
#if MIN_VERSION_time(1,6,0)
2823
import Data.Time.Calendar.OrdinalDate (fromSundayStartWeekValid)
29-
#else
30-
import Data.Time.Calendar.Private
31-
#endif
3224

3325
#if !MIN_VERSION_time(1,11,0)
3426
import Data.Time.Calendar
@@ -37,46 +29,12 @@ import Data.Time.Calendar.Types
3729

3830
#if !MIN_VERSION_time(1,11,0)
3931

40-
#if __GLASGOW_HASKELL__ >= 710
4132
-- | Bidirectional abstract constructor for ISO 8601 Ordinal Date format.
4233
-- Invalid day numbers will be clipped to the correct range (1 to 365 or 366).
4334
pattern YearDay :: Year -> DayOfYear -> Day
4435
pattern YearDay y d <- (toOrdinalDate -> (y,d)) where
4536
YearDay y d = fromOrdinalDate y d
4637

47-
#if __GLASGOW_HASKELL__ >= 802
4838
{-# COMPLETE YearDay #-}
49-
#endif
50-
#endif
51-
52-
#endif
5339

54-
#if !MIN_VERSION_time(1,6,0)
55-
fromSundayStartWeekValid ::
56-
Year -- ^ Year.
57-
-> WeekOfYear -- ^ Sunday-starting week number (as @%U@ in 'Data.Time.Format.formatTime').
58-
-> Int -- ^ Day of week.
59-
-- Sunday is 0, Saturday is 6 (as @%w@ in 'Data.Time.Format.formatTime').
60-
-> Maybe Day
61-
fromSundayStartWeekValid year w d = do
62-
d' <- clipValid 0 6 d
63-
let
64-
-- first day of the year
65-
firstDay = fromOrdinalDate year 1
66-
-- 0-based week of year
67-
zbFirstSunday = (4 - toModifiedJulianDay firstDay) `mod` 7
68-
-- 0-based week number
69-
zbWeek = w - 1
70-
-- 0-based day of week
71-
zbDay = d'
72-
-- 0-based day in year
73-
zbYearDay = zbFirstSunday + 7 * toInteger zbWeek + toInteger zbDay
74-
zbYearDay' <-
75-
clipValid
76-
0
77-
(if isLeapYear year
78-
then 365
79-
else 364)
80-
zbYearDay
81-
return $ addDays zbYearDay' firstDay
8240
#endif

src/Data/Time/Calendar/Quarter/Compat.hs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
{-# LANGUAGE CPP #-}
22
{-# LANGUAGE DeriveDataTypeable #-}
3-
#if __GLASGOW_HASKELL__ >= 710
43
{-# LANGUAGE PatternSynonyms #-}
54
{-# LANGUAGE ViewPatterns #-}
6-
#endif
75
module Data.Time.Calendar.Quarter.Compat (
86
QuarterOfYear(..), addQuarters, diffQuarters,
97
Quarter(..),
10-
#if __GLASGOW_HASKELL__ >= 710
118
pattern YearQuarter,
12-
#endif
139
monthOfYearQuarter,
1410
monthQuarter,
1511
dayQuarter,
@@ -122,16 +118,12 @@ addQuarters n (MkQuarter a) = MkQuarter $ a + n
122118
diffQuarters :: Quarter -> Quarter -> Integer
123119
diffQuarters (MkQuarter a) (MkQuarter b) = a - b
124120

125-
#if __GLASGOW_HASKELL__ >= 710
126121
-- | Bidirectional abstract constructor.
127122
pattern YearQuarter :: Year -> QuarterOfYear -> Quarter
128123
pattern YearQuarter y qy <- (toYearQuarter -> (y, qy))
129124
where YearQuarter y qy = fromYearQuarter y qy
130125

131-
#if __GLASGOW_HASKELL__ >= 802
132126
{-# COMPLETE YearQuarter #-}
133-
#endif
134-
#endif
135127

136128
monthOfYearQuarter :: MonthOfYear -> QuarterOfYear
137129
monthOfYearQuarter my | my <= 3 = Q1

0 commit comments

Comments
 (0)