Skip to content

Use GHC2021 and ImportQualifiedPost #62

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .stylish-haskell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,25 @@ steps:
# Default: false
space_surround: false

# Post qualify option moves any qualifies found in import declarations
# to the end of the declaration. This also adjust padding for any
# unqualified import declarations.
#
# - true: Qualified as <module name> is moved to the end of the
# declaration.
#
# > import Data.Bar
# > import Data.Foo qualified as F
#
# - false: Qualified remains in the default location and unqualified
# imports are padded to align with qualified imports.
#
# > import Data.Bar
# > import qualified Data.Foo as F
#
# Default: false
post_qualify: true

# Language pragmas
- language_pragmas:
# We can generate different styles of language pragma lists.
Expand Down
38 changes: 15 additions & 23 deletions typed-protocols-cborg/src/Network/TypedProtocol/Codec/CBOR.hs
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Network.TypedProtocol.Codec.CBOR
( module Network.TypedProtocol.Codec
, mkCodecCborLazyBS
Expand All @@ -16,21 +8,21 @@ module Network.TypedProtocol.Codec.CBOR
, CBOR.DeserialiseFailure (..)
) where

import Control.Monad.Class.MonadST (MonadST (..))
import Control.Monad.ST hiding (stToIO)

import qualified Codec.CBOR.Decoding as CBOR (Decoder)
import qualified Codec.CBOR.Encoding as CBOR (Encoding)
import qualified Codec.CBOR.Read as CBOR
import qualified Codec.CBOR.Write as CBOR
import qualified Data.ByteString as BS
import qualified Data.ByteString.Builder as BS
import qualified Data.ByteString.Builder.Extra as BS
import qualified Data.ByteString.Lazy as LBS
import qualified Data.ByteString.Lazy.Internal as LBS (smallChunkSize)

import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core
import Control.Monad.Class.MonadST (MonadST (..))
import Control.Monad.ST hiding (stToIO)

import Codec.CBOR.Decoding qualified as CBOR (Decoder)
import Codec.CBOR.Encoding qualified as CBOR (Encoding)
import Codec.CBOR.Read qualified as CBOR
import Codec.CBOR.Write qualified as CBOR
import Data.ByteString qualified as BS
import Data.ByteString.Builder qualified as BS
import Data.ByteString.Builder.Extra qualified as BS
import Data.ByteString.Lazy qualified as LBS
import Data.ByteString.Lazy.Internal qualified as LBS (smallChunkSize)

import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core


-- | Construct a 'Codec' for a CBOR based serialisation format, using strict
Expand Down
6 changes: 3 additions & 3 deletions typed-protocols-cborg/typed-protocols-cborg.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ library
cborg >=0.2.1 && <0.3,
singletons,

io-classes:io-classes ^>=1.7,
io-classes ^>=1.7,
typed-protocols ^>=0.4

hs-source-dirs: src
default-language: Haskell2010
default-language: GHC2021
default-extensions: LambdaCase
ghc-options: -Wall
-Wno-unticked-promoted-constructors
-Wcompat
Expand Down
25 changes: 10 additions & 15 deletions typed-protocols-examples/src/Network/TypedProtocol/Channel.hs
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE CPP #-}

module Network.TypedProtocol.Channel
( Channel (..)
Expand All @@ -24,15 +19,15 @@ module Network.TypedProtocol.Channel
, loggingChannel
) where

import Control.Concurrent.Class.MonadSTM
import Control.Monad ((>=>))
import Control.Monad.Class.MonadSay
import Control.Monad.Class.MonadTimer.SI
import qualified Data.ByteString as BS
import qualified Data.ByteString.Lazy as LBS
import Data.ByteString.Lazy.Internal (smallChunkSize)
import Data.Proxy
import Numeric.Natural
import Control.Concurrent.Class.MonadSTM
import Control.Monad ((>=>))
import Control.Monad.Class.MonadSay
import Control.Monad.Class.MonadTimer.SI
import Data.ByteString qualified as BS
import Data.ByteString.Lazy qualified as LBS
import Data.ByteString.Lazy.Internal (smallChunkSize)
import Data.Proxy
import Numeric.Natural

#if !defined(mingw32_HOST_OS)
import Network.Socket (Socket)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeFamilies #-}
-- @UndecidableInstances@ extensions is required for defining @Show@ instance
-- of @'TraceSendRecv'@.
Expand All @@ -32,15 +24,15 @@ module Network.TypedProtocol.Driver.Simple
, runDecoderWithChannel
) where

import Network.TypedProtocol.Channel
import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core
import Network.TypedProtocol.Driver
import Network.TypedProtocol.Peer
import Network.TypedProtocol.Channel
import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core
import Network.TypedProtocol.Driver
import Network.TypedProtocol.Peer

import Control.Monad.Class.MonadAsync
import Control.Monad.Class.MonadThrow
import Control.Tracer (Tracer (..), contramap, traceWith)
import Control.Monad.Class.MonadAsync
import Control.Monad.Class.MonadThrow
import Control.Tracer (Tracer (..), contramap, traceWith)


-- $intro
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeOperators #-}

module Network.TypedProtocol.PingPong.Client
( -- * Normal client
PingPongClient (..)
Expand All @@ -14,9 +8,9 @@ module Network.TypedProtocol.PingPong.Client
, pingPongClientPeerPipelined
) where

