packages/hoopl.git
7 years agoMore commentary on the new representation simonmar-alternative-block-rep
Norman Ramsey [Thu, 21 Jun 2012 20:44:49 +0000 (22:44 +0200)] 
More commentary on the new representation

7 years agoinitial commentary on Graph.hs
Norman Ramsey [Thu, 21 Jun 2012 20:34:06 +0000 (22:34 +0200)] 
initial commentary on Graph.hs

7 years agoAn alternative Block representation that gives O(1) access to the
Simon Marlow [Fri, 15 Jun 2012 10:58:30 +0000 (11:58 +0100)] 
An alternative Block representation that gives O(1) access to the
first and last node, which makes it easier to perform operations on
these nodes.

With the new representation we can have

  blockSplit :: Block n C C -> (n C O, Block n O O, n O C)
  blockSplit (BlockCC f b t) = (f, b, t)

  blockJoin :: n C O -> Block n O O -> n O C -> Block n C C
  blockJoin f b t = BlockCC f b t

whereas in the old representation these would be O(n), and would need
an extra Maybe (because Blocks can't be empty).  This came up because
GHC needs these kinds of operations - search for uses of
blockToNodeList in compiler/cmm for some examples.  Many of these are
just picking apart blocks to get at the first or last nodes.

The simonmar-alternative-block-rep branch makes the representation
change to the extent required to compile GHC master and do performance
measurements.  Some functions that GHC does not require are commented
out.

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>
7 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

7 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

8 years agoText version of references as given to Sheridan.
Norman Ramsey [Fri, 30 Jul 2010 00:43:29 +0000 (20:43 -0400)] 
Text version of references as given to Sheridan.

8 years agoBuild PS file without appendix.
Norman Ramsey [Fri, 30 Jul 2010 00:43:17 +0000 (20:43 -0400)] 
Build PS file without appendix.

8 years agoRealized that classifications could be condensed, condensed them, and added Haskell
Norman Ramsey [Fri, 30 Jul 2010 00:43:00 +0000 (20:43 -0400)] 
Realized that classifications could be condensed, condensed them, and added Haskell

8 years agoadded fixpoint in an appendix (for web version only)
Norman Ramsey [Fri, 30 Jul 2010 00:23:14 +0000 (20:23 -0400)] 
added fixpoint in an appendix (for web version only)

8 years agoCorrected a handful of errors and made a couple dozen irresistible changes.
Norman Ramsey [Thu, 29 Jul 2010 23:40:59 +0000 (19:40 -0400)] 
Corrected a handful of errors and made a couple dozen irresistible changes.

8 years agocamera-ready formatting
Norman Ramsey [Thu, 29 Jul 2010 19:17:39 +0000 (15:17 -0400)] 
camera-ready formatting

8 years agofinal spell check
Norman Ramsey [Thu, 29 Jul 2010 19:16:43 +0000 (15:16 -0400)] 
final spell check

8 years agofinal page-breaking and cross-reference
Norman Ramsey [Thu, 29 Jul 2010 19:13:47 +0000 (15:13 -0400)] 
final page-breaking and cross-reference

8 years agofinal revision of discussion section
Norman Ramsey [Thu, 29 Jul 2010 19:13:34 +0000 (15:13 -0400)] 
final revision of discussion section

8 years agoremove noise from bibliography
Norman Ramsey [Thu, 29 Jul 2010 19:13:12 +0000 (15:13 -0400)] 
remove noise from bibliography

8 years agoignore new derived file block.tex
Norman Ramsey [Thu, 29 Jul 2010 18:16:44 +0000 (14:16 -0400)] 
ignore new derived file block.tex

8 years agovery delicate page breaks, good through page 13 at last!
Norman Ramsey [Thu, 29 Jul 2010 18:16:24 +0000 (14:16 -0400)] 
very delicate page breaks, good through page 13 at last!

(and some wordsmithing too)

8 years agodo def/use analysis on \smallfuzzverbatiminput stuff
Norman Ramsey [Thu, 29 Jul 2010 18:16:00 +0000 (14:16 -0400)] 
do def/use analysis on \smallfuzzverbatiminput stuff

8 years agoget implementation of 'block' from the code
Norman Ramsey [Thu, 29 Jul 2010 18:15:43 +0000 (14:15 -0400)] 
get implementation of 'block' from the code

8 years agowordsmithing
Norman Ramsey [Thu, 29 Jul 2010 18:15:10 +0000 (14:15 -0400)] 
wordsmithing

8 years agonow that Figure 5 is correct, make it readable again
Norman Ramsey [Thu, 29 Jul 2010 17:38:06 +0000 (13:38 -0400)] 
now that Figure 5 is correct, make it readable again

8 years agowordsmithing
Norman Ramsey [Thu, 29 Jul 2010 17:37:50 +0000 (13:37 -0400)] 
wordsmithing

8 years agoTinkering with language on page 6 to avoid a ghastly page break on page 7.
Norman Ramsey [Thu, 29 Jul 2010 17:25:59 +0000 (13:25 -0400)] 
Tinkering with language on page 6 to avoid a ghastly page break on page 7.

8 years agofixing language in Section 4, but now wrestling with an awful page break
Norman Ramsey [Thu, 29 Jul 2010 17:18:01 +0000 (13:18 -0400)] 
fixing language in Section 4, but now wrestling with an awful page break

8 years agowordsmithing, plus nice page breaks through page 3, but then trouble at the end of...
Norman Ramsey [Thu, 29 Jul 2010 01:47:10 +0000 (21:47 -0400)] 
wordsmithing, plus nice page breaks through page 3, but then trouble at the end of page 4

8 years ago"shape" was defined before use. that's fixed.
Norman Ramsey [Wed, 28 Jul 2010 23:51:34 +0000 (19:51 -0400)] 
"shape" was defined before use.  that's fixed.

8 years agorighteous page-break fu
Norman Ramsey [Wed, 28 Jul 2010 21:07:35 +0000 (17:07 -0400)] 
righteous page-break fu

8 years agoHackage version consistent with paper
Norman Ramsey [Wed, 28 Jul 2010 20:59:26 +0000 (16:59 -0400)] 
Hackage version consistent with paper

8 years agoWording in sections 2 and 3, with attention on a couple of points:
Norman Ramsey [Wed, 28 Jul 2010 20:59:07 +0000 (16:59 -0400)] 
Wording in sections 2 and 3, with attention on a couple of points:

  - don't even suggest that the empty fact is an appropriate
    start fact for constant propagation

  - the example that mentioned loops wasn't a loop

  - point out in section 3.1 that shape is a new thing

8 years agotightening and formatting on page 1
Norman Ramsey [Wed, 28 Jul 2010 20:58:00 +0000 (16:58 -0400)] 
tightening and formatting on page 1

8 years agoLink to full version of entire paper, not to supplement.
Norman Ramsey [Wed, 28 Jul 2010 20:57:35 +0000 (16:57 -0400)] 
Link to full version of entire paper, not to supplement.

8 years agowork with JOhn on discussion section and a few marginalia
Norman Ramsey [Tue, 27 Jul 2010 19:26:44 +0000 (15:26 -0400)] 
work with JOhn on discussion section and a few marginalia

8 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Tue, 27 Jul 2010 19:10:58 +0000 (15:10 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

8 years agocategories, subject descriptors, messing with formatting of first page
Norman Ramsey [Tue, 27 Jul 2010 19:10:52 +0000 (15:10 -0400)] 
categories, subject descriptors, messing with formatting of first page

8 years agoComments proposing slash and burn in Discussion
Joao Dias [Tue, 27 Jul 2010 19:01:29 +0000 (15:01 -0400)] 
Comments proposing slash and burn in Discussion

8 years agowibble
Joao Dias [Tue, 27 Jul 2010 19:01:06 +0000 (15:01 -0400)] 
wibble

8 years agoHolding the reader's hand a little more through the rewrite-combinator section
Joao Dias [Tue, 27 Jul 2010 17:10:13 +0000 (13:10 -0400)] 
Holding the reader's hand a little more through the rewrite-combinator section

8 years agoWibbles on last night's commits
Joao Dias [Tue, 27 Jul 2010 15:21:49 +0000 (11:21 -0400)] 
Wibbles on last night's commits

8 years agofiddled some with figures and page breaks
Norman Ramsey [Tue, 27 Jul 2010 04:19:52 +0000 (00:19 -0400)] 
fiddled some with figures and page breaks

there is one truly horrendous page break, but we are under the space limit

8 years agoreformatted and renamed code imported into the paper (no more 'tail')
Norman Ramsey [Tue, 27 Jul 2010 04:12:29 +0000 (00:12 -0400)] 
reformatted and renamed code imported into the paper (no more 'tail')

8 years agomassaged the performance section to make it clear that we are speculating
Norman Ramsey [Tue, 27 Jul 2010 04:12:09 +0000 (00:12 -0400)] 
massaged the performance section to make it clear that we are speculating

8 years agoExpunged FwdGraphAndTail from paper, and with it the last vestige of "sequence of...
Norman Ramsey [Tue, 27 Jul 2010 04:11:24 +0000 (00:11 -0400)] 
Expunged FwdGraphAndTail from paper, and with it the last vestige of "sequence of rewrite functions"

8 years agoStriving for a little more consistency in the presentation of the rewrite model.
Norman Ramsey [Tue, 27 Jul 2010 04:11:01 +0000 (00:11 -0400)] 
Striving for a little more consistency in the presentation of the rewrite model.

8 years agoremoved obsolete marginalia
Norman Ramsey [Tue, 27 Jul 2010 04:10:29 +0000 (00:10 -0400)] 
removed obsolete marginalia

8 years agomore type signatures; careful treatment of FactBAse
Norman Ramsey [Tue, 27 Jul 2010 04:10:01 +0000 (00:10 -0400)] 
more type signatures; careful treatment of FactBAse

8 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Tue, 27 Jul 2010 03:43:38 +0000 (23:43 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

8 years agoFixed bug in constant propagation from old 'mkFactBase'
Norman Ramsey [Tue, 27 Jul 2010 03:43:27 +0000 (23:43 -0400)] 
Fixed bug in constant propagation from old 'mkFactBase'

Old code did the wrong thing on

  if x then goto L else goto L;

This should now go correctly to Top.

8 years agoignore new derived file cat.tex
Norman Ramsey [Tue, 27 Jul 2010 03:37:08 +0000 (23:37 -0400)] 
ignore new derived file cat.tex

8 years agocommit reviews
Norman Ramsey [Tue, 27 Jul 2010 03:36:54 +0000 (23:36 -0400)] 
commit reviews

8 years agofix bug in mkFactBase when labels are duplicated in argument list
Norman Ramsey [Tue, 27 Jul 2010 03:36:24 +0000 (23:36 -0400)] 
fix bug in mkFactBase when labels are duplicated in argument list

8 years agoreplaced FwdGraphAndTail with an ordinary pair
Norman Ramsey [Tue, 27 Jul 2010 03:35:52 +0000 (23:35 -0400)] 
replaced FwdGraphAndTail with an ordinary pair

8 years agofix malformed type in rewrite example in paper
Norman Ramsey [Tue, 27 Jul 2010 03:34:15 +0000 (23:34 -0400)] 
fix malformed type in rewrite example in paper

8 years agoSmall Rew module in which we tested rewriting with an algebraic data type
Norman Ramsey [Tue, 27 Jul 2010 02:58:20 +0000 (22:58 -0400)] 
Small Rew module in which we tested rewriting with an algebraic data type

8 years agoPull the type signature and implementation of 'cat' direct from Dataflow.hs
Norman Ramsey [Tue, 27 Jul 2010 02:57:41 +0000 (22:57 -0400)] 
Pull the type signature and implementation of 'cat' direct from Dataflow.hs

8 years agoExotic uses of fuel are possible without changing the API (thanks JD)
Norman Ramsey [Tue, 27 Jul 2010 02:57:06 +0000 (22:57 -0400)] 
Exotic uses of fuel are possible without changing the API (thanks JD)

8 years agotag new defined identifiers
Norman Ramsey [Tue, 27 Jul 2010 02:56:44 +0000 (22:56 -0400)] 
tag new defined identifiers

8 years agoNo need to export FwdGraphAndTail, we think
Norman Ramsey [Tue, 27 Jul 2010 02:45:59 +0000 (22:45 -0400)] 
No need to export FwdGraphAndTail, we think

8 years agoPull 'node' signature from Dataflow.hs, also redo 'cat' signature to be consistent...
Norman Ramsey [Tue, 27 Jul 2010 02:45:38 +0000 (22:45 -0400)] 
Pull 'node' signature from Dataflow.hs, also redo 'cat' signature to be consistent with paper

8 years agocut the paragraph on unique representation
Norman Ramsey [Tue, 27 Jul 2010 02:44:39 +0000 (22:44 -0400)] 
cut the paragraph on unique representation

8 years agoReplaced \ifcutting with \ifnotcutting
Norman Ramsey [Tue, 27 Jul 2010 02:44:19 +0000 (22:44 -0400)] 
Replaced \ifcutting with \ifnotcutting

8 years agoMerged the section on edges with the section on NonLocal
Norman Ramsey [Tue, 27 Jul 2010 02:43:55 +0000 (22:43 -0400)] 
Merged the section on edges with the section on NonLocal

8 years agoextend API figure to include LabelMap, addBlock, blockUnion
Norman Ramsey [Tue, 27 Jul 2010 02:43:09 +0000 (22:43 -0400)] 
extend API figure to include LabelMap, addBlock, blockUnion

8 years agofix title banner with easy on/off
Norman Ramsey [Tue, 27 Jul 2010 02:31:49 +0000 (22:31 -0400)] 
fix title banner with easy on/off

8 years agoMerge branch 'three-eight' of linux:/r/c--/papers/dfopt into three-eight
Joao Dias [Mon, 26 Jul 2010 22:06:59 +0000 (18:06 -0400)] 
Merge branch 'three-eight' of linux:/r/c--/papers/dfopt into three-eight

8 years agoWibbles.
Joao Dias [Mon, 26 Jul 2010 22:06:50 +0000 (18:06 -0400)] 
Wibbles.

8 years agoquick cut at rewriting
Norman Ramsey [Mon, 26 Jul 2010 22:05:34 +0000 (18:05 -0400)] 
quick cut at rewriting

8 years agoimplemented some \simon things
Norman Ramsey [Mon, 26 Jul 2010 21:45:23 +0000 (17:45 -0400)] 
implemented some \simon things

8 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Mon, 26 Jul 2010 21:21:56 +0000 (17:21 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

8 years agonotes from call with SImon
Norman Ramsey [Mon, 26 Jul 2010 21:21:51 +0000 (17:21 -0400)] 
notes from call with SImon

8 years agoPara from Simon in Section 8 about handing off fuel to the user
unknown [Mon, 26 Jul 2010 19:39:37 +0000 (20:39 +0100)] 
Para from Simon in Section 8 about handing off fuel to the user

8 years agofor comparison, a full monadic version of rewrite
Norman Ramsey [Mon, 26 Jul 2010 18:36:38 +0000 (14:36 -0400)] 
for comparison, a full monadic version of rewrite