Skip to content

Commit 9ec61a1

Browse files
authored
Merge pull request #56 from ymeister/ghc(js)-9.10
Build with ghc(js) 9.8.2 + 9.10.1
2 parents 625ecd5 + a58e289 commit 9ec61a1

File tree

10 files changed

+126
-106
lines changed

10 files changed

+126
-106
lines changed

.github/workflows/haskell.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
strategy:
88
fail-fast: false
99
matrix:
10-
ghc: ['8.4.4', '8.6.5', '8.8.4', '8.10.7', '9.0.1', '9.2.5', '9.4.5', '9.6.1']
10+
ghc: ['8.4.4', '8.6.5', '8.8.4', '8.10.7', '9.0.1', '9.2.5', '9.4.5', '9.6.1', '9.8.2', '9.10.1']
1111
os: ['ubuntu-latest', 'macos-latest']
1212
runs-on: ${{ matrix.os }}
1313

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
dist
22
cabal.sandbox.config
3+
cabal.project.local
34
.cabal-sandbox/
45
dist-*
56
cabal-dev

cabal.project

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
11
packages: .
2+
3+
if arch(javascript)
4+
extra-packages: ghci

patch.cabal

Lines changed: 110 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -1,114 +1,123 @@
1-
Name: patch
2-
Version: 0.0.8.2
3-
Synopsis: Data structures for describing changes to other data structures.
4-
Description:
5-
Data structures for describing changes to other data structures.
6-
.
7-
In this library, a patch is something which can be applied, analogous to a
8-
function, and which distinguishes returning the argument it was provided from
9-
returning something else.
10-
License: BSD3
11-
License-file: LICENSE
12-
Author: Ryan Trinkle
13-
Maintainer: [email protected]
14-
Stability: Experimental
15-
Category: FRP
16-
Build-type: Simple
17-
Cabal-version: >=1.10
18-
homepage: https://obsidian.systems
19-
bug-reports: https://github.com/reflex-frp/patch/issues
1+
cabal-version: >=1.10
2+
name: patch
3+
version: 0.0.8.2
4+
license: BSD3
5+
license-file: LICENSE
6+
maintainer: [email protected]
7+
author: Ryan Trinkle
8+
stability: Experimental
9+
tested-with:
10+
ghc ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1 || ==9.2.5 || ==9.4.5 || ==9.6.1 || ==9.8.2 || ==9.10.1
11+
ghcjs ==8.6 || ==8.10
12+
13+
homepage: https://obsidian.systems
14+
bug-reports: https://github.com/reflex-frp/patch/issues
15+
synopsis:
16+
Data structures for describing changes to other data structures.
17+
18+
description:
19+
Data structures for describing changes to other data structures.
20+
.
21+
In this library, a patch is something which can be applied, analogous to a
22+
function, and which distinguishes returning the argument it was provided from
23+
returning something else.
24+
25+
category: FRP
26+
build-type: Simple
2027
extra-source-files:
21-
README.md
22-
ChangeLog.md
28+
README.md
29+
ChangeLog.md
2330

24-
tested-with:
25-
GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1 || ==9.2.5 || ==9.4.5 || ==9.6.1
26-
GHCJS ==8.6 || ==8.10
31+
source-repository head
32+
type: git
33+
location: https://github.com/reflex-frp/patch
2734

2835
flag split-these
29-
description: Use split these/semialign packages
30-
manual: False
31-
default: True
36+
description: Use split these/semialign packages
3237

3338
flag hlint
34-
description: Enable hlint test
35-
default: True
39+
description: Enable hlint test
3640