import Network.TypedProtocol.Core
import Network.TypedProtocol.Peer.Client
import Network.TypedProtocol.PingPong.Type
import Network.TypedProtocol.Core
import Network.TypedProtocol.Peer.Client
import Network.TypedProtocol.PingPong.Type

-- | A ping-pong client, on top of some effect 'm'.
--
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,8 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Network.TypedProtocol.PingPong.Codec where

import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core
import Network.TypedProtocol.PingPong.Type
import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core
import Network.TypedProtocol.PingPong.Type


codecPingPong
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,17 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Network.TypedProtocol.PingPong.Codec.CBOR where

import Control.Monad.Class.MonadST
import Control.Monad.Class.MonadST

import Data.ByteString.Lazy (ByteString)
import Data.ByteString.Lazy (ByteString)

import qualified Codec.CBOR.Decoding as CBOR (Decoder, decodeWord)
import qualified Codec.CBOR.Encoding as CBOR (Encoding, encodeWord)
import qualified Codec.CBOR.Read as CBOR
import Codec.CBOR.Decoding qualified as CBOR (Decoder, decodeWord)
import Codec.CBOR.Encoding qualified as CBOR (Encoding, encodeWord)
import Codec.CBOR.Read qualified as CBOR

import Network.TypedProtocol.Codec
import Network.TypedProtocol.Codec.CBOR
import Network.TypedProtocol.Core
import Network.TypedProtocol.PingPong.Type
import Network.TypedProtocol.Codec
import Network.TypedProtocol.Codec.CBOR
import Network.TypedProtocol.Core
import Network.TypedProtocol.PingPong.Type

codecPingPong
:: forall m.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeOperators #-}

module Network.TypedProtocol.PingPong.Examples where

import Network.TypedProtocol.PingPong.Client
import Network.TypedProtocol.PingPong.Server
import Network.TypedProtocol.PingPong.Client
import Network.TypedProtocol.PingPong.Server

import Network.TypedProtocol.Peer.Client
import Network.TypedProtocol.Peer.Client


-- | The standard stateless ping-pong server instance.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE RecordWildCards #-}

module Network.TypedProtocol.PingPong.Server where

import Network.TypedProtocol.Core
import Network.TypedProtocol.Peer.Server
import Network.TypedProtocol.PingPong.Type
import Network.TypedProtocol.Core
import Network.TypedProtocol.Peer.Server
import Network.TypedProtocol.PingPong.Type


data PingPongServer m a = PingPongServer {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE EmptyCase #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeFamilies #-}

{-# LANGUAGE TypeFamilies #-}

module Network.TypedProtocol.PingPong.Type where

import Network.TypedProtocol.Core
import Network.TypedProtocol.Core


-- | The ping\/pong protocol and the states in its protocol state machine.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Network.TypedProtocol.ReqResp.Client
( -- * Normal client
ReqRespClient (..)
Expand All @@ -17,11 +11,11 @@ module Network.TypedProtocol.ReqResp.Client
, requestOnce
) where

import Network.TypedProtocol.Core
import Network.TypedProtocol.Peer.Client
import Network.TypedProtocol.Peer.Server (Server)
import Network.TypedProtocol.Proofs (connect)
import Network.TypedProtocol.ReqResp.Type
import Network.TypedProtocol.Core
import Network.TypedProtocol.Peer.Client
import Network.TypedProtocol.Peer.Server (Server)
import Network.TypedProtocol.Proofs (connect)
import Network.TypedProtocol.ReqResp.Type

data ReqRespClient req resp m a where
SendMsgReq :: req
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Network.TypedProtocol.ReqResp.Codec where

import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core
import Network.TypedProtocol.PingPong.Codec (decodeTerminatedFrame)
import Network.TypedProtocol.ReqResp.Type
import Text.Read (readMaybe)
import Network.TypedProtocol.Codec
import Network.TypedProtocol.Core
import Network.TypedProtocol.PingPong.Codec (decodeTerminatedFrame)
import Network.TypedProtocol.ReqResp.Type
import Text.Read (readMaybe)


codecReqResp ::
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,21 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Network.TypedProtocol.ReqResp.Codec.CBOR where

import Control.Monad.Class.MonadST
import Control.Monad.Class.MonadST

import Data.ByteString.Lazy (ByteString)
import Data.ByteString.Lazy (ByteString)

import qualified Codec.CBOR.Decoding as CBOR (Decoder, decodeListLen,
decodeWord)
import qualified Codec.CBOR.Encoding as CBOR (Encoding, encodeListLen,
encodeWord)
import qualified Codec.CBOR.Read as CBOR
import Codec.Serialise.Class (Serialise)
import qualified Codec.Serialise.Class as CBOR
import Codec.CBOR.Decoding qualified as CBOR (Decoder, decodeListLen,
decodeWord)
import Codec.CBOR.Encoding qualified as CBOR (Encoding, encodeListLen,
encodeWord)
import Codec.CBOR.Read qualified as CBOR
import Codec.Serialise.Class (Serialise)
import Codec.Serialise.Class qualified as CBOR

import Network.TypedProtocol.Codec
import Network.TypedProtocol.Codec.CBOR
import Network.TypedProtocol.Core
import Network.TypedProtocol.ReqResp.Type
import Network.TypedProtocol.Codec
import Network.TypedProtocol.Codec.CBOR
import Network.TypedProtocol.Core
import Network.TypedProtocol.ReqResp.Type

codecReqResp
:: forall req resp m.
Expand Down
Loading
Loading