git.iko.soy/distributed-process
on master help sign in
switch to explicit per-file LANGUAGE pragmas instead of defaults
e947090Tim Watson
distributed-process.cabal+1−10
@@ -85,16 +85,7 @@ Library
85 Control.Distributed.Process.Management.Trace.Remote,
85 Control.Distributed.Process.Management.Trace.Remote,
86 Control.Distributed.Process.Management.Trace.Types,
86 Control.Distributed.Process.Management.Trace.Types,
87 Control.Distributed.Process.Management.Trace.Tracer
87 Control.Distributed.Process.Management.Trace.Tracer
88− Extensions: RankNTypes,
88+ -- Extensions: -- we use explicit per-file LANGUAGE pragmas
89− ScopedTypeVariables,
90− FlexibleInstances,
91− UndecidableInstances,
92− ExistentialQuantification,
93− GADTs,
94− GeneralizedNewtypeDeriving,
95− DeriveDataTypeable,
96− CPP,
97− BangPatterns
98 ghc-options: -Wall
89 ghc-options: -Wall
99 HS-Source-Dirs: src
90 HS-Source-Dirs: src
100 if impl(ghc <= 7.4.2)
91 if impl(ghc <= 7.4.2)
src/Control/Distributed/Process.hs+1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
1{- | [Cloud Haskell]
2{- | [Cloud Haskell]
2
3
3This is an implementation of Cloud Haskell, as described in
4This is an implementation of Cloud Haskell, as described in
src/Control/Distributed/Process/Debug.hs+3−1
@@ -1,3 +1,6 @@
1+{-# LANGUAGE CPP #-}
2+{-# LANGUAGE ScopedTypeVariables #-}
3+{-# LANGUAGE RankNTypes #-}
1-----------------------------------------------------------------------------
4-----------------------------------------------------------------------------
2-- |
5-- |
3-- Module : Control.Distributed.Process.Debug
6-- Module : Control.Distributed.Process.Debug
@@ -274,4 +277,3 @@ stopTracer =
274 case basePid == (Just pid) of
277 case basePid == (Just pid) of
275 True -> return ()
278 True -> return ()
276 False -> send pid MxTraceDisable
279 False -> send pid MxTraceDisable
277−
src/Control/Distributed/Process/Internal/CQueue.hs+2−1
@@ -1,5 +1,6 @@
1+{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE MagicHash, UnboxedTuples, PatternGuards, ScopedTypeVariables, RankNTypes #-}
1-- | Concurrent queue for single reader, single writer
3-- | Concurrent queue for single reader, single writer
2−{-# LANGUAGE MagicHash, UnboxedTuples, PatternGuards #-}
3module Control.Distributed.Process.Internal.CQueue
4module Control.Distributed.Process.Internal.CQueue
4 ( CQueue
5 ( CQueue
5 , BlockSpec(..)
6 , BlockSpec(..)
src/Control/Distributed/Process/Internal/Closure/BuiltIn.hs+2−3
@@ -1,3 +1,5 @@
1+{-# LANGUAGE ScopedTypeVariables #-}
2+{-# LANGUAGE RankNTypes #-}
1module Control.Distributed.Process.Internal.Closure.BuiltIn
3module Control.Distributed.Process.Internal.Closure.BuiltIn
2 ( -- * Remote table
4 ( -- * Remote table
3 remoteTable
5 remoteTable
@@ -296,6 +298,3 @@ cpDelay = closureApply . cpDelay'
296
298
297 delayStatic :: Static (ProcessId -> Process () -> Process ())
299 delayStatic :: Static (ProcessId -> Process () -> Process ())
298 delayStatic = staticLabel "$delay"
300 delayStatic = staticLabel "$delay"
299−
300−
301−
src/Control/Distributed/Process/Internal/Primitives.hs+5
@@ -1,3 +1,8 @@
1+{-# LANGUAGE CPP #-}
2+{-# LANGUAGE RankNTypes #-}
3+{-# LANGUAGE DeriveDataTypeable #-}
4+{-# LANGUAGE ScopedTypeVariables #-}
5+{-# LANGUAGE ExistentialQuantification #-}
1{-# LANGUAGE BangPatterns #-}
6{-# LANGUAGE BangPatterns #-}
2
7
3-- | Cloud Haskell primitives
8-- | Cloud Haskell primitives
src/Control/Distributed/Process/Internal/Spawn.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE RankNTypes #-}
1module Control.Distributed.Process.Internal.Spawn
2module Control.Distributed.Process.Internal.Spawn
2 ( spawn
3 ( spawn
3 , spawnLink
4 , spawnLink
@@ -158,4 +159,3 @@ spawnChannel dict nid proc = do
158 (cpSend (sdictSendPort dict) pid `splitCP` proc)
159 (cpSend (sdictSendPort dict) pid `splitCP` proc)
159 `bindCP`
160 `bindCP`
160 (idCP `closureCompose` staticClosure sndStatic)
161 (idCP `closureCompose` staticClosure sndStatic)
161−
src/Control/Distributed/Process/Internal/Types.hs+4
@@ -1,3 +1,7 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE ExistentialQuantification #-}
3+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
4+{-# LANGUAGE GADTs #-}
1{-# LANGUAGE DeriveGeneric #-}
5{-# LANGUAGE DeriveGeneric #-}
2
6
3-- | Types used throughout the Cloud Haskell framework
7-- | Types used throughout the Cloud Haskell framework
src/Control/Distributed/Process/Internal/WeakTQueue.hs+2−1
@@ -1,10 +1,11 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE MagicHash, UnboxedTuples #-}
1-- | Clone of Control.Concurrent.STM.TQueue with support for mkWeakTQueue
3-- | Clone of Control.Concurrent.STM.TQueue with support for mkWeakTQueue
2--
4--
3-- Not all functionality from the original module is available: unGetTQueue,
5-- Not all functionality from the original module is available: unGetTQueue,
4-- peekTQueue and tryPeekTQueue are missing. In order to implement these we'd
6-- peekTQueue and tryPeekTQueue are missing. In order to implement these we'd
5-- need to be able to touch# the write end of the queue inside unGetTQueue, but
7-- need to be able to touch# the write end of the queue inside unGetTQueue, but
6-- that means we need a version of touch# that works within the STM monad.
8-- that means we need a version of touch# that works within the STM monad.
7−{-# LANGUAGE MagicHash, UnboxedTuples #-}
8module Control.Distributed.Process.Internal.WeakTQueue (
9module Control.Distributed.Process.Internal.WeakTQueue (
9 -- * Original functionality
10 -- * Original functionality
10 TQueue,
11 TQueue,
src/Control/Distributed/Process/Management/Agent.hs+1−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE ScopedTypeVariables #-}
1{-# LANGUAGE RecordWildCards #-}
2{-# LANGUAGE RecordWildCards #-}
2
3
3module Control.Distributed.Process.Management.Agent where
4module Control.Distributed.Process.Management.Agent where
@@ -153,4 +154,3 @@ startDeadLetterQueue sigbus = do
153 chan' <- atomically (dupTChan sigbus)
154 chan' <- atomically (dupTChan sigbus)
154 void $ forkIO $ forever' $ do
155 void $ forkIO $ forever' $ do
155 void $ atomically $ readTChan chan'
156 void $ atomically $ readTChan chan'
156−
src/Control/Distributed/Process/Management/Table.hs+3−1
@@ -1,3 +1,6 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE ScopedTypeVariables #-}
3+{-# LANGUAGE RankNTypes #-}
1{-# LANGUAGE DeriveGeneric #-}
4{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE RecordWildCards #-}
5{-# LANGUAGE RecordWildCards #-}
3
6
@@ -217,4 +220,3 @@ getEntry k m MxTableState{..} = do
217
220
218entries :: Accessor MxTableState (Map String Message)
221entries :: Accessor MxTableState (Map String Message)
219entries = accessor _entries (\ls st -> st { _entries = ls })
222entries = accessor _entries (\ls st -> st { _entries = ls })
220−
src/Control/Distributed/Process/Management/Trace/Primitives.hs+2
@@ -1,3 +1,5 @@
1+{-# LANGUAGE FlexibleInstances #-}
2+{-# LANGUAGE TypeSynonymInstances #-}
1-- | Keeps the tracing API calls separate from the Tracer implementation,
3-- | Keeps the tracing API calls separate from the Tracer implementation,
2-- which allows us to avoid a nasty import cycle between tracing and
4-- which allows us to avoid a nasty import cycle between tracing and
3-- the messaging primitives that rely on it, and also between the node
5-- the messaging primitives that rely on it, and also between the node
src/Control/Distributed/Process/Management/Trace/Tracer.hs+2−1
@@ -1,3 +1,5 @@
1+{-# LANGUAGE CPP #-}
2+{-# LANGUAGE ScopedTypeVariables #-}
1-- | Tracing/Debugging support - Trace Implementation
3-- | Tracing/Debugging support - Trace Implementation
2module Control.Distributed.Process.Management.Trace.Tracer
4module Control.Distributed.Process.Management.Trace.Tracer
3 ( -- * API for the Management Agent
5 ( -- * API for the Management Agent
@@ -343,4 +345,3 @@ sendTrace st ev msg = do
343sendTraceMsg :: Maybe ProcessId -> Message -> Process ()
345sendTraceMsg :: Maybe ProcessId -> Message -> Process ()
344sendTraceMsg Nothing _ = return ()
346sendTraceMsg Nothing _ = return ()
345sendTraceMsg (Just p) msg = (flip forward) p msg
347sendTraceMsg (Just p) msg = (flip forward) p msg
346−
src/Control/Distributed/Process/Management/Trace/Types.hs+5−1
@@ -1,3 +1,8 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE ExistentialQuantification #-}
3+{-# LANGUAGE FlexibleInstances #-}
4+{-# LANGUAGE TypeSynonymInstances #-}
5+{-# LANGUAGE GADTs #-}
1{-# LANGUAGE DeriveGeneric #-}
6{-# LANGUAGE DeriveGeneric #-}
2
7
3-- | Tracing/Debugging support - Types
8-- | Tracing/Debugging support - Types
@@ -162,4 +167,3 @@ instance Traceable ProcessId where
162
167
163instance Traceable String where
168instance Traceable String where
164 uod = TraceNames . Set.fromList
169 uod = TraceNames . Set.fromList
165−
src/Control/Distributed/Process/Management/Types.hs+4−1
@@ -1,3 +1,7 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE StandaloneDeriving #-}
3+{-# LANGUAGE ExistentialQuantification #-}
4+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
1{-# LANGUAGE DeriveGeneric #-}
5{-# LANGUAGE DeriveGeneric #-}
2module Control.Distributed.Process.Management.Types
6module Control.Distributed.Process.Management.Types
3 ( MxAgentId(..)
7 ( MxAgentId(..)
@@ -145,4 +149,3 @@ data MxAction =
145
149
146-- | Type of a management agent's event sink.
150-- | Type of a management agent's event sink.
147type MxSink s = Message -> MxAgent s (Maybe MxAction)
151type MxSink s = Message -> MxAgent s (Maybe MxAction)
148−
src/Control/Distributed/Process/Node.hs+6
@@ -1,3 +1,9 @@
1+{-# LANGUAGE CPP #-}
2+{-# LANGUAGE DeriveDataTypeable #-}
3+{-# LANGUAGE ScopedTypeVariables #-}
4+{-# LANGUAGE RankNTypes #-}
5+{-# LANGUAGE BangPatterns #-}
6+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
1{-# LANGUAGE RecordWildCards #-}
7{-# LANGUAGE RecordWildCards #-}
2
8
3-- | Local nodes
9-- | Local nodes
src/Control/Distributed/Process/Serializable.hs+4
@@ -1,3 +1,7 @@
1+{-# LANGUAGE DeriveDataTypeable #-}
2+{-# LANGUAGE UndecidableInstances #-}
3+{-# LANGUAGE FlexibleInstances #-}
4+{-# LANGUAGE GADTs #-}
1module Control.Distributed.Process.Serializable
5module Control.Distributed.Process.Serializable
2 ( Serializable
6 ( Serializable
3 , encodeFingerprint
7 , encodeFingerprint