Repository : ssh://darcs.haskell.org//srv/darcs/packages/hoopl

On branch  : simonmar-alternative-block-rep

http://hackage.haskell.org/trac/ghc/changeset/d46106f684132b771dd14b001e4070cd5f1d7c4e

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

commit d46106f684132b771dd14b001e4070cd5f1d7c4e
Author: Norman Ramsey <[email protected]>
Date:   Thu Jun 21 22:44:49 2012 +0200

    More commentary on the new representation

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

 src/Compiler/Hoopl/Graph.hs |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/Compiler/Hoopl/Graph.hs b/src/Compiler/Hoopl/Graph.hs
index b1464b3..96b4b64 100644
--- a/src/Compiler/Hoopl/Graph.hs
+++ b/src/Compiler/Hoopl/Graph.hs
@@ -51,16 +51,21 @@ data Block n e x where
 -- principles are easy to discern:
 --     
 --
---   - Fully open blocks are treated as lists of O/O nodes based on the
+--  1. Fully open blocks are treated as lists of O/O nodes based on the
 --     empty/singleton/append algebra.  This representation gives
 --     append in constant time and allows either front or back bias.
 --     
---   - Cons and snoc are such common cases that they are included to
+--  2. Cons and snoc are such common cases that they are included to
 --     reduce the number of indirections in the representations.
 --
---   - Anywhere a block is closed, the closing node is accessible in
+--  3. Anywhere a block is closed, the closing node is accessible in
 --     constant time.
-
+--
+-- The original representation rejected principle 3 but upheld principle 2.
+-- The list model was more restrictive, supporting only append and singleton
+-- but not empty.  The original had an additional principle (4?) which said
+-- that every singleton node should also be a block.  We seem to have found
+-- no need to preserve this principle.
 
 ------------------------------------------------------------------
 



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to