[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