3741
library
38-
hs-source-dirs: src
39-
default-language: Haskell2010
40-
build-depends: base >= 4.9 && < 4.19
41-
, constraints-extras >= 0.3 && < 0.5
42-
, commutative-semigroups >= 0.0 && < 0.2
43-
, containers >= 0.6 && < 0.7
44-
, dependent-map >= 0.3 && < 0.5
45-
, dependent-sum >= 0.6 && < 0.8
46-
, lens >= 4.7 && < 5.3
47-
, indexed-traversable >= 0.1 && < 0.2
48-
, semigroupoids >= 4.0 && < 7
49-
, transformers >= 0.5.6.0 && < 0.7
50-
, witherable >= 0.3 && < 0.5
51-
52-
if impl(ghc < 8.6)
53-
build-depends: base-orphans >= 0.8 && < 0.9
54-
55-
exposed-modules: Data.Functor.Misc
56-
, Data.Monoid.DecidablyEmpty
57-
, Data.Patch
58-
, Data.Patch.Class
59-
, Data.Patch.DMap
60-
, Data.Patch.DMapWithMove
61-
, Data.Patch.IntMap
62-
, Data.Patch.Map
63-
, Data.Patch.MapWithMove
64-
, Data.Patch.MapWithPatchingMove
65-
, Data.Patch.PatchOrReplacement
66-
, Data.Semigroup.Additive
67-
68-
ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs
69-
default-extensions: PolyKinds
70-
71-
if flag(split-these)
72-
build-depends: these >= 1 && <1.3
73-
, semialign >=1 && <1.4
74-
, monoidal-containers >= 0.6 && < 0.7
75-
else
76-
build-depends: these >= 0.4 && <0.9
77-
, monoidal-containers == 0.4.0.0
42+
exposed-modules:
43+
Data.Functor.Misc
44+
Data.Monoid.DecidablyEmpty
45+
Data.Patch
46+
Data.Patch.Class
47+
Data.Patch.DMap
48+
Data.Patch.DMapWithMove
49+
Data.Patch.IntMap
50+
Data.Patch.Map
51+
Data.Patch.MapWithMove
52+
Data.Patch.MapWithPatchingMove
53+
Data.Patch.PatchOrReplacement
54+
Data.Semigroup.Additive
55+
56+
hs-source-dirs: src
57+
default-language: Haskell2010
58+
default-extensions: PolyKinds
59+
ghc-options: -Wall -fwarn-redundant-constraints -fwarn-tabs
60+
build-depends:
61+
base >=4.9 && <=4.21,
62+
constraints-extras >=0.3 && <0.5,
63+
commutative-semigroups >=0.0 && <0.3,
64+
containers >=0.6 && <0.8,
65+
dependent-map >=0.3 && <0.5,
66+
dependent-sum >=0.6 && <0.8,
67+
lens >=4.7 && <5.4,
68+
indexed-traversable >=0.1 && <0.2,
69+
semigroupoids >=4.0 && <7,
70+
transformers >=0.5.6.0 && <0.7,
71+
witherable >=0.3 && <0.6
72+
73+
if impl(ghc <8.6)
74+
build-depends: base-orphans >=0.8 && <0.10
75+
76+
if flag(split-these)
77+
build-depends:
78+
these >=1 && <1.3,
79+
semialign >=1 && <1.4,
80+
monoidal-containers >=0.6 && <0.7
81+
82+
else
83+
build-depends:
84+
these >=0.4 && <0.9,
85+
monoidal-containers ==0.4.0.0
7886

7987
test-suite tests
80-
default-language: Haskell2010
81-
type: exitcode-stdio-1.0
82-
main-is: tests.hs
83-
hs-source-dirs: test
84-
build-depends: base
85-
, patch
86-
, containers
87-
, hedgehog
88-
, HUnit
89-
if impl(ghcjs)
90-
buildable: False
88+
type: exitcode-stdio-1.0
89+
main-is: tests.hs
90+
hs-source-dirs: test
91+
default-language: Haskell2010
92+
build-depends:
93+
base,
94+
patch,
95+
containers,
96+
hedgehog <1.6,
97+
HUnit <1.7
98+
99+
if (impl(ghcjs >=0) || arch(javascript))
100+
buildable: False
91101

