Guest User

Untitled

a guest
Nov 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.25 KB | None | 0 0
  1. - extensions:
  2. - default: true
  3.  
  4. # These are basically non-negotiable
  5. - {name: AllowAmbiguousTypes, within: []} # should never be necessary
  6. - {name: Arrows, within: []} # weird syntax
  7. - {name: DatatypeContexts, within: []} # useless
  8. - {name: EmptyCase, within: []} # nearly useless
  9. - {name: ImpredicativeTypes, within: []} # very buggy
  10. - {name: IncoherentInstances, within: []} # footgun
  11. - {name: NondecreasingIndentation, within: []} # can be very confusing
  12.  
  13. # These can be appealed
  14. - {name: ApplicativeDo, within: []} # buggy
  15. - {name: FunctionalDependencies, within: []} # use TypeFamilies instead
  16. - {name: ImplicitParams, within: []} # dynamically scoped
  17. - {name: PatternGuards, within: []} # ViewPatterns usually better
  18. - {name: TemplateHaskell, within: []} # avoid whenever reasonable
  19. - {name: TemplateHaskellQuotes, within: []} # ditto
  20.  
  21. # Exceptions to the above
  22. - {name: FunctionalDependencies, within: [Actor, VectorClock]}
  23.  
  24. - modules:
  25. # `containers`
  26. - {name: [Data.Set], as: [Set]}
  27. - {name: [Data.Map.Strict], as: [Map]}
  28. - {name: [Data.Map.Lazy], as: [LMap]}
  29.  
  30. # `unordered-containers`
  31. - {name: [Data.HashSet], as: [HS]}
  32. - {name: [Data.HashMap.Strict], as: [HM]}
  33. - {name: [Data.HashMap.Lazy], as: [LHM]}
  34.  
  35. # `text`
  36. - {name: [Data.Text], as: [Text]}
  37. - {name: [Data.Text.Lazy], as: [LText]}
  38.  
  39. # `bytestring`
  40. - {name: [Data.ByteString], as: [BS]}
  41. - {name: [Data.ByteString.Char8], as: [BSC8]}
  42. - {name: [Data.ByteString.Lazy], as: [LBS]}
  43. - {name: [Data.ByteString.Lazy.Char8], as: [LBSC8]}
  44.  
  45. # `aeson`
  46. - {name: [Data.Aeson], as: [Aeson]}
  47. - {name: [Data.Aeson.Types], as: [Aeson]}
  48.  
  49. # `lens`
  50. - {name: [Control.Lens], as: [Lens]}
  51.  
  52. # `smallcheck`
  53. - {name: [Test.SmallCheck], as: [SC]}
  54. - {name: [Test.SmallCheck.Drivers], as: [SC]}
  55. - {name: [Test.SmallCheck.Series], as: [SC]}
  56.  
  57. # `QuickCheck`, `quickcheck-instances`
  58. - {name: [Test.QuickCheck], as: [QC]}
  59. - {name: [Test.QuickCheck.Arbitrary], as: [QC]}
  60. - {name: [Test.QuickCheck.Function], as: [QC]}
  61. - {name: [Test.QuickCheck.Gen], as: [QC]}
  62. - {name: [Test.QuickCheck.Modifiers], as: [QC]}
  63. - {name: [Test.QuickCheck.Monadic], as: [QC]}
  64. - {name: [Test.QuickCheck.Poly], as: [QC]}
  65. - {name: [Test.QuickCheck.Property], as: [QC]}
  66. - {name: [Test.QuickCheck.Test], as: [QC]}
  67. - {name: [Test.QuickCheck.Instances], as: [QC]}
  68.  
  69. # `mtl`, `transformers`
  70. - {name: [Control.Monad.Trans.Accum], as: [Accum, AccumT]}
  71. - {name: [Control.Monad.Trans.Class], as: [MonadTrans]}
  72. - {name: [Control.Monad.Cont], within: []} # not specific
  73. - {name: [Control.Monad.Cont.Class], as: [MonadCont]}
  74. - {name: [Control.Monad.Trans.Cont], as: [Cont, ContT]}
  75. - {name: [Control.Monad.Error], within: []} # not specific
  76. - {name: [Control.Monad.Error.Class], as: [MonadError]}
  77. - {name: [Control.Monad.Trans.Error], as: [Error, ErrorT]}
  78. - {name: [Control.Monad.Except], within: []} # not specific
  79. - {name: [Control.Monad.Trans.Except], as: [Except, ExceptT]}
  80. - {name: [Control.Monad.Identity], within: []} # not specific
  81. - {name: [Data.Functor.Identity], as: [Identity]}
  82. - {name: [Control.Monad.Trans.Identity], as: [IdentityT]}
  83. - {name: [Control.Monad.IO.Class], as: [MonadIO]}
  84. - {name: [Control.Monad.List], within: []} # deprecated
  85. - {name: [Control.Monad.Trans.List], within: []} # deprecated
  86. - {name: [Control.Monad.Trans.Maybe], as: [MaybeT]}
  87. - {name: [Control.Monad.Reader], as: [Reader]}
  88. - {name: [Control.Monad.Reader.Class], as: [MonadReader]}
  89. - {name: [Control.Monad.Trans.Reader], as: [ReaderT]}
  90. - {name: [Control.Monad.RWS], within: []} # not specific
  91. - {name: [Control.Monad.RWS.Strict], within: []} # not specific
  92. - {name: [Control.Monad.RWS.Lazy], within: []} # not specific
  93. - {name: [Control.Monad.Trans.RWS], within: []} # not specific
  94. - {name: [Control.Monad.Trans.RWS.Strict], as: [RWS, RWST]}
  95. - {name: [Control.Monad.Trans.RWS.Lazy], as: [LRWS, LRWST]}
  96. - {name: [Control.Monad.RWS.Class], as: [MonadRWS]}
  97. - {name: [Control.Monad.Trans.Select], as: [Select, SelectT]}
  98. - {name: [Control.Monad.State], within: []} # not specific
  99. - {name: [Control.Monad.State.Strict], within: []} # not specific
  100. - {name: [Control.Monad.State.Lazy], within: []} # not specific
  101. - {name: [Control.Monad.Trans.State], within: []} # not specific
  102. - {name: [Control.Monad.Trans.State.Strict], as: [State, StateT]}
  103. - {name: [Control.Monad.Trans.State.Lazy], as: [LState, LStateT]}
  104. - {name: [Control.Monad.State.Class], as: [MonadState]}
  105. - {name: [Control.Monad.Writer], within: []} # not specific
  106. - {name: [Control.Monad.Writer.Strict], within: []} # not specific
  107. - {name: [Control.Monad.Writer.Lazy], within: []} # use Accum
  108. - {name: [Control.Monad.Trans.Writer], within: []} # not specific
  109. - {name: [Control.Monad.Trans.Writer.Strict], as: [Writer, WriterT]}
  110. - {name: [Control.Monad.Trans.Writer.Lazy], within: []} # use Accum
  111. - {name: [Control.Monad.Writer.Class], as: [MonadWriter]}
  112. - {name: [Control.Monad.Catch], as: [MonadThrow]}
  113. - {name: [Control.Monad.Catch], as: [MonadCatch]}
  114. - {name: [Control.Monad.Catch], as: [MonadMask]}
  115. - {name: [Control.Monad.Catch.Pure], as: [Catch, CatchT]}
  116.  
  117. # `ether`
  118. - {name: [Ether], within: []} # not specific
  119. - {name: [Ether.Internal], within: []} # internal
  120. - {name: [Ether.Except], as: [Ether, EExcept]}
  121. - {name: [Ether.Reader], as: [Ether, EReader]}
  122. - {name: [Ether.State], as: [Ether, EState]}
  123. - {name: [Ether.Writer], as: [Ether, EWriter]}
  124. - {name: [Ether.TagDispatch], as: [Ether, ETagDispatch]}
  125. - {name: [Ether.TaggedTrans], as: [Ether, ETaggedTrans]}
  126.  
  127. # `concurrency`
  128. - {name: [Control.Concurrent.Classy], within: []} # not specific
  129. - {name: [Control.Monad.Conc.Class], as: [MonadConc]}
  130. - {name: [Control.Concurrent.Classy.Async], as: [Async]}
  131. - {name: [Control.Concurrent.Classy.CRef], as: [CRef]}
  132. - {name: [Control.Concurrent.Classy.Chan], as: [Chan]}
  133. - {name: [Control.Concurrent.Classy.MVar], as: [MVar]}
  134. - {name: [Control.Concurrent.Classy.QSem], as: [QSem]}
  135. - {name: [Control.Concurrent.Classy.QSemN], as: [QSemN]}
  136. - {name: [Control.Monad.STM.Class], as: [MonadSTM]}
  137. - {name: [Control.Concurrent.Classy.STM.TArray], as: [TArray]}
  138. - {name: [Control.Concurrent.Classy.STM.TBQueue], as: [TBQueue]}
  139. - {name: [Control.Concurrent.Classy.STM.TChan], as: [TChan]}
  140. - {name: [Control.Concurrent.Classy.STM.TMVar], as: [TMVar]}
  141. - {name: [Control.Concurrent.Classy.STM.TQueue], as: [TQueue]}
  142. - {name: [Control.Concurrent.Classy.STM.TVar], as: [TVar]}
  143.  
  144. # `dejafu`
  145. - {name: [Test.DejaFu], as: [DejaFu]}
  146. - {name: [Test.DejaFu.Common], as: [DejaFu.Common]}
  147. - {name: [Test.DejaFu.Conc], as: [DejaFu.Conc]}
  148. - {name: [Test.DejaFu.Conc.Internal], within: []} # internal
  149. - {name: [Test.DejaFu.Conc.Internal.Common], within: []} # internal
  150. - {name: [Test.DejaFu.Conc.Internal.Memory], within: []} # internal
  151. - {name: [Test.DejaFu.Conc.Internal.Threading], within: []} # internal
  152. - {name: [Test.DejaFu.Defaults], as: [DejaFu.Defaults]}
  153. - {name: [Test.DejaFu.Refinement], as: [DejaFu.Refinement]}
  154. - {name: [Test.DejaFu.SCT], as: [DejaFu.SCT]}
  155. - {name: [Test.DejaFu.SCT.Internal], within: []} # internal
  156. - {name: [Test.DejaFu.STM], as: [DejaFu.STM]}
  157. - {name: [Test.DejaFu.STM.Internal], within: []} # internal
  158. - {name: [Test.DejaFu.Schedule], as: [DejaFu.Schedule]}
  159.  
  160.  
  161. - functions:
  162. - {name: unsafePerformIO, within: [Tests.ReferenceLexer.Str0]}
  163.  
  164. - warn: {name: Use explicit module export list}
  165.  
  166. - ignore: {name: Redundant bracket}
  167. - ignore: {name: Redundant do}
  168. - ignore: {name: Redundant lambda}
  169. - ignore: {name: Avoid lambda}
  170. - ignore: {name: Use ||}
  171. - ignore: {name: Use uncurry}
  172. - ignore: {name: Use fewer imports}
Add Comment
Please, Sign In to add comment