Make local signature more restrictive, eliminates incomplete pattern match failure.
authorEdward Z. Yang <ezyang@mit.edu>
Wed, 30 Mar 2011 11:35:57 +0000 (12:35 +0100)
committerEdward Z. Yang <ezyang@mit.edu>
Wed, 30 Mar 2011 11:35:57 +0000 (12:35 +0100)
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
src/Compiler/Hoopl/XUtil.hs

index 43bae47..aeb969c 100644 (file)
@@ -305,7 +305,7 @@ blockToNodeList'' = finish . unList . scottFoldBlock (ScottBlock f m l cat)
     where f n = NL (JustC n, id, NothingC)
           m n = NL (NothingC, (n:), NothingC)
           l n = NL (NothingC, id, JustC n)
-          cat :: forall n t1 t2 t3. NodeList n t1 t2 -> NodeList n t2 t3 -> NodeList n t1 t3
+          cat :: forall n t1 t3. NodeList n t1 O -> NodeList n O t3 -> NodeList n t1 t3
           NL (e, ms, NothingC) `cat` NL (NothingC, ms', x) = NL (e, ms . ms', x)
           finish :: forall t t1 t2 a. (t, [a] -> t1, t2) -> (t, t1, t2)
           finish (e, ms, x) = (e, ms [], x)