git.iko.soy/typeable/extra-time
on master help sign in
exterminate orphans
commit4d32a6342b63cdd86c4dd0574bbb1cfed03a4af5 authorVille Tirronen <ville@typeable.io> dateTue 11 Apr 2023, 14:58 (4 years ago) parent3ae39c2
3 files changed+7−20
extra-time.cabal+4−1 src/Data/Time/Holidays.hs+3−4 src/Holidays/Orphans.hs−15
extra-time.cabal+4−1
@@ -15,7 +15,9 @@ library
1515 DataKinds
1616 DeriveFunctor
1717 DeriveGeneric
18+ DerivingStrategies
1819 GeneralizedNewtypeDeriving
20+ ImportQualifiedPost
1921 KindSignatures
2022 OverloadedStrings
2123 RankNTypes
@@ -46,6 +48,7 @@ library
4648 QuickCheck ,
4749 quickcheck-instances ,
4850 timezone-series ,
51+ vector ,
4952 if !impl(ghcjs)
5053 build-depends:
5154 dom-parser ,
@@ -58,4 +61,4 @@ library
5861 Data.Time.Utils
5962 other-modules:
6063 Data.Time.LocalTime.Instances
61− Holidays.Orphans
64+ Holidays.EDay
src/Data/Time/Holidays.hs+3−4
@@ -8,15 +8,14 @@ import qualified Data.Set as S
88import Data.Time
99import Data.Time.Calendar.OrdinalDate
1010import Data.Time.LocalTime.TimeZone.Series
11−import Data.Csv (Only(..))
1211import Data.FileEmbed (makeRelativeToProject)
1312import Data.Csv.Embed (embedRecords)
14−import Holidays.Orphans ()
13+import Holidays.EDay (eDayToDay, EDay)
1514
1615opmHolidays2023to2030 :: S.Set Day
1716opmHolidays2023to2030 = S.fromList $
18− fromOnly <$>
19− $(makeRelativeToProject "data/opm-holidays.csv" >>= embedRecords (Proxy @(Only Day)))
17+ eDayToDay <$>
18+ $(makeRelativeToProject "data/opm-holidays.csv" >>= embedRecords (Proxy @(EDay)))
2019
2120addTimeExcludingHolidays
2221 :: S.Set Day
src/Holidays/Orphans.hsdeleted−15
@@ -1,15 +0,0 @@
1−{-# OPTIONS -Wno-orphans #-}
2−
3−module Holidays.Orphans () where
4−
5−import Data.ByteString.Char8
6−import Data.Csv
7−import Data.Time
8−import Language.Haskell.TH.Lift
9−
10−deriveLift ''Day
11−deriveLift ''Only
12−
13−instance FromField Day where
14− parseField =
15− parseTimeM False defaultTimeLocale (iso8601DateFormat Nothing) . unpack