packages/hoopl.git
3 years agoAdd Functor, Foldable, Traversable instances for LabelMap
Ben Gamari [Mon, 28 Mar 2016 13:23:44 +0000 (15:23 +0200)] 
Add Functor, Foldable, Traversable instances for LabelMap

3 years agodocuments the changes for 3.10.2.1 release, and bump up the version # v3.10.2.1
Ning Wang [Mon, 21 Dec 2015 21:53:38 +0000 (13:53 -0800)] 
documents the changes for 3.10.2.1 release, and bump up the version #

3 years agoPrefix unused type variables with an underscore.
Michał Sośnicki [Sun, 6 Dec 2015 23:41:55 +0000 (00:41 +0100)] 
Prefix unused type variables with an underscore.

3 years agoMerge pull request #19 from bgamari/master
Ben Gamari [Thu, 3 Dec 2015 20:16:16 +0000 (21:16 +0100)] 
Merge pull request #19 from bgamari/master

Guard redundant equations

3 years agoGuard redundant equations
Ben Gamari [Thu, 3 Dec 2015 18:45:07 +0000 (13:45 -0500)] 
Guard redundant equations

GHC's exhaustiveness checker used to be quite rudimentary. As of GHC
8.0 we have a new exhaustiveness checker which correctly recognizes the
cases covered by these equations as invalid.

3 years agoMerge pull request #18 from hvr/pr/de-cpp
Herbert Valerio Riedel [Sun, 1 Nov 2015 09:47:05 +0000 (10:47 +0100)] 
Merge pull request #18 from hvr/pr/de-cpp

Get rid of `#if CABAL` conditionals again

3 years agoGet rid of `#if CABAL` conditionals
Herbert Valerio Riedel [Sat, 31 Oct 2015 11:18:37 +0000 (12:18 +0100)] 
Get rid of `#if CABAL` conditionals

Those were introduced via 814d4ef37ef3b5f2dfeddced3875cbd3e8b375b1
but there's actually a more elegant way to avoid redundant imports
in combination with MRP-style refactoring
(as started in 20fad2ed91cd78ed8b9bd92aae1ecfdfb8350d2f)

3 years agoRelax upper bound on `base` to allow base-4.9
Herbert Valerio Riedel [Sat, 31 Oct 2015 10:51:05 +0000 (11:51 +0100)] 
Relax upper bound on `base` to allow base-4.9

GHC 8.0 is going to ship with base-4.9.0.0

3 years agoRewrite Applicative/Monad instances into normal-form
Herbert Valerio Riedel [Sat, 17 Oct 2015 17:33:35 +0000 (19:33 +0200)] 
Rewrite Applicative/Monad instances into normal-form

I.e. make sure `return` is defined in terms of `pure` rather than the
other way round.

3 years agoSquashed commit of the following:
Ning Wang [Sun, 9 Aug 2015 03:33:43 +0000 (20:33 -0700)] 
Squashed commit of the following:

    1. update changelog.md
    2. bump up the minior version number

3 years agoUpdate bug tracker URL
Ben Gamari [Sat, 8 Aug 2015 12:56:08 +0000 (14:56 +0200)] 
Update bug tracker URL

3 years agoMerge pull request #13 from thomie/master
Ben Gamari [Sat, 8 Aug 2015 12:55:22 +0000 (14:55 +0200)] 
Merge pull request #13 from thomie/master

Export 'Showing' from Hoopl.Show

3 years agoExport 'Showing' from Hoopl.Show
Thomas Miedema [Sat, 8 Aug 2015 11:41:54 +0000 (13:41 +0200)] 
Export 'Showing' from Hoopl.Show

GHC Trac user nimnul reports in
https://ghc.haskell.org/trac/ghc/ticket/10540:

  Hoopl exports

    showGraph :: Showing n -> Graph n e x -> String

  But it doesn't export Showing. This doesn't make sense, as it's a
  user-supplied function. So to know what I should pass to showGraph I can only
  look at the source. :i Showing doesn't work.

  Below is a patch to export the innocent type synonym:

4 years agotest/Simplify: don't crash on divide by zero
Michal Terepeta [Sun, 5 Jul 2015 12:43:42 +0000 (14:43 +0200)] 
test/Simplify: don't crash on divide by zero

Currently test/Simplify would not check for 0 before trying to do
constant folding, which is quite bad since it simply crashes the
program.

The fix is to simply avoid evaluating the expression if there is a
division by zero.

4 years agoFix dead code elimination used in tests
Michal Terepeta [Sun, 28 Jun 2015 15:03:45 +0000 (17:03 +0200)] 
Fix dead code elimination used in tests

The helper functions to fold over instructions and expressions in
test/OptSupport have a bug where they would not recurse for complex
expressions. And since testing/Live module depends on it, complex
expressions would not be fully analyzed, leading to removal of code
that is *not* dead, e.g.,
  var1 = m[0]
  var1 = m[var1] + m[var1]
would get rewritten to just
  var1 = m[var1] + m[var1]
which is clearly wrong.

Note that this bug affects only Hoopl's tests.

4 years agoFix parsing of memory accesses in tests
Michal Terepeta [Sat, 27 Jun 2015 14:32:12 +0000 (16:32 +0200)] 
Fix parsing of memory accesses in tests

Apparently the current parser would fail on any memory accesses, both
loads and stores. In case of the former it's enough to try parsing the
memory accesses before variables. For stores, we can use backtracking
so that we don't consume the initial "m" of memory assignemnt thinking
that it's a variable identifier.

4 years agoTest: crash on errors
Michal Terepeta [Sat, 27 Jun 2015 14:29:59 +0000 (16:29 +0200)] 
Test: crash on errors

Previously Test would only print any errors (e.g., parsing errors).
Now it'll simply crash, making the failure obvious.

4 years agoRemove trailing whitespace in testing/
Michal Terepeta [Sun, 7 Jun 2015 18:04:48 +0000 (20:04 +0200)] 
Remove trailing whitespace in testing/

4 years agoFix all warnings in testing/
Michal Terepeta [Sun, 7 Jun 2015 18:01:24 +0000 (20:01 +0200)] 
Fix all warnings in testing/

4 years agoMerge branch 'cleanups/2' of https://github.com/michalt/hoopl into michalt-cleanups/2
Ning Wang [Sun, 31 May 2015 22:36:16 +0000 (15:36 -0700)] 
Merge branch 'cleanups/2' of https://github.com/michalt/hoopl into michalt-cleanups/2

4 years agoMigrate testing/Main.hs to TestFramework
Michal Terepeta [Sat, 30 May 2015 12:18:26 +0000 (14:18 +0200)] 
Migrate testing/Main.hs to TestFramework

This is (hopefully) a first step to cleaning up and extending
Hoopl's testsuite. In the future I'd like to add some QuickCheck
tests, so I wanted to use a testing framework that would make
it easy to handle both HUnit and QuickCheck tests.

Note that we considered using tasty (instead of test-framework),
but it doesn't support GHC <7.4, which Hoopl does support.

