Skip to content

Commit 895f703

Browse files
committed
Use GHC2021 plus LambdaCase
1 parent cd90dd7 commit 895f703

File tree

39 files changed

+78
-297
lines changed

39 files changed

+78
-297
lines changed

io-classes/io-classes.cabal

Lines changed: 16 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -87,31 +87,8 @@ library
8787
Control.Monad.Class.MonadTime
8888
Control.Monad.Class.MonadTimer
8989
Control.Monad.Class.MonadTest
90-
default-language: Haskell2010
91-
default-extensions: ImportQualifiedPost
92-
other-extensions: CPP
93-
DataKinds
94-
DefaultSignatures
95-
DeriveFunctor
96-
DeriveGeneric
97-
DerivingStrategies
98-
ExistentialQuantification
99-
ExplicitNamespaces
100-
FlexibleContexts
101-
FlexibleInstances
102-
FunctionalDependencies
103-
GADTs
104-
GeneralisedNewtypeDeriving
105-
MultiParamTypeClasses
106-
NamedFieldPuns
107-
QuantifiedConstraints
108-
RankNTypes
109-
ScopedTypeVariables
110-
StandaloneDeriving
111-
TypeFamilies
112-
TypeFamilyDependencies
113-
TypeOperators
114-
UndecidableInstances
90+
default-language: GHC2021
91+
default-extensions: LambdaCase
11592
build-depends: base >=4.9 && <4.22,
11693
array,
11794
async >=2.1,
@@ -138,8 +115,8 @@ library strict-stm
138115
Control.Concurrent.Class.MonadSTM.Strict.TQueue
139116
Control.Concurrent.Class.MonadSTM.Strict.TVar
140117
reexported-modules: Control.Concurrent.Class.MonadSTM.TSem as Control.Concurrent.Class.MonadSTM.Strict.TSem
141-
default-language: Haskell2010
142-
default-extensions: ImportQualifiedPost
118+
default-language: GHC2021
119+
default-extensions: LambdaCase
143120
build-depends: base >= 4.9 && <4.22,
144121
array,
145122
stm >= 2.5 && <2.6,
@@ -161,8 +138,8 @@ library strict-mvar
161138
hs-source-dirs: strict-mvar/src
162139

163140
exposed-modules: Control.Concurrent.Class.MonadMVar.Strict
164-
default-language: Haskell2010
165-
default-extensions: ImportQualifiedPost
141+
default-language: GHC2021
142+
default-extensions: LambdaCase
166143
build-depends: base >= 4.9 && <4.22,
167144
io-classes:io-classes,
168145
ghc-options: -Wall
@@ -180,16 +157,8 @@ library si-timers
180157
exposed-modules: Control.Monad.Class.MonadTime.SI
181158
Control.Monad.Class.MonadTimer.SI
182159
other-modules: Control.Monad.Class.MonadTimer.NonStandard
183-
default-language: Haskell2010
184-
default-extensions: ImportQualifiedPost
185-
other-extensions: BangPatterns,
186-
CPP,
187-
ConstraintKinds,
188-
DefaultSignatures,
189-
DeriveGeneric,
190-
NumericUnderscores,
191-
ScopedTypeVariables,
192-
TypeFamilies
160+
default-language: GHC2021
161+
default-extensions: LambdaCase
193162
build-depends: base >=4.9 && <4.22,
194163
deepseq,
195164
mtl,
@@ -221,16 +190,16 @@ library mtl
221190
io-classes:{io-classes,si-timers}
222191

223192
hs-source-dirs: mtl
224-
default-language: Haskell2010
225-
default-extensions: ImportQualifiedPost
193+
default-language: GHC2021
194+
default-extensions: LambdaCase
226195

227196
library testlib
228197
import: warnings
229198
visibility: public
230199
hs-source-dirs: test
231200
exposed-modules: Test.Control.Concurrent.Class.MonadMVar.Strict.WHNF
232-
default-language: Haskell2010
233-
default-extensions: ImportQualifiedPost
201+
default-language: GHC2021
202+
default-extensions: LambdaCase
234203
build-depends: base >=4.9 && <4.22,
235204
nothunks,
236205
QuickCheck,
@@ -243,8 +212,8 @@ test-suite test-strict-mvar
243212
hs-source-dirs: strict-mvar/test
244213
main-is: Main.hs
245214