92102
test-suite hlint
93-
-- hlint doesn't support ghc-9.6 yet (as of version 3.5)
94-
if impl(ghc >= 9.6)
95-
buildable: False
96-
default-language: Haskell2010
97-
type: exitcode-stdio-1.0
98-
main-is: hlint.hs
99-
hs-source-dirs: test
100-
build-depends: base
101-
, directory
102-
, filepath
103-
, filemanip
104-
if impl(ghc < 9.2)
105-
build-depends: hlint (< 2.1 || >= 2.2.2) && < 3.5
106-
else
107-
build-depends: hlint >= 3.5 && < 3.6
108-
109-
if impl(ghcjs) || !flag(hlint)
110-
buildable: False
103+
type: exitcode-stdio-1.0
104+
main-is: hlint.hs
105+
hs-source-dirs: test
106+
default-language: Haskell2010
107+
build-depends:
108+
base,
109+
directory,
110+
filepath,
111+
filemanip
111112

112-
source-repository head
113-
type: git
114-
location: https://github.com/reflex-frp/patch
113+
if impl(ghc >=9.6)
114+
buildable: False
115+
116+
if impl(ghc <9.2)
117+
build-depends: hlint (<2.1 || >=2.2.2) && <3.5
118+
119+
else
120+
build-depends: hlint >=3.5 && <3.6
121+
122+
if ((impl(ghcjs >=0) || arch(javascript)) || !flag(hlint))
123+
buildable: False

release.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
let
55
native-reflex-platform = reflex-platform-fun { __useNewerCompiler = true; };
66
inherit (native-reflex-platform.nixpkgs) lib;
7-
systems = ["x86_64-linux" "x86_64-darwin"];
7+
systems = ["x86_64-linux"];
88

99
perPlatform = lib.genAttrs systems (system: let
1010
reflex-platform = reflex-platform-fun { inherit system; __useNewerCompiler = true; };

src/Data/Patch.hs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,20 @@ module Data.Patch
1414
) where
1515

1616
import Data.Semigroup.Commutative
17-
import Control.Applicative (liftA2)
1817
import Data.Functor.Const (Const (..))
1918
import Data.Functor.Identity
2019
import Data.Map.Monoidal (MonoidalMap)
2120
import Data.Proxy
21+
import GHC.Generics
22+
23+
#if !MIN_VERSION_base(4,18,0)
24+
import Control.Applicative (liftA2)
25+
#endif
26+
2227
#if !MIN_VERSION_base(4,11,0)
2328
import Data.Semigroup (Semigroup (..))
2429
#endif
25-
import GHC.Generics
2630

27-
import qualified Data.Semigroup.Additive as X
2831
import Data.Patch.Class as X
2932
import Data.Patch.DMap as X hiding (getDeletions)
3033
import Data.Patch.DMapWithMove as X

src/Data/Patch/IntMap.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
{-# LANGUAGE StandaloneDeriving #-}
77
{-# LANGUAGE TemplateHaskell #-}
88
{-# LANGUAGE TypeFamilies #-}
9+
{-# LANGUAGE TypeOperators #-}
910

1011
{-|
1112
Description: Module containing 'PatchIntMap', a 'Patch' for 'IntMap'.

src/Data/Patch/Map.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
{-# LANGUAGE StandaloneDeriving #-}
88
{-# LANGUAGE TemplateHaskell #-}
99
{-# LANGUAGE TypeFamilies #-}
10+
{-# LANGUAGE TypeOperators #-}
1011

1112
{-|
1213
Description: A basic 'Patch' on 'Map'

src/Data/Patch/MapWithMove.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
{-# LANGUAGE TemplateHaskell #-}
1313
{-# LANGUAGE TypeApplications #-}
1414
{-# LANGUAGE TypeFamilies #-}
15+
{-# LANGUAGE TypeOperators #-}
1516
{-# LANGUAGE ViewPatterns #-}
1617

1718
{-|

src/Data/Patch/MapWithPatchingMove.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
{-# LANGUAGE StandaloneDeriving #-}
1010
{-# LANGUAGE TemplateHaskell #-}
1111
{-# LANGUAGE TypeFamilies #-}
12+
{-# LANGUAGE TypeOperators #-}
1213
{-# LANGUAGE UndecidableInstances #-}
1314

1415
{-|

0 commit comments

Comments
 (0)