Update hoopl to use Safe Haskell if GHC >= 7.2
authorDavid Terei <davidterei@gmail.com>
Thu, 11 Aug 2011 00:19:08 +0000 (17:19 -0700)
committerSimon Peyton Jones <simonpj@microsoft.com>
Mon, 15 Aug 2011 11:15:56 +0000 (12:15 +0100)
27 files changed:
hoopl.cabal
src/Compiler/Hoopl.hs
src/Compiler/Hoopl/Checkpoint.hs
src/Compiler/Hoopl/Collections.hs
src/Compiler/Hoopl/Combinators.hs
src/Compiler/Hoopl/Dataflow.hs
src/Compiler/Hoopl/DataflowFold.hs
src/Compiler/Hoopl/Debug.hs
src/Compiler/Hoopl/Fuel.hs
src/Compiler/Hoopl/GHC.hs
src/Compiler/Hoopl/Graph.hs
src/Compiler/Hoopl/GraphUtil.hs
src/Compiler/Hoopl/Haddock.hs
src/Compiler/Hoopl/Label.hs
src/Compiler/Hoopl/MkGraph.hs
src/Compiler/Hoopl/OldDataflow.hs
src/Compiler/Hoopl/Passes/DList.hs
src/Compiler/Hoopl/Passes/Dominator.hs
src/Compiler/Hoopl/Passes/Live.hs
src/Compiler/Hoopl/Pointed.hs
src/Compiler/Hoopl/Shape.hs
src/Compiler/Hoopl/Show.hs
src/Compiler/Hoopl/Stream.hs
src/Compiler/Hoopl/Unique.hs
src/Compiler/Hoopl/Util.hs
src/Compiler/Hoopl/Wrappers.hs
src/Compiler/Hoopl/XUtil.hs

index 0aede00..8ef5ee6 100644 (file)
@@ -6,7 +6,7 @@ Version:             3.8.7.2
 -- version 3.8.7.2 adds Compiler.Hoopl.Fuel.liftFuel
 Description:         Higher-order optimization library
 License:             BSD3
-License-file:        LICENSE
+License-File:        LICENSE
 Author:              Norman Ramsey, João Dias, and Simon Peyton Jones
 Maintainer:          nr@cs.tufts.edu
 Homepage:            http://ghc.cs.tufts.edu/hoopl/
@@ -15,38 +15,39 @@ Cabal-Version:       >=1.6
 Stability:           alpha
 Synopsis:            A library to support dataflow analysis and optimization
 Category:            Compilers/Interpreters
-Extra-source-files:  README, hoopl.pdf, CHANGES, FAQ
+Extra-Source-Files:  README, hoopl.pdf, CHANGES, FAQ
 
 Library
+  Hs-Source-Dirs:    src
   Build-Depends:     base >= 3 && < 5, containers
-  Exposed-modules:   Compiler.Hoopl,
+  Exposed-Modules:   Compiler.Hoopl,
                      Compiler.Hoopl.Wrappers,
                      Compiler.Hoopl.Passes.Dominator,
                      Compiler.Hoopl.Passes.DList,
---                       Compiler.Hoopl.DataflowFold,
---                       Compiler.Hoopl.OldDataflow,
-                       Compiler.Hoopl.GHC
-  Other-modules:     Compiler.Hoopl.GraphUtil,
+--                     Compiler.Hoopl.DataflowFold,
+--                     Compiler.Hoopl.OldDataflow,
+                     Compiler.Hoopl.GHC
+  Other-Modules:     Compiler.Hoopl.GraphUtil,
                      -- GraphUtil should *never* be seen by clients.
                      -- The remaining modules are hidden *provisionally*
-                       Compiler.Hoopl.Checkpoint,
-                       Compiler.Hoopl.Collections,
-                       Compiler.Hoopl.Combinators,
-                       Compiler.Hoopl.Dataflow,
-                       Compiler.Hoopl.Debug,
-                       Compiler.Hoopl.Graph, 
-                       Compiler.Hoopl.Label,
-                       Compiler.Hoopl.MkGraph,
-                       Compiler.Hoopl.Fuel,
-                       Compiler.Hoopl.Pointed,
-                       Compiler.Hoopl.Shape,
-                       Compiler.Hoopl.Show, 
-                       Compiler.Hoopl.Unique, 
-                       Compiler.Hoopl.Util
-                       Compiler.Hoopl.XUtil
-  ghc-options:       -Wall -fno-warn-name-shadowing
-  hs-source-dirs:  src
+                     Compiler.Hoopl.Checkpoint,
+                     Compiler.Hoopl.Collections,
+                     Compiler.Hoopl.Combinators,
+                     Compiler.Hoopl.Dataflow,
+                     Compiler.Hoopl.Debug,
+                     Compiler.Hoopl.Graph, 
+                     Compiler.Hoopl.Label,
+                     Compiler.Hoopl.MkGraph,
+                     Compiler.Hoopl.Fuel,
+                     Compiler.Hoopl.Pointed,
+                     Compiler.Hoopl.Shape,
+                     Compiler.Hoopl.Show, 
+                     Compiler.Hoopl.Unique, 
+                     Compiler.Hoopl.Util,
+                     Compiler.Hoopl.XUtil
 
+  Ghc-Options:       -Wall -fno-warn-name-shadowing
+  Extensions:        CPP
 
 Source-repository head
   Type:       git