4 years agoRemove private directory (ticket #6)
Michal Terepeta [Fri, 29 May 2015 10:51:39 +0000 (12:51 +0200)] 
Remove private directory (ticket #6)

It contained reviews from ICFP and POPL, which are not really useful
(at least now) and probably shouldn't have been made public in the
first place.

4 years agoRemove prototypes directory (ticket #6)
Michal Terepeta [Fri, 29 May 2015 10:49:10 +0000 (12:49 +0200)] 
Remove prototypes directory (ticket #6)

Most of the prototypes don't compile and keeping them in the
repository might be more confusing than helpful.

4 years agoFlexibleContexts extension is required 7.10. Add this to play nice with 7.10.
Ning Wang [Wed, 6 May 2015 02:36:01 +0000 (19:36 -0700)] 
FlexibleContexts extension is required 7.10. Add this to play nice with 7.10.

4 years ago1. <*> is included the Prelude of 7.10, it conflicts with Hoopl's def. change the...
Ning Wang [Wed, 6 May 2015 02:21:38 +0000 (19:21 -0700)] 
1. <*> is included the Prelude of 7.10, it conflicts with Hoopl's def.  change the code to use a qualified version. 2. we don't need to see warnings again in test, disable them.

4 years agoghc-7.10 does not like Monad instances that are not Functor and Applicative instances...
Ning Wang [Wed, 6 May 2015 02:10:33 +0000 (19:10 -0700)] 
ghc-7.10 does not like Monad instances that are not Functor and Applicative instances. Made them instances of Functor and Applicative so the build can pass in Travis CI.

4 years agofix this expected file that is intentionally changed to mismatch the result to test...
Ning Wang [Wed, 6 May 2015 01:36:02 +0000 (18:36 -0700)] 
fix this expected file that is intentionally changed to mismatch the result to test Travis CI

4 years agoThe test needs extra modulars. I add the command to install dependencies before runni...
Ning Wang [Wed, 6 May 2015 01:27:32 +0000 (18:27 -0700)] 
The test needs extra modulars. I add the command to install dependencies before running cabal configure.

4 years agoTravis still run ghc-7.0.1 to compile this package, and --enable-tests failed the...
Ning Wang [Wed, 6 May 2015 01:00:12 +0000 (18:00 -0700)] 
Travis still run ghc-7.0.1 to compile this package, and --enable-tests failed the CI. I don't know whether the ancient cabal and ghc caused this failure, so I disable it now until I find a solution

4 years agoenable the test in Travis CI
Ning Wang [Tue, 5 May 2015 23:51:26 +0000 (16:51 -0700)] 
enable the test in Travis CI

4 years ago1. add an option to enable the test coverage report. 2. fix errors in expected files...
Ning Wang [Tue, 5 May 2015 23:48:05 +0000 (16:48 -0700)] 
1. add an option to enable the test coverage report. 2. fix errors in expected files, and introduced a mismatch in the expected file to test if Travis CI can catch this error.

4 years agosync up and mergewith upstream
Ning Wang [Tue, 5 May 2015 17:53:48 +0000 (10:53 -0700)] 
sync up and mergewith upstream

4 years agoUndo version bump from 54e4786810dc8305e694f06d
Herbert Valerio Riedel [Mon, 27 Apr 2015 06:37:05 +0000 (08:37 +0200)] 
Undo version bump from 54e4786810dc8305e694f06d

`hoopl` follows the early-version-bump strategy, so its version was
already (minor version) incremented relative to the last released
version

4 years agoAdd note about version bumping
Herbert Valerio Riedel [Mon, 27 Apr 2015 06:33:10 +0000 (08:33 +0200)] 
Add note about version bumping

4 years agoMarkdownify and extend README
Herbert Valerio Riedel [Mon, 27 Apr 2015 06:29:51 +0000 (08:29 +0200)] 
Markdownify and extend README

4 years agoupdate changelog.md to include all the changes made in the previous cl
Ning Wang [Sat, 25 Apr 2015 04:19:15 +0000 (21:19 -0700)] 
update changelog.md to include all the changes made in the previous cl

4 years ago1. remove the dependency on mk to run the tests; 2. make Ast an instance of Eq such...
Ning Wang [Sat, 25 Apr 2015 04:04:16 +0000 (21:04 -0700)] 
1. remove the dependency on mk to run the tests; 2. make Ast an instance of Eq such that we can compare the transformed results against the expected results in Haskell; 3. add a module to convert IR back to Ast to make the above comparison possible.4. remove Norman from the maintainer field, and add Andreas and Ning as the maintainers; 5. Add #if CABAL macro to several hoop files to conditionally include the macro generated by Cabal such that we can build hoopl and all the tests in ghci

4 years agoChange maintainers.
Andreas Voellmy [Fri, 24 Apr 2015 13:13:47 +0000 (09:13 -0400)] 
Change maintainers.

4 years agoBump version
Andreas Voellmy [Thu, 16 Apr 2015 13:35:13 +0000 (09:35 -0400)] 
Bump version

Bump version so we can release on hackage. The 3rd digit is updated
since this version re-exports a function (expanding the interface)
from Compiler.Hoopl.

4 years agoRe-export runWithFuel.
Andreas Voellmy [Wed, 15 Apr 2015 00:50:06 +0000 (20:50 -0400)] 
Re-export runWithFuel.

4 years agoFix typos in .travis.yml
Herbert Valerio Riedel [Tue, 14 Apr 2015 08:14:37 +0000 (10:14 +0200)] 
Fix typos in .travis.yml

4 years agoUpdate Travis CI job file
Herbert Valerio Riedel [Tue, 14 Apr 2015 07:52:24 +0000 (09:52 +0200)] 
Update Travis CI job file

4 years agoBump cabal version
Herbert Valerio Riedel [Tue, 14 Apr 2015 07:42:05 +0000 (09:42 +0200)] 
Bump cabal version

The recent visible change in b38e92f67cabfa0d0ed12ac93c2d431f2391de70
made this minor version bump necessary

4 years agoRemove redundant constraints, discovered by -fwarn-redundant-constraints
Simon Peyton Jones [Tue, 6 Jan 2015 09:36:37 +0000 (09:36 +0000)] 
Remove redundant constraints, discovered by -fwarn-redundant-constraints

4 years agoavoid redundant import warnings
Herbert Valerio Riedel [Sat, 27 Dec 2014 22:48:29 +0000 (23:48 +0100)] 
avoid redundant import warnings

4 years agoPrepare for 3.10.0.2 release hoopl-3.10.0.2-release
Herbert Valerio Riedel [Fri, 19 Dec 2014 22:30:38 +0000 (23:30 +0100)] 
Prepare for 3.10.0.2 release

4 years agoMark a few modules as Safe rather than Trustworthy.
David Terei [Thu, 13 Nov 2014 01:42:14 +0000 (17:42 -0800)] 
Mark a few modules as Safe rather than Trustworthy.

4 years agoBump `base` constraint
Herbert Valerio Riedel [Tue, 9 Sep 2014 15:08:27 +0000 (17:08 +0200)] 
Bump `base` constraint

...and update cabal meta-info while at it

5 years agoDon't import Applicative explicitly
Austin Seipp [Tue, 22 Apr 2014 11:06:13 +0000 (06:06 -0500)] 
Don't import Applicative explicitly

In 7.10, this import would be redundant since Applicative is in the
Prelude. It's easiest to just make the import whole-sale.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoDe-UTF8 hoopl.cabal temporarily ghc-7.8 ghc-7.8.1-release ghc-7.8.2-release hoopl-3.10.0.1-release
Herbert Valerio Riedel [Mon, 7 Apr 2014 17:39:06 +0000 (19:39 +0200)] 
De-UTF8 hoopl.cabal temporarily

This workarounds an issue in GHC 7.8.1's build-system
(which has been fixed in GHC HEAD already but requires a newer Cabal lib)

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoUpdate hoopl.cabal and convert changelog to MD hoopl-3.10.0.0-release
Herbert Valerio Riedel [Sat, 22 Mar 2014 10:38:41 +0000 (11:38 +0100)] 
Update hoopl.cabal and convert changelog to MD

This is in preparation for the hoopl-3.10.0.0 and ghc-7.8.1 release

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoAdd Functor/Applicative instances to silence AMP warnings
Herbert Valerio Riedel [Fri, 25 Oct 2013 08:31:11 +0000 (10:31 +0200)] 
Add Functor/Applicative instances to silence AMP warnings

This commit follows the suggestions from

 http://www.haskell.org/haskellwiki/Functor-Applicative-Monad_Proposal#Future-proofing_current_code

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoAdd Travis-CI `.travis.yml` script
Herbert Valerio Riedel [Fri, 25 Oct 2013 06:58:47 +0000 (08:58 +0200)] 
Add Travis-CI `.travis.yml` script

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoUpdate `hoopl.cabal` to `cabal-version>=1.10`
Herbert Valerio Riedel [Fri, 25 Oct 2013 06:51:47 +0000 (08:51 +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@gnu.org>
5 years agoUpdate `LANGUAGE` pragma lists
Herbert Valerio Riedel [Fri, 25 Oct 2013 06:53:23 +0000 (08:53 +0200)] 
Update `LANGUAGE` pragma lists

`CPP` was missing from many `LANGUAGE` declarations, and a few
extensions become redundant with Haskell2010.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoRemoved a broken symlink
Jan Stolarek [Tue, 10 Sep 2013 08:55:40 +0000 (09:55 +0100)] 
Removed a broken symlink

6 years agoBump version number following new policy
Ian Lynagh [Fri, 30 Nov 2012 16:40:47 +0000 (16:40 +0000)] 
Bump version number following new policy

We now keep the HEAD version numbers as values which would be suitable
for immediate release.

6 years agoAdd comment to .cabal file saying what GHC 7.6.1 shipped with
Ian Lynagh [Fri, 30 Nov 2012 16:00:02 +0000 (16:00 +0000)] 
Add comment to .cabal file saying what GHC 7.6.1 shipped with

6 years agoMerge branch 'master' of /home/nr/tmp/hoopl-patched
Norman Ramsey [Tue, 6 Nov 2012 14:18:51 +0000 (09:18 -0500)] 
Merge branch 'master' of /home/nr/tmp/hoopl-patched

I've validate this patch against GHC HEAD.
Norman Ramsey <nr@cs.tufts.edu>

6 years agoSimpleUniqueMonad: define instance for Functor
Bernhard Urban [Mon, 29 Oct 2012 15:34:22 +0000 (16:34 +0100)] 
SimpleUniqueMonad: define instance for Functor

.. for convient use of `<$>'

6 years agoadd mapFilter
Simon Marlow [Wed, 18 Jul 2012 12:59:54 +0000 (13:59 +0100)] 
add mapFilter

7 years agosmall optimisations to blockSnoc and blockCons
Simon Marlow [Tue, 17 Jul 2012 09:12:31 +0000 (10:12 +0100)] 
small optimisations to blockSnoc and blockCons

7 years agoFix build with GHC 7.0 ghc-7.6 ghc-7.6.1-release ghc-7.6.2-release ghc-7.6.3-release hoopl-3.9.0.0-release
Ian Lynagh [Fri, 13 Jul 2012 17:14:35 +0000 (18:14 +0100)] 
Fix build with GHC 7.0

7 years agoPut back the newtype around Label
Simon Marlow [Fri, 6 Jul 2012 13:31:24 +0000 (14:31 +0100)] 
Put back the newtype around Label

It was a pain having Label==Int, because we can't make Label-specific
instances for things.  The performance drop doesn't seem significant.

7 years agoRename BTail -> BCons, BHead -> BSnoc
Simon Marlow [Fri, 6 Jul 2012 10:21:18 +0000 (11:21 +0100)] 
Rename BTail -> BCons, BHead -> BSnoc

7 years agoadd TypeSynonymInstances
Simon Marlow [Fri, 6 Jul 2012 08:28:54 +0000 (09:28 +0100)] 
add TypeSynonymInstances

It seems this is now implied by FlexibleInstances, but maybe it wasn't
in older GHC versions.

7 years agoadd some missing exports
Simon Marlow [Thu, 5 Jul 2012 12:28:57 +0000 (13:28 +0100)] 
add some missing exports

7 years agofix warnings
Simon Marlow [Thu, 5 Jul 2012 12:28:42 +0000 (13:28 +0100)] 
fix warnings

7 years agoChange the block representation (version bumped to 3.9.0.0)
Simon Marlow [Wed, 4 Jul 2012 15:57:45 +0000 (16:57 +0100)] 
Change the block representation (version bumped to 3.9.0.0)

This patch implements the change to the block representation as agreed
with Norman.  I also took the liberty of doing a lot of refactoring
and rearrangement to make the code organisation more logical.  A
summary of the API changes is below.

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

7 years agoinstructinos for developers
Norman Ramsey [Wed, 9 May 2012 20:03:11 +0000 (16:03 -0400)] 
instructinos for developers

7 years agoinstructions for working on hoopl without breaking GHC
Norman Ramsey [Wed, 9 May 2012 19:58:28 +0000 (15:58 -0400)] 
instructions for working on hoopl without breaking GHC

7 years agoMerge branch 'ghc-7.4'
Norman Ramsey [Sat, 21 Apr 2012 17:08:57 +0000 (13:08 -0400)] 
Merge branch 'ghc-7.4'

Conflicts:
hoopl.cabal

7 years agoupdate version number and remove Stability: field from cabal file
Norman Ramsey [Sat, 21 Apr 2012 16:52:13 +0000 (12:52 -0400)] 
update version number and remove Stability: field from cabal file

7 years agore-export runWithFuel, as per Justin Bailey
Norman Ramsey [Sat, 21 Apr 2012 16:52:30 +0000 (12:52 -0400)] 
re-export runWithFuel, as per Justin Bailey

7 years agopatch from Paolo Capriotti, ignore some GHC build files
Norman Ramsey [Tue, 20 Mar 2012 22:42:43 +0000 (18:42 -0400)] 
patch from Paolo Capriotti, ignore some GHC build files

(I've changed the .gitignore to operate just in the root directory,
which might not be correct.)

7 years agoBump version ghc-7.4 ghc-7.4.1-release ghc-7.4.2-release hoopl-3.8.7.3-release
Ian Lynagh [Tue, 20 Dec 2011 14:30:36 +0000 (14:30 +0000)] 
Bump version

7 years agoAdd a kind annotation on Graph'
Simon Peyton Jones [Mon, 22 Aug 2011 07:47:05 +0000 (08:47 +0100)] 
Add a kind annotation on Graph'

  data Graph' block (n :: * -> * -> *) e x where
    GNil  :: Graph' block n O O
    GUnit :: block n O O -> Graph' block n O O
    GMany :: MaybeO e (block n O C)

We want the kind annotation so we can get the the right kind for
Graph' without looking at its *uses*, as Haskell dictates (Report
section 4.6), and (now that we are extending the kind system) GHC is
going to do.

Previously GHC was a bit more forgiving, in a non-standard way.

7 years agoFix safe haskell issue with ghc 7.2.1
David Terei [Tue, 16 Aug 2011 22:27:04 +0000 (15:27 -0700)] 
Fix safe haskell issue with ghc 7.2.1

We can't rely on the containers package using Safe Haskell
yet, so must have XUtil be Trustworthy, not Safe.

7 years agoUpdate hoopl to use Safe Haskell if GHC >= 7.2
David Terei [Thu, 11 Aug 2011 00:19:08 +0000 (17:19 -0700)] 
Update hoopl to use Safe Haskell if GHC >= 7.2

7 years agoadded and exported liftFuel method of FuelMonadT
Norman Ramsey [Fri, 22 Jul 2011 19:20:55 +0000 (15:20 -0400)] 
added and exported liftFuel method of FuelMonadT

method runWithFuel remains hidden and should stay hidden

thanks Justin Bailey for the bug report

Signed-off-by: Norman Ramsey <nr@cs.tufts.edu>
8 years agoMerge branch 'master' of linux.cs.tufts.edu:/r/c--/papers/dfopt
Norman Ramsey [Mon, 18 Jul 2011 18:33:39 +0000 (14:33 -0400)] 
Merge branch 'master' of linux.cs.tufts.edu:/r/c--/papers/dfopt

the 'validate' script appears somewhat broken

8 years agochange from Edward Yang to fix warning
Norman Ramsey [Mon, 18 Jul 2011 18:33:34 +0000 (14:33 -0400)] 
change from Edward Yang to fix warning

8 years agoAdd mapGraph and related functions.
Edward Z. Yang [Tue, 12 Apr 2011 10:04:08 +0000 (11:04 +0100)] 
Add mapGraph and related functions.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoFix premature termination of fixpoint iteration.
Edward Z. Yang [Mon, 11 Apr 2011 15:32:28 +0000 (16:32 +0100)] 
Fix premature termination of fixpoint iteration.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoMake local signature more restrictive, eliminates incomplete pattern match failure.
Edward Z. Yang [Wed, 30 Mar 2011 11:35:57 +0000 (12:35 +0100)] 
Make local signature more restrictive, eliminates incomplete pattern match failure.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agochange README to trigger git hook
Norman Ramsey [Mon, 28 Mar 2011 23:32:00 +0000 (19:32 -0400)] 
change README to trigger git hook

8 years agobump the Cabal package number and upload to Hackage
Norman Ramsey [Mon, 28 Mar 2011 23:29:03 +0000 (19:29 -0400)] 
bump the Cabal package number and upload to Hackage

8 years agoFix warnings.
Edward Z. Yang [Wed, 19 Jan 2011 11:30:44 +0000 (11:30 +0000)] 
Fix warnings.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
8 years agoadded embryonic validate script
Norman Ramsey [Fri, 7 Jan 2011 20:20:33 +0000 (15:20 -0500)] 
added embryonic validate script

8 years agoMake Hoopl work with MonoLocalBinds.
Edward Z. Yang [Sat, 25 Dec 2010 02:26:15 +0000 (21:26 -0500)] 
Make Hoopl work with MonoLocalBinds.

This was achieved by adding GHC-generated type signatures wherever
polymorphism was necessary.  Some of these type signatures are quite
ugly, so someone who is more familiar with the code should specialize
them as appropriate.

8 years agoMove LICENSE file up one level
Simon Peyton Jones [Wed, 18 Aug 2010 10:29:17 +0000 (11:29 +0100)] 
Move LICENSE file up one level

8 years agoAdd the location of the src/ directory to hoopl.cabal
Simon Peyton Jones [Fri, 13 Aug 2010 15:55:06 +0000 (16:55 +0100)] 
Add the location of the src/ directory to hoopl.cabal

8 years agoMove hoopl.cabal and Setup.hs from src/ to the root.
Simon Peyton Jones [Fri, 13 Aug 2010 15:47:45 +0000 (16:47 +0100)] 
Move hoopl.cabal and Setup.hs from src/ to the root.
This is where GHC's build system expects them.

8 years agoMerge branch 'three-eight' of /home/nr/papers/simon/dfopt
Norman Ramsey [Fri, 30 Jul 2010 20:55:02 +0000 (16:55 -0400)] 
Merge branch 'three-eight' of /home/nr/papers/simon/dfopt

Conflicts:
src/Compiler/Hoopl/Dataflow.hs

8 years agouploaded to Hackage; bumped version number post-upload
Norman Ramsey [Fri, 30 Jul 2010 20:40:42 +0000 (16:40 -0400)] 
uploaded to Hackage; bumped version number post-upload

8 years agorenamed forward 'add' function in Combinators.hs to fadd_rw
Norman Ramsey [Fri, 30 Jul 2010 20:37:38 +0000 (16:37 -0400)] 
renamed forward 'add' function in Combinators.hs to fadd_rw

8 years agoremoved obsolete code from Dataflow.hs
Norman Ramsey [Fri, 30 Jul 2010 20:37:13 +0000 (16:37 -0400)] 
removed obsolete code from Dataflow.hs

8 years agoexpunged BwdRew
Norman Ramsey [Fri, 30 Jul 2010 20:36:52 +0000 (16:36 -0400)] 
expunged BwdRew

8 years agoclean up the typesetting in the appendices
Norman Ramsey [Fri, 30 Jul 2010 20:10:08 +0000 (16:10 -0400)] 
clean up the typesetting in the appendices

(and remove tab characters from the source)

8 years agopreprint version
Norman Ramsey [Fri, 30 Jul 2010 20:09:22 +0000 (16:09 -0400)] 
preprint version