[commit: packages/hoopl] master: Update `hoopl.cabal` to `cabal-version>=1.10` (072f689)

git at git.haskell.org git at git.haskell.org
Fri Oct 25 06:59:36 UTC 2013


Repository : ssh://git@git.haskell.org/hoopl

On branch  : master
Link       : http://git.haskell.org/packages/hoopl.git/commitdiff/072f6897ece37aa6f27f4a72a7da15e3fba10077

>---------------------------------------------------------------

commit 072f6897ece37aa6f27f4a72a7da15e3fba10077
Author: Herbert Valerio Riedel <hvr at gnu.org>
Date:   Fri Oct 25 08:51:47 2013 +0200

    Update `hoopl.cabal` to `cabal-version>=1.10`
    
    ...also renames `CHANGES` to `changelog` so Hackage can display it, and
    adds an entry for 3.9.0.0
    
    Signed-off-by: Herbert Valerio Riedel <hvr at gnu.org>


>---------------------------------------------------------------

072f6897ece37aa6f27f4a72a7da15e3fba10077
 CHANGES => changelog |   98 ++++++++++++++++++++++++++++++++++++++++++++++++++
 hoopl.cabal          |   30 +++++++++++++---
 2 files changed, 123 insertions(+), 5 deletions(-)

diff --git a/CHANGES b/changelog
similarity index 65%
rename from CHANGES
rename to changelog
index 8fedff9..6492799 100644
--- a/CHANGES
+++ b/changelog
@@ -1,3 +1,101 @@
+
+3.9.0.0
+
+   - Lots of API changes; mainly a new API for working with Blocks
+
+  Summary of refactorings:
+
+   - Compiler.Hoopl.Block contains the Block datatype and all the
+     operations on Blocks.  It seemed like a good idea to collect all
+     this stuff together in one place.
+
+   - Compiler.Hoopl.Graph now has the operations on Graphs.
+
+   - Compiler.Hoopl.Util and Compiler.Hoopl.GraphUtil are no more; their
+     contents have been moved to other homes.  (and a bit of duplicated
+     functionality has been removed).
+
+   - I removed the newtypes around Unique and Label, these are now just
+     type synonyms.  The newtype wrappers were costing some performance in
+     GHC, because in cases like mapToList the newtype isn't optimised away.
+
+     This change might be controversial.  Feel free to complain.
+
+  Other changes:
+
+   - Optimisations to the Dataflow algorithms.  I'm not actually using
+     this implementation of Dataflow in GHC any more, instead I have a
+     local copy specialised to our monad, for speed.  Nevertheless I've
+     put some of the optimisations I'm using in the GHC version into the
+     generic library version too.
+
+  Summary of API changes:
+
+  ADDED
+
+   - IsMap(mapInsertWith, mapFromListWith)
+
+   - mapGraphBlocks
+     (was previously called graphMapBlocks, and not exported)
+
+   - mapBlock'
+     (strict version of mapBlock)
+
+   - New API for working with Blocks:
+
+      -- ** Predicates on Blocks
+    , isEmptyBlock
+
+      -- ** Constructing blocks
+    , emptyBlock, blockCons, blockSnoc
+    , blockJoinHead, blockJoinTail, blockJoin, blockJoinAny
+    , blockAppend
+
+      -- ** Deconstructing blocks
+    , firstNode, lastNode, endNodes
+    , blockSplitHead, blockSplitTail, blockSplit, blockSplitAny
+
+      -- ** Modifying blocks
+    , replaceFirstNode, replaceLastNode
+
+      -- ** Converting to and from lists
+    , blockToList, blockFromList
+
+      -- ** Maps and folds
+    , mapBlock, mapBlock', mapBlock3'
+    , foldBlockNodesF, foldBlockNodesF3
+    , foldBlockNodesB, foldBlockNodesB3
+
+  REMOVED
+
+   - mapMaybeO, mapMaybeC
+     (no need: we have Functor instances)
+
+   - Block constructors are no longer exported
+     (use the block API instead)
+
+   - blockToNodeList, blockToNodeList', blockToNodeList'', blockToNodeList'''
+     (use the block API instead)
+
+   - tfFoldBlock, ScottBlock, scottFoldBlock, fbnf3,
+     BlockResult(..), lookupBlock,
+     (I don't know what any of these are for, if they're still important
+     we could reinstate)
+
+  CHANGED
+
+   - Compiler.Hoopl.GHC is now Compiler.Hoopl.Internals and exports some
+     more stuff.
+
+   - Label is not a newtype; type Label = Unique
+   - Unique is not a newtype: type Unique = Int
+     (these newtypes were adding overhead)
+
+   - blockMapNodes3 is now mapBlock3'
+
+   - Lots of internal refactoring and tidying up
+
+
 3.8.7.4
   Re-export runWithFuel as per Justin Bailey
 
diff --git a/hoopl.cabal b/hoopl.cabal
index faeb712..2874788 100644
--- a/hoopl.cabal
+++ b/hoopl.cabal
@@ -1,5 +1,6 @@
 Name:                hoopl
 Version:             3.10.0.0
+-- NOTE: Don't forget to update 'repository this' tag when incrementing version!
 -- GHC 7.6.1 released with 3.9.0.0
 -- version 3.8.6.0 is the version that goes with the camera-ready Haskell'10 paper
 -- version 3.8.7.0 works with GHC 7
@@ -20,14 +21,29 @@ Author:              Norman Ramsey, João Dias, Simon Marlow and Simon Peyton Jo
 Maintainer:          nr at cs.tufts.edu
 Homepage:            http://ghc.cs.tufts.edu/hoopl/
 Build-Type:          Simple
-Cabal-Version:       >=1.6
+Cabal-Version:       >=1.10
 Synopsis:            A library to support dataflow analysis and optimization
 Category:            Compilers/Interpreters
-Extra-Source-Files:  README, hoopl.pdf, CHANGES, FAQ
+Tested-With:         GHC==7.6.3, GHC==7.6.2, GHC==7.6.1, GHC==7.4.2, GHC==7.4.1, GHC==7.2.2, GHC==7.0.4, GHC==7.0.3, GHC==7.0.2, GHC==7.0.1
+Extra-Source-Files:  README, hoopl.pdf, changelog
 
 Library
+  Default-Language:  Haskell2010
+  Other-Extensions:  CPP
+                     FlexibleContexts
+                     FlexibleInstances
+                     GADTs
+                     LiberalTypeSynonyms
+                     MultiParamTypeClasses
+                     RankNTypes
+                     ScopedTypeVariables
+                     TypeFamilies
+                     TypeSynonymInstances
+  If impl(ghc>=7.2)
+    Other-Extensions: Safe Trustworthy
+
   Hs-Source-Dirs:    src
-  Build-Depends:     base >= 3 && < 5, containers
+  Build-Depends:     base >= 4.3 && < 4.8, containers >= 0.4 && < 0.6
   Exposed-Modules:   Compiler.Hoopl,
                      Compiler.Hoopl.Internals,
                      Compiler.Hoopl.Wrappers,
@@ -54,8 +70,12 @@ Library
                      Compiler.Hoopl.XUtil
 
   Ghc-Options:       -Wall -fno-warn-name-shadowing
-  Extensions:        CPP
 
 Source-repository head
   Type:       git
-  Location:   git://ghc.cs.tufts.edu/hoopl/hoopl.git
+  Location:   git://ghc.haskell.org/packages/hoopl.git
+
+Source-repository this
+  Type:       git
+  Location:   git://ghc.haskell.org/packages/hoopl.git
+  Tag:        hoopl-3.10.0.0-release



More information about the ghc-commits mailing list