Skip to content

Commit 0eece63

Browse files
Merge pull request #135 from chrisdone/cd/2026-05-29-expand-date-api
Add DayOfweek, toGregorian
2 parents 818b338 + 194340a commit 0eece63

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

examples/39-day.hell

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ main = do
44
day2 <- Maybe.maybe (Error.error "Invalid") IO.pure $ Day.iso8601ParseM "2025-08-09"
55
IO.print $ Eq.eq day1 day2 -- True
66
Text.putStrLn $ Day.iso8601Show day1 -- 2025-08-09
7+
IO.print $ Day.dayOfWeek day1

src/Hell.hs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ import qualified Data.Text.Encoding as Text
9595
import qualified Data.Text.IO as Text
9696
import Data.These (These)
9797
import qualified Data.These as These
98-
import Data.Time (Day, TimeOfDay, UTCTime)
98+
import Data.Time (Day, TimeOfDay, UTCTime, DayOfWeek)
9999
import qualified Data.Time as Time
100100
import qualified Data.Time.Format.ISO8601 as Time
101101
import Data.Traversable
@@ -853,6 +853,7 @@ instances =
853853
instance0 @Show @Int,
854854
instance0 @Show @Integer,
855855
instance0 @Show @Day,
856+
instance0 @Show @DayOfWeek,
856857
instance0 @Show @UTCTime,
857858
instance0 @Show @TimeOfDay,
858859
instance0 @Show @Double,
@@ -874,6 +875,7 @@ instances =
874875
instance0 @Eq @Int,
875876
instance0 @Eq @Integer,
876877
instance0 @Eq @Day,
878+
instance0 @Eq @DayOfWeek,
877879
instance0 @Eq @UTCTime,
878880
instance0 @Eq @TimeOfDay,
879881
instance0 @Eq @Double,
@@ -893,6 +895,7 @@ instances =
893895
instance0 @Ord @Int,
894896
instance0 @Ord @Integer,
895897
instance0 @Ord @Day,
898+
instance0 @Ord @DayOfWeek,
896899
instance0 @Ord @UTCTime,
897900
instance0 @Ord @TimeOfDay,
898901
instance0 @Ord @Double,
@@ -1707,6 +1710,7 @@ supportedTypeConstructors =
17071710
("()", SomeTypeRep $ typeRep @()),
17081711
("Handle", SomeTypeRep $ typeRep @IO.Handle),
17091712
("Day", SomeTypeRep $ typeRep @Day),
1713+
("DayOfWeek", SomeTypeRep $ typeRep @DayOfWeek),
17101714
("UTCTime", SomeTypeRep $ typeRep @UTCTime),
17111715
("TimeOfDay", SomeTypeRep $ typeRep @TimeOfDay),
17121716
("Builder", SomeTypeRep $ typeRep @Builder),
@@ -1744,8 +1748,10 @@ supportedLits =
17441748
lit' "Text.setStdin" t_setStdin,
17451749
-- Dates
17461750
lit' "Day.fromGregorianValid" Time.fromGregorianValid,
1751+
lit' "Day.toGregorian" Time.toGregorian,
17471752
lit' "Day.addDays" Time.addDays,
17481753
lit' "Day.diffDays" Time.diffDays,
1754+
lit' "Day.dayOfWeek" Time.dayOfWeek,
17491755
lit' "Day.iso8601Show" (Text.pack . Time.iso8601Show :: Day -> Text),
17501756
lit' "Day.iso8601ParseM" (Time.iso8601ParseM . Text.unpack :: Text -> Maybe Day),
17511757
-- UTCTime

0 commit comments

Comments
 (0)