Skip to content

Commit b05f7c5

Browse files
authored
Merge pull request #73 from fumieval/master
Bring everything across from master fumieval/thyme
2 parents c0dcc25 + 85854ea commit b05f7c5

File tree

13 files changed

+519
-136
lines changed

13 files changed

+519
-136
lines changed

.github/workflows/haskell.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
types:
8+
- opened
9+
- synchronize
10+
jobs:
11+
build:
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
os: [macos-latest, ubuntu-latest]
16+
cabal: ["3.8"]
17+
ghc: ["8.4.4", "8.6.5", "8.8.4", "8.10.7", "9.0.2", "9.2.6", "9.4.4"]
18+
19+
runs-on: ${{ matrix.os }}
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
- uses: haskell/actions/setup@v2
24+
id: setup-haskell-cabal
25+
with:
26+
ghc-version: ${{ matrix.ghc }}
27+
cabal-version: ${{ matrix.cabal }}
28+
- name: Cabal Update
29+
run: |
30+
cabal v2-update
31+
cabal v2-freeze $CONFIG
32+
- uses: actions/[email protected]
33+
with:
34+
path: |
35+
${{ steps.setup-haskell-cabal.outputs.cabal-store }}
36+
dist-newstyle
37+
key: ${{ runner.os }}-${{ matrix.ghc }}-${{ hashFiles('cabal.project.freeze') }}
38+
restore-keys: |
39+
${{ runner.os }}-${{ matrix.ghc }}-${{ matrix.cabal }}-
40+
- name: Build all
41+
run: |
42+
cabal build all
43+
cabal sdist all
44+
- name: Run tests
45+
run: |
46+
cabal test all
47+
- name: Build haddock
48+
run: |
49+
cabal haddock all

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
/dist/
2+
/dist-newstyle/

.travis.yml

Lines changed: 0 additions & 94 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## unreleased
2+
3+
## 0.4
4+
5+
* Supported GHC 9 and older
6+
* Changed the type of `mkUTCTime :: Day -> DiffTime -> UTCTime` to `mkUTCTime :: Year -> Month -> DayOfMonth -> Hour -> Minute -> Double -> UTCTime`. Use the `UTCTime` pattern synonym instead if needed.
7+
* Miscellaneous API additions and refactors

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# thyme
22

