diff options
Diffstat (limited to 'testsuite/tests/deSugar/should_run/dsrun011.hs')
-rw-r--r-- | testsuite/tests/deSugar/should_run/dsrun011.hs | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/testsuite/tests/deSugar/should_run/dsrun011.hs b/testsuite/tests/deSugar/should_run/dsrun011.hs new file mode 100644 index 0000000000..b7e518c0bf --- /dev/null +++ b/testsuite/tests/deSugar/should_run/dsrun011.hs @@ -0,0 +1,93 @@ +-- Test desugaring of mutual recursion of many functions +-- which generated a big-tuple link error in GHC 6.0 + +module Main where + + +a1 :: Num a => a -> a + +a1 x | x==0 = x +a1 x = 1 + k8 (x-1) + +a2 x = 1 + a1 x +a3 x = 1 + a2 x +a4 x = 1 + a3 x +a5 x = 1 + a4 x +a6 x = 1 + a5 x +a7 x = 1 + a6 x +a8 x = 1 + a7 x + +b1 x = 1 + a8 x +b2 x = 1 + b1 x +b3 x = 1 + b2 x +b4 x = 1 + b3 x +b5 x = 1 + b4 x +b6 x = 1 + b5 x +b7 x = 1 + b6 x +b8 x = 1 + b7 x + +c1 x = 1 + b8 x +c2 x = 1 + c1 x +c3 x = 1 + c2 x +c4 x = 1 + c3 x +c5 x = 1 + c4 x +c6 x = 1 + c5 x +c7 x = 1 + c6 x +c8 x = 1 + c7 x + +d1 x = 1 + c8 x +d2 x = 1 + d1 x +d3 x = 1 + d2 x +d4 x = 1 + d3 x +d5 x = 1 + d4 x +d6 x = 1 + d5 x +d7 x = 1 + d6 x +d8 x = 1 + d7 x + +e1 x = 1 + d8 x +e2 x = 1 + e1 x +e3 x = 1 + e2 x +e4 x = 1 + e3 x +e5 x = 1 + e4 x +e6 x = 1 + e5 x +e7 x = 1 + e6 x +e8 x = 1 + e7 x + +f1 x = 1 + e8 x +f2 x = 1 + f1 x +f3 x = 1 + f2 x +f4 x = 1 + f3 x +f5 x = 1 + f4 x +f6 x = 1 + f5 x +f7 x = 1 + f6 x +f8 x = 1 + f7 x + +g1 x = 1 + f8 x +g2 x = 1 + g1 x +g3 x = 1 + g2 x +g4 x = 1 + g3 x +g5 x = 1 + g4 x +g6 x = 1 + g5 x +g7 x = 1 + g6 x +g8 x = 1 + g7 x + +h1 x = 1 + g8 x +h2 x = 1 + h1 x +h3 x = 1 + h2 x +h4 x = 1 + h3 x +h5 x = 1 + h4 x +h6 x = 1 + h5 x +h7 x = 1 + h6 x +h8 x = 1 + h7 x + +k1 x = 1 + h8 x +k2 x = 1 + k1 x +k3 x = 1 + k2 x +k4 x = 1 + k3 x +k5 x = 1 + k4 x +k6 x = 1 + k5 x +k7 x = 1 + k6 x +k8 x = 1 + k7 x + + +main = print (a1 3)
\ No newline at end of file |