index de921d6..1e78856 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Compiler.Hoopl
   ( module Compiler.Hoopl.Graph
   , module Compiler.Hoopl.MkGraph
index 384566d..8d76f96 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE TypeFamilies #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Checkpoint
   ( CheckpointMonad(..)
index 199ed44..45e42c3 100644 (file)
@@ -1,6 +1,10 @@
 {- Baseclasses for Map-like and Set-like collections inspired by containers. -}
 
 {-# LANGUAGE TypeFamilies #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Compiler.Hoopl.Collections ( IsSet(..)
                                   , setInsertList, setDeleteList, setUnions
                                   , IsMap(..)
index 1dcd41a..5c71d19 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE RankNTypes, LiberalTypeSynonyms, ScopedTypeVariables, GADTs #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Combinators
   ( thenFwdRw
index 5a3ea62..3053cc3 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE RankNTypes, ScopedTypeVariables, GADTs, EmptyDataDecls, PatternGuards, TypeFamilies, MultiParamTypeClasses #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Dataflow
   ( DataflowLattice(..), JoinFun, OldFact(..), NewFact(..), Fact, mkFactBase
index c817995..1c4b091 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE RankNTypes, ScopedTypeVariables, GADTs, EmptyDataDecls, PatternGuards, TypeFamilies, MultiParamTypeClasses #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 {- Notes about the genesis of Hoopl7
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
index bd1663c..1995240 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE RankNTypes, GADTs, ScopedTypeVariables, FlexibleContexts #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Debug 
   ( TraceFn , debugFwdJoins , debugBwdJoins
index c9972d0..6e68114 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE TypeFamilies #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 -----------------------------------------------------------------------------
 --             The fuel monad
index 1051639..7fb64ce 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE GADTs, RankNTypes #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 {- Exposing some internals to GHC -}
 module Compiler.Hoopl.GHC
index b6cee3f..dffe302 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE GADTs, EmptyDataDecls, TypeFamilies, Rank2Types #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Graph 
   ( O, C, Block(..), Body, Body'(..), Graph, Graph'(..)
index c8acc24..06904ef 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE GADTs, RankNTypes, ScopedTypeVariables #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 -- N.B. addBasicBlocks won't work on OO without a Node (branch/label) constraint
 
index f3d5cd7..e060c0a 100644 (file)
@@ -1,4 +1,8 @@
 {-# LANGUAGE GADTs #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Haddock
 where
 
index 2175acd..a8d40ea 100644 (file)
@@ -1,4 +1,8 @@
 {-# LANGUAGE TypeFamilies #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Compiler.Hoopl.Label
   ( Label
   , freshLabel
index e1f62a7..6efbd83 100644 (file)
@@ -1,4 +1,8 @@
 {-# LANGUAGE ScopedTypeVariables, GADTs, TypeSynonymInstances, FlexibleInstances, RankNTypes #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Compiler.Hoopl.MkGraph
     ( AGraph, graphOfAGraph, aGraphOfGraph
     , (<*>), (|*><*|), catGraphs, addEntrySeq, addExitSeq, addBlocks, unionBlocks
index 443faa2..2177431 100644 (file)
@@ -1,5 +1,8 @@
 {-# LANGUAGE RankNTypes, ScopedTypeVariables, GADTs, EmptyDataDecls, PatternGuards, TypeFamilies, MultiParamTypeClasses #-}
 {-# OPTIONS_GHC -fno-warn-incomplete-patterns #-} -- bug in GHC
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 {- Notes about the genesis of Hoopl7
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
index 6a85540..be77a9e 100644 (file)
@@ -1,5 +1,8 @@
 {-# LANGUAGE GADTs #-}
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Passes.DList
   ( Doms, domEntry, domLattice
index b3ddb04..a13c1ed 100644 (file)
@@ -1,5 +1,8 @@
 {-# LANGUAGE GADTs #-}
 {-# OPTIONS_GHC -Wall -fno-warn-name-shadowing #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Passes.Dominator
   ( Doms, DPath(..), domPath, domEntry, domLattice, extendDom
index a73b4b2..1725df9 100644 (file)
@@ -1,4 +1,8 @@
 {-# LANGUAGE ScopedTypeVariables, RankNTypes, TypeFamilies #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
+
 module Compiler.Hoopl.Passes.Live 
   ( NodeWithVars(..), AssignmentNode(..)
   , liveLattice, liveness, -- deadAsstElim
index 8192408..ea82861 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE GADTs, ScopedTypeVariables #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 -- | Possibly doubly pointed lattices
 
index f1d71ea..e8c23c9 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE GADTs, EmptyDataDecls #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Shape {-# DEPRECATED "not ready to migrate to this yet" #-}
 where
index 28b69b6..383727f 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE RankNTypes, GADTs, ScopedTypeVariables, FlexibleContexts #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Show 
   ( showGraph, showFactBase
index 5931e0a..ef98a97 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
 
 module Compiler.Hoopl.Stream
 where
index e731907..6b4a570 100644 (file)
@@ -1,4 +1,8 @@
 {-# LANGUAGE TypeFamilies #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
+
 module Compiler.Hoopl.Unique
   ( Unique, intToUnique
   , UniqueSet, UniqueMap
index 3b4e25d..94dd8d1 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE GADTs, ScopedTypeVariables, FlexibleInstances, RankNTypes, TypeFamilies #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 module Compiler.Hoopl.Util
   ( gUnitOO, gUnitOC, gUnitCO, gUnitCC
index 0ab7f46..1622e7e 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Compiler.Hoopl.Wrappers {-# DEPRECATED "Use only if you know what you are doing and can preserve the 'respects fuel' invariant" #-}
   ( wrapFR, wrapFR2, wrapBR, wrapBR2
   )
index aeb969c..3e63bfa 100644 (file)
@@ -1,4 +1,7 @@
 {-# LANGUAGE GADTs, RankNTypes, ScopedTypeVariables, TypeFamilies  #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
 
 -- | Utilities for clients of Hoopl, not used internally.