246-
default-language: Haskell2010
247-
default-extensions: ImportQualifiedPost
215+
default-language: GHC2021
216+
default-extensions: LambdaCase
248217
build-depends: base,
249218
QuickCheck,
250219
tasty,
@@ -269,8 +238,8 @@ test-suite test-si-timers
269238
hs-source-dirs: si-timers/test
270239
main-is: Main.hs
271240
other-modules: Test.MonadTimer
272-
default-language: Haskell2010
273-
default-extensions: ImportQualifiedPost
241+
default-language: GHC2021
242+
default-extensions: LambdaCase
274243
build-depends: base,
275244

276245
QuickCheck,

io-classes/mtl/Control/Monad/Class/MonadSTM/Trans.hs

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,10 @@
1-
{-# LANGUAGE CPP #-}
2-
{-# LANGUAGE DeriveFunctor #-}
3-
{-# LANGUAGE FlexibleContexts #-}
4-
{-# LANGUAGE FlexibleInstances #-}
5-
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
6-
{-# LANGUAGE KindSignatures #-}
7-
{-# LANGUAGE MultiParamTypeClasses #-}
8-
{-# LANGUAGE ScopedTypeVariables #-}
9-
{-# LANGUAGE StandaloneDeriving #-}
10-
{-# LANGUAGE TypeApplications #-}
11-
{-# LANGUAGE TypeFamilies #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE MultiParamTypeClasses #-}
3+
{-# LANGUAGE TypeFamilies #-}
124

135
-- undecidable instances needed for 'ContTSTM' instances of
146
-- 'MonadThrow' and 'MonadCatch' type classes.
15-
{-# LANGUAGE UndecidableInstances #-}
7+
{-# LANGUAGE UndecidableInstances #-}
168
{-# OPTIONS_GHC -Wno-orphans #-}
179

1810
module Control.Monad.Class.MonadSTM.Trans (ContTSTM (..)) where

io-classes/mtl/Control/Monad/Class/MonadThrow/Trans.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
{-# LANGUAGE CPP #-}
2-
{-# LANGUAGE RankNTypes #-}
1+
{-# LANGUAGE CPP #-}
32
{-# OPTIONS_GHC -Wno-orphans #-}
43
module Control.Monad.Class.MonadThrow.Trans () where
54

io-classes/si-timers/src/Control/Monad/Class/MonadTime/SI.hs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
{-# LANGUAGE DefaultSignatures #-}
2-
{-# LANGUAGE DeriveAnyClass #-}
3-
{-# LANGUAGE DeriveGeneric #-}
4-
{-# LANGUAGE DerivingStrategies #-}
5-
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
6-
{-# LANGUAGE NumericUnderscores #-}
1+
{-# LANGUAGE DefaultSignatures #-}
2+
{-# LANGUAGE DeriveAnyClass #-}
3+
{-# LANGUAGE DerivingStrategies #-}
74

85
module Control.Monad.Class.MonadTime.SI
96
( MonadTime (..)

io-classes/si-timers/src/Control/Monad/Class/MonadTimer/SI.hs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
{-# LANGUAGE ConstraintKinds #-}
2-
{-# LANGUAGE InstanceSigs #-}
3-
{-# LANGUAGE LambdaCase #-}
4-
{-# LANGUAGE NumericUnderscores #-}
5-
{-# LANGUAGE ScopedTypeVariables #-}
6-
71
module Control.Monad.Class.MonadTimer.SI
82
( -- * Type classes
93
MonadDelay (..)

io-classes/src/Control/Concurrent/Class/MonadMVar.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
{-# LANGUAGE DefaultSignatures #-}
2-
{-# LANGUAGE FlexibleContexts #-}
3-
{-# LANGUAGE QuantifiedConstraints #-}
42
{-# LANGUAGE TypeFamilyDependencies #-}
53

64
module Control.Concurrent.Class.MonadMVar

io-classes/src/Control/Monad/Class/MonadAsync.hs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
{-# LANGUAGE CPP #-}
22
{-# LANGUAGE DataKinds #-}
33
{-# LANGUAGE DefaultSignatures #-}
4-
{-# LANGUAGE FlexibleContexts #-}
54
{-# LANGUAGE GADTs #-}
6-
{-# LANGUAGE MultiParamTypeClasses #-}
7-
{-# LANGUAGE QuantifiedConstraints #-}
8-
{-# LANGUAGE RankNTypes #-}
9-
{-# LANGUAGE ScopedTypeVariables #-}
105
{-# LANGUAGE TypeFamilyDependencies #-}
116
-- MonadAsync's ReaderT instance is undecidable.
127
{-# LANGUAGE UndecidableInstances #-}

io-classes/src/Control/Monad/Class/MonadFork.hs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
{-# LANGUAGE CPP #-}
2-
{-# LANGUAGE FlexibleContexts #-}
3-
{-# LANGUAGE RankNTypes #-}
4-
{-# LANGUAGE ScopedTypeVariables #-}
5-
{-# LANGUAGE TypeFamilies #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE TypeFamilies #-}
63

74
-- | A generalisation of
85
-- <https://hackage.haskell.org/package/base/docs/Control-Concurrent.html Control.Concurrent>

io-classes/src/Control/Monad/Class/MonadST.hs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
{-# LANGUAGE InstanceSigs #-}
2-
{-# LANGUAGE RankNTypes #-}
3-
{-# LANGUAGE ScopedTypeVariables #-}
41
module Control.Monad.Class.MonadST (MonadST (..)) where
52

63
import Control.Monad.Reader

io-classes/src/Control/Monad/Class/MonadSTM.hs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
1-
-- | This module corresponds to "Control.Monad.STM" in "stm" package
2-
--
3-
{-# LANGUAGE DataKinds #-}
4-
{-# LANGUAGE DerivingStrategies #-}
5-
{-# LANGUAGE FlexibleContexts #-}
6-
{-# LANGUAGE GADTs #-}
7-
{-# LANGUAGE MultiParamTypeClasses #-}
8-
{-# LANGUAGE RankNTypes #-}
9-
{-# LANGUAGE ScopedTypeVariables #-}
1+
{-# LANGUAGE DataKinds #-}
2+
{-# LANGUAGE GADTs #-}
103
-- undecidable instances needed for 'WrappedSTM' instances of 'MonadThrow' and
114
-- 'MonadCatch' type classes.
12-
{-# LANGUAGE UndecidableInstances #-}
5+
{-# LANGUAGE UndecidableInstances #-}
6+
7+
-- | This module corresponds to "Control.Monad.STM" in "stm" package
8+
--
139
module Control.Monad.Class.MonadSTM
1410
( MonadSTM (STM, atomically, retry, orElse, check)
1511
, throwSTM

io-classes/src/Control/Monad/Class/MonadSTM/Internal.hs

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,12 @@
1-
{-# LANGUAGE CPP #-}
2-
{-# LANGUAGE DataKinds #-}
3-
{-# LANGUAGE DefaultSignatures #-}
4-
{-# LANGUAGE DerivingStrategies #-}
5-
{-# LANGUAGE FlexibleContexts #-}
6-
{-# LANGUAGE FlexibleInstances #-}
7-
{-# LANGUAGE GADTs #-}
8-
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
9-
{-# LANGUAGE MultiParamTypeClasses #-}
10-
{-# LANGUAGE NamedFieldPuns #-}
11-
{-# LANGUAGE PatternSynonyms #-}
12-
{-# LANGUAGE RankNTypes #-}
13-
{-# LANGUAGE ScopedTypeVariables #-}
14-
{-# LANGUAGE StandaloneDeriving #-}
15-
{-# LANGUAGE TypeFamilies #-}
16-
{-# LANGUAGE TypeFamilyDependencies #-}
17-
{-# LANGUAGE TypeOperators #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DefaultSignatures #-}
3+
{-# LANGUAGE GADTs #-}
4+
{-# LANGUAGE PatternSynonyms #-}
5+
{-# LANGUAGE TypeFamilies #-}
6+
{-# LANGUAGE TypeFamilyDependencies #-}
187

198
-- needed for `ReaderT` instance
20-
{-# LANGUAGE UndecidableInstances #-}
9+
{-# LANGUAGE UndecidableInstances #-}
2110

2211
-- Internal module. It's only exposed as it provides various default types for
2312
-- defining new instances, otherwise prefer to use

io-classes/src/Control/Monad/Class/MonadThrow.hs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
1-
{-# LANGUAGE CPP #-}
2-
{-# LANGUAGE DefaultSignatures #-}
3-
{-# LANGUAGE DeriveFunctor #-}
4-
{-# LANGUAGE ExistentialQuantification #-}
5-
{-# LANGUAGE RankNTypes #-}
6-
{-# LANGUAGE ScopedTypeVariables #-}
7-
{-# LANGUAGE StandaloneDeriving #-}
8-
{-# LANGUAGE TupleSections #-}
9-
{-# LANGUAGE TypeFamilies #-}
1+
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DefaultSignatures #-}
3+
{-# LANGUAGE TypeFamilies #-}
104

115
-- | A generalisation of
126
-- <https://hackage.haskell.org/package/base/docs/Control-Exception.html Control.Exception>

io-classes/src/Control/Monad/Class/MonadTime.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
{-# LANGUAGE DeriveGeneric #-}
2-
31
-- | <https://hackage.haskell.org/package/time time> and
42
-- <https://hackage.haskell.org/package/base base> time API compatible with both
53
-- 'IO' and <https://hackage.haskell.org/package/io-sim IOSim>.

io-classes/src/Control/Monad/Class/MonadTimer.hs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
{-# LANGUAGE DefaultSignatures #-}
2-
{-# LANGUAGE FlexibleContexts #-}
3-
{-# LANGUAGE FlexibleInstances #-}
4-
{-# LANGUAGE ScopedTypeVariables #-}
5-
{-# LANGUAGE TypeFamilies #-}
1+
{-# LANGUAGE DefaultSignatures #-}
2+
{-# LANGUAGE TypeFamilies #-}
63

74
-- | Provides classes to handle delays and timeouts which generalised
85
-- <https://hackage.haskell.org/package/base base> API to both 'IO' and

io-classes/strict-mvar/src/Control/Concurrent/Class/MonadMVar/Strict.hs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
{-# LANGUAGE BangPatterns #-}
2-
{-# LANGUAGE TypeFamilies #-}
3-
{-# LANGUAGE TypeOperators #-}
4-
51
-- | This module corresponds to "Control.Concurrent.MVar" in the @base@ package.
62
module Control.Concurrent.Class.MonadMVar.Strict
73
( -- * StrictMVar

io-classes/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TArray.hs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
1-
{-# LANGUAGE BangPatterns #-}
2-
{-# LANGUAGE ExplicitNamespaces #-}
3-
{-# LANGUAGE FlexibleContexts #-}
4-
{-# LANGUAGE FlexibleInstances #-}
5-
{-# LANGUAGE GADTs #-}
6-
{-# LANGUAGE MultiParamTypeClasses #-}
7-
{-# LANGUAGE UndecidableInstances #-}
1+
{-# LANGUAGE GADTs #-}
2+
{-# LANGUAGE UndecidableInstances #-}
83

94
-- | This module corresponds to `Control.Concurrent.STM.TArray` in "stm" package
105
--

io-classes/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TBQueue.hs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
{-# LANGUAGE BangPatterns #-}
2-
{-# LANGUAGE ExplicitNamespaces #-}
3-
{-# LANGUAGE GADTs #-}
4-
{-# LANGUAGE TypeOperators #-}
5-
61
-- | This module corresponds to `Control.Concurrent.STM.TBQueue` in "stm" package
72
--
83
module Control.Concurrent.Class.MonadSTM.Strict.TBQueue

io-classes/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TChan.hs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
{-# LANGUAGE BangPatterns #-}
2-
{-# LANGUAGE ExplicitNamespaces #-}
3-
{-# LANGUAGE GADTs #-}
4-
{-# LANGUAGE NamedFieldPuns #-}
5-
{-# LANGUAGE TypeOperators #-}
6-
71
-- | This module corresponds to `Control.Concurrent.STM.TChan` in "stm" package
82
--
93
module Control.Concurrent.Class.MonadSTM.Strict.TChan

io-classes/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TMVar.hs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
{-# LANGUAGE BangPatterns #-}
2-
{-# LANGUAGE ExplicitNamespaces #-}
3-
{-# LANGUAGE GADTs #-}
4-
{-# LANGUAGE TypeOperators #-}
5-
61
-- | This module corresponds to `Control.Concurrent.STM.TMVar` in "stm" package
72
--
83
module Control.Concurrent.Class.MonadSTM.Strict.TMVar

io-classes/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TQueue.hs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
{-# LANGUAGE BangPatterns #-}
2-
{-# LANGUAGE ExplicitNamespaces #-}
3-
{-# LANGUAGE GADTs #-}
4-
{-# LANGUAGE NamedFieldPuns #-}
5-
{-# LANGUAGE TypeOperators #-}
6-
71
-- | This module corresponds to `Control.Concurrent.STM.TQueue` in "stm" package
82
--
93
module Control.Concurrent.Class.MonadSTM.Strict.TQueue

io-classes/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TVar.hs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
{-# LANGUAGE BangPatterns #-}
2-
{-# LANGUAGE NamedFieldPuns #-}
3-
{-# LANGUAGE TypeFamilies #-}
4-
{-# LANGUAGE TypeOperators #-}
5-
61
-- | This module corresponds to `Control.Concurrent.STM.TVar` in "stm" package
72
--
83
module Control.Concurrent.Class.MonadSTM.Strict.TVar

io-sim/bench/Main.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
{-# LANGUAGE ScopedTypeVariables #-}
2-
31
module Main (main) where
42

53
import Control.Concurrent.Class.MonadSTM

0 commit comments

Comments
 (0)