3-
[![Status](https://travis-ci.org/liyang/thyme.png)][travis] [Hackage][]
3+
[![CI](https://github.com/fumieval/thyme/actions/workflows/haskell.yml/badge.svg)](https://github.com/fumieval/thyme/actions/workflows/haskell.yml) [![Hackage](https://img.shields.io/hackage/v/thyme.svg?logo=haskell)](http://hackage.haskell.org/package/thyme)
44

55
A faster date and time library based on [time][].
66

@@ -14,19 +14,17 @@ A faster date and time library based on [time][].
1414
### Library
1515

1616
```
17-
stack build --flag thyme:lens
17+
cabal build
1818
```
1919

2020
### Haddock
2121

2222
```
23-
stack haddock --flag thyme:lens
23+
cabal haddock
2424
```
2525

26-
[Hackage]: http://hackage.haskell.org/package/thyme
2726
[Iso']: http://hackage.haskell.org/package/lens/docs/Control-Lens-Iso.html#t:Iso-39-
2827
[Lens']: http://hackage.haskell.org/package/lens/docs/Control-Lens-Lens.html#t:Lens-39-
2928
[lens]: http://hackage.haskell.org/package/lens
3029
[time]: http://hackage.haskell.org/package/time
31-
[travis]: https://travis-ci.org/liyang/thyme
3230

src/Data/Thyme/Clock/TAI.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ diffAbsoluteTime = (.-.)
344344
-- @
345345
{-# INLINE utcToTAITime #-}
346346
utcToTAITime :: TAIUTCMap -> UTCTime -> AbsoluteTime
347-
utcToTAITime = view . absoluteTime
347+
utcToTAITime m = view (absoluteTime m)
348348

349349
-- | Using a 'TAIUTCMap', convert a 'AbsoluteTime' to 'UTCTime'.
350350
--
@@ -353,5 +353,5 @@ utcToTAITime = view . absoluteTime
353353
-- @
354354
{-# INLINE taiToUTCTime #-}
355355
taiToUTCTime :: TAIUTCMap -> AbsoluteTime -> UTCTime
356-
taiToUTCTime = review . absoluteTime
356+
taiToUTCTime m = review (absoluteTime m)
357357

src/Data/Thyme/Format.hs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
{-# LANGUAGE StandaloneDeriving #-}
55
{-# LANGUAGE ViewPatterns #-}
66
{-# OPTIONS_GHC -fno-warn-orphans #-}
7+
#if __GLASGOW_HASKELL__ >= 810
8+
{-# OPTIONS_GHC -Wno-unused-record-wildcards #-}
9+
#endif
10+
711
#include "thyme.h"
812

913
-- | Formatting and parsing for dates and times.
@@ -284,7 +288,7 @@ showsY = showsYear
284288

285289
instance FormatTime TimeOfDay where
286290
{-# INLINEABLE showsTime #-}
287-
showsTime TimeLocale {..} (TimeOfDay h m (DiffTime s)) = \ def c -> case c of
291+
showsTime TimeLocale{..} (TimeOfDay h m (DiffTime s)) = \ def c -> case c of
288292
-- aggregate
289293
'R' -> shows02 h . (:) ':' . shows02 m
290294
'T' -> shows02 h . (:) ':' . shows02 m . (:) ':' . shows02 si
@@ -838,7 +842,7 @@ instance ParseTime LocalTime where
838842

839843
instance ParseTime Day where
840844
{-# INLINE buildTime #-}
841-
buildTime tp@TimeParse {..}
845+
buildTime tp
842846
| tp ^. flag IsOrdinalDate = ordinalDate # buildTime tp
843847
| tp ^. flag IsGregorian = gregorian # buildTime tp
844848
| tp ^. flag IsWeekDate = weekDate # buildTime tp

src/Data/Thyme/LocalTime.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ timeOfDayToDayFraction = view dayFraction
620620
-- @
621621
{-# INLINE utcToLocalTime #-}
622622
utcToLocalTime :: TimeZone -> UTCTime -> LocalTime
623-
utcToLocalTime = view . utcLocalTime
623+
utcToLocalTime tz = view (utcLocalTime tz)
624624

625625
-- | Convert a 'LocalTime' in the given 'TimeZone' to a 'UTCTime'.
626626
--
@@ -629,7 +629,7 @@ utcToLocalTime = view . utcLocalTime
629629
-- @
630630
{-# INLINE localTimeToUTC #-}
631631
localTimeToUTC :: TimeZone -> LocalTime -> UTCTime
632-
localTimeToUTC = review . utcLocalTime
632+
localTimeToUTC tz = review (utcLocalTime tz)
633633

634634
-- | Convert a 'UniversalTime' to a 'LocalTime' at the given medidian in
635635
-- degrees East.
@@ -639,7 +639,7 @@ localTimeToUTC = review . utcLocalTime
639639
-- @
640640
{-# INLINE ut1ToLocalTime #-}
641641
ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime
642-
ut1ToLocalTime = view . ut1LocalTime
642+
ut1ToLocalTime l = view (ut1LocalTime l)
643643

644644
-- | Convert a 'LocalTime' at the given meridian in degrees East to
645645
-- a 'UniversalTime'.
@@ -649,7 +649,7 @@ ut1ToLocalTime = view . ut1LocalTime
649649
-- @
650650
{-# INLINE localTimeToUT1 #-}
651651
localTimeToUT1 :: Rational -> LocalTime -> UniversalTime
652-
localTimeToUT1 = review . ut1LocalTime
652+
localTimeToUT1 l = review (ut1LocalTime l)
653653

654654
-- | Convert a 'UTCTime' and the given 'TimeZone' into a 'ZonedTime'.
655655
--

src/Data/Thyme/Time/Core.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import qualified Data.Time.Calendar as T
3434
import qualified Data.Time.Clock as T
3535
import qualified Data.Time.Clock.TAI as T
3636
import qualified Data.Time.LocalTime as T
37-
import Unsafe.TrueName
37+
import Data.Thyme.TrueName
3838

3939
------------------------------------------------------------------------
4040
-- * Type conversion

0 commit comments

Comments
 (0)