packages/hoopl.git
9 years agoadd placeholder to try to restore the polymorphism story
Norman Ramsey [Wed, 9 Jun 2010 22:29:01 +0000 (18:29 -0400)] 
add placeholder to try to restore the polymorphism story

9 years agoA bunch of minor edits, plus a start on extracting the end of 4.2 to a new 4.5.
Joao Dias [Wed, 9 Jun 2010 21:09:49 +0000 (17:09 -0400)] 
A bunch of minor edits, plus a start on extracting the end of 4.2 to a new 4.5.

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Wed, 9 Jun 2010 19:56:45 +0000 (15:56 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

9 years agoadd short note about inner functions
Norman Ramsey [Wed, 9 Jun 2010 19:56:36 +0000 (15:56 -0400)] 
add short note about inner functions

9 years agoMore edits from Simon.
unknown [Wed, 9 Jun 2010 19:55:10 +0000 (20:55 +0100)] 
More edits from Simon.

Note particularly FuelMonad --> HooplM

9 years agoResponses to some but not all \simon's.
Norman Ramsey [Wed, 9 Jun 2010 18:24:36 +0000 (14:24 -0400)] 
Responses to some but not all \simon's.

9 years agoTone down wording
unknown [Wed, 9 Jun 2010 17:38:20 +0000 (18:38 +0100)] 
Tone down wording

9 years agoSimons edits to the paper
unknown [Wed, 9 Jun 2010 17:31:27 +0000 (18:31 +0100)] 
Simons edits to the paper

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
unknown [Wed, 9 Jun 2010 15:05:46 +0000 (16:05 +0100)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

Conflicts:
src/Compiler/Hoopl/Dataflow.hs

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Simon Peyton Jones [Wed, 9 Jun 2010 13:36:55 +0000 (14:36 +0100)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

Conflicts:
src/Compiler/Hoopl/Dataflow.hs

9 years agoYet another implementation of blockToNodeList, this one using a new fold function...
Joao Dias [Tue, 8 Jun 2010 19:32:24 +0000 (15:32 -0400)] 
Yet another implementation of blockToNodeList, this one using a new fold function, which should be useful for clients that want to produce types that depend on the (unknown) shape of the block.

9 years agoscrub old 'FwdRes' stuff; tests (such as they are) pass
Norman Ramsey [Tue, 8 Jun 2010 19:16:15 +0000 (15:16 -0400)] 
scrub old 'FwdRes' stuff; tests (such as they are) pass

9 years agorefactoring 'fixpoint' and other code for display in paper
Norman Ramsey [Tue, 8 Jun 2010 19:07:58 +0000 (15:07 -0400)] 
refactoring 'fixpoint' and other code for display in paper

9 years agoRenamed some types and functions to simplify explanations that are coming in the...
Norman Ramsey [Tue, 8 Jun 2010 17:54:09 +0000 (13:54 -0400)] 
Renamed some types and functions to simplify explanations that are coming in the paper.

9 years agoFuel was (incorrectly) being consumed even when no rewrite took place.
Norman Ramsey [Tue, 8 Jun 2010 17:41:56 +0000 (13:41 -0400)] 
Fuel was (incorrectly) being consumed even when no rewrite took place.
(Milan must have misunderstood something.)

The type of withFuel has been restored to

  withFuel :: FuelMonad m => Maybe a -> m (Maybe a)

and it consumes fuel only in the 'Just' case.
Also, types 'FwdRes' and 'BwdRes' have been banished;
rather than define another type synonym, we simply
expose the Maybe type.

Along the way, the 'unit' method of class 'ShapeLifter' got changed to
'toBlock'.

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
unknown [Mon, 7 Jun 2010 21:53:42 +0000 (22:53 +0100)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

9 years agoMinor wibbles
unknown [Mon, 7 Jun 2010 21:53:32 +0000 (22:53 +0100)] 
Minor wibbles

9 years agostarting to describe implementation of 'arfGraph'
Norman Ramsey [Mon, 7 Jun 2010 21:12:52 +0000 (17:12 -0400)] 
starting to describe implementation of 'arfGraph'

9 years agoThe 'Edges' type class is renamed 'NonLocal', and the paper updated accordingly.
Norman Ramsey [Mon, 7 Jun 2010 20:16:12 +0000 (16:16 -0400)] 
The 'Edges' type class is renamed 'NonLocal', and the paper updated accordingly.

9 years agofixed inconsistency; revised note on the fuel monad (it's now shorter!)
Norman Ramsey [Mon, 7 Jun 2010 18:26:05 +0000 (14:26 -0400)] 
fixed inconsistency; revised note on the fuel monad (it's now shorter!)

9 years agoRevised treatment of the constant-propagation example.
Norman Ramsey [Mon, 7 Jun 2010 18:18:11 +0000 (14:18 -0400)] 
Revised treatment of the constant-propagation example.

9 years agoadded note about WithTop, WithBot, and friends
Norman Ramsey [Mon, 7 Jun 2010 17:42:47 +0000 (13:42 -0400)] 
added note about WithTop, WithBot, and friends

9 years agoClean up DataFlow lattice to be more readable and more consistent with the paper
Norman Ramsey [Mon, 7 Jun 2010 17:32:09 +0000 (13:32 -0400)] 
Clean up DataFlow lattice to be more readable and more consistent with the paper

9 years agoadd reviews and response from ICFP 2010
Norman Ramsey [Mon, 7 Jun 2010 17:31:25 +0000 (13:31 -0400)] 
add reviews and response from ICFP 2010

9 years agoAdd comments on invariants of fixpoint loop
Simon Peyton Jones [Mon, 31 May 2010 16:21:39 +0000 (17:21 +0100)] 
Add comments on invariants of fixpoint loop

9 years agoduplicate John's fold using the Scott fold
Norman Ramsey [Wed, 19 May 2010 02:23:49 +0000 (22:23 -0400)] 
duplicate John's fold using the Scott fold

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Wed, 19 May 2010 01:48:38 +0000 (21:48 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

9 years agoscottFoldBlock is much nicer!
Norman Ramsey [Wed, 19 May 2010 01:48:20 +0000 (21:48 -0400)] 
scottFoldBlock is much nicer!

9 years agocomment mysterious newtypes
Norman Ramsey [Wed, 19 May 2010 01:05:26 +0000 (21:05 -0400)] 
comment mysterious newtypes

9 years agoclean up the grotesque block fold a little
Norman Ramsey [Wed, 19 May 2010 01:03:16 +0000 (21:03 -0400)] 
clean up the grotesque block fold a little

9 years agosimplified fold by eliminating Trips datatype
Norman Ramsey [Wed, 19 May 2010 00:52:24 +0000 (20:52 -0400)] 
simplified fold by eliminating Trips datatype

9 years agohorrible, horrible experiments with folds
Norman Ramsey [Wed, 19 May 2010 00:50:14 +0000 (20:50 -0400)] 
horrible, horrible experiments with folds

9 years agoAdding comment to blockToNodeList.
Milan Straka [Tue, 18 May 2010 21:12:28 +0000 (22:12 +0100)] 
Adding comment to blockToNodeList.

Why it cannot be expressed by current foldBlockNodesB.

9 years agoblockMapNodes and BlockMapNodes3 get their properly general types
Norman Ramsey [Mon, 17 May 2010 21:23:23 +0000 (17:23 -0400)] 
blockMapNodes and BlockMapNodes3 get their properly general types

9 years agodeprecated more suspicious-looking functions
Norman Ramsey [Mon, 17 May 2010 21:21:19 +0000 (17:21 -0400)] 
deprecated more suspicious-looking functions

9 years agoMoved 'joinOutFacts' to its proper place in XUtil and deprecated it (Label is wrong)
Norman Ramsey [Mon, 17 May 2010 21:12:48 +0000 (17:12 -0400)] 
Moved 'joinOutFacts' to its proper place in XUtil and deprecated it (Label is wrong)

9 years agoremove old GNUmakefile
Norman Ramsey [Mon, 17 May 2010 16:36:25 +0000 (12:36 -0400)] 
remove old GNUmakefile

9 years agoAdd bodyToBlockMap and bodyOfBlockMap.
Milan Straka [Sun, 16 May 2010 22:57:17 +0000 (23:57 +0100)] 
Add bodyToBlockMap and bodyOfBlockMap.

This is shady, but a lot of GHC code in compiler/cmm expects
the blocks in a closed graph to be in a map.

9 years agoAdd joinOutFacts function.
Milan Straka [Sun, 16 May 2010 22:37:07 +0000 (23:37 +0100)] 
Add joinOutFacts function.

9 years agoAdd blockToNodeList and blockOfNodeList.
Milan Straka [Sun, 16 May 2010 22:26:55 +0000 (23:26 +0100)] 
Add blockToNodeList and blockOfNodeList.

9 years agoAdd blockMapNodes and blockMapNodes3.
Milan Straka [Sun, 16 May 2010 22:24:31 +0000 (23:24 +0100)] 
Add blockMapNodes and blockMapNodes3.

9 years agoRename fold functions to use suffix 3.
Milan Straka [Sun, 16 May 2010 22:04:38 +0000 (23:04 +0100)] 
Rename fold functions to use suffix 3.

9 years agoRename mkUnique to intToUnique.
Milan Straka [Sun, 16 May 2010 21:21:08 +0000 (22:21 +0100)] 
Rename mkUnique to intToUnique.

We should be consistent with other Label and Unique
conversion functions.

9 years agoadd an FAQ file
Norman Ramsey [Fri, 14 May 2010 14:59:33 +0000 (10:59 -0400)] 
add an FAQ file

9 years agostop building the supplement for the submission to POPL 2010
Norman Ramsey [Fri, 14 May 2010 14:59:01 +0000 (10:59 -0400)] 
stop building the supplement for the submission to POPL 2010

9 years agoNote that clients, too may want to write functions polymorphic in the node representation
Norman Ramsey [Fri, 14 May 2010 14:58:37 +0000 (10:58 -0400)] 
Note that clients, too may want to write functions polymorphic in the node representation
(per conversaion with slpj)

9 years agoCleaned up combinator examples for the paper.
Norman Ramsey [Wed, 12 May 2010 21:35:54 +0000 (17:35 -0400)] 
Cleaned up combinator examples for the paper.

9 years agomore uniform label checking in graph splicing
Norman Ramsey [Wed, 12 May 2010 21:04:35 +0000 (17:04 -0400)] 
more uniform label checking in graph splicing

9 years agoextract thenFwdRewrite from code for paper
Norman Ramsey [Wed, 12 May 2010 21:04:24 +0000 (17:04 -0400)] 
extract thenFwdRewrite from code for paper

9 years agofix bug in code example in paper
Norman Ramsey [Wed, 12 May 2010 21:03:58 +0000 (17:03 -0400)] 
fix bug in code example in paper

9 years agoConstant-propagation figure is now extracted automatically from John's code; some...
Norman Ramsey [Wed, 12 May 2010 19:00:00 +0000 (15:00 -0400)] 
Constant-propagation figure is now extracted automatically from John's code; some names are saner

In particular

  suffix '3' for functions expecting or working with a triple
  no suffix for function expecting or working with higher-rank
     polymorphism (which is now explained in the paper as
     the default interface for clients).

9 years agomove the historical record out of Dataflow.hs and into HISTORY
Norman Ramsey [Wed, 12 May 2010 17:38:45 +0000 (13:38 -0400)] 
move the historical record out of Dataflow.hs and into HISTORY

9 years agoclarify common usage for client transfer functions.
Norman Ramsey [Wed, 12 May 2010 17:38:25 +0000 (13:38 -0400)] 
clarify common usage for client transfer functions.

9 years agoworking on making constant propagation more readable for the paper
Norman Ramsey [Wed, 12 May 2010 16:41:11 +0000 (12:41 -0400)] 
working on making constant propagation more readable for the paper

9 years agostart in on a more mnemonic naming scheme for combinators
Norman Ramsey [Wed, 12 May 2010 16:40:18 +0000 (12:40 -0400)] 
start in on a more mnemonic naming scheme for combinators

Suffix 3 if the client is providing a triple
Suffix Poly if the client is providing a single polymorphic function

(perhaps suffix Poly should be dropped?)

9 years agonoted grotesque code discovered while working on the paper
Norman Ramsey [Mon, 10 May 2010 17:42:20 +0000 (13:42 -0400)] 
noted grotesque code discovered while working on the paper

9 years agowork on the paper
Norman Ramsey [Mon, 10 May 2010 17:42:03 +0000 (13:42 -0400)] 
work on the paper

9 years agodetect a couple of places where duplicate labels might occur
Norman Ramsey [Mon, 10 May 2010 16:17:19 +0000 (12:17 -0400)] 
detect a couple of places where duplicate labels might occur

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Fri, 7 May 2010 19:04:43 +0000 (15:04 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

Conflicts:

testing/Ast2ir.hs
testing/ConstProp.hs
testing/Live.hs
testing/OptSupport.hs
testing/Simplify.hs

9 years agoadd comments to constant propagation
Norman Ramsey [Fri, 7 May 2010 16:21:17 +0000 (12:21 -0400)] 
add comments to constant propagation

9 years agoupdate northeastern notes
Norman Ramsey [Fri, 7 May 2010 16:21:04 +0000 (12:21 -0400)] 
update northeastern notes

9 years agostart to update paper to reflect 3.8
Norman Ramsey [Fri, 7 May 2010 16:20:45 +0000 (12:20 -0400)] 
start to update paper to reflect 3.8

9 years agoExporing Body and Block representation to GHC.
Milan Straka [Wed, 5 May 2010 18:53:18 +0000 (19:53 +0100)] 
Exporing Body and Block representation to GHC.

This is _shortterm_ only.

When converting the GHC code to use Hoopl, various folds
and maps over Graphs and Blocks are necessary. We are
touching Body(..) and Block(..) strictly in one module only
and after the conversion is done, reasonable set of these
methods will go back to Hoopl.

9 years agoRewrites return the possible rewrite in the monad.
Milan Straka [Tue, 4 May 2010 19:16:11 +0000 (20:16 +0100)] 
Rewrites return the possible rewrite in the monad.

As suggested by Simon PJ, instead of

    newtype FwdRewrite m n f
      = FwdRewrites { getFRewrites ::
                        ( n C O -> f -> Maybe (FwdRes m n f C O)
                        , n O O -> f -> Maybe (FwdRes m n f O O)
                        , n O C -> f -> Maybe (FwdRes m n f O C)
                        ) }
    data FwdRes m n f e x = FwdRes (m (Graph n e x)) (FwdRewrite m n f)

we now have

    newtype FwdRewrite m n f
      = FwdRewrites { getFRewrites ::
                        ( n C O -> f -> m (FwdRes m n f C O)
                        , n O O -> f -> m (FwdRes m n f O O)
                        , n O C -> f -> m (FwdRes m n f O C)
                         ) }
    data FwdRes m n f e x = FwdRes (Graph n e x) (FwdRewrite m n f)
                          | NoFwdRes

which allows to consult the monad before deciding whether to perform
a rewrite.

The type of withFuel changed to accommodate this.

9 years agoadded cabal entry for DList module (oops)
Norman Ramsey [Tue, 4 May 2010 15:24:15 +0000 (11:24 -0400)] 
added cabal entry for DList module (oops)

9 years agotrying to migrate reusable from functinos from testing client into Hoopl itself
Norman Ramsey [Tue, 4 May 2010 15:23:54 +0000 (11:23 -0400)] 
trying to migrate reusable from functinos from testing client into Hoopl itself

9 years agoconvert testing directory to use the new monad story
Norman Ramsey [Tue, 4 May 2010 15:23:19 +0000 (11:23 -0400)] 
convert testing directory to use the new monad story

9 years agoignore .hc files in testing directory
Norman Ramsey [Tue, 4 May 2010 15:22:23 +0000 (11:22 -0400)] 
ignore .hc files in testing directory

9 years agoExported ability to create new join functions (not just new lattices) from Pointed.hs
Norman Ramsey [Tue, 4 May 2010 15:21:35 +0000 (11:21 -0400)] 
Exported ability to create new join functions (not just new lattices) from Pointed.hs

9 years agoExtended Dominators module with auxiliary function 'immediateDominators'
Norman Ramsey [Tue, 4 May 2010 15:21:00 +0000 (11:21 -0400)] 
Extended Dominators module with auxiliary function 'immediateDominators'

9 years agoDominator algorithm without a newtype (for demonstration purposes)
Norman Ramsey [Tue, 4 May 2010 15:20:30 +0000 (11:20 -0400)] 
Dominator algorithm without a newtype (for demonstration purposes)

9 years agoRename methods of IsSet and IsMap.
Milan Straka [Mon, 3 May 2010 18:44:08 +0000 (19:44 +0100)] 
Rename methods of IsSet and IsMap.

Use prefix instead of suffix, ie. setUnion, setElems etc.
Also we have now
  type ElemOf set
and
  type KeyOf map

9 years agoMaking AGraph not depending on the monad type.
Milan Straka [Mon, 3 May 2010 17:01:58 +0000 (18:01 +0100)] 
Making AGraph not depending on the monad type.

The AGraph is now
  newtype AGraph n e x =
    A { graphOfAGraph :: forall m. UniqueMonad m =>
                         m (Graph n e x)
      }

Types of some functions (addBlocks, mkIfThenElse, mkWhileDo, ...)
got nicer.

The FwdRes and BwdRes now contain the replacement Graph in
a monad, instead of carrying an AGraph.

9 years agoTemporarily exporting getFuel and setFuel for GHC.
Milan Straka [Mon, 3 May 2010 16:56:51 +0000 (17:56 +0100)] 
Temporarily exporting getFuel and setFuel for GHC.

It should become exported for all clients in the future.

9 years agoRename HooplMonad to UniqueMonad.
Milan Straka [Mon, 3 May 2010 16:01:03 +0000 (17:01 +0100)] 
Rename HooplMonad to UniqueMonad.

It is more descriptive name and also consistent with FuelMonad.

9 years agoRenamed getLabel to freshLabel.
Milan Straka [Sun, 2 May 2010 17:25:00 +0000 (18:25 +0100)] 
Renamed getLabel to freshLabel.

That seems consistent with freshUnique.

9 years agoAbstracting collections of Uniques and Labels.
Milan Straka [Sun, 2 May 2010 17:13:21 +0000 (18:13 +0100)] 
Abstracting collections of Uniques and Labels.

Sets and Maps of Uniques and Labels are instances of classes
IsSet and IsMap defined in Compiler.Hoopl.Collections.
Also the representation of Labels has changed.

9 years agoMerge branch 'three-eight' of linux:/r/c--/papers/dfopt into three-eight
Joao Dias [Fri, 30 Apr 2010 21:38:31 +0000 (17:38 -0400)] 
Merge branch 'three-eight' of linux:/r/c--/papers/dfopt into three-eight

9 years agoUpdated testing client to provide and use monad.
Joao Dias [Fri, 30 Apr 2010 21:38:19 +0000 (17:38 -0400)] 
Updated testing client to provide and use monad.

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Fri, 30 Apr 2010 21:10:23 +0000 (17:10 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

Conflicts:

src/Compiler/Hoopl/XUtil.hs

conflicts on export list

9 years agoCompiler.Hoopl.Pointed can no longer be imported by name.
Norman Ramsey [Fri, 30 Apr 2010 21:09:13 +0000 (17:09 -0400)] 
Compiler.Hoopl.Pointed can no longer be imported by name.

9 years agoIn the new regime, Dominator now exports a FwdPass good in any monad.
Norman Ramsey [Fri, 30 Apr 2010 21:08:50 +0000 (17:08 -0400)] 
In the new regime, Dominator now exports a FwdPass good in any monad.

9 years agowork around bug in Haddock (no doco for GADT constructors)
Norman Ramsey [Fri, 30 Apr 2010 21:08:15 +0000 (17:08 -0400)] 
work around bug in Haddock (no doco for GADT constructors)

9 years agofix broken pattern match (missing cases)
Norman Ramsey [Fri, 30 Apr 2010 21:07:58 +0000 (17:07 -0400)] 
fix broken pattern match (missing cases)

9 years agoprovide convenience functions for analyzing graphs open at the entry.
Norman Ramsey [Fri, 30 Apr 2010 21:07:41 +0000 (17:07 -0400)] 
provide convenience functions for analyzing graphs open at the entry.

9 years agosignpost internal-only identifiers loud and clear
Norman Ramsey [Fri, 30 Apr 2010 21:07:20 +0000 (17:07 -0400)] 
signpost internal-only identifiers loud and clear

9 years agoexport SimpleFuelMonad for simple clients' use
Norman Ramsey [Fri, 30 Apr 2010 21:06:48 +0000 (17:06 -0400)] 
export SimpleFuelMonad for simple clients' use

9 years agoALWAYS warn of incomplete pattern matches.
Norman Ramsey [Fri, 30 Apr 2010 21:06:15 +0000 (17:06 -0400)] 
ALWAYS warn of incomplete pattern matches.

9 years agochange where Unique is exported (for saner Haddock documentation)
Norman Ramsey [Fri, 30 Apr 2010 21:05:34 +0000 (17:05 -0400)] 
change where Unique is exported (for saner Haddock documentation)

9 years agoMerge branch 'three-eight' of linux:/r/c--/papers/dfopt into three-eight
Joao Dias [Fri, 30 Apr 2010 20:46:37 +0000 (16:46 -0400)] 
Merge branch 'three-eight' of linux:/r/c--/papers/dfopt into three-eight

9 years agoAdapting test client to abstract body.
Joao Dias [Fri, 30 Apr 2010 20:46:14 +0000 (16:46 -0400)] 
Adapting test client to abstract body.

Lacking freshLabel, the code is still broken, but now I can fix it by adding a monad after pulling the latest changes.

9 years agoAdded function to lookup a block in a graph.
Joao Dias [Fri, 30 Apr 2010 20:45:17 +0000 (16:45 -0400)] 
Added function to lookup a block in a graph.
New type defined for return value b/c we might get back different types of blocks depending on the graph's shape.

9 years agoComment for EitherCO type.
Joao Dias [Fri, 30 Apr 2010 20:44:25 +0000 (16:44 -0400)] 
Comment for EitherCO type.

9 years agoExporting Body type (but not constructors).
Joao Dias [Fri, 30 Apr 2010 20:44:14 +0000 (16:44 -0400)] 
Exporting Body type (but not constructors).

9 years agocomments
Norman Ramsey [Fri, 30 Apr 2010 19:39:53 +0000 (15:39 -0400)] 
comments

9 years agoAdded some technology by which clients could create instances of HooplMonad.
Norman Ramsey [Fri, 30 Apr 2010 19:39:12 +0000 (15:39 -0400)] 
Added some technology by which clients could create instances of HooplMonad.

9 years agoMerge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight
Norman Ramsey [Fri, 30 Apr 2010 19:29:44 +0000 (15:29 -0400)] 
Merge branch 'three-eight' of linux.cs.tufts.edu:/r/c--/papers/dfopt into three-eight

Conflicts:

src/Compiler/Hoopl/Dataflow.hs
src/Compiler/Hoopl/Fuel.hs
src/Compiler/Hoopl/MkGraph.hs
src/hoopl.cabal

expunged 'allUniques'; need to provide a simple instance of HooplMonad.

9 years agothe Great Monad Generalization. An extra type parameter (for the client's monad)...
Norman Ramsey [Fri, 30 Apr 2010 19:03:49 +0000 (15:03 -0400)] 
the Great Monad Generalization. An extra type parameter (for the client's monad) emerges everywhere.

9 years agoMake body abstract for library clients.
Joao Dias [Fri, 30 Apr 2010 18:59:52 +0000 (14:59 -0400)] 
Make body abstract for library clients.

9 years agoBody of graph converted to a map
Joao Dias [Fri, 30 Apr 2010 18:03:51 +0000 (14:03 -0400)] 
Body of graph converted to a map