From: simonm Date: Fri, 5 Sep 1997 14:20:25 +0000 (+0000) Subject: [project @ 1997-09-05 14:11:05 by simonm] X-Git-Tag: Approx_2487_patches~1525 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=80d19100a3aabd62ece8582332d6b5ea6f66bdf5;p=ghc-hetmet.git [project @ 1997-09-05 14:11:05 by simonm] Mondo commit to get tests working. --- diff --git a/ghc/tests/Makefile b/ghc/tests/Makefile index 290137a..249c6c5 100644 --- a/ghc/tests/Makefile +++ b/ghc/tests/Makefile @@ -1,7 +1,9 @@ -TOP = .. +TOP = . include $(TOP)/mk/boilerplate.mk -SUBDIRS = reader rename simplCore typecheck deSugar printing ccall deriving programs +SUBDIRS = ccall deriving deSugar printing reader rename simplCore typecheck + +#programs include $(TOP)/mk/target.mk diff --git a/ghc/tests/ccall/Makefile b/ghc/tests/ccall/Makefile new file mode 100644 index 0000000..af26578 --- /dev/null +++ b/ghc/tests/ccall/Makefile @@ -0,0 +1,7 @@ +TOP = .. +include $(TOP)/mk/boilerplate.mk + +SUBDIRS = should_compile should_fail + +include $(TOP)/mk/target.mk + diff --git a/ghc/tests/ccall/should_compile/Makefile b/ghc/tests/ccall/should_compile/Makefile index a02df9b..14dc492 100644 --- a/ghc/tests/ccall/should_compile/Makefile +++ b/ghc/tests/ccall/should_compile/Makefile @@ -1,15 +1,9 @@ -TOP = ../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0 HC_OPTS += -dcore-lint -fglasgow-exts -cc002_RUNTEST_OPTS = -x 1 -cc004_RUNTEST_OPTS = -x 1 -cc007_RUNTEST_OPTS = -x 1 - # Note that these tests are still in a state of flux... don't believe errors # they report. In fact, these aren't really very good tests at all... @@ -21,12 +15,4 @@ cc005_HC_OPTS = -fvia-C -ddump-stg -ddump-flatC cc006_HC_OPTS = -fvia-C -ddump-stg -ddump-flatC cc007_HC_OPTS = -fvia-C -ddump-stg -ddump-flatC - -%.o : %.hs - -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) - -all :: $(HS_OBJS) - include $(TOP)/mk/target.mk diff --git a/ghc/tests/ccall/should_compile/cc001.stderr b/ghc/tests/ccall/should_compile/cc001.stderr index 952647f..4556d5d 100644 --- a/ghc/tests/ccall/should_compile/cc001.stderr +++ b/ghc/tests/ccall/should_compile/cc001.stderr @@ -2,332 +2,261 @@ ================================================================================ Typechecked: -{- nonrec -} -{- nonrec -} -{- nonrec -} -d.Fractional_a16j = - PrelNum.$d23{-rtW,p-} -fromRational_a16o = - PrelNum.fromRational{-8T,p-} - PrelBase.Float{-3c,p-} - d.Fractional_a16j -lit_a16r = - fromRational_a16o - 1.0000000000000000 -d.Fractional_a16n = - PrelNum.$d14{-rtM,p-} -fromRational_a16q = - PrelNum.fromRational{-8T,p-} - PrelBase.Double{-3a,p-} - d.Fractional_a16n -lit_a16p = - fromRational_a16q - 2.0000000000000000 -{- nonrec -} -AbsBinds [] [] [([], c{-r5,x-}, c_a15h)] - c_a15h - x1_r4l x2_r4n x3_r4p x4_r4r - = STBase.ST{-5G,p-}{i} - [GHC.RealWorld{-3s,p-}, PrelBase.Float{-3c,p-}] - _ccall_ c - x1_r4l x2_r4n x3_r4p x4_r4r -{- nonrec -} -{- nonrec -} -AbsBinds [] [] [([], b{-r3,x-}, b_a15F)] - b_a15F - x_r4j = STBase.ST{-5G,p-}{i} - [GHC.RealWorld{-3s,p-}, PrelBase.Int{-3g,p-}] - _ccall_ b - x_r4j -{- nonrec -} -{- nonrec -} -AbsBinds [] [] [([], a{-r1,x-}, a_a15R)] - a_a15R - = STBase.ST{-5G,p-}{i} - [GHC.RealWorld{-3s,p-}, PrelBase.Int{-3g,p-}] - _ccall_ a -{- nonrec -} -{- nonrec -} -AbsBinds [] [] [([], d{-r7,x-}, d_a15Y)] - d_a15Y - = STBase.thenPrimIO{-r4w,p-} - [PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-}] - a{-r1,x-} - (\ x_r4t -> STBase.thenPrimIO{-r4w,p-} - [PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-}] - (b{-r3,x-} - x_r4t) - (\ y_r4v -> c{-r5,x-} - y_r4v 'f' lit_a16r lit_a16p)) -{- nonrec -} +AbsBinds [] [] [([], c{-r5,x-}, c_aZc)] + c_aZc x1_r4l x2_r4m x3_r4n x4_r4o + = STBase.ST{-5G,w-}{i} + [GHC.RealWorld{-3s,W-}, PrelBase.Float{-3c,W-}] _ccall_ c + x1_r4l x2_r4m x3_r4n x4_r4o +AbsBinds [] [] [([], b{-r3,x-}, b_aZE)] + b_aZE x_r4j + = STBase.ST{-5G,w-}{i} + [GHC.RealWorld{-3s,W-}, PrelBase.Int{-3g,W-}] _ccall_ b x_r4j +AbsBinds [] [] [([], a{-r1,x-}, a_aZR)] + a_aZR + = STBase.ST{-5G,w-}{i} + [GHC.RealWorld{-3s,W-}, PrelBase.Int{-3g,W-}] _ccall_ a +AbsBinds [] [] [([], d{-r7,x-}, d_aZY)] + d_aZY + = STBase.thenPrimIO{-r4t,p-} + [PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-}] + a{-r1,x-} + (\ x_r4q + -> STBase.thenPrimIO{-r4t,p-} + [PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-}] + (b{-r3,x-} x_r4q) + (\ y_r4s -> c{-r5,x-} y_r4s 'f' lit_a10r lit_a10t)) +d.Fractional_a10l = PrelNum.$d23{-rsg,p-} +fromRational_a10q = + PrelNum.fromRational{-8T,p-} PrelBase.Float{-3c,W-} + d.Fractional_a10l +lit_a10r = fromRational_a10q 1.0000000000000000 +d.Fractional_a10p = PrelNum.$d14{-rs6,p-} +fromRational_a10s = + PrelNum.fromRational{-8T,p-} PrelBase.Double{-3a,W-} + d.Fractional_a10p +lit_a10t = fromRational_a10s 2.0000000000000000 ================================================================================ Desugared: Rec { -d.Fractional_a16j :: - {PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,p-}} -{-# L #-} -d.Fractional_a16j = - PrelNum.$d23{-rtW,p-} -fromRational_a16o :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a16o = - PrelNum.fromRational{-8T,p-} - _@_ PrelBase.Float{-3c,p-} d.Fractional_a16j -lit_a16r :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a16r = - fromRational_a16o - _rational_ 1 1 -d.Fractional_a16n :: - {PrelNum.Fractional{-26,p-} PrelBase.Double{-3a,p-}} -{-# L #-} -d.Fractional_a16n = - PrelNum.$d14{-rtM,p-} -fromRational_a16q :: - PrelNum.Rational{-3r,p-} -> PrelBase.Double{-3a,p-} -{-# L #-} -fromRational_a16q = - PrelNum.fromRational{-8T,p-} - _@_ PrelBase.Double{-3a,p-} d.Fractional_a16n -lit_a16p :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a16p = - fromRational_a16q - _rational_ 2 1 -c_a15h :: - PrelBase.Int{-3g,p-} - -> PrelBase.Char{-38,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Double{-3a,p-} - -> STBase.PrimIO{-3P,p-} PrelBase.Float{-3c,p-} +c_aZc :: PrelBase.Int{-3g,W-} + -> PrelBase.Char{-38,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Double{-3a,W-} + -> STBase.PrimIO{-3P,W-} PrelBase.Float{-3c,W-} {-# L #-} -c_a15h = - \ x1_r4l :: - PrelBase.Int{-3g,p-} +c_aZc = + \ x1_r4l :: PrelBase.Int{-3g,W-} {-# L #-} - x1_r4l x2_r4n :: - PrelBase.Char{-38,p-} + x1_r4l x2_r4m :: PrelBase.Char{-38,W-} {-# L #-} - x2_r4n x3_r4p :: - PrelBase.Float{-3c,p-} + x2_r4m x3_r4n :: PrelBase.Float{-3c,W-} {-# L #-} - x3_r4p x4_r4r :: - PrelBase.Double{-3a,p-} + x3_r4n x4_r4o :: PrelBase.Double{-3a,W-} {-# L #-} - x4_r4r -> + x4_r4o -> let { - ds_d1et :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} - -> (PrelBase.Float{-3c,p-}, STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) + ds_d17v :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} + -> (PrelBase.Float{-3c,W-}, STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) {-# L #-} - ds_d1et = - \ ds_d1ez :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_d17v = + \ ds_d17B :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d1ez -> - case ds_d1ez of { STBase.S#{-5D,p-}{i} ds_d1eI -> - case x1_r4l of { PrelBase.I#{-5b,p-}{i} ds_d1eR -> - case x2_r4n of { PrelBase.C#{-54,p-}{i} ds_d1f0 -> - case x3_r4p of { PrelBase.F#{-59,p-}{i} ds_d1f9 -> - case x4_r4r of { PrelBase.D#{-56,p-}{i} ds_d1fw -> + ds_d17B -> + case ds_d17B of { STBase.S#{-5D,w-}{i} ds_d18A -> + case x1_r4l of { PrelBase.I#{-5b,w-}{i} ds_d18J -> + case x2_r4m of { PrelBase.C#{-54,w-}{i} ds_d18S -> + case x3_r4n of { PrelBase.F#{-59,w-}{i} ds_d191 -> + case x4_r4o of { PrelBase.D#{-56,w-}{i} ds_d19o -> case - _ccall_ c [(STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-} GHC.Char#{-37,p-} GHC.Float#{-3b,p-} GHC.Double#{-39,p-}]! - ds_d1eI ds_d1eR ds_d1f0 ds_d1f9 ds_d1fw + _ccall_ c [(STBase.StateAndFloat#{-3C,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.Int#{-3f,W-} GHC.Char#{-37,W-} GHC.Float#{-3b,W-} GHC.Double#{-39,W-}]! + ds_d18A ds_d18J ds_d18S ds_d191 ds_d19o of { - STBase.StateAndFloat#{-5u,p-}{i} ds_d1fZ ds_d1fX -> + STBase.StateAndFloat#{-5u,w-}{i} ds_d19R ds_d19P -> let { - ds_d1fO :: - PrelBase.Float{-3c,p-} + ds_d19G :: PrelBase.Float{-3c,W-} {-# L #-} - ds_d1fO = - PrelBase.F#{-59,p-}{i} - {ds_d1fX} } in + ds_d19G = + PrelBase.F#{-59,w-}{i} {ds_d19P} } in let { - ds_d1fS :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_d19K :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d1fS = - STBase.S#{-5D,p-}{i} - {_@_ GHC.RealWorld{-3s,p-} ds_d1fZ} + ds_d19K = + STBase.S#{-5D,w-}{i} {_@_ GHC.RealWorld{-3s,W-} ds_d19R} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Float{-3c,p-} - _@_ (STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) - ds_d1fO - ds_d1fS};};};};};};} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Float{-3c,W-} + _@_ (STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) + ds_d19G + ds_d19K};};};};};};} } in - STBase.ST{-5G,p-}{i} - _@_ GHC.RealWorld{-3s,p-} _@_ PrelBase.Float{-3c,p-} ds_d1et -c{-r5,x-} :: - PrelBase.Int{-3g,p-} - -> PrelBase.Char{-38,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Double{-3a,p-} - -> STBase.PrimIO{-3P,p-} PrelBase.Float{-3c,p-} + STBase.ST{-5G,w-}{i} + _@_ GHC.RealWorld{-3s,W-} _@_ PrelBase.Float{-3c,W-} ds_d17v +c{-r5,x-} :: PrelBase.Int{-3g,W-} + -> PrelBase.Char{-38,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Double{-3a,W-} + -> STBase.PrimIO{-3P,W-} PrelBase.Float{-3c,W-} {-# L #-} c{-r5,x-} = - c_a15h -b_a15F :: - PrelBase.Int{-3g,p-} -> STBase.PrimIO{-3P,p-} PrelBase.Int{-3g,p-} + c_aZc +b_aZE :: PrelBase.Int{-3g,W-} + -> STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} -b_a15F = - \ x_r4j :: - PrelBase.Int{-3g,p-} +b_aZE = + \ x_r4j :: PrelBase.Int{-3g,W-} {-# L #-} x_r4j -> let { - ds_d1gj :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} - -> (PrelBase.Int{-3g,p-}, STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) + ds_d1ab :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} + -> (PrelBase.Int{-3g,W-}, STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) {-# L #-} - ds_d1gj = - \ ds_d1gp :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_d1ab = + \ ds_d1ah :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d1gp -> - case ds_d1gp of { STBase.S#{-5D,p-}{i} ds_d1gy -> - case x_r4j of { PrelBase.I#{-5b,p-}{i} ds_d1gM -> + ds_d1ah -> + case ds_d1ah of { STBase.S#{-5D,w-}{i} ds_d1aq -> + case x_r4j of { PrelBase.I#{-5b,w-}{i} ds_d1aE -> case - _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-}]! - ds_d1gy ds_d1gM + _ccall_ b [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.Int#{-3f,W-}]! + ds_d1aq ds_d1aE of { - STBase.StateAndInt#{-5v,p-}{i} ds_d1hf ds_d1hd -> + STBase.StateAndInt#{-5v,w-}{i} ds_d1b7 ds_d1b5 -> let { - ds_d1h4 :: - PrelBase.Int{-3g,p-} + ds_d1aW :: PrelBase.Int{-3g,W-} {-# L #-} - ds_d1h4 = - PrelBase.I#{-5b,p-}{i} - {ds_d1hd} } in + ds_d1aW = + PrelBase.I#{-5b,w-}{i} {ds_d1b5} } in let { - ds_d1h8 :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_d1b0 :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d1h8 = - STBase.S#{-5D,p-}{i} - {_@_ GHC.RealWorld{-3s,p-} ds_d1hf} + ds_d1b0 = + STBase.S#{-5D,w-}{i} {_@_ GHC.RealWorld{-3s,W-} ds_d1b7} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Int{-3g,p-} - _@_ (STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) - ds_d1h4 - ds_d1h8};};};} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Int{-3g,W-} + _@_ (STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) + ds_d1aW + ds_d1b0};};};} } in - STBase.ST{-5G,p-}{i} - _@_ GHC.RealWorld{-3s,p-} _@_ PrelBase.Int{-3g,p-} ds_d1gj -b{-r3,x-} :: - PrelBase.Int{-3g,p-} -> STBase.PrimIO{-3P,p-} PrelBase.Int{-3g,p-} + STBase.ST{-5G,w-}{i} + _@_ GHC.RealWorld{-3s,W-} _@_ PrelBase.Int{-3g,W-} ds_d1ab +b{-r3,x-} :: PrelBase.Int{-3g,W-} + -> STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} b{-r3,x-} = - b_a15F -a_a15R :: - STBase.PrimIO{-3P,p-} PrelBase.Int{-3g,p-} + b_aZE +a_aZR :: STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} -a_a15R = +a_aZR = let { - ds_d1hy :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} - -> (PrelBase.Int{-3g,p-}, STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) + ds_d1bq :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} + -> (PrelBase.Int{-3g,W-}, STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) {-# L #-} - ds_d1hy = - \ ds_d1hE :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_d1bq = + \ ds_d1bw :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d1hE -> - case ds_d1hE of { STBase.S#{-5D,p-}{i} ds_d1hP -> + ds_d1bw -> + case ds_d1bw of { STBase.S#{-5D,w-}{i} ds_d1bH -> case - _ccall_ a [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]! - ds_d1hP + _ccall_ a [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]! + ds_d1bH of { - STBase.StateAndInt#{-5v,p-}{i} ds_d1ii ds_d1ig -> + STBase.StateAndInt#{-5v,w-}{i} ds_d1ca ds_d1c8 -> let { - ds_d1i7 :: - PrelBase.Int{-3g,p-} + ds_d1bZ :: PrelBase.Int{-3g,W-} {-# L #-} - ds_d1i7 = - PrelBase.I#{-5b,p-}{i} - {ds_d1ig} } in + ds_d1bZ = + PrelBase.I#{-5b,w-}{i} {ds_d1c8} } in let { - ds_d1ib :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_d1c3 :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d1ib = - STBase.S#{-5D,p-}{i} - {_@_ GHC.RealWorld{-3s,p-} ds_d1ii} + ds_d1c3 = + STBase.S#{-5D,w-}{i} {_@_ GHC.RealWorld{-3s,W-} ds_d1ca} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Int{-3g,p-} - _@_ (STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) - ds_d1i7 - ds_d1ib};};} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Int{-3g,W-} + _@_ (STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) + ds_d1bZ + ds_d1c3};};} } in - STBase.ST{-5G,p-}{i} - _@_ GHC.RealWorld{-3s,p-} _@_ PrelBase.Int{-3g,p-} ds_d1hy -a{-r1,x-} :: - STBase.PrimIO{-3P,p-} PrelBase.Int{-3g,p-} + STBase.ST{-5G,w-}{i} + _@_ GHC.RealWorld{-3s,W-} _@_ PrelBase.Int{-3g,W-} ds_d1bq +a{-r1,x-} :: STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} a{-r1,x-} = - a_a15R -d_a15Y :: - STBase.PrimIO{-3P,p-} PrelBase.Float{-3c,p-} + a_aZR +d_aZY :: STBase.PrimIO{-3P,W-} PrelBase.Float{-3c,W-} {-# L #-} -d_a15Y = +d_aZY = let { - ds_d1iE :: - PrelBase.Int{-3g,p-} - -> STBase.PrimIO{-3P,p-} PrelBase.Float{-3c,p-} + ds_d1cw :: PrelBase.Int{-3g,W-} + -> STBase.PrimIO{-3P,W-} PrelBase.Float{-3c,W-} {-# L #-} - ds_d1iE = - \ x_r4t :: - PrelBase.Int{-3g,p-} + ds_d1cw = + \ x_r4q :: PrelBase.Int{-3g,W-} {-# L #-} - x_r4t -> + x_r4q -> let { - ds_d1iT :: - STBase.PrimIO{-3P,p-} PrelBase.Int{-3g,p-} + ds_d1cL :: STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} - ds_d1iT = - b{-r3,x-} - x_r4t } in + ds_d1cL = + b{-r3,x-} x_r4q } in let { - ds_d1iX :: - PrelBase.Int{-3g,p-} - -> STBase.PrimIO{-3P,p-} PrelBase.Float{-3c,p-} + ds_d1cP :: PrelBase.Int{-3g,W-} + -> STBase.PrimIO{-3P,W-} PrelBase.Float{-3c,W-} {-# L #-} - ds_d1iX = - \ y_r4v :: - PrelBase.Int{-3g,p-} + ds_d1cP = + \ y_r4s :: PrelBase.Int{-3g,W-} {-# L #-} - y_r4v -> - let { - ds_d1jf :: - PrelBase.Char{-38,p-} - {-# L #-} - ds_d1jf = - PrelBase.C#{-54,p-}{i} - {'f'} - } in - c{-r5,x-} - y_r4v ds_d1jf lit_a16r lit_a16p + y_r4s -> + (let { + ds_d1df :: PrelBase.Char{-38,W-} + {-# L #-} + ds_d1df = + PrelBase.C#{-54,w-}{i} {'f'} + } in c{-r5,x-} y_r4s ds_d1df) + lit_a10r lit_a10t } in - STBase.thenPrimIO{-r4w,p-} - _@_ PrelBase.Int{-3g,p-} _@_ PrelBase.Float{-3c,p-} ds_d1iT ds_d1iX + STBase.thenPrimIO{-r4t,p-} + _@_ PrelBase.Int{-3g,W-} _@_ PrelBase.Float{-3c,W-} ds_d1cL ds_d1cP } in - STBase.thenPrimIO{-r4w,p-} - _@_ PrelBase.Int{-3g,p-} - _@_ PrelBase.Float{-3c,p-} + STBase.thenPrimIO{-r4t,p-} + _@_ PrelBase.Int{-3g,W-} + _@_ PrelBase.Float{-3c,W-} a{-r1,x-} - ds_d1iE -d{-r7,x-} :: - STBase.PrimIO{-3P,p-} PrelBase.Float{-3c,p-} + ds_d1cw +d{-r7,x-} :: STBase.PrimIO{-3P,W-} PrelBase.Float{-3c,W-} {-# L #-} d{-r7,x-} = - d_a15Y + d_aZY +d.Fractional_a10l :: {PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,W-}} +{-# L #-} +d.Fractional_a10l = + PrelNum.$d23{-rsg,p-} +fromRational_a10q :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a10q = + PrelNum.fromRational{-8T,p-} + _@_ PrelBase.Float{-3c,W-} d.Fractional_a10l +lit_a10r :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a10r = + fromRational_a10q _rational_ 1 1 +d.Fractional_a10p :: {PrelNum.Fractional{-26,p-} PrelBase.Double{-3a,W-}} +{-# L #-} +d.Fractional_a10p = + PrelNum.$d14{-rs6,p-} +fromRational_a10s :: PrelNum.Rational{-3r,p-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +fromRational_a10s = + PrelNum.fromRational{-8T,p-} + _@_ PrelBase.Double{-3a,W-} d.Fractional_a10p +lit_a10t :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a10t = + fromRational_a10s _rational_ 2 1 end Rec } - -NOTE: Simplifier still going after 4 iterations; bailing out. diff --git a/ghc/tests/ccall/should_compile/cc002.stderr b/ghc/tests/ccall/should_compile/cc002.stderr deleted file mode 100644 index 4d70998..0000000 --- a/ghc/tests/ccall/should_compile/cc002.stderr +++ /dev/null @@ -1,9 +0,0 @@ - -cc002.hs:11: No instance for: - `Foreign.CReturnable Foreign.ForeignObj' - cc002.hs:11: - in the result of the _ccall_ to a - When checking signature(s) for: `a' - - -Compilation had errors diff --git a/ghc/tests/ccall/should_compile/cc003.stderr b/ghc/tests/ccall/should_compile/cc003.stderr index 1f8dfdc..d4eca73 100644 --- a/ghc/tests/ccall/should_compile/cc003.stderr +++ b/ghc/tests/ccall/should_compile/cc003.stderr @@ -2,114 +2,95 @@ ================================================================================ Typechecked: -{- nonrec -} -{- nonrec -} -AbsBinds [] [] [([], fubar{-r1,x-}, fubar_aZa)] - fubar_aZa - = STBase.seqPrimIO{-r46,p-} - [PrelBase.(){-40,p-}, PrelBase.Int{-3g,p-}] - (STBase.ST{-5G,p-}{i} - [GHC.RealWorld{-3s,p-}, PrelBase.(){-40,p-}] - _ccall_ f) - (STBase.ST{-5G,p-}{i} - [GHC.RealWorld{-3s,p-}, PrelBase.Int{-3g,p-}] - _ccall_ b) -{- nonrec -} +AbsBinds [] [] [([], fubar{-r1,x-}, fubar_aTQ)] + fubar_aTQ + = STBase.seqPrimIO{-r46,p-} + [PrelBase.(){-40,W-}, PrelBase.Int{-3g,W-}] + (STBase.ST{-5G,w-}{i} + [GHC.RealWorld{-3s,W-}, PrelBase.(){-40,W-}] _ccall_ f) + (STBase.ST{-5G,w-}{i} + [GHC.RealWorld{-3s,W-}, PrelBase.Int{-3g,W-}] _ccall_ b) ================================================================================ Desugared: -fubar_aZa :: - STBase.PrimIO{-3P,p-} PrelBase.Int{-3g,p-} +Rec { +fubar_aTQ :: STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} -fubar_aZa = - let { ds_d110 :: - STBase.ST{-3O,p-} GHC.RealWorld{-3s,p-} PrelBase.(){-40,p-} +fubar_aTQ = + let { ds_dVM :: STBase.PrimIO{-3P,W-} PrelBase.(){-40,W-} {-# L #-} - ds_d110 = + ds_dVM = let { - ds_d11g :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} - -> (PrelBase.(){-40,p-}, STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) + ds_dW2 :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} + -> (PrelBase.(){-40,W-}, STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) {-# L #-} - ds_d11g = - \ ds_d11m :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_dW2 = + \ ds_dW8 :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d11m -> - case ds_d11m of { STBase.S#{-5D,p-}{i} ds_d11x -> + ds_dW8 -> + case ds_dW8 of { STBase.S#{-5D,w-}{i} ds_dWn -> case - _ccall_ f [(STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]! - ds_d11x + _ccall_ f [(STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]! + ds_dWn of { - STBase.S#{-5D,p-}{i} ds_d11X -> + STBase.S#{-5D,w-}{i} ds_dWN -> let { - ds_d11Q :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_dWG :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d11Q = - STBase.S#{-5D,p-}{i} - {_@_ GHC.RealWorld{-3s,p-} ds_d11X} + ds_dWG = + STBase.S#{-5D,w-}{i} {_@_ GHC.RealWorld{-3s,W-} ds_dWN} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.(){-40,p-} - _@_ (STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) - PrelBase.(){-60,p-}{i} - ds_d11Q};};} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.(){-40,W-} + _@_ (STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) + PrelBase.(){-60,w-}{i} + ds_dWG};};} } in - STBase.ST{-5G,p-}{i} - _@_ GHC.RealWorld{-3s,p-} _@_ PrelBase.(){-40,p-} ds_d11g + STBase.ST{-5G,w-}{i} + _@_ GHC.RealWorld{-3s,W-} _@_ PrelBase.(){-40,W-} ds_dW2 } in - let { ds_d114 :: - STBase.ST{-3O,p-} GHC.RealWorld{-3s,p-} PrelBase.Int{-3g,p-} + let { ds_dVQ :: STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} - ds_d114 = + ds_dVQ = let { - ds_d12a :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} - -> (PrelBase.Int{-3g,p-}, STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) + ds_dX0 :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} + -> (PrelBase.Int{-3g,W-}, STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) {-# L #-} - ds_d12a = - \ ds_d12g :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_dX0 = + \ ds_dX6 :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d12g -> - case ds_d12g of { STBase.S#{-5D,p-}{i} ds_d12r -> + ds_dX6 -> + case ds_dX6 of { STBase.S#{-5D,w-}{i} ds_dXh -> case - _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]! - ds_d12r + _ccall_ b [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]! + ds_dXh of { - STBase.StateAndInt#{-5v,p-}{i} ds_d12U ds_d12S -> + STBase.StateAndInt#{-5v,w-}{i} ds_dXK ds_dXI -> let { - ds_d12J :: - PrelBase.Int{-3g,p-} + ds_dXz :: PrelBase.Int{-3g,W-} {-# L #-} - ds_d12J = - PrelBase.I#{-5b,p-}{i} - {ds_d12S} } in + ds_dXz = + PrelBase.I#{-5b,w-}{i} {ds_dXI} } in let { - ds_d12N :: - STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + ds_dXD :: STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} {-# L #-} - ds_d12N = - STBase.S#{-5D,p-}{i} - {_@_ GHC.RealWorld{-3s,p-} ds_d12U} + ds_dXD = + STBase.S#{-5D,w-}{i} {_@_ GHC.RealWorld{-3s,W-} ds_dXK} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Int{-3g,p-} - _@_ (STBase.State{-3M,p-} GHC.RealWorld{-3s,p-}) - ds_d12J - ds_d12N};};} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Int{-3g,W-} + _@_ (STBase.State{-3M,W-} GHC.RealWorld{-3s,W-}) + ds_dXz + ds_dXD};};} } in - STBase.ST{-5G,p-}{i} - _@_ GHC.RealWorld{-3s,p-} _@_ PrelBase.Int{-3g,p-} ds_d12a + STBase.ST{-5G,w-}{i} + _@_ GHC.RealWorld{-3s,W-} _@_ PrelBase.Int{-3g,W-} ds_dX0 } in STBase.seqPrimIO{-r46,p-} - _@_ PrelBase.(){-40,p-} _@_ PrelBase.Int{-3g,p-} ds_d110 ds_d114 -fubar{-r1,x-} :: - STBase.PrimIO{-3P,p-} PrelBase.Int{-3g,p-} + _@_ PrelBase.(){-40,W-} _@_ PrelBase.Int{-3g,W-} ds_dVM ds_dVQ +fubar{-r1,x-} :: STBase.PrimIO{-3P,W-} PrelBase.Int{-3g,W-} {-# L #-} fubar{-r1,x-} = - fubar_aZa - -NOTE: Simplifier still going after 4 iterations; bailing out. + fubar_aTQ +end Rec } diff --git a/ghc/tests/ccall/should_compile/cc005.stderr b/ghc/tests/ccall/should_compile/cc005.stderr index ed9f6bb..c86a6ae 100644 --- a/ghc/tests/ccall/should_compile/cc005.stderr +++ b/ghc/tests/ccall/should_compile/cc005.stderr @@ -1,276 +1,205 @@ -NOTE: Simplifier still going after 4 iterations; bailing out. - ================================================================================ STG syntax: -nrlit_s25b = - PrelNum.:%{-5l,p-}{i}! [PrelNum.integer_2{-8e,p-} PrelNum.integer_1{-8d,p-}]; -lit_a19u = +$g0_g0 = + PrelNum.:%{-5l,p-}{i}! [PrelNum.integer_2{-8e,w-} PrelNum.integer_1{-8d,w-}]; +$g1_a15t = (False, True, False, False, True) [] \u [] case - PrelNum.$d14{-rtM,p-} ::{PrelNum.Fractional{-26,p-} PrelBase.Double{-3a,p-}} + PrelNum.$d14{-rs6,p-} ::{PrelNum.Fractional{-26,p-} PrelBase.Double{-3a,W-}} of { - -- lvs: []; rhs lvs: []; uniq: c2b9 - PrelTup.(,,,){-64,p-}{i} tpl_s1V1 tpl_s1V2 tpl_s1V3 tpl_s1V0 -> - tpl_s1V0 - nrlit_s25b; + -- lvs: []; rhs lvs: []; uniq: c1QY + PrelTup.(,,,){-64,w-}{i} $x0_s1En $x1_s1Eo $x2_s1Ep $x3_s1Em -> + $x3_s1Em $g0_g0; }; -nrlit_s25c = - PrelNum.:%{-5l,p-}{i}! [PrelNum.integer_1{-8d,p-} PrelNum.integer_1{-8d,p-}]; -lit_a19w = +$g2_g2 = + PrelNum.:%{-5l,p-}{i}! [PrelNum.integer_1{-8d,w-} PrelNum.integer_1{-8d,w-}]; +$g3_a15r = (False, True, False, False, True) [] \u [] case - PrelNum.$d23{-rtW,p-} ::{PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,p-}} + PrelNum.$d23{-rsg,p-} ::{PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,W-}} of { - -- lvs: []; rhs lvs: []; uniq: c2ba - PrelTup.(,,,){-64,p-}{i} tpl_s1Vt tpl_s1Vu tpl_s1Vv tpl_s1Vs -> - tpl_s1Vs - nrlit_s25c; - }; -s_s1MF = - [] \r [ds_s1VJ] - case ds_s1VJ ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of { - -- lvs: [ds_s1VJ]; rhs lvs: []; uniq: c2bb - STBase.S#{-5D,p-}{i} ds_s1Wa -> - case - _ccall_ a [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1Wa] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} - of { - -- lvs: [ds_s1Wa]; rhs lvs: []; uniq: c2bc - STBase.StateAndInt#{-5v,p-}{i} ds_s1Wk ds_s1W9 -> - let { - ds_s1WA = - PrelBase.I#{-5b,p-}{i}! [ds_s1W9]; } in - let { - ds_s1Wz = - STBase.S#{-5D,p-}{i}! [ds_s1Wk]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1WA ds_s1Wz]; - }; + -- lvs: []; rhs lvs: []; uniq: c1QZ + PrelTup.(,,,){-64,w-}{i} $x0_s1EP $x1_s1EQ $x2_s1ER $x3_s1EO -> + $x3_s1EO $g2_g2; }; -s_s1Xu = - [] \r [ds_s1WI] - case ds_s1WI ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of { - -- lvs: [ds_s1WI]; rhs lvs: []; uniq: c2bd - STBase.S#{-5D,p-}{i} ds_s1X9 -> +a{-r1,x-} = + [] \r [$x0_s1F9] + case $x0_s1F9 ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { + -- lvs: [$x0_s1F9]; rhs lvs: []; uniq: c1R0 + STBase.S#{-5D,w-}{i} $x1_s1FA -> case - _ccall_ a [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1X9] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} + _ccall_ a [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]# [$x1_s1FA] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1X9]; rhs lvs: []; uniq: c2be - STBase.StateAndInt#{-5v,p-}{i} ds_s1Xj ds_s1X8 -> - let { - ds_s1XP = - PrelBase.I#{-5b,p-}{i}! [ds_s1X8]; } in - let { - ds_s1XO = - STBase.S#{-5D,p-}{i}! [ds_s1Xj]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1XP ds_s1XO]; + -- lvs: [$x1_s1FA]; rhs lvs: []; uniq: c1R1 + STBase.StateAndInt#{-5v,w-}{i} $x2_s1FK $x3_s1Fz -> + let { $x4_s1Gc = PrelBase.I#{-5b,w-}{i}! [$x3_s1Fz]; } in + let { $x5_s1Gb = STBase.S#{-5D,w-}{i}! [$x2_s1FK]; + } in PrelTup.(,){-62,w-}{i}! [$x4_s1Gc $x5_s1Gb]; }; }; -a{-r1,x-} = - [] \u [] - s_s1Xu; b{-r3,x-} = - [] \r [x_s1XY] + [] \r [$x0_s1Gl] let { - stg_c2ac = - (False, True, False, False, True) [x_s1XY] \r [ds_s1XN] + stg_c1Qp = + (False, True, False, False, True) [$x0_s1Gl] \r [$x1_s1Ga] case - ds_s1XN{-lvs:x_s1XY-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + $x1_s1Ga{-lvs:$x0_s1Gl-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1XN x_s1XY]; rhs lvs: [x_s1XY]; uniq: c2bf - STBase.S#{-5D,p-}{i} ds_s1XZ -> - case x_s1XY{-lvs:ds_s1XZ-} ::PrelBase.Int{-3g,p-} of { - -- lvs: [x_s1XY ds_s1XZ]; rhs lvs: [ds_s1XZ]; uniq: c2bg - PrelBase.I#{-5b,p-}{i} ds_s1Yp -> + -- lvs: [$x1_s1Ga $x0_s1Gl]; rhs lvs: [$x0_s1Gl]; uniq: c1R2 + STBase.S#{-5D,w-}{i} $x2_s1Gm -> + case $x0_s1Gl{-lvs:$x2_s1Gm-} ::PrelBase.Int{-3g,W-} of { + -- lvs: [$x0_s1Gl $x2_s1Gm]; rhs lvs: [$x2_s1Gm]; uniq: c1R3 + PrelBase.I#{-5b,w-}{i} $x3_s1GM -> case - _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-}]# [ds_s1XZ ds_s1Yp] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} + _ccall_ b [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.Int#{-3f,W-}]# [$x2_s1Gm $x3_s1GM] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1XZ ds_s1Yp]; rhs lvs: []; uniq: c2bh - STBase.StateAndInt#{-5v,p-}{i} ds_s1YA ds_s1Yq -> - let { - ds_s1Za = - PrelBase.I#{-5b,p-}{i}! [ds_s1Yq]; } in - let { - ds_s1Z9 = - STBase.S#{-5D,p-}{i}! [ds_s1YA]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1Za ds_s1Z9]; + -- lvs: [$x2_s1Gm $x3_s1GM]; rhs lvs: []; uniq: c1R4 + STBase.StateAndInt#{-5v,w-}{i} $x4_s1GX $x5_s1GN -> + let { $x6_s1Hx = PrelBase.I#{-5b,w-}{i}! [$x5_s1GN]; } in + let { $x7_s1Hw = STBase.S#{-5D,w-}{i}! [$x4_s1GX]; + } in PrelTup.(,){-62,w-}{i}! [$x6_s1Hx $x7_s1Hw]; }; }; }; - } in - stg_c2ac; + } in stg_c1Qp; c{-r5,x-} = - [] \r [x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN] + [] \r [$x0_s1HG $x1_s1HQ $x2_s1I0 $x3_s1Ia] let { - stg_c29C = - (False, True, False, False, True) [x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN] \r [ds_s1Z8] + stg_c1PP = + (False, True, False, False, True) [$x0_s1HG $x1_s1HQ $x2_s1I0 $x3_s1Ia] \r [$x4_s1Hv] case - ds_s1Z8{-lvs:x1_s1Zj, x2_s1Zt, x3_s1ZD, x4_s1ZN-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + $x4_s1Hv{-lvs:$x0_s1HG, $x1_s1HQ, $x2_s1I0, $x3_s1Ia-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1Z8 x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN]; rhs lvs: [x1_s1Zj x2_s1Zt x3_s1ZD x4_s1ZN]; uniq: c2bi - STBase.S#{-5D,p-}{i} ds_s1Zk -> + -- lvs: [$x4_s1Hv $x0_s1HG $x1_s1HQ $x2_s1I0 $x3_s1Ia]; rhs lvs: [$x0_s1HG $x1_s1HQ $x2_s1I0 $x3_s1Ia]; uniq: c1R5 + STBase.S#{-5D,w-}{i} $x5_s1HH -> case - x1_s1Zj{-lvs:ds_s1Zk, x2_s1Zt, x3_s1ZD, x4_s1ZN-} ::PrelBase.Int{-3g,p-} + $x0_s1HG{-lvs:$x5_s1HH, $x1_s1HQ, $x2_s1I0, $x3_s1Ia-} ::PrelBase.Int{-3g,W-} of { - -- lvs: [x1_s1Zj ds_s1Zk x2_s1Zt x3_s1ZD x4_s1ZN]; rhs lvs: [ds_s1Zk x2_s1Zt x3_s1ZD x4_s1ZN]; uniq: c2bj - PrelBase.I#{-5b,p-}{i} ds_s1Zu -> + -- lvs: [$x0_s1HG $x5_s1HH $x1_s1HQ $x2_s1I0 $x3_s1Ia]; rhs lvs: [$x5_s1HH $x1_s1HQ $x2_s1I0 $x3_s1Ia]; uniq: c1R6 + PrelBase.I#{-5b,w-}{i} $x6_s1HR -> case - x2_s1Zt{-lvs:ds_s1Zk, ds_s1Zu, x3_s1ZD, x4_s1ZN-} ::PrelBase.Char{-38,p-} + $x1_s1HQ{-lvs:$x5_s1HH, $x6_s1HR, $x2_s1I0, $x3_s1Ia-} ::PrelBase.Char{-38,W-} of { - -- lvs: [ds_s1Zk x2_s1Zt ds_s1Zu x3_s1ZD x4_s1ZN]; rhs lvs: [ds_s1Zk ds_s1Zu x3_s1ZD x4_s1ZN]; uniq: c2bk - PrelBase.C#{-54,p-}{i} ds_s1ZE -> + -- lvs: [$x5_s1HH $x1_s1HQ $x6_s1HR $x2_s1I0 $x3_s1Ia]; rhs lvs: [$x5_s1HH $x6_s1HR $x2_s1I0 $x3_s1Ia]; uniq: c1R7 + PrelBase.C#{-54,w-}{i} $x7_s1I1 -> case - x3_s1ZD{-lvs:ds_s1Zk, ds_s1Zu, ds_s1ZE, x4_s1ZN-} ::PrelBase.Float{-3c,p-} + $x2_s1I0{-lvs:$x5_s1HH, $x6_s1HR, $x7_s1I1, $x3_s1Ia-} ::PrelBase.Float{-3c,W-} of { - -- lvs: [ds_s1Zk ds_s1Zu x3_s1ZD ds_s1ZE x4_s1ZN]; rhs lvs: [ds_s1Zk ds_s1Zu ds_s1ZE x4_s1ZN]; uniq: c2bl - PrelBase.F#{-59,p-}{i} ds_s1ZO -> + -- lvs: [$x5_s1HH $x6_s1HR $x2_s1I0 $x7_s1I1 $x3_s1Ia]; rhs lvs: [$x5_s1HH $x6_s1HR $x7_s1I1 $x3_s1Ia]; uniq: c1R8 + PrelBase.F#{-59,w-}{i} $x8_s1Ib -> case - x4_s1ZN{-lvs:ds_s1Zk, ds_s1Zu, ds_s1ZE, ds_s1ZO-} ::PrelBase.Double{-3a,p-} + $x3_s1Ia{-lvs:$x5_s1HH, $x6_s1HR, $x7_s1I1, $x8_s1Ib-} ::PrelBase.Double{-3a,W-} of { - -- lvs: [ds_s1Zk ds_s1Zu ds_s1ZE x4_s1ZN ds_s1ZO]; rhs lvs: [ds_s1Zk ds_s1Zu ds_s1ZE ds_s1ZO]; uniq: c2bm - PrelBase.D#{-56,p-}{i} ds_s20e -> + -- lvs: [$x5_s1HH $x6_s1HR $x7_s1I1 $x3_s1Ia $x8_s1Ib]; rhs lvs: [$x5_s1HH $x6_s1HR $x7_s1I1 $x8_s1Ib]; uniq: c1R9 + PrelBase.D#{-56,w-}{i} $x9_s1IB -> case - _ccall_ c [(STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-} GHC.Char#{-37,p-} GHC.Float#{-3b,p-} GHC.Double#{-39,p-}]# [ds_s1Zk ds_s1Zu ds_s1ZE ds_s1ZO ds_s20e] ::STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-} + _ccall_ c [(STBase.StateAndFloat#{-3C,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.Int#{-3f,W-} GHC.Char#{-37,W-} GHC.Float#{-3b,W-} GHC.Double#{-39,W-}]# [$x5_s1HH $x6_s1HR $x7_s1I1 $x8_s1Ib $x9_s1IB] ::STBase.StateAndFloat#{-3C,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1Zk ds_s1Zu ds_s1ZE ds_s1ZO ds_s20e]; rhs lvs: []; uniq: c2bn - STBase.StateAndFloat#{-5u,p-}{i} ds_s20p ds_s20f -> + -- lvs: [$x5_s1HH $x6_s1HR $x7_s1I1 $x8_s1Ib $x9_s1IB]; rhs lvs: []; uniq: c1Ra + STBase.StateAndFloat#{-5u,w-}{i} $xa_s1IM $xb_s1IC -> let { - ds_s217 = - PrelBase.F#{-59,p-}{i}! [ds_s20f]; } in + $xc_s1Jy = + PrelBase.F#{-59,w-}{i}! [$xb_s1IC]; } in let { - ds_s216 = - STBase.S#{-5D,p-}{i}! [ds_s20p]; + $xd_s1Jx = + STBase.S#{-5D,w-}{i}! [$xa_s1IM]; } in - PrelTup.(,){-62,p-}{i}! [ds_s217 ds_s216]; + PrelTup.(,){-62,w-}{i}! [$xc_s1Jy $xd_s1Jx]; }; }; }; }; }; }; - } in - stg_c29C; + } in stg_c1PP; d{-r7,x-} = [] \u [] let { - ds_s258 = - [] \r [x_s21g] - let { s_s22a = [x_s21g] \r [ds_s215] + $xk_s1Ma = + [] \r [$x0_s1JH] + let { $x8_s1KM = [$x0_s1JH] \r [$x1_s1Jw] case - ds_s215{-lvs:x_s21g-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + $x1_s1Jw{-lvs:$x0_s1JH-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s215 x_s21g]; rhs lvs: [x_s21g]; uniq: c2bo - STBase.S#{-5D,p-}{i} ds_s21h -> - case x_s21g{-lvs:ds_s21h-} ::PrelBase.Int{-3g,p-} of { - -- lvs: [x_s21g ds_s21h]; rhs lvs: [ds_s21h]; uniq: c2bp - PrelBase.I#{-5b,p-}{i} ds_s21H -> + -- lvs: [$x1_s1Jw $x0_s1JH]; rhs lvs: [$x0_s1JH]; uniq: c1Rb + STBase.S#{-5D,w-}{i} $x2_s1JI -> + case $x0_s1JH{-lvs:$x2_s1JI-} ::PrelBase.Int{-3g,W-} of { + -- lvs: [$x0_s1JH $x2_s1JI]; rhs lvs: [$x2_s1JI]; uniq: c1Rc + PrelBase.I#{-5b,w-}{i} $x3_s1K8 -> case - _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-}]# [ds_s21h ds_s21H] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} + _ccall_ b [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.Int#{-3f,W-}]# [$x2_s1JI $x3_s1K8] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s21h ds_s21H]; rhs lvs: []; uniq: c2bq - STBase.StateAndInt#{-5v,p-}{i} ds_s21S ds_s21I -> + -- lvs: [$x2_s1JI $x3_s1K8]; rhs lvs: []; uniq: c1Rd + STBase.StateAndInt#{-5v,w-}{i} $x4_s1Kj $x5_s1K9 -> let { - ds_s22c = - PrelBase.I#{-5b,p-}{i}! [ds_s21I]; } in - let { - ds_s22b = - STBase.S#{-5D,p-}{i}! [ds_s21S]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s22c ds_s22b]; - }; - }; - } } in - let { s_s23h = [x_s21g] \r [ds_s22k] - case - ds_s22k{-lvs:x_s21g-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} - of { - -- lvs: [x_s21g ds_s22k]; rhs lvs: [x_s21g]; uniq: c2br - STBase.S#{-5D,p-}{i} ds_s22t -> - case x_s21g{-lvs:ds_s22t-} ::PrelBase.Int{-3g,p-} of { - -- lvs: [x_s21g ds_s22t]; rhs lvs: [ds_s22t]; uniq: c2bs - PrelBase.I#{-5b,p-}{i} ds_s22T -> - case - _ccall_ b [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-}]# [ds_s22t ds_s22T] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} - of { - -- lvs: [ds_s22t ds_s22T]; rhs lvs: []; uniq: c2bt - STBase.StateAndInt#{-5v,p-}{i} ds_s234 ds_s22U -> - let { - ds_s23A = - PrelBase.I#{-5b,p-}{i}! [ds_s22U]; } in - let { - ds_s23z = - STBase.S#{-5D,p-}{i}! [ds_s234]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s23A ds_s23z]; + $x6_s1KL = PrelBase.I#{-5b,w-}{i}! [$x5_s1K9]; } in + let { $x7_s1KK = STBase.S#{-5D,w-}{i}! [$x4_s1Kj]; + } in PrelTup.(,){-62,w-}{i}! [$x6_s1KL $x7_s1KK]; }; }; } } in let { - ds_s24V = - [] \r [y_s23K] + $xj_s1M6 = + [] \r [$x9_s1KV] let { - stg_c28E = - (False, True, False, False, True) [y_s23K] \r [ds_s23y] + stg_c1OR = + (False, True, False, False, True) [$x9_s1KV] \r [$xa_s1KJ] case - ds_s23y{-lvs:y_s23K-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + $xa_s1KJ{-lvs:$x9_s1KV-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s23y y_s23K]; rhs lvs: [y_s23K]; uniq: c2bu - STBase.S#{-5D,p-}{i} ds_s23L -> - case y_s23K{-lvs:ds_s23L-} ::PrelBase.Int{-3g,p-} of { - -- lvs: [y_s23K ds_s23L]; rhs lvs: [ds_s23L]; uniq: c2bv - PrelBase.I#{-5b,p-}{i} ds_s23U -> + -- lvs: [$xa_s1KJ $x9_s1KV]; rhs lvs: [$x9_s1KV]; uniq: c1Re + STBase.S#{-5D,w-}{i} $xb_s1KW -> + case + $x9_s1KV{-lvs:$xb_s1KW-} ::PrelBase.Int{-3g,W-} + of { + -- lvs: [$x9_s1KV $xb_s1KW]; rhs lvs: [$xb_s1KW]; uniq: c1Rf + PrelBase.I#{-5b,w-}{i} $xc_s1L5 -> case - lit_a19w{-lvs:ds_s23L, ds_s23U-} ::PrelBase.Float{-3c,p-} + $g3_a15r{-lvs:$xb_s1KW, $xc_s1L5-} ::PrelBase.Float{-3c,W-} of { - -- lvs: [ds_s23L ds_s23U]; rhs lvs: [ds_s23L ds_s23U]; uniq: c2bw - PrelBase.F#{-59,p-}{i} ds_s243 -> + -- lvs: [$xb_s1KW $xc_s1L5]; rhs lvs: [$xb_s1KW $xc_s1L5]; uniq: c1Rg + PrelBase.F#{-59,w-}{i} $xd_s1Le -> case - lit_a19u{-lvs:ds_s23L, ds_s23U, ds_s243-} ::PrelBase.Double{-3a,p-} + $g1_a15t{-lvs:$xb_s1KW, $xc_s1L5, $xd_s1Le-} ::PrelBase.Double{-3a,W-} of { - -- lvs: [ds_s23L ds_s23U ds_s243]; rhs lvs: [ds_s23L ds_s23U ds_s243]; uniq: c2bx - PrelBase.D#{-56,p-}{i} ds_s24t -> + -- lvs: [$xb_s1KW $xc_s1L5 $xd_s1Le]; rhs lvs: [$xb_s1KW $xc_s1L5 $xd_s1Le]; uniq: c1Rh + PrelBase.D#{-56,w-}{i} $xe_s1LE -> case - _ccall_ c [(STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.Int#{-3f,p-} GHC.Char#{-37,p-} GHC.Float#{-3b,p-} GHC.Double#{-39,p-}]# [ds_s23L ds_s23U 'f' ds_s243 ds_s24t] ::STBase.StateAndFloat#{-3C,p-} GHC.RealWorld{-3s,p-} + _ccall_ c [(STBase.StateAndFloat#{-3C,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.Int#{-3f,W-} GHC.Char#{-37,W-} GHC.Float#{-3b,W-} GHC.Double#{-39,W-}]# [$xb_s1KW $xc_s1L5 'f' $xd_s1Le $xe_s1LE] ::STBase.StateAndFloat#{-3C,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s23L ds_s23U ds_s243 ds_s24t]; rhs lvs: []; uniq: c2by - STBase.StateAndFloat#{-5u,p-}{i} ds_s24E ds_s24u -> + -- lvs: [$xb_s1KW $xc_s1L5 $xd_s1Le $xe_s1LE]; rhs lvs: []; uniq: c1Ri + STBase.StateAndFloat#{-5u,w-}{i} $xf_s1LP $xg_s1LF -> let { - ds_s24U = - PrelBase.F#{-59,p-}{i}! [ds_s24u]; } in + $xh_s1M5 = + PrelBase.F#{-59,w-}{i}! [$xg_s1LF]; } in let { - ds_s24T = - STBase.S#{-5D,p-}{i}! [ds_s24E]; + $xi_s1M4 = + STBase.S#{-5D,w-}{i}! [$xf_s1LP]; } in - PrelTup.(,){-62,p-}{i}! [ds_s24U ds_s24T]; + PrelTup.(,){-62,w-}{i}! [$xh_s1M5 $xi_s1M4]; }; }; }; }; }; - } in - stg_c28E; - } in - STBase.thenPrimIO{-r4w,p-} - s_s23h ds_s24V; - } in - STBase.thenPrimIO{-r4w,p-} - s_s1Xu ds_s258; + } in stg_c1OR; + } in STBase.thenPrimIO{-r4t,p-} $x8_s1KM $xj_s1M6; + } in STBase.thenPrimIO{-r4t,p-} a{-r1,x-} $xk_s1Ma; ================================================================================ Flat Abstract C: ED_(PrelNum_integerZu2_closure); ED_(PrelNum_integerZu1_closure); -SET_STATIC_HDR(s25b_closure,PrelNum_ZcZ37_static_info,0,static ,ED_RO_) +SET_STATIC_HDR(g0_closure,PrelNum_ZcZ37_static_info,0,static ,ED_RO_) , (W_)PrelNum_integerZu2_closure, (W_)PrelNum_integerZu1_closure }; -IFN_(ret_c2b9) { -ID_(s25b_closure); +IFN_(ret_c1QY) { +ID_(g0_closure); FB_ - SpA[-1]=s25b_closure; + SpA[-1]=g0_closure; RetReg=StdUpdRetVecReg; R1=R6; SpA=SpA-1; @@ -280,10 +209,9 @@ ID_(s25b_closure); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2b9,ret_c2b9) -STATIC_ITBL(a19u_info,a19u_entry,StdErrorCode,1,-1,(STATIC_VHS+ - 2),0,static const,IF_,0,0,0); -IFN_(a19u_entry) { +UNVECTBL(static,vtbl_c1QY,ret_c1QY) +STATIC_ITBL(a15t_info,a15t_entry,StdErrorCode,1,-1,(STATIC_VHS+2),0,static const,IF_,0,0,0); +IFN_(a15t_entry) { ED_(PrelNum_Z36d14_closure); FB_ STK_CHK(1,1,5,0,0,0,1); @@ -291,7 +219,7 @@ ED_(PrelNum_Z36d14_closure); SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0); UPD_CAF(R1.p,Hp-(BH_HS+1)); PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0); - RetReg=(StgRetAddr)UNVEC(ret_c2b9,vtbl_c2b9); + RetReg=(StgRetAddr)UNVEC(ret_c1QY,vtbl_c1QY); R1.p=PrelNum_Z36d14_closure; SpB=SpB+5; ENT_VIA_NODE(); @@ -299,17 +227,17 @@ ED_(PrelNum_Z36d14_closure); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -SET_STATIC_HDR(a19u_closure,a19u_info,0,static ,ID_RO_) +SET_STATIC_HDR(a15t_closure,a15t_info,0,static ,ID_RO_) , (W_)0, (W_)0 }; ED_(PrelNum_integerZu1_closure); -SET_STATIC_HDR(s25c_closure,PrelNum_ZcZ37_static_info,0,static ,ED_RO_) +SET_STATIC_HDR(g2_closure,PrelNum_ZcZ37_static_info,0,static ,ED_RO_) , (W_)PrelNum_integerZu1_closure, (W_)PrelNum_integerZu1_closure }; -IFN_(ret_c2ba) { -ID_(s25c_closure); +IFN_(ret_c1QZ) { +ID_(g2_closure); FB_ - SpA[-1]=s25c_closure; + SpA[-1]=g2_closure; RetReg=StdUpdRetVecReg; R1=R6; SpA=SpA-1; @@ -319,10 +247,9 @@ ID_(s25c_closure); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2ba,ret_c2ba) -STATIC_ITBL(a19w_info,a19w_entry,StdErrorCode,1,-1,(STATIC_VHS+ - 2),0,static const,IF_,0,0,0); -IFN_(a19w_entry) { +UNVECTBL(static,vtbl_c1QZ,ret_c1QZ) +STATIC_ITBL(a15r_info,a15r_entry,StdErrorCode,1,-1,(STATIC_VHS+2),0,static const,IF_,0,0,0); +IFN_(a15r_entry) { ED_(PrelNum_Z36d23_closure); FB_ STK_CHK(1,1,5,0,0,0,1); @@ -330,7 +257,7 @@ ED_(PrelNum_Z36d23_closure); SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0); UPD_CAF(R1.p,Hp-(BH_HS+1)); PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0); - RetReg=(StgRetAddr)UNVEC(ret_c2ba,vtbl_c2ba); + RetReg=(StgRetAddr)UNVEC(ret_c1QZ,vtbl_c1QZ); R1.p=PrelNum_Z36d23_closure; SpB=SpB+5; ENT_VIA_NODE(); @@ -338,80 +265,14 @@ ED_(PrelNum_Z36d23_closure); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -SET_STATIC_HDR(a19w_closure,a19w_info,0,static ,ID_RO_) +SET_STATIC_HDR(a15r_closure,a15r_info,0,static ,ID_RO_) , (W_)0, (W_)0 }; -IFN_(ret_c2bb) { -ED_RO_(PrelBase_IZh_con_info); -ED_(STBase_SZh_static_closure); -ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s1W9; - FB_ - HEAP_CHK(0,(_FHS+1),0); - { - I_ _ccall_result; - CALLER_SAVE_Base - CALLER_SAVE_SpA - CALLER_SAVE_SuA - CALLER_SAVE_SpB - CALLER_SAVE_SuB - CALLER_SAVE_Ret - CALLER_SAVE_Hp - CALLER_SAVE_HpLim - _ccall_result = (a()); - CALLER_RESTORE_Base - CALLER_RESTORE_SpA - CALLER_RESTORE_SuA - CALLER_RESTORE_SpB - CALLER_RESTORE_SuB - CALLER_RESTORE_Ret - CALLER_RESTORE_Hp - CALLER_RESTORE_HpLim - CALLER_RESTORE_StdUpdRetVec - CALLER_RESTORE_StkStub - s1W9=_ccall_result; - } - SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s1W9); - R4.p=STBase_SZh_static_closure; - R3.p=Hp-_FHS; - SpB=SpB-1; - R2.d=PrelTup_Z40Z44Z41_inregs_info; - GRAN_EXEC(10,2,21,22,0); - JMP_(DIRECT((StgRetAddr)(SpB[1]))); - FE_ -} -UNVECTBL(static,vtbl_c2bb,ret_c2bb) -STATIC_ITBL(s1MF_info,s1MF_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0); -IFN_(s1MF_entry) { -ID_(s1MF_closure); -IF_(s1MF_fast1); - FB_ - ARGS_CHK_A_LOAD_NODE(1,s1MF_closure); - R1.p=*SpA; - SpA=SpA+1; - GRAN_EXEC(5,2,1,0,0); - JMP_(s1MF_fast1); - FE_ -} -IFN_(s1MF_fast1) { - FB_ - STK_CHK(1,0,1,0,0,0,0); - SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c2bb,vtbl_c2bb); - SpB=SpB+1; - ENT_VIA_NODE(); - GRAN_EXEC(3,1,1,1,0); - JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); - FE_ -} -SET_STATIC_HDR(s1MF_closure,s1MF_info,0,static ,ID_RO_) -}; -IFN_(ret_c2bd) { +IFN_(ret_c1R0) { ED_RO_(PrelBase_IZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s1X8; +I_ s1Fz_; FB_ HEAP_CHK(0,(_FHS+1),0); { @@ -435,10 +296,10 @@ I_ s1X8; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s1X8=_ccall_result; + s1Fz_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s1X8); + *Hp=(W_)(s1Fz_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-1; @@ -447,56 +308,37 @@ I_ s1X8; JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c2bd,ret_c2bd) -STATIC_ITBL(s1Xu_info,s1Xu_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0); -IFN_(s1Xu_entry) { -ID_(s1Xu_closure); -IF_(s1Xu_fast1); +UNVECTBL(static,vtbl_c1R0,ret_c1R0) +STATIC_ITBL(Test_a_info,Test_a_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0); +FN_(Test_a_entry) { +ED_(Test_a_closure); +EF_(Test_a_fast1); FB_ - ARGS_CHK_A_LOAD_NODE(1,s1Xu_closure); + ARGS_CHK_A_LOAD_NODE(1,Test_a_closure); R1.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(s1Xu_fast1); + JMP_(Test_a_fast1); FE_ } -IFN_(s1Xu_fast1) { +FN_(Test_a_fast1) { FB_ STK_CHK(1,0,1,0,0,0,0); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c2bd,vtbl_c2bd); + RetReg=(StgRetAddr)UNVEC(ret_c1R0,vtbl_c1R0); SpB=SpB+1; ENT_VIA_NODE(); GRAN_EXEC(3,1,1,1,0); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -SET_STATIC_HDR(s1Xu_closure,s1Xu_info,0,static ,ID_RO_) -}; -STATIC_ITBL(Test_a_info,Test_a_entry,StdErrorCode,1,-1,(STATIC_VHS+ - 2),0,const,EF_,0,0,0); -FN_(Test_a_entry) { -IF_(s1Xu_entry); - FB_ - STK_CHK(1,0,4,0,0,0,1); - HEAP_CHK(1,(BH_HS+2),1); - SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0); - UPD_CAF(R1.p,Hp-(BH_HS+1)); - PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0); - RetReg=StdUpdRetVecReg; - SpB=SpB+4; - GRAN_EXEC(16,2,1,8,0); - JMP_(s1Xu_entry); - FE_ -} SET_STATIC_HDR(Test_a_closure,Test_a_info,0,,ED_RO_) - , (W_)0, (W_)0 }; -IFN_(ret_c2bg) { +IFN_(ret_c1R3) { ED_RO_(PrelBase_IZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s1Yq; +I_ s1GN_; FB_ HEAP_CHK(0,(_FHS+1),0); { @@ -521,10 +363,10 @@ I_ s1Yq; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s1Yq=_ccall_result; + s1GN_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s1Yq); + *Hp=(W_)(s1GN_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-1; @@ -533,10 +375,10 @@ I_ s1Yq; JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c2bg,ret_c2bg) -IFN_(ret_c2bf) { +UNVECTBL(static,vtbl_c1R3,ret_c1R3) +IFN_(ret_c1R2) { FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bg,vtbl_c2bg); + RetReg=(StgRetAddr)UNVEC(ret_c1R3,vtbl_c1R3); R1.p=*SpA; SpA=SpA+1; ENT_VIA_NODE(); @@ -544,23 +386,23 @@ IFN_(ret_c2bf) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bf,ret_c2bf) -SPEC_N_ITBL(c2ac_info,c2ac_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); -IFN_(c2ac_entry) { -IF_(c2ac_fast1); +UNVECTBL(static,vtbl_c1R2,ret_c1R2) +SPEC_N_ITBL(c1Qp_info,c1Qp_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); +IFN_(c1Qp_entry) { +IF_(c1Qp_fast1); FB_ ARGS_CHK_A(1); R2.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(c2ac_fast1); + JMP_(c1Qp_fast1); FE_ } -IFN_(c2ac_fast1) { +IFN_(c1Qp_fast1) { FB_ STK_CHK(3,1,1,0,0,0,1); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c2bf,vtbl_c2bf); + RetReg=(StgRetAddr)UNVEC(ret_c1R2,vtbl_c1R2); SpA[-1]=(P_)(R1.p[_FHS]); R1=R2; SpA=SpA-1; @@ -583,24 +425,24 @@ EF_(Test_b_fast1); FE_ } FN_(Test_b_fast1) { -ID_RO_(c2ac_info); -IF_(c2ac_entry); +ID_RO_(c1Qp_info); +IF_(c1Qp_entry); FB_ HEAP_CHK(1,(_FHS+1),0); - SET_SPEC_HDR(Hp-_FHS,c2ac_info,0,1,1); + SET_SPEC_HDR(Hp-_FHS,c1Qp_info,0,1,1); *Hp=(W_)(R1.p); R1.p=Hp-_FHS; GRAN_EXEC(5,2,0,2,0); - JMP_(c2ac_entry); + JMP_(c1Qp_entry); FE_ } SET_STATIC_HDR(Test_b_closure,Test_b_info,0,,ED_RO_) }; -IFN_(ret_c2bm) { +IFN_(ret_c1R9) { ED_RO_(PrelBase_FZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -StgFloat s20f; +StgFloat s1IC_; FB_ HEAP_CHK(0,(_FHS+1),0); { @@ -628,10 +470,10 @@ StgFloat s20f; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s20f=_ccall_result; + s1IC_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,PrelBase_FZh_con_info,0,1,0); - ASSIGN_FLT(Hp,s20f); + ASSIGN_FLT(Hp,s1IC_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-4; @@ -640,10 +482,10 @@ StgFloat s20f; JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c2bm,ret_c2bm) -IFN_(ret_c2bl) { +UNVECTBL(static,vtbl_c1R9,ret_c1R9) +IFN_(ret_c1R8) { FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bm,vtbl_c2bm); + RetReg=(StgRetAddr)UNVEC(ret_c1R9,vtbl_c1R9); R1.p=*SpA; ASSIGN_FLT(SpB+1,FltReg1); SpA=SpA+4; @@ -653,10 +495,10 @@ IFN_(ret_c2bl) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bl,ret_c2bl) -IFN_(ret_c2bk) { +UNVECTBL(static,vtbl_c1R8,ret_c1R8) +IFN_(ret_c1R7) { FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bl,vtbl_c2bl); + RetReg=(StgRetAddr)UNVEC(ret_c1R8,vtbl_c1R8); R1.p=SpA[1]; SpB[1]=(W_)(R3.c); SpA[1]=StkStubReg; @@ -666,10 +508,10 @@ IFN_(ret_c2bk) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bk,ret_c2bk) -IFN_(ret_c2bj) { +UNVECTBL(static,vtbl_c1R7,ret_c1R7) +IFN_(ret_c1R6) { FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bk,vtbl_c2bk); + RetReg=(StgRetAddr)UNVEC(ret_c1R7,vtbl_c1R7); R1.p=SpA[2]; SpB[1]=(W_)(R3.i); SpA[2]=StkStubReg; @@ -679,10 +521,10 @@ IFN_(ret_c2bj) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bj,ret_c2bj) -IFN_(ret_c2bi) { +UNVECTBL(static,vtbl_c1R6,ret_c1R6) +IFN_(ret_c1R5) { FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bj,vtbl_c2bj); + RetReg=(StgRetAddr)UNVEC(ret_c1R6,vtbl_c1R6); R1.p=SpA[3]; SpA[3]=StkStubReg; ENT_VIA_NODE(); @@ -690,23 +532,23 @@ IFN_(ret_c2bi) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bi,ret_c2bi) -SPEC_N_ITBL(c29C_info,c29C_entry,StdErrorCode,1,-1,4,4,static const,IF_,0,0,0); -IFN_(c29C_entry) { -IF_(c29C_fast1); +UNVECTBL(static,vtbl_c1R5,ret_c1R5) +SPEC_N_ITBL(c1PP_info,c1PP_entry,StdErrorCode,1,-1,4,4,static const,IF_,0,0,0); +IFN_(c1PP_entry) { +IF_(c1PP_fast1); FB_ ARGS_CHK_A(1); R2.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(c29C_fast1); + JMP_(c1PP_fast1); FE_ } -IFN_(c29C_fast1) { +IFN_(c1PP_fast1) { FB_ STK_CHK(3,4,4,0,0,0,1); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c2bi,vtbl_c2bi); + RetReg=(StgRetAddr)UNVEC(ret_c1R5,vtbl_c1R5); SpA[-4]=(P_)(R1.p[(_FHS+3)]); SpA[-3]=(P_)(R1.p[(_FHS+2)]); SpA[-2]=(P_)(R1.p[(_FHS+1)]); @@ -735,105 +577,27 @@ EF_(Test_c_fast4); FE_ } FN_(Test_c_fast4) { -ID_RO_(c29C_info); -IF_(c29C_entry); +ID_RO_(c1PP_info); +IF_(c1PP_entry); FB_ HEAP_CHK(15,(_FHS+4),0); - SET_SPEC_HDR(Hp-(_FHS+3),c29C_info,0,4,4); + SET_SPEC_HDR(Hp-(_FHS+3),c1PP_info,0,4,4); Hp[-3]=(W_)(R1.p); Hp[-2]=(W_)(R2.p); Hp[-1]=(W_)(R3.p); *Hp=(W_)(R4.p); R1.p=Hp-(_FHS+3); GRAN_EXEC(5,2,0,5,0); - JMP_(c29C_entry); + JMP_(c1PP_entry); FE_ } SET_STATIC_HDR(Test_c_closure,Test_c_info,0,,ED_RO_) }; -IFN_(ret_c2bp) { -ED_RO_(PrelBase_IZh_con_info); -ED_(STBase_SZh_static_closure); -ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s21I; - FB_ - HEAP_CHK(0,(_FHS+1),0); - { - I_ _ccall_result; - I_ _ccall_arg1=R3.i; - CALLER_SAVE_Base - CALLER_SAVE_SpA - CALLER_SAVE_SuA - CALLER_SAVE_SpB - CALLER_SAVE_SuB - CALLER_SAVE_Ret - CALLER_SAVE_Hp - CALLER_SAVE_HpLim - _ccall_result = (b((_ccall_arg1))); - CALLER_RESTORE_Base - CALLER_RESTORE_SpA - CALLER_RESTORE_SuA - CALLER_RESTORE_SpB - CALLER_RESTORE_SuB - CALLER_RESTORE_Ret - CALLER_RESTORE_Hp - CALLER_RESTORE_HpLim - CALLER_RESTORE_StdUpdRetVec - CALLER_RESTORE_StkStub - s21I=_ccall_result; - } - SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s21I); - R4.p=STBase_SZh_static_closure; - R3.p=Hp-_FHS; - SpB=SpB-1; - R2.d=PrelTup_Z40Z44Z41_inregs_info; - GRAN_EXEC(10,2,22,22,0); - JMP_(DIRECT((StgRetAddr)(SpB[1]))); - FE_ -} -UNVECTBL(static,vtbl_c2bp,ret_c2bp) -IFN_(ret_c2bo) { - FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bp,vtbl_c2bp); - R1.p=*SpA; - SpA=SpA+1; - ENT_VIA_NODE(); - GRAN_EXEC(3,1,2,1,0); - JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); - FE_ -} -UNVECTBL(static,vtbl_c2bo,ret_c2bo) -SPEC_N_ITBL(s22a_info,s22a_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); -IFN_(s22a_entry) { -IF_(s22a_fast1); - FB_ - ARGS_CHK_A(1); - R2.p=*SpA; - SpA=SpA+1; - GRAN_EXEC(5,2,1,0,0); - JMP_(s22a_fast1); - FE_ -} -IFN_(s22a_fast1) { - FB_ - STK_CHK(3,1,1,0,0,0,1); - SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c2bo,vtbl_c2bo); - SpA[-1]=(P_)(R1.p[_FHS]); - R1=R2; - SpA=SpA-1; - SpB=SpB+1; - ENT_VIA_NODE(); - GRAN_EXEC(5,1,2,2,0); - JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); - FE_ -} -IFN_(ret_c2bs) { +IFN_(ret_c1Rc) { ED_RO_(PrelBase_IZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s22U; +I_ s1K9_; FB_ HEAP_CHK(0,(_FHS+1),0); { @@ -858,10 +622,10 @@ I_ s22U; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s22U=_ccall_result; + s1K9_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s22U); + *Hp=(W_)(s1K9_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-1; @@ -870,10 +634,10 @@ I_ s22U; JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c2bs,ret_c2bs) -IFN_(ret_c2br) { +UNVECTBL(static,vtbl_c1Rc,ret_c1Rc) +IFN_(ret_c1Rb) { FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bs,vtbl_c2bs); + RetReg=(StgRetAddr)UNVEC(ret_c1Rc,vtbl_c1Rc); R1.p=*SpA; SpA=SpA+1; ENT_VIA_NODE(); @@ -881,23 +645,23 @@ IFN_(ret_c2br) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2br,ret_c2br) -SPEC_N_ITBL(s23h_info,s23h_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); -IFN_(s23h_entry) { -IF_(s23h_fast1); +UNVECTBL(static,vtbl_c1Rb,ret_c1Rb) +SPEC_N_ITBL(s1KM_info,s1KM_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); +IFN_(s1KM_entry) { +IF_(s1KM_fast1); FB_ ARGS_CHK_A(1); R2.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(s23h_fast1); + JMP_(s1KM_fast1); FE_ } -IFN_(s23h_fast1) { +IFN_(s1KM_fast1) { FB_ STK_CHK(3,1,1,0,0,0,1); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c2br,vtbl_c2br); + RetReg=(StgRetAddr)UNVEC(ret_c1Rb,vtbl_c1Rb); SpA[-1]=(P_)(R1.p[_FHS]); R1=R2; SpA=SpA-1; @@ -907,11 +671,11 @@ IFN_(s23h_fast1) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -IFN_(ret_c2bx) { +IFN_(ret_c1Rh) { ED_RO_(PrelBase_FZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -StgFloat s24u; +StgFloat s1LF_; FB_ HEAP_CHK(0,(_FHS+1),0); { @@ -939,10 +703,10 @@ StgFloat s24u; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s24u=_ccall_result; + s1LF_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,PrelBase_FZh_con_info,0,1,0); - ASSIGN_FLT(Hp,s24u); + ASSIGN_FLT(Hp,s1LF_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-3; @@ -951,12 +715,12 @@ StgFloat s24u; JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c2bx,ret_c2bx) -IFN_(ret_c2bw) { -ID_(a19u_closure); +UNVECTBL(static,vtbl_c1Rh,ret_c1Rh) +IFN_(ret_c1Rg) { +ID_(a15t_closure); FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bx,vtbl_c2bx); - R1.p=a19u_closure; + RetReg=(StgRetAddr)UNVEC(ret_c1Rh,vtbl_c1Rh); + R1.p=a15t_closure; ASSIGN_FLT(SpB+1,FltReg1); SpB=SpB+1; ENT_VIA_NODE(); @@ -964,12 +728,12 @@ ID_(a19u_closure); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bw,ret_c2bw) -IFN_(ret_c2bv) { -ID_(a19w_closure); +UNVECTBL(static,vtbl_c1Rg,ret_c1Rg) +IFN_(ret_c1Rf) { +ID_(a15r_closure); FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bw,vtbl_c2bw); - R1.p=a19w_closure; + RetReg=(StgRetAddr)UNVEC(ret_c1Rg,vtbl_c1Rg); + R1.p=a15r_closure; SpB[1]=(W_)(R3.i); SpB=SpB+1; ENT_VIA_NODE(); @@ -977,10 +741,10 @@ ID_(a19w_closure); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bv,ret_c2bv) -IFN_(ret_c2bu) { +UNVECTBL(static,vtbl_c1Rf,ret_c1Rf) +IFN_(ret_c1Re) { FB_ - RetReg=(StgRetAddr)UNVEC(ret_c2bv,vtbl_c2bv); + RetReg=(StgRetAddr)UNVEC(ret_c1Rf,vtbl_c1Rf); R1.p=*SpA; SpA=SpA+1; ENT_VIA_NODE(); @@ -988,23 +752,23 @@ IFN_(ret_c2bu) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c2bu,ret_c2bu) -SPEC_N_ITBL(c28E_info,c28E_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); -IFN_(c28E_entry) { -IF_(c28E_fast1); +UNVECTBL(static,vtbl_c1Re,ret_c1Re) +SPEC_N_ITBL(c1OR_info,c1OR_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); +IFN_(c1OR_entry) { +IF_(c1OR_fast1); FB_ ARGS_CHK_A(1); R2.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(c28E_fast1); + JMP_(c1OR_fast1); FE_ } -IFN_(c28E_fast1) { +IFN_(c1OR_fast1) { FB_ STK_CHK(3,1,3,0,0,0,1); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c2bu,vtbl_c2bu); + RetReg=(StgRetAddr)UNVEC(ret_c1Re,vtbl_c1Re); SpA[-1]=(P_)(R1.p[_FHS]); R1=R2; SpA=SpA-1; @@ -1014,67 +778,63 @@ IFN_(c28E_fast1) { JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -SPEC_N_ITBL(s24V_info,s24V_entry,StdErrorCode,1,-1,1,0,static const,IF_,0,0,0); -IFN_(s24V_entry) { -IF_(s24V_fast1); +SPEC_N_ITBL(s1M6_info,s1M6_entry,StdErrorCode,1,-1,1,0,static const,IF_,0,0,0); +IFN_(s1M6_entry) { +IF_(s1M6_fast1); FB_ ARGS_CHK_A(1); R2.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(s24V_fast1); + JMP_(s1M6_fast1); FE_ } -IFN_(s24V_fast1) { -ID_RO_(c28E_info); -IF_(c28E_entry); +IFN_(s1M6_fast1) { +ID_RO_(c1OR_info); +IF_(c1OR_entry); FB_ HEAP_CHK(3,(_FHS+1),1); - SET_SPEC_HDR(Hp-_FHS,c28E_info,0,1,1); + SET_SPEC_HDR(Hp-_FHS,c1OR_info,0,1,1); *Hp=(W_)(R2.p); R1.p=Hp-_FHS; GRAN_EXEC(5,2,0,2,0); - JMP_(c28E_entry); + JMP_(c1OR_entry); FE_ } -SPEC_N_ITBL(s258_info,s258_entry,StdErrorCode,1,-1,1,0,static const,IF_,0,0,0); -IFN_(s258_entry) { -IF_(s258_fast1); +SPEC_N_ITBL(s1Ma_info,s1Ma_entry,StdErrorCode,1,-1,1,0,static const,IF_,0,0,0); +IFN_(s1Ma_entry) { +IF_(s1Ma_fast1); FB_ ARGS_CHK_A(1); R2.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(s258_fast1); + JMP_(s1Ma_fast1); FE_ } -IFN_(s258_fast1) { -ID_RO_(s22a_info); -ID_RO_(s23h_info); -ID_RO_(s24V_info); +IFN_(s1Ma_fast1) { +ID_RO_(s1KM_info); +ID_RO_(s1M6_info); ED_(STBase_thenPrimIO_closure); FB_ STK_CHK(3,2,0,0,0,0,1); - HEAP_CHK(3,((_FHS*3)+3),1); - SET_SPEC_HDR(Hp-((_FHS*3)+2),s22a_info,0,1,1); - Hp[-((_FHS*2)+2)]=(W_)(R2.p); - SET_SPEC_HDR(Hp-((_FHS*2)+1),s23h_info,0,1,1); + HEAP_CHK(3,((_FHS*2)+2),1); + SET_SPEC_HDR(Hp-((_FHS*2)+1),s1KM_info,0,1,1); Hp[-(_FHS+1)]=(W_)(R2.p); - SET_SPEC_HDR(Hp-_FHS,s24V_info,0,1,0); + SET_SPEC_HDR(Hp-_FHS,s1M6_info,0,1,0); SpA[-1]=Hp-_FHS; SpA[-2]=Hp-((_FHS*2)+1); R1.p=STBase_thenPrimIO_closure; SpA=SpA-2; ENT_VIA_NODE(); - GRAN_EXEC(11,2,3,7,0); + GRAN_EXEC(9,2,3,5,0); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -STATIC_ITBL(Test_d_info,Test_d_entry,StdErrorCode,1,-1,(STATIC_VHS+ - 2),0,const,EF_,0,0,0); +STATIC_ITBL(Test_d_info,Test_d_entry,StdErrorCode,1,-1,(STATIC_VHS+2),0,const,EF_,0,0,0); FN_(Test_d_entry) { -ID_RO_(s258_info); -ID_(s1Xu_closure); +ID_RO_(s1Ma_info); +ED_(Test_a_closure); ED_(STBase_thenPrimIO_closure); FB_ STK_CHK(1,2,4,0,0,0,1); @@ -1082,9 +842,9 @@ ED_(STBase_thenPrimIO_closure); SET_BH_HDR(Hp-(BH_HS+_FHS+2),BH_UPD_info,0,(BH_VHS+2),0); UPD_CAF(R1.p,Hp-(BH_HS+_FHS+2)); PUSH_STD_UPD_FRAME(Hp-(BH_HS+_FHS+2),0,0); - SET_SPEC_HDR(Hp-_FHS,s258_info,0,1,0); + SET_SPEC_HDR(Hp-_FHS,s1Ma_info,0,1,0); SpA[-1]=Hp-_FHS; - SpA[-2]=s1Xu_closure; + SpA[-2]=Test_a_closure; RetReg=StdUpdRetVecReg; R1.p=STBase_thenPrimIO_closure; SpA=SpA-2; diff --git a/ghc/tests/ccall/should_compile/cc006.stderr b/ghc/tests/ccall/should_compile/cc006.stderr index df765d7..8717e5c 100644 --- a/ghc/tests/ccall/should_compile/cc006.stderr +++ b/ghc/tests/ccall/should_compile/cc006.stderr @@ -1,173 +1,102 @@ -NOTE: Simplifier still going after 4 iterations; bailing out. - ================================================================================ STG syntax: -d{-r5y,x-} = - [] \r [x_s1vw] +a{-r5u,x-} = + [] \r [$x0_s1iK] + case $x0_s1iK ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { + -- lvs: [$x0_s1iK]; rhs lvs: []; uniq: c1pz + STBase.S#{-5D,w-}{i} $x1_s1jb -> + case + _ccall_ a [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]# [$x1_s1jb] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-} + of { + -- lvs: [$x1_s1jb]; rhs lvs: []; uniq: c1pA + STBase.StateAndInt#{-5v,w-}{i} $x2_s1jl $x3_s1ja -> + let { $x4_s1jL = PrelBase.I#{-5b,w-}{i}! [$x3_s1ja]; } in + let { $x5_s1jK = STBase.S#{-5D,w-}{i}! [$x2_s1jl]; + } in PrelTup.(,){-62,w-}{i}! [$x4_s1jL $x5_s1jK]; + }; + }; +b{-r5v,x-} = + [] \r [$x0_s1jJ] + case $x0_s1jJ ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { + -- lvs: [$x0_s1jJ]; rhs lvs: []; uniq: c1pB + STBase.S#{-5D,w-}{i} $x1_s1kc -> + case + _ccall_ b [(Foreign.StateAndStablePtr#{-3J,W-} GHC.RealWorld{-3s,W-} PrelBase.Int{-3g,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-})]# [$x1_s1kc] ::Foreign.StateAndStablePtr#{-3J,W-} GHC.RealWorld{-3s,W-} PrelBase.Int{-3g,W-} + of { + -- lvs: [$x1_s1kc]; rhs lvs: []; uniq: c1pC + Foreign.StateAndStablePtr#{-5B,w-}{i} $x2_s1km $x3_s1kb -> + let { $x4_s1kO = Foreign.StablePtr{-5o,w-}{i}! [$x3_s1kb]; } in + let { $x5_s1kN = STBase.S#{-5D,w-}{i}! [$x2_s1km]; + } in PrelTup.(,){-62,w-}{i}! [$x4_s1kO $x5_s1kN]; + }; + }; +c{-r5w,x-} = + [] \r [$x0_s1kX] let { - stg_c1Fh = - (False, True, False, False, True) [x_s1vw] \r [ds_s1vn] + stg_c1oM = + (False, True, False, False, True) [$x0_s1kX] \r [$x1_s1kM] case - ds_s1vn{-lvs:x_s1vw-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + $x1_s1kM{-lvs:$x0_s1kX-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1vn x_s1vw]; rhs lvs: [x_s1vw]; uniq: c1Fi - STBase.S#{-5D,p-}{i} ds_s1vx -> - case - x_s1vw{-lvs:ds_s1vx-} ::Foreign.StablePtr{-3w,p-} PrelBase.Int{-3g,p-} - of { - -- lvs: [x_s1vw ds_s1vx]; rhs lvs: [ds_s1vx]; uniq: c1Fj - Foreign.StablePtr{-5o,p-}{i} ds_s1vX -> + -- lvs: [$x1_s1kM $x0_s1kX]; rhs lvs: [$x0_s1kX]; uniq: c1pD + STBase.S#{-5D,w-}{i} $x2_s1kY -> + case $x0_s1kX{-lvs:$x2_s1kY-} ::Foreign.ForeignObj{-3l,W-} of { + -- lvs: [$x0_s1kX $x2_s1kY]; rhs lvs: [$x2_s1kY]; uniq: c1pE + Foreign.ForeignObj{-5f,w-}{i} $x3_s1lo -> case - _ccall_ d [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) (GHC.StablePtr#{-3v,p-} PrelBase.Int{-3g,p-})]# [ds_s1vx ds_s1vX] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} + _ccall_ c [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) GHC.ForeignObj#{-3k,W-}]# [$x2_s1kY $x3_s1lo] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1vx ds_s1vX]; rhs lvs: []; uniq: c1Fk - STBase.StateAndInt#{-5v,p-}{i} ds_s1w8 ds_s1vY -> - let { - ds_s1wC = - PrelBase.I#{-5b,p-}{i}! [ds_s1vY]; } in - let { - ds_s1wB = - STBase.S#{-5D,p-}{i}! [ds_s1w8]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1wC ds_s1wB]; + -- lvs: [$x2_s1kY $x3_s1lo]; rhs lvs: []; uniq: c1pF + STBase.StateAndInt#{-5v,w-}{i} $x4_s1lz $x5_s1lp -> + let { $x6_s1m3 = PrelBase.I#{-5b,w-}{i}! [$x5_s1lp]; } in + let { $x7_s1m2 = STBase.S#{-5D,w-}{i}! [$x4_s1lz]; + } in PrelTup.(,){-62,w-}{i}! [$x6_s1m3 $x7_s1m2]; }; }; }; - } in - stg_c1Fh; -c{-r5x,x-} = - [] \r [x_s1wL] + } in stg_c1oM; +d{-r5x,x-} = + [] \r [$x0_s1mc] let { - stg_c1EH = - (False, True, False, False, True) [x_s1wL] \r [ds_s1wA] + stg_c1oc = + (False, True, False, False, True) [$x0_s1mc] \r [$x1_s1m1] case - ds_s1wA{-lvs:x_s1wL-} ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} + $x1_s1m1{-lvs:$x0_s1mc-} ::STBase.State{-3M,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1wA x_s1wL]; rhs lvs: [x_s1wL]; uniq: c1Fl - STBase.S#{-5D,p-}{i} ds_s1wM -> - case x_s1wL{-lvs:ds_s1wM-} ::Foreign.ForeignObj{-3l,p-} of { - -- lvs: [x_s1wL ds_s1wM]; rhs lvs: [ds_s1wM]; uniq: c1Fm - Foreign.ForeignObj{-5f,p-}{i} ds_s1xc -> + -- lvs: [$x1_s1m1 $x0_s1mc]; rhs lvs: [$x0_s1mc]; uniq: c1pG + STBase.S#{-5D,w-}{i} $x2_s1md -> + case + $x0_s1mc{-lvs:$x2_s1md-} ::Foreign.StablePtr{-3w,W-} PrelBase.Int{-3g,W-} + of { + -- lvs: [$x0_s1mc $x2_s1md]; rhs lvs: [$x2_s1md]; uniq: c1pH + Foreign.StablePtr{-5o,w-}{i} $x3_s1mD -> case - _ccall_ c [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-}) GHC.ForeignObj#{-3k,p-}]# [ds_s1wM ds_s1xc] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} + _ccall_ d [(STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-}) (GHC.State#{-3L,W-} GHC.RealWorld{-3s,W-}) (GHC.StablePtr#{-3v,W-} PrelBase.Int{-3g,W-})]# [$x2_s1md $x3_s1mD] ::STBase.StateAndInt#{-3D,W-} GHC.RealWorld{-3s,W-} of { - -- lvs: [ds_s1wM ds_s1xc]; rhs lvs: []; uniq: c1Fn - STBase.StateAndInt#{-5v,p-}{i} ds_s1xn ds_s1xd -> - let { - ds_s1xL = - PrelBase.I#{-5b,p-}{i}! [ds_s1xd]; } in - let { - ds_s1xK = - STBase.S#{-5D,p-}{i}! [ds_s1xn]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1xL ds_s1xK]; + -- lvs: [$x2_s1md $x3_s1mD]; rhs lvs: []; uniq: c1pI + STBase.StateAndInt#{-5v,w-}{i} $x4_s1mO $x5_s1mE -> + let { $x6_s1n5 = PrelBase.I#{-5b,w-}{i}! [$x5_s1mE]; } in + let { $x7_s1n6 = STBase.S#{-5D,w-}{i}! [$x4_s1mO]; + } in PrelTup.(,){-62,w-}{i}! [$x6_s1n5 $x7_s1n6]; }; }; }; - } in - stg_c1EH; -s_s1sE = - [] \r [ds_s1xJ] - case ds_s1xJ ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of { - -- lvs: [ds_s1xJ]; rhs lvs: []; uniq: c1Fo - STBase.S#{-5D,p-}{i} ds_s1yc -> - case - _ccall_ b [(Foreign.StateAndStablePtr#{-3J,p-} GHC.RealWorld{-3s,p-} PrelBase.Int{-3g,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1yc] ::Foreign.StateAndStablePtr#{-3J,p-} GHC.RealWorld{-3s,p-} PrelBase.Int{-3g,p-} - of { - -- lvs: [ds_s1yc]; rhs lvs: []; uniq: c1Fp - Foreign.StateAndStablePtr#{-5B,p-}{i} ds_s1ym ds_s1yb -> - let { - ds_s1yC = - Foreign.StablePtr{-5o,p-}{i}! [ds_s1yb]; } in - let { - ds_s1yB = - STBase.S#{-5D,p-}{i}! [ds_s1ym]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1yC ds_s1yB]; - }; - }; -s_s1zw = - (False, True, False, False, True) [] \r [ds_s1yK] - case ds_s1yK ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of { - -- lvs: [ds_s1yK]; rhs lvs: []; uniq: c1Fq - STBase.S#{-5D,p-}{i} ds_s1zb -> - case - _ccall_ b [(Foreign.StateAndStablePtr#{-3J,p-} GHC.RealWorld{-3s,p-} PrelBase.Int{-3g,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1zb] ::Foreign.StateAndStablePtr#{-3J,p-} GHC.RealWorld{-3s,p-} PrelBase.Int{-3g,p-} - of { - -- lvs: [ds_s1zb]; rhs lvs: []; uniq: c1Fr - Foreign.StateAndStablePtr#{-5B,p-}{i} ds_s1zl ds_s1za -> - let { - ds_s1zL = - Foreign.StablePtr{-5o,p-}{i}! [ds_s1za]; } in - let { - ds_s1zK = - STBase.S#{-5D,p-}{i}! [ds_s1zl]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1zL ds_s1zK]; - }; - }; -b{-r5w,x-} = - [] \u [] - s_s1zw; -s_s1uE = - [] \r [ds_s1zJ] - case ds_s1zJ ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of { - -- lvs: [ds_s1zJ]; rhs lvs: []; uniq: c1Fs - STBase.S#{-5D,p-}{i} ds_s1Ac -> - case - _ccall_ a [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1Ac] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} - of { - -- lvs: [ds_s1Ac]; rhs lvs: []; uniq: c1Ft - STBase.StateAndInt#{-5v,p-}{i} ds_s1Am ds_s1Ab -> - let { - ds_s1AC = - PrelBase.I#{-5b,p-}{i}! [ds_s1Ab]; } in - let { - ds_s1AB = - STBase.S#{-5D,p-}{i}! [ds_s1Am]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1AC ds_s1AB]; - }; - }; -s_s1Bw = - (False, True, False, False, True) [] \r [ds_s1AK] - case ds_s1AK ::STBase.State{-3M,p-} GHC.RealWorld{-3s,p-} of { - -- lvs: [ds_s1AK]; rhs lvs: []; uniq: c1Fu - STBase.S#{-5D,p-}{i} ds_s1Bb -> - case - _ccall_ a [(STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-}) (GHC.State#{-3L,p-} GHC.RealWorld{-3s,p-})]# [ds_s1Bb] ::STBase.StateAndInt#{-3D,p-} GHC.RealWorld{-3s,p-} - of { - -- lvs: [ds_s1Bb]; rhs lvs: []; uniq: c1Fv - STBase.StateAndInt#{-5v,p-}{i} ds_s1Bl ds_s1Ba -> - let { - ds_s1BE = - PrelBase.I#{-5b,p-}{i}! [ds_s1Ba]; } in - let { - ds_s1BF = - STBase.S#{-5D,p-}{i}! [ds_s1Bl]; - } in - PrelTup.(,){-62,p-}{i}! [ds_s1BE ds_s1BF]; - }; - }; -a{-r5v,x-} = - [] \u [] - s_s1Bw; + } in stg_c1oc; ================================================================================ Flat Abstract C: -IFN_(ret_c1Fj) { +IFN_(ret_c1pz) { ED_RO_(PrelBase_IZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s1vY; +I_ s1ja_; FB_ HEAP_CHK(0,(_FHS+1),0); { I_ _ccall_result; - StgStablePtr _ccall_arg1=R3.i; CALLER_SAVE_Base CALLER_SAVE_SpA CALLER_SAVE_SuA @@ -176,111 +105,7 @@ I_ s1vY; CALLER_SAVE_Ret CALLER_SAVE_Hp CALLER_SAVE_HpLim - _ccall_result = (d((_ccall_arg1))); - CALLER_RESTORE_Base - CALLER_RESTORE_SpA - CALLER_RESTORE_SuA - CALLER_RESTORE_SpB - CALLER_RESTORE_SuB - CALLER_RESTORE_Ret - CALLER_RESTORE_Hp - CALLER_RESTORE_HpLim - CALLER_RESTORE_StdUpdRetVec - CALLER_RESTORE_StkStub - s1vY=_ccall_result; - } - SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s1vY); - R4.p=STBase_SZh_static_closure; - R3.p=Hp-_FHS; - SpB=SpB-1; - R2.d=PrelTup_Z40Z44Z41_inregs_info; - GRAN_EXEC(10,2,22,22,0); - JMP_(DIRECT((StgRetAddr)(SpB[1]))); - FE_ -} -UNVECTBL(static,vtbl_c1Fj,ret_c1Fj) -IFN_(ret_c1Fi) { - FB_ - RetReg=(StgRetAddr)UNVEC(ret_c1Fj,vtbl_c1Fj); - R1.p=*SpA; - SpA=SpA+1; - ENT_VIA_NODE(); - GRAN_EXEC(3,1,2,1,0); - JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); - FE_ -} -UNVECTBL(static,vtbl_c1Fi,ret_c1Fi) -SPEC_N_ITBL(c1Fh_info,c1Fh_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); -IFN_(c1Fh_entry) { -IF_(c1Fh_fast1); - FB_ - ARGS_CHK_A(1); - R2.p=*SpA; - SpA=SpA+1; - GRAN_EXEC(5,2,1,0,0); - JMP_(c1Fh_fast1); - FE_ -} -IFN_(c1Fh_fast1) { - FB_ - STK_CHK(3,1,1,0,0,0,1); - SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c1Fi,vtbl_c1Fi); - SpA[-1]=(P_)(R1.p[_FHS]); - R1=R2; - SpA=SpA-1; - SpB=SpB+1; - ENT_VIA_NODE(); - GRAN_EXEC(5,1,2,2,0); - JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); - FE_ -} -STATIC_ITBL(Test_d_info,Test_d_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0); -FN_(Test_d_entry) { -ED_(Test_d_closure); -EF_(Test_d_fast1); - FB_ - ARGS_CHK_A_LOAD_NODE(1,Test_d_closure); - R1.p=*SpA; - SpA=SpA+1; - GRAN_EXEC(5,2,1,0,0); - JMP_(Test_d_fast1); - FE_ -} -FN_(Test_d_fast1) { -ID_RO_(c1Fh_info); -IF_(c1Fh_entry); - FB_ - HEAP_CHK(1,(_FHS+1),0); - SET_SPEC_HDR(Hp-_FHS,c1Fh_info,0,1,1); - *Hp=(W_)(R1.p); - R1.p=Hp-_FHS; - GRAN_EXEC(5,2,0,2,0); - JMP_(c1Fh_entry); - FE_ -} -SET_STATIC_HDR(Test_d_closure,Test_d_info,0,,ED_RO_) -}; -IFN_(ret_c1Fm) { -ED_RO_(PrelBase_IZh_con_info); -ED_(STBase_SZh_static_closure); -ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s1xd; - FB_ - HEAP_CHK(4,(_FHS+1),0); - { - I_ _ccall_result; - StgForeignObj _ccall_arg1=ForeignObj_CLOSURE_DATA(R3.p); - CALLER_SAVE_Base - CALLER_SAVE_SpA - CALLER_SAVE_SuA - CALLER_SAVE_SpB - CALLER_SAVE_SuB - CALLER_SAVE_Ret - CALLER_SAVE_Hp - CALLER_SAVE_HpLim - _ccall_result = (c((_ccall_arg1))); + _ccall_result = (a()); CALLER_RESTORE_Base CALLER_RESTORE_SpA CALLER_RESTORE_SuA @@ -291,86 +116,49 @@ I_ s1xd; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s1xd=_ccall_result; + s1ja_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s1xd); + *Hp=(W_)(s1ja_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-1; R2.d=PrelTup_Z40Z44Z41_inregs_info; - GRAN_EXEC(10,2,22,22,0); + GRAN_EXEC(10,2,21,22,0); JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c1Fm,ret_c1Fm) -IFN_(ret_c1Fl) { +UNVECTBL(static,vtbl_c1pz,ret_c1pz) +STATIC_ITBL(Test_a_info,Test_a_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0); +FN_(Test_a_entry) { +ED_(Test_a_closure); +EF_(Test_a_fast1); FB_ - RetReg=(StgRetAddr)UNVEC(ret_c1Fm,vtbl_c1Fm); + ARGS_CHK_A_LOAD_NODE(1,Test_a_closure); R1.p=*SpA; SpA=SpA+1; - ENT_VIA_NODE(); - GRAN_EXEC(3,1,2,1,0); - JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); - FE_ -} -UNVECTBL(static,vtbl_c1Fl,ret_c1Fl) -SPEC_N_ITBL(c1EH_info,c1EH_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); -IFN_(c1EH_entry) { -IF_(c1EH_fast1); - FB_ - ARGS_CHK_A(1); - R2.p=*SpA; - SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(c1EH_fast1); + JMP_(Test_a_fast1); FE_ } -IFN_(c1EH_fast1) { +FN_(Test_a_fast1) { FB_ - STK_CHK(3,1,1,0,0,0,1); + STK_CHK(1,0,1,0,0,0,0); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c1Fl,vtbl_c1Fl); - SpA[-1]=(P_)(R1.p[_FHS]); - R1=R2; - SpA=SpA-1; + RetReg=(StgRetAddr)UNVEC(ret_c1pz,vtbl_c1pz); SpB=SpB+1; ENT_VIA_NODE(); - GRAN_EXEC(5,1,2,2,0); + GRAN_EXEC(3,1,1,1,0); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -STATIC_ITBL(Test_c_info,Test_c_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0); -FN_(Test_c_entry) { -ED_(Test_c_closure); -EF_(Test_c_fast1); - FB_ - ARGS_CHK_A_LOAD_NODE(1,Test_c_closure); - R1.p=*SpA; - SpA=SpA+1; - GRAN_EXEC(5,2,1,0,0); - JMP_(Test_c_fast1); - FE_ -} -FN_(Test_c_fast1) { -ID_RO_(c1EH_info); -IF_(c1EH_entry); - FB_ - HEAP_CHK(1,(_FHS+1),0); - SET_SPEC_HDR(Hp-_FHS,c1EH_info,0,1,1); - *Hp=(W_)(R1.p); - R1.p=Hp-_FHS; - GRAN_EXEC(5,2,0,2,0); - JMP_(c1EH_entry); - FE_ -} -SET_STATIC_HDR(Test_c_closure,Test_c_info,0,,ED_RO_) +SET_STATIC_HDR(Test_a_closure,Test_a_info,0,,ED_RO_) }; -IFN_(ret_c1Fo) { +IFN_(ret_c1pB) { ED_RO_(Foreign_StablePtr_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -StgStablePtr s1yb; +StgStablePtr s1kb_; FB_ HEAP_CHK(0,(_FHS+1),0); { @@ -394,10 +182,10 @@ StgStablePtr s1yb; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s1yb=_ccall_result; + s1kb_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,Foreign_StablePtr_con_info,0,1,0); - *Hp=(W_)(s1yb); + *Hp=(W_)(s1kb_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-1; @@ -406,41 +194,42 @@ StgStablePtr s1yb; JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c1Fo,ret_c1Fo) -STATIC_ITBL(s1sE_info,s1sE_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0); -IFN_(s1sE_entry) { -ID_(s1sE_closure); -IF_(s1sE_fast1); +UNVECTBL(static,vtbl_c1pB,ret_c1pB) +STATIC_ITBL(Test_b_info,Test_b_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0); +FN_(Test_b_entry) { +ED_(Test_b_closure); +EF_(Test_b_fast1); FB_ - ARGS_CHK_A_LOAD_NODE(1,s1sE_closure); + ARGS_CHK_A_LOAD_NODE(1,Test_b_closure); R1.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(s1sE_fast1); + JMP_(Test_b_fast1); FE_ } -IFN_(s1sE_fast1) { +FN_(Test_b_fast1) { FB_ STK_CHK(1,0,1,0,0,0,0); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c1Fo,vtbl_c1Fo); + RetReg=(StgRetAddr)UNVEC(ret_c1pB,vtbl_c1pB); SpB=SpB+1; ENT_VIA_NODE(); GRAN_EXEC(3,1,1,1,0); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -SET_STATIC_HDR(s1sE_closure,s1sE_info,0,static ,ID_RO_) +SET_STATIC_HDR(Test_b_closure,Test_b_info,0,,ED_RO_) }; -IFN_(ret_c1Fq) { -ED_RO_(Foreign_StablePtr_con_info); +IFN_(ret_c1pE) { +ED_RO_(PrelBase_IZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -StgStablePtr s1za; +I_ s1lp_; FB_ - HEAP_CHK(0,(_FHS+1),0); + HEAP_CHK(4,(_FHS+1),0); { - StgStablePtr _ccall_result; + I_ _ccall_result; + StgForeignObj _ccall_arg1=ForeignObj_CLOSURE_DATA(R3.p); CALLER_SAVE_Base CALLER_SAVE_SpA CALLER_SAVE_SuA @@ -449,7 +238,7 @@ StgStablePtr s1za; CALLER_SAVE_Ret CALLER_SAVE_Hp CALLER_SAVE_HpLim - _ccall_result = (b()); + _ccall_result = (c((_ccall_arg1))); CALLER_RESTORE_Base CALLER_RESTORE_SpA CALLER_RESTORE_SuA @@ -460,138 +249,91 @@ StgStablePtr s1za; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s1za=_ccall_result; + s1lp_=_ccall_result; } - SET_SPEC_HDR(Hp-_FHS,Foreign_StablePtr_con_info,0,1,0); - *Hp=(W_)(s1za); + SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); + *Hp=(W_)(s1lp_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-1; R2.d=PrelTup_Z40Z44Z41_inregs_info; - GRAN_EXEC(10,2,21,22,0); + GRAN_EXEC(10,2,22,22,0); JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c1Fq,ret_c1Fq) -STATIC_ITBL(s1zw_info,s1zw_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0); -IFN_(s1zw_entry) { -ID_(s1zw_closure); -IF_(s1zw_fast1); +UNVECTBL(static,vtbl_c1pE,ret_c1pE) +IFN_(ret_c1pD) { FB_ - ARGS_CHK_A_LOAD_NODE(1,s1zw_closure); + RetReg=(StgRetAddr)UNVEC(ret_c1pE,vtbl_c1pE); R1.p=*SpA; SpA=SpA+1; - GRAN_EXEC(5,2,1,0,0); - JMP_(s1zw_fast1); - FE_ -} -IFN_(s1zw_fast1) { - FB_ - STK_CHK(1,0,1,0,0,0,0); - SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c1Fq,vtbl_c1Fq); - SpB=SpB+1; ENT_VIA_NODE(); - GRAN_EXEC(3,1,1,1,0); + GRAN_EXEC(3,1,2,1,0); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -SET_STATIC_HDR(s1zw_closure,s1zw_info,0,static ,ID_RO_) -}; -STATIC_ITBL(Test_b_info,Test_b_entry,StdErrorCode,1,-1,(STATIC_VHS+ - 2),0,const,EF_,0,0,0); -FN_(Test_b_entry) { -IF_(s1zw_entry); +UNVECTBL(static,vtbl_c1pD,ret_c1pD) +SPEC_N_ITBL(c1oM_info,c1oM_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); +IFN_(c1oM_entry) { +IF_(c1oM_fast1); FB_ - STK_CHK(1,0,4,0,0,0,1); - HEAP_CHK(1,(BH_HS+2),1); - SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0); - UPD_CAF(R1.p,Hp-(BH_HS+1)); - PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0); - RetReg=StdUpdRetVecReg; - SpB=SpB+4; - GRAN_EXEC(16,2,1,8,0); - JMP_(s1zw_entry); + ARGS_CHK_A(1); + R2.p=*SpA; + SpA=SpA+1; + GRAN_EXEC(5,2,1,0,0); + JMP_(c1oM_fast1); FE_ } -SET_STATIC_HDR(Test_b_closure,Test_b_info,0,,ED_RO_) - , (W_)0, (W_)0 -}; -IFN_(ret_c1Fs) { -ED_RO_(PrelBase_IZh_con_info); -ED_(STBase_SZh_static_closure); -ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s1Ab; +IFN_(c1oM_fast1) { FB_ - HEAP_CHK(0,(_FHS+1),0); - { - I_ _ccall_result; - CALLER_SAVE_Base - CALLER_SAVE_SpA - CALLER_SAVE_SuA - CALLER_SAVE_SpB - CALLER_SAVE_SuB - CALLER_SAVE_Ret - CALLER_SAVE_Hp - CALLER_SAVE_HpLim - _ccall_result = (a()); - CALLER_RESTORE_Base - CALLER_RESTORE_SpA - CALLER_RESTORE_SuA - CALLER_RESTORE_SpB - CALLER_RESTORE_SuB - CALLER_RESTORE_Ret - CALLER_RESTORE_Hp - CALLER_RESTORE_HpLim - CALLER_RESTORE_StdUpdRetVec - CALLER_RESTORE_StkStub - s1Ab=_ccall_result; - } - SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s1Ab); - R4.p=STBase_SZh_static_closure; - R3.p=Hp-_FHS; - SpB=SpB-1; - R2.d=PrelTup_Z40Z44Z41_inregs_info; - GRAN_EXEC(10,2,21,22,0); - JMP_(DIRECT((StgRetAddr)(SpB[1]))); + STK_CHK(3,1,1,0,0,0,1); + SpB[1]=(W_)(RetReg); + RetReg=(StgRetAddr)UNVEC(ret_c1pD,vtbl_c1pD); + SpA[-1]=(P_)(R1.p[_FHS]); + R1=R2; + SpA=SpA-1; + SpB=SpB+1; + ENT_VIA_NODE(); + GRAN_EXEC(5,1,2,2,0); + JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -UNVECTBL(static,vtbl_c1Fs,ret_c1Fs) -STATIC_ITBL(s1uE_info,s1uE_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0); -IFN_(s1uE_entry) { -ID_(s1uE_closure); -IF_(s1uE_fast1); +STATIC_ITBL(Test_c_info,Test_c_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0); +FN_(Test_c_entry) { +ED_(Test_c_closure); +EF_(Test_c_fast1); FB_ - ARGS_CHK_A_LOAD_NODE(1,s1uE_closure); + ARGS_CHK_A_LOAD_NODE(1,Test_c_closure); R1.p=*SpA; SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(s1uE_fast1); + JMP_(Test_c_fast1); FE_ } -IFN_(s1uE_fast1) { +FN_(Test_c_fast1) { +ID_RO_(c1oM_info); +IF_(c1oM_entry); FB_ - STK_CHK(1,0,1,0,0,0,0); - SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c1Fs,vtbl_c1Fs); - SpB=SpB+1; - ENT_VIA_NODE(); - GRAN_EXEC(3,1,1,1,0); - JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); + HEAP_CHK(1,(_FHS+1),0); + SET_SPEC_HDR(Hp-_FHS,c1oM_info,0,1,1); + *Hp=(W_)(R1.p); + R1.p=Hp-_FHS; + GRAN_EXEC(5,2,0,2,0); + JMP_(c1oM_entry); FE_ } -SET_STATIC_HDR(s1uE_closure,s1uE_info,0,static ,ID_RO_) +SET_STATIC_HDR(Test_c_closure,Test_c_info,0,,ED_RO_) }; -IFN_(ret_c1Fu) { +IFN_(ret_c1pH) { ED_RO_(PrelBase_IZh_con_info); ED_(STBase_SZh_static_closure); ED_RO_(PrelTup_Z40Z44Z41_inregs_info); -I_ s1Ba; +I_ s1mE_; FB_ HEAP_CHK(0,(_FHS+1),0); { I_ _ccall_result; + StgStablePtr _ccall_arg1=R3.i; CALLER_SAVE_Base CALLER_SAVE_SpA CALLER_SAVE_SuA @@ -600,7 +342,7 @@ I_ s1Ba; CALLER_SAVE_Ret CALLER_SAVE_Hp CALLER_SAVE_HpLim - _ccall_result = (a()); + _ccall_result = (d((_ccall_arg1))); CALLER_RESTORE_Base CALLER_RESTORE_SpA CALLER_RESTORE_SuA @@ -611,61 +353,79 @@ I_ s1Ba; CALLER_RESTORE_HpLim CALLER_RESTORE_StdUpdRetVec CALLER_RESTORE_StkStub - s1Ba=_ccall_result; + s1mE_=_ccall_result; } SET_SPEC_HDR(Hp-_FHS,PrelBase_IZh_con_info,0,1,0); - *Hp=(W_)(s1Ba); + *Hp=(W_)(s1mE_); R4.p=STBase_SZh_static_closure; R3.p=Hp-_FHS; SpB=SpB-1; R2.d=PrelTup_Z40Z44Z41_inregs_info; - GRAN_EXEC(10,2,21,22,0); + GRAN_EXEC(10,2,22,22,0); JMP_(DIRECT((StgRetAddr)(SpB[1]))); FE_ } -UNVECTBL(static,vtbl_c1Fu,ret_c1Fu) -STATIC_ITBL(s1Bw_info,s1Bw_entry,StdErrorCode,1,-1,STATIC_VHS,0,static const,IF_,0,0,0); -IFN_(s1Bw_entry) { -ID_(s1Bw_closure); -IF_(s1Bw_fast1); +UNVECTBL(static,vtbl_c1pH,ret_c1pH) +IFN_(ret_c1pG) { FB_ - ARGS_CHK_A_LOAD_NODE(1,s1Bw_closure); + RetReg=(StgRetAddr)UNVEC(ret_c1pH,vtbl_c1pH); R1.p=*SpA; SpA=SpA+1; + ENT_VIA_NODE(); + GRAN_EXEC(3,1,2,1,0); + JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); + FE_ +} +UNVECTBL(static,vtbl_c1pG,ret_c1pG) +SPEC_N_ITBL(c1oc_info,c1oc_entry,StdErrorCode,1,-1,1,1,static const,IF_,0,0,0); +IFN_(c1oc_entry) { +IF_(c1oc_fast1); + FB_ + ARGS_CHK_A(1); + R2.p=*SpA; + SpA=SpA+1; GRAN_EXEC(5,2,1,0,0); - JMP_(s1Bw_fast1); + JMP_(c1oc_fast1); FE_ } -IFN_(s1Bw_fast1) { +IFN_(c1oc_fast1) { FB_ - STK_CHK(1,0,1,0,0,0,0); + STK_CHK(3,1,1,0,0,0,1); SpB[1]=(W_)(RetReg); - RetReg=(StgRetAddr)UNVEC(ret_c1Fu,vtbl_c1Fu); + RetReg=(StgRetAddr)UNVEC(ret_c1pG,vtbl_c1pG); + SpA[-1]=(P_)(R1.p[_FHS]); + R1=R2; + SpA=SpA-1; SpB=SpB+1; ENT_VIA_NODE(); - GRAN_EXEC(3,1,1,1,0); + GRAN_EXEC(5,1,2,2,0); JMP_((P_)(ENTRY_CODE((D_)(INFO_PTR(R1.p))))); FE_ } -SET_STATIC_HDR(s1Bw_closure,s1Bw_info,0,static ,ID_RO_) -}; -STATIC_ITBL(Test_a_info,Test_a_entry,StdErrorCode,1,-1,(STATIC_VHS+ - 2),0,const,EF_,0,0,0); -FN_(Test_a_entry) { -IF_(s1Bw_entry); +STATIC_ITBL(Test_d_info,Test_d_entry,StdErrorCode,1,-1,STATIC_VHS,0,const,EF_,0,0,0); +FN_(Test_d_entry) { +ED_(Test_d_closure); +EF_(Test_d_fast1); FB_ - STK_CHK(1,0,4,0,0,0,1); - HEAP_CHK(1,(BH_HS+2),1); - SET_BH_HDR(Hp-(BH_HS+1),BH_UPD_info,0,(BH_VHS+2),0); - UPD_CAF(R1.p,Hp-(BH_HS+1)); - PUSH_STD_UPD_FRAME(Hp-(BH_HS+1),0,0); - RetReg=StdUpdRetVecReg; - SpB=SpB+4; - GRAN_EXEC(16,2,1,8,0); - JMP_(s1Bw_entry); + ARGS_CHK_A_LOAD_NODE(1,Test_d_closure); + R1.p=*SpA; + SpA=SpA+1; + GRAN_EXEC(5,2,1,0,0); + JMP_(Test_d_fast1); FE_ } -SET_STATIC_HDR(Test_a_closure,Test_a_info,0,,ED_RO_) - , (W_)0, (W_)0 +FN_(Test_d_fast1) { +ID_RO_(c1oc_info); +IF_(c1oc_entry); + FB_ + HEAP_CHK(1,(_FHS+1),0); + SET_SPEC_HDR(Hp-_FHS,c1oc_info,0,1,1); + *Hp=(W_)(R1.p); + R1.p=Hp-_FHS; + GRAN_EXEC(5,2,0,2,0); + JMP_(c1oc_entry); + FE_ +} +SET_STATIC_HDR(Test_d_closure,Test_d_info,0,,ED_RO_) }; ghc: module version changed to 1; reason: no old .hi file diff --git a/ghc/tests/ccall/should_compile/cc007.hs b/ghc/tests/ccall/should_compile/cc007.hs deleted file mode 100644 index 42d1260..0000000 --- a/ghc/tests/ccall/should_compile/cc007.hs +++ /dev/null @@ -1,27 +0,0 @@ ---!!! cc007 -- ccall with synonyms, polymorphic type variables and user type variables. -module Test where - -import GlaExts - --- Since I messed up the handling of polymorphism originally, I'll --- explicitly test code with UserSysTyVar (ie an explicit polymorphic --- signature) - -foo = _ccall_ f `thenADR` \ a -> returnPrimIO (a + 1) - where - thenADR :: PrimIO a -> (a -> PrimIO b) -> PrimIO b - thenADR = thenPrimIO - --- and with a PolySysTyVar (ie no explicit signature) - -bar = _ccall_ f `thenADR` \ a -> returnPrimIO (a + 1) - where - -- thenADR :: PrimIO a -> (a -> PrimIO b) -> PrimIO b - thenADR = thenPrimIO - --- and with a type synonym - -type INT = Int -barfu :: PrimIO INT -barfu = _ccall_ b - diff --git a/ghc/tests/ccall/should_compile/cc007.stderr b/ghc/tests/ccall/should_compile/cc007.stderr deleted file mode 100644 index a5da32e..0000000 --- a/ghc/tests/ccall/should_compile/cc007.stderr +++ /dev/null @@ -1,9 +0,0 @@ - -cc007.hs:2: Cannot generalise these overloadings (in a _ccall_): - `Foreign.CReturnable t{-a12t-}' - -cc007.hs:2: Cannot generalise these overloadings (in a _ccall_): - `Foreign.CReturnable t{-a13c-}' - - -Compilation had errors diff --git a/ghc/tests/ccall/should_fail/Makefile b/ghc/tests/ccall/should_fail/Makefile new file mode 100644 index 0000000..0bcc375 --- /dev/null +++ b/ghc/tests/ccall/should_fail/Makefile @@ -0,0 +1,7 @@ +TOP = ../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_fail.mk + +HC_OPTS += -noC -fglasgow-exts + +include $(TOP)/mk/target.mk diff --git a/ghc/tests/ccall/should_compile/cc002.hs b/ghc/tests/ccall/should_fail/cc002.hs similarity index 100% rename from ghc/tests/ccall/should_compile/cc002.hs rename to ghc/tests/ccall/should_fail/cc002.hs diff --git a/ghc/tests/ccall/should_fail/cc002.stderr b/ghc/tests/ccall/should_fail/cc002.stderr new file mode 100644 index 0000000..d74a23c --- /dev/null +++ b/ghc/tests/ccall/should_fail/cc002.stderr @@ -0,0 +1,7 @@ + +cc002.hs:11: No instance for: `Foreign.CReturnable Foreign.ForeignObj' + arising from the result of the _ccall_ to a at cc002.hs:11 + When checking signature(s) for: `a' + + +Compilation had errors diff --git a/ghc/tests/ccall/should_compile/cc004.hs b/ghc/tests/ccall/should_fail/cc004.hs similarity index 100% rename from ghc/tests/ccall/should_compile/cc004.hs rename to ghc/tests/ccall/should_fail/cc004.hs diff --git a/ghc/tests/ccall/should_compile/cc004.stderr b/ghc/tests/ccall/should_fail/cc004.stderr similarity index 70% rename from ghc/tests/ccall/should_compile/cc004.stderr rename to ghc/tests/ccall/should_fail/cc004.stderr index b8cd850..bb07155 100644 --- a/ghc/tests/ccall/should_compile/cc004.stderr +++ b/ghc/tests/ccall/should_fail/cc004.stderr @@ -1,9 +1,9 @@ cc004.hs:2: Cannot generalise these overloadings (in a _ccall_): - `Foreign.CReturnable t{-a12p-}' + `Foreign.CReturnable taWQ' cc004.hs:2: Cannot generalise these overloadings (in a _ccall_): - `Foreign.CReturnable t{-a138-}' + `Foreign.CReturnable taXx' Compilation had errors diff --git a/ghc/tests/codeGen/Makefile b/ghc/tests/codeGen/Makefile new file mode 100644 index 0000000..1d1e930 --- /dev/null +++ b/ghc/tests/codeGen/Makefile @@ -0,0 +1,8 @@ +TOP = .. +include $(TOP)/mk/boilerplate.mk + +SUBDIRS = should_compile + +include $(TOP)/mk/target.mk + + diff --git a/ghc/tests/codeGen/cg018.stdout b/ghc/tests/codeGen/cg018.stdout deleted file mode 100644 index 441d36b..0000000 --- a/ghc/tests/codeGen/cg018.stdout +++ /dev/null @@ -1 +0,0 @@ -0.4692 diff --git a/ghc/tests/codeGen/cg034.hs b/ghc/tests/codeGen/cg034.hs deleted file mode 100644 index 2f01c9b..0000000 --- a/ghc/tests/codeGen/cg034.hs +++ /dev/null @@ -1,162 +0,0 @@ -import Ratio -- 1.3 - -main = putStr ( - shows tinyFloat ( '\n' - : shows t_f ( '\n' - : shows hugeFloat ( '\n' - : shows h_f ( '\n' - : shows tinyDouble ( '\n' - : shows t_d ( '\n' - : shows hugeDouble ( '\n' - : shows h_d ( '\n' - : shows x_f ( '\n' - : shows x_d ( '\n' - : shows y_f ( '\n' - : shows y_d ( "\n" - ))))))))))))) - where - t_f :: Float - t_d :: Double - h_f :: Float - h_d :: Double - x_f :: Float - x_d :: Double - y_f :: Float - y_d :: Double - t_f = fromRationalX (toRational tinyFloat) - t_d = fromRationalX (toRational tinyDouble) - h_f = fromRationalX (toRational hugeFloat) - h_d = fromRationalX (toRational hugeDouble) - x_f = fromRationalX (1.82173691287639817263897126389712638972163e-300 :: Rational) - x_d = fromRationalX (1.82173691287639817263897126389712638972163e-300 :: Rational) - y_f = 1.82173691287639817263897126389712638972163e-300 - y_d = 1.82173691287639817263897126389712638972163e-300 - ---!! fromRational woes - -fromRationalX :: (RealFloat a) => Rational -> a -fromRationalX r = - let - h = ceiling (huge `asTypeOf` x) - b = toInteger (floatRadix x) - x = fromRat 0 r - fromRat e0 r' = - let d = denominator r' - n = numerator r' - in if d > h then - let e = integerLogBase b (d `div` h) + 1 - in fromRat (e0-e) (n % (d `div` (b^e))) - else if abs n > h then - let e = integerLogBase b (abs n `div` h) + 1 - in fromRat (e0+e) ((n `div` (b^e)) % d) - else - scaleFloat e0 (rationalToRealFloat {-fromRational-} r') - in x - -{- -fromRationalX r = - rationalToRealFloat r -{- Hmmm... - let - h = ceiling (huge `asTypeOf` x) - b = toInteger (floatRadix x) - x = fromRat 0 r - - fromRat e0 r' = -{--} trace (shows e0 ('/' : shows r' ('/' : shows h "\n"))) ( - let d = denominator r' - n = numerator r' - in if d > h then - let e = integerLogBase b (d `div` h) + 1 - in fromRat (e0-e) (n % (d `div` (b^e))) - else if abs n > h then - let e = integerLogBase b (abs n `div` h) + 1 - in fromRat (e0+e) ((n `div` (b^e)) % d) - else - scaleFloat e0 (rationalToRealFloat r') - -- now that we know things are in-bounds, - -- we use the "old" Prelude code. -{--} ) - in x --} --} - --- Compute the discrete log of i in base b. --- Simplest way would be just divide i by b until it's smaller then b, but that would --- be very slow! We are just slightly more clever. -integerLogBase :: Integer -> Integer -> Int -integerLogBase b i = - if i < b then - 0 - else - -- Try squaring the base first to cut down the number of divisions. - let l = 2 * integerLogBase (b*b) i - doDiv :: Integer -> Int -> Int - doDiv i l = if i < b then l else doDiv (i `div` b) (l+1) - in doDiv (i `div` (b^l)) l - - ------------- - --- Compute smallest and largest floating point values. -tiny :: (RealFloat a) => a -tiny = - let (l, _) = floatRange x - x = encodeFloat 1 (l-1) - in x - -huge :: (RealFloat a) => a -huge = - let (_, u) = floatRange x - d = floatDigits x - x = encodeFloat (floatRadix x ^ d - 1) (u - d) - in x - -tinyDouble = tiny :: Double -tinyFloat = tiny :: Float -hugeDouble = huge :: Double -hugeFloat = huge :: Float - -{- -[In response to a request by simonpj, Joe Fasel writes:] - -A quite reasonable request! This code was added to the Prelude just -before the 1.2 release, when Lennart, working with an early version -of hbi, noticed that (read . show) was not the identity for -floating-point numbers. (There was a one-bit error about half the time.) -The original version of the conversion function was in fact simply -a floating-point divide, as you suggest above. The new version is, -I grant you, somewhat denser. - -How's this? - ---Joe --} - - -rationalToRealFloat :: (RealFloat a) => Rational -> a - -rationalToRealFloat x = x' - where x' = f e - --- If the exponent of the nearest floating-point number to x --- is e, then the significand is the integer nearest xb^(-e), --- where b is the floating-point radix. We start with a good --- guess for e, and if it is correct, the exponent of the --- floating-point number we construct will again be e. If --- not, one more iteration is needed. - - f e = if e' == e then y else f e' - where y = encodeFloat (round (x * (1%b)^^e)) e - (_,e') = decodeFloat y - b = floatRadix x' - --- We obtain a trial exponent by doing a floating-point --- division of x's numerator by its denominator. The --- result of this division may not itself be the ultimate --- result, because of an accumulation of three rounding --- errors. - - (s,e) = decodeFloat (fromInteger (numerator x) `asTypeOf` x' - / fromInteger (denominator x)) - diff --git a/ghc/tests/codeGen/cg035.stdout b/ghc/tests/codeGen/cg035.stdout deleted file mode 100644 index a00e9a2..0000000 --- a/ghc/tests/codeGen/cg035.stdout +++ /dev/null @@ -1 +0,0 @@ -0.9727648049862613 diff --git a/ghc/tests/codeGen/cg041.hs b/ghc/tests/codeGen/cg041.hs deleted file mode 100644 index 09ae099..0000000 --- a/ghc/tests/codeGen/cg041.hs +++ /dev/null @@ -1,22 +0,0 @@ -{- -Date: Thu, 15 May 1997 14:20:29 +0100 (BST) -From: Alex Ferguson -The following erroneous fragment erroneously compiles. - -And then promptly falls over in the assembler, of all places. --} - -data Token - = TokNewline - | TokLiteral - | TokCount - | TokCheck - | TokIs - | TokDeref - | TokFind - | TokLiteral -- Duplicated! - | TokThe - - deriving Show - -main = print TokCount diff --git a/ghc/tests/codeGen/should_run/Makefile b/ghc/tests/codeGen/should_run/Makefile new file mode 100644 index 0000000..8f072b0 --- /dev/null +++ b/ghc/tests/codeGen/should_run/Makefile @@ -0,0 +1,35 @@ +TOP = ../.. +include $(TOP)/mk/boilerplate.mk + +HS_SRCS = $(wildcard *.hs) +BINS = $(patsubst %.o,%,$(HS_OBJS)) +RUNTESTS = $(patsubst %,%.run,$(BINS)) + +SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0 +HC_OPTS += -dcore-lint + +all :: $(BINS) $(RUNTESTS) + +%.run : % + $(RUNTEST) $< $(RUNTEST_OPTS) + +% : %.o + $(HC) $(HC_OPTS) $< -o $@ + +cg012_HC_OPTS = -fglasgow-exts +cg015_HC_OPTS = -fglasgow-exts +cg018_HC_OPTS = -fglasgow-exts +cg026_HC_OPTS = -fglasgow-exts +cg029_HC_OPTS = -fglasgow-exts +cg030_HC_OPTS = -fglasgow-exts +cg031_HC_OPTS = -fglasgow-exts +cg032_HC_OPTS = -fglasgow-exts +cg033_HC_OPTS = -fglasgow-exts +cg035_HC_OPTS = -fglasgow-exts +cg042_HC_OPTS = -fglasgow-exts + +cg016_RUNTEST_OPTS = -x 1 # should override the -x 0 above. +cg021_RUNTEST_OPTS = +RTS -K2m +cg025_RUNTEST_OPTS = -x 1 cg025.hs + +include $(TOP)/mk/target.mk diff --git a/ghc/tests/codeGen/cg001.hs b/ghc/tests/codeGen/should_run/cg001.hs similarity index 100% rename from ghc/tests/codeGen/cg001.hs rename to ghc/tests/codeGen/should_run/cg001.hs diff --git a/ghc/tests/codeGen/cg001.stdout b/ghc/tests/codeGen/should_run/cg001.stdout similarity index 100% rename from ghc/tests/codeGen/cg001.stdout rename to ghc/tests/codeGen/should_run/cg001.stdout diff --git a/ghc/tests/codeGen/cg002.hs b/ghc/tests/codeGen/should_run/cg002.hs similarity index 100% rename from ghc/tests/codeGen/cg002.hs rename to ghc/tests/codeGen/should_run/cg002.hs diff --git a/ghc/tests/codeGen/cg002.stdout b/ghc/tests/codeGen/should_run/cg002.stdout similarity index 100% rename from ghc/tests/codeGen/cg002.stdout rename to ghc/tests/codeGen/should_run/cg002.stdout diff --git a/ghc/tests/codeGen/cg003.hs b/ghc/tests/codeGen/should_run/cg003.hs similarity index 100% rename from ghc/tests/codeGen/cg003.hs rename to ghc/tests/codeGen/should_run/cg003.hs diff --git a/ghc/tests/codeGen/cg003.stdout b/ghc/tests/codeGen/should_run/cg003.stdout similarity index 100% rename from ghc/tests/codeGen/cg003.stdout rename to ghc/tests/codeGen/should_run/cg003.stdout diff --git a/ghc/tests/codeGen/cg004.hs b/ghc/tests/codeGen/should_run/cg004.hs similarity index 100% rename from ghc/tests/codeGen/cg004.hs rename to ghc/tests/codeGen/should_run/cg004.hs diff --git a/ghc/tests/codeGen/cg004.stdout b/ghc/tests/codeGen/should_run/cg004.stdout similarity index 100% rename from ghc/tests/codeGen/cg004.stdout rename to ghc/tests/codeGen/should_run/cg004.stdout diff --git a/ghc/tests/codeGen/cg005.hs b/ghc/tests/codeGen/should_run/cg005.hs similarity index 100% rename from ghc/tests/codeGen/cg005.hs rename to ghc/tests/codeGen/should_run/cg005.hs diff --git a/ghc/tests/codeGen/cg005.stdout b/ghc/tests/codeGen/should_run/cg005.stdout similarity index 100% rename from ghc/tests/codeGen/cg005.stdout rename to ghc/tests/codeGen/should_run/cg005.stdout diff --git a/ghc/tests/codeGen/cg006.hs b/ghc/tests/codeGen/should_run/cg006.hs similarity index 100% rename from ghc/tests/codeGen/cg006.hs rename to ghc/tests/codeGen/should_run/cg006.hs diff --git a/ghc/tests/codeGen/cg006.stdout b/ghc/tests/codeGen/should_run/cg006.stdout similarity index 100% rename from ghc/tests/codeGen/cg006.stdout rename to ghc/tests/codeGen/should_run/cg006.stdout diff --git a/ghc/tests/codeGen/cg007.hs b/ghc/tests/codeGen/should_run/cg007.hs similarity index 100% rename from ghc/tests/codeGen/cg007.hs rename to ghc/tests/codeGen/should_run/cg007.hs diff --git a/ghc/tests/codeGen/cg007.stdout b/ghc/tests/codeGen/should_run/cg007.stdout similarity index 100% rename from ghc/tests/codeGen/cg007.stdout rename to ghc/tests/codeGen/should_run/cg007.stdout diff --git a/ghc/tests/codeGen/cg008.hs b/ghc/tests/codeGen/should_run/cg008.hs similarity index 100% rename from ghc/tests/codeGen/cg008.hs rename to ghc/tests/codeGen/should_run/cg008.hs diff --git a/ghc/tests/codeGen/cg008.stdout b/ghc/tests/codeGen/should_run/cg008.stdout similarity index 100% rename from ghc/tests/codeGen/cg008.stdout rename to ghc/tests/codeGen/should_run/cg008.stdout diff --git a/ghc/tests/codeGen/cg009.hs b/ghc/tests/codeGen/should_run/cg009.hs similarity index 100% rename from ghc/tests/codeGen/cg009.hs rename to ghc/tests/codeGen/should_run/cg009.hs diff --git a/ghc/tests/codeGen/cg009.stdout b/ghc/tests/codeGen/should_run/cg009.stdout similarity index 100% rename from ghc/tests/codeGen/cg009.stdout rename to ghc/tests/codeGen/should_run/cg009.stdout diff --git a/ghc/tests/codeGen/cg010.hs b/ghc/tests/codeGen/should_run/cg010.hs similarity index 100% rename from ghc/tests/codeGen/cg010.hs rename to ghc/tests/codeGen/should_run/cg010.hs diff --git a/ghc/tests/codeGen/cg010.stdout b/ghc/tests/codeGen/should_run/cg010.stdout similarity index 100% rename from ghc/tests/codeGen/cg010.stdout rename to ghc/tests/codeGen/should_run/cg010.stdout diff --git a/ghc/tests/codeGen/cg011.hs b/ghc/tests/codeGen/should_run/cg011.hs similarity index 100% rename from ghc/tests/codeGen/cg011.hs rename to ghc/tests/codeGen/should_run/cg011.hs diff --git a/ghc/tests/codeGen/cg011.stdout b/ghc/tests/codeGen/should_run/cg011.stdout similarity index 100% rename from ghc/tests/codeGen/cg011.stdout rename to ghc/tests/codeGen/should_run/cg011.stdout diff --git a/ghc/tests/codeGen/cg012.hs b/ghc/tests/codeGen/should_run/cg012.hs similarity index 100% rename from ghc/tests/codeGen/cg012.hs rename to ghc/tests/codeGen/should_run/cg012.hs diff --git a/ghc/tests/codeGen/cg012.stdout b/ghc/tests/codeGen/should_run/cg012.stdout similarity index 100% rename from ghc/tests/codeGen/cg012.stdout rename to ghc/tests/codeGen/should_run/cg012.stdout diff --git a/ghc/tests/codeGen/cg013.hs b/ghc/tests/codeGen/should_run/cg013.hs similarity index 100% rename from ghc/tests/codeGen/cg013.hs rename to ghc/tests/codeGen/should_run/cg013.hs diff --git a/ghc/tests/codeGen/cg013.stdout b/ghc/tests/codeGen/should_run/cg013.stdout similarity index 100% rename from ghc/tests/codeGen/cg013.stdout rename to ghc/tests/codeGen/should_run/cg013.stdout diff --git a/ghc/tests/codeGen/cg014.hs b/ghc/tests/codeGen/should_run/cg014.hs similarity index 100% rename from ghc/tests/codeGen/cg014.hs rename to ghc/tests/codeGen/should_run/cg014.hs diff --git a/ghc/tests/codeGen/cg014.stdout b/ghc/tests/codeGen/should_run/cg014.stdout similarity index 100% rename from ghc/tests/codeGen/cg014.stdout rename to ghc/tests/codeGen/should_run/cg014.stdout diff --git a/ghc/tests/codeGen/cg015.hs b/ghc/tests/codeGen/should_run/cg015.hs similarity index 100% rename from ghc/tests/codeGen/cg015.hs rename to ghc/tests/codeGen/should_run/cg015.hs diff --git a/ghc/tests/codeGen/cg015.stdout b/ghc/tests/codeGen/should_run/cg015.stdout similarity index 100% rename from ghc/tests/codeGen/cg015.stdout rename to ghc/tests/codeGen/should_run/cg015.stdout diff --git a/ghc/tests/codeGen/cg016.hs b/ghc/tests/codeGen/should_run/cg016.hs similarity index 100% rename from ghc/tests/codeGen/cg016.hs rename to ghc/tests/codeGen/should_run/cg016.hs diff --git a/ghc/tests/codeGen/should_run/cg016.stderr b/ghc/tests/codeGen/should_run/cg016.stderr new file mode 100644 index 0000000..8a4e211 --- /dev/null +++ b/ghc/tests/codeGen/should_run/cg016.stderr @@ -0,0 +1,12 @@ + +Fail: 1st call to error + +Fail: 2nd call to error + +Fail: 3rd call to error + +Fail: 4th call to error + +Fail: 5th call to error + +Fail: 6th call to error \ No newline at end of file diff --git a/ghc/tests/codeGen/cg016.stdout b/ghc/tests/codeGen/should_run/cg016.stdout similarity index 100% rename from ghc/tests/codeGen/cg016.stdout rename to ghc/tests/codeGen/should_run/cg016.stdout diff --git a/ghc/tests/codeGen/cg017.hs b/ghc/tests/codeGen/should_run/cg017.hs similarity index 100% rename from ghc/tests/codeGen/cg017.hs rename to ghc/tests/codeGen/should_run/cg017.hs diff --git a/ghc/tests/codeGen/cg017.stdout b/ghc/tests/codeGen/should_run/cg017.stdout similarity index 100% rename from ghc/tests/codeGen/cg017.stdout rename to ghc/tests/codeGen/should_run/cg017.stdout diff --git a/ghc/tests/codeGen/cg018.hs b/ghc/tests/codeGen/should_run/cg018.hs similarity index 100% rename from ghc/tests/codeGen/cg018.hs rename to ghc/tests/codeGen/should_run/cg018.hs diff --git a/ghc/tests/codeGen/should_run/cg018.stdout b/ghc/tests/codeGen/should_run/cg018.stdout new file mode 100644 index 0000000..805ee30 --- /dev/null +++ b/ghc/tests/codeGen/should_run/cg018.stdout @@ -0,0 +1 @@ +0.46920002 diff --git a/ghc/tests/codeGen/cg019.hs b/ghc/tests/codeGen/should_run/cg019.hs similarity index 100% rename from ghc/tests/codeGen/cg019.hs rename to ghc/tests/codeGen/should_run/cg019.hs diff --git a/ghc/tests/codeGen/cg019.stdout b/ghc/tests/codeGen/should_run/cg019.stdout similarity index 100% rename from ghc/tests/codeGen/cg019.stdout rename to ghc/tests/codeGen/should_run/cg019.stdout diff --git a/ghc/tests/codeGen/cg020.hs b/ghc/tests/codeGen/should_run/cg020.hs similarity index 100% rename from ghc/tests/codeGen/cg020.hs rename to ghc/tests/codeGen/should_run/cg020.hs diff --git a/ghc/tests/codeGen/cg020.stdout b/ghc/tests/codeGen/should_run/cg020.stdout similarity index 100% rename from ghc/tests/codeGen/cg020.stdout rename to ghc/tests/codeGen/should_run/cg020.stdout diff --git a/ghc/tests/codeGen/cg021.hs b/ghc/tests/codeGen/should_run/cg021.hs similarity index 100% rename from ghc/tests/codeGen/cg021.hs rename to ghc/tests/codeGen/should_run/cg021.hs diff --git a/ghc/tests/codeGen/cg021.stdout b/ghc/tests/codeGen/should_run/cg021.stdout similarity index 100% rename from ghc/tests/codeGen/cg021.stdout rename to ghc/tests/codeGen/should_run/cg021.stdout diff --git a/ghc/tests/codeGen/cg022.hs b/ghc/tests/codeGen/should_run/cg022.hs similarity index 100% rename from ghc/tests/codeGen/cg022.hs rename to ghc/tests/codeGen/should_run/cg022.hs diff --git a/ghc/tests/codeGen/cg022.stdout b/ghc/tests/codeGen/should_run/cg022.stdout similarity index 100% rename from ghc/tests/codeGen/cg022.stdout rename to ghc/tests/codeGen/should_run/cg022.stdout diff --git a/ghc/tests/codeGen/cg023.stdout b/ghc/tests/codeGen/should_run/cg023.stdout similarity index 100% rename from ghc/tests/codeGen/cg023.stdout rename to ghc/tests/codeGen/should_run/cg023.stdout diff --git a/ghc/tests/codeGen/cg024.hs b/ghc/tests/codeGen/should_run/cg024.hs similarity index 100% rename from ghc/tests/codeGen/cg024.hs rename to ghc/tests/codeGen/should_run/cg024.hs diff --git a/ghc/tests/codeGen/cg024.stdout b/ghc/tests/codeGen/should_run/cg024.stdout similarity index 100% rename from ghc/tests/codeGen/cg024.stdout rename to ghc/tests/codeGen/should_run/cg024.stdout diff --git a/ghc/tests/codeGen/cg025.hs b/ghc/tests/codeGen/should_run/cg025.hs similarity index 100% rename from ghc/tests/codeGen/cg025.hs rename to ghc/tests/codeGen/should_run/cg025.hs diff --git a/ghc/tests/codeGen/cg025.stdout b/ghc/tests/codeGen/should_run/cg025.stderr similarity index 56% rename from ghc/tests/codeGen/cg025.stdout rename to ghc/tests/codeGen/should_run/cg025.stderr index 6b2a820..37d409b 100644 --- a/ghc/tests/codeGen/cg025.stdout +++ b/ghc/tests/codeGen/should_run/cg025.stderr @@ -1,3 +1,6 @@ +"cg025" +["cg025.hs"] +"/bin:/usr/bin:/users/ets/simonm/bin:/users/ets/simonm/bin/i386-unknown-freebsd2.2:/usr/local/bin:/usr/X11R6/bin:/usr/local/X11R6/bin:/local/fp/bin:/local/fp/bin/i386-unknown-freebsd2.2:/local/ets/go/i386-unknown-freebsd2.2:/local/fp/bin/i386-unknown-freebsd2.1.0:/local/ets/go/i386-unknown-freebsd2.1.0:/usr/local/teTeX/bin:/sbin:/usr/sbin" --!!! test various I/O Requests -- -- @@ -19,3 +22,8 @@ main = do hPutStr stderr file_cts trace "hello, trace" $ catch (getEnv "__WURBLE__" >> return ()) (\ e -> error "hello, error\n") +Trace On: +hello, trace +Trace Off. + +Fail: hello, error diff --git a/ghc/tests/codeGen/cg038.stdout b/ghc/tests/codeGen/should_run/cg025.stdout similarity index 100% rename from ghc/tests/codeGen/cg038.stdout rename to ghc/tests/codeGen/should_run/cg025.stdout diff --git a/ghc/tests/codeGen/cg026.hs b/ghc/tests/codeGen/should_run/cg026.hs similarity index 100% rename from ghc/tests/codeGen/cg026.hs rename to ghc/tests/codeGen/should_run/cg026.hs diff --git a/ghc/tests/codeGen/cg026.stdout b/ghc/tests/codeGen/should_run/cg026.stdout similarity index 100% rename from ghc/tests/codeGen/cg026.stdout rename to ghc/tests/codeGen/should_run/cg026.stdout diff --git a/ghc/tests/codeGen/cg027.hs b/ghc/tests/codeGen/should_run/cg027.hs similarity index 100% rename from ghc/tests/codeGen/cg027.hs rename to ghc/tests/codeGen/should_run/cg027.hs diff --git a/ghc/tests/codeGen/cg027.stdout b/ghc/tests/codeGen/should_run/cg027.stdout similarity index 100% rename from ghc/tests/codeGen/cg027.stdout rename to ghc/tests/codeGen/should_run/cg027.stdout diff --git a/ghc/tests/codeGen/cg028.hs b/ghc/tests/codeGen/should_run/cg028.hs similarity index 100% rename from ghc/tests/codeGen/cg028.hs rename to ghc/tests/codeGen/should_run/cg028.hs diff --git a/ghc/tests/codeGen/cg028.stdout b/ghc/tests/codeGen/should_run/cg028.stdout similarity index 100% rename from ghc/tests/codeGen/cg028.stdout rename to ghc/tests/codeGen/should_run/cg028.stdout diff --git a/ghc/tests/codeGen/cg029.hs b/ghc/tests/codeGen/should_run/cg029.hs similarity index 100% rename from ghc/tests/codeGen/cg029.hs rename to ghc/tests/codeGen/should_run/cg029.hs diff --git a/ghc/tests/codeGen/cg029.stdout b/ghc/tests/codeGen/should_run/cg029.stdout similarity index 100% rename from ghc/tests/codeGen/cg029.stdout rename to ghc/tests/codeGen/should_run/cg029.stdout diff --git a/ghc/tests/codeGen/cg030.hs b/ghc/tests/codeGen/should_run/cg030.hs similarity index 100% rename from ghc/tests/codeGen/cg030.hs rename to ghc/tests/codeGen/should_run/cg030.hs diff --git a/ghc/tests/codeGen/cg030.stdout b/ghc/tests/codeGen/should_run/cg030.stdout similarity index 100% rename from ghc/tests/codeGen/cg030.stdout rename to ghc/tests/codeGen/should_run/cg030.stdout diff --git a/ghc/tests/codeGen/cg031.hs b/ghc/tests/codeGen/should_run/cg031.hs similarity index 100% rename from ghc/tests/codeGen/cg031.hs rename to ghc/tests/codeGen/should_run/cg031.hs diff --git a/ghc/tests/codeGen/cg031.stdout b/ghc/tests/codeGen/should_run/cg031.stdout similarity index 100% rename from ghc/tests/codeGen/cg031.stdout rename to ghc/tests/codeGen/should_run/cg031.stdout diff --git a/ghc/tests/codeGen/cg032.hs b/ghc/tests/codeGen/should_run/cg032.hs similarity index 100% rename from ghc/tests/codeGen/cg032.hs rename to ghc/tests/codeGen/should_run/cg032.hs diff --git a/ghc/tests/codeGen/cg032.stdout b/ghc/tests/codeGen/should_run/cg032.stdout similarity index 100% rename from ghc/tests/codeGen/cg032.stdout rename to ghc/tests/codeGen/should_run/cg032.stdout diff --git a/ghc/tests/codeGen/cg033.hs b/ghc/tests/codeGen/should_run/cg033.hs similarity index 100% rename from ghc/tests/codeGen/cg033.hs rename to ghc/tests/codeGen/should_run/cg033.hs diff --git a/ghc/tests/codeGen/cg033.stdout b/ghc/tests/codeGen/should_run/cg033.stdout similarity index 100% rename from ghc/tests/codeGen/cg033.stdout rename to ghc/tests/codeGen/should_run/cg033.stdout diff --git a/ghc/tests/codeGen/cg034.stdout b/ghc/tests/codeGen/should_run/cg034.stdout similarity index 100% rename from ghc/tests/codeGen/cg034.stdout rename to ghc/tests/codeGen/should_run/cg034.stdout diff --git a/ghc/tests/codeGen/cg035.hs b/ghc/tests/codeGen/should_run/cg035.hs similarity index 90% rename from ghc/tests/codeGen/cg035.hs rename to ghc/tests/codeGen/should_run/cg035.hs index 947dc95..6e6cbab 100644 --- a/ghc/tests/codeGen/cg035.hs +++ b/ghc/tests/codeGen/should_run/cg035.hs @@ -1,8 +1,7 @@ module Main (main) where --import PreludeGlaST -import ST -import STBase +import GlaExts po :: Double -> Double po rd = 0.5 + 0.5 * erf ((rd / 1.04) / sqrt 2) diff --git a/ghc/tests/codeGen/should_run/cg035.stdout b/ghc/tests/codeGen/should_run/cg035.stdout new file mode 100644 index 0000000..e162ee4 --- /dev/null +++ b/ghc/tests/codeGen/should_run/cg035.stdout @@ -0,0 +1 @@ +256.5 diff --git a/ghc/tests/codeGen/cg036.hs b/ghc/tests/codeGen/should_run/cg036.hs similarity index 100% rename from ghc/tests/codeGen/cg036.hs rename to ghc/tests/codeGen/should_run/cg036.hs diff --git a/ghc/tests/codeGen/cg036.stdout b/ghc/tests/codeGen/should_run/cg036.stdout similarity index 100% rename from ghc/tests/codeGen/cg036.stdout rename to ghc/tests/codeGen/should_run/cg036.stdout diff --git a/ghc/tests/codeGen/cg037.hs b/ghc/tests/codeGen/should_run/cg037.hs similarity index 100% rename from ghc/tests/codeGen/cg037.hs rename to ghc/tests/codeGen/should_run/cg037.hs diff --git a/ghc/tests/codeGen/cg037.stdout b/ghc/tests/codeGen/should_run/cg037.stdout similarity index 100% rename from ghc/tests/codeGen/cg037.stdout rename to ghc/tests/codeGen/should_run/cg037.stdout diff --git a/ghc/tests/codeGen/cg038.hs b/ghc/tests/codeGen/should_run/cg038.hs similarity index 100% rename from ghc/tests/codeGen/cg038.hs rename to ghc/tests/codeGen/should_run/cg038.hs diff --git a/ghc/tests/codeGen/cg042.stdout b/ghc/tests/codeGen/should_run/cg038.stdout similarity index 100% rename from ghc/tests/codeGen/cg042.stdout rename to ghc/tests/codeGen/should_run/cg038.stdout diff --git a/ghc/tests/codeGen/cg039.hs b/ghc/tests/codeGen/should_run/cg039.hs similarity index 100% rename from ghc/tests/codeGen/cg039.hs rename to ghc/tests/codeGen/should_run/cg039.hs diff --git a/ghc/tests/codeGen/cg039.stdout b/ghc/tests/codeGen/should_run/cg039.stdout similarity index 100% rename from ghc/tests/codeGen/cg039.stdout rename to ghc/tests/codeGen/should_run/cg039.stdout diff --git a/ghc/tests/codeGen/cg040.hs b/ghc/tests/codeGen/should_run/cg040.hs similarity index 100% rename from ghc/tests/codeGen/cg040.hs rename to ghc/tests/codeGen/should_run/cg040.hs diff --git a/ghc/tests/codeGen/cg040.stdout b/ghc/tests/codeGen/should_run/cg040.stdout similarity index 100% rename from ghc/tests/codeGen/cg040.stdout rename to ghc/tests/codeGen/should_run/cg040.stdout diff --git a/ghc/tests/codeGen/cg042.hs b/ghc/tests/codeGen/should_run/cg042.hs similarity index 100% rename from ghc/tests/codeGen/cg042.hs rename to ghc/tests/codeGen/should_run/cg042.hs diff --git a/ghc/tests/codeGen/should_run/cg042.stdout b/ghc/tests/codeGen/should_run/cg042.stdout new file mode 100644 index 0000000..c06d217 --- /dev/null +++ b/ghc/tests/codeGen/should_run/cg042.stdout @@ -0,0 +1 @@ +[131.94689145077132, 135.0884841043611, 138.23007675795088, 141.3716694115407, 144.51326206513048, 147.6548547187203, 150.79644737231007, 153.93804002589985, 157.07963267948966, 160.22122533307945, 163.36281798666926, 166.50441064025904, 169.64600329384882, 172.78759594743863, 175.92918860102841, 179.0707812546182, 182.212373908208, 185.3539665617978, 188.49555921538757, 191.63715186897738, 194.77874452256717, 197.92033717615698, 201.06192982974676, 204.20352248333654, 207.34511513692635, 210.48670779051614, 213.62830044410595, 216.76989309769573, 219.9114857512855, 223.05307840487532, 226.1946710584651, 229.3362637120549, 232.4778563656447, 235.61944901923448, 238.76104167282426, 241.90263432641407, 245.04422698000386, 248.18581963359367, 251.32741228718345, 254.46900494077323, 257.610597594363, 260.75219024795285, 263.89378290154264, 267.0353755551324, 270.1769682087222, 273.318560862312, 276.46015351590177, 279.6017461694916, 282.7433388230814, 285.88493147667117, 289.02652413026095, 292.16811678385073, 295.3097094374406, 298.45130209103036, 301.59289474462014, 304.7344873982099, 307.8760800517997, 311.01767270538954, 314.1592653589793, 317.3008580125691, 320.4424506661589, 323.5840433197487, 326.7256359733385, 329.8672286269283, 333.0088212805181, 336.15041393410786, 339.29200658769764, 342.4335992412874, 345.57519189487726, 348.71678454846705, 351.85837720205683, 354.9999698556466, 358.1415625092364, 361.28315516282623, 364.424747816416, 367.5663404700058, 370.7079331235956, 373.84952577718536, 376.99111843077515, 380.132711084365, 383.27430373795477, 386.41589639154455, 389.55748904513433, 392.6990816987241, 395.84067435231395, 398.98226700590374, 402.1238596594935, 405.2654523130833, 408.4070449666731, 411.5486376202629, 414.6902302738527, 417.8318229274425, 420.97341558103227, 424.11500823462205, 427.2566008882119, 430.3981935418017, 433.53978619539146, 436.68137884898124, 439.822971502571, 442.9645641561608, 446.10615680975064, 449.2477494633404, 452.3893421169302, 455.53093477052, 458.6725274241098, 461.8141200776996, 464.9557127312894, 468.0973053848792, 471.23889803846896, 474.38049069205874, 477.5220833456485, 480.66367599923836, 483.80526865282815, 486.94686130641793, 490.0884539600077, 493.2300466135975, 496.37163926718733, 499.5132319207771, 502.6548245743669, 505.7964172279567, 508.93800988154646, 512.0796025351362, 515.221195188726, 518.3627878423158, 521.5043804959057, 524.6459731494955, 527.7875658030853, 530.929158456675, 534.0707511102648, 537.2123437638546, 540.3539364174444, 543.4955290710342, 546.637121724624, 549.7787143782137, 552.9203070318035, 556.0618996853934, 559.2034923389832, 562.345084992573, 565.4866776461628, 568.6282702997526, 571.7698629533423, 574.9114556069321, 578.0530482605219, 581.1946409141117, 584.3362335677015, 587.4778262212914, 590.6194188748811, 593.7610115284709, 596.9026041820607, 600.0441968356505, 603.1857894892403, 606.3273821428301, 609.4689747964198, 612.6105674500096, 615.7521601035994, 618.8937527571892, 622.0353454107791, 625.1769380643689, 628.3185307179587, 631.4601233715484, 634.6017160251382, 637.743308678728, 640.8849013323178, 644.0264939859076, 647.1680866394973, 650.3096792930871, 653.451271946677, 656.5928646002668, 659.7344572538566, 662.8760499074464, 666.0176425610362, 669.1592352146259, 672.3008278682157, 675.4424205218055, 678.5840131753953, 681.7256058289851, 684.8671984825748, 688.0087911361647, 691.1503837897545, 694.2919764433443, 697.4335690969341, 700.5751617505239, 703.7167544041137, 706.8583470577034, 709.9999397112932, 713.141532364883, 716.2831250184728, 719.4247176720626, 722.5663103256525, 725.7079029792422, 728.849495632832, 731.9910882864218, 735.1326809400116, 738.2742735936014, 741.4158662471912, 744.557458900781, 747.6990515543707, 750.8406442079605, 753.9822368615503, 757.1238295151402, 760.26542216873, 763.4070148223198, 766.5486074759095, 769.6902001294993, 772.8317927830891, 775.9733854366789, 779.1149780902687, 782.2565707438584, 785.3981633974482, 788.5397560510381, 791.6813487046279, 794.8229413582177, 797.9645340118075, 801.1061266653973, 804.247719318987, 807.3893119725768, 810.5309046261666, 813.6724972797564, 816.8140899333462, 819.955682586936, 823.0972752405258, 826.2388678941156, 829.3804605477054, 832.5220532012952, 835.663645854885, 838.8052385084748, 841.9468311620645, 845.0884238156543, 848.2300164692441, 851.3716091228339, 854.5132017764238, 857.6547944300136, 860.7963870836033, 863.9379797371931, 867.0795723907829, 870.2211650443727, 873.3627576979625, 876.5043503515523, 879.645943005142, 882.7875356587318, 885.9291283123216, 889.0707209659115, 892.2123136195013, 895.3539062730911, 898.4954989266809, 901.6370915802706, 904.7786842338604, 907.9202768874502, 911.06186954104, 914.2034621946298, 917.3450548482195, 920.4866475018093, 923.6282401553992, 926.769832808989, 929.9114254625788, 933.0530181161686, 936.1946107697584, 939.3362034233481, 942.4777960769379, 945.6193887305277, 948.7609813841175, 951.9025740377073, 955.044166691297, 958.185759344887, 961.3273519984767, 964.4689446520665, 967.6105373056563, 970.7521299592461, 973.8937226128359, 977.0353152664256, 980.1769079200154, 983.3185005736052, 986.460093227195, 989.6016858807849, 992.7432785343747, 995.8848711879644, 999.0264638415542, 1002.168056495144, 1005.3096491487338, 1008.4512418023236, 1011.5928344559134, 1014.7344271095031, 1017.8760197630929, 1021.0176124166827, 1024.1592050702725, 1027.3007977238624, 1030.442390377452, 1033.583983031042, 1036.7255756846316, 1039.8671683382215, 1043.0087609918114, 1046.150353645401, 1049.291946298991, 1052.4335389525806, 1055.5751316061705, 1058.7167242597602, 1061.85831691335, 1064.9999095669398, 1068.1415022205297, 1071.2830948741193, 1074.4246875277092, 1077.5662801812991, 1080.7078728348888, 1083.8494654884787, 1086.9910581420684, 1090.1326507956583, 1093.274243449248, 1096.4158361028378, 1099.5574287564275, 1102.6990214100174, 1105.840614063607, 1108.982206717197, 1112.1237993707869, 1115.2653920243765, 1118.4069846779664, 1121.548577331556, 1124.690169985146, 1127.8317626387357, 1130.9733552923256, 1134.1149479459152, 1137.2565405995051, 1140.398133253095, 1143.5397259066847, 1146.6813185602746, 1149.8229112138642, 1152.9645038674541, 1156.1060965210438, 1159.2476891746337, 1162.3892818282234, 1165.5308744818133, 1168.672467135403, 1171.8140597889928, 1174.9556524425827, 1178.0972450961724, 1181.2388377497623, 1184.380430403352, 1187.5220230569419, 1190.6636157105315, 1193.8052083641214, 1196.946801017711, 1200.088393671301, 1203.2299863248907, 1206.3715789784806, 1209.5131716320705, 1212.6547642856601, 1215.79635693925, 1218.9379495928397, 1222.0795422464296, 1225.2211349000193, 1228.3627275536091, 1231.5043202071988, 1234.6459128607887, 1237.7875055143784, 1240.9290981679683, 1244.0706908215582, 1247.2122834751478, 1250.3538761287377, 1253.4954687823274, 1256.6370614359173, 1259.778654089507, 1262.9202467430969, 1266.0618393966865, 1269.2034320502764, 1272.345024703866, 1275.486617357456, 1278.628210011046, 1281.7698026646356, 1284.9113953182255, 1288.0529879718151, 1291.194580625405, 1294.3361732789947, 1297.4777659325846, 1300.6193585861743, 1303.7609512397642, 1306.902543893354] diff --git a/ghc/tests/codeGen/cg043.hs b/ghc/tests/codeGen/should_run/cg043.hs similarity index 100% rename from ghc/tests/codeGen/cg043.hs rename to ghc/tests/codeGen/should_run/cg043.hs diff --git a/ghc/tests/deSugar/should_compile/Makefile b/ghc/tests/deSugar/should_compile/Makefile index e1bca8d..d99249d 100644 --- a/ghc/tests/deSugar/should_compile/Makefile +++ b/ghc/tests/deSugar/should_compile/Makefile @@ -1,17 +1,10 @@ TOP = ../../../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk -HS_SRCS = $(wildcard *.hs) +HC_OPTS += -noC -dcore-lint -ddump-ds -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0 -HC_OPTS += -noC -dcore-lint - -rn017_HC_OPTS = -hi - -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ - -all :: $(HS_OBJS) +ds035_HC_OPTS = -fglasgow-exts include $(TOP)/mk/target.mk diff --git a/ghc/tests/deSugar/should_compile/ds-wildcard.stderr b/ghc/tests/deSugar/should_compile/ds-wildcard.stderr index 07da869..e65a5e1 100644 --- a/ghc/tests/deSugar/should_compile/ds-wildcard.stderr +++ b/ghc/tests/deSugar/should_compile/ds-wildcard.stderr @@ -3,17 +3,14 @@ ================================================================================ Desugared: Rec { -x{-r1,x-} :: - _forall_ [t{-amE-}] => t{-amE-} +x{-r1,x-} :: _forall_ [tak4] => tak4 {-# L #-} x{-r1,x-} = - _/\_ t{-amE-} -> + _/\_ tak4 -> _letrec_ { - x_amC :: - t{-amE-} + x_ak2 :: tak4 {-# L #-} - x_amC = - x_amC; - } in - x_amC + x_ak2 = + x_ak2; + } in x_ak2 end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds001.stderr b/ghc/tests/deSugar/should_compile/ds001.stderr index cc34719..853165b 100644 --- a/ghc/tests/deSugar/should_compile/ds001.stderr +++ b/ghc/tests/deSugar/should_compile/ds001.stderr @@ -3,111 +3,117 @@ ================================================================================ Desugared: Rec { -c{-r3I,x-} :: - _forall_ [t{-ang-}] => t{-ang-} +c{-r3B,x-} :: _forall_ [takz] => takz {-# L #-} -c{-r3I,x-} = - _/\_ t{-ang-} -> +c{-r3B,x-} = + _/\_ takz -> _letrec_ { - c_ane :: - t{-ang-} + c_akx :: takz {-# L #-} - c_ane = - c_ane; - } in - c_ane -end Rec } -h{-r3L,x-} :: - _forall_ - [t{-anG-} t{-anC-} t{-anE-}] - => - t{-anG-} -> t{-anC-} -> t{-anE-} -> t{-anC-} + c_akx = + c_akx; + } in c_akx +h{-r3E,x-} :: _forall_ + [talc tal8 tala] + => + talc -> tala -> tal8 -> tala {-# L #-} -h{-r3L,x-} = - _/\_ t{-anG-} t{-anC-} t{-anE-} -> \ x_r3z :: - t{-anG-} - {-# L #-} - x_r3z y_r3B :: - t{-anC-} - {-# L #-} - y_r3B -> - let { - f_r3D :: - _forall_ [t{-any-} t{-anA-}] => t{-any-} -> t{-anA-} -> t{-any-} +h{-r3E,x-} = + _/\_ talc tal8 tala -> + _letrec_ { + h_akB :: talc -> tala -> tal8 -> tala {-# L #-} - f_r3D = - _/\_ t{-any-} t{-anA-} -> \ a_r3F :: - t{-any-} - {-# L #-} - a_r3F b_r3H :: - t{-anA-} - {-# L #-} - b_r3H -> - a_r3F - } in - f_r3D - _@_ t{-anC-} _@_ t{-anE-} y_r3B -f{-r3O,x-} :: - _forall_ [t{-anO-}] => t{-anO-} -> t{-anO-} + h_akB = + \ x_r3u :: talc + {-# L #-} + x_r3u y_r3v :: tala + {-# L #-} + y_r3v -> + let { + f_r3x :: _forall_ [tal4 tal6] => tal6 -> tal4 -> tal6 + {-# L #-} + f_r3x = + _/\_ tal4 tal6 -> \ a_r3z :: tal6 + {-# L #-} + a_r3z b_r3A :: tal4 + {-# L #-} + b_r3A -> + a_r3z + } in f_r3x _@_ tal8 _@_ tala y_r3v; + } in h_akB +f{-r3H,x-} :: _forall_ [taln] => taln -> taln {-# L #-} -f{-r3O,x-} = - _/\_ t{-anO-} -> \ x_r3j :: - t{-anO-} - {-# L #-} - x_r3j -> - x_r3j -g{-r3N,x-} :: - _forall_ - [t{-anW-} t{-ao2-} t{-ao4-}] - => - t{-ao2-} -> t{-ao4-} -> t{-anW-} -> t{-anW-} +f{-r3H,x-} = + _/\_ taln -> + _letrec_ { + f_ale :: taln -> taln + {-# L #-} + f_ale = + \ x_r3j :: taln + {-# L #-} + x_r3j -> + x_r3j; + } in f_ale +g{-r3G,x-} :: _forall_ + [talK talM talI] + => + talK -> talM -> talI -> talI {-# L #-} -g{-r3N,x-} = - _/\_ t{-anW-} t{-ao2-} t{-ao4-} -> \ x_r3l :: - t{-ao2-} - {-# L #-} - x_r3l y_r3n :: - t{-ao4-} - {-# L #-} - y_r3n z_r3p :: - t{-anW-} - {-# L #-} - z_r3p -> - f{-r3O,x-} - _@_ t{-anW-} z_r3p -j{-r3M,x-} :: - _forall_ - [t{-aoe-} t{-aoh-} t{-aoj-} t{-aoo-}] - => - t{-aoe-} -> t{-aoh-} -> t{-aoo-} -> t{-aoj-} -> t{-aoj-} +g{-r3G,x-} = + _/\_ talK talM talI -> + _letrec_ { + g_alp :: talK -> talM -> talI -> talI + {-# L #-} + g_alp = + \ x_r3l :: talK + {-# L #-} + x_r3l y_r3m :: talM + {-# L #-} + y_r3m z_r3n :: talI + {-# L #-} + z_r3n -> + f{-r3H,x-} _@_ talI z_r3n; + } in g_alp +j{-r3F,x-} :: _forall_ + [tami tame tamf tamg] + => + tamf -> tamg -> tami -> tame -> tame {-# L #-} -j{-r3M,x-} = - _/\_ t{-aoe-} t{-aoh-} t{-aoj-} t{-aoo-} -> \ w_r3r :: - t{-aoe-} - {-# L #-} - w_r3r x_r3t :: - t{-aoh-} - {-# L #-} - x_r3t y_r3v :: - t{-aoo-} - {-# L #-} - y_r3v z_r3x :: - t{-aoj-} - {-# L #-} - z_r3x -> - g{-r3N,x-} - _@_ t{-aoj-} _@_ t{-aoe-} _@_ t{-aoh-} w_r3r x_r3t z_r3x -b{-r3J,x-} :: - _forall_ [t{-aou-}] => t{-aou-} -> t{-aou-} +j{-r3F,x-} = + _/\_ tami tame tamf tamg -> + _letrec_ { + j_alO :: tamf -> tamg -> tami -> tame -> tame + {-# L #-} + j_alO = + \ w_r3p :: tamf + {-# L #-} + w_r3p x_r3q :: tamg + {-# L #-} + x_r3q y_r3r :: tami + {-# L #-} + y_r3r z_r3s :: tame + {-# L #-} + z_r3s -> + g{-r3G,x-} _@_ tamf _@_ tamg _@_ tame w_r3p x_r3q z_r3s; + } in j_alO +b{-r3C,x-} :: _forall_ [tamo] => tamo -> tamo {-# L #-} -b{-r3J,x-} = - _/\_ t{-aou-} -> - f{-r3O,x-} - _@_ t{-aou-} -a{-r3K,x-} :: - _forall_ [t{-aoA-}] => t{-aoA-} -> t{-aoA-} +b{-r3C,x-} = + _/\_ tamo -> + _letrec_ { + b_amk :: tamo -> tamo + {-# L #-} + b_amk = + f{-r3H,x-} _@_ tamo; + } in b_amk +a{-r3D,x-} :: _forall_ [tamu] => tamu -> tamu {-# L #-} -a{-r3K,x-} = - _/\_ t{-aoA-} -> - b{-r3J,x-} - _@_ t{-aoA-} +a{-r3D,x-} = + _/\_ tamu -> + _letrec_ { + a_amq :: tamu -> tamu + {-# L #-} + a_amq = + b{-r3C,x-} _@_ tamu; + } in a_amq +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds002.stderr b/ghc/tests/deSugar/should_compile/ds002.stderr index 5e6aeeb..a2a91d0 100644 --- a/ghc/tests/deSugar/should_compile/ds002.stderr +++ b/ghc/tests/deSugar/should_compile/ds002.stderr @@ -1,74 +1,74 @@ +ds002.hs:13: + Warning: Possibly incomplete patterns + in the definition of function `g' ds002.hs:8: Warning: Pattern match(es) completely overlapped in the definition of function `f' ds002.hs:9: Warning: Pattern match(es) completely overlapped in the definition of function `f' -ds002.hs:13: - Warning: Possibly incomplete patterns - in the definition of function `g' ================================================================================ Desugared: -f{-r3w,x-} :: - _forall_ [t{-an6-}] => t{-an6-} -> t{-an6-} +Rec { +f{-r3s,x-} :: _forall_ [takv] => takv -> takv {-# L #-} -f{-r3w,x-} = - _/\_ t{-an6-} -> \ x_r3e :: - t{-an6-} - {-# L #-} - x_r3e -> - x_r3e -g{-r3v,x-} :: - _forall_ - [t{-anr-} t{-anA-} t{-anC-}] - => - t{-anA-} -> t{-anC-} -> t{-anr-} -> t{-anr-} +f{-r3s,x-} = + _/\_ takv -> + _letrec_ { + f_aki :: takv -> takv + {-# L #-} + f_aki = + \ x_r3e :: takv + {-# L #-} + x_r3e -> + x_r3e; + } in f_aki +g{-r3r,x-} :: _forall_ + [tale talg talc] + => + tale -> talg -> talc -> talc {-# L #-} -g{-r3v,x-} = - _/\_ t{-anr-} t{-anA-} t{-anC-} -> \ x_r3k :: - t{-anA-} - {-# L #-} - x_r3k y_r3m :: - t{-anC-} - {-# L #-} - y_r3m z_r3o :: - t{-anr-} - {-# L #-} - z_r3o -> - let { - fail_drB :: - t{-anr-} +g{-r3r,x-} = + _/\_ tale talg talc -> + _letrec_ { + g_akx :: tale -> talg -> talc -> talc {-# L #-} - fail_drB = - GHCerr.patError{-8r,p-} - _@_ t{-anr-} _string_ "ds002.hs:11|function `g'" } in - let { fail_drG :: - t{-anr-} - {-# L #-} - fail_drG = - let { - z_r3u :: - t{-anr-} - {-# L #-} - z_r3u = - z_r3o } in - let { - y_r3s :: - t{-anC-} - {-# L #-} - y_r3s = - y_r3m } in - let { - x_r3q :: - t{-anA-} - {-# L #-} - x_r3q = - x_r3k - } in - f{-r3w,x-} - _@_ t{-anr-} z_r3u - } in - f{-r3w,x-} - _@_ t{-anr-} z_r3o + g_akx = + \ x_r3k :: tale + {-# L #-} + x_r3k y_r3l :: talg + {-# L #-} + y_r3l z_r3m :: talc + {-# L #-} + z_r3m -> + let { + fail_dpC :: talc + {-# L #-} + fail_dpC = + GHCerr.patError{-8r,w-} + _@_ talc _string_ "ds002.hs:11|function `g'" } in + let { fail_dpH :: talc + {-# L #-} + fail_dpH = + let { + z_r3q :: talc + {-# L #-} + z_r3q = + z_r3m } in + let { + y_r3p :: talg + {-# L #-} + y_r3p = + y_r3l } in + let { + x_r3o :: tale + {-# L #-} + x_r3o = + x_r3k + } in f{-r3s,x-} _@_ talc z_r3q + } in + f{-r3s,x-} _@_ talc z_r3m; + } in g_akx +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds003.stderr b/ghc/tests/deSugar/should_compile/ds003.stderr index a5f1cb9..7c06692 100644 --- a/ghc/tests/deSugar/should_compile/ds003.stderr +++ b/ghc/tests/deSugar/should_compile/ds003.stderr @@ -2,63 +2,57 @@ ================================================================================ Desugared: -f{-r3C,x-} :: - _forall_ - [t{-aBt-} t{-aBF-} t{-aBI-} t{-aBS-}] - => - [t{-aBt-}] - -> (t{-aBF-}, t{-aBI-}) - -> PrelBase.Bool{-34,p-} - -> [t{-aBS-}] +Rec { +f{-r3v,x-} :: _forall_ + [tayV taz7 taza tazl] + => + [tayV] -> (taz7, taza) -> PrelBase.Bool{-34,W-} -> [tazl] {-# L #-} -f{-r3C,x-} = - _/\_ t{-aBt-} t{-aBF-} t{-aBI-} t{-aBS-} -> \ ds_dGi :: - [t{-aBt-}] - {-# L #-} - ds_dGi y_r3e :: - (t{-aBF-}, t{-aBI-}) - {-# L #-} - y_r3e ds_dGj :: - PrelBase.Bool{-34,p-} - {-# L #-} - ds_dGj -> - let { - fail_dGE :: - [t{-aBS-}] +f{-r3v,x-} = + _/\_ tayV taz7 taza tazl -> + _letrec_ { + f_ayi :: [tayV] + -> (taz7, taza) + -> PrelBase.Bool{-34,W-} + -> [tazl] {-# L #-} - fail_dGE = - case y_r3e of { PrelTup.(,){-62,p-}{i} y_r3k ys_r3l -> - let { - z_r3n :: - PrelBase.Bool{-34,p-} + f_ayi = + \ ds_dDX :: [tayV] {-# L #-} - z_r3n = - ds_dGj } in - let { - a_r3j :: - (t{-aBF-}, t{-aBI-}) - {-# L #-} - a_r3j = - y_r3e } in - let { - x_r3h :: - [t{-aBt-}] - {-# L #-} - x_r3h = - ds_dGi - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-aBS-};} - } in - case ds_dGi of { - PrelBase.:{-55,p-}{i} ds_dGM ds_dGL -> - fail_dGE; - PrelBase.[]{-5i,p-}{i} -> - case ds_dGj of { - PrelBase.False{-58,p-}{i} -> - fail_dGE; - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aBS-}; - }; - } + ds_dDX y_r3d :: (taz7, taza) + {-# L #-} + y_r3d ds_dDY :: PrelBase.Bool{-34,W-} + {-# L #-} + ds_dDY -> + let { + fail_dEj :: [tazl] + {-# L #-} + fail_dEj = + case y_r3d of { PrelTup.(,){-62,w-}{i} y_r3h ys_r3i -> + let { + z_r3j :: PrelBase.Bool{-34,W-} + {-# L #-} + z_r3j = + ds_dDY } in + let { + a_r3g :: (taz7, taza) + {-# L #-} + a_r3g = + y_r3d } in + let { + x_r3f :: [tayV] + {-# L #-} + x_r3f = + ds_dDX + } in PrelBase.[]{-5i,w-}{i} _@_ tazl;} + } in + case ds_dDX of { + PrelBase.:{-55,w-}{i} ds_dEq ds_dEr -> fail_dEj; + PrelBase.[]{-5i,w-}{i} -> + case ds_dDY of { + PrelBase.False{-58,w-}{i} -> fail_dEj; + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ tazl; + }; + }; + } in f_ayi +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds004.stderr b/ghc/tests/deSugar/should_compile/ds004.stderr index 342da36..3f3a8fa 100644 --- a/ghc/tests/deSugar/should_compile/ds004.stderr +++ b/ghc/tests/deSugar/should_compile/ds004.stderr @@ -6,101 +6,73 @@ ds004.hs:6: ================================================================================ Desugared: Rec { -nodups{-r3j,x-} :: - _forall_ - [t{-aGj-}] - => - {PrelBase.Eq{-23,p-} t{-aGj-}} -> [t{-aGj-}] -> [t{-aGj-}] +nodups{-r3j,x-} :: _forall_ + [taBn] + => + {PrelBase.Eq{-23,p-} taBn} -> [taBn] -> [taBn] {-# L #-} nodups{-r3j,x-} = - _/\_ t{-aGj-} -> \ d.Eq_aGz :: - {PrelBase.Eq{-23,p-} t{-aGj-}} - {-# L #-} - d.Eq_aGz -> + _/\_ taBn -> \ d.Eq_aBp :: {PrelBase.Eq{-23,p-} taBn} + {-# L #-} + d.Eq_aBp -> _letrec_ { - ==_aJI :: - t{-aGj-} -> t{-aGj-} -> PrelBase.Bool{-34,p-} + ==_aEE :: taBn -> taBn -> PrelBase.Bool{-34,W-} {-# L #-} - ==_aJI = - PrelBase.=={-8Y,p-} - _@_ t{-aGj-} d.Eq_aGz; - nodups_aG4 :: - [t{-aGj-}] -> [t{-aGj-}] + ==_aEE = + PrelBase.=={-8Y,p-} _@_ taBn d.Eq_aBp; + nodups_aAN :: [taBn] -> [taBn] {-# L #-} - nodups_aG4 = - \ ds_dK8 :: - [t{-aGj-}] + nodups_aAN = + \ ds_dF4 :: [taBn] {-# L #-} - ds_dK8 -> + ds_dF4 -> let { - fail_dK9 :: - [t{-aGj-}] + fail_dF5 :: [taBn] {-# L #-} - fail_dK9 = - GHCerr.patError{-8r,p-} - _@_ [t{-aGj-}] _string_ "ds004.hs:6|function `nodups'" + fail_dF5 = + GHCerr.patError{-8r,w-} + _@_ [taBn] _string_ "ds004.hs:6|function `nodups'" } in - case ds_dK8 of { - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aGj-}; - PrelBase.:{-55,p-}{i} x_r3e ds_dKq -> - case ds_dKq of { - PrelBase.[]{-5i,p-}{i} -> + case ds_dF4 of { + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taBn; + PrelBase.:{-55,w-}{i} x_r3e ds_dFm -> + case ds_dFm of { + PrelBase.[]{-5i,w-}{i} -> let { - ds_dKG :: - [t{-aGj-}] + ds_dFC :: [taBn] {-# L #-} - ds_dKG = - PrelBase.[]{-5i,p-}{i} - {_@_ t{-aGj-}} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-aGj-} x_r3e ds_dKG}; - PrelBase.:{-55,p-}{i} x_r3h xs_r3i -> + ds_dFC = + PrelBase.[]{-5i,w-}{i} {_@_ taBn} + } in PrelBase.:{-55,w-}{i} {_@_ taBn x_r3e ds_dFC}; + PrelBase.:{-55,w-}{i} x_r3h xs_r3i -> let { - y_r3g :: - t{-aGj-} + y_r3g :: taBn {-# L #-} y_r3g = x_r3e } in - case - ==_aJI - y_r3g x_r3h - of { - PrelBase.True{-5E,p-}{i} -> + case ==_aEE y_r3g x_r3h of { + PrelBase.True{-5E,w-}{i} -> let { - ds_dLd :: - [t{-aGj-}] + ds_dG9 :: [taBn] {-# L #-} - ds_dLd = - PrelBase.:{-55,p-}{i} - _@_ t{-aGj-} x_r3h xs_r3i - } in - nodups_aG4 - ds_dLd; - PrelBase.False{-58,p-}{i} -> - let { ds_dLF :: - [t{-aGj-}] + ds_dG9 = + PrelBase.:{-55,w-}{i} _@_ taBn x_r3h xs_r3i + } in nodups_aAN ds_dG9; + PrelBase.False{-58,w-}{i} -> + let { ds_dGB :: [taBn] {-# L #-} - ds_dLF = + ds_dGB = let { - ds_dLN :: - [t{-aGj-}] + ds_dGJ :: [taBn] {-# L #-} - ds_dLN = - PrelBase.:{-55,p-}{i} - _@_ t{-aGj-} x_r3h xs_r3i - } in - nodups_aG4 - ds_dLN + ds_dGJ = + PrelBase.:{-55,w-}{i} _@_ taBn x_r3h xs_r3i + } in nodups_aAN ds_dGJ } in - PrelBase.:{-55,p-}{i} - _@_ t{-aGj-} y_r3g ds_dLF; + PrelBase.:{-55,w-}{i} _@_ taBn y_r3g ds_dGB; }; }; }; - } in - nodups_aG4 + } in nodups_aAN end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds005.stderr b/ghc/tests/deSugar/should_compile/ds005.stderr index 75f16db..6b6de79 100644 --- a/ghc/tests/deSugar/should_compile/ds005.stderr +++ b/ghc/tests/deSugar/should_compile/ds005.stderr @@ -6,200 +6,146 @@ ds005.hs:13: ================================================================================ Desugared: Rec { -mappairs'{-r3O,x-} :: - _forall_ - [t{-anl-} t{-anv-} t{-anx-}] - => - (t{-anl-} -> t{-anv-} -> t{-anx-}) - -> [t{-anl-}] - -> [t{-anv-}] - -> [t{-anx-}] +mappairs'{-r3C,x-} :: _forall_ + [tal0 tal6 tala] + => + (tal0 -> tal6 -> tala) -> [tal0] -> [tal6] -> [tala] {-# L #-} -mappairs'{-r3O,x-} = - _/\_ t{-anl-} t{-anv-} t{-anx-} -> +mappairs'{-r3C,x-} = + _/\_ tal0 tal6 tala -> _letrec_ { - mappairs'_anf :: - (t{-anl-} -> t{-anv-} -> t{-anx-}) - -> [t{-anl-}] - -> [t{-anv-}] - -> [t{-anx-}] + mappairs'_akt :: (tal0 -> tal6 -> tala) + -> [tal0] + -> [tal6] + -> [tala] {-# L #-} - mappairs'_anf = - \ f_r3x :: - t{-anl-} -> t{-anv-} -> t{-anx-} + mappairs'_akt = + \ f_r3r :: tal0 -> tal6 -> tala {-# L #-} - f_r3x ds_duS :: - [t{-anl-}] + f_r3r ds_dsz :: [tal0] {-# L #-} - ds_duS ys_r3A :: - [t{-anv-}] + ds_dsz ys_r3s :: [tal6] {-# L #-} - ys_r3A -> + ys_r3s -> let { - fail_duT :: - [t{-anx-}] + fail_dsE :: [tala] {-# L #-} - fail_duT = - GHCerr.patError{-8r,p-} - _@_ [t{-anx-}] _string_ "ds005.hs:13|function `mappairs''" } in - let { fail_dwj :: - [t{-anx-}] + fail_dsE = + GHCerr.patError{-8r,w-} + _@_ [tala] _string_ "ds005.hs:13|function `mappairs''" } in + let { fail_du4 :: [tala] {-# L #-} - fail_dwj = + fail_du4 = let { - fail_dvV :: - [t{-anx-}] + fail_dtG :: [tala] {-# L #-} - fail_dvV = - case ds_duS of { - PrelBase.[]{-5i,p-}{i} -> - fail_duT; - PrelBase.:{-55,p-}{i} x_r3J xs_r3K -> - case ys_r3A of { - PrelBase.[]{-5i,p-}{i} -> - fail_duT; - PrelBase.:{-55,p-}{i} y_r3M ys_r3N -> + fail_dtG = + case ds_dsz of { + PrelBase.[]{-5i,w-}{i} -> fail_dsE; + PrelBase.:{-55,w-}{i} x_r3y xs_r3z -> + case ys_r3s of { + PrelBase.[]{-5i,w-}{i} -> fail_dsE; + PrelBase.:{-55,w-}{i} y_r3A ys_r3B -> let { - f_r3H :: - t{-anl-} -> t{-anv-} -> t{-anx-} + f_r3x :: tal0 -> tal6 -> tala {-# L #-} - f_r3H = - f_r3x } in + f_r3x = + f_r3r } in let { - ds_dvr :: - t{-anx-} + ds_dtc :: tala {-# L #-} - ds_dvr = - f_r3H - x_r3J y_r3M } in + ds_dtc = + f_r3x x_r3y y_r3A } in let { - ds_dvv :: - [t{-anx-}] + ds_dtg :: [tala] {-# L #-} - ds_dvv = - mappairs'_anf - f_r3H xs_r3K ys_r3N - } in - PrelBase.:{-55,p-}{i} - _@_ t{-anx-} ds_dvr ds_dvv; + ds_dtg = + mappairs'_akt f_r3x xs_r3z ys_r3B + } in PrelBase.:{-55,w-}{i} _@_ tala ds_dtc ds_dtg; }; } } in - case ys_r3A of { - PrelBase.:{-55,p-}{i} ds_dw3 ds_dw2 -> - fail_dvV; - PrelBase.[]{-5i,p-}{i} -> + case ys_r3s of { + PrelBase.:{-55,w-}{i} ds_dtN ds_dtO -> fail_dtG; + PrelBase.[]{-5i,w-}{i} -> let { - x_r3E :: - [t{-anl-}] + x_r3v :: [tal0] {-# L #-} - x_r3E = - ds_duS } in + x_r3v = + ds_dsz } in let { - f_r3C :: - t{-anl-} -> t{-anv-} -> t{-anx-} + f_r3u :: tal0 -> tal6 -> tala {-# L #-} - f_r3C = - f_r3x - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-anx-}; + f_r3u = + f_r3r + } in PrelBase.[]{-5i,w-}{i} _@_ tala; } } in - case ds_duS of { - PrelBase.:{-55,p-}{i} ds_dwr ds_dwq -> - fail_dwj; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-anx-}; + case ds_dsz of { + PrelBase.:{-55,w-}{i} ds_dub ds_duc -> fail_du4; + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ tala; }; - } in - mappairs'_anf -end Rec } -Rec { -mappairs{-r3P,x-} :: - _forall_ - [t{-aoc-} t{-aoh-} t{-aoj-}] - => - (t{-aoc-} -> t{-aoh-} -> t{-aoj-}) - -> [t{-aoc-}] - -> [t{-aoh-}] - -> [t{-aoj-}] + } in mappairs'_akt +mappairs{-r3D,x-} :: _forall_ + [talU tam0 tam4] + => + (talU -> tam0 -> tam4) -> [talU] -> [tam0] -> [tam4] {-# L #-} -mappairs{-r3P,x-} = - _/\_ t{-aoc-} t{-aoh-} t{-aoj-} -> +mappairs{-r3D,x-} = + _/\_ talU tam0 tam4 -> _letrec_ { - mappairs_anX :: - (t{-aoc-} -> t{-aoh-} -> t{-aoj-}) - -> [t{-aoc-}] - -> [t{-aoh-}] - -> [t{-aoj-}] + mappairs_alj :: (talU -> tam0 -> tam4) + -> [talU] + -> [tam0] + -> [tam4] {-# L #-} - mappairs_anX = - \ f_r3e :: - t{-aoc-} -> t{-aoh-} -> t{-aoj-} + mappairs_alj = + \ f_r3e :: talU -> tam0 -> tam4 {-# L #-} - f_r3e ds_dx4 :: - [t{-aoc-}] + f_r3e ds_duF :: [talU] {-# L #-} - ds_dx4 ys_r3h :: - [t{-aoh-}] + ds_duF ys_r3f :: [tam0] {-# L #-} - ys_r3h -> - case ds_dx4 of { - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aoj-}; - PrelBase.:{-55,p-}{i} x_r3l xs_r3m -> - case ys_r3h of { - PrelBase.[]{-5i,p-}{i} -> + ys_r3f -> + case ds_duF of { + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ tam4; + PrelBase.:{-55,w-}{i} x_r3i xs_r3j -> + case ys_r3f of { + PrelBase.[]{-5i,w-}{i} -> let { - f_r3j :: - t{-aoc-} -> t{-aoh-} -> t{-aoj-} + f_r3h :: talU -> tam0 -> tam4 {-# L #-} - f_r3j = + f_r3h = f_r3e - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-aoj-}; - PrelBase.:{-55,p-}{i} y_r3u ys_r3v -> + } in PrelBase.[]{-5i,w-}{i} _@_ tam4; + PrelBase.:{-55,w-}{i} y_r3o ys_r3p -> let { - xs_r3s :: - [t{-aoc-}] + xs_r3n :: [talU] {-# L #-} - xs_r3s = - xs_r3m } in + xs_r3n = + xs_r3j } in let { - x_r3r :: - t{-aoc-} + x_r3m :: talU {-# L #-} - x_r3r = - x_r3l } in + x_r3m = + x_r3i } in let { - f_r3p :: - t{-aoc-} -> t{-aoh-} -> t{-aoj-} + f_r3l :: talU -> tam0 -> tam4 {-# L #-} - f_r3p = + f_r3l = f_r3e } in let { - ds_dxR :: - t{-aoj-} + ds_dvs :: tam4 {-# L #-} - ds_dxR = - f_r3p - x_r3r y_r3u } in + ds_dvs = + f_r3l x_r3m y_r3o } in let { - ds_dxV :: - [t{-aoj-}] + ds_dvw :: [tam4] {-# L #-} - ds_dxV = - mappairs_anX - f_r3p xs_r3s ys_r3v - } in - PrelBase.:{-55,p-}{i} - _@_ t{-aoj-} ds_dxR ds_dxV; + ds_dvw = + mappairs_alj f_r3l xs_r3n ys_r3p + } in PrelBase.:{-55,w-}{i} _@_ tam4 ds_dvs ds_dvw; }; }; - } in - mappairs_anX + } in mappairs_alj end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds006.stderr b/ghc/tests/deSugar/should_compile/ds006.stderr index c6358f3..588a5dd 100644 --- a/ghc/tests/deSugar/should_compile/ds006.stderr +++ b/ghc/tests/deSugar/should_compile/ds006.stderr @@ -3,53 +3,26 @@ ================================================================================ Desugared: Rec { -d.Num_aHu :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} +v_aBI :: PrelBase.Int{-3g,W-} {-# L #-} -d.Num_aHu = - PrelBase.$d3{-rb1,p-} -+_aJy :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} +v_aBI = + +_aDM v_aBI lit_aDN +v{-r1,x-} :: PrelBase.Int{-3g,W-} {-# L #-} -+_aJy = - PrelBase.+{-ras,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_aHu -d.Num_aHy :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Num_aHy = - d.Num_aHu -fromInt_aJG :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_aJG = - PrelBase.fromInt{-8R,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_aHy -lit_aJF :: - PrelBase.Int{-3g,p-} +v{-r1,x-} = + v_aBI +d.Num_aC2 :: {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,W-}} {-# L #-} -lit_aJF = - let { - ds_dKi :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_dKi = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_aJG - ds_dKi -v_aHa :: - PrelBase.Int{-3g,p-} +d.Num_aC2 = + PrelBase.$d4{-rao,p-} ++_aDM :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} {-# L #-} -v_aHa = - +_aJy - v_aHa lit_aJF -v{-r1,x-} :: - PrelBase.Int{-3g,p-} ++_aDM = + PrelBase.+{-r9E,p-} _@_ PrelBase.Int{-3g,W-} d.Num_aC2 +lit_aDN :: PrelBase.Int{-3g,W-} {-# L #-} -v{-r1,x-} = - v_aHa +lit_aDN = + PrelBase.I#{-5b,w-}{i} 1 end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds007.stderr b/ghc/tests/deSugar/should_compile/ds007.stderr index 32cef47..016812a 100644 --- a/ghc/tests/deSugar/should_compile/ds007.stderr +++ b/ghc/tests/deSugar/should_compile/ds007.stderr @@ -2,27 +2,25 @@ ================================================================================ Desugared: -w{-r3f,x-} :: - _forall_ [t{-amV-}] => [t{-amV-}] +Rec { +w{-r3f,x-} :: _forall_ [takl] => [takl] {-# L #-} w{-r3f,x-} = - _/\_ t{-amV-} -> - let { - y_r3e :: - _forall_ [t{-amM-}] => [t{-amM-}] + _/\_ takl -> + _letrec_ { + w_ak8 :: [takl] {-# L #-} - y_r3e = - _/\_ t{-amM-} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-amM-} } in - let { - a_r3d :: - _forall_ [t{-amT-}] => [t{-amT-}] - {-# L #-} - a_r3d = - _/\_ t{-amT-} -> - y_r3e - _@_ t{-amT-} - } in - a_r3d - _@_ t{-amV-} + w_ak8 = + let { + y_r3e :: _forall_ [takc] => [takc] + {-# L #-} + y_r3e = + _/\_ takc -> PrelBase.[]{-5i,w-}{i} _@_ takc } in + let { + a_r3d :: _forall_ [takj] => [takj] + {-# L #-} + a_r3d = + _/\_ takj -> y_r3e _@_ takj + } in a_r3d _@_ takl; + } in w_ak8 +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds008.stderr b/ghc/tests/deSugar/should_compile/ds008.stderr index 7ca5532..efe8c70 100644 --- a/ghc/tests/deSugar/should_compile/ds008.stderr +++ b/ghc/tests/deSugar/should_compile/ds008.stderr @@ -3,114 +3,93 @@ ================================================================================ Desugared: Rec { -d.Num_aY4 :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} +f{-r3i,x-} :: _forall_ [taRU taRS] => taRU -> [taRS] {-# L #-} -d.Num_aY4 = - PrelBase.$d3{-rbb,p-} -fromInt_a117 :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_a117 = - PrelBase.fromInt{-8R,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_aY4 -lit_a11e :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a11e = - let { - ds_d11D :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d11D = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_a117 - ds_d11D -f{-r3m,x-} :: - _forall_ [t{-aXj-} t{-aXh-}] => t{-aXj-} -> [t{-aXh-}] -{-# L #-} -f{-r3m,x-} = - _/\_ t{-aXj-} t{-aXh-} -> \ x_r3f :: - t{-aXj-} - {-# L #-} - x_r3f -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aXh-} -g{-r3l,x-} :: - _forall_ - [t{-aXD-} t{-aXv-} t{-aXx-} t{-aXz-} t{-aXB-}] - => - t{-aXD-} -> ([t{-aXv-}], [t{-aXx-}], [t{-aXz-}], [t{-aXB-}]) -{-# L #-} -g{-r3l,x-} = - _/\_ t{-aXD-} t{-aXv-} t{-aXx-} t{-aXz-} t{-aXB-} -> \ x_r3h :: - t{-aXD-} - {-# L #-} - x_r3h -> - let { ds_d12o :: - [t{-aXv-}] - {-# L #-} - ds_d12o = - let { - ds_d12M :: - [GHC.Void{-3T,p-}] - {-# L #-} - ds_d12M = - PrelBase.[]{-5i,p-}{i} - _@_ GHC.Void{-3T,p-} - } in - f{-r3m,x-} - _@_ [GHC.Void{-3T,p-}] _@_ t{-aXv-} ds_d12M - } in - let { - ds_d12s :: - [t{-aXx-}] +f{-r3i,x-} = + _/\_ taRU taRS -> + _letrec_ { + f_aRJ :: taRU -> [taRS] {-# L #-} - ds_d12s = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aXx-} } in - let { - ds_d12w :: - [t{-aXz-}] + f_aRJ = + \ x_r3f :: taRU + {-# L #-} + x_r3f -> + PrelBase.[]{-5i,w-}{i} _@_ taRS; + } in f_aRJ +g{-r3m,x-} :: _forall_ + [taSp taSe taSj taSl taSn] + => + taSp -> ([taSe], [taSj], [taSl], [taSn]) +{-# L #-} +g{-r3m,x-} = + _/\_ taSp taSe taSj taSl taSn -> + _letrec_ { + g_aRW :: taSp -> ([taSe], [taSj], [taSl], [taSn]) {-# L #-} - ds_d12w = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aXz-} } in - let { - ds_d12A :: - [t{-aXB-}] + g_aRW = + \ x_r3h :: taSp + {-# L #-} + x_r3h -> + let { ds_dWB :: [taSe] + {-# L #-} + ds_dWB = + let { + ds_dWZ :: [GHC.Void{-3T,W-}] + {-# L #-} + ds_dWZ = + PrelBase.[]{-5i,w-}{i} _@_ GHC.Void{-3T,W-} + } in f{-r3i,x-} _@_ [GHC.Void{-3T,W-}] _@_ taSe ds_dWZ + } in + let { + ds_dWF :: [taSj] + {-# L #-} + ds_dWF = + PrelBase.[]{-5i,w-}{i} _@_ taSj } in + let { + ds_dWJ :: [taSl] + {-# L #-} + ds_dWJ = + PrelBase.[]{-5i,w-}{i} _@_ taSl } in + let { + ds_dWN :: [taSn] + {-# L #-} + ds_dWN = + PrelBase.[]{-5i,w-}{i} _@_ taSn + } in + PrelTup.(,,,){-64,w-}{i} + {_@_ [taSe] + _@_ [taSj] + _@_ [taSl] + _@_ [taSn] + ds_dWB + ds_dWF + ds_dWJ + ds_dWN}; + } in g_aRW +h{-r3l,x-} :: _forall_ + [taSM taSB taSD taSF taSH] + => + taSM -> ([taSB], [taSD], [taSF], [taSH]) +{-# L #-} +h{-r3l,x-} = + _/\_ taSM taSB taSD taSF taSH -> + _letrec_ { + h_aSr :: taSM -> ([taSB], [taSD], [taSF], [taSH]) {-# L #-} - ds_d12A = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aXB-} - } in - PrelTup.(,,,){-64,p-}{i} - {_@_ [t{-aXv-}] - _@_ [t{-aXx-}] - _@_ [t{-aXz-}] - _@_ [t{-aXB-}] - ds_d12o - ds_d12s - ds_d12w - ds_d12A} -h{-r3k,x-} :: - _forall_ - [t{-aY0-} t{-aXS-} t{-aXT-} t{-aXU-} t{-aXV-}] - => - t{-aY0-} -> ([t{-aXS-}], [t{-aXT-}], [t{-aXU-}], [t{-aXV-}]) + h_aSr = + \ x_r3k :: taSM + {-# L #-} + x_r3k -> + g{-r3m,x-} + _@_ PrelBase.Int{-3g,W-} + _@_ taSB + _@_ taSD + _@_ taSF + _@_ taSH + lit_aVP; + } in h_aSr +lit_aVP :: PrelBase.Int{-3g,W-} {-# L #-} -h{-r3k,x-} = - _/\_ t{-aY0-} t{-aXS-} t{-aXT-} t{-aXU-} t{-aXV-} -> \ x_r3j :: - t{-aY0-} - {-# L #-} - x_r3j -> - g{-r3l,x-} - _@_ PrelBase.Int{-3g,p-} - _@_ t{-aXS-} - _@_ t{-aXT-} - _@_ t{-aXU-} - _@_ t{-aXV-} - lit_a11e +lit_aVP = + PrelBase.I#{-5b,w-}{i} 1 end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds009.stderr b/ghc/tests/deSugar/should_compile/ds009.stderr index 22fcc6f..7e9749f 100644 --- a/ghc/tests/deSugar/should_compile/ds009.stderr +++ b/ghc/tests/deSugar/should_compile/ds009.stderr @@ -2,480 +2,349 @@ ================================================================================ Desugared: -j{-r3R,x-} :: - _forall_ - [t{-aXD-} t{-aXG-} t{-aXJ-} t{-aXM-} a{-aXO-}] - => - {PrelBase.Monad{-28,p-} a{-aXO-}} - -> a{-aXO-} (t{-aXD-}, t{-aXG-}, t{-aXJ-}, t{-aXM-}) - -> a{-aXO-} (t{-aXD-}, t{-aXG-}) +Rec { +j{-r3O,x-} :: _forall_ + [taS7 taSa aaSb taSf taSh] + => + {PrelBase.Monad{-28,p-} aaSb} + -> aaSb (taSf, taSh, taS7, taSa) + -> aaSb (taSf, taSh) {-# L #-} -j{-r3R,x-} = - _/\_ t{-aXD-} t{-aXG-} t{-aXJ-} t{-aXM-} a{-aXO-} -> \ d.Monad_aXY :: - {PrelBase.Monad{-28,p-} a{-aXO-}} - {-# L #-} - d.Monad_aXY -> - let { - >>=_a1c0 :: - _forall_ - [rjI{-a107-} rjJ{-a106-}] - => - a{-aXO-} rjI{-a107-} - -> (rjI{-a107-} -> a{-aXO-} rjJ{-a106-}) - -> a{-aXO-} rjJ{-a106-} +j{-r3O,x-} = + _/\_ taS7 taSa aaSb taSf taSh -> \ d.Monad_aSr :: {PrelBase.Monad{-28,p-} aaSb} + {-# L #-} + d.Monad_aSr -> + _letrec_ { + >>=_a17B :: _forall_ + [taVi taVh] + => + aaSb taVi -> (taVi -> aaSb taVh) -> aaSb taVh {-# L #-} - >>=_a1c0 = - PrelBase.>>={-811,p-} - _@_ a{-aXO-} d.Monad_aXY } in - let { - d.Monad_aY0 :: - {PrelBase.Monad{-28,p-} a{-aXO-}} + >>=_a17B = + PrelBase.>>={-811,p-} _@_ aaSb d.Monad_aSr; + d.Monad_aSt :: {PrelBase.Monad{-28,p-} aaSb} {-# L #-} - d.Monad_aY0 = - d.Monad_aXY } in - let { - return_a1bZ :: - _forall_ [rjQ{-a108-}] => rjQ{-a108-} -> a{-aXO-} rjQ{-a108-} + d.Monad_aSt = + d.Monad_aSr; + return_a17I :: _forall_ [taVj] => taVj -> aaSb taVj {-# L #-} - return_a1bZ = - PrelBase.return{-816,p-} - _@_ a{-aXO-} d.Monad_aY0 - } in - \ xs_r3L :: - a{-aXO-} (t{-aXD-}, t{-aXG-}, t{-aXJ-}, t{-aXM-}) - {-# L #-} - xs_r3L -> - let { - ds_d1cw :: - (t{-aXD-}, t{-aXG-}, t{-aXJ-}, t{-aXM-}) - -> a{-aXO-} (t{-aXD-}, t{-aXG-}) + return_a17I = + PrelBase.return{-816,p-} _@_ aaSb d.Monad_aSt; + j_aRN :: aaSb (taSf, taSh, taS7, taSa) -> aaSb (taSf, taSh) + {-# L #-} + j_aRN = + \ xs_r3I :: aaSb (taSf, taSh, taS7, taSa) {-# L #-} - ds_d1cw = - \ ds_d1cC :: - (t{-aXD-}, t{-aXG-}, t{-aXJ-}, t{-aXM-}) - {-# L #-} - ds_d1cC -> - case - ds_d1cC - of { - PrelTup.(,,,){-64,p-}{i} a_r3N b_r3O c_r3P d_r3Q -> - let { - ds_d1cQ :: - (t{-aXD-}, t{-aXG-}) + xs_r3I -> + let { + ds_d18A :: (taSf, taSh, taS7, taSa) -> aaSb (taSf, taSh) + {-# L #-} + ds_d18A = + \ ds_d18G :: (taSf, taSh, taS7, taSa) {-# L #-} - ds_d1cQ = - PrelTup.(,){-62,p-}{i} - {_@_ t{-aXD-} _@_ t{-aXG-} a_r3N b_r3O} - } in - return_a1bZ - _@_ (t{-aXD-}, t{-aXG-}) ds_d1cQ;} - } in - >>=_a1c0 - _@_ (t{-aXD-}, t{-aXG-}, t{-aXJ-}, t{-aXM-}) - _@_ (t{-aXD-}, t{-aXG-}) - xs_r3L - ds_d1cw -i{-r3S,x-} :: - _forall_ - [a{-aYh-} t{-aYm-} t{-aYo-}] - => - {PrelBase.Eq{-23,p-} t{-aYm-}} - -> {PrelBase.Eq{-23,p-} t{-aYo-}} - -> {PrelBase.MonadZero{-29,p-} a{-aYh-}} - -> a{-aYh-} ([t{-aYm-}], [t{-aYo-}]) - -> a{-aYh-} [t{-aYm-}] + ds_d18G -> + case + ds_d18G + of { + PrelTup.(,,,){-64,w-}{i} a_r3K b_r3L c_r3M d_r3N -> + let { + ds_d18U :: (taSf, taSh) + {-# L #-} + ds_d18U = + PrelTup.(,){-62,w-}{i} {_@_ taSf _@_ taSh a_r3K b_r3L} + } in return_a17I _@_ (taSf, taSh) ds_d18U;} + } in + >>=_a17B + _@_ (taSf, taSh, taS7, taSa) _@_ (taSf, taSh) xs_r3I ds_d18A; + } in j_aRN +i{-r3P,x-} :: _forall_ + [aaSN taSX taSZ] + => + {PrelBase.Eq{-23,p-} taSX} + -> {PrelBase.Eq{-23,p-} taSZ} + -> {PrelBase.MonadZero{-29,p-} aaSN} + -> aaSN ([taSX], [taSZ]) + -> aaSN [taSX] {-# L #-} -i{-r3S,x-} = - _/\_ a{-aYh-} t{-aYm-} t{-aYo-} -> \ d.Eq_aYC :: - {PrelBase.Eq{-23,p-} t{-aYm-}} - {-# L #-} - d.Eq_aYC d.Eq_aYF :: - {PrelBase.Eq{-23,p-} t{-aYo-}} - {-# L #-} - d.Eq_aYF d.MonadZero_aYL :: - {PrelBase.MonadZero{-29,p-} a{-aYh-}} - {-# L #-} - d.MonadZero_aYL -> - let { - d.Monad_aYH :: - {PrelBase.Monad{-28,p-} a{-aYh-}} +i{-r3P,x-} = + _/\_ aaSN taSX taSZ -> \ d.Eq_aTf :: {PrelBase.Eq{-23,p-} taSX} + {-# L #-} + d.Eq_aTf d.Eq_aTi :: {PrelBase.Eq{-23,p-} taSZ} + {-# L #-} + d.Eq_aTi d.MonadZero_aTo :: {PrelBase.MonadZero{-29,p-} aaSN} + {-# L #-} + d.MonadZero_aTo -> + _letrec_ { + d.Monad_aTk :: {PrelBase.Monad{-28,p-} aaSN} + {-# L #-} + d.Monad_aTk = + PrelBase.scsel_MonadZeroPrelBaseMonad{-a19C,p-} + _@_ aaSN d.MonadZero_aTo; + d.Eq_aTd :: {PrelBase.Eq{-23,p-} [taSX]} {-# L #-} - d.Monad_aYH = - PrelBase.scsel_MonadZeroPrelBaseMonad{-a1dR,p-} - _@_ a{-aYh-} d.MonadZero_aYL } in - let { - d.Eq_aYA :: - {PrelBase.Eq{-23,p-} [t{-aYm-}]} + d.Eq_aTd = + PrelBase.$d28{-rpK,p-} _@_ taSX d.Eq_aTf; + d.Eq_aTg :: {PrelBase.Eq{-23,p-} [taSZ]} {-# L #-} - d.Eq_aYA = - PrelBase.$d27{-rqA,p-} - _@_ t{-aYm-} d.Eq_aYC } in - let { - d.Eq_aYD :: - {PrelBase.Eq{-23,p-} [t{-aYo-}]} + d.Eq_aTg = + PrelBase.$d28{-rpK,p-} _@_ taSZ d.Eq_aTi; + d.Eq_aTb :: {PrelBase.Eq{-23,p-} ([taSX], [taSZ])} {-# L #-} - d.Eq_aYD = - PrelBase.$d27{-rqA,p-} - _@_ t{-aYo-} d.Eq_aYF } in - let { - d.Eq_aYy :: - {PrelBase.Eq{-23,p-} ([t{-aYm-}], [t{-aYo-}])} + d.Eq_aTb = + PrelTup.$d9{-rpg,p-} _@_ [taSX] _@_ [taSZ] d.Eq_aTd d.Eq_aTg; + ==_a19w :: ([taSX], [taSZ]) + -> ([taSX], [taSZ]) + -> PrelBase.Bool{-34,W-} {-# L #-} - d.Eq_aYy = - PrelTup.$d9{-rq7,p-} - _@_ [t{-aYm-}] _@_ [t{-aYo-}] d.Eq_aYA d.Eq_aYD } in - let { - ==_a1dH :: - ([t{-aYm-}], [t{-aYo-}]) - -> ([t{-aYm-}], [t{-aYo-}]) - -> PrelBase.Bool{-34,p-} + ==_a19w = + PrelBase.=={-8Y,p-} _@_ ([taSX], [taSZ]) d.Eq_aTb; + >>=_a19x :: _forall_ + [taVl taVk] + => + aaSN taVl -> (taVl -> aaSN taVk) -> aaSN taVk {-# L #-} - ==_a1dH = - PrelBase.=={-8Y,p-} - _@_ ([t{-aYm-}], [t{-aYo-}]) d.Eq_aYy } in - let { - >>=_a1dG :: - _forall_ - [rjI{-a10a-} rjJ{-a109-}] - => - a{-aYh-} rjI{-a10a-} - -> (rjI{-a10a-} -> a{-aYh-} rjJ{-a109-}) - -> a{-aYh-} rjJ{-a109-} + >>=_a19x = + PrelBase.>>={-811,p-} _@_ aaSN d.Monad_aTk; + d.Monad_aTm :: {PrelBase.Monad{-28,p-} aaSN} {-# L #-} - >>=_a1dG = - PrelBase.>>={-811,p-} - _@_ a{-aYh-} d.Monad_aYH } in - let { - d.Monad_aYJ :: - {PrelBase.Monad{-28,p-} a{-aYh-}} + d.Monad_aTm = + d.Monad_aTk; + return_a19y :: _forall_ [taVm] => taVm -> aaSN taVm {-# L #-} - d.Monad_aYJ = - d.Monad_aYH } in - let { - return_a1dF :: - _forall_ [rjQ{-a10b-}] => rjQ{-a10b-} -> a{-aYh-} rjQ{-a10b-} + return_a19y = + PrelBase.return{-816,p-} _@_ aaSN d.Monad_aTm; + zero_a19z :: _forall_ [taVn] => aaSN taVn {-# L #-} - return_a1dF = - PrelBase.return{-816,p-} - _@_ a{-aYh-} d.Monad_aYJ } in - let { - zero_a1dE :: - _forall_ [rjD{-a10c-}] => a{-aYh-} rjD{-a10c-} + zero_a19z = + PrelBase.zero{-810,p-} _@_ aaSN d.MonadZero_aTo; + i_aSv :: aaSN ([taSX], [taSZ]) -> aaSN [taSX] {-# L #-} - zero_a1dE = - PrelBase.zero{-810,p-} - _@_ a{-aYh-} d.MonadZero_aYL - } in - \ xs_r3F :: - a{-aYh-} ([t{-aYm-}], [t{-aYo-}]) - {-# L #-} - xs_r3F -> - let { - ds_d1f5 :: - ([t{-aYm-}], [t{-aYo-}]) -> a{-aYh-} [t{-aYm-}] + i_aSv = + \ xs_r3C :: aaSN ([taSX], [taSZ]) {-# L #-} - ds_d1f5 = - \ all_r3H :: - ([t{-aYm-}], [t{-aYo-}]) - {-# L #-} - all_r3H -> - case all_r3H of { PrelTup.(,){-62,p-}{i} x_r3I y_r3J -> - case - let { ds_d1fr :: - ([t{-aYm-}], [t{-aYo-}]) - {-# L #-} - ds_d1fr = - let { - ds_d1fE :: - [t{-aYm-}] - {-# L #-} - ds_d1fE = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aYm-} } in - let { - ds_d1fI :: - [t{-aYo-}] - {-# L #-} - ds_d1fI = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aYo-} - } in - PrelTup.(,){-62,p-}{i} - {_@_ [t{-aYm-}] _@_ [t{-aYo-}] ds_d1fE ds_d1fI} - } in - ==_a1dH - all_r3H ds_d1fr - of { - PrelBase.True{-5E,p-}{i} -> - return_a1dF - _@_ [t{-aYm-}] x_r3I; - PrelBase.False{-58,p-}{i} -> - zero_a1dE - _@_ [t{-aYm-}]; - };} - } in - >>=_a1dG - _@_ ([t{-aYm-}], [t{-aYo-}]) _@_ [t{-aYm-}] xs_r3F ds_d1f5 -h{-r3T,x-} :: - _forall_ - [a{-aYU-} t{-aYZ-}] - => - {PrelBase.MonadZero{-29,p-} a{-aYU-}} - -> a{-aYU-} t{-aYZ-} - -> a{-aYU-} t{-aYZ-} - -> a{-aYU-} [t{-aYZ-}] + xs_r3C -> + let { + ds_d1br :: ([taSX], [taSZ]) -> aaSN [taSX] + {-# L #-} + ds_d1br = + \ all_r3E :: ([taSX], [taSZ]) + {-# L #-} + all_r3E -> + case all_r3E of { PrelTup.(,){-62,w-}{i} x_r3F y_r3G -> + case + let { ds_d1bN :: ([taSX], [taSZ]) + {-# L #-} + ds_d1bN = + let { + ds_d1c0 :: [taSX] + {-# L #-} + ds_d1c0 = + PrelBase.[]{-5i,w-}{i} _@_ taSX } in + let { + ds_d1c4 :: [taSZ] + {-# L #-} + ds_d1c4 = + PrelBase.[]{-5i,w-}{i} _@_ taSZ + } in + PrelTup.(,){-62,w-}{i} {_@_ [taSX] _@_ [taSZ] ds_d1c0 ds_d1c4} + } in + ==_a19w all_r3E ds_d1bN + of { + PrelBase.True{-5E,w-}{i} -> return_a19y _@_ [taSX] x_r3F; + PrelBase.False{-58,w-}{i} -> zero_a19z _@_ [taSX]; + };} + } in >>=_a19x _@_ ([taSX], [taSZ]) _@_ [taSX] xs_r3C ds_d1br; + } in i_aSv +h{-r3Q,x-} :: _forall_ + [aaTE taTN] + => + {PrelBase.MonadZero{-29,p-} aaTE} + -> aaTE taTN + -> aaTE taTN + -> aaTE [taTN] {-# L #-} -h{-r3T,x-} = - _/\_ a{-aYU-} t{-aYZ-} -> \ d.MonadZero_aZd :: - {PrelBase.MonadZero{-29,p-} a{-aYU-}} - {-# L #-} - d.MonadZero_aZd -> - let { - d.Monad_aZ9 :: - {PrelBase.Monad{-28,p-} a{-aYU-}} +h{-r3Q,x-} = + _/\_ aaTE taTN -> \ d.MonadZero_aU1 :: {PrelBase.MonadZero{-29,p-} aaTE} + {-# L #-} + d.MonadZero_aU1 -> + _letrec_ { + d.Monad_aTX :: {PrelBase.Monad{-28,p-} aaTE} + {-# L #-} + d.Monad_aTX = + PrelBase.scsel_MonadZeroPrelBaseMonad{-a19C,p-} + _@_ aaTE d.MonadZero_aU1; + >>=_a1cX :: _forall_ + [taVp taVo] + => + aaTE taVp -> (taVp -> aaTE taVo) -> aaTE taVo {-# L #-} - d.Monad_aZ9 = - PrelBase.scsel_MonadZeroPrelBaseMonad{-a1dR,p-} - _@_ a{-aYU-} d.MonadZero_aZd } in - let { - >>=_a1gH :: - _forall_ - [rjI{-a10e-} rjJ{-a10d-}] - => - a{-aYU-} rjI{-a10e-} - -> (rjI{-a10e-} -> a{-aYU-} rjJ{-a10d-}) - -> a{-aYU-} rjJ{-a10d-} + >>=_a1cX = + PrelBase.>>={-811,p-} _@_ aaTE d.Monad_aTX; + d.Monad_aTZ :: {PrelBase.Monad{-28,p-} aaTE} {-# L #-} - >>=_a1gH = - PrelBase.>>={-811,p-} - _@_ a{-aYU-} d.Monad_aZ9 } in - let { - d.Monad_aZb :: - {PrelBase.Monad{-28,p-} a{-aYU-}} + d.Monad_aTZ = + d.Monad_aTX; + return_a1cY :: _forall_ [taVq] => taVq -> aaTE taVq {-# L #-} - d.Monad_aZb = - d.Monad_aZ9 } in - let { - return_a1gG :: - _forall_ [rjQ{-a10f-}] => rjQ{-a10f-} -> a{-aYU-} rjQ{-a10f-} + return_a1cY = + PrelBase.return{-816,p-} _@_ aaTE d.Monad_aTZ; + zero_a1cZ :: _forall_ [taVr] => aaTE taVr {-# L #-} - return_a1gG = - PrelBase.return{-816,p-} - _@_ a{-aYU-} d.Monad_aZb } in - let { - zero_a1gF :: - _forall_ [rjD{-a10g-}] => a{-aYU-} rjD{-a10g-} + zero_a1cZ = + PrelBase.zero{-810,p-} _@_ aaTE d.MonadZero_aU1; + h_aTr :: aaTE taTN -> aaTE taTN -> aaTE [taTN] {-# L #-} - zero_a1gF = - PrelBase.zero{-810,p-} - _@_ a{-aYU-} d.MonadZero_aZd - } in - \ xs_r3x :: - a{-aYU-} t{-aYZ-} - {-# L #-} - xs_r3x ys_r3z :: - a{-aYU-} t{-aYZ-} - {-# L #-} - ys_r3z -> - let { - ds_d1hu :: - t{-aYZ-} -> a{-aYU-} [t{-aYZ-}] + h_aTr = + \ xs_r3v :: aaTE taTN {-# L #-} - ds_d1hu = - \ x_r3B :: - t{-aYZ-} - {-# L #-} - x_r3B -> - let { - ds_d1hK :: - t{-aYZ-} -> a{-aYU-} [t{-aYZ-}] + xs_r3v ys_r3w :: aaTE taTN + {-# L #-} + ys_r3w -> + let { + ds_d1e0 :: taTN -> aaTE [taTN] + {-# L #-} + ds_d1e0 = + \ x_r3y :: taTN {-# L #-} - ds_d1hK = - \ y_r3D :: - t{-aYZ-} - {-# L #-} - y_r3D -> - zero_a1gF - _@_ [t{-aYZ-}] - } in - >>=_a1gH - _@_ t{-aYZ-} _@_ [t{-aYZ-}] ys_r3z ds_d1hK - } in - >>=_a1gH - _@_ t{-aYZ-} _@_ [t{-aYZ-}] xs_r3x ds_d1hu -g{-r3U,x-} :: - _forall_ - [a{-aZn-} t{-aZp-} t{-aZs-} t{-aZv-}] - => - {PrelBase.MonadZero{-29,p-} a{-aZn-}} - -> a{-aZn-} t{-aZp-} - -> a{-aZn-} t{-aZs-} - -> a{-aZn-} t{-aZv-} - -> a{-aZn-} (t{-aZp-}, t{-aZs-}, t{-aZv-}) + x_r3y -> + let { + ds_d1eg :: taTN -> aaTE [taTN] + {-# L #-} + ds_d1eg = + \ y_r3A :: taTN + {-# L #-} + y_r3A -> + zero_a1cZ _@_ [taTN] + } in >>=_a1cX _@_ taTN _@_ [taTN] ys_r3w ds_d1eg + } in >>=_a1cX _@_ taTN _@_ [taTN] xs_r3v ds_d1e0; + } in h_aTr +g{-r3R,x-} :: _forall_ + [aaUm taUx taUz taUB] + => + {PrelBase.MonadZero{-29,p-} aaUm} + -> aaUm taUx + -> aaUm taUz + -> aaUm taUB + -> aaUm (taUx, taUz, taUB) {-# L #-} -g{-r3U,x-} = - _/\_ a{-aZn-} t{-aZp-} t{-aZs-} t{-aZv-} -> \ d.MonadZero_aZJ :: - {PrelBase.MonadZero{-29,p-} a{-aZn-}} - {-# L #-} - d.MonadZero_aZJ -> - let { - d.Monad_aZF :: - {PrelBase.Monad{-28,p-} a{-aZn-}} +g{-r3R,x-} = + _/\_ aaUm taUx taUz taUB -> \ d.MonadZero_aUP :: {PrelBase.MonadZero{-29,p-} aaUm} + {-# L #-} + d.MonadZero_aUP -> + _letrec_ { + d.Monad_aUL :: {PrelBase.Monad{-28,p-} aaUm} {-# L #-} - d.Monad_aZF = - PrelBase.scsel_MonadZeroPrelBaseMonad{-a1dR,p-} - _@_ a{-aZn-} d.MonadZero_aZJ } in - let { - >>=_a1im :: - _forall_ - [rjI{-a10i-} rjJ{-a10h-}] - => - a{-aZn-} rjI{-a10i-} - -> (rjI{-a10i-} -> a{-aZn-} rjJ{-a10h-}) - -> a{-aZn-} rjJ{-a10h-} + d.Monad_aUL = + PrelBase.scsel_MonadZeroPrelBaseMonad{-a19C,p-} + _@_ aaUm d.MonadZero_aUP; + >>=_a1eM :: _forall_ + [taVt taVs] + => + aaUm taVt -> (taVt -> aaUm taVs) -> aaUm taVs {-# L #-} - >>=_a1im = - PrelBase.>>={-811,p-} - _@_ a{-aZn-} d.Monad_aZF } in - let { - d.Monad_aZH :: - {PrelBase.Monad{-28,p-} a{-aZn-}} + >>=_a1eM = + PrelBase.>>={-811,p-} _@_ aaUm d.Monad_aUL; + d.Monad_aUN :: {PrelBase.Monad{-28,p-} aaUm} {-# L #-} - d.Monad_aZH = - d.Monad_aZF } in - let { - return_a1il :: - _forall_ [rjQ{-a10j-}] => rjQ{-a10j-} -> a{-aZn-} rjQ{-a10j-} + d.Monad_aUN = + d.Monad_aUL; + return_a1eN :: _forall_ [taVu] => taVu -> aaUm taVu {-# L #-} - return_a1il = - PrelBase.return{-816,p-} - _@_ a{-aZn-} d.Monad_aZH } in - let { - zero_a1ik :: - _forall_ [rjD{-a10k-}] => a{-aZn-} rjD{-a10k-} + return_a1eN = + PrelBase.return{-816,p-} _@_ aaUm d.Monad_aUN; + zero_a1eO :: _forall_ [taVv] => aaUm taVv {-# L #-} - zero_a1ik = - PrelBase.zero{-810,p-} - _@_ a{-aZn-} d.MonadZero_aZJ - } in - \ xs_r3l :: - a{-aZn-} t{-aZp-} - {-# L #-} - xs_r3l ys_r3n :: - a{-aZn-} t{-aZs-} - {-# L #-} - ys_r3n zs_r3p :: - a{-aZn-} t{-aZv-} - {-# L #-} - zs_r3p -> - let { - ds_d1ja :: - t{-aZp-} -> a{-aZn-} (t{-aZp-}, t{-aZs-}, t{-aZv-}) + zero_a1eO = + PrelBase.zero{-810,p-} _@_ aaUm d.MonadZero_aUP; + g_aU4 :: aaUm taUx + -> aaUm taUz + -> aaUm taUB + -> aaUm (taUx, taUz, taUB) + {-# L #-} + g_aU4 = + \ xs_r3l :: aaUm taUx {-# L #-} - ds_d1ja = - \ x_r3r :: - t{-aZp-} - {-# L #-} - x_r3r -> - let { - ds_d1jq :: - t{-aZs-} -> a{-aZn-} (t{-aZp-}, t{-aZs-}, t{-aZv-}) + xs_r3l ys_r3m :: aaUm taUz + {-# L #-} + ys_r3m zs_r3n :: aaUm taUB + {-# L #-} + zs_r3n -> + let { + ds_d1fQ :: taUx -> aaUm (taUx, taUz, taUB) + {-# L #-} + ds_d1fQ = + \ x_r3p :: taUx {-# L #-} - ds_d1jq = - \ y_r3t :: - t{-aZs-} - {-# L #-} - y_r3t -> - let { - ds_d1jG :: - t{-aZv-} -> a{-aZn-} (t{-aZp-}, t{-aZs-}, t{-aZv-}) + x_r3p -> + let { + ds_d1g6 :: taUz -> aaUm (taUx, taUz, taUB) + {-# L #-} + ds_d1g6 = + \ y_r3r :: taUz {-# L #-} - ds_d1jG = - \ z_r3v :: - t{-aZv-} - {-# L #-} - z_r3v -> - let { - ds_d1jR :: - (t{-aZp-}, t{-aZs-}, t{-aZv-}) + y_r3r -> + let { + ds_d1gm :: taUB -> aaUm (taUx, taUz, taUB) + {-# L #-} + ds_d1gm = + \ z_r3t :: taUB {-# L #-} - ds_d1jR = - PrelTup.(,,){-63,p-}{i} - {_@_ t{-aZp-} - _@_ t{-aZs-} - _@_ t{-aZv-} - x_r3r - y_r3t - z_r3v} - } in - return_a1il - _@_ (t{-aZp-}, t{-aZs-}, t{-aZv-}) ds_d1jR - } in - >>=_a1im - _@_ t{-aZv-} - _@_ (t{-aZp-}, t{-aZs-}, t{-aZv-}) - zs_r3p - ds_d1jG - } in - >>=_a1im - _@_ t{-aZs-} _@_ (t{-aZp-}, t{-aZs-}, t{-aZv-}) ys_r3n ds_d1jq - } in - >>=_a1im - _@_ t{-aZp-} _@_ (t{-aZp-}, t{-aZs-}, t{-aZv-}) xs_r3l ds_d1ja -f{-r3V,x-} :: - _forall_ - [a{-aZR-} t{-aZT-}] - => - {PrelBase.Monad{-28,p-} a{-aZR-}} - -> a{-aZR-} t{-aZT-} - -> a{-aZR-} t{-aZT-} + z_r3t -> + let { + ds_d1gx :: (taUx, taUz, taUB) + {-# L #-} + ds_d1gx = + PrelTup.(,,){-63,w-}{i} + {_@_ taUx + _@_ taUz + _@_ taUB + x_r3p + y_r3r + z_r3t} + } in return_a1eN _@_ (taUx, taUz, taUB) ds_d1gx + } in >>=_a1eM _@_ taUB _@_ (taUx, taUz, taUB) zs_r3n ds_d1gm + } in >>=_a1eM _@_ taUz _@_ (taUx, taUz, taUB) ys_r3m ds_d1g6 + } in >>=_a1eM _@_ taUx _@_ (taUx, taUz, taUB) xs_r3l ds_d1fQ; + } in g_aU4 +f{-r3S,x-} :: _forall_ + [aaV0 taV2] + => + {PrelBase.Monad{-28,p-} aaV0} -> aaV0 taV2 -> aaV0 taV2 {-# L #-} -f{-r3V,x-} = - _/\_ a{-aZR-} t{-aZT-} -> \ d.Monad_a103 :: - {PrelBase.Monad{-28,p-} a{-aZR-}} - {-# L #-} - d.Monad_a103 -> - let { - >>=_a1ky :: - _forall_ - [rjI{-a10m-} rjJ{-a10l-}] - => - a{-aZR-} rjI{-a10m-} - -> (rjI{-a10m-} -> a{-aZR-} rjJ{-a10l-}) - -> a{-aZR-} rjJ{-a10l-} +f{-r3S,x-} = + _/\_ aaV0 taV2 -> \ d.Monad_aVe :: {PrelBase.Monad{-28,p-} aaV0} + {-# L #-} + d.Monad_aVe -> + _letrec_ { + >>=_a1h7 :: _forall_ + [taVx taVw] + => + aaV0 taVx -> (taVx -> aaV0 taVw) -> aaV0 taVw {-# L #-} - >>=_a1ky = - PrelBase.>>={-811,p-} - _@_ a{-aZR-} d.Monad_a103 } in - let { - d.Monad_a105 :: - {PrelBase.Monad{-28,p-} a{-aZR-}} + >>=_a1h7 = + PrelBase.>>={-811,p-} _@_ aaV0 d.Monad_aVe; + d.Monad_aVg :: {PrelBase.Monad{-28,p-} aaV0} {-# L #-} - d.Monad_a105 = - d.Monad_a103 } in - let { - return_a1kx :: - _forall_ [rjQ{-a10n-}] => rjQ{-a10n-} -> a{-aZR-} rjQ{-a10n-} + d.Monad_aVg = + d.Monad_aVe; + return_a1he :: _forall_ [taVy] => taVy -> aaV0 taVy {-# L #-} - return_a1kx = - PrelBase.return{-816,p-} - _@_ a{-aZR-} d.Monad_a105 - } in - \ xs_r3h :: - a{-aZR-} t{-aZT-} - {-# L #-} - xs_r3h -> - let { - ds_d1l4 :: - t{-aZT-} -> a{-aZR-} t{-aZT-} + return_a1he = + PrelBase.return{-816,p-} _@_ aaV0 d.Monad_aVg; + f_aUS :: aaV0 taV2 -> aaV0 taV2 + {-# L #-} + f_aUS = + \ xs_r3h :: aaV0 taV2 {-# L #-} - ds_d1l4 = - \ x_r3j :: - t{-aZT-} - {-# L #-} - x_r3j -> - return_a1kx - _@_ t{-aZT-} x_r3j - } in - >>=_a1ky - _@_ t{-aZT-} _@_ t{-aZT-} xs_r3h ds_d1l4 + xs_r3h -> + let { + ds_d1hQ :: taV2 -> aaV0 taV2 + {-# L #-} + ds_d1hQ = + \ x_r3j :: taV2 + {-# L #-} + x_r3j -> + return_a1he _@_ taV2 x_r3j + } in >>=_a1h7 _@_ taV2 _@_ taV2 xs_r3h ds_d1hQ; + } in f_aUS +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds010.stderr b/ghc/tests/deSugar/should_compile/ds010.stderr index 35eedef..cf2d931 100644 --- a/ghc/tests/deSugar/should_compile/ds010.stderr +++ b/ghc/tests/deSugar/should_compile/ds010.stderr @@ -3,271 +3,208 @@ ================================================================================ Desugared: Rec { -d.Monad_aWF :: - {PrelBase.Monad{-28,p-} PrelBase.[]{-3j,p-}} +z_aQq :: [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} -d.Monad_aWF = - PrelBase.$d24{-rq8,p-} ->>=_a11I :: - _forall_ - [rjI{-aWJ-} rjJ{-aWK-}] - => - [rjI{-aWJ-}] -> (rjI{-aWJ-} -> [rjJ{-aWK-}]) -> [rjJ{-aWK-}] -{-# L #-} ->>=_a11I = - PrelBase.>>={-811,p-} - _@_ PrelBase.[]{-3j,p-} d.Monad_aWF -d.Monad_aWI :: - {PrelBase.Monad{-28,p-} PrelBase.[]{-3j,p-}} -{-# L #-} -d.Monad_aWI = - d.Monad_aWF -return_a11P :: - _forall_ [rjQ{-aWL-}] => rjQ{-aWL-} -> [rjQ{-aWL-}] -{-# L #-} -return_a11P = - PrelBase.return{-816,p-} - _@_ PrelBase.[]{-3j,p-} d.Monad_aWI -z_aW0 :: - [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] -{-# L #-} -z_aW0 = +z_aQq = _letrec_ { - ds_d12r :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_dWs :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d12r = - \ ds_d12w :: - [PrelBase.Char{-38,p-}] + ds_dWs = + \ ds_dWx :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d12w -> - case ds_d12w of { - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - {_@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})}; - PrelBase.:{-55,p-}{i} ds_d12I ds_d12R -> + ds_dWx -> + case ds_dWx of { + PrelBase.[]{-5i,w-}{i} -> + PrelBase.[]{-5i,w-}{i} + {_@_ (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})}; + PrelBase.:{-55,w-}{i} ds_dX5 ds_dXe -> let { - a_r3d :: - PrelBase.Char{-38,p-} + a_r3d :: PrelBase.Char{-38,W-} {-# L #-} a_r3d = - ds_d12I } in + ds_dX5 } in _letrec_ { - ds_d12X :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_dXk :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d12X = - \ ds_d132 :: - [PrelBase.Char{-38,p-}] + ds_dXk = + \ ds_dXp :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d132 -> - case ds_d132 of { - PrelBase.[]{-5i,p-}{i} -> - ds_d12r - ds_d12R; - PrelBase.:{-55,p-}{i} ds_d13h ds_d13q -> + ds_dXp -> + case ds_dXp of { + PrelBase.[]{-5i,w-}{i} -> ds_dWs ds_dXe; + PrelBase.:{-55,w-}{i} ds_dXE ds_dXN -> let { - b_r3f :: - PrelBase.Char{-38,p-} + b_r3f :: PrelBase.Char{-38,W-} {-# L #-} b_r3f = - ds_d13h } in + ds_dXE } in _letrec_ { - ds_d13w :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_dXT :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d13w = - \ ds_d13B :: - [PrelBase.Char{-38,p-}] + ds_dXT = + \ ds_dXY :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d13B -> - case ds_d13B of { - PrelBase.[]{-5i,p-}{i} -> - ds_d12X - ds_d13q; - PrelBase.:{-55,p-}{i} ds_d13Q ds_d13Z -> + ds_dXY -> + case ds_dXY of { + PrelBase.[]{-5i,w-}{i} -> ds_dXk ds_dXN; + PrelBase.:{-55,w-}{i} ds_dYd ds_dYm -> let { - c_r3h :: - PrelBase.Char{-38,p-} + c_r3h :: PrelBase.Char{-38,W-} {-# L #-} c_r3h = - ds_d13Q } in + ds_dYd } in _letrec_ { - ds_d145 :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_dYs :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d145 = - \ ds_d14a :: - [PrelBase.Char{-38,p-}] + ds_dYs = + \ ds_dYx :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d14a -> - case ds_d14a of { - PrelBase.[]{-5i,p-}{i} -> - ds_d13w - ds_d13Z; - PrelBase.:{-55,p-}{i} ds_d14p ds_d14y -> + ds_dYx -> + case ds_dYx of { + PrelBase.[]{-5i,w-}{i} -> + ds_dXT ds_dYm; + PrelBase.:{-55,w-}{i} ds_dYM ds_dYV -> let { - d_r3j :: - PrelBase.Char{-38,p-} + d_r3j :: PrelBase.Char{-38,W-} {-# L #-} d_r3j = - ds_d14p } in + ds_dYM } in _letrec_ { - ds_d14E :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_dZ1 :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d14E = - \ ds_d14J :: - [PrelBase.Char{-38,p-}] + ds_dZ1 = + \ ds_dZ6 :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d14J -> - case ds_d14J of { - PrelBase.[]{-5i,p-}{i} -> - ds_d145 - ds_d14y; - PrelBase.:{-55,p-}{i} ds_d14Y ds_d157 -> + ds_dZ6 -> + case ds_dZ6 of { + PrelBase.[]{-5i,w-}{i} -> + ds_dYs ds_dYV; + PrelBase.:{-55,w-}{i} ds_dZl ds_dZu -> let { - e_r3l :: - PrelBase.Char{-38,p-} + e_r3l :: PrelBase.Char{-38,W-} {-# L #-} e_r3l = - ds_d14Y } in + ds_dZl } in _letrec_ { - ds_d15d :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_dZA :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d15d = - \ ds_d15i :: - [PrelBase.Char{-38,p-}] + ds_dZA = + \ ds_dZF :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d15i -> + ds_dZF -> case - ds_d15i + ds_dZF of { - PrelBase.[]{-5i,p-}{i} -> - ds_d14E - ds_d157; - PrelBase.:{-55,p-}{i} ds_d15x ds_d15G -> + PrelBase.[]{-5i,w-}{i} -> + ds_dZ1 + ds_dZu; + PrelBase.:{-55,w-}{i} ds_dZU ds_d103 -> let { - f_r3n :: - PrelBase.Char{-38,p-} + f_r3n :: PrelBase.Char{-38,W-} {-# L #-} f_r3n = - ds_d15x } in + ds_dZU } in _letrec_ { - ds_d15M :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_d109 :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d15M = - \ ds_d15R :: - [PrelBase.Char{-38,p-}] + ds_d109 = + \ ds_d10e :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d15R -> + ds_d10e -> case - ds_d15R + ds_d10e of { - PrelBase.[]{-5i,p-}{i} -> - ds_d15d - ds_d15G; - PrelBase.:{-55,p-}{i} ds_d166 ds_d16f -> + PrelBase.[]{-5i,w-}{i} -> + ds_dZA + ds_d103; + PrelBase.:{-55,w-}{i} ds_d10t ds_d10C -> let { - g_r3p :: - PrelBase.Char{-38,p-} + g_r3p :: PrelBase.Char{-38,W-} {-# L #-} g_r3p = - ds_d166 } in + ds_d10t } in _letrec_ { - ds_d16l :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_d10I :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d16l = - \ ds_d16q :: - [PrelBase.Char{-38,p-}] + ds_d10I = + \ ds_d10N :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d16q -> + ds_d10N -> case - ds_d16q + ds_d10N of { - PrelBase.[]{-5i,p-}{i} -> - ds_d15M - ds_d16f; - PrelBase.:{-55,p-}{i} ds_d16F ds_d16O -> + PrelBase.[]{-5i,w-}{i} -> + ds_d109 + ds_d10C; + PrelBase.:{-55,w-}{i} ds_d112 ds_d11b -> let { - h_r3r :: - PrelBase.Char{-38,p-} + h_r3r :: PrelBase.Char{-38,W-} {-# L #-} h_r3r = - ds_d16F } in + ds_d112 } in _letrec_ { - ds_d16U :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_d11h :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d16U = - \ ds_d16Z :: - [PrelBase.Char{-38,p-}] + ds_d11h = + \ ds_d11m :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d16Z -> + ds_d11m -> case - ds_d16Z + ds_d11m of { - PrelBase.[]{-5i,p-}{i} -> - ds_d16l - ds_d16O; - PrelBase.:{-55,p-}{i} ds_d17e ds_d17n -> + PrelBase.[]{-5i,w-}{i} -> + ds_d10I + ds_d11b; + PrelBase.:{-55,w-}{i} ds_d11B ds_d11K -> let { - i_r3t :: - PrelBase.Char{-38,p-} + i_r3t :: PrelBase.Char{-38,W-} {-# L #-} i_r3t = - ds_d17e } in + ds_d11B } in _letrec_ { - ds_d17t :: - [PrelBase.Char{-38,p-}] - -> [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_d11Q :: [PrelBase.Char{-38,W-}] + -> [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d17t = - \ ds_d17y :: - [PrelBase.Char{-38,p-}] + ds_d11Q = + \ ds_d11V :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d17y -> + ds_d11V -> case - ds_d17y + ds_d11V of { - PrelBase.[]{-5i,p-}{i} -> - ds_d16U - ds_d17n; - PrelBase.:{-55,p-}{i} ds_d17N ds_d186 -> + PrelBase.[]{-5i,w-}{i} -> + ds_d11h + ds_d11K; + PrelBase.:{-55,w-}{i} ds_d12a ds_d12t -> let { - j_r3v :: - PrelBase.Char{-38,p-} + j_r3v :: PrelBase.Char{-38,W-} {-# L #-} j_r3v = - ds_d17N } in + ds_d12a } in let { - ds_d17Z :: - (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) + ds_d12m :: (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) {-# L #-} - ds_d17Z = - PrelTup.(,,,,,,,,,){-6a,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} + ds_d12m = + PrelTup.(,,,,,,,,,){-6a,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} a_r3d b_r3f c_r3h @@ -279,60 +216,67 @@ z_aW0 = i_r3t j_r3v} } in let { - ds_d183 :: - [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + ds_d12q :: [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} - ds_d183 = - ds_d17t - ds_d186 + ds_d12q = + ds_d11Q + ds_d12t } in - PrelBase.:{-55,p-}{i} - {_@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) - ds_d17Z - ds_d183}; + PrelBase.:{-55,w-}{i} + {_@_ (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) + ds_d12m + ds_d12q}; }; } in - ds_d17t + ds_d11Q _string_ "12"; }; } in - ds_d16U + ds_d11h _string_ "12"; }; } in - ds_d16l + ds_d10I _string_ "12"; }; } in - ds_d15M + ds_d109 _string_ "12"; }; } in - ds_d15d + ds_dZA _string_ "12"; }; - } in - ds_d14E - _string_ "12"; + } in ds_dZ1 _string_ "12"; }; - } in - ds_d145 - _string_ "12"; + } in ds_dYs _string_ "12"; }; - } in - ds_d13w - _string_ "12"; + } in ds_dXT _string_ "12"; }; - } in - ds_d12X - _string_ "12"; + } in ds_dXk _string_ "12"; }; - } in - ds_d12r - _string_ "12" -z{-r3w,x-} :: - [(PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})] + } in ds_dWs _string_ "12" +z{-r3w,x-} :: [(PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})] {-# L #-} z{-r3w,x-} = - z_aW0 + z_aQq +d.Monad_aRh :: {PrelBase.Monad{-28,p-} PrelBase.[]{-3j,W-}} +{-# L #-} +d.Monad_aRh = + PrelBase.$d25{-rpl,p-} +>>=_aWK :: _forall_ + [taRl taRm] + => + [taRl] -> (taRl -> [taRm]) -> [taRm] +{-# L #-} +>>=_aWK = + PrelBase.>>={-811,p-} _@_ PrelBase.[]{-3j,W-} d.Monad_aRh +d.Monad_aRk :: {PrelBase.Monad{-28,p-} PrelBase.[]{-3j,W-}} +{-# L #-} +d.Monad_aRk = + d.Monad_aRh +return_aWT :: _forall_ [taRn] => taRn -> [taRn] +{-# L #-} +return_aWT = + PrelBase.return{-816,p-} _@_ PrelBase.[]{-3j,W-} d.Monad_aRk end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds011.stderr b/ghc/tests/deSugar/should_compile/ds011.stderr index 6585333..86842d2 100644 --- a/ghc/tests/deSugar/should_compile/ds011.stderr +++ b/ghc/tests/deSugar/should_compile/ds011.stderr @@ -2,69 +2,71 @@ ================================================================================ Desugared: -i{-r4,x-} :: - _forall_ [t{-amO-}] => t{-amO-} +Rec { +i{-r4,x-} :: _forall_ [take] => take {-# L #-} i{-r4,x-} = - _/\_ t{-amO-} -> - IOBase.error{-87,p-} - _@_ t{-amO-} _string_ "foo" -h{-r5,x-} :: - _forall_ [t{-amW-}] => t{-amW-} + _/\_ take -> + _letrec_ { + i_ak8 :: take + {-# L #-} + i_ak8 = + IOBase.error{-87,w-} _@_ take _string_ "foo"; + } in i_ak8 +h{-r5,x-} :: _forall_ [takm] => takm {-# L #-} h{-r5,x-} = - _/\_ t{-amW-} -> - let { ds_dpe :: - [PrelBase.Char{-38,p-}] - {-# L #-} - ds_dpe = - let { - ds_dpp :: - PrelBase.Char{-38,p-} - {-# L #-} - ds_dpp = - PrelBase.C#{-54,p-}{i} - {'"'} } in - let { - ds_dpt :: - [PrelBase.Char{-38,p-}] - {-# L #-} - ds_dpt = - PrelBase.[]{-5i,p-}{i} - {_@_ PrelBase.Char{-38,p-}} - } in - PrelBase.:{-55,p-}{i} - {_@_ PrelBase.Char{-38,p-} ds_dpp ds_dpt} - } in - IOBase.error{-87,p-} - _@_ t{-amW-} ds_dpe -g{-r6,x-} :: - _forall_ [t{-an4-}] => t{-an4-} + _/\_ takm -> + _letrec_ { + h_akg :: takm + {-# L #-} + h_akg = + let { ds_dn6 :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_dn6 = + let { + ds_dnh :: PrelBase.Char{-38,W-} + {-# L #-} + ds_dnh = + PrelBase.C#{-54,w-}{i} {'"'} } in + let { + ds_dnl :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_dnl = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} + } in + PrelBase.:{-55,w-}{i} {_@_ PrelBase.Char{-38,W-} ds_dnh ds_dnl} + } in + IOBase.error{-87,w-} _@_ takm ds_dn6; + } in h_akg +g{-r6,x-} :: _forall_ [taku] => taku {-# L #-} g{-r6,x-} = - _/\_ t{-an4-} -> - let { - ds_dpW :: - [PrelBase.Char{-38,p-}] + _/\_ taku -> + _letrec_ { + g_ako :: taku {-# L #-} - ds_dpW = - PrelBase.[]{-5i,p-}{i} - {_@_ PrelBase.Char{-38,p-}} - } in - IOBase.error{-87,p-} - _@_ t{-an4-} ds_dpW -f{-r7,x-} :: - _forall_ [t{-and-}] => t{-and-} + g_ako = + let { + ds_dnO :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_dnO = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} + } in IOBase.error{-87,w-} _@_ taku ds_dnO; + } in g_ako +f{-r7,x-} :: _forall_ [takD] => takD {-# L #-} f{-r7,x-} = - _/\_ t{-and-} -> - let { - ds_dqm :: - [PrelBase.Char{-38,p-}] + _/\_ takD -> + _letrec_ { + f_akw :: takD {-# L #-} - ds_dqm = - PrelBase.[]{-5i,p-}{i} - _@_ PrelBase.Char{-38,p-} - } in - IOBase.error{-87,p-} - _@_ t{-and-} ds_dqm + f_akw = + let { + ds_doe :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_doe = + PrelBase.[]{-5i,w-}{i} _@_ PrelBase.Char{-38,W-} + } in IOBase.error{-87,w-} _@_ takD ds_doe; + } in f_akw +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds012.stderr b/ghc/tests/deSugar/should_compile/ds012.stderr index a562b3d..9d54b35 100644 --- a/ghc/tests/deSugar/should_compile/ds012.stderr +++ b/ghc/tests/deSugar/should_compile/ds012.stderr @@ -2,298 +2,210 @@ ================================================================================ Desugared: -h{-r3l,x-} :: - _forall_ - [t{-aHu-} t{-aHz-}] - => - {PrelBase.Num{-2c,p-} t{-aHu-}} -> t{-aHz-} -> t{-aHu-} +Rec { +h{-r3l,x-} :: _forall_ + [taC6 taC1] + => + {PrelBase.Num{-2c,p-} taC1} -> taC6 -> taC1 {-# L #-} h{-r3l,x-} = - _/\_ t{-aHu-} t{-aHz-} -> \ d.Num_aHB :: - {PrelBase.Num{-2c,p-} t{-aHu-}} - {-# L #-} - d.Num_aHB -> - let { - +_aP0 :: - t{-aHu-} -> t{-aHu-} -> t{-aHu-} - {-# L #-} - +_aP0 = - PrelBase.+{-r3k,p-} - _@_ t{-aHu-} d.Num_aHB } in - let { - d.Num_aHE :: - {PrelBase.Num{-2c,p-} t{-aHu-}} + _/\_ taC6 taC1 -> \ d.Num_aC8 :: {PrelBase.Num{-2c,p-} taC1} + {-# L #-} + d.Num_aC8 -> + _letrec_ { + +_aJx :: taC1 -> taC1 -> taC1 + {-# L #-} + +_aJx = + PrelBase.+{-r3k,p-} _@_ taC1 d.Num_aC8; + d.Num_aCb :: {PrelBase.Num{-2c,p-} taC1} + {-# L #-} + d.Num_aCb = + d.Num_aC8; + fromInteger_aJE :: PrelBase.Integer{-3h,W-} -> taC1 + {-# L #-} + fromInteger_aJE = + PrelBase.fromInteger{-8S,p-} _@_ taC1 d.Num_aCb; + lit_aJF :: taC1 + {-# L #-} + lit_aJF = + fromInteger_aJE + _integer_ 111111111111111111111111111111111111111111111111111111111111; + fromInteger_aJG :: PrelBase.Integer{-3h,W-} -> taC1 + {-# L #-} + fromInteger_aJG = + fromInteger_aJE; + lit_aJH :: taC1 + {-# L #-} + lit_aJH = + fromInteger_aJG + _integer_ 222222222222222222222222222222222222222222222222222222222222; + h_aBS :: taC6 -> taC1 + {-# L #-} + h_aBS = + \ x_r3j :: taC6 + {-# L #-} + x_r3j -> + +_aJx lit_aJF lit_aJH; + } in h_aBS +f{-r3n,x-} :: _forall_ + [taCE taCz] + => + {PrelBase.Num{-2c,p-} taCz} -> taCE -> taCz +{-# L #-} +f{-r3n,x-} = + _/\_ taCE taCz -> \ d.Num_aCG :: {PrelBase.Num{-2c,p-} taCz} + {-# L #-} + d.Num_aCG -> + _letrec_ { + +_aFs :: taCz -> taCz -> taCz {-# L #-} - d.Num_aHE = - d.Num_aHB } in - let { - fromInteger_aOZ :: - PrelBase.Integer{-3h,p-} -> t{-aHu-} + +_aFs = + PrelBase.+{-r3k,p-} _@_ taCz d.Num_aCG; + d.Num_aCI :: {PrelBase.Num{-2c,p-} taCz} {-# L #-} - fromInteger_aOZ = - PrelBase.fromInteger{-8S,p-} - _@_ t{-aHu-} d.Num_aHE } in - let { - lit_aOY :: - t{-aHu-} + d.Num_aCI = + d.Num_aCG; + -_aFr :: taCz -> taCz -> taCz {-# L #-} - lit_aOY = - fromInteger_aOZ - _integer_ 111111111111111111111111111111111111111111111111111111111111 } in - let { - fromInteger_aOX :: - PrelBase.Integer{-3h,p-} -> t{-aHu-} + -_aFr = + PrelBase.-{-817,p-} _@_ taCz d.Num_aCI; + +_aFt :: taCz -> taCz -> taCz {-# L #-} - fromInteger_aOX = - fromInteger_aOZ } in - let { - lit_aOW :: - t{-aHu-} + +_aFt = + +_aFs; + d.Num_aCL :: {PrelBase.Num{-2c,p-} taCz} {-# L #-} - lit_aOW = - fromInteger_aOX - _integer_ 222222222222222222222222222222222222222222222222222222222222 - } in - \ x_r3j :: - t{-aHz-} - {-# L #-} - x_r3j -> - +_aP0 - lit_aOY lit_aOW -f{-r3n,x-} :: - _forall_ - [t{-aI9-} t{-aIe-}] - => - {PrelBase.Num{-2c,p-} t{-aI9-}} -> t{-aIe-} -> t{-aI9-} -{-# L #-} -f{-r3n,x-} = - _/\_ t{-aI9-} t{-aIe-} -> \ d.Num_aIg :: - {PrelBase.Num{-2c,p-} t{-aI9-}} - {-# L #-} - d.Num_aIg -> - let { - +_aNl :: - t{-aI9-} -> t{-aI9-} -> t{-aI9-} + d.Num_aCL = + d.Num_aCG; + fromInt_aFu :: PrelBase.Int{-3g,W-} -> taCz {-# L #-} - +_aNl = - PrelBase.+{-r3k,p-} - _@_ t{-aI9-} d.Num_aIg } in - let { - d.Num_aIi :: - {PrelBase.Num{-2c,p-} t{-aI9-}} + fromInt_aFu = + PrelBase.fromInt{-8R,p-} _@_ taCz d.Num_aCL; + lit_aFv :: taCz {-# L #-} - d.Num_aIi = - d.Num_aIg } in - let { - -_aNk :: - t{-aI9-} -> t{-aI9-} -> t{-aI9-} - {-# L #-} - -_aNk = - PrelBase.-{-817,p-} - _@_ t{-aI9-} d.Num_aIi } in - let { - +_aN8 :: - t{-aI9-} -> t{-aI9-} -> t{-aI9-} + lit_aFv = + let { + ds_dMB :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dMB = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_aFu ds_dMB; + fromInt_aFw :: PrelBase.Int{-3g,W-} -> taCz {-# L #-} - +_aN8 = - +_aNl } in - let { - d.Num_aIl :: - {PrelBase.Num{-2c,p-} t{-aI9-}} + fromInt_aFw = + fromInt_aFu; + lit_aFx :: taCz {-# L #-} - d.Num_aIl = - d.Num_aIg } in - let { - fromInt_aNj :: - PrelBase.Int{-3g,p-} -> t{-aI9-} + lit_aFx = + let { + ds_dMQ :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dMQ = + PrelBase.I#{-5b,w-}{i} 2 + } in fromInt_aFw ds_dMQ; + fromInt_aFy :: PrelBase.Int{-3g,W-} -> taCz {-# L #-} - fromInt_aNj = - PrelBase.fromInt{-8R,p-} - _@_ t{-aI9-} d.Num_aIl } in - let { lit_aNi :: - t{-aI9-} - {-# L #-} - lit_aNi = - let { - ds_dQX :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_dQX = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_aNj - ds_dQX - } in - let { - fromInt_aNh :: - PrelBase.Int{-3g,p-} -> t{-aI9-} + fromInt_aFy = + fromInt_aFu; + lit_aFz :: taCz {-# L #-} - fromInt_aNh = - fromInt_aNj } in - let { lit_aNg :: - t{-aI9-} - {-# L #-} - lit_aNg = - let { - ds_dRc :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_dRc = - PrelBase.I#{-5b,p-}{i} - 2 - } in - fromInt_aNh - ds_dRc - } in - let { - fromInt_aNf :: - PrelBase.Int{-3g,p-} -> t{-aI9-} + lit_aFz = + let { + ds_dN5 :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dN5 = + PrelBase.I#{-5b,w-}{i} 3 + } in fromInt_aFy ds_dN5; + d.Num_aCP :: {PrelBase.Num{-2c,p-} taCz} {-# L #-} - fromInt_aNf = - fromInt_aNj } in - let { lit_aNe :: - t{-aI9-} - {-# L #-} - lit_aNe = - let { - ds_dRr :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_dRr = - PrelBase.I#{-5b,p-}{i} - 3 - } in - fromInt_aNf - ds_dRr - } in - let { - d.Num_aIp :: - {PrelBase.Num{-2c,p-} t{-aI9-}} + d.Num_aCP = + d.Num_aCG; + *_aFA :: taCz -> taCz -> taCz {-# L #-} - d.Num_aIp = - d.Num_aIg } in - let { - *_aNd :: - t{-aI9-} -> t{-aI9-} -> t{-aI9-} + *_aFA = + PrelBase.*{-rfn,p-} _@_ taCz d.Num_aCP; + fromInt_aFB :: PrelBase.Int{-3g,W-} -> taCz {-# L #-} - *_aNd = - PrelBase.*{-rcJ,p-} - _@_ t{-aI9-} d.Num_aIp } in - let { - fromInt_aNc :: - PrelBase.Int{-3g,p-} -> t{-aI9-} + fromInt_aFB = + fromInt_aFu; + lit_aFC :: taCz {-# L #-} - fromInt_aNc = - fromInt_aNj } in - let { lit_aNb :: - t{-aI9-} - {-# L #-} - lit_aNb = - let { - ds_dRP :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_dRP = - PrelBase.I#{-5b,p-}{i} - 4 - } in - fromInt_aNc - ds_dRP - } in - let { - fromInt_aNa :: - PrelBase.Int{-3g,p-} -> t{-aI9-} + lit_aFC = + let { + ds_dNt :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dNt = + PrelBase.I#{-5b,w-}{i} 4 + } in fromInt_aFB ds_dNt; + fromInt_aFD :: PrelBase.Int{-3g,W-} -> taCz {-# L #-} - fromInt_aNa = - fromInt_aNj } in - let { lit_aN9 :: - t{-aI9-} - {-# L #-} - lit_aN9 = - let { - ds_dS4 :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_dS4 = - PrelBase.I#{-5b,p-}{i} - 5 - } in - fromInt_aNa - ds_dS4 - } in - \ x_r3f :: - t{-aIe-} + fromInt_aFD = + fromInt_aFu; + lit_aFE :: taCz {-# L #-} - x_r3f -> - let { ds_dSk :: - t{-aI9-} - {-# L #-} - ds_dSk = + lit_aFE = let { - ds_dSw :: - t{-aI9-} + ds_dNI :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dNI = + PrelBase.I#{-5b,w-}{i} 5 + } in fromInt_aFD ds_dNI; + f_aCe :: taCE -> taCz + {-# L #-} + f_aCe = + \ x_r3f :: taCE {-# L #-} - ds_dSw = - +_aN8 - lit_aNi lit_aNg - } in - -_aNk - ds_dSw lit_aNe - } in - let { - ds_dSo :: - t{-aI9-} - {-# L #-} - ds_dSo = - *_aNd - lit_aNb lit_aN9 - } in - +_aNl - ds_dSk ds_dSo -g{-r3m,x-} :: - _forall_ - [t{-aID-}] - => - {PrelBase.Num{-2c,p-} t{-aID-}} -> t{-aID-} -> t{-aID-} + x_r3f -> + let { ds_dNZ :: taCz + {-# L #-} + ds_dNZ = + let { + ds_dOb :: taCz + {-# L #-} + ds_dOb = + +_aFt lit_aFv lit_aFx + } in -_aFr ds_dOb lit_aFz + } in + let { + ds_dO3 :: taCz + {-# L #-} + ds_dO3 = + *_aFA lit_aFC lit_aFE + } in +_aFs ds_dNZ ds_dO3; + } in f_aCe +g{-r3m,x-} :: _forall_ + [taD7] + => + {PrelBase.Num{-2c,p-} taD7} -> taD7 -> taD7 {-# L #-} g{-r3m,x-} = - _/\_ t{-aID-} -> \ d.Num_aIH :: - {PrelBase.Num{-2c,p-} t{-aID-}} - {-# L #-} - d.Num_aIH -> - let { - +_aTf :: - t{-aID-} -> t{-aID-} -> t{-aID-} - {-# L #-} - +_aTf = - PrelBase.+{-r3k,p-} - _@_ t{-aID-} d.Num_aIH } in - let { - d.Num_aIJ :: - {PrelBase.Num{-2c,p-} t{-aID-}} - {-# L #-} - d.Num_aIJ = - d.Num_aIH } in - let { - f_aTe :: - t{-aID-} -> t{-aID-} - {-# L #-} - f_aTe = - f{-r3n,x-} - _@_ t{-aID-} _@_ t{-aID-} d.Num_aIJ - } in - \ x_r3h :: - t{-aID-} - {-# L #-} - x_r3h -> - let { - ds_dTJ :: - t{-aID-} + _/\_ taD7 -> \ d.Num_aDa :: {PrelBase.Num{-2c,p-} taD7} + {-# L #-} + d.Num_aDa -> + _letrec_ { + +_aON :: taD7 -> taD7 -> taD7 + {-# L #-} + +_aON = + PrelBase.+{-r3k,p-} _@_ taD7 d.Num_aDa; + d.Num_aDc :: {PrelBase.Num{-2c,p-} taD7} + {-# L #-} + d.Num_aDc = + d.Num_aDa; + f_aOU :: taD7 -> taD7 + {-# L #-} + f_aOU = + f{-r3n,x-} _@_ taD7 _@_ taD7 d.Num_aDc; + g_aCT :: taD7 -> taD7 + {-# L #-} + g_aCT = + \ x_r3h :: taD7 {-# L #-} - ds_dTJ = - f_aTe - x_r3h - } in - +_aTf - x_r3h ds_dTJ + x_r3h -> + let { + ds_dPu :: taD7 + {-# L #-} + ds_dPu = + f_aOU x_r3h + } in +_aON x_r3h ds_dPu; + } in g_aCT +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds013.stderr b/ghc/tests/deSugar/should_compile/ds013.stderr index 6238e97..9240f59 100644 --- a/ghc/tests/deSugar/should_compile/ds013.stderr +++ b/ghc/tests/deSugar/should_compile/ds013.stderr @@ -3,373 +3,291 @@ ================================================================================ Desugared: Rec { -d.Num_a12Q :: - {PrelBase.Num{-2c,p-} PrelBase.Double{-3a,p-}} -{-# L #-} -d.Num_a12Q = - PrelNum.$d16{-rrq,p-} -+_a19S :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} -+_a19S = - PrelBase.+{-rcF,p-} - _@_ PrelBase.Double{-3a,p-} d.Num_a12Q -d.Num_a12T :: - {PrelBase.Num{-2c,p-} PrelBase.Double{-3a,p-}} -{-# L #-} -d.Num_a12T = - d.Num_a12Q --_a19R :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} --_a19R = - PrelBase.-{-817,p-} - _@_ PrelBase.Double{-3a,p-} d.Num_a12T -d.Fractional_a12W :: - {PrelNum.Fractional{-26,p-} PrelBase.Double{-3a,p-}} -{-# L #-} -d.Fractional_a12W = - PrelNum.$d14{-rro,p-} -fromRational_a19Q :: - PrelNum.Rational{-3r,p-} -> PrelBase.Double{-3a,p-} -{-# L #-} -fromRational_a19Q = - PrelNum.fromRational{-8T,p-} - _@_ PrelBase.Double{-3a,p-} d.Fractional_a12W -lit_a19P :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19P = - fromRational_a19Q - _rational_ 3 2 -fromRational_a19O :: - PrelNum.Rational{-3r,p-} -> PrelBase.Double{-3a,p-} -{-# L #-} -fromRational_a19O = - fromRational_a19Q -lit_a19N :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19N = - fromRational_a19O - _rational_ 2 1 -fromRational_a19M :: - PrelNum.Rational{-3r,p-} -> PrelBase.Double{-3a,p-} -{-# L #-} -fromRational_a19M = - fromRational_a19Q -lit_a19L :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19L = - fromRational_a19M - _rational_ 62831853 20000000 -d.Num_a131 :: - {PrelBase.Num{-2c,p-} PrelBase.Double{-3a,p-}} -{-# L #-} -d.Num_a131 = - d.Num_a12Q -*_a19K :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} -*_a19K = - PrelBase.*{-rU,p-} - _@_ PrelBase.Double{-3a,p-} d.Num_a131 -fromRational_a19J :: - PrelNum.Rational{-3r,p-} -> PrelBase.Double{-3a,p-} -{-# L #-} -fromRational_a19J = - fromRational_a19Q -lit_a19I :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19I = - fromRational_a19J - _rational_ 21 5 -fromRational_a19H :: - PrelNum.Rational{-3r,p-} -> PrelBase.Double{-3a,p-} -{-# L #-} -fromRational_a19H = - fromRational_a19Q -lit_a19G :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19G = - fromRational_a19H - _rational_ 5111111111111111111111111111 1000000000000000000000000000 -d.Num_a135 :: - {PrelBase.Num{-2c,p-} PrelBase.Float{-3c,p-}} -{-# L #-} -d.Num_a135 = - PrelNum.$d25{-rrA,p-} -+_a19F :: - PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} -{-# L #-} -+_a19F = - PrelBase.+{-rcF,p-} - _@_ PrelBase.Float{-3c,p-} d.Num_a135 -d.Num_a138 :: - {PrelBase.Num{-2c,p-} PrelBase.Float{-3c,p-}} -{-# L #-} -d.Num_a138 = - d.Num_a135 --_a19E :: - PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} -{-# L #-} --_a19E = - PrelBase.-{-817,p-} - _@_ PrelBase.Float{-3c,p-} d.Num_a138 -d.Fractional_a13b :: - {PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,p-}} -{-# L #-} -d.Fractional_a13b = - PrelNum.$d23{-rry,p-} -fromRational_a19D :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a19D = - PrelNum.fromRational{-8T,p-} - _@_ PrelBase.Float{-3c,p-} d.Fractional_a13b -lit_a19C :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a19C = - fromRational_a19D - _rational_ 3 2 -fromRational_a19B :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a19B = - fromRational_a19D -lit_a19A :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a19A = - fromRational_a19B - _rational_ 2 1 -fromRational_a19z :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a19z = - fromRational_a19D -lit_a19y :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a19y = - fromRational_a19z - _rational_ 62831853 20000000 -d.Num_a13g :: - {PrelBase.Num{-2c,p-} PrelBase.Float{-3c,p-}} -{-# L #-} -d.Num_a13g = - d.Num_a135 -*_a19x :: - PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} -{-# L #-} -*_a19x = - PrelBase.*{-rU,p-} - _@_ PrelBase.Float{-3c,p-} d.Num_a13g -fromRational_a19w :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a19w = - fromRational_a19D -lit_a19v :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a19v = - fromRational_a19w - _rational_ 21 5 -fromRational_a19u :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a19u = - fromRational_a19D -lit_a19r :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a19r = - fromRational_a19u - _rational_ 5111111111111111111111111111 1000000000000000000000000000 -+_a19q :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} -+_a19q = - +_a19S --_a19p :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} --_a19p = - -_a19R -lit_a19o :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19o = - lit_a19P -lit_a19n :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19n = - lit_a19N -lit_a19m :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19m = - lit_a19L -*_a19l :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} -*_a19l = - *_a19K -lit_a19k :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19k = - lit_a19I -lit_a19j :: - PrelBase.Double{-3a,p-} -{-# L #-} -lit_a19j = - lit_a19G -+_a19i :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} -+_a19i = - +_a19q -h_a106 :: - PrelBase.Double{-3a,p-} -{-# L #-} -h_a106 = - let { ds_d1hq :: - PrelBase.Double{-3a,p-} ++_a14Y :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} ++_a14Y = + +_a13j +h_aUa :: PrelBase.Double{-3a,W-} +{-# L #-} +h_aUa = + let { ds_d18Q :: PrelBase.Double{-3a,W-} {-# L #-} - ds_d1hq = + ds_d18Q = let { - ds_d1hC :: - PrelBase.Double{-3a,p-} + ds_d192 :: PrelBase.Double{-3a,W-} {-# L #-} - ds_d1hC = - +_a19i - lit_a19o lit_a19n - } in - -_a19p - ds_d1hC lit_a19m + ds_d192 = + +_a14Y lit_a13l lit_a13m + } in -_a13k ds_d192 lit_a13n } in let { - ds_d1hu :: - PrelBase.Double{-3a,p-} + ds_d18U :: PrelBase.Double{-3a,W-} {-# L #-} - ds_d1hu = - *_a19l - lit_a19k lit_a19j - } in - +_a19q - ds_d1hq ds_d1hu -h{-r4,x-} :: - PrelBase.Double{-3a,p-} + ds_d18U = + *_a13o lit_a13p lit_a13q + } in +_a13j ds_d18Q ds_d18U +h{-r4,x-} :: PrelBase.Double{-3a,W-} {-# L #-} h{-r4,x-} = - h_a106 -+_a1aJ :: - PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} -{-# L #-} -+_a1aJ = - +_a19F -g_a10L :: - PrelBase.Float{-3c,p-} -{-# L #-} -g_a10L = - let { ds_d1ib :: - PrelBase.Float{-3c,p-} + h_aUa ++_a148 :: PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} +{-# L #-} ++_a148 = + +_a134 +g_aUB :: PrelBase.Float{-3c,W-} +{-# L #-} +g_aUB = + let { ds_d19B :: PrelBase.Float{-3c,W-} {-# L #-} - ds_d1ib = + ds_d19B = let { - ds_d1in :: - PrelBase.Float{-3c,p-} + ds_d19N :: PrelBase.Float{-3c,W-} {-# L #-} - ds_d1in = - +_a1aJ - lit_a19C lit_a19A - } in - -_a19E - ds_d1in lit_a19y + ds_d19N = + +_a148 lit_a137 lit_a139 + } in -_a135 ds_d19N lit_a13b } in let { - ds_d1if :: - PrelBase.Float{-3c,p-} + ds_d19F :: PrelBase.Float{-3c,W-} {-# L #-} - ds_d1if = - *_a19x - lit_a19v lit_a19r - } in - +_a19F - ds_d1ib ds_d1if -g{-r2,x-} :: - PrelBase.Float{-3c,p-} + ds_d19F = + *_a13c lit_a13f lit_a13i + } in +_a134 ds_d19B ds_d19F +g{-r2,x-} :: PrelBase.Float{-3c,W-} {-# L #-} g{-r2,x-} = - g_a10L -+_a1bs :: - PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} - -> PrelBase.Double{-3a,p-} -{-# L #-} -+_a1bs = - +_a19S -f_a11q :: - PrelBase.Double{-3a,p-} -{-# L #-} -f_a11q = - let { ds_d1iW :: - PrelBase.Double{-3a,p-} + g_aUB ++_a12R :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} ++_a12R = + +_a12S +f_aV2 :: PrelBase.Double{-3a,W-} +{-# L #-} +f_aV2 = + let { ds_d1am :: PrelBase.Double{-3a,W-} {-# L #-} - ds_d1iW = + ds_d1am = let { - ds_d1j8 :: - PrelBase.Double{-3a,p-} + ds_d1ay :: PrelBase.Double{-3a,W-} {-# L #-} - ds_d1j8 = - +_a1bs - lit_a19P lit_a19N - } in - -_a19R - ds_d1j8 lit_a19L + ds_d1ay = + +_a12R lit_a12U lit_a12W + } in -_a12Q ds_d1ay lit_a12Y } in let { - ds_d1j0 :: - PrelBase.Double{-3a,p-} + ds_d1aq :: PrelBase.Double{-3a,W-} {-# L #-} - ds_d1j0 = - *_a19K - lit_a19I lit_a19G - } in - +_a19S - ds_d1iW ds_d1j0 -f{-r5,x-} :: - PrelBase.Double{-3a,p-} + ds_d1aq = + *_a12Z lit_a131 lit_a133 + } in +_a12S ds_d1am ds_d1aq +f{-r5,x-} :: PrelBase.Double{-3a,W-} {-# L #-} f{-r5,x-} = - f_a11q + f_aV2 +d.Num_aWi :: {PrelBase.Num{-2c,p-} PrelBase.Double{-3a,W-}} +{-# L #-} +d.Num_aWi = + PrelNum.$d16{-rnW,p-} ++_a12S :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} ++_a12S = + PrelBase.+{-rfj,p-} _@_ PrelBase.Double{-3a,W-} d.Num_aWi +d.Num_aWl :: {PrelBase.Num{-2c,p-} PrelBase.Double{-3a,W-}} +{-# L #-} +d.Num_aWl = + d.Num_aWi +-_a12Q :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +-_a12Q = + PrelBase.-{-817,p-} _@_ PrelBase.Double{-3a,W-} d.Num_aWl +d.Fractional_aWo :: {PrelNum.Fractional{-26,p-} PrelBase.Double{-3a,W-}} +{-# L #-} +d.Fractional_aWo = + PrelNum.$d14{-rnU,p-} +fromRational_a12T :: PrelNum.Rational{-3r,p-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +fromRational_a12T = + PrelNum.fromRational{-8T,p-} + _@_ PrelBase.Double{-3a,W-} d.Fractional_aWo +lit_a12U :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a12U = + fromRational_a12T _rational_ 3 2 +fromRational_a12V :: PrelNum.Rational{-3r,p-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +fromRational_a12V = + fromRational_a12T +lit_a12W :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a12W = + fromRational_a12V _rational_ 2 1 +fromRational_a12X :: PrelNum.Rational{-3r,p-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +fromRational_a12X = + fromRational_a12T +lit_a12Y :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a12Y = + fromRational_a12X _rational_ 62831853 20000000 +d.Num_aWt :: {PrelBase.Num{-2c,p-} PrelBase.Double{-3a,W-}} +{-# L #-} +d.Num_aWt = + d.Num_aWi +*_a12Z :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +*_a12Z = + PrelBase.*{-rX,p-} _@_ PrelBase.Double{-3a,W-} d.Num_aWt +fromRational_a130 :: PrelNum.Rational{-3r,p-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +fromRational_a130 = + fromRational_a12T +lit_a131 :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a131 = + fromRational_a130 _rational_ 21 5 +fromRational_a132 :: PrelNum.Rational{-3r,p-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +fromRational_a132 = + fromRational_a12T +lit_a133 :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a133 = + fromRational_a132 + _rational_ 5111111111111111111111111111 1000000000000000000000000000 +d.Num_aWx :: {PrelBase.Num{-2c,p-} PrelBase.Float{-3c,W-}} +{-# L #-} +d.Num_aWx = + PrelNum.$d25{-ro6,p-} ++_a134 :: PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} +{-# L #-} ++_a134 = + PrelBase.+{-rfj,p-} _@_ PrelBase.Float{-3c,W-} d.Num_aWx +d.Num_aWA :: {PrelBase.Num{-2c,p-} PrelBase.Float{-3c,W-}} +{-# L #-} +d.Num_aWA = + d.Num_aWx +-_a135 :: PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +-_a135 = + PrelBase.-{-817,p-} _@_ PrelBase.Float{-3c,W-} d.Num_aWA +d.Fractional_aWD :: {PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,W-}} +{-# L #-} +d.Fractional_aWD = + PrelNum.$d23{-ro4,p-} +fromRational_a136 :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a136 = + PrelNum.fromRational{-8T,p-} + _@_ PrelBase.Float{-3c,W-} d.Fractional_aWD +lit_a137 :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a137 = + fromRational_a136 _rational_ 3 2 +fromRational_a138 :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a138 = + fromRational_a136 +lit_a139 :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a139 = + fromRational_a138 _rational_ 2 1 +fromRational_a13a :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a13a = + fromRational_a136 +lit_a13b :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a13b = + fromRational_a13a _rational_ 62831853 20000000 +d.Num_aWI :: {PrelBase.Num{-2c,p-} PrelBase.Float{-3c,W-}} +{-# L #-} +d.Num_aWI = + d.Num_aWx +*_a13c :: PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +*_a13c = + PrelBase.*{-rX,p-} _@_ PrelBase.Float{-3c,W-} d.Num_aWI +fromRational_a13e :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a13e = + fromRational_a136 +lit_a13f :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a13f = + fromRational_a13e _rational_ 21 5 +fromRational_a13h :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a13h = + fromRational_a136 +lit_a13i :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a13i = + fromRational_a13h + _rational_ 5111111111111111111111111111 1000000000000000000000000000 ++_a13j :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} ++_a13j = + +_a12S +-_a13k :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +-_a13k = + -_a12Q +lit_a13l :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a13l = + lit_a12U +lit_a13m :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a13m = + lit_a12W +lit_a13n :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a13n = + lit_a12Y +*_a13o :: PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} + -> PrelBase.Double{-3a,W-} +{-# L #-} +*_a13o = + *_a12Z +lit_a13p :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a13p = + lit_a131 +lit_a13q :: PrelBase.Double{-3a,W-} +{-# L #-} +lit_a13q = + lit_a133 end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds014.stderr b/ghc/tests/deSugar/should_compile/ds014.stderr index 724fd2c..bd86684 100644 Binary files a/ghc/tests/deSugar/should_compile/ds014.stderr and b/ghc/tests/deSugar/should_compile/ds014.stderr differ diff --git a/ghc/tests/deSugar/should_compile/ds015.stderr b/ghc/tests/deSugar/should_compile/ds015.stderr index c389126..f173af1 100644 --- a/ghc/tests/deSugar/should_compile/ds015.stderr +++ b/ghc/tests/deSugar/should_compile/ds015.stderr @@ -1,87 +1,88 @@ ds015.hs:9: Warning: Possibly incomplete patterns - in a lambda abstraction: - `(x PrelBase.: xs) -> ...' + in a lambda abstraction: `(x PrelBase.: xs) -> ...' ================================================================================ Desugared: -h{-r3z,x-} :: - _forall_ [t{-an8-} t{-anf-}] => [t{-an8-}] -> t{-anf-} -> t{-an8-} +Rec { +h{-r3w,x-} :: _forall_ [takN takG] => [takG] -> takN -> takG {-# L #-} -h{-r3z,x-} = - _/\_ t{-an8-} t{-anf-} -> \ x_r3t :: - [t{-an8-}] - {-# L #-} - x_r3t y_r3v :: - t{-anf-} - {-# L #-} - y_r3v -> - (\ ds_drl :: - [t{-an8-}] - {-# L #-} - ds_drl -> - let { - fail_drm :: - t{-an8-} - {-# L #-} - fail_drm = - GHCerr.patError{-8r,p-} - _@_ t{-an8-} _string_ "ds015.hs:9|lambda" - } in - case ds_drl of { - PrelBase.[]{-5i,p-}{i} -> - fail_drm; - PrelBase.:{-55,p-}{i} x_r3x xs_r3y -> - x_r3x; - }) - x_r3t -g{-r3A,x-} :: - _forall_ - [t{-any-} t{-anA-} t{-anC-}] - => - ((t{-any-} -> t{-any-}) -> t{-anA-}) -> t{-anC-} -> t{-anA-} +h{-r3w,x-} = + _/\_ takN takG -> + _letrec_ { + h_ako :: [takG] -> takN -> takG + {-# L #-} + h_ako = + \ x_r3r :: [takG] + {-# L #-} + x_r3r y_r3s :: takN + {-# L #-} + y_r3s -> + (\ ds_dpA :: [takG] + {-# L #-} + ds_dpA -> + let { + fail_dpJ :: takG + {-# L #-} + fail_dpJ = + GHCerr.patError{-8r,w-} _@_ takG _string_ "ds015.hs:9|lambda" + } in + case ds_dpA of { + PrelBase.[]{-5i,w-}{i} -> fail_dpJ; + PrelBase.:{-55,w-}{i} x_r3u xs_r3v -> x_r3u; + }) + x_r3r; + } in h_ako +g{-r3x,x-} :: _forall_ + [talp talr talt] + => + ((talt -> talt) -> talr) -> talp -> talr {-# L #-} -g{-r3A,x-} = - _/\_ t{-any-} t{-anA-} t{-anC-} -> \ x_r3j :: - (t{-any-} -> t{-any-}) -> t{-anA-} - {-# L #-} - x_r3j y_r3l :: - t{-anC-} - {-# L #-} - y_r3l -> - let { - ds_drT :: - t{-any-} -> t{-any-} +g{-r3x,x-} = + _/\_ talp talr talt -> + _letrec_ { + g_akP :: ((talt -> talt) -> talr) -> talp -> talr {-# L #-} - ds_drT = - \ x_r3r :: - t{-any-} + g_akP = + \ x_r3j :: (talt -> talt) -> talr {-# L #-} - x_r3r -> - x_r3r - } in - (\ x_r3n :: - t{-any-} -> t{-any-} - {-# L #-} - x_r3n y_r3p :: - (t{-any-} -> t{-any-}) -> t{-anA-} - {-# L #-} - y_r3p -> - y_r3p - x_r3n) - ds_drT x_r3j -f{-r3B,x-} :: - _forall_ [t{-anM-}] => t{-anM-} -> t{-anM-} + x_r3j y_r3k :: talp + {-# L #-} + y_r3k -> + (let { + ds_dql :: talt -> talt + {-# L #-} + ds_dql = + \ x_r3p :: talt + {-# L #-} + x_r3p -> + x_r3p + } in + (\ x_r3m :: talt -> talt + {-# L #-} + x_r3m y_r3n :: (talt -> talt) -> talr + {-# L #-} + y_r3n -> + y_r3n x_r3m) + ds_dql) + x_r3j; + } in g_akP +f{-r3y,x-} :: _forall_ [talL] => talL -> talL {-# L #-} -f{-r3B,x-} = - _/\_ t{-anM-} -> \ x_r3f :: - t{-anM-} - {-# L #-} - x_r3f -> - (\ x_r3h :: - t{-anM-} - {-# L #-} - x_r3h -> - x_r3h) - x_r3f +f{-r3y,x-} = + _/\_ talL -> + _letrec_ { + f_alv :: talL -> talL + {-# L #-} + f_alv = + \ x_r3f :: talL + {-# L #-} + x_r3f -> + (\ x_r3h :: talL + {-# L #-} + x_r3h -> + x_r3h) + x_r3f; + } in f_alv +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds016.stderr b/ghc/tests/deSugar/should_compile/ds016.stderr index 7cddfe4..114d751 100644 --- a/ghc/tests/deSugar/should_compile/ds016.stderr +++ b/ghc/tests/deSugar/should_compile/ds016.stderr @@ -3,200 +3,146 @@ ================================================================================ Desugared: Rec { -d.MonadPlus_aXs :: - {PrelBase.MonadPlus{-2a,p-} PrelBase.[]{-3j,p-}} +f{-r3r,x-} :: _forall_ + [taRl taRH taRP] + => + [taRP] -> taRH -> [taRl] -> [taRl] {-# L #-} -d.MonadPlus_aXs = - PrelBase.$d22{-rp7,p-} -++_aYK :: - _forall_ - [rjy{-aWo-}] - => - [rjy{-aWo-}] -> [rjy{-aWo-}] -> [rjy{-aWo-}] -{-# L #-} -++_aYK = - PrelBase.++{-roG,p-} - _@_ PrelBase.[]{-3j,p-} d.MonadPlus_aXs -f{-r3t,x-} :: - _forall_ - [rjy{-aWN-} t{-aWT-} t{-aXo-}] - => - [rjy{-aWN-}] -> t{-aXo-} -> [t{-aWT-}] -> [t{-aWT-}] -{-# L #-} -f{-r3t,x-} = - _/\_ rjy{-aWN-} t{-aWT-} t{-aXo-} -> - let { - ++_aYM :: - _forall_ - [rjy{-aWw-}] - => - [rjy{-aWw-}] -> [rjy{-aWw-}] -> [rjy{-aWw-}] +f{-r3r,x-} = + _/\_ taRl taRH taRP -> + _letrec_ { + ++_aTa :: _forall_ [taQZ] => [taQZ] -> [taQZ] -> [taQZ] {-# L #-} - ++_aYM = - ++_aYK } in - let { - ++_aYL :: - _forall_ - [rjy{-aWD-}] - => - [rjy{-aWD-}] -> [rjy{-aWD-}] -> [rjy{-aWD-}] + ++_aTa = + ++_aTb; + ++_aT9 :: _forall_ [taR6] => [taR6] -> [taR6] -> [taR6] {-# L #-} - ++_aYL = - ++_aYK } in - let { - ++_aYJ :: - _forall_ - [rjy{-aWK-}] - => - [rjy{-aWK-}] -> [rjy{-aWK-}] -> [rjy{-aWK-}] + ++_aT9 = + ++_aTb; + ++_aTc :: _forall_ [taRd] => [taRd] -> [taRd] -> [taRd] {-# L #-} - ++_aYJ = - ++_aYK - } in - \ x_r3d :: - [rjy{-aWN-}] - {-# L #-} - x_r3d y_r3f :: - t{-aXo-} - {-# L #-} - y_r3f z_r3h :: - [t{-aWT-}] - {-# L #-} - z_r3h -> - let { ds_d13I :: - [rjy{-aWN-}] - {-# L #-} - ds_d13I = - let { ds_d131 :: - [rjy{-aWN-}] + ++_aTc = + ++_aTb; + f_aQw :: [taRP] -> taRH -> [taRl] -> [taRl] + {-# L #-} + f_aQw = + \ x_r3d :: [taRP] + {-# L #-} + x_r3d y_r3e :: taRH {-# L #-} - ds_d131 = - let { ds_d13e :: - [rjy{-aWN-}] + y_r3e z_r3f :: [taRl] + {-# L #-} + z_r3f -> + let { ds_dYt :: [taRP] {-# L #-} - ds_d13e = - let { - ds_d13r :: - [rjy{-aWN-}] - {-# L #-} - ds_d13r = - ++_aYJ - _@_ rjy{-aWN-} x_r3d x_r3d - } in - ++_aYL - _@_ rjy{-aWN-} x_r3d ds_d13r - } in - ++_aYM - _@_ rjy{-aWN-} x_r3d ds_d13e - } in - ++_aYK - _@_ rjy{-aWN-} x_r3d ds_d131 - } in - case ds_d13I of { - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aWT-}; - PrelBase.:{-55,p-}{i} a_r3k ds_d140 -> - let { fail_d14E :: - [t{-aWT-}] + ds_dYt = + let { ds_dXM :: [taRP] {-# L #-} - fail_d14E = - let { - bs_r3s :: - [rjy{-aWN-}] - {-# L #-} - bs_r3s = - ds_d140 } in - let { - a_r3r :: - rjy{-aWN-} - {-# L #-} - a_r3r = - a_r3k } in - let { ds_d14d :: - [PrelBase.Char{-38,p-}] + ds_dXM = + let { ds_dXZ :: [taRP] {-# L #-} - ds_d14d = + ds_dXZ = let { - ds_d14q :: - PrelBase.Char{-38,p-} + ds_dYc :: [taRP] {-# L #-} - ds_d14q = - PrelBase.C#{-54,p-}{i} - {'4'} } in - let { - ds_d14u :: - [PrelBase.Char{-38,p-}] - {-# L #-} - ds_d14u = - PrelBase.[]{-5i,p-}{i} - {_@_ PrelBase.Char{-38,p-}} - } in - PrelBase.:{-55,p-}{i} - {_@_ PrelBase.Char{-38,p-} ds_d14q ds_d14u} + ds_dYc = + ++_aTc _@_ taRP x_r3d x_r3d + } in ++_aT9 _@_ taRP x_r3d ds_dYc } in - IOBase.error{-87,p-} - _@_ [t{-aWT-}] ds_d14d + ++_aTa _@_ taRP x_r3d ds_dXZ } in - case ds_d140 of { - PrelBase.[]{-5i,p-}{i} -> - let { ds_d14S :: - [PrelBase.Char{-38,p-}] + ++_aTb _@_ taRP x_r3d ds_dXM + } in + case ds_dYt of { + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taRl; + PrelBase.:{-55,w-}{i} a_r3i ds_dYL -> + let { fail_dZp :: [taRl] + {-# L #-} + fail_dZp = + let { + bs_r3q :: [taRP] + {-# L #-} + bs_r3q = + ds_dYL } in + let { + a_r3p :: taRP + {-# L #-} + a_r3p = + a_r3i } in + let { ds_dYY :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d14S = + ds_dYY = let { - ds_d153 :: - PrelBase.Char{-38,p-} + ds_dZb :: PrelBase.Char{-38,W-} {-# L #-} - ds_d153 = - PrelBase.C#{-54,p-}{i} - {'2'} } in + ds_dZb = + PrelBase.C#{-54,w-}{i} {'4'} } in let { - ds_d157 :: - [PrelBase.Char{-38,p-}] + ds_dZf :: [PrelBase.Char{-38,W-}] {-# L #-} - ds_d157 = - PrelBase.[]{-5i,p-}{i} - {_@_ PrelBase.Char{-38,p-}} + ds_dZf = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} } in - PrelBase.:{-55,p-}{i} - {_@_ PrelBase.Char{-38,p-} ds_d153 ds_d157} + PrelBase.:{-55,w-}{i} {_@_ PrelBase.Char{-38,W-} ds_dZb ds_dZf} } in - IOBase.error{-87,p-} - _@_ [t{-aWT-}] ds_d14S; - PrelBase.:{-55,p-}{i} b_r3n ds_d15m -> - case ds_d15m of { - PrelBase.[]{-5i,p-}{i} -> - fail_d14E; - PrelBase.:{-55,p-}{i} c_r3o ds_d15z -> - case ds_d15z of { - PrelBase.:{-55,p-}{i} ds_d15H ds_d15G -> - fail_d14E; - PrelBase.[]{-5i,p-}{i} -> - let { - a_r3m :: - rjy{-aWN-} - {-# L #-} - a_r3m = - a_r3k } in - let { - ds_d15Q :: - (t{-aXo-}, [t{-aWT-}], t{-aXo-}, [t{-aWT-}]) - {-# L #-} - ds_d15Q = - PrelTup.(,,,){-64,p-}{i} - {_@_ t{-aXo-} - _@_ [t{-aWT-}] - _@_ t{-aXo-} - _@_ [t{-aWT-}] - y_r3f - z_r3h - y_r3f - z_r3h} - } in - z_r3h; - }; - }; - }; - } + IOBase.error{-87,w-} _@_ [taRl] ds_dYY + } in + case ds_dYL of { + PrelBase.[]{-5i,w-}{i} -> + let { ds_dZD :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_dZD = + let { + ds_dZO :: PrelBase.Char{-38,W-} + {-# L #-} + ds_dZO = + PrelBase.C#{-54,w-}{i} {'2'} } in + let { + ds_dZS :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_dZS = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} + } in + PrelBase.:{-55,w-}{i} {_@_ PrelBase.Char{-38,W-} ds_dZO ds_dZS} + } in + IOBase.error{-87,w-} _@_ [taRl] ds_dZD; + PrelBase.:{-55,w-}{i} b_r3l ds_d107 -> + case ds_d107 of { + PrelBase.[]{-5i,w-}{i} -> fail_dZp; + PrelBase.:{-55,w-}{i} c_r3m ds_d10k -> + case ds_d10k of { + PrelBase.:{-55,w-}{i} ds_d10r ds_d10s -> fail_dZp; + PrelBase.[]{-5i,w-}{i} -> + let { + a_r3k :: taRP + {-# L #-} + a_r3k = + a_r3i } in + let { + ds_d10B :: (taRH, [taRl], taRH, [taRl]) + {-# L #-} + ds_d10B = + PrelTup.(,,,){-64,w-}{i} + {_@_ taRH + _@_ [taRl] + _@_ taRH + _@_ [taRl] + y_r3e + z_r3f + y_r3e + z_r3f} + } in z_r3f; + }; + }; + }; + }; + } in f_aQw +d.MonadPlus_aRX :: {PrelBase.MonadPlus{-2a,p-} PrelBase.[]{-3j,W-}} +{-# L #-} +d.MonadPlus_aRX = + PrelBase.$d23{-roi,p-} +++_aTb :: _forall_ [taQR] => [taQR] -> [taQR] -> [taQR] +{-# L #-} +++_aTb = + PrelBase.++{-rnQ,p-} _@_ PrelBase.[]{-3j,W-} d.MonadPlus_aRX end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds017.stderr b/ghc/tests/deSugar/should_compile/ds017.stderr index bbeb820..e4096df 100644 --- a/ghc/tests/deSugar/should_compile/ds017.stderr +++ b/ghc/tests/deSugar/should_compile/ds017.stderr @@ -2,81 +2,65 @@ ================================================================================ Desugared: -f{-r3p,x-} :: - _forall_ - [t{-aBq-} t{-aBs-} t{-aBd-}] - => - t{-aBd-} - -> ((t{-aBq-}, t{-aBq-}) -> t{-aBs-}) - -> t{-aBq-} - -> (t{-aBs-}, [t{-aBd-}]) +Rec { +f{-r3n,x-} :: _forall_ + [tayF tayW taz2] + => + tayW -> ((tayF, tayF) -> taz2) -> tayF -> (taz2, [tayW]) {-# L #-} -f{-r3p,x-} = - _/\_ t{-aBq-} t{-aBs-} t{-aBd-} -> \ x_r3d :: - t{-aBd-} - {-# L #-} - x_r3d y_r3f :: - (t{-aBq-}, t{-aBq-}) -> t{-aBs-} - {-# L #-} - y_r3f z_r3h :: - t{-aBq-} - {-# L #-} - z_r3h -> - let { c_aAS :: - t{-aBs-} - {-# L #-} - c_aAS = - let { - ds_dEz :: - (t{-aBq-}, t{-aBq-}) - {-# L #-} - ds_dEz = - PrelTup.(,){-62,p-}{i} - {_@_ t{-aBq-} _@_ t{-aBq-} z_r3h z_r3h} - } in - y_r3f - ds_dEz - } in - let { - c_r3l :: - t{-aBs-} +f{-r3n,x-} = + _/\_ tayF tayW taz2 -> + _letrec_ { + f_aya :: tayW -> ((tayF, tayF) -> taz2) -> tayF -> (taz2, [tayW]) {-# L #-} - c_r3l = - c_aAS } in - let { a_aB8 :: - [t{-aBd-}] - {-# L #-} - a_aB8 = - let { - ds_dF5 :: - [t{-aBd-}] - {-# L #-} - ds_dF5 = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aBd-} - } in - PrelBase.:{-55,p-}{i} - _@_ t{-aBd-} x_r3d ds_dF5 - } in - let { - a_r3j :: - [t{-aBd-}] - {-# L #-} - a_r3j = - a_aB8 } in - let { - b_aBg :: - [t{-aBd-}] - {-# L #-} - b_aBg = - PrelBase.:{-55,p-}{i} - _@_ t{-aBd-} x_r3d a_r3j } in - let { - b_r3k :: - [t{-aBd-}] - {-# L #-} - b_r3k = - b_aBg - } in - PrelTup.(,){-62,p-}{i} - {_@_ t{-aBs-} _@_ [t{-aBd-}] c_r3l b_r3k} + f_aya = + \ x_r3d :: tayW + {-# L #-} + x_r3d y_r3e :: (tayF, tayF) -> taz2 + {-# L #-} + y_r3e z_r3f :: tayF + {-# L #-} + z_r3f -> + let { c_ays :: taz2 + {-# L #-} + c_ays = + let { + ds_dCV :: (tayF, tayF) + {-# L #-} + ds_dCV = + PrelTup.(,){-62,w-}{i} {_@_ tayF _@_ tayF z_r3f z_r3f} + } in y_r3e ds_dCV + } in + let { + c_r3j :: taz2 + {-# L #-} + c_r3j = + c_ays } in + let { a_ayK :: [tayW] + {-# L #-} + a_ayK = + let { + ds_dDr :: [tayW] + {-# L #-} + ds_dDr = + PrelBase.[]{-5i,w-}{i} _@_ tayW + } in PrelBase.:{-55,w-}{i} _@_ tayW x_r3d ds_dDr + } in + let { + a_r3h :: [tayW] + {-# L #-} + a_r3h = + a_ayK } in + let { + b_ayS :: [tayW] + {-# L #-} + b_ayS = + PrelBase.:{-55,w-}{i} _@_ tayW x_r3d a_r3h } in + let { + b_r3i :: [tayW] + {-# L #-} + b_r3i = + b_ayS + } in PrelTup.(,){-62,w-}{i} {_@_ taz2 _@_ [tayW] c_r3j b_r3i}; + } in f_aya +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds018.stderr b/ghc/tests/deSugar/should_compile/ds018.stderr index c74c3bd..2f21228 100644 --- a/ghc/tests/deSugar/should_compile/ds018.stderr +++ b/ghc/tests/deSugar/should_compile/ds018.stderr @@ -1,671 +1,675 @@ -ds018.hs:41: - Warning: Possibly incomplete patterns - in the definition of function `fb' ds018.hs:39: Warning: Possibly incomplete patterns in the definition of function `fa' +ds018.hs:41: + Warning: Possibly incomplete patterns + in the definition of function `fb' ================================================================================ Desugared: -gb2_aCw :: - PrelBase.(){-40,p-} -> PrelBase.(){-40,p-} +Rec { +gb2_azP :: PrelBase.(){-40,W-} -> PrelBase.(){-40,W-} {-# L #-} -gb2_aCw = - \ ds_d18I :: - PrelBase.(){-40,p-} +gb2_azP = + \ ds_d1bE :: PrelBase.(){-40,W-} {-# L #-} - ds_d18I -> - case ds_d18I of { PrelBase.(){-60,p-}{i} -> - PrelBase.(){-60,p-}{i};} -gb2{-r50,x-} :: - PrelBase.(){-40,p-} -> PrelBase.(){-40,p-} + ds_d1bE -> + case ds_d1bE of { PrelBase.(){-60,w-}{i} -> + PrelBase.(){-60,w-}{i};} +gb2{-r4T,x-} :: PrelBase.(){-40,W-} -> PrelBase.(){-40,W-} {-# L #-} -gb2{-r50,x-} = - gb2_aCw -gb{-r51,x-} :: - _forall_ [t{-aCG-}] => PrelBase.(){-40,p-} -> t{-aCG-} -> t{-aCG-} +gb2{-r4T,x-} = + gb2_azP +gb{-r4U,x-} :: _forall_ + [taA5] + => + PrelBase.(){-40,W-} -> taA5 -> taA5 {-# L #-} -gb{-r51,x-} = - _/\_ t{-aCG-} -> \ ds_d19f :: - PrelBase.(){-40,p-} - {-# L #-} - ds_d19f x_r4Z :: - t{-aCG-} - {-# L #-} - x_r4Z -> - case ds_d19f of { PrelBase.(){-60,p-}{i} -> x_r4Z;} -ga{-r52,x-} :: - _forall_ - [t{-aDB-} t{-aDE-} t{-aDH-} t{-aDK-} t{-aDN-} t{-aDQ-} t{-aDT-} t{-aDW-} t{-aDZ-} t{-aE2-} t{-aE5-} t{-aE8-} t{-aEb-} t{-aEe-} t{-aEh-} t{-aEk-} t{-aEn-} t{-aEq-} t{-aEt-} t{-aEw-} t{-aEz-} t{-aEC-} t{-aEF-} t{-aEI-} t{-aEL-} t{-aEO-} t{-aER-} t{-aEU-} t{-aEX-} t{-aF0-} t{-aF3-} t{-aF6-} t{-aF9-} t{-aFc-} t{-aFf-} t{-aFi-} t{-aFl-} t{-aFo-} t{-aFr-} t{-aFu-} t{-aFx-} t{-aFA-} t{-aFD-} t{-aFG-} t{-aFJ-} t{-aFM-} t{-aFP-} t{-aFS-} t{-aFV-} t{-aFY-} t{-aG1-} t{-aG4-}] - => - (t{-aDB-}, t{-aDE-}, t{-aDH-}, t{-aDK-}, t{-aDN-}, t{-aDQ-}, t{-aDT-}, t{-aDW-}, t{-aDZ-}, t{-aE2-}, t{-aE5-}, t{-aE8-}, t{-aEb-}, t{-aEe-}, t{-aEh-}, t{-aEk-}, t{-aEn-}, t{-aEq-}, t{-aEt-}, t{-aEw-}, t{-aEz-}, t{-aEC-}, t{-aEF-}, t{-aEI-}, t{-aEL-}, t{-aEO-}, t{-aER-}, t{-aEU-}, t{-aEX-}, t{-aF0-}, t{-aF3-}, t{-aF6-}, t{-aF9-}, t{-aFc-}, t{-aFf-}, t{-aFi-}, t{-aFl-}, t{-aFo-}, t{-aFr-}, t{-aFu-}, t{-aFx-}, t{-aFA-}, t{-aFD-}, t{-aFG-}, t{-aFJ-}, t{-aFM-}, t{-aFP-}, t{-aFS-}, t{-aFV-}, t{-aFY-}, t{-aG1-}, t{-aG4-}) - -> t{-aEI-} +gb{-r4U,x-} = + _/\_ taA5 -> + _letrec_ { + gb_azU :: PrelBase.(){-40,W-} -> taA5 -> taA5 + {-# L #-} + gb_azU = + \ ds_d1cC :: PrelBase.(){-40,W-} + {-# L #-} + ds_d1cC x_r4S :: taA5 + {-# L #-} + x_r4S -> + case ds_d1cC of { PrelBase.(){-60,w-}{i} -> x_r4S;}; + } in gb_azU +ga{-r4V,x-} :: _forall_ + [taB2 taB5 taB8 taBb taBe taBh taBk taBn taBq taBt taBw taBz taBC taBF taBI taBL taBO taBR taBU taBX taC0 taC3 taC6 taC9 taCc taCf taCi taCl taCo taCr taCu taCx taCA taCD taCG taCJ taCM taCP taCS taCV taCY taD1 taD4 taD7 taDa taDd taDg taDj taDm taDp taDs taDv] + => + (taB2, taB5, taB8, taBb, taBe, taBh, taBk, taBn, taBq, taBt, taBw, taBz, taBC, taBF, taBI, taBL, taBO, taBR, taBU, taBX, taC0, taC3, taC6, taC9, taCc, taCf, taCi, taCl, taCo, taCr, taCu, taCx, taCA, taCD, taCG, taCJ, taCM, taCP, taCS, taCV, taCY, taD1, taD4, taD7, taDa, taDd, taDg, taDj, taDm, taDp, taDs, taDv) + -> taC9 {-# L #-} -ga{-r52,x-} = - _/\_ t{-aDB-} t{-aDE-} t{-aDH-} t{-aDK-} t{-aDN-} t{-aDQ-} t{-aDT-} t{-aDW-} t{-aDZ-} t{-aE2-} t{-aE5-} t{-aE8-} t{-aEb-} t{-aEe-} t{-aEh-} t{-aEk-} t{-aEn-} t{-aEq-} t{-aEt-} t{-aEw-} t{-aEz-} t{-aEC-} t{-aEF-} t{-aEI-} t{-aEL-} t{-aEO-} t{-aER-} t{-aEU-} t{-aEX-} t{-aF0-} t{-aF3-} t{-aF6-} t{-aF9-} t{-aFc-} t{-aFf-} t{-aFi-} t{-aFl-} t{-aFo-} t{-aFr-} t{-aFu-} t{-aFx-} t{-aFA-} t{-aFD-} t{-aFG-} t{-aFJ-} t{-aFM-} t{-aFP-} t{-aFS-} t{-aFV-} t{-aFY-} t{-aG1-} t{-aG4-} -> \ ds_d1ar :: - (t{-aDB-}, t{-aDE-}, t{-aDH-}, t{-aDK-}, t{-aDN-}, t{-aDQ-}, t{-aDT-}, t{-aDW-}, t{-aDZ-}, t{-aE2-}, t{-aE5-}, t{-aE8-}, t{-aEb-}, t{-aEe-}, t{-aEh-}, t{-aEk-}, t{-aEn-}, t{-aEq-}, t{-aEt-}, t{-aEw-}, t{-aEz-}, t{-aEC-}, t{-aEF-}, t{-aEI-}, t{-aEL-}, t{-aEO-}, t{-aER-}, t{-aEU-}, t{-aEX-}, t{-aF0-}, t{-aF3-}, t{-aF6-}, t{-aF9-}, t{-aFc-}, t{-aFf-}, t{-aFi-}, t{-aFl-}, t{-aFo-}, t{-aFr-}, t{-aFu-}, t{-aFx-}, t{-aFA-}, t{-aFD-}, t{-aFG-}, t{-aFJ-}, t{-aFM-}, t{-aFP-}, t{-aFS-}, t{-aFV-}, t{-aFY-}, t{-aG1-}, t{-aG4-}) - {-# L #-} - ds_d1ar -> - case - ds_d1ar - of { - PrelTup.(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,){-6Q,p-}{i} a_r47 b_r48 c_r49 d_r4a e_r4b f_r4c g_r4d h_r4e i_r4f j_r4g k_r4h l_r4i m_r4j n_r4k o_r4l p_r4m q_r4n r_r4o s_r4p t_r4q u_r4r v_r4s w_r4t x_r4u y_r4v z_r4w aa_r4x ab_r4y ac_r4z ad_r4A ae_r4B af_r4C ag_r4D ah_r4E ai_r4F aj_r4G ak_r4H al_r4I am_r4J an_r4K ao_r4L ap_r4M aq_r4N ar_r4O as_r4P at_r4Q au_r4R av_r4S aw_r4T ax_r4U ay_r4V az_r4W -> - x_r4u;} -fb{-r53,x-} :: - _forall_ [t{-aGc-} t{-aGe-}] => [t{-aGc-}] -> [t{-aGe-}] +ga{-r4V,x-} = + _/\_ taB2 taB5 taB8 taBb taBe taBh taBk taBn taBq taBt taBw taBz taBC taBF taBI taBL taBO taBR taBU taBX taC0 taC3 taC6 taC9 taCc taCf taCi taCl taCo taCr taCu taCx taCA taCD taCG taCJ taCM taCP taCS taCV taCY taD1 taD4 taD7 taDa taDd taDg taDj taDm taDp taDs taDv -> + _letrec_ { + ga_aA7 :: (taB2, taB5, taB8, taBb, taBe, taBh, taBk, taBn, taBq, taBt, taBw, taBz, taBC, taBF, taBI, taBL, taBO, taBR, taBU, taBX, taC0, taC3, taC6, taC9, taCc, taCf, taCi, taCl, taCo, taCr, taCu, taCx, taCA, taCD, taCG, taCJ, taCM, taCP, taCS, taCV, taCY, taD1, taD4, taD7, taDa, taDd, taDg, taDj, taDm, taDp, taDs, taDv) + -> taC9 + {-# L #-} + ga_aA7 = + \ ds_d1dO :: (taB2, taB5, taB8, taBb, taBe, taBh, taBk, taBn, taBq, taBt, taBw, taBz, taBC, taBF, taBI, taBL, taBO, taBR, taBU, taBX, taC0, taC3, taC6, taC9, taCc, taCf, taCi, taCl, taCo, taCr, taCu, taCx, taCA, taCD, taCG, taCJ, taCM, taCP, taCS, taCV, taCY, taD1, taD4, taD7, taDa, taDd, taDg, taDj, taDm, taDp, taDs, taDv) + {-# L #-} + ds_d1dO -> + case + ds_d1dO + of { + PrelTup.(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,){-6Q,w-}{i} a_r41 b_r42 c_r43 d_r44 e_r45 f_r46 g_r47 h_r48 i_r49 j_r4a k_r4b l_r4c m_r4d n_r4e o_r4f p_r4g q_r4h r_r4i s_r4j t_r4k u_r4l v_r4m w_r4n x_r4o y_r4p z_r4q aa_r4r ab_r4s ac_r4t ad_r4u ae_r4v af_r4w ag_r4x ah_r4y ai_r4z aj_r4A ak_r4B al_r4C am_r4D an_r4E ao_r4F ap_r4G aq_r4H ar_r4I as_r4J at_r4K au_r4L av_r4M aw_r4N ax_r4O ay_r4P az_r4Q -> + x_r4o;}; + } in ga_aA7 +fb{-r4W,x-} :: _forall_ [taDG taDJ] => [taDG] -> [taDJ] {-# L #-} -fb{-r53,x-} = - _/\_ t{-aGc-} t{-aGe-} -> \ ds_d1aY :: - [t{-aGc-}] - {-# L #-} - ds_d1aY -> - let { - fail_d1aZ :: - [t{-aGe-}] +fb{-r4W,x-} = + _/\_ taDG taDJ -> + _letrec_ { + fb_aDA :: [taDG] -> [taDJ] {-# L #-} - fail_d1aZ = - GHCerr.patError{-8r,p-} - _@_ [t{-aGe-}] _string_ "ds018.hs:41|function `fb'" - } in - case ds_d1aY of { - PrelBase.:{-55,p-}{i} ds_d1b7 ds_d1b6 -> - fail_d1aZ; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aGe-}; - } -fa{-r54,x-} :: - _forall_ [t{-aGJ-}] => [t{-aGJ-}] -> t{-aGJ-} + fb_aDA = + \ ds_d1el :: [taDG] + {-# L #-} + ds_d1el -> + let { + fail_d1em :: [taDJ] + {-# L #-} + fail_d1em = + GHCerr.patError{-8r,w-} + _@_ [taDJ] _string_ "ds018.hs:41|function `fb'" + } in + case ds_d1el of { + PrelBase.:{-55,w-}{i} ds_d1et ds_d1eu -> fail_d1em; + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taDJ; + }; + } in fb_aDA +fa{-r4X,x-} :: _forall_ [taEg] => [taEg] -> taEg {-# L #-} -fa{-r54,x-} = - _/\_ t{-aGJ-} -> \ ds_d1bF :: - [t{-aGJ-}] - {-# L #-} - ds_d1bF -> - let { - fail_d1bG :: - t{-aGJ-} +fa{-r4X,x-} = + _/\_ taEg -> + _letrec_ { + fa_aDL :: [taEg] -> taEg {-# L #-} - fail_d1bG = - GHCerr.patError{-8r,p-} - _@_ t{-aGJ-} _string_ "ds018.hs:39|function `fa'" - } in - case ds_d1bF of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} a_r3F ds_d1bT -> - case ds_d1bT of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} b_r3G ds_d1c6 -> - case ds_d1c6 of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} c_r3H ds_d1cj -> - case ds_d1cj of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} d_r3I ds_d1cw -> - case ds_d1cw of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} e_r3J ds_d1cJ -> - case ds_d1cJ of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} f_r3K ds_d1cW -> - case ds_d1cW of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} g_r3L ds_d1d9 -> - case ds_d1d9 of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} h_r3M ds_d1dm -> - case ds_d1dm of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} i_r3N ds_d1dz -> - case ds_d1dz of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} j_r3O ds_d1dM -> - case ds_d1dM of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} k_r3P ds_d1dZ -> - case ds_d1dZ of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} l_r3Q ds_d1ec -> - case ds_d1ec of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} m_r3R ds_d1ep -> - case - ds_d1ep - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} n_r3S ds_d1eC -> - case - ds_d1eC - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} o_r3T ds_d1eP -> - case - ds_d1eP - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} p_r3U ds_d1f2 -> - case - ds_d1f2 - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} q_r3V ds_d1ff -> - case - ds_d1ff - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} r_r3W ds_d1fs -> - case - ds_d1fs - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} s_r3X ds_d1fF -> - case - ds_d1fF - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} t_r3Y ds_d1fS -> - case - ds_d1fS - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} u_r3Z ds_d1g5 -> - case - ds_d1g5 - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} v_r40 ds_d1gi -> - case - ds_d1gi - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} w_r41 ds_d1gv -> - case - ds_d1gv - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} x_r42 ds_d1gI -> - case - ds_d1gI - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} y_r43 ds_d1gV -> - case - ds_d1gV - of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1bG; - PrelBase.:{-55,p-}{i} z_r44 ds_d1h8 -> - case - ds_d1h8 - of { - PrelBase.:{-55,p-}{i} ds_d1hg ds_d1hf -> - fail_d1bG; - PrelBase.[]{-5i,p-}{i} -> - x_r42; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; - } -g{-r55,x-} :: - _forall_ - [t{-aHm-} t{-aHo-} t{-aHq-}] - => - t{-aHm-} - -> t{-aHo-} - -> t{-aHq-} - -> (t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}, t{-aHm-}, t{-aHo-}, t{-aHq-}) + fa_aDL = + \ ds_d1f2 :: [taEg] + {-# L #-} + ds_d1f2 -> + let { + fail_d1f3 :: taEg + {-# L #-} + fail_d1f3 = + GHCerr.patError{-8r,w-} + _@_ taEg _string_ "ds018.hs:39|function `fa'" + } in + case ds_d1f2 of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} a_r3z ds_d1fg -> + case ds_d1fg of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} b_r3A ds_d1ft -> + case ds_d1ft of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} c_r3B ds_d1fG -> + case ds_d1fG of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} d_r3C ds_d1fT -> + case ds_d1fT of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} e_r3D ds_d1g6 -> + case ds_d1g6 of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} f_r3E ds_d1gj -> + case ds_d1gj of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} g_r3F ds_d1gw -> + case ds_d1gw of { + PrelBase.[]{-5i,w-}{i} -> fail_d1f3; + PrelBase.:{-55,w-}{i} h_r3G ds_d1gJ -> + case ds_d1gJ of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} i_r3H ds_d1gW -> + case ds_d1gW of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} j_r3I ds_d1h9 -> + case ds_d1h9 of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} k_r3J ds_d1hm -> + case + ds_d1hm + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} l_r3K ds_d1hz -> + case + ds_d1hz + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} m_r3L ds_d1hM -> + case + ds_d1hM + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} n_r3M ds_d1hZ -> + case + ds_d1hZ + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} o_r3N ds_d1ic -> + case + ds_d1ic + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} p_r3O ds_d1ip -> + case + ds_d1ip + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} q_r3P ds_d1iC -> + case + ds_d1iC + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} r_r3Q ds_d1iP -> + case + ds_d1iP + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} s_r3R ds_d1j2 -> + case + ds_d1j2 + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} t_r3S ds_d1jf -> + case + ds_d1jf + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} u_r3T ds_d1js -> + case + ds_d1js + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} v_r3U ds_d1jF -> + case + ds_d1jF + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} w_r3V ds_d1jS -> + case + ds_d1jS + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} x_r3W ds_d1k5 -> + case + ds_d1k5 + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} y_r3X ds_d1ki -> + case + ds_d1ki + of { + PrelBase.[]{-5i,w-}{i} -> + fail_d1f3; + PrelBase.:{-55,w-}{i} z_r3Y ds_d1kv -> + case + ds_d1kv + of { + PrelBase.:{-55,w-}{i} ds_d1kC ds_d1kD -> + fail_d1f3; + PrelBase.[]{-5i,w-}{i} -> + x_r3W; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + } in fa_aDL +g{-r4Y,x-} :: _forall_ + [taJN taJP taJR] + => + taJN + -> taJP + -> taJR + -> (taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR) {-# L #-} -g{-r55,x-} = - _/\_ t{-aHm-} t{-aHo-} t{-aHq-} -> \ x_r3z :: - t{-aHm-} - {-# L #-} - x_r3z y_r3B :: - t{-aHo-} - {-# L #-} - y_r3B z_r3D :: - t{-aHq-} - {-# L #-} - z_r3D -> - PrelTup.(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,){-62q,p-}{i} - {_@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - _@_ t{-aHm-} - _@_ t{-aHo-} - _@_ t{-aHq-} - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D - x_r3z - y_r3B - z_r3D} -g1{-r56,x-} :: - _forall_ - [t{-aHA-} t{-aHC-}] - => - t{-aHA-} -> t{-aHC-} -> PrelBase.(){-40,p-} +g{-r4Y,x-} = + _/\_ taJN taJP taJR -> + _letrec_ { + g_aEK :: taJN + -> taJP + -> taJR + -> (taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR, taJN, taJP, taJR) + {-# L #-} + g_aEK = + \ x_r3v :: taJN + {-# L #-} + x_r3v y_r3w :: taJP + {-# L #-} + y_r3w z_r3x :: taJR + {-# L #-} + z_r3x -> + PrelTup.(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,){-62q,w-}{i} + {_@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + _@_ taJN + _@_ taJP + _@_ taJR + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x + x_r3v + y_r3w + z_r3x}; + } in g_aEK +g1{-r4Z,x-} :: _forall_ + [taK6 taK8] + => + taK6 -> taK8 -> PrelBase.(){-40,W-} {-# L #-} -g1{-r56,x-} = - _/\_ t{-aHA-} t{-aHC-} -> \ x_r3v :: - t{-aHA-} - {-# L #-} - x_r3v y_r3x :: - t{-aHC-} - {-# L #-} - y_r3x -> - PrelBase.(){-60,p-}{i} -f2{-r57,x-} :: - _forall_ - [t{-aHO-} t{-aHQ-} t{-aHM-}] - => - t{-aHO-} -> t{-aHQ-} -> [t{-aHM-}] +g1{-r4Z,x-} = + _/\_ taK6 taK8 -> + _letrec_ { + g1_aJT :: taK6 -> taK8 -> PrelBase.(){-40,W-} + {-# L #-} + g1_aJT = + \ x_r3s :: taK6 + {-# L #-} + x_r3s y_r3t :: taK8 + {-# L #-} + y_r3t -> + PrelBase.(){-60,w-}{i}; + } in g1_aJT +f2{-r50,x-} :: _forall_ + [taKq taKs taKo] + => + taKq -> taKs -> [taKo] {-# L #-} -f2{-r57,x-} = - _/\_ t{-aHO-} t{-aHQ-} t{-aHM-} -> \ x_r3r :: - t{-aHO-} - {-# L #-} - x_r3r y_r3t :: - t{-aHQ-} - {-# L #-} - y_r3t -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aHM-} -f{-r58,x-} :: - _forall_ - [t{-aI2-}] - => - t{-aI2-} -> t{-aI2-} -> t{-aI2-} -> [t{-aI2-}] +f2{-r50,x-} = + _/\_ taKq taKs taKo -> + _letrec_ { + f2_aKa :: taKq -> taKs -> [taKo] + {-# L #-} + f2_aKa = + \ x_r3p :: taKq + {-# L #-} + x_r3p y_r3q :: taKs + {-# L #-} + y_r3q -> + PrelBase.[]{-5i,w-}{i} _@_ taKo; + } in f2_aKa +f{-r51,x-} :: _forall_ [taKN] => taKN -> taKN -> taKN -> [taKN] {-# L #-} -f{-r58,x-} = - _/\_ t{-aI2-} -> \ x_r3l :: - t{-aI2-} - {-# L #-} - x_r3l y_r3n :: - t{-aI2-} - {-# L #-} - y_r3n z_r3p :: - t{-aI2-} - {-# L #-} - z_r3p -> - let { ds_d1uJ :: - [t{-aI2-}] - {-# L #-} - ds_d1uJ = - let { ds_d1uV :: - [t{-aI2-}] +f{-r51,x-} = + _/\_ taKN -> + _letrec_ { + f_aKu :: taKN -> taKN -> taKN -> [taKN] + {-# L #-} + f_aKu = + \ x_r3l :: taKN {-# L #-} - ds_d1uV = - let { ds_d1v7 :: - [t{-aI2-}] - {-# L #-} - ds_d1v7 = - let { ds_d1vj :: - [t{-aI2-}] - {-# L #-} - ds_d1vj = - let { ds_d1vv :: - [t{-aI2-}] + x_r3l y_r3m :: taKN {-# L #-} - ds_d1vv = - let { - ds_d1vH :: - [t{-aI2-}] - {-# L #-} - ds_d1vH = - PrelBase.[]{-5i,p-}{i} - {_@_ t{-aI2-}} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-aI2-} z_r3p ds_d1vH} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-aI2-} y_r3n ds_d1vv} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-aI2-} x_r3l ds_d1vj} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-aI2-} z_r3p ds_d1v7} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-aI2-} y_r3n ds_d1uV} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-aI2-} x_r3l ds_d1uJ} + y_r3m z_r3n :: taKN + {-# L #-} + z_r3n -> + let { ds_d1y6 :: [taKN] + {-# L #-} + ds_d1y6 = + let { ds_d1yi :: [taKN] + {-# L #-} + ds_d1yi = + let { ds_d1yu :: [taKN] + {-# L #-} + ds_d1yu = + let { ds_d1yG :: [taKN] + {-# L #-} + ds_d1yG = + let { ds_d1yS :: [taKN] + {-# L #-} + ds_d1yS = + let { + ds_d1z4 :: [taKN] + {-# L #-} + ds_d1z4 = + PrelBase.[]{-5i,w-}{i} {_@_ taKN} + } in PrelBase.:{-55,w-}{i} {_@_ taKN z_r3n ds_d1z4} + } in + PrelBase.:{-55,w-}{i} {_@_ taKN y_r3m ds_d1yS} + } in + PrelBase.:{-55,w-}{i} {_@_ taKN x_r3l ds_d1yG} + } in + PrelBase.:{-55,w-}{i} {_@_ taKN z_r3n ds_d1yu} + } in + PrelBase.:{-55,w-}{i} {_@_ taKN y_r3m ds_d1yi} + } in + PrelBase.:{-55,w-}{i} {_@_ taKN x_r3l ds_d1y6}; + } in f_aKu +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds019.stderr b/ghc/tests/deSugar/should_compile/ds019.stderr index e064f37..96f18d1 100644 --- a/ghc/tests/deSugar/should_compile/ds019.stderr +++ b/ghc/tests/deSugar/should_compile/ds019.stderr @@ -8,26 +8,26 @@ ds019.hs:8: ================================================================================ Desugared: -f{-r3G,x-} :: - _forall_ - [t{-aBG-} t{-aBJ-} t{-aBM-} t{-aBY-} t{-aC1-} t{-aC9-} t{-aC7-}] - => - (t{-aBG-}, t{-aBJ-}, t{-aBM-}) - -> (t{-aBY-}, t{-aC1-}) - -> t{-aC9-} - -> [t{-aC7-}] +Rec { +f{-r3y,x-} :: _forall_ + [tazA taz7 taza tazd tazq tazt tazy] + => + (taz7, taza, tazd) -> (tazq, tazt) -> tazA -> [tazy] {-# L #-} -f{-r3G,x-} = - _/\_ t{-aBG-} t{-aBJ-} t{-aBM-} t{-aBY-} t{-aC1-} t{-aC9-} t{-aC7-} -> \ ds_dGA :: - (t{-aBG-}, t{-aBJ-}, t{-aBM-}) - {-# L #-} - ds_dGA i_r3h :: - (t{-aBY-}, t{-aC1-}) - {-# L #-} - i_r3h o_r3j :: - t{-aC9-} - {-# L #-} - o_r3j -> - case ds_dGA of { PrelTup.(,,){-63,p-}{i} a_r3d b_r3e c_r3f -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aC7-};} +f{-r3y,x-} = + _/\_ tazA taz7 taza tazd tazq tazt tazy -> + _letrec_ { + f_ayl :: (taz7, taza, tazd) -> (tazq, tazt) -> tazA -> [tazy] + {-# L #-} + f_ayl = + \ ds_dEd :: (taz7, taza, tazd) + {-# L #-} + ds_dEd i_r3g :: (tazq, tazt) + {-# L #-} + i_r3g o_r3h :: tazA + {-# L #-} + o_r3h -> + case ds_dEd of { PrelTup.(,,){-63,w-}{i} a_r3d b_r3e c_r3f -> + PrelBase.[]{-5i,w-}{i} _@_ tazy;}; + } in f_ayl +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds020.stderr b/ghc/tests/deSugar/should_compile/ds020.stderr index fc6973c..b2d5859 100644 --- a/ghc/tests/deSugar/should_compile/ds020.stderr +++ b/ghc/tests/deSugar/should_compile/ds020.stderr @@ -1,1969 +1,1461 @@ -ds020.hs:20: +ds020.hs:6: Warning: Pattern match(es) completely overlapped - in the definition of function `f' + in the definition of function `a' +ds020.hs:9: + Warning: Pattern match(es) completely overlapped + in the definition of function `b' ds020.hs:16: Warning: Pattern match(es) completely overlapped in the definition of function `d' ds020.hs:17: Warning: Pattern match(es) completely overlapped in the definition of function `d' -ds020.hs:9: - Warning: Pattern match(es) completely overlapped - in the definition of function `b' -ds020.hs:6: +ds020.hs:20: Warning: Pattern match(es) completely overlapped - in the definition of function `a' + in the definition of function `f' ================================================================================ Desugared: Rec { -d.Eq_a1aR :: - {PrelBase.Eq{-23,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Eq_a1aR = - PrelBase.$d7{-rqT,p-} -==_a1h7 :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -==_a1h7 = - PrelBase.=={-8Y,p-} - _@_ PrelBase.Int{-3g,p-} d.Eq_a1aR -d.Num_a1aV :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Num_a1aV = - PrelBase.$d3{-rqn,p-} -fromInt_a1h6 :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_a1h6 = - PrelBase.fromInt{-8R,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_a1aV -lit_a1h5 :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1h5 = - let { - ds_d1SI :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1SI = - PrelBase.I#{-5b,p-}{i} - 2 - } in - fromInt_a1h6 - ds_d1SI -fromInt_a1h4 :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_a1h4 = - fromInt_a1h6 -lit_a1h3 :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1h3 = - let { - ds_d1SX :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1SX = - PrelBase.I#{-5b,p-}{i} - 4 - } in - fromInt_a1h4 - ds_d1SX -fromInt_a1h2 :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_a1h2 = - fromInt_a1h6 -lit_a1h1 :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1h1 = - let { - ds_d1Tc :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1Tc = - PrelBase.I#{-5b,p-}{i} - 3 - } in - fromInt_a1h2 - ds_d1Tc -d.Ord_a1b0 :: - {PrelBase.Ord{-2d,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Ord_a1b0 = - PrelBase.$d6{-rqS,p-} ->_a1h0 :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} ->_a1h0 = - PrelBase.>{-rs3,p-} - _@_ PrelBase.Int{-3g,p-} d.Ord_a1b0 -lit_a1gZ :: - PrelBase.Int{-3g,p-} +==_a1Fg :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} {-# L #-} -lit_a1gZ = - lit_a1h1 -lit_a1gY :: - PrelBase.Int{-3g,p-} +==_a1Fg = + ==_a1A2 +==_a1Fh :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} {-# L #-} -lit_a1gY = - lit_a1h3 -fromInt_a1gX :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} +==_a1Fh = + ==_a1A2 +lit_a1Fi :: PrelBase.Int{-3g,W-} {-# L #-} -fromInt_a1gX = - fromInt_a1h6 -lit_a1gW :: - PrelBase.Int{-3g,p-} +lit_a1Fi = + lit_a1A4 +lit_a1Fj :: PrelBase.Int{-3g,W-} {-# L #-} -lit_a1gW = - let { - ds_d1TC :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1TC = - PrelBase.I#{-5b,p-}{i} - 5 - } in - fromInt_a1gX - ds_d1TC -d.Ord_a1b4 :: - {PrelBase.Ord{-2d,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Ord_a1b4 = - d.Ord_a1b0 -<=_a1gV :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -<=_a1gV = - PrelBase.<={-rs2,p-} - _@_ PrelBase.Int{-3g,p-} d.Ord_a1b4 -lit_a1gU :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1gU = - lit_a1h5 -lit_a1gT :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1gT = - lit_a1h1 -==_a1gS :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -==_a1gS = - ==_a1h7 -lit_a1gR :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1gR = - lit_a1h5 -lit_a1gQ :: - PrelBase.Int{-3g,p-} +lit_a1Fj = + lit_a1A3 +ds_d1IS :: (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) {-# L #-} -lit_a1gQ = - lit_a1h3 -lit_a1gP :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1gP = - lit_a1h1 -==_a1hb :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -==_a1hb = - ==_a1gS -==_a1ha :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -==_a1ha = - ==_a1gS -lit_a1h9 :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1h9 = - lit_a1gQ -lit_a1h8 :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1h8 = - lit_a1gR -ds_d1Q9 :: - (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) -{-# L #-} -ds_d1Q9 = - let { ds_d1Zt :: - (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}))) +ds_d1IS = + let { ds_d1RP :: (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}))) {-# L #-} - ds_d1Zt = + ds_d1RP = let { - eq4_a12Q :: - PrelBase.Bool{-34,p-} + eq4_aWR :: PrelBase.Bool{-34,W-} {-# L #-} - eq4_a12Q = - ==_a1ha - lit_a1h9 lit_a1h8 } in + eq4_aWR = + ==_a1Fh lit_a1Fi lit_a1Fj } in let { - eq4_r4b :: - PrelBase.Bool{-34,p-} + eq4_r49 :: PrelBase.Bool{-34,W-} {-# L #-} - eq4_r4b = - eq4_a12Q } in + eq4_r49 = + eq4_aWR } in let { - lit_a1Uy :: - PrelBase.Int{-3g,p-} + lit_a1MU :: PrelBase.Int{-3g,W-} {-# L #-} - lit_a1Uy = - lit_a1gP } in + lit_a1MU = + lit_a1A5 } in let { - eq3_a13e :: - PrelBase.Bool{-34,p-} + eq3_aX5 :: PrelBase.Bool{-34,W-} {-# L #-} - eq3_a13e = - ==_a1hb - lit_a1gP lit_a1Uy } in + eq3_aX5 = + ==_a1Fg lit_a1A5 lit_a1MU } in let { - eq3_r4a :: - PrelBase.Bool{-34,p-} + eq3_r48 :: PrelBase.Bool{-34,W-} {-# L #-} - eq3_r4a = - eq3_a13e } in + eq3_r48 = + eq3_aX5 } in let { - eq2_a13A :: - PrelBase.Bool{-34,p-} + eq2_aXj :: PrelBase.Bool{-34,W-} {-# L #-} - eq2_a13A = - ==_a1gS - lit_a1gR lit_a1gQ } in + eq2_aXj = + ==_a1A2 lit_a1A3 lit_a1A4 } in let { - eq2_r49 :: - PrelBase.Bool{-34,p-} + eq2_r47 :: PrelBase.Bool{-34,W-} {-# L #-} - eq2_r49 = - eq2_a13A + eq2_r47 = + eq2_aXj } in - case eq2_r49 of { - PrelBase.True{-5E,p-}{i} -> + case eq2_r47 of { + PrelBase.True{-5E,w-}{i} -> let { - ds_d1Va :: - PrelBase.Char{-38,p-} + ds_d1Nw :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Va = - PrelBase.C#{-54,p-}{i} - {'a'} } in - let { ds_d1Ve :: - (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) + ds_d1Nw = + PrelBase.C#{-54,w-}{i} {'a'} } in + let { ds_d1NA :: (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) {-# L #-} - ds_d1Ve = + ds_d1NA = let { - ds_d1Vu :: - PrelBase.Char{-38,p-} + ds_d1NQ :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Vu = - PrelBase.C#{-54,p-}{i} - {'a'} } in - let { ds_d1Vy :: - (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) + ds_d1NQ = + PrelBase.C#{-54,w-}{i} {'a'} } in + let { ds_d1NU :: (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) {-# L #-} - ds_d1Vy = + ds_d1NU = let { - ds_d1VO :: - PrelBase.Char{-38,p-} + ds_d1Oa :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1VO = - PrelBase.C#{-54,p-}{i} - {'a'} } in + ds_d1Oa = + PrelBase.C#{-54,w-}{i} {'a'} } in let { - ds_d1VS :: - PrelBase.Char{-38,p-} + ds_d1Oe :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1VS = - PrelBase.C#{-54,p-}{i} - {'a'} + ds_d1Oe = + PrelBase.C#{-54,w-}{i} {'a'} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - ds_d1VO - ds_d1VS} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + ds_d1Oa + ds_d1Oe} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) - ds_d1Vu - ds_d1Vy} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) + ds_d1NQ + ds_d1NU} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) - ds_d1Va - ds_d1Ve}; - PrelBase.False{-58,p-}{i} -> - case eq3_r4a of { - PrelBase.True{-5E,p-}{i} -> + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) + ds_d1Nw + ds_d1NA}; + PrelBase.False{-58,w-}{i} -> + case eq3_r48 of { + PrelBase.True{-5E,w-}{i} -> let { - ds_d1Wm :: - PrelBase.Char{-38,p-} + ds_d1OI :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Wm = - PrelBase.C#{-54,p-}{i} - {'b'} } in - let { ds_d1Wq :: - (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) + ds_d1OI = + PrelBase.C#{-54,w-}{i} {'b'} } in + let { ds_d1OM :: (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) {-# L #-} - ds_d1Wq = + ds_d1OM = let { - ds_d1WG :: - PrelBase.Char{-38,p-} + ds_d1P2 :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1WG = - PrelBase.C#{-54,p-}{i} - {'b'} } in - let { ds_d1WK :: - (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) + ds_d1P2 = + PrelBase.C#{-54,w-}{i} {'b'} } in + let { ds_d1P6 :: (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) {-# L #-} - ds_d1WK = + ds_d1P6 = let { - ds_d1X0 :: - PrelBase.Char{-38,p-} + ds_d1Pm :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1X0 = - PrelBase.C#{-54,p-}{i} - {'b'} } in + ds_d1Pm = + PrelBase.C#{-54,w-}{i} {'b'} } in let { - ds_d1X4 :: - PrelBase.Char{-38,p-} + ds_d1Pq :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1X4 = - PrelBase.C#{-54,p-}{i} - {'b'} + ds_d1Pq = + PrelBase.C#{-54,w-}{i} {'b'} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - ds_d1X0 - ds_d1X4} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + ds_d1Pm + ds_d1Pq} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) - ds_d1WG - ds_d1WK} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) + ds_d1P2 + ds_d1P6} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) - ds_d1Wm - ds_d1Wq}; - PrelBase.False{-58,p-}{i} -> - case eq4_r4b of { - PrelBase.True{-5E,p-}{i} -> + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) + ds_d1OI + ds_d1OM}; + PrelBase.False{-58,w-}{i} -> + case eq4_r49 of { + PrelBase.True{-5E,w-}{i} -> let { - ds_d1Xy :: - PrelBase.Char{-38,p-} + ds_d1PU :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Xy = - PrelBase.C#{-54,p-}{i} - {'c'} } in - let { ds_d1XC :: - (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) + ds_d1PU = + PrelBase.C#{-54,w-}{i} {'c'} } in + let { ds_d1PY :: (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) {-# L #-} - ds_d1XC = + ds_d1PY = let { - ds_d1XS :: - PrelBase.Char{-38,p-} + ds_d1Qe :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1XS = - PrelBase.C#{-54,p-}{i} - {'c'} } in - let { ds_d1XW :: - (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) + ds_d1Qe = + PrelBase.C#{-54,w-}{i} {'c'} } in + let { ds_d1Qi :: (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) {-# L #-} - ds_d1XW = + ds_d1Qi = let { - ds_d1Yc :: - PrelBase.Char{-38,p-} + ds_d1Qy :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Yc = - PrelBase.C#{-54,p-}{i} - {'c'} } in + ds_d1Qy = + PrelBase.C#{-54,w-}{i} {'c'} } in let { - ds_d1Yg :: - PrelBase.Char{-38,p-} + ds_d1QC :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Yg = - PrelBase.C#{-54,p-}{i} - {'c'} + ds_d1QC = + PrelBase.C#{-54,w-}{i} {'c'} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - ds_d1Yc - ds_d1Yg} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + ds_d1Qy + ds_d1QC} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) - ds_d1XS - ds_d1XW} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) + ds_d1Qe + ds_d1Qi} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) - ds_d1Xy - ds_d1XC}; - PrelBase.False{-58,p-}{i} -> + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) + ds_d1PU + ds_d1PY}; + PrelBase.False{-58,w-}{i} -> let { - ds_d1YC :: - PrelBase.Char{-38,p-} + ds_d1QY :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1YC = - PrelBase.C#{-54,p-}{i} - {'d'} } in - let { ds_d1YG :: - (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) + ds_d1QY = + PrelBase.C#{-54,w-}{i} {'d'} } in + let { ds_d1R2 :: (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) {-# L #-} - ds_d1YG = + ds_d1R2 = let { - ds_d1YW :: - PrelBase.Char{-38,p-} + ds_d1Ri :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1YW = - PrelBase.C#{-54,p-}{i} - {'d'} } in - let { ds_d1Z0 :: - (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) + ds_d1Ri = + PrelBase.C#{-54,w-}{i} {'d'} } in + let { ds_d1Rm :: (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) {-# L #-} - ds_d1Z0 = + ds_d1Rm = let { - ds_d1Zg :: - PrelBase.Char{-38,p-} + ds_d1RC :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Zg = - PrelBase.C#{-54,p-}{i} - {'d'} } in + ds_d1RC = + PrelBase.C#{-54,w-}{i} {'d'} } in let { - ds_d1Zk :: - PrelBase.Char{-38,p-} + ds_d1RG :: PrelBase.Char{-38,W-} {-# L #-} - ds_d1Zk = - PrelBase.C#{-54,p-}{i} - {'d'} + ds_d1RG = + PrelBase.C#{-54,w-}{i} {'d'} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - ds_d1Zg - ds_d1Zk} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + ds_d1RC + ds_d1RG} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-}) - ds_d1YW - ds_d1Z0} + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-}) + ds_d1Ri + ds_d1Rm} } in - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ (PrelBase.Char{-38,p-}, (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})) - ds_d1YC - ds_d1YG}; + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ (PrelBase.Char{-38,W-}, (PrelBase.Char{-38,W-}, PrelBase.Char{-38,W-})) + ds_d1QY + ds_d1R2}; }; }; } } in - case ds_d1Zt of { PrelTup.(,){-62,p-}{i} x4_a12r ds_d1ZC -> - case ds_d1ZC of { PrelTup.(,){-62,p-}{i} y4_a12s ds_d1ZL -> - case ds_d1ZL of { PrelTup.(,){-62,p-}{i} z4_a12t a4_a12u -> - PrelTup.(,,,){-64,p-}{i} - {_@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - _@_ PrelBase.Char{-38,p-} - x4_a12r - y4_a12s - z4_a12t - a4_a12u};};};} -x4_a12r :: - PrelBase.Char{-38,p-} + case ds_d1RP of { PrelTup.(,){-62,w-}{i} x4_aWs ds_d1RY -> + case ds_d1RY of { PrelTup.(,){-62,w-}{i} y4_aWt ds_d1S7 -> + case ds_d1S7 of { PrelTup.(,){-62,w-}{i} z4_aWu a4_aWv -> + PrelTup.(,,,){-64,w-}{i} + {_@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + _@_ PrelBase.Char{-38,W-} + x4_aWs + y4_aWt + z4_aWu + a4_aWv};};};} +x4_aWs :: PrelBase.Char{-38,W-} {-# L #-} -x4_a12r = +x4_aWs = case - ds_d1Q9 + ds_d1IS of { - PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u -> - x4_a12r;} -y4_a12s :: - PrelBase.Char{-38,p-} + PrelTup.(,,,){-64,w-}{i} x4_aWs y4_aWt z4_aWu a4_aWv -> + x4_aWs;} +y4_aWt :: PrelBase.Char{-38,W-} {-# L #-} -y4_a12s = +y4_aWt = case - ds_d1Q9 + ds_d1IS of { - PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u -> - y4_a12s;} -z4_a12t :: - PrelBase.Char{-38,p-} + PrelTup.(,,,){-64,w-}{i} x4_aWs y4_aWt z4_aWu a4_aWv -> + y4_aWt;} +z4_aWu :: PrelBase.Char{-38,W-} {-# L #-} -z4_a12t = +z4_aWu = case - ds_d1Q9 + ds_d1IS of { - PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u -> - z4_a12t;} -a4_a12u :: - PrelBase.Char{-38,p-} + PrelTup.(,,,){-64,w-}{i} x4_aWs y4_aWt z4_aWu a4_aWv -> + z4_aWu;} +a4_aWv :: PrelBase.Char{-38,W-} {-# L #-} -a4_a12u = +a4_aWv = case - ds_d1Q9 + ds_d1IS of { - PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u -> - a4_a12u;} -x4{-r4f,x-} :: - PrelBase.Char{-38,p-} + PrelTup.(,,,){-64,w-}{i} x4_aWs y4_aWt z4_aWu a4_aWv -> + a4_aWv;} +x4{-r4d,x-} :: PrelBase.Char{-38,W-} {-# L #-} -x4{-r4f,x-} = - x4_a12r -y4{-r4e,x-} :: - PrelBase.Char{-38,p-} +x4{-r4d,x-} = + x4_aWs +y4{-r4c,x-} :: PrelBase.Char{-38,W-} {-# L #-} -y4{-r4e,x-} = - y4_a12s -z4{-r4d,x-} :: - PrelBase.Char{-38,p-} +y4{-r4c,x-} = + y4_aWt +z4{-r4b,x-} :: PrelBase.Char{-38,W-} {-# L #-} -z4{-r4d,x-} = - z4_a12t -a4{-r4c,x-} :: - PrelBase.Char{-38,p-} +z4{-r4b,x-} = + z4_aWu +a4{-r4a,x-} :: PrelBase.Char{-38,W-} {-# L #-} -a4{-r4c,x-} = - a4_a12u -lit_a1QK :: - PrelBase.Int{-3g,p-} +a4{-r4a,x-} = + a4_aWv +lit_a1Jt :: PrelBase.Int{-3g,W-} {-# L #-} -lit_a1QK = - lit_a1gZ -ds_d1QP :: - (PrelBase.Int{-3g,p-}, PrelBase.Int{-3g,p-}) +lit_a1Jt = + lit_a1zW +ds_d1Jy :: (PrelBase.Int{-3g,W-}, PrelBase.Int{-3g,W-}) {-# L #-} -ds_d1QP = - case - >_a1h0 - x3_a148 lit_a1gZ - of { - PrelBase.True{-5E,p-}{i} -> - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Int{-3g,p-} - _@_ PrelBase.Int{-3g,p-} - lit_a1gY - lit_a1gW}; - PrelBase.False{-58,p-}{i} -> - case - <=_a1gV - x3_a148 lit_a1QK - of { - PrelBase.True{-5E,p-}{i} -> - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Int{-3g,p-} - _@_ PrelBase.Int{-3g,p-} - lit_a1gU - lit_a1gT}; - PrelBase.False{-58,p-}{i} -> - GHCerr.nonExhaustiveGuardsError{-8l,p-} - _@_ (PrelBase.Int{-3g,p-}, PrelBase.Int{-3g,p-}) +ds_d1Jy = + case >_a1zV x3_aYi lit_a1zW of { + PrelBase.True{-5E,w-}{i} -> + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Int{-3g,W-} + _@_ PrelBase.Int{-3g,W-} + lit_a1zX + lit_a1zY}; + PrelBase.False{-58,w-}{i} -> + case <=_a1zZ x3_aYi lit_a1Jt of { + PrelBase.True{-5E,w-}{i} -> + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Int{-3g,W-} + _@_ PrelBase.Int{-3g,W-} + lit_a1A0 + lit_a1A1}; + PrelBase.False{-58,w-}{i} -> + GHCerr.nonExhaustiveGuardsError{-8l,w-} + _@_ (PrelBase.Int{-3g,W-}, PrelBase.Int{-3g,W-}) _string_ "ds020.hs:42|"; }; } -x3_a148 :: - PrelBase.Int{-3g,p-} +x3_aYi :: PrelBase.Int{-3g,W-} {-# L #-} -x3_a148 = - case ds_d1QP of { PrelTup.(,){-62,p-}{i} x3_a148 y3_a149 -> - x3_a148;} -y3_a149 :: - PrelBase.Int{-3g,p-} +x3_aYi = + case ds_d1Jy of { PrelTup.(,){-62,w-}{i} x3_aYi y3_aYj -> x3_aYi;} +y3_aYj :: PrelBase.Int{-3g,W-} {-# L #-} -y3_a149 = - case ds_d1QP of { PrelTup.(,){-62,p-}{i} x3_a148 y3_a149 -> - y3_a149;} -x3{-r4h,x-} :: - PrelBase.Int{-3g,p-} +y3_aYj = + case ds_d1Jy of { PrelTup.(,){-62,w-}{i} x3_aYi y3_aYj -> y3_aYj;} +x3{-r4f,x-} :: PrelBase.Int{-3g,W-} {-# L #-} -x3{-r4h,x-} = - x3_a148 -y3{-r4g,x-} :: - PrelBase.Int{-3g,p-} +x3{-r4f,x-} = + x3_aYi +y3{-r4e,x-} :: PrelBase.Int{-3g,W-} {-# L #-} -y3{-r4g,x-} = - y3_a149 -ds_d1Ra :: - _forall_ [t{-a16h-}] => (t{-a16h-}, t{-a16h-}, [t{-a16h-}]) +y3{-r4e,x-} = + y3_aYj +ds_d1JT :: _forall_ [taZa] => (taZa, taZa, [taZa]) {-# L #-} -ds_d1Ra = - _/\_ t{-a16h-} -> +ds_d1JT = + _/\_ taZa -> _letrec_ { - ==_a1mv :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1mv = - ==_a1h7; - ==_a1mu :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1mu = - ==_a1h7; - lit_a1mt :: - PrelBase.Int{-3g,p-} - {-# L #-} - lit_a1mt = - lit_a1h3; - lit_a1ms :: - PrelBase.Int{-3g,p-} - {-# L #-} - lit_a1ms = - lit_a1h5; - ds_d22I :: - (t{-a16h-}, t{-a16h-}, [t{-a16h-}]) - {-# L #-} - ds_d22I = - let { ds_d257 :: - [t{-a16h-}] + ==_a1zQ :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1zQ = + ==_a1zR; + ==_a1A6 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1A6 = + ==_a1zR; + lit_a1A7 :: PrelBase.Int{-3g,W-} + {-# L #-} + lit_a1A7 = + lit_a1zT; + lit_a1A8 :: PrelBase.Int{-3g,W-} + {-# L #-} + lit_a1A8 = + lit_a1zS; + ds_d1V4 :: (taZa, taZa, [taZa]) + {-# L #-} + ds_d1V4 = + let { ds_d1Xt :: [taZa] {-# L #-} - ds_d257 = + ds_d1Xt = let { - eq4_a158 :: - PrelBase.Bool{-34,p-} + eq4_aZg :: PrelBase.Bool{-34,W-} {-# L #-} - eq4_a158 = - ==_a1mu - lit_a1mt lit_a1ms } in + eq4_aZg = + ==_a1A6 lit_a1A7 lit_a1A8 } in let { - eq4_r41 :: - PrelBase.Bool{-34,p-} + eq4_r3Y :: PrelBase.Bool{-34,W-} {-# L #-} - eq4_r41 = - eq4_a158 } in + eq4_r3Y = + eq4_aZg } in let { - lit_a23v :: - PrelBase.Int{-3g,p-} + lit_a1VR :: PrelBase.Int{-3g,W-} {-# L #-} - lit_a23v = - lit_a1h1 } in + lit_a1VR = + lit_a1zU } in let { - eq3_a15w :: - PrelBase.Bool{-34,p-} + eq3_aZu :: PrelBase.Bool{-34,W-} {-# L #-} - eq3_a15w = - ==_a1mv - lit_a1h1 lit_a23v } in + eq3_aZu = + ==_a1zQ lit_a1zU lit_a1VR } in let { - eq3_r40 :: - PrelBase.Bool{-34,p-} + eq3_r3X :: PrelBase.Bool{-34,W-} {-# L #-} - eq3_r40 = - eq3_a15w } in + eq3_r3X = + eq3_aZu } in let { - eq2_a15S :: - PrelBase.Bool{-34,p-} + eq2_aZI :: PrelBase.Bool{-34,W-} {-# L #-} - eq2_a15S = - ==_a1h7 - lit_a1h5 lit_a1h3 } in + eq2_aZI = + ==_a1zR lit_a1zS lit_a1zT } in let { - eq2_r3Z :: - PrelBase.Bool{-34,p-} + eq2_r3W :: PrelBase.Bool{-34,W-} {-# L #-} - eq2_r3Z = - eq2_a15S + eq2_r3W = + eq2_aZI } in - case eq2_r3Z of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a16h-}; - PrelBase.False{-58,p-}{i} -> - case eq3_r40 of { - PrelBase.True{-5E,p-}{i} -> + case eq2_r3W of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taZa; + PrelBase.False{-58,w-}{i} -> + case eq3_r3X of { + PrelBase.True{-5E,w-}{i} -> let { - ds_d24m :: - [t{-a16h-}] + ds_d1WI :: [taZa] {-# L #-} - ds_d24m = - PrelBase.[]{-5i,p-}{i} - {_@_ t{-a16h-}} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-a16h-} x2_a14U ds_d24m}; - PrelBase.False{-58,p-}{i} -> - case eq4_r41 of { - PrelBase.True{-5E,p-}{i} -> + ds_d1WI = + PrelBase.[]{-5i,w-}{i} {_@_ taZa} + } in PrelBase.:{-55,w-}{i} {_@_ taZa x2_aZ2 ds_d1WI}; + PrelBase.False{-58,w-}{i} -> + case eq4_r3Y of { + PrelBase.True{-5E,w-}{i} -> let { - ds_d24M :: - [t{-a16h-}] + ds_d1X8 :: [taZa] {-# L #-} - ds_d24M = - PrelBase.[]{-5i,p-}{i} - {_@_ t{-a16h-}} - } in - PrelBase.:{-55,p-}{i} - {_@_ t{-a16h-} x2_a14U ds_d24M}; - PrelBase.False{-58,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a16h-}; + ds_d1X8 = + PrelBase.[]{-5i,w-}{i} {_@_ taZa} + } in PrelBase.:{-55,w-}{i} {_@_ taZa x2_aZ2 ds_d1X8}; + PrelBase.False{-58,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taZa; }; }; } } in let { - fail_d258 :: - (t{-a16h-}, t{-a16h-}, [t{-a16h-}]) + fail_d1Xu :: (taZa, taZa, [taZa]) {-# L #-} - fail_d258 = - GHCerr.irrefutPatError{-8g,p-} - _@_ (t{-a16h-}, t{-a16h-}, [t{-a16h-}]) + fail_d1Xu = + GHCerr.irrefutPatError{-8g,w-} + _@_ (taZa, taZa, [taZa]) _string_ "ds020.hs:39|(x2 PrelBase.: (xs2 PrelBase.: ys2))" } in - case ds_d257 of { - PrelBase.[]{-5i,p-}{i} -> - fail_d258; - PrelBase.:{-55,p-}{i} x2_a14U ds_d25l -> - case ds_d25l of { - PrelBase.[]{-5i,p-}{i} -> - fail_d258; - PrelBase.:{-55,p-}{i} xs2_a14V ys2_a14W -> - PrelTup.(,,){-63,p-}{i} - {_@_ t{-a16h-} - _@_ t{-a16h-} - _@_ [t{-a16h-}] - x2_a14U - xs2_a14V - ys2_a14W}; + case ds_d1Xt of { + PrelBase.[]{-5i,w-}{i} -> fail_d1Xu; + PrelBase.:{-55,w-}{i} x2_aZ2 ds_d1XH -> + case ds_d1XH of { + PrelBase.[]{-5i,w-}{i} -> fail_d1Xu; + PrelBase.:{-55,w-}{i} xs2_aZ3 ys2_aZ4 -> + PrelTup.(,,){-63,w-}{i} + {_@_ taZa _@_ taZa _@_ [taZa] x2_aZ2 xs2_aZ3 ys2_aZ4}; }; }; - x2_a14U :: - t{-a16h-} + x2_aZ2 :: taZa {-# L #-} - x2_a14U = + x2_aZ2 = case - ds_d22I + ds_d1V4 of { - PrelTup.(,,){-63,p-}{i} x2_a14U xs2_a14V ys2_a14W -> - x2_a14U;}; - xs2_a14V :: - t{-a16h-} + PrelTup.(,,){-63,w-}{i} x2_aZ2 xs2_aZ3 ys2_aZ4 -> + x2_aZ2;}; + xs2_aZ3 :: taZa {-# L #-} - xs2_a14V = + xs2_aZ3 = case - ds_d22I + ds_d1V4 of { - PrelTup.(,,){-63,p-}{i} x2_a14U xs2_a14V ys2_a14W -> - xs2_a14V;}; - ys2_a14W :: - [t{-a16h-}] + PrelTup.(,,){-63,w-}{i} x2_aZ2 xs2_aZ3 ys2_aZ4 -> + xs2_aZ3;}; + ys2_aZ4 :: [taZa] {-# L #-} - ys2_a14W = + ys2_aZ4 = case - ds_d22I + ds_d1V4 of { - PrelTup.(,,){-63,p-}{i} x2_a14U xs2_a14V ys2_a14W -> - ys2_a14W;}; + PrelTup.(,,){-63,w-}{i} x2_aZ2 xs2_aZ3 ys2_aZ4 -> + ys2_aZ4;}; } in - PrelTup.(,,){-63,p-}{i} - {_@_ t{-a16h-} - _@_ t{-a16h-} - _@_ [t{-a16h-}] - x2_a14U - xs2_a14V - ys2_a14W} -x2{-r4k,x-} :: - _forall_ [t{-a16h-}] => t{-a16h-} + PrelTup.(,,){-63,w-}{i} + {_@_ taZa _@_ taZa _@_ [taZa] x2_aZ2 xs2_aZ3 ys2_aZ4} +x2{-r3Z,x-} :: _forall_ [taZa] => taZa {-# L #-} -x2{-r4k,x-} = - _/\_ t{-a16h-} -> +x2{-r3Z,x-} = + _/\_ taZa -> case - ds_d1Ra - _@_ t{-a16h-} + ds_d1JT _@_ taZa of { - PrelTup.(,,){-63,p-}{i} ds_d26G ds_d26I ds_d26H -> - ds_d26G;} -xs2{-r4j,x-} :: - _forall_ [t{-a16h-}] => t{-a16h-} + PrelTup.(,,){-63,w-}{i} ds_d1Z2 ds_d1Z3 ds_d1Z4 -> + ds_d1Z2;} +xs2{-r4h,x-} :: _forall_ [taZa] => taZa {-# L #-} -xs2{-r4j,x-} = - _/\_ t{-a16h-} -> +xs2{-r4h,x-} = + _/\_ taZa -> case - ds_d1Ra - _@_ t{-a16h-} + ds_d1JT _@_ taZa of { - PrelTup.(,,){-63,p-}{i} ds_d26Z ds_d26X ds_d26Y -> - ds_d26X;} -ys2{-r4i,x-} :: - _forall_ [t{-a16h-}] => [t{-a16h-}] + PrelTup.(,,){-63,w-}{i} ds_d1Zk ds_d1Zj ds_d1Zl -> + ds_d1Zj;} +ys2{-r4g,x-} :: _forall_ [taZa] => [taZa] {-# L #-} -ys2{-r4i,x-} = - _/\_ t{-a16h-} -> +ys2{-r4g,x-} = + _/\_ taZa -> case - ds_d1Ra - _@_ t{-a16h-} + ds_d1JT _@_ taZa of { - PrelTup.(,,){-63,p-}{i} ds_d27g ds_d27f ds_d27e -> - ds_d27e;} -ds_d1Rr :: - _forall_ [t{-a16I-}] => (t{-a16I-}, t{-a16I-}, [t{-a16I-}]) + PrelTup.(,,){-63,w-}{i} ds_d1ZB ds_d1ZC ds_d1ZA -> + ds_d1ZA;} +ds_d1Ka :: _forall_ [ta10j] => (ta10j, ta10j, [ta10j]) {-# L #-} -ds_d1Rr = - _/\_ t{-a16I-} -> - let { ds_d28P :: - (t{-a16I-}, t{-a16I-}, [t{-a16I-}]) - {-# L #-} - ds_d28P = - let { - ds_d27Z :: - [t{-a16I-}] - {-# L #-} - ds_d27Z = - PrelBase.[]{-5i,p-}{i} - _@_ t{-a16I-} } in - let { - fail_d280 :: - (t{-a16I-}, t{-a16I-}, [t{-a16I-}]) - {-# L #-} - fail_d280 = - GHCerr.irrefutPatError{-8g,p-} - _@_ (t{-a16I-}, t{-a16I-}, [t{-a16I-}]) - _string_ "ds020.hs:30|(~x PrelBase.: (~xs PrelBase.: ~ys))" - } in - case ds_d27Z of { - PrelBase.[]{-5i,p-}{i} -> - fail_d280; - PrelBase.:{-55,p-}{i} x_a16u ds_d28d -> - case ds_d28d of { - PrelBase.[]{-5i,p-}{i} -> - fail_d280; - PrelBase.:{-55,p-}{i} xs_a16v ys_a16w -> - let { - ys_a16w :: - [t{-a16I-}] - {-# L #-} - ys_a16w = - ys_a16w } in - let { - xs_a16v :: - t{-a16I-} - {-# L #-} - xs_a16v = - xs_a16v } in - let { - x_a16u :: - t{-a16I-} - {-# L #-} - x_a16u = - x_a16u - } in - PrelTup.(,,){-63,p-}{i} - {_@_ t{-a16I-} - _@_ t{-a16I-} - _@_ [t{-a16I-}] - x_a16u - xs_a16v - ys_a16w}; - }; - } - } in - let { - x_a16u :: - t{-a16I-} +ds_d1Ka = + _/\_ ta10j -> + _letrec_ { + ds_d1ZO :: (ta10j, ta10j, [ta10j]) + {-# L #-} + ds_d1ZO = + let { + ds_d208 :: [ta10j] + {-# L #-} + ds_d208 = + PrelBase.[]{-5i,w-}{i} _@_ ta10j } in + let { + fail_d20l :: (ta10j, ta10j, [ta10j]) + {-# L #-} + fail_d20l = + GHCerr.irrefutPatError{-8g,w-} + _@_ (ta10j, ta10j, [ta10j]) + _string_ "ds020.hs:30|(~x PrelBase.: (~xs PrelBase.: ~ys))" + } in + case ds_d208 of { + PrelBase.[]{-5i,w-}{i} -> fail_d20l; + PrelBase.:{-55,w-}{i} x_a10c ds_d20y -> + case ds_d20y of { + PrelBase.[]{-5i,w-}{i} -> fail_d20l; + PrelBase.:{-55,w-}{i} xs_a10d ys_a10e -> + let { + ys_a10e :: [ta10j] + {-# L #-} + ys_a10e = + ys_a10e } in + let { + xs_a10d :: ta10j + {-# L #-} + xs_a10d = + xs_a10d } in + let { + x_a10c :: ta10j + {-# L #-} + x_a10c = + x_a10c + } in + PrelTup.(,,){-63,w-}{i} + {_@_ ta10j _@_ ta10j _@_ [ta10j] x_a10c xs_a10d ys_a10e}; + }; + }; + x_a10c :: ta10j {-# L #-} - x_a16u = + x_a10c = case - ds_d28P + ds_d1ZO of { - PrelTup.(,,){-63,p-}{i} x_a16u xs_a16v ys_a16w -> - x_a16u;} } in - let { - xs_a16v :: - t{-a16I-} + PrelTup.(,,){-63,w-}{i} x_a10c xs_a10d ys_a10e -> + x_a10c;}; + xs_a10d :: ta10j {-# L #-} - xs_a16v = + xs_a10d = case - ds_d28P + ds_d1ZO of { - PrelTup.(,,){-63,p-}{i} x_a16u xs_a16v ys_a16w -> - xs_a16v;} } in - let { - ys_a16w :: - [t{-a16I-}] + PrelTup.(,,){-63,w-}{i} x_a10c xs_a10d ys_a10e -> + xs_a10d;}; + ys_a10e :: [ta10j] {-# L #-} - ys_a16w = + ys_a10e = case - ds_d28P + ds_d1ZO of { - PrelTup.(,,){-63,p-}{i} x_a16u xs_a16v ys_a16w -> - ys_a16w;} + PrelTup.(,,){-63,w-}{i} x_a10c xs_a10d ys_a10e -> + ys_a10e;}; } in - PrelTup.(,,){-63,p-}{i} - {_@_ t{-a16I-} - _@_ t{-a16I-} - _@_ [t{-a16I-}] - x_a16u - xs_a16v - ys_a16w} -x{-r4n,x-} :: - _forall_ [t{-a16I-}] => t{-a16I-} + PrelTup.(,,){-63,w-}{i} + {_@_ ta10j _@_ ta10j _@_ [ta10j] x_a10c xs_a10d ys_a10e} +x{-r4k,x-} :: _forall_ [ta10j] => ta10j {-# L #-} -x{-r4n,x-} = - _/\_ t{-a16I-} -> +x{-r4k,x-} = + _/\_ ta10j -> case - ds_d1Rr - _@_ t{-a16I-} + ds_d1Ka _@_ ta10j of { - PrelTup.(,,){-63,p-}{i} ds_d29s ds_d29u ds_d29t -> - ds_d29s;} -xs{-r4m,x-} :: - _forall_ [t{-a16I-}] => t{-a16I-} + PrelTup.(,,){-63,w-}{i} ds_d222 ds_d223 ds_d224 -> + ds_d222;} +xs{-r4j,x-} :: _forall_ [ta10j] => ta10j {-# L #-} -xs{-r4m,x-} = - _/\_ t{-a16I-} -> +xs{-r4j,x-} = + _/\_ ta10j -> case - ds_d1Rr - _@_ t{-a16I-} + ds_d1Ka _@_ ta10j of { - PrelTup.(,,){-63,p-}{i} ds_d29L ds_d29J ds_d29K -> - ds_d29J;} -ys{-r4l,x-} :: - _forall_ [t{-a16I-}] => [t{-a16I-}] + PrelTup.(,,){-63,w-}{i} ds_d22k ds_d22j ds_d22l -> + ds_d22j;} +ys{-r4i,x-} :: _forall_ [ta10j] => [ta10j] {-# L #-} -ys{-r4l,x-} = - _/\_ t{-a16I-} -> +ys{-r4i,x-} = + _/\_ ta10j -> case - ds_d1Rr - _@_ t{-a16I-} + ds_d1Ka _@_ ta10j of { - PrelTup.(,,){-63,p-}{i} ds_d2a2 ds_d2a1 ds_d2a0 -> - ds_d2a0;} -ds_d1RI :: - _forall_ [t{-a16Y-}] => (t{-a16Y-}, t{-a16Y-}, [t{-a16Y-}]) + PrelTup.(,,){-63,w-}{i} ds_d22B ds_d22C ds_d22A -> + ds_d22A;} +ds_d1Kr :: _forall_ [ta10z] => (ta10z, ta10z, [ta10z]) {-# L #-} -ds_d1RI = - _/\_ t{-a16Y-} -> - let { ds_d2bs :: - (t{-a16Y-}, t{-a16Y-}, [t{-a16Y-}]) - {-# L #-} - ds_d2bs = - let { - ds_d2aL :: - [t{-a16Y-}] - {-# L #-} - ds_d2aL = - PrelBase.[]{-5i,p-}{i} - _@_ t{-a16Y-} } in - let { - fail_d2aM :: - (t{-a16Y-}, t{-a16Y-}, [t{-a16Y-}]) - {-# L #-} - fail_d2aM = - GHCerr.irrefutPatError{-8g,p-} - _@_ (t{-a16Y-}, t{-a16Y-}, [t{-a16Y-}]) - _string_ "ds020.hs:29|(x1 PrelBase.: (xs1 PrelBase.: ys1))" - } in - case ds_d2aL of { - PrelBase.[]{-5i,p-}{i} -> - fail_d2aM; - PrelBase.:{-55,p-}{i} x1_a16K ds_d2aZ -> - case ds_d2aZ of { - PrelBase.[]{-5i,p-}{i} -> - fail_d2aM; - PrelBase.:{-55,p-}{i} xs1_a16L ys1_a16M -> - PrelTup.(,,){-63,p-}{i} - {_@_ t{-a16Y-} - _@_ t{-a16Y-} - _@_ [t{-a16Y-}] - x1_a16K - xs1_a16L - ys1_a16M}; - }; - } - } in - let { - x1_a16K :: - t{-a16Y-} +ds_d1Kr = + _/\_ ta10z -> + _letrec_ { + ds_d22O :: (ta10z, ta10z, [ta10z]) + {-# L #-} + ds_d22O = + let { + ds_d238 :: [ta10z] + {-# L #-} + ds_d238 = + PrelBase.[]{-5i,w-}{i} _@_ ta10z } in + let { + fail_d23l :: (ta10z, ta10z, [ta10z]) + {-# L #-} + fail_d23l = + GHCerr.irrefutPatError{-8g,w-} + _@_ (ta10z, ta10z, [ta10z]) + _string_ "ds020.hs:29|(x1 PrelBase.: (xs1 PrelBase.: ys1))" + } in + case ds_d238 of { + PrelBase.[]{-5i,w-}{i} -> fail_d23l; + PrelBase.:{-55,w-}{i} x1_a10s ds_d23y -> + case ds_d23y of { + PrelBase.[]{-5i,w-}{i} -> fail_d23l; + PrelBase.:{-55,w-}{i} xs1_a10t ys1_a10u -> + PrelTup.(,,){-63,w-}{i} + {_@_ ta10z _@_ ta10z _@_ [ta10z] x1_a10s xs1_a10t ys1_a10u}; + }; + }; + x1_a10s :: ta10z {-# L #-} - x1_a16K = + x1_a10s = case - ds_d2bs + ds_d22O of { - PrelTup.(,,){-63,p-}{i} x1_a16K xs1_a16L ys1_a16M -> - x1_a16K;} } in - let { - xs1_a16L :: - t{-a16Y-} + PrelTup.(,,){-63,w-}{i} x1_a10s xs1_a10t ys1_a10u -> + x1_a10s;}; + xs1_a10t :: ta10z {-# L #-} - xs1_a16L = + xs1_a10t = case - ds_d2bs + ds_d22O of { - PrelTup.(,,){-63,p-}{i} x1_a16K xs1_a16L ys1_a16M -> - xs1_a16L;} } in - let { - ys1_a16M :: - [t{-a16Y-}] + PrelTup.(,,){-63,w-}{i} x1_a10s xs1_a10t ys1_a10u -> + xs1_a10t;}; + ys1_a10u :: [ta10z] {-# L #-} - ys1_a16M = + ys1_a10u = case - ds_d2bs + ds_d22O of { - PrelTup.(,,){-63,p-}{i} x1_a16K xs1_a16L ys1_a16M -> - ys1_a16M;} + PrelTup.(,,){-63,w-}{i} x1_a10s xs1_a10t ys1_a10u -> + ys1_a10u;}; } in - PrelTup.(,,){-63,p-}{i} - {_@_ t{-a16Y-} - _@_ t{-a16Y-} - _@_ [t{-a16Y-}] - x1_a16K - xs1_a16L - ys1_a16M} -x1{-r4q,x-} :: - _forall_ [t{-a16Y-}] => t{-a16Y-} + PrelTup.(,,){-63,w-}{i} + {_@_ ta10z _@_ ta10z _@_ [ta10z] x1_a10s xs1_a10t ys1_a10u} +x1{-r4n,x-} :: _forall_ [ta10z] => ta10z {-# L #-} -x1{-r4q,x-} = - _/\_ t{-a16Y-} -> +x1{-r4n,x-} = + _/\_ ta10z -> case - ds_d1RI - _@_ t{-a16Y-} + ds_d1Kr _@_ ta10z of { - PrelTup.(,,){-63,p-}{i} ds_d2c5 ds_d2c7 ds_d2c6 -> - ds_d2c5;} -xs1{-r4p,x-} :: - _forall_ [t{-a16Y-}] => t{-a16Y-} + PrelTup.(,,){-63,w-}{i} ds_d24T ds_d24U ds_d24V -> + ds_d24T;} +xs1{-r4m,x-} :: _forall_ [ta10z] => ta10z {-# L #-} -xs1{-r4p,x-} = - _/\_ t{-a16Y-} -> +xs1{-r4m,x-} = + _/\_ ta10z -> case - ds_d1RI - _@_ t{-a16Y-} + ds_d1Kr _@_ ta10z of { - PrelTup.(,,){-63,p-}{i} ds_d2co ds_d2cm ds_d2cn -> - ds_d2cm;} -ys1{-r4o,x-} :: - _forall_ [t{-a16Y-}] => [t{-a16Y-}] + PrelTup.(,,){-63,w-}{i} ds_d25b ds_d25a ds_d25c -> + ds_d25a;} +ys1{-r4l,x-} :: _forall_ [ta10z] => [ta10z] {-# L #-} -ys1{-r4o,x-} = - _/\_ t{-a16Y-} -> +ys1{-r4l,x-} = + _/\_ ta10z -> case - ds_d1RI - _@_ t{-a16Y-} + ds_d1Kr _@_ ta10z of { - PrelTup.(,,){-63,p-}{i} ds_d2cF ds_d2cE ds_d2cD -> - ds_d2cD;} -ds_d1RZ :: - PrelBase.(){-40,p-} + PrelTup.(,,){-63,w-}{i} ds_d25s ds_d25t ds_d25r -> + ds_d25r;} +ds_d1KI :: PrelBase.(){-40,W-} {-# L #-} -ds_d1RZ = - let { ds_d2dp :: - ([GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}]) +ds_d1KI = + let { ds_d26d :: ([GHC.Void{-3T,W-}], [GHC.Void{-3T,W-}], [GHC.Void{-3T,W-}]) {-# L #-} - ds_d2dp = + ds_d26d = let { - ds_d2cZ :: - [GHC.Void{-3T,p-}] + ds_d25N :: [GHC.Void{-3T,W-}] {-# L #-} - ds_d2cZ = - PrelBase.[]{-5i,p-}{i} - _@_ GHC.Void{-3T,p-} } in + ds_d25N = + PrelBase.[]{-5i,w-}{i} _@_ GHC.Void{-3T,W-} } in let { - ds_d2d3 :: - [GHC.Void{-3T,p-}] + ds_d25R :: [GHC.Void{-3T,W-}] {-# L #-} - ds_d2d3 = - PrelBase.[]{-5i,p-}{i} - _@_ GHC.Void{-3T,p-} } in + ds_d25R = + PrelBase.[]{-5i,w-}{i} _@_ GHC.Void{-3T,W-} } in let { - ds_d2d7 :: - [GHC.Void{-3T,p-}] + ds_d25V :: [GHC.Void{-3T,W-}] {-# L #-} - ds_d2d7 = - PrelBase.[]{-5i,p-}{i} - _@_ GHC.Void{-3T,p-} + ds_d25V = + PrelBase.[]{-5i,w-}{i} _@_ GHC.Void{-3T,W-} } in - PrelTup.(,,){-63,p-}{i} - {_@_ [GHC.Void{-3T,p-}] - _@_ [GHC.Void{-3T,p-}] - _@_ [GHC.Void{-3T,p-}] - ds_d2cZ - ds_d2d3 - ds_d2d7} + PrelTup.(,,){-63,w-}{i} + {_@_ [GHC.Void{-3T,W-}] + _@_ [GHC.Void{-3T,W-}] + _@_ [GHC.Void{-3T,W-}] + ds_d25N + ds_d25R + ds_d25V} } in case - ds_d2dp + ds_d26d of { - PrelTup.(,,){-63,p-}{i} ds_d2dQ ds_d2dP ds_d2dO -> - let { ds_d2eg :: - PrelBase.(){-40,p-} + PrelTup.(,,){-63,w-}{i} ds_d26D ds_d26E ds_d26C -> + let { ds_d274 :: PrelBase.(){-40,W-} {-# L #-} - ds_d2eg = + ds_d274 = let { - fail_d2dR :: - PrelBase.(){-40,p-} + fail_d26F :: PrelBase.(){-40,W-} {-# L #-} - fail_d2dR = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} _string_ "ds020.hs:27|PrelBase.[]" + fail_d26F = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:27|PrelBase.[]" } in - case ds_d2dO of { - PrelBase.:{-55,p-}{i} ds_d2dZ ds_d2dY -> - fail_d2dR; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; + case ds_d26C of { + PrelBase.:{-55,w-}{i} ds_d26M ds_d26N -> fail_d26F; + PrelBase.[]{-5i,w-}{i} -> PrelBase.(){-60,w-}{i} {}; } } in - let { ds_d2eG :: - PrelBase.(){-40,p-} + let { ds_d27u :: PrelBase.(){-40,W-} {-# L #-} - ds_d2eG = + ds_d27u = let { - fail_d2eh :: - PrelBase.(){-40,p-} + fail_d275 :: PrelBase.(){-40,W-} {-# L #-} - fail_d2eh = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} _string_ "ds020.hs:27|PrelBase.[]" + fail_d275 = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:27|PrelBase.[]" } in - case ds_d2dP of { - PrelBase.:{-55,p-}{i} ds_d2ep ds_d2eo -> - fail_d2eh; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; + case ds_d26E of { + PrelBase.:{-55,w-}{i} ds_d27c ds_d27d -> fail_d275; + PrelBase.[]{-5i,w-}{i} -> PrelBase.(){-60,w-}{i} {}; } } in - let { ds_d2uC :: - PrelBase.(){-40,p-} + let { ds_d2ql :: PrelBase.(){-40,W-} {-# L #-} - ds_d2uC = + ds_d2ql = let { - fail_d2eH :: - PrelBase.(){-40,p-} + fail_d27v :: PrelBase.(){-40,W-} {-# L #-} - fail_d2eH = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} _string_ "ds020.hs:27|PrelBase.[]" + fail_d27v = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:27|PrelBase.[]" } in - case ds_d2dQ of { - PrelBase.:{-55,p-}{i} ds_d2eP ds_d2eO -> - fail_d2eH; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; + case ds_d26D of { + PrelBase.:{-55,w-}{i} ds_d27C ds_d27D -> fail_d27v; + PrelBase.[]{-5i,w-}{i} -> PrelBase.(){-60,w-}{i} {}; } } in - PrelBase.(){-60,p-}{i} - {};} -ds_d1S4 :: - PrelBase.(){-40,p-} + PrelBase.(){-60,w-}{i} {};} +ds_d1KN :: PrelBase.(){-40,W-} {-# L #-} -ds_d1S4 = - let { ds_d2fM :: - ([GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}]) +ds_d1KN = + let { ds_d28A :: ([GHC.Void{-3T,W-}], [GHC.Void{-3T,W-}], [GHC.Void{-3T,W-}]) {-# L #-} - ds_d2fM = + ds_d28A = let { - ds_d2ff :: - [GHC.Void{-3T,p-}] + ds_d283 :: [GHC.Void{-3T,W-}] {-# L #-} - ds_d2ff = - PrelBase.[]{-5i,p-}{i} - _@_ GHC.Void{-3T,p-} } in + ds_d283 = + PrelBase.[]{-5i,w-}{i} _@_ GHC.Void{-3T,W-} } in let { - ds_d2fj :: - [GHC.Void{-3T,p-}] + ds_d287 :: [GHC.Void{-3T,W-}] {-# L #-} - ds_d2fj = - PrelBase.[]{-5i,p-}{i} - _@_ GHC.Void{-3T,p-} } in + ds_d287 = + PrelBase.[]{-5i,w-}{i} _@_ GHC.Void{-3T,W-} } in let { - ds_d2fn :: - [GHC.Void{-3T,p-}] + ds_d28b :: [GHC.Void{-3T,W-}] {-# L #-} - ds_d2fn = - PrelBase.[]{-5i,p-}{i} - _@_ GHC.Void{-3T,p-} + ds_d28b = + PrelBase.[]{-5i,w-}{i} _@_ GHC.Void{-3T,W-} } in - PrelTup.(,,){-63,p-}{i} - {_@_ [GHC.Void{-3T,p-}] - _@_ [GHC.Void{-3T,p-}] - _@_ [GHC.Void{-3T,p-}] - ds_d2ff - ds_d2fj - ds_d2fn} + PrelTup.(,,){-63,w-}{i} + {_@_ [GHC.Void{-3T,W-}] + _@_ [GHC.Void{-3T,W-}] + _@_ [GHC.Void{-3T,W-}] + ds_d283 + ds_d287 + ds_d28b} } in let { - fail_d2fN :: - PrelBase.(){-40,p-} + fail_d28B :: PrelBase.(){-40,W-} {-# L #-} - fail_d2fN = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} + fail_d28B = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:26|(PrelBase.[], PrelBase.[], PrelBase.[])" } in case - ds_d2fM + ds_d28A of { - PrelTup.(,,){-63,p-}{i} ds_d2fW ds_d2fY ds_d2fX -> - case ds_d2fW of { - PrelBase.:{-55,p-}{i} ds_d2g6 ds_d2g5 -> - fail_d2fN; - PrelBase.[]{-5i,p-}{i} -> - case ds_d2fY of { - PrelBase.:{-55,p-}{i} ds_d2gk ds_d2gj -> - fail_d2fN; - PrelBase.[]{-5i,p-}{i} -> - case ds_d2fX of { - PrelBase.:{-55,p-}{i} ds_d2gy ds_d2gx -> - fail_d2fN; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; + PrelTup.(,,){-63,w-}{i} ds_d28K ds_d28L ds_d28M -> + case ds_d28K of { + PrelBase.:{-55,w-}{i} ds_d28T ds_d28U -> fail_d28B; + PrelBase.[]{-5i,w-}{i} -> + case ds_d28L of { + PrelBase.:{-55,w-}{i} ds_d297 ds_d298 -> fail_d28B; + PrelBase.[]{-5i,w-}{i} -> + case ds_d28M of { + PrelBase.:{-55,w-}{i} ds_d29l ds_d29m -> fail_d28B; + PrelBase.[]{-5i,w-}{i} -> PrelBase.(){-60,w-}{i} {}; }; }; };} -g{-r4r,x-} :: - _forall_ [t{-a17G-} t{-a17I-}] => [t{-a17G-}] -> [t{-a17I-}] +g{-r4o,x-} :: _forall_ [ta11C ta11F] => [ta11C] -> [ta11F] {-# L #-} -g{-r4r,x-} = - _/\_ t{-a17G-} t{-a17I-} -> \ ds_d2ha :: - [t{-a17G-}] - {-# L #-} - ds_d2ha -> - let { ds_d2uD :: - PrelBase.(){-40,p-} - {-# L #-} - ds_d2uD = - let { ds_d2uE :: - PrelBase.(){-40,p-} +g{-r4o,x-} = + _/\_ ta11C ta11F -> + _letrec_ { + g_a11w :: [ta11C] -> [ta11F] + {-# L #-} + g_a11w = + \ ds_d2a5 :: [ta11C] {-# L #-} - ds_d2uE = - let { ds_d2uF :: - PrelBase.(){-40,p-} - {-# L #-} - ds_d2uF = - let { ds_d2uG :: - PrelBase.(){-40,p-} - {-# L #-} - ds_d2uG = - let { - fail_d2hb :: - PrelBase.(){-40,p-} - {-# L #-} - fail_d2hb = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} _string_ "ds020.hs:22|PrelBase.[]" - } in - case ds_d2ha of { - PrelBase.:{-55,p-}{i} ds_d2hj ds_d2hi -> - fail_d2hb; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; - } - } in - PrelBase.(){-60,p-}{i} - {} - } in - PrelBase.(){-60,p-}{i} - {} - } in - PrelBase.(){-60,p-}{i} - {} - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-a17I-} -f{-r4s,x-} :: - _forall_ [t{-a17W-} t{-a17Y-}] => [t{-a17W-}] -> [t{-a17Y-}] + ds_d2a5 -> + let { ds_d2qm :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2qm = + let { ds_d2qn :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2qn = + let { ds_d2qo :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2qo = + let { ds_d2qp :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2qp = + let { + fail_d2a6 :: PrelBase.(){-40,W-} + {-# L #-} + fail_d2a6 = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:22|PrelBase.[]" + } in + case ds_d2a5 of { + PrelBase.:{-55,w-}{i} ds_d2ad ds_d2ae -> fail_d2a6; + PrelBase.[]{-5i,w-}{i} -> PrelBase.(){-60,w-}{i} {}; + } + } in + PrelBase.(){-60,w-}{i} {} + } in + PrelBase.(){-60,w-}{i} {} + } in + PrelBase.(){-60,w-}{i} {} + } in + PrelBase.[]{-5i,w-}{i} _@_ ta11F; + } in g_a11w +f{-r4p,x-} :: _forall_ [ta11W ta11Y] => [ta11W] -> [ta11Y] {-# L #-} -f{-r4s,x-} = - _/\_ t{-a17W-} t{-a17Y-} -> \ x_r3U :: - [t{-a17W-}] - {-# L #-} - x_r3U -> - let { x_r3U :: - [t{-a17W-}] - {-# L #-} - x_r3U = - let { - fail_d2hN :: - [t{-a17W-}] - {-# L #-} - fail_d2hN = - GHCerr.irrefutPatError{-8g,p-} - _@_ [t{-a17W-}] _string_ "ds020.hs:19|(x@PrelBase.[])" - } in - case x_r3U of { - PrelBase.:{-55,p-}{i} ds_d2hV ds_d2hU -> - fail_d2hN; - PrelBase.[]{-5i,p-}{i} -> - x_r3U; - } - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-a17Y-} -d{-r4t,x-} :: - _forall_ - [t{-a18b-} t{-a18D-}] - => - {PrelBase.Num{-2c,p-} t{-a18b-}} - -> {PrelBase.Num{-2c,p-} t{-a18D-}} - -> {PrelBase.Ord{-2d,p-} t{-a18b-}} - -> t{-a18b-} - -> t{-a18D-} +f{-r4p,x-} = + _/\_ ta11W ta11Y -> + _letrec_ { + f_a11H :: [ta11W] -> [ta11Y] + {-# L #-} + f_a11H = + \ x_r3R :: [ta11W] + {-# L #-} + x_r3R -> + let { x_r3R :: [ta11W] + {-# L #-} + x_r3R = + let { + fail_d2aQ :: [ta11W] + {-# L #-} + fail_d2aQ = + GHCerr.irrefutPatError{-8g,w-} + _@_ [ta11W] _string_ "ds020.hs:19|(x@PrelBase.[])" + } in + case x_r3R of { + PrelBase.:{-55,w-}{i} ds_d2aX ds_d2aY -> fail_d2aQ; + PrelBase.[]{-5i,w-}{i} -> x_r3R; + } + } in + PrelBase.[]{-5i,w-}{i} _@_ ta11Y; + } in f_a11H +d{-r4q,x-} :: _forall_ + [ta125 ta12z] + => + {PrelBase.Num{-2c,p-} ta125} + -> {PrelBase.Num{-2c,p-} ta12z} + -> {PrelBase.Ord{-2d,p-} ta125} + -> ta125 + -> ta12z {-# L #-} -d{-r4t,x-} = - _/\_ t{-a18b-} t{-a18D-} -> \ d.Num_a18H :: - {PrelBase.Num{-2c,p-} t{-a18b-}} - {-# L #-} - d.Num_a18H d.Num_a18M :: - {PrelBase.Num{-2c,p-} t{-a18D-}} - {-# L #-} - d.Num_a18M d.Ord_a18R :: - {PrelBase.Ord{-2d,p-} t{-a18b-}} +d{-r4q,x-} = + _/\_ ta125 ta12z -> \ d.Num_a12C :: {PrelBase.Num{-2c,p-} ta125} + {-# L #-} + d.Num_a12C d.Num_a12H :: {PrelBase.Num{-2c,p-} ta12z} + {-# L #-} + d.Num_a12H d.Ord_a12M :: {PrelBase.Ord{-2d,p-} ta125} + {-# L #-} + d.Ord_a12M -> + _letrec_ { + d.Eq_a12E :: {PrelBase.Eq{-23,p-} ta125} + {-# L #-} + d.Eq_a12E = + PrelBase.scsel_OrdPrelBaseEq{-a2bU,p-} _@_ ta125 d.Ord_a12M; + fromInt_a2bq :: PrelBase.Int{-3g,W-} -> ta125 + {-# L #-} + fromInt_a2bq = + PrelBase.fromInt{-8R,p-} _@_ ta125 d.Num_a12C; + lit_a2br :: ta125 + {-# L #-} + lit_a2br = + let { + ds_d2e5 :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2e5 = + PrelBase.I#{-5b,w-}{i} 11 + } in fromInt_a2bq ds_d2e5; + ==_a2bs :: ta125 -> ta125 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a2bs = + PrelBase.=={-8Y,p-} _@_ ta125 d.Eq_a12E; + fromInt_a2bt :: PrelBase.Int{-3g,W-} -> ta12z + {-# L #-} + fromInt_a2bt = + PrelBase.fromInt{-8R,p-} _@_ ta12z d.Num_a12H; + lit_a2bu :: ta12z + {-# L #-} + lit_a2bu = + let { + ds_d2ez :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2ez = + PrelBase.I#{-5b,w-}{i} 4 + } in fromInt_a2bt ds_d2ez; + fromInt_a2bv :: PrelBase.Int{-3g,W-} -> ta125 + {-# L #-} + fromInt_a2bv = + fromInt_a2bq; + lit_a2bw :: ta125 + {-# L #-} + lit_a2bw = + let { + ds_d2eO :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2eO = + PrelBase.I#{-5b,w-}{i} 12 + } in fromInt_a2bv ds_d2eO; + ==_a2bx :: ta125 -> ta125 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a2bx = + ==_a2bs; + fromInt_a2by :: PrelBase.Int{-3g,W-} -> ta12z + {-# L #-} + fromInt_a2by = + fromInt_a2bt; + lit_a2bz :: ta12z + {-# L #-} + lit_a2bz = + let { + ds_d2f4 :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2f4 = + PrelBase.I#{-5b,w-}{i} 3 + } in fromInt_a2by ds_d2f4; + fromInt_a2bA :: PrelBase.Int{-3g,W-} -> ta125 + {-# L #-} + fromInt_a2bA = + fromInt_a2bq; + lit_a2bB :: ta125 + {-# L #-} + lit_a2bB = + let { + ds_d2fj :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2fj = + PrelBase.I#{-5b,w-}{i} 4 + } in fromInt_a2bA ds_d2fj; + >=_a2bC :: ta125 -> ta125 -> PrelBase.Bool{-34,W-} + {-# L #-} + >=_a2bC = + PrelBase.>={-8Z,p-} _@_ ta125 d.Ord_a12M; + d.Num_a12O :: {PrelBase.Num{-2c,p-} ta125} + {-# L #-} + d.Num_a12O = + d.Num_a12C; + -_a2bD :: ta125 -> ta125 -> ta125 + {-# L #-} + -_a2bD = + PrelBase.-{-817,p-} _@_ ta125 d.Num_a12O; + fromInt_a2bE :: PrelBase.Int{-3g,W-} -> ta12z + {-# L #-} + fromInt_a2bE = + fromInt_a2bt; + lit_a2bF :: ta12z + {-# L #-} + lit_a2bF = + let { + ds_d2fP :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2fP = + PrelBase.I#{-5b,w-}{i} 2 + } in fromInt_a2bE ds_d2fP; + fromInt_a2bG :: PrelBase.Int{-3g,W-} -> ta125 + {-# L #-} + fromInt_a2bG = + fromInt_a2bq; + lit_a2bH :: ta125 + {-# L #-} + lit_a2bH = + let { + ds_d2g4 :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2g4 = + PrelBase.I#{-5b,w-}{i} 43 + } in fromInt_a2bG ds_d2g4; + >=_a2bI :: ta125 -> ta125 -> PrelBase.Bool{-34,W-} + {-# L #-} + >=_a2bI = + >=_a2bC; + -_a2bJ :: ta125 -> ta125 -> ta125 + {-# L #-} + -_a2bJ = + -_a2bD; + fromInt_a2bK :: PrelBase.Int{-3g,W-} -> ta12z + {-# L #-} + fromInt_a2bK = + fromInt_a2bt; + lit_a2bL :: ta12z + {-# L #-} + lit_a2bL = + let { + ds_d2gl :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2gl = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_a2bK ds_d2gl; + fromInt_a2bM :: PrelBase.Int{-3g,W-} -> ta125 + {-# L #-} + fromInt_a2bM = + fromInt_a2bq; + lit_a2bN :: ta125 + {-# L #-} + lit_a2bN = + let { + ds_d2gA :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2gA = + PrelBase.I#{-5b,w-}{i} 999 + } in fromInt_a2bM ds_d2gA; + >=_a2bO :: ta125 -> ta125 -> PrelBase.Bool{-34,W-} + {-# L #-} + >=_a2bO = + >=_a2bC; + -_a2bP :: ta125 -> ta125 -> ta125 + {-# L #-} + -_a2bP = + -_a2bD; + fromInt_a2bQ :: PrelBase.Int{-3g,W-} -> ta12z + {-# L #-} + fromInt_a2bQ = + fromInt_a2bt; + lit_a2bR :: ta12z + {-# L #-} + lit_a2bR = + let { + ds_d2gR :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2gR = + PrelBase.I#{-5b,w-}{i} 0 + } in fromInt_a2bQ ds_d2gR; + d_a120 :: ta125 -> ta12z + {-# L #-} + d_a120 = + \ ds_d2hp :: ta125 + {-# L #-} + ds_d2hp -> + let { fail_d2ig :: ta12z + {-# L #-} + fail_d2ig = + let { ds_d2h9 :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2h9 = + let { + fail_d2hC :: PrelBase.(){-40,W-} + {-# L #-} + fail_d2hC = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:13|(n+4)" + } in + case + (\ ds_d2hw :: ta125 + {-# L #-} + ds_d2hw -> + >=_a2bC ds_d2hw lit_a2bB) + ds_d2hp + of { + PrelBase.True{-5E,w-}{i} -> + let { + n_r3L :: ta125 + {-# L #-} + n_r3L = + (\ ds_d2hV :: ta125 + {-# L #-} + ds_d2hV -> + -_a2bD ds_d2hV lit_a2bB) + ds_d2hp + } in PrelBase.(){-60,w-}{i} {}; + PrelBase.False{-58,w-}{i} -> fail_d2hC; + } + } in + lit_a2bF + } in + let { + fail_d2iA :: ta12z + {-# L #-} + fail_d2iA = + case ==_a2bx lit_a2bw ds_d2hp of { + PrelBase.True{-5E,w-}{i} -> lit_a2bz; + PrelBase.False{-58,w-}{i} -> fail_d2ig; + } + } in + case ==_a2bs lit_a2br ds_d2hp of { + PrelBase.True{-5E,w-}{i} -> lit_a2bu; + PrelBase.False{-58,w-}{i} -> fail_d2iA; + }; + } in d_a120 +c{-r4r,x-} :: _forall_ + [ta13o ta13b ta13i ta13q] + => + {PrelNum.Fractional{-26,p-} ta13i} + -> {PrelBase.Num{-2c,p-} ta13b} + -> ta13q + -> ta13o + -> ta13b + -> ta13i + -> ta13q +{-# L #-} +c{-r4r,x-} = + _/\_ ta13o ta13b ta13i ta13q -> \ d.Fractional_a13y :: {PrelNum.Fractional{-26,p-} ta13i} + {-# L #-} + d.Fractional_a13y d.Num_a13t :: {PrelBase.Num{-2c,p-} ta13b} {-# L #-} - d.Ord_a18R -> - let { - d.Eq_a18J :: - {PrelBase.Eq{-23,p-} t{-a18b-}} - {-# L #-} - d.Eq_a18J = - PrelBase.scsel_OrdPrelBaseEq{-a2jI,p-} - _@_ t{-a18b-} d.Ord_a18R } in - let { - fromInt_a2jy :: - PrelBase.Int{-3g,p-} -> t{-a18b-} - {-# L #-} - fromInt_a2jy = - PrelBase.fromInt{-8R,p-} - _@_ t{-a18b-} d.Num_a18H } in - let { lit_a2jx :: - t{-a18b-} - {-# L #-} - lit_a2jx = - let { - ds_d2jX :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2jX = - PrelBase.I#{-5b,p-}{i} - 11 - } in - fromInt_a2jy - ds_d2jX - } in - let { - ==_a2jw :: - t{-a18b-} -> t{-a18b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a2jw = - PrelBase.=={-8Y,p-} - _@_ t{-a18b-} d.Eq_a18J } in - let { - fromInt_a2jv :: - PrelBase.Int{-3g,p-} -> t{-a18D-} - {-# L #-} - fromInt_a2jv = - PrelBase.fromInt{-8R,p-} - _@_ t{-a18D-} d.Num_a18M } in - let { lit_a2ju :: - t{-a18D-} - {-# L #-} - lit_a2ju = - let { - ds_d2kr :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2kr = - PrelBase.I#{-5b,p-}{i} - 4 - } in - fromInt_a2jv - ds_d2kr - } in - let { - fromInt_a2jt :: - PrelBase.Int{-3g,p-} -> t{-a18b-} - {-# L #-} - fromInt_a2jt = - fromInt_a2jy } in - let { lit_a2js :: - t{-a18b-} - {-# L #-} - lit_a2js = - let { - ds_d2kG :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2kG = - PrelBase.I#{-5b,p-}{i} - 12 - } in - fromInt_a2jt - ds_d2kG - } in - let { - ==_a2jr :: - t{-a18b-} -> t{-a18b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a2jr = - ==_a2jw } in - let { - fromInt_a2jq :: - PrelBase.Int{-3g,p-} -> t{-a18D-} - {-# L #-} - fromInt_a2jq = - fromInt_a2jv } in - let { lit_a2jp :: - t{-a18D-} - {-# L #-} - lit_a2jp = - let { - ds_d2kW :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2kW = - PrelBase.I#{-5b,p-}{i} - 3 - } in - fromInt_a2jq - ds_d2kW - } in - let { - fromInt_a2jo :: - PrelBase.Int{-3g,p-} -> t{-a18b-} - {-# L #-} - fromInt_a2jo = - fromInt_a2jy } in - let { lit_a2jn :: - t{-a18b-} - {-# L #-} - lit_a2jn = - let { - ds_d2lb :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2lb = - PrelBase.I#{-5b,p-}{i} - 4 - } in - fromInt_a2jo - ds_d2lb - } in - let { - >=_a2jm :: - t{-a18b-} -> t{-a18b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - >=_a2jm = - PrelBase.>={-8Z,p-} - _@_ t{-a18b-} d.Ord_a18R } in - let { - d.Num_a18T :: - {PrelBase.Num{-2c,p-} t{-a18b-}} - {-# L #-} - d.Num_a18T = - d.Num_a18H } in - let { - -_a2jl :: - t{-a18b-} -> t{-a18b-} -> t{-a18b-} - {-# L #-} - -_a2jl = - PrelBase.-{-817,p-} - _@_ t{-a18b-} d.Num_a18T } in - let { - fromInt_a2jk :: - PrelBase.Int{-3g,p-} -> t{-a18D-} - {-# L #-} - fromInt_a2jk = - fromInt_a2jv } in - let { lit_a2jj :: - t{-a18D-} - {-# L #-} - lit_a2jj = - let { - ds_d2lH :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2lH = - PrelBase.I#{-5b,p-}{i} - 2 - } in - fromInt_a2jk - ds_d2lH - } in - let { - fromInt_a2ji :: - PrelBase.Int{-3g,p-} -> t{-a18b-} - {-# L #-} - fromInt_a2ji = - fromInt_a2jy } in - let { lit_a2jh :: - t{-a18b-} - {-# L #-} - lit_a2jh = - let { - ds_d2lW :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2lW = - PrelBase.I#{-5b,p-}{i} - 43 - } in - fromInt_a2ji - ds_d2lW - } in - let { - >=_a2jg :: - t{-a18b-} -> t{-a18b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - >=_a2jg = - >=_a2jm } in - let { - -_a2jf :: - t{-a18b-} -> t{-a18b-} -> t{-a18b-} - {-# L #-} - -_a2jf = - -_a2jl } in - let { - fromInt_a2je :: - PrelBase.Int{-3g,p-} -> t{-a18D-} - {-# L #-} - fromInt_a2je = - fromInt_a2jv } in - let { lit_a2jd :: - t{-a18D-} - {-# L #-} - lit_a2jd = - let { - ds_d2md :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2md = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_a2je - ds_d2md - } in - let { - fromInt_a2jc :: - PrelBase.Int{-3g,p-} -> t{-a18b-} - {-# L #-} - fromInt_a2jc = - fromInt_a2jy } in - let { lit_a2jb :: - t{-a18b-} - {-# L #-} - lit_a2jb = - let { - ds_d2ms :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2ms = - PrelBase.I#{-5b,p-}{i} - 999 - } in - fromInt_a2jc - ds_d2ms - } in - let { - >=_a2ja :: - t{-a18b-} -> t{-a18b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - >=_a2ja = - >=_a2jm } in - let { - -_a2j9 :: - t{-a18b-} -> t{-a18b-} -> t{-a18b-} - {-# L #-} - -_a2j9 = - -_a2jl } in - let { - fromInt_a2j8 :: - PrelBase.Int{-3g,p-} -> t{-a18D-} + d.Num_a13t -> + _letrec_ { + d.Eq_a13v :: {PrelBase.Eq{-23,p-} ta13b} + {-# L #-} + d.Eq_a13v = + PrelBase.scsel_NumPrelBaseEq{-a2jg,p-} _@_ ta13b d.Num_a13t; + d.Num_a155 :: {PrelBase.Num{-2c,p-} ta13i} + {-# L #-} + d.Num_a155 = + PrelNum.scsel_FractionalPrelBaseNum{-a2jZ,p-} + _@_ ta13i d.Fractional_a13y; + d.Eq_a13A :: {PrelBase.Eq{-23,p-} ta13i} + {-# L #-} + d.Eq_a13A = + PrelBase.scsel_NumPrelBaseEq{-a2jg,p-} _@_ ta13i d.Num_a155; + fromInt_a2j8 :: PrelBase.Int{-3g,W-} -> ta13b {-# L #-} fromInt_a2j8 = - fromInt_a2jv } in - let { lit_a2j7 :: - t{-a18D-} - {-# L #-} - lit_a2j7 = - let { - ds_d2mJ :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2mJ = - PrelBase.I#{-5b,p-}{i} - 0 - } in - fromInt_a2j8 - ds_d2mJ - } in - \ ds_d2ng :: - t{-a18b-} - {-# L #-} - ds_d2ng -> - let { fail_d2o7 :: - t{-a18D-} - {-# L #-} - fail_d2o7 = - let { ds_d2n0 :: - PrelBase.(){-40,p-} + PrelBase.fromInt{-8R,p-} _@_ ta13b d.Num_a13t; + lit_a2j9 :: ta13b + {-# L #-} + lit_a2j9 = + let { + ds_d2km :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d2km = + PrelBase.I#{-5b,w-}{i} 11111 + } in fromInt_a2j8 ds_d2km; + ==_a2ja :: ta13b -> ta13b -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a2ja = + PrelBase.=={-8Y,p-} _@_ ta13b d.Eq_a13v; + fromRational_a2jb :: PrelNum.Rational{-3r,p-} -> ta13i + {-# L #-} + fromRational_a2jb = + PrelNum.fromRational{-8T,p-} _@_ ta13i d.Fractional_a13y; + lit_a2jc :: ta13i + {-# L #-} + lit_a2jc = + fromRational_a2jb _rational_ 62831853 20000000; + ==_a2jd :: ta13i -> ta13i -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a2jd = + PrelBase.=={-8Y,p-} _@_ ta13i d.Eq_a13A; + c_a12W :: ta13q -> ta13o -> ta13b -> ta13i -> ta13q + {-# L #-} + c_a12W = + \ x_r3H :: ta13q + {-# L #-} + x_r3H ds_d2lx :: ta13o + {-# L #-} + ds_d2lx ds_d2ly :: ta13b + {-# L #-} + ds_d2ly ds_d2lu :: ta13i + {-# L #-} + ds_d2lu -> + let { ds_d2m4 :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2m4 = + let { + fail_d2lz :: PrelBase.(){-40,W-} + {-# L #-} + fail_d2lz = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:11|3.1415926500000002" + } in + case ==_a2jd lit_a2jc ds_d2lu of { + PrelBase.True{-5E,w-}{i} -> PrelBase.(){-60,w-}{i} {}; + PrelBase.False{-58,w-}{i} -> fail_d2lz; + } + } in + let { ds_d2mh :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2mh = + let { + fail_d2m5 :: PrelBase.(){-40,W-} + {-# L #-} + fail_d2m5 = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} _string_ "ds020.hs:11|11111" + } in + case ==_a2ja lit_a2j9 ds_d2ly of { + PrelBase.True{-5E,w-}{i} -> PrelBase.(){-60,w-}{i} {}; + PrelBase.False{-58,w-}{i} -> fail_d2m5; + } + } in + let { + ds_d2lb :: PrelBase.(){-40,W-} {-# L #-} - ds_d2n0 = - let { - fail_d2nt :: - PrelBase.(){-40,p-} - {-# L #-} - fail_d2nt = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} _string_ "ds020.hs:13|(n+4)" - } in - case - (\ ds_d2nn :: - t{-a18b-} - {-# L #-} - ds_d2nn -> - >=_a2jm - ds_d2nn lit_a2jn) - ds_d2ng - of { - PrelBase.True{-5E,p-}{i} -> - let { - n_r3O :: - t{-a18b-} - {-# L #-} - n_r3O = - (\ ds_d2nM :: - t{-a18b-} - {-# L #-} - ds_d2nM -> - -_a2jl - ds_d2nM lit_a2jn) - ds_d2ng - } in - PrelBase.(){-60,p-}{i} - {}; - PrelBase.False{-58,p-}{i} -> - fail_d2nt; - } - } in - lit_a2jj - } in - let { - fail_d2or :: - t{-a18D-} - {-# L #-} - fail_d2or = - case - ==_a2jr - lit_a2js ds_d2ng - of { - PrelBase.True{-5E,p-}{i} -> - lit_a2jp; - PrelBase.False{-58,p-}{i} -> - fail_d2o7; - } - } in - case - ==_a2jw - lit_a2jx ds_d2ng - of { - PrelBase.True{-5E,p-}{i} -> - lit_a2ju; - PrelBase.False{-58,p-}{i} -> - fail_d2or; - } -c{-r4u,x-} :: - _forall_ - [t{-a19h-} t{-a19j-} t{-a199-} t{-a19d-}] - => - {PrelNum.Fractional{-26,p-} t{-a19d-}} - -> {PrelBase.Num{-2c,p-} t{-a199-}} - -> t{-a19h-} - -> t{-a19j-} - -> t{-a199-} - -> t{-a19d-} - -> t{-a19h-} + ds_d2lb = + PrelBase.(){-60,w-}{i} {} + } in x_r3H; + } in c_a12W +b{-r4s,x-} :: _forall_ [ta140 ta147] => [ta140] -> [ta147] {-# L #-} -c{-r4u,x-} = - _/\_ t{-a19h-} t{-a19j-} t{-a199-} t{-a19d-} -> \ d.Fractional_a19r :: - {PrelNum.Fractional{-26,p-} t{-a19d-}} - {-# L #-} - d.Fractional_a19r d.Num_a19m :: - {PrelBase.Num{-2c,p-} t{-a199-}} - {-# L #-} - d.Num_a19m -> - let { - d.Eq_a19o :: - {PrelBase.Eq{-23,p-} t{-a199-}} - {-# L #-} - d.Eq_a19o = - PrelBase.scsel_NumPrelBaseEq{-a2pi,p-} - _@_ t{-a199-} d.Num_a19m } in - let { - d.Num_a1b5 :: - {PrelBase.Num{-2c,p-} t{-a19d-}} - {-# L #-} - d.Num_a1b5 = - PrelNum.scsel_FractionalPrelBaseNum{-a2pr,p-} - _@_ t{-a19d-} d.Fractional_a19r } in - let { - d.Eq_a19t :: - {PrelBase.Eq{-23,p-} t{-a19d-}} - {-# L #-} - d.Eq_a19t = - PrelBase.scsel_NumPrelBaseEq{-a2pi,p-} - _@_ t{-a19d-} d.Num_a1b5 } in - let { - fromInt_a2p8 :: - PrelBase.Int{-3g,p-} -> t{-a199-} - {-# L #-} - fromInt_a2p8 = - PrelBase.fromInt{-8R,p-} - _@_ t{-a199-} d.Num_a19m } in - let { lit_a2p7 :: - t{-a199-} - {-# L #-} - lit_a2p7 = - let { - ds_d2pO :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d2pO = - PrelBase.I#{-5b,p-}{i} - 11111 - } in - fromInt_a2p8 - ds_d2pO - } in - let { - ==_a2p6 :: - t{-a199-} -> t{-a199-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a2p6 = - PrelBase.=={-8Y,p-} - _@_ t{-a199-} d.Eq_a19o } in - let { - fromRational_a2p5 :: - PrelNum.Rational{-3r,p-} -> t{-a19d-} - {-# L #-} - fromRational_a2p5 = - PrelNum.fromRational{-8T,p-} - _@_ t{-a19d-} d.Fractional_a19r } in - let { - lit_a2p4 :: - t{-a19d-} - {-# L #-} - lit_a2p4 = - fromRational_a2p5 - _rational_ 62831853 20000000 } in - let { - ==_a2p3 :: - t{-a19d-} -> t{-a19d-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a2p3 = - PrelBase.=={-8Y,p-} - _@_ t{-a19d-} d.Eq_a19t - } in - \ x_r3H :: - t{-a19h-} - {-# L #-} - x_r3H ds_d2qY :: - t{-a19j-} - {-# L #-} - ds_d2qY ds_d2qZ :: - t{-a199-} - {-# L #-} - ds_d2qZ ds_d2qV :: - t{-a19d-} - {-# L #-} - ds_d2qV -> - let { ds_d2rv :: - PrelBase.(){-40,p-} +b{-r4s,x-} = + _/\_ ta140 ta147 -> + _letrec_ { + b_a13E :: [ta140] -> [ta147] + {-# L #-} + b_a13E = + \ ds_d2mU :: [ta140] + {-# L #-} + ds_d2mU -> + let { ds_d2nB :: (ta140, ta140, [ta140]) + {-# L #-} + ds_d2nB = + let { + fail_d2mV :: (ta140, ta140, [ta140]) + {-# L #-} + fail_d2mV = + GHCerr.irrefutPatError{-8g,w-} + _@_ (ta140, ta140, [ta140]) + _string_ "ds020.hs:8|(x PrelBase.: (xs PrelBase.: ys))" + } in + case ds_d2mU of { + PrelBase.[]{-5i,w-}{i} -> fail_d2mV; + PrelBase.:{-55,w-}{i} x_r3z ds_d2n8 -> + case ds_d2n8 of { + PrelBase.[]{-5i,w-}{i} -> fail_d2mV; + PrelBase.:{-55,w-}{i} xs_r3A ys_r3B -> + PrelTup.(,,){-63,w-}{i} + {_@_ ta140 _@_ ta140 _@_ [ta140] x_r3z xs_r3A ys_r3B}; + }; + } + } in + let { + x_r3z :: ta140 {-# L #-} - ds_d2rv = - let { - fail_d2r0 :: - PrelBase.(){-40,p-} - {-# L #-} - fail_d2r0 = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} _string_ "ds020.hs:11|3.1415926500000002" - } in - case - ==_a2p3 - lit_a2p4 ds_d2qV - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; - PrelBase.False{-58,p-}{i} -> - fail_d2r0; - } - } in - let { ds_d2rI :: - PrelBase.(){-40,p-} + x_r3z = + case ds_d2nB of { PrelTup.(,,){-63,w-}{i} x_r3z xs_r3A ys_r3B -> + x_r3z;} } in + let { + xs_r3A :: ta140 {-# L #-} - ds_d2rI = - let { - fail_d2rw :: - PrelBase.(){-40,p-} - {-# L #-} - fail_d2rw = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} _string_ "ds020.hs:11|11111" - } in - case - ==_a2p6 - lit_a2p7 ds_d2qZ - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; - PrelBase.False{-58,p-}{i} -> - fail_d2rw; - } - } in - let { - ds_d2qC :: - PrelBase.(){-40,p-} + xs_r3A = + case ds_d2nB of { PrelTup.(,,){-63,w-}{i} x_r3z xs_r3A ys_r3B -> + xs_r3A;} } in + let { + ys_r3B :: [ta140] + {-# L #-} + ys_r3B = + case ds_d2nB of { PrelTup.(,,){-63,w-}{i} x_r3z xs_r3A ys_r3B -> + ys_r3B;} + } in PrelBase.[]{-5i,w-}{i} _@_ ta147; + } in b_a13E +a{-r4t,x-} :: _forall_ + [ta14y ta14B ta14E ta14G] + => + ([ta14y], [ta14B], [ta14E]) -> [ta14G] +{-# L #-} +a{-r4t,x-} = + _/\_ ta14y ta14B ta14E ta14G -> + _letrec_ { + a_a149 :: ([ta14y], [ta14B], [ta14E]) -> [ta14G] + {-# L #-} + a_a149 = + \ ds_d2oz :: ([ta14y], [ta14B], [ta14E]) {-# L #-} - ds_d2qC = - PrelBase.(){-60,p-}{i} - {} - } in - x_r3H -b{-r4v,x-} :: - _forall_ [t{-a19Q-} t{-a19X-}] => [t{-a19Q-}] -> [t{-a19X-}] + ds_d2oz -> + let { ds_d2qq :: PrelBase.(){-40,W-} + {-# L #-} + ds_d2qq = + let { + fail_d2oA :: PrelBase.(){-40,W-} + {-# L #-} + fail_d2oA = + GHCerr.irrefutPatError{-8g,w-} + _@_ PrelBase.(){-40,W-} + _string_ "ds020.hs:5|(PrelBase.[], PrelBase.[], PrelBase.[])" + } in + case + ds_d2oz + of { + PrelTup.(,,){-63,w-}{i} ds_d2oJ ds_d2oK ds_d2oL -> + case ds_d2oJ of { + PrelBase.:{-55,w-}{i} ds_d2oS ds_d2oT -> fail_d2oA; + PrelBase.[]{-5i,w-}{i} -> + case ds_d2oK of { + PrelBase.:{-55,w-}{i} ds_d2p6 ds_d2p7 -> fail_d2oA; + PrelBase.[]{-5i,w-}{i} -> + case ds_d2oL of { + PrelBase.:{-55,w-}{i} ds_d2pk ds_d2pl -> fail_d2oA; + PrelBase.[]{-5i,w-}{i} -> PrelBase.(){-60,w-}{i} {}; + }; + }; + };} + } in + PrelBase.[]{-5i,w-}{i} _@_ ta14G; + } in a_a149 +d.Eq_a14Y :: {PrelBase.Eq{-23,p-} PrelBase.Int{-3g,W-}} {-# L #-} -b{-r4v,x-} = - _/\_ t{-a19Q-} t{-a19X-} -> \ ds_d2sd :: - [t{-a19Q-}] - {-# L #-} - ds_d2sd -> - let { ds_d2sU :: - (t{-a19Q-}, t{-a19Q-}, [t{-a19Q-}]) - {-# L #-} - ds_d2sU = - let { - fail_d2se :: - (t{-a19Q-}, t{-a19Q-}, [t{-a19Q-}]) - {-# L #-} - fail_d2se = - GHCerr.irrefutPatError{-8g,p-} - _@_ (t{-a19Q-}, t{-a19Q-}, [t{-a19Q-}]) - _string_ "ds020.hs:8|(x PrelBase.: (xs PrelBase.: ys))" - } in - case ds_d2sd of { - PrelBase.[]{-5i,p-}{i} -> - fail_d2se; - PrelBase.:{-55,p-}{i} x_r3z ds_d2sr -> - case ds_d2sr of { - PrelBase.[]{-5i,p-}{i} -> - fail_d2se; - PrelBase.:{-55,p-}{i} xs_r3A ys_r3B -> - PrelTup.(,,){-63,p-}{i} - {_@_ t{-a19Q-} _@_ t{-a19Q-} _@_ [t{-a19Q-}] x_r3z xs_r3A ys_r3B}; - }; - } - } in - let { - x_r3z :: - t{-a19Q-} - {-# L #-} - x_r3z = - case ds_d2sU of { PrelTup.(,,){-63,p-}{i} x_r3z xs_r3A ys_r3B -> - x_r3z;} } in - let { - xs_r3A :: - t{-a19Q-} - {-# L #-} - xs_r3A = - case ds_d2sU of { PrelTup.(,,){-63,p-}{i} x_r3z xs_r3A ys_r3B -> - xs_r3A;} } in - let { - ys_r3B :: - [t{-a19Q-}] - {-# L #-} - ys_r3B = - case ds_d2sU of { PrelTup.(,,){-63,p-}{i} x_r3z xs_r3A ys_r3B -> - ys_r3B;} - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-a19X-} -a{-r4w,x-} :: - _forall_ - [t{-a1al-} t{-a1ao-} t{-a1ar-} t{-a1at-}] - => - ([t{-a1al-}], [t{-a1ao-}], [t{-a1ar-}]) -> [t{-a1at-}] +d.Eq_a14Y = + PrelBase.$d8{-rq4,p-} +==_a1zR :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} {-# L #-} -a{-r4w,x-} = - _/\_ t{-a1al-} t{-a1ao-} t{-a1ar-} t{-a1at-} -> \ ds_d2tK :: - ([t{-a1al-}], [t{-a1ao-}], [t{-a1ar-}]) - {-# L #-} - ds_d2tK -> - let { ds_d2uH :: - PrelBase.(){-40,p-} - {-# L #-} - ds_d2uH = - let { - fail_d2tL :: - PrelBase.(){-40,p-} - {-# L #-} - fail_d2tL = - GHCerr.irrefutPatError{-8g,p-} - _@_ PrelBase.(){-40,p-} - _string_ "ds020.hs:5|(PrelBase.[], PrelBase.[], PrelBase.[])" - } in - case - ds_d2tK - of { - PrelTup.(,,){-63,p-}{i} ds_d2tU ds_d2tW ds_d2tV -> - case ds_d2tU of { - PrelBase.:{-55,p-}{i} ds_d2u4 ds_d2u3 -> - fail_d2tL; - PrelBase.[]{-5i,p-}{i} -> - case ds_d2tW of { - PrelBase.:{-55,p-}{i} ds_d2ui ds_d2uh -> - fail_d2tL; - PrelBase.[]{-5i,p-}{i} -> - case ds_d2tV of { - PrelBase.:{-55,p-}{i} ds_d2uw ds_d2uv -> - fail_d2tL; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.(){-60,p-}{i} - {}; - }; - }; - };} - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-a1at-} +==_a1zR = + PrelBase.=={-8Y,p-} _@_ PrelBase.Int{-3g,W-} d.Eq_a14Y +lit_a1zS :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1zS = + PrelBase.I#{-5b,w-}{i} 2 +lit_a1zT :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1zT = + PrelBase.I#{-5b,w-}{i} 4 +lit_a1zU :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1zU = + PrelBase.I#{-5b,w-}{i} 3 +d.Ord_a151 :: {PrelBase.Ord{-2d,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Ord_a151 = + PrelBase.$d7{-rq3,p-} +>_a1zV :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +>_a1zV = + PrelBase.>{-ruE,p-} _@_ PrelBase.Int{-3g,W-} d.Ord_a151 +lit_a1zW :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1zW = + lit_a1zU +lit_a1zX :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1zX = + lit_a1zT +lit_a1zY :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1zY = + PrelBase.I#{-5b,w-}{i} 5 +d.Ord_a154 :: {PrelBase.Ord{-2d,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Ord_a154 = + d.Ord_a151 +<=_a1zZ :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +<=_a1zZ = + PrelBase.<={-ruD,p-} _@_ PrelBase.Int{-3g,W-} d.Ord_a154 +lit_a1A0 :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1A0 = + lit_a1zS +lit_a1A1 :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1A1 = + lit_a1zU +==_a1A2 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +==_a1A2 = + ==_a1zR +lit_a1A3 :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1A3 = + lit_a1zS +lit_a1A4 :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1A4 = + lit_a1zT +lit_a1A5 :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1A5 = + lit_a1zU end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds021.stderr b/ghc/tests/deSugar/should_compile/ds021.stderr index 2d6f67a..649c9b9 100644 --- a/ghc/tests/deSugar/should_compile/ds021.stderr +++ b/ghc/tests/deSugar/should_compile/ds021.stderr @@ -5,77 +5,53 @@ ds021.hs:8: ================================================================================ Desugared: -f{-r3i,x-} :: - _forall_ - [rlg{-aG9-} t{-aGm-}] - => - {PrelBase.Eq{-23,p-} rlg{-aG9-}} - -> rlg{-aG9-} - -> rlg{-aG9-} - -> rlg{-aG9-} - -> [t{-aGm-}] +Rec { +f{-r3g,x-} :: _forall_ + [taBa taBj] + => + {PrelBase.Eq{-23,p-} taBa} -> taBa -> taBa -> taBa -> [taBj] {-# L #-} -f{-r3i,x-} = - _/\_ rlg{-aG9-} t{-aGm-} -> \ d.Eq_aGr :: - {PrelBase.Eq{-23,p-} rlg{-aG9-}} - {-# L #-} - d.Eq_aGr -> - let { - ==_aIv :: - rlg{-aG9-} -> rlg{-aG9-} -> PrelBase.Bool{-34,p-} +f{-r3g,x-} = + _/\_ taBa taBj -> \ d.Eq_aBl :: {PrelBase.Eq{-23,p-} taBa} + {-# L #-} + d.Eq_aBl -> + _letrec_ { + ==_aDt :: taBa -> taBa -> PrelBase.Bool{-34,W-} {-# L #-} - ==_aIv = - PrelBase.=={-8Y,p-} - _@_ rlg{-aG9-} d.Eq_aGr } in - let { - d.Eq_aGt :: - {PrelBase.Eq{-23,p-} rlg{-aG9-}} + ==_aDt = + PrelBase.=={-8Y,p-} _@_ taBa d.Eq_aBl; + d.Eq_aBn :: {PrelBase.Eq{-23,p-} taBa} {-# L #-} - d.Eq_aGt = - d.Eq_aGr } in - let { - /=_aIu :: - rlg{-aG9-} -> rlg{-aG9-} -> PrelBase.Bool{-34,p-} + d.Eq_aBn = + d.Eq_aBl; + /=_aDA :: taBa -> taBa -> PrelBase.Bool{-34,W-} {-# L #-} - /=_aIu = - PrelBase./={-ray,p-} - _@_ rlg{-aG9-} d.Eq_aGt - } in - \ x_r3d :: - rlg{-aG9-} - {-# L #-} - x_r3d y_r3f :: - rlg{-aG9-} - {-# L #-} - y_r3f z_r3h :: - rlg{-aG9-} - {-# L #-} - z_r3h -> - let { - fail_dJa :: - [t{-aGm-}] + /=_aDA = + PrelBase./={-r9I,p-} _@_ taBa d.Eq_aBn; + f_aAK :: taBa -> taBa -> taBa -> [taBj] + {-# L #-} + f_aAK = + \ x_r3d :: taBa {-# L #-} - fail_dJa = - GHCerr.patError{-8r,p-} - _@_ [t{-aGm-}] _string_ "ds021.hs:5|function `f'" - } in - case - ==_aIv - x_r3d y_r3f - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aGm-}; - PrelBase.False{-58,p-}{i} -> - case - /=_aIu - x_r3d z_r3h - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aGm-}; - PrelBase.False{-58,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-aGm-}; - }; - } + x_r3d y_r3e :: taBa + {-# L #-} + y_r3e z_r3f :: taBa + {-# L #-} + z_r3f -> + let { + fail_dEl :: [taBj] + {-# L #-} + fail_dEl = + GHCerr.patError{-8r,w-} + _@_ [taBj] _string_ "ds021.hs:5|function `f'" + } in + case ==_aDt x_r3d y_r3e of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taBj; + PrelBase.False{-58,w-}{i} -> + case /=_aDA x_r3d z_r3f of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taBj; + PrelBase.False{-58,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taBj; + }; + }; + } in f_aAK +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds022.stderr b/ghc/tests/deSugar/should_compile/ds022.stderr index 98f3a06..38b9fa3 100644 --- a/ghc/tests/deSugar/should_compile/ds022.stderr +++ b/ghc/tests/deSugar/should_compile/ds022.stderr @@ -1,3 +1,12 @@ +ds022.hs:5: + Warning: Possibly incomplete patterns + in the definition of function `f' +ds022.hs:10: + Warning: Possibly incomplete patterns + in the definition of function `g' +ds022.hs:15: + Warning: Possibly incomplete patterns + in the definition of function `h' ds022.hs:22: Warning: Pattern match(es) completely overlapped in the definition of function `i' @@ -7,1015 +16,660 @@ ds022.hs:23: ds022.hs:20: Warning: Possibly incomplete patterns in the definition of function `i' -ds022.hs:15: - Warning: Possibly incomplete patterns - in the definition of function `h' -ds022.hs:10: - Warning: Possibly incomplete patterns - in the definition of function `g' -ds022.hs:5: - Warning: Possibly incomplete patterns - in the definition of function `f' ================================================================================ Desugared: Rec { -d.Eq_a13W :: - {PrelBase.Eq{-23,p-} PrelBase.Char{-38,p-}} -{-# L #-} -d.Eq_a13W = - PrelBase.$d33{-rbH,p-} -d.Eq_a13U :: - {PrelBase.Eq{-23,p-} [PrelBase.Char{-38,p-}]} -{-# L #-} -d.Eq_a13U = - PrelBase.$d27{-rbA,p-} - _@_ PrelBase.Char{-38,p-} d.Eq_a13W -==_a1pN :: - [PrelBase.Char{-38,p-}] - -> [PrelBase.Char{-38,p-}] - -> PrelBase.Bool{-34,p-} +i{-r3s,x-} :: _forall_ + [taUw taUD taVd] + => + {PrelNum.Fractional{-26,p-} taUD} + -> {PrelBase.Num{-2c,p-} taUw} + -> taUw + -> taUD + -> [taVd] {-# L #-} -==_a1pN = - PrelBase.=={-8Y,p-} - _@_ [PrelBase.Char{-38,p-}] d.Eq_a13U -i{-r3E,x-} :: - _forall_ - [t{-a11b-} t{-a11f-} t{-a11j-}] - => - {PrelNum.Fractional{-26,p-} t{-a11f-}} - -> {PrelBase.Num{-2c,p-} t{-a11b-}} - -> t{-a11b-} - -> t{-a11f-} - -> [t{-a11j-}] -{-# L #-} -i{-r3E,x-} = - _/\_ t{-a11b-} t{-a11f-} t{-a11j-} -> \ d.Fractional_a11r :: - {PrelNum.Fractional{-26,p-} t{-a11f-}} - {-# L #-} - d.Fractional_a11r d.Num_a11m :: - {PrelBase.Num{-2c,p-} t{-a11b-}} - {-# L #-} - d.Num_a11m -> - let { - d.Eq_a11o :: - {PrelBase.Eq{-23,p-} t{-a11b-}} - {-# L #-} - d.Eq_a11o = - PrelBase.scsel_NumPrelBaseEq{-a1rD,p-} - _@_ t{-a11b-} d.Num_a11m } in - let { - d.Num_a13X :: - {PrelBase.Num{-2c,p-} t{-a11f-}} - {-# L #-} - d.Num_a13X = - PrelNum.scsel_FractionalPrelBaseNum{-a1rM,p-} - _@_ t{-a11f-} d.Fractional_a11r } in - let { - d.Eq_a11t :: - {PrelBase.Eq{-23,p-} t{-a11f-}} - {-# L #-} - d.Eq_a11t = - PrelBase.scsel_NumPrelBaseEq{-a1rD,p-} - _@_ t{-a11f-} d.Num_a13X } in - let { - fromInt_a1rt :: - PrelBase.Int{-3g,p-} -> t{-a11b-} - {-# L #-} - fromInt_a1rt = - PrelBase.fromInt{-8R,p-} - _@_ t{-a11b-} d.Num_a11m } in - let { lit_a1rs :: - t{-a11b-} - {-# L #-} - lit_a1rs = - let { - ds_d1s9 :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1s9 = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_a1rt - ds_d1s9 - } in - let { - ==_a1rr :: - t{-a11b-} -> t{-a11b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1rr = - PrelBase.=={-8Y,p-} - _@_ t{-a11b-} d.Eq_a11o } in - let { - fromRational_a1rq :: - PrelNum.Rational{-3r,p-} -> t{-a11f-} - {-# L #-} - fromRational_a1rq = - PrelNum.fromRational{-8T,p-} - _@_ t{-a11f-} d.Fractional_a11r } in - let { - lit_a1rp :: - t{-a11f-} - {-# L #-} - lit_a1rp = - fromRational_a1rq - _rational_ 11 10 } in - let { - ==_a1ro :: - t{-a11f-} -> t{-a11f-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1ro = - PrelBase.=={-8Y,p-} - _@_ t{-a11f-} d.Eq_a11t } in - let { - fromInt_a1rn :: - PrelBase.Int{-3g,p-} -> t{-a11b-} - {-# L #-} - fromInt_a1rn = - fromInt_a1rt } in - let { lit_a1rm :: - t{-a11b-} - {-# L #-} - lit_a1rm = - let { - ds_d1sR :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1sR = - PrelBase.I#{-5b,p-}{i} - 2 - } in - fromInt_a1rn - ds_d1sR - } in - let { - ==_a1rl :: - t{-a11b-} -> t{-a11b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1rl = - ==_a1rr } in - let { - fromRational_a1rk :: - PrelNum.Rational{-3r,p-} -> t{-a11f-} - {-# L #-} - fromRational_a1rk = - fromRational_a1rq } in - let { - lit_a1rj :: - t{-a11f-} - {-# L #-} - lit_a1rj = - fromRational_a1rk - _rational_ 11 5 } in - let { - ==_a1ri :: - t{-a11f-} -> t{-a11f-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1ri = - ==_a1ro } in - let { - lit_a1rh :: - t{-a11b-} - {-# L #-} - lit_a1rh = - lit_a1rs } in - let { - ==_a1rg :: - t{-a11b-} -> t{-a11b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1rg = - ==_a1rr } in - let { - lit_a1rf :: - t{-a11f-} - {-# L #-} - lit_a1rf = - lit_a1rp } in - let { - ==_a1re :: - t{-a11f-} -> t{-a11f-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1re = - ==_a1ro } in - let { - lit_a1rd :: - t{-a11b-} - {-# L #-} - lit_a1rd = - lit_a1rm } in - let { - ==_a1rc :: - t{-a11b-} -> t{-a11b-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1rc = - ==_a1rr } in - let { - lit_a1rb :: - t{-a11f-} - {-# L #-} - lit_a1rb = - lit_a1rj } in - let { - ==_a1ra :: - t{-a11f-} -> t{-a11f-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1ra = - ==_a1ro - } in - \ ds_d1tC :: - t{-a11b-} - {-# L #-} - ds_d1tC ds_d1tF :: - t{-a11f-} - {-# L #-} - ds_d1tF -> +i{-r3s,x-} = + _/\_ taUw taUD taVd -> \ d.Fractional_aVl :: {PrelNum.Fractional{-26,p-} taUD} + {-# L #-} + d.Fractional_aVl d.Num_aVg :: {PrelBase.Num{-2c,p-} taUw} + {-# L #-} + d.Num_aVg -> + _letrec_ { + d.Eq_aVi :: {PrelBase.Eq{-23,p-} taUw} + {-# L #-} + d.Eq_aVi = + PrelBase.scsel_NumPrelBaseEq{-a1ls,p-} _@_ taUw d.Num_aVg; + d.Num_aY9 :: {PrelBase.Num{-2c,p-} taUD} + {-# L #-} + d.Num_aY9 = + PrelNum.scsel_FractionalPrelBaseNum{-a1nt,p-} + _@_ taUD d.Fractional_aVl; + d.Eq_aVn :: {PrelBase.Eq{-23,p-} taUD} + {-# L #-} + d.Eq_aVn = + PrelBase.scsel_NumPrelBaseEq{-a1ls,p-} _@_ taUD d.Num_aY9; + fromInt_a1l6 :: PrelBase.Int{-3g,W-} -> taUw + {-# L #-} + fromInt_a1l6 = + PrelBase.fromInt{-8R,p-} _@_ taUw d.Num_aVg; + lit_a1l7 :: taUw + {-# L #-} + lit_a1l7 = let { - fail_d1tG :: - [t{-a11j-}] + ds_d1nQ :: PrelBase.Int{-3g,W-} {-# L #-} - fail_d1tG = - GHCerr.patError{-8r,p-} - _@_ [t{-a11j-}] _string_ "ds022.hs:20|function `i'" } in + ds_d1nQ = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_a1l6 ds_d1nQ; + ==_a1l8 :: taUw -> taUw -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1l8 = + PrelBase.=={-8Y,p-} _@_ taUw d.Eq_aVi; + fromRational_a1l9 :: PrelNum.Rational{-3r,p-} -> taUD + {-# L #-} + fromRational_a1l9 = + PrelNum.fromRational{-8T,p-} _@_ taUD d.Fractional_aVl; + lit_a1la :: taUD + {-# L #-} + lit_a1la = + fromRational_a1l9 _rational_ 11 10; + ==_a1lb :: taUD -> taUD -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1lb = + PrelBase.=={-8Y,p-} _@_ taUD d.Eq_aVn; + fromInt_a1lc :: PrelBase.Int{-3g,W-} -> taUw + {-# L #-} + fromInt_a1lc = + fromInt_a1l6; + lit_a1ld :: taUw + {-# L #-} + lit_a1ld = let { - fail_d1uo :: - [t{-a11j-}] + ds_d1oy :: PrelBase.Int{-3g,W-} {-# L #-} - fail_d1uo = - case - ==_a1rl - lit_a1rm ds_d1tC - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1ri - lit_a1rj ds_d1tF - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a11j-}; - PrelBase.False{-58,p-}{i} -> - fail_d1tG; - }; - PrelBase.False{-58,p-}{i} -> - fail_d1tG; - } - } in - case - ==_a1rr - lit_a1rs ds_d1tC - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1ro - lit_a1rp ds_d1tF - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a11j-}; - PrelBase.False{-58,p-}{i} -> - fail_d1uo; - }; - PrelBase.False{-58,p-}{i} -> - fail_d1uo; - } -h{-r3F,x-} :: - _forall_ - [t{-a11Q-}] - => - PrelBase.Char{-38,p-} -> [PrelBase.Char{-38,p-}] -> [t{-a11Q-}] -{-# L #-} -h{-r3F,x-} = - _/\_ t{-a11Q-} -> - let { - ==_a1v3 :: - [PrelBase.Char{-38,p-}] - -> [PrelBase.Char{-38,p-}] - -> PrelBase.Bool{-34,p-} + ds_d1oy = + PrelBase.I#{-5b,w-}{i} 2 + } in fromInt_a1lc ds_d1oy; + ==_a1le :: taUw -> taUw -> PrelBase.Bool{-34,W-} {-# L #-} - ==_a1v3 = - ==_a1pN - } in - \ ds_d1vj :: - PrelBase.Char{-38,p-} - {-# L #-} - ds_d1vj ds_d1vk :: - [PrelBase.Char{-38,p-}] - {-# L #-} - ds_d1vk -> - let { - fail_d1vl :: - [t{-a11Q-}] + ==_a1le = + ==_a1l8; + fromRational_a1lf :: PrelNum.Rational{-3r,p-} -> taUD + {-# L #-} + fromRational_a1lf = + fromRational_a1l9; + lit_a1lg :: taUD + {-# L #-} + lit_a1lg = + fromRational_a1lf _rational_ 11 5; + ==_a1lh :: taUD -> taUD -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1lh = + ==_a1lb; + lit_a1li :: taUw + {-# L #-} + lit_a1li = + lit_a1l7; + ==_a1lj :: taUw -> taUw -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1lj = + ==_a1l8; + lit_a1lk :: taUD + {-# L #-} + lit_a1lk = + lit_a1la; + ==_a1ll :: taUD -> taUD -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1ll = + ==_a1lb; + lit_a1lm :: taUw + {-# L #-} + lit_a1lm = + lit_a1ld; + ==_a1ln :: taUw -> taUw -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1ln = + ==_a1l8; + lit_a1lo :: taUD + {-# L #-} + lit_a1lo = + lit_a1lg; + ==_a1lp :: taUD -> taUD -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1lp = + ==_a1lb; + i_aUr :: taUw -> taUD -> [taVd] + {-# L #-} + i_aUr = + \ ds_d1pk :: taUw {-# L #-} - fail_d1vl = - GHCerr.patError{-8r,p-} - _@_ [t{-a11Q-}] _string_ "ds022.hs:15|function `h'" - } in - case ds_d1vj of { PrelBase.C#{-54,p-}{i} ds_d1vu -> - case# ds_d1vu of { - 'a' -> - case ds_d1vk of { - PrelBase.:{-55,p-}{i} ds_d1vK ds_d1vJ -> - fail_d1vl; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a11Q-}; - }; - ''' -> - case - ==_a1v3 - _string_ "foo" ds_d1vk - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a11Q-}; - PrelBase.False{-58,p-}{i} -> - fail_d1vl; - }; - '"' -> - case ds_d1vk of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1vl; - PrelBase.:{-55,p-}{i} ds_d1wC ds_d1wD -> - case ds_d1wC of { PrelBase.C#{-54,p-}{i} ds_d1wM -> - case# ds_d1wM of { - 'b' -> - case ds_d1wD of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1vl; - PrelBase.:{-55,p-}{i} ds_d1x7 ds_d1x8 -> - case ds_d1x7 of { PrelBase.C#{-54,p-}{i} ds_d1xh -> - case# ds_d1xh of { - 'a' -> - case ds_d1x8 of { - PrelBase.[]{-5i,p-}{i} -> - fail_d1vl; - PrelBase.:{-55,p-}{i} ds_d1xC ds_d1xD -> - case - ds_d1xC - of { - PrelBase.C#{-54,p-}{i} ds_d1xM -> - case# ds_d1xM of { - 'r' -> - case ds_d1xD of { - PrelBase.:{-55,p-}{i} ds_d1y2 ds_d1y1 -> - fail_d1vl; - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a11Q-}; - }; - ds_d1yd -> - fail_d1vl; - };}; - }; - ds_d1yg -> - fail_d1vl; - };}; - }; - ds_d1yj -> - fail_d1vl; - };}; - }; - '¨' -> - let { - blob_r3D :: - [PrelBase.Char{-38,p-}] + ds_d1pk ds_d1pn :: taUD {-# L #-} - blob_r3D = - ds_d1vk - } in - PrelBase.[]{-5i,p-}{i} - _@_ t{-a11Q-}; - ds_d1yx -> - fail_d1vl; - };} -g{-r3G,x-} :: - _forall_ - [t{-a12s-} t{-a12w-} t{-a12A-}] - => - {PrelNum.Fractional{-26,p-} t{-a12w-}} - -> {PrelBase.Num{-2c,p-} t{-a12s-}} - -> t{-a12s-} - -> t{-a12w-} - -> [t{-a12A-}] -{-# L #-} -g{-r3G,x-} = - _/\_ t{-a12s-} t{-a12w-} t{-a12A-} -> \ d.Fractional_a12I :: - {PrelNum.Fractional{-26,p-} t{-a12w-}} - {-# L #-} - d.Fractional_a12I d.Num_a12D :: - {PrelBase.Num{-2c,p-} t{-a12s-}} - {-# L #-} - d.Num_a12D -> - let { - d.Eq_a12F :: - {PrelBase.Eq{-23,p-} t{-a12s-}} - {-# L #-} - d.Eq_a12F = - PrelBase.scsel_NumPrelBaseEq{-a1rD,p-} - _@_ t{-a12s-} d.Num_a12D } in - let { - d.Num_a13Y :: - {PrelBase.Num{-2c,p-} t{-a12w-}} - {-# L #-} - d.Num_a13Y = - PrelNum.scsel_FractionalPrelBaseNum{-a1rM,p-} - _@_ t{-a12w-} d.Fractional_a12I } in - let { - d.Eq_a12K :: - {PrelBase.Eq{-23,p-} t{-a12w-}} - {-# L #-} - d.Eq_a12K = - PrelBase.scsel_NumPrelBaseEq{-a1rD,p-} - _@_ t{-a12w-} d.Num_a13Y } in - let { - fromInteger_a1zV :: - PrelBase.Integer{-3h,p-} -> t{-a12s-} - {-# L #-} - fromInteger_a1zV = - PrelBase.fromInteger{-8S,p-} - _@_ t{-a12s-} d.Num_a12D } in - let { - lit_a1zU :: - t{-a12s-} - {-# L #-} - lit_a1zU = - fromInteger_a1zV - _integer_ 11111111111111111111111 } in - let { - ==_a1zT :: - t{-a12s-} -> t{-a12s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zT = - PrelBase.=={-8Y,p-} - _@_ t{-a12s-} d.Eq_a12F } in - let { - fromRational_a1zS :: - PrelNum.Rational{-3r,p-} -> t{-a12w-} - {-# L #-} - fromRational_a1zS = - PrelNum.fromRational{-8T,p-} - _@_ t{-a12w-} d.Fractional_a12I } in - let { - lit_a1zR :: - t{-a12w-} - {-# L #-} - lit_a1zR = - fromRational_a1zS - _rational_ 111111111111111111 100000000000000000 } in - let { - ==_a1zQ :: - t{-a12w-} -> t{-a12w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zQ = - PrelBase.=={-8Y,p-} - _@_ t{-a12w-} d.Eq_a12K } in - let { - fromInteger_a1zP :: - PrelBase.Integer{-3h,p-} -> t{-a12s-} - {-# L #-} - fromInteger_a1zP = - fromInteger_a1zV } in - let { - lit_a1zO :: - t{-a12s-} - {-# L #-} - lit_a1zO = - fromInteger_a1zP - _integer_ 22222222222222222222222 } in - let { - ==_a1zN :: - t{-a12s-} -> t{-a12s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zN = - ==_a1zT } in - let { - fromRational_a1zM :: - PrelNum.Rational{-3r,p-} -> t{-a12w-} - {-# L #-} - fromRational_a1zM = - fromRational_a1zS } in - let { - lit_a1zL :: - t{-a12w-} - {-# L #-} - lit_a1zL = - fromRational_a1zM - _rational_ 111111111111111111 50000000000000000 } in - let { - ==_a1zK :: - t{-a12w-} -> t{-a12w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zK = - ==_a1zQ } in - let { - fromInteger_a1zJ :: - PrelBase.Integer{-3h,p-} -> t{-a12s-} - {-# L #-} - fromInteger_a1zJ = - fromInteger_a1zV } in - let { - lit_a1zI :: - t{-a12s-} - {-# L #-} - lit_a1zI = - fromInteger_a1zJ - _integer_ 33333333333333333333333 } in - let { - ==_a1zH :: - t{-a12s-} -> t{-a12s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zH = - ==_a1zT } in - let { - fromRational_a1zG :: - PrelNum.Rational{-3r,p-} -> t{-a12w-} - {-# L #-} - fromRational_a1zG = - fromRational_a1zS } in - let { - lit_a1zF :: - t{-a12w-} - {-# L #-} - lit_a1zF = - fromRational_a1zG - _rational_ 333333333333333333 100000000000000000 } in - let { - ==_a1zE :: - t{-a12w-} -> t{-a12w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zE = - ==_a1zQ } in - let { - fromInteger_a1zD :: - PrelBase.Integer{-3h,p-} -> t{-a12s-} - {-# L #-} - fromInteger_a1zD = - fromInteger_a1zV } in - let { - lit_a1zC :: - t{-a12s-} - {-# L #-} - lit_a1zC = - fromInteger_a1zD - _integer_ 44444444444444444444444 } in - let { - ==_a1zB :: - t{-a12s-} -> t{-a12s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zB = - ==_a1zT } in - let { - fromRational_a1zA :: - PrelNum.Rational{-3r,p-} -> t{-a12w-} - {-# L #-} - fromRational_a1zA = - fromRational_a1zS } in - let { - lit_a1zz :: - t{-a12w-} - {-# L #-} - lit_a1zz = - fromRational_a1zA - _rational_ 111111111111111111 25000000000000000 } in - let { - ==_a1zy :: - t{-a12w-} -> t{-a12w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1zy = - ==_a1zQ - } in - \ ds_d1Cc :: - t{-a12s-} - {-# L #-} - ds_d1Cc ds_d1Cf :: - t{-a12w-} - {-# L #-} - ds_d1Cf -> - let { - fail_d1Cg :: - [t{-a12A-}] - {-# L #-} - fail_d1Cg = - GHCerr.patError{-8r,p-} - _@_ [t{-a12A-}] _string_ "ds022.hs:10|function `g'" } in - let { fail_d1Eo :: - [t{-a12A-}] + ds_d1pn -> + let { + fail_d1po :: [taVd] {-# L #-} - fail_d1Eo = - let { fail_d1DG :: - [t{-a12A-}] - {-# L #-} - fail_d1DG = + fail_d1po = + GHCerr.patError{-8r,w-} + _@_ [taVd] _string_ "ds022.hs:20|function `i'" } in let { - fail_d1CY :: - [t{-a12A-}] + fail_d1q6 :: [taVd] {-# L #-} - fail_d1CY = - case - ==_a1zB - lit_a1zC ds_d1Cc - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1zy - lit_a1zz ds_d1Cf - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a12A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1Cg; + fail_d1q6 = + case ==_a1le lit_a1ld ds_d1pk of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1lh lit_a1lg ds_d1pn of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taVd; + PrelBase.False{-58,w-}{i} -> fail_d1po; }; - PrelBase.False{-58,p-}{i} -> - fail_d1Cg; + PrelBase.False{-58,w-}{i} -> fail_d1po; } } in - case - ==_a1zH - lit_a1zI ds_d1Cc - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1zE - lit_a1zF ds_d1Cf - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a12A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1CY; + case ==_a1l8 lit_a1l7 ds_d1pk of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1lb lit_a1la ds_d1pn of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taVd; + PrelBase.False{-58,w-}{i} -> fail_d1q6; }; - PrelBase.False{-58,p-}{i} -> - fail_d1CY; - } - } in - case - ==_a1zN - lit_a1zO ds_d1Cc - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1zK - lit_a1zL ds_d1Cf - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a12A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1DG; - }; - PrelBase.False{-58,p-}{i} -> - fail_d1DG; - } - } in - case - ==_a1zT - lit_a1zU ds_d1Cc - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1zQ - lit_a1zR ds_d1Cf - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a12A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1Eo; + PrelBase.False{-58,w-}{i} -> fail_d1q6; }; - PrelBase.False{-58,p-}{i} -> - fail_d1Eo; - } -f{-r3H,x-} :: - _forall_ - [t{-a13s-} t{-a13w-} t{-a13A-}] - => - {PrelNum.Fractional{-26,p-} t{-a13w-}} - -> {PrelBase.Num{-2c,p-} t{-a13s-}} - -> t{-a13s-} - -> t{-a13w-} - -> [t{-a13A-}] + } in i_aUr +h{-r3t,x-} :: _forall_ + [taVQ] + => + PrelBase.Char{-38,W-} -> [PrelBase.Char{-38,W-}] -> [taVQ] {-# L #-} -f{-r3H,x-} = - _/\_ t{-a13s-} t{-a13w-} t{-a13A-} -> \ d.Fractional_a13I :: - {PrelNum.Fractional{-26,p-} t{-a13w-}} - {-# L #-} - d.Fractional_a13I d.Num_a13D :: - {PrelBase.Num{-2c,p-} t{-a13s-}} - {-# L #-} - d.Num_a13D -> - let { - d.Eq_a13F :: - {PrelBase.Eq{-23,p-} t{-a13s-}} - {-# L #-} - d.Eq_a13F = - PrelBase.scsel_NumPrelBaseEq{-a1rD,p-} - _@_ t{-a13s-} d.Num_a13D } in - let { - d.Num_a13Z :: - {PrelBase.Num{-2c,p-} t{-a13w-}} - {-# L #-} - d.Num_a13Z = - PrelNum.scsel_FractionalPrelBaseNum{-a1rM,p-} - _@_ t{-a13w-} d.Fractional_a13I } in - let { - d.Eq_a13K :: - {PrelBase.Eq{-23,p-} t{-a13w-}} - {-# L #-} - d.Eq_a13K = - PrelBase.scsel_NumPrelBaseEq{-a1rD,p-} - _@_ t{-a13w-} d.Num_a13Z } in - let { - fromInt_a1Gk :: - PrelBase.Int{-3g,p-} -> t{-a13s-} - {-# L #-} - fromInt_a1Gk = - PrelBase.fromInt{-8R,p-} - _@_ t{-a13s-} d.Num_a13D } in - let { lit_a1Gj :: - t{-a13s-} - {-# L #-} - lit_a1Gj = - let { - ds_d1GY :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1GY = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_a1Gk - ds_d1GY - } in - let { - ==_a1Gi :: - t{-a13s-} -> t{-a13s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1Gi = - PrelBase.=={-8Y,p-} - _@_ t{-a13s-} d.Eq_a13F } in - let { - fromRational_a1Gh :: - PrelNum.Rational{-3r,p-} -> t{-a13w-} - {-# L #-} - fromRational_a1Gh = - PrelNum.fromRational{-8T,p-} - _@_ t{-a13w-} d.Fractional_a13I } in - let { - lit_a1Gg :: - t{-a13w-} - {-# L #-} - lit_a1Gg = - fromRational_a1Gh - _rational_ 11 10 } in - let { - ==_a1Gf :: - t{-a13w-} -> t{-a13w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1Gf = - PrelBase.=={-8Y,p-} - _@_ t{-a13w-} d.Eq_a13K } in - let { - fromInt_a1Ge :: - PrelBase.Int{-3g,p-} -> t{-a13s-} - {-# L #-} - fromInt_a1Ge = - fromInt_a1Gk } in - let { lit_a1Gd :: - t{-a13s-} - {-# L #-} - lit_a1Gd = - let { - ds_d1HG :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1HG = - PrelBase.I#{-5b,p-}{i} - 2 - } in - fromInt_a1Ge - ds_d1HG - } in - let { - ==_a1Gc :: - t{-a13s-} -> t{-a13s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1Gc = - ==_a1Gi } in - let { - fromRational_a1Gb :: - PrelNum.Rational{-3r,p-} -> t{-a13w-} - {-# L #-} - fromRational_a1Gb = - fromRational_a1Gh } in - let { - lit_a1Ga :: - t{-a13w-} - {-# L #-} - lit_a1Ga = - fromRational_a1Gb - _rational_ 11 5 } in - let { - ==_a1G9 :: - t{-a13w-} -> t{-a13w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1G9 = - ==_a1Gf } in - let { - fromInt_a1G8 :: - PrelBase.Int{-3g,p-} -> t{-a13s-} - {-# L #-} - fromInt_a1G8 = - fromInt_a1Gk } in - let { lit_a1G7 :: - t{-a13s-} - {-# L #-} - lit_a1G7 = - let { - ds_d1I3 :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1I3 = - PrelBase.I#{-5b,p-}{i} - 3 - } in - fromInt_a1G8 - ds_d1I3 - } in - let { - ==_a1G6 :: - t{-a13s-} -> t{-a13s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1G6 = - ==_a1Gi } in - let { - fromRational_a1G5 :: - PrelNum.Rational{-3r,p-} -> t{-a13w-} - {-# L #-} - fromRational_a1G5 = - fromRational_a1Gh } in - let { - lit_a1G4 :: - t{-a13w-} - {-# L #-} - lit_a1G4 = - fromRational_a1G5 - _rational_ 33 10 } in - let { - ==_a1G3 :: - t{-a13w-} -> t{-a13w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1G3 = - ==_a1Gf } in - let { - fromInt_a1G2 :: - PrelBase.Int{-3g,p-} -> t{-a13s-} - {-# L #-} - fromInt_a1G2 = - fromInt_a1Gk } in - let { lit_a1G1 :: - t{-a13s-} - {-# L #-} - lit_a1G1 = - let { - ds_d1Iq :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1Iq = - PrelBase.I#{-5b,p-}{i} - 4 - } in - fromInt_a1G2 - ds_d1Iq - } in - let { - ==_a1G0 :: - t{-a13s-} -> t{-a13s-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1G0 = - ==_a1Gi } in - let { - fromRational_a1FZ :: - PrelNum.Rational{-3r,p-} -> t{-a13w-} - {-# L #-} - fromRational_a1FZ = - fromRational_a1Gh } in - let { - lit_a1FY :: - t{-a13w-} - {-# L #-} - lit_a1FY = - fromRational_a1FZ - _rational_ 22 5 } in - let { - ==_a1FX :: - t{-a13w-} -> t{-a13w-} -> PrelBase.Bool{-34,p-} - {-# L #-} - ==_a1FX = - ==_a1Gf - } in - \ ds_d1Jb :: - t{-a13s-} - {-# L #-} - ds_d1Jb ds_d1Je :: - t{-a13w-} +h{-r3t,x-} = + _/\_ taVQ -> + _letrec_ { + ==_a1qR :: [PrelBase.Char{-38,W-}] + -> [PrelBase.Char{-38,W-}] + -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1qR = + ==_a1l5; + h_aVt :: PrelBase.Char{-38,W-} + -> [PrelBase.Char{-38,W-}] + -> [taVQ] + {-# L #-} + h_aVt = + \ ds_d1rb :: PrelBase.Char{-38,W-} + {-# L #-} + ds_d1rb ds_d1rc :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1rc -> + let { + fail_d1rd :: [taVQ] {-# L #-} - ds_d1Je -> - let { - fail_d1Jf :: - [t{-a13A-}] + fail_d1rd = + GHCerr.patError{-8r,w-} + _@_ [taVQ] _string_ "ds022.hs:15|function `h'" + } in + case ds_d1rb of { PrelBase.C#{-54,w-}{i} ds_d1rm -> + case# ds_d1rm of { + 'a' -> + case ds_d1rc of { + PrelBase.:{-55,w-}{i} ds_d1rB ds_d1rC -> fail_d1rd; + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taVQ; + }; + ''' -> + case ==_a1qR _string_ "foo" ds_d1rc of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taVQ; + PrelBase.False{-58,w-}{i} -> fail_d1rd; + }; + '"' -> + case ds_d1rc of { + PrelBase.[]{-5i,w-}{i} -> fail_d1rd; + PrelBase.:{-55,w-}{i} ds_d1su ds_d1sv -> + case ds_d1su of { PrelBase.C#{-54,w-}{i} ds_d1sE -> + case# ds_d1sE of { + 'b' -> + case ds_d1sv of { + PrelBase.[]{-5i,w-}{i} -> fail_d1rd; + PrelBase.:{-55,w-}{i} ds_d1sZ ds_d1t0 -> + case ds_d1sZ of { PrelBase.C#{-54,w-}{i} ds_d1t9 -> + case# ds_d1t9 of { + 'a' -> + case ds_d1t0 of { + PrelBase.[]{-5i,w-}{i} -> fail_d1rd; + PrelBase.:{-55,w-}{i} ds_d1tu ds_d1tv -> + case + ds_d1tu + of { + PrelBase.C#{-54,w-}{i} ds_d1tE -> + case# ds_d1tE of { + 'r' -> + case ds_d1tv of { + PrelBase.:{-55,w-}{i} ds_d1tT ds_d1tU -> + fail_d1rd; + PrelBase.[]{-5i,w-}{i} -> + PrelBase.[]{-5i,w-}{i} _@_ taVQ; + }; + ds_d1u5 -> fail_d1rd; + };}; + }; + ds_d1u8 -> fail_d1rd; + };}; + }; + ds_d1ub -> fail_d1rd; + };}; + }; + '¨' -> + let { + blob_r3r :: [PrelBase.Char{-38,W-}] + {-# L #-} + blob_r3r = + ds_d1rc + } in PrelBase.[]{-5i,w-}{i} _@_ taVQ; + ds_d1up -> fail_d1rd; + };}; + } in h_aVt +g{-r3u,x-} :: _forall_ + [taVZ taW6 taWG] + => + {PrelNum.Fractional{-26,p-} taW6} + -> {PrelBase.Num{-2c,p-} taVZ} + -> taVZ + -> taW6 + -> [taWG] +{-# L #-} +g{-r3u,x-} = + _/\_ taVZ taW6 taWG -> \ d.Fractional_aWO :: {PrelNum.Fractional{-26,p-} taW6} + {-# L #-} + d.Fractional_aWO d.Num_aWJ :: {PrelBase.Num{-2c,p-} taVZ} + {-# L #-} + d.Num_aWJ -> + _letrec_ { + d.Eq_aWL :: {PrelBase.Eq{-23,p-} taVZ} + {-# L #-} + d.Eq_aWL = + PrelBase.scsel_NumPrelBaseEq{-a1ls,p-} _@_ taVZ d.Num_aWJ; + d.Num_aYa :: {PrelBase.Num{-2c,p-} taW6} + {-# L #-} + d.Num_aYa = + PrelNum.scsel_FractionalPrelBaseNum{-a1nt,p-} + _@_ taW6 d.Fractional_aWO; + d.Eq_aWQ :: {PrelBase.Eq{-23,p-} taW6} + {-# L #-} + d.Eq_aWQ = + PrelBase.scsel_NumPrelBaseEq{-a1ls,p-} _@_ taW6 d.Num_aYa; + fromInteger_a1uM :: PrelBase.Integer{-3h,W-} -> taVZ + {-# L #-} + fromInteger_a1uM = + PrelBase.fromInteger{-8S,p-} _@_ taVZ d.Num_aWJ; + lit_a1uN :: taVZ + {-# L #-} + lit_a1uN = + fromInteger_a1uM _integer_ 11111111111111111111111; + ==_a1uO :: taVZ -> taVZ -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1uO = + PrelBase.=={-8Y,p-} _@_ taVZ d.Eq_aWL; + fromRational_a1uP :: PrelNum.Rational{-3r,p-} -> taW6 + {-# L #-} + fromRational_a1uP = + PrelNum.fromRational{-8T,p-} _@_ taW6 d.Fractional_aWO; + lit_a1uQ :: taW6 + {-# L #-} + lit_a1uQ = + fromRational_a1uP + _rational_ 111111111111111111 100000000000000000; + ==_a1uR :: taW6 -> taW6 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1uR = + PrelBase.=={-8Y,p-} _@_ taW6 d.Eq_aWQ; + fromInteger_a1uS :: PrelBase.Integer{-3h,W-} -> taVZ + {-# L #-} + fromInteger_a1uS = + fromInteger_a1uM; + lit_a1uT :: taVZ + {-# L #-} + lit_a1uT = + fromInteger_a1uS _integer_ 22222222222222222222222; + ==_a1uU :: taVZ -> taVZ -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1uU = + ==_a1uO; + fromRational_a1uV :: PrelNum.Rational{-3r,p-} -> taW6 + {-# L #-} + fromRational_a1uV = + fromRational_a1uP; + lit_a1uW :: taW6 + {-# L #-} + lit_a1uW = + fromRational_a1uV _rational_ 111111111111111111 50000000000000000; + ==_a1uX :: taW6 -> taW6 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1uX = + ==_a1uR; + fromInteger_a1uY :: PrelBase.Integer{-3h,W-} -> taVZ + {-# L #-} + fromInteger_a1uY = + fromInteger_a1uM; + lit_a1uZ :: taVZ + {-# L #-} + lit_a1uZ = + fromInteger_a1uY _integer_ 33333333333333333333333; + ==_a1v0 :: taVZ -> taVZ -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1v0 = + ==_a1uO; + fromRational_a1v1 :: PrelNum.Rational{-3r,p-} -> taW6 + {-# L #-} + fromRational_a1v1 = + fromRational_a1uP; + lit_a1v2 :: taW6 + {-# L #-} + lit_a1v2 = + fromRational_a1v1 + _rational_ 333333333333333333 100000000000000000; + ==_a1v3 :: taW6 -> taW6 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1v3 = + ==_a1uR; + fromInteger_a1v4 :: PrelBase.Integer{-3h,W-} -> taVZ + {-# L #-} + fromInteger_a1v4 = + fromInteger_a1uM; + lit_a1v5 :: taVZ + {-# L #-} + lit_a1v5 = + fromInteger_a1v4 _integer_ 44444444444444444444444; + ==_a1v6 :: taVZ -> taVZ -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1v6 = + ==_a1uO; + fromRational_a1v7 :: PrelNum.Rational{-3r,p-} -> taW6 + {-# L #-} + fromRational_a1v7 = + fromRational_a1uP; + lit_a1v8 :: taW6 + {-# L #-} + lit_a1v8 = + fromRational_a1v7 _rational_ 111111111111111111 25000000000000000; + ==_a1v9 :: taW6 -> taW6 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1v9 = + ==_a1uR; + g_aVU :: taVZ -> taW6 -> [taWG] + {-# L #-} + g_aVU = + \ ds_d1z4 :: taVZ {-# L #-} - fail_d1Jf = - GHCerr.patError{-8r,p-} - _@_ [t{-a13A-}] _string_ "ds022.hs:5|function `f'" } in - let { fail_d1Ln :: - [t{-a13A-}] + ds_d1z4 ds_d1z7 :: taW6 + {-# L #-} + ds_d1z7 -> + let { + fail_d1z8 :: [taWG] {-# L #-} - fail_d1Ln = - let { fail_d1KF :: - [t{-a13A-}] - {-# L #-} - fail_d1KF = + fail_d1z8 = + GHCerr.patError{-8r,w-} + _@_ [taWG] _string_ "ds022.hs:10|function `g'" } in + let { fail_d1Bg :: [taWG] + {-# L #-} + fail_d1Bg = + let { fail_d1Ay :: [taWG] + {-# L #-} + fail_d1Ay = + let { + fail_d1zQ :: [taWG] + {-# L #-} + fail_d1zQ = + case ==_a1v6 lit_a1v5 ds_d1z4 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1v9 lit_a1v8 ds_d1z7 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taWG; + PrelBase.False{-58,w-}{i} -> fail_d1z8; + }; + PrelBase.False{-58,w-}{i} -> fail_d1z8; + } + } in + case ==_a1v0 lit_a1uZ ds_d1z4 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1v3 lit_a1v2 ds_d1z7 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taWG; + PrelBase.False{-58,w-}{i} -> fail_d1zQ; + }; + PrelBase.False{-58,w-}{i} -> fail_d1zQ; + } + } in + case ==_a1uU lit_a1uT ds_d1z4 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1uX lit_a1uW ds_d1z7 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taWG; + PrelBase.False{-58,w-}{i} -> fail_d1Ay; + }; + PrelBase.False{-58,w-}{i} -> fail_d1Ay; + } + } in + case ==_a1uO lit_a1uN ds_d1z4 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1uR lit_a1uQ ds_d1z7 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taWG; + PrelBase.False{-58,w-}{i} -> fail_d1Bg; + }; + PrelBase.False{-58,w-}{i} -> fail_d1Bg; + }; + } in g_aVU +f{-r3v,x-} :: _forall_ + [taX5 taXc taXM] + => + {PrelNum.Fractional{-26,p-} taXc} + -> {PrelBase.Num{-2c,p-} taX5} + -> taX5 + -> taXc + -> [taXM] +{-# L #-} +f{-r3v,x-} = + _/\_ taX5 taXc taXM -> \ d.Fractional_aXU :: {PrelNum.Fractional{-26,p-} taXc} + {-# L #-} + d.Fractional_aXU d.Num_aXP :: {PrelBase.Num{-2c,p-} taX5} + {-# L #-} + d.Num_aXP -> + _letrec_ { + d.Eq_aXR :: {PrelBase.Eq{-23,p-} taX5} + {-# L #-} + d.Eq_aXR = + PrelBase.scsel_NumPrelBaseEq{-a1ls,p-} _@_ taX5 d.Num_aXP; + d.Num_aYb :: {PrelBase.Num{-2c,p-} taXc} + {-# L #-} + d.Num_aYb = + PrelNum.scsel_FractionalPrelBaseNum{-a1nt,p-} + _@_ taXc d.Fractional_aXU; + d.Eq_aXW :: {PrelBase.Eq{-23,p-} taXc} + {-# L #-} + d.Eq_aXW = + PrelBase.scsel_NumPrelBaseEq{-a1ls,p-} _@_ taXc d.Num_aYb; + fromInt_a1Cb :: PrelBase.Int{-3g,W-} -> taX5 + {-# L #-} + fromInt_a1Cb = + PrelBase.fromInt{-8R,p-} _@_ taX5 d.Num_aXP; + lit_a1Cc :: taX5 + {-# L #-} + lit_a1Cc = + let { + ds_d1EP :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1EP = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_a1Cb ds_d1EP; + ==_a1Cd :: taX5 -> taX5 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cd = + PrelBase.=={-8Y,p-} _@_ taX5 d.Eq_aXR; + fromRational_a1Ce :: PrelNum.Rational{-3r,p-} -> taXc + {-# L #-} + fromRational_a1Ce = + PrelNum.fromRational{-8T,p-} _@_ taXc d.Fractional_aXU; + lit_a1Cf :: taXc + {-# L #-} + lit_a1Cf = + fromRational_a1Ce _rational_ 11 10; + ==_a1Cg :: taXc -> taXc -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cg = + PrelBase.=={-8Y,p-} _@_ taXc d.Eq_aXW; + fromInt_a1Ch :: PrelBase.Int{-3g,W-} -> taX5 + {-# L #-} + fromInt_a1Ch = + fromInt_a1Cb; + lit_a1Ci :: taX5 + {-# L #-} + lit_a1Ci = + let { + ds_d1Fx :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1Fx = + PrelBase.I#{-5b,w-}{i} 2 + } in fromInt_a1Ch ds_d1Fx; + ==_a1Cj :: taX5 -> taX5 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cj = + ==_a1Cd; + fromRational_a1Ck :: PrelNum.Rational{-3r,p-} -> taXc + {-# L #-} + fromRational_a1Ck = + fromRational_a1Ce; + lit_a1Cl :: taXc + {-# L #-} + lit_a1Cl = + fromRational_a1Ck _rational_ 11 5; + ==_a1Cm :: taXc -> taXc -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cm = + ==_a1Cg; + fromInt_a1Cn :: PrelBase.Int{-3g,W-} -> taX5 + {-# L #-} + fromInt_a1Cn = + fromInt_a1Cb; + lit_a1Co :: taX5 + {-# L #-} + lit_a1Co = + let { + ds_d1FU :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1FU = + PrelBase.I#{-5b,w-}{i} 3 + } in fromInt_a1Cn ds_d1FU; + ==_a1Cp :: taX5 -> taX5 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cp = + ==_a1Cd; + fromRational_a1Cq :: PrelNum.Rational{-3r,p-} -> taXc + {-# L #-} + fromRational_a1Cq = + fromRational_a1Ce; + lit_a1Cr :: taXc + {-# L #-} + lit_a1Cr = + fromRational_a1Cq _rational_ 33 10; + ==_a1Cs :: taXc -> taXc -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cs = + ==_a1Cg; + fromInt_a1Ct :: PrelBase.Int{-3g,W-} -> taX5 + {-# L #-} + fromInt_a1Ct = + fromInt_a1Cb; + lit_a1Cu :: taX5 + {-# L #-} + lit_a1Cu = + let { + ds_d1Gh :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1Gh = + PrelBase.I#{-5b,w-}{i} 4 + } in fromInt_a1Ct ds_d1Gh; + ==_a1Cv :: taX5 -> taX5 -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cv = + ==_a1Cd; + fromRational_a1Cw :: PrelNum.Rational{-3r,p-} -> taXc + {-# L #-} + fromRational_a1Cw = + fromRational_a1Ce; + lit_a1Cx :: taXc + {-# L #-} + lit_a1Cx = + fromRational_a1Cw _rational_ 22 5; + ==_a1Cy :: taXc -> taXc -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1Cy = + ==_a1Cg; + f_aX0 :: taX5 -> taXc -> [taXM] + {-# L #-} + f_aX0 = + \ ds_d1H3 :: taX5 + {-# L #-} + ds_d1H3 ds_d1H6 :: taXc + {-# L #-} + ds_d1H6 -> let { - fail_d1JX :: - [t{-a13A-}] + fail_d1H7 :: [taXM] {-# L #-} - fail_d1JX = - case - ==_a1G0 - lit_a1G1 ds_d1Jb - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1FX - lit_a1FY ds_d1Je - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a13A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1Jf; + fail_d1H7 = + GHCerr.patError{-8r,w-} + _@_ [taXM] _string_ "ds022.hs:5|function `f'" } in + let { fail_d1Jf :: [taXM] + {-# L #-} + fail_d1Jf = + let { fail_d1Ix :: [taXM] + {-# L #-} + fail_d1Ix = + let { + fail_d1HP :: [taXM] + {-# L #-} + fail_d1HP = + case ==_a1Cv lit_a1Cu ds_d1H3 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1Cy lit_a1Cx ds_d1H6 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taXM; + PrelBase.False{-58,w-}{i} -> fail_d1H7; + }; + PrelBase.False{-58,w-}{i} -> fail_d1H7; + } + } in + case ==_a1Cp lit_a1Co ds_d1H3 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1Cs lit_a1Cr ds_d1H6 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taXM; + PrelBase.False{-58,w-}{i} -> fail_d1HP; }; - PrelBase.False{-58,p-}{i} -> - fail_d1Jf; + PrelBase.False{-58,w-}{i} -> fail_d1HP; } - } in - case - ==_a1G6 - lit_a1G7 ds_d1Jb - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1G3 - lit_a1G4 ds_d1Je - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a13A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1JX; + } in + case ==_a1Cj lit_a1Ci ds_d1H3 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1Cm lit_a1Cl ds_d1H6 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taXM; + PrelBase.False{-58,w-}{i} -> fail_d1Ix; }; - PrelBase.False{-58,p-}{i} -> - fail_d1JX; + PrelBase.False{-58,w-}{i} -> fail_d1Ix; } - } in - case - ==_a1Gc - lit_a1Gd ds_d1Jb - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1G9 - lit_a1Ga ds_d1Je - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a13A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1KF; - }; - PrelBase.False{-58,p-}{i} -> - fail_d1KF; - } - } in - case - ==_a1Gi - lit_a1Gj ds_d1Jb - of { - PrelBase.True{-5E,p-}{i} -> - case - ==_a1Gf - lit_a1Gg ds_d1Je - of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-a13A-}; - PrelBase.False{-58,p-}{i} -> - fail_d1Ln; - }; - PrelBase.False{-58,p-}{i} -> - fail_d1Ln; - } + } in + case ==_a1Cd lit_a1Cc ds_d1H3 of { + PrelBase.True{-5E,w-}{i} -> + case ==_a1Cg lit_a1Cf ds_d1H6 of { + PrelBase.True{-5E,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taXM; + PrelBase.False{-58,w-}{i} -> fail_d1Jf; + }; + PrelBase.False{-58,w-}{i} -> fail_d1Jf; + }; + } in f_aX0 +d.Eq_aY8 :: {PrelBase.Eq{-23,p-} PrelBase.Char{-38,W-}} +{-# L #-} +d.Eq_aY8 = + PrelBase.$d34{-raE,p-} +d.Eq_aY6 :: {PrelBase.Eq{-23,p-} [PrelBase.Char{-38,W-}]} +{-# L #-} +d.Eq_aY6 = + PrelBase.$d28{-rax,p-} _@_ PrelBase.Char{-38,W-} d.Eq_aY8 +==_a1l5 :: [PrelBase.Char{-38,W-}] + -> [PrelBase.Char{-38,W-}] + -> PrelBase.Bool{-34,W-} +{-# L #-} +==_a1l5 = + PrelBase.=={-8Y,p-} _@_ [PrelBase.Char{-38,W-}] d.Eq_aY6 end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds023.stderr b/ghc/tests/deSugar/should_compile/ds023.stderr index a34fcde..51a7d0a 100644 --- a/ghc/tests/deSugar/should_compile/ds023.stderr +++ b/ghc/tests/deSugar/should_compile/ds023.stderr @@ -3,129 +3,100 @@ ================================================================================ Desugared: Rec { -ds_dK5 :: - _forall_ - [rlg{-aHq-} riC{-aHC-}] - => - {PrelBase.Num{-2c,p-} riC{-aHC-}} - -> {PrelBase.Eq{-23,p-} rlg{-aHq-}} - -> (rlg{-aHq-} -> riC{-aHC-}, PrelBase.Bool{-34,p-} - -> rlg{-aHq-} - -> riC{-aHC-}) +ds_dEJ :: _forall_ + [taC5 taCc] + => + {PrelBase.Num{-2c,p-} taCc} + -> {PrelBase.Eq{-23,p-} taC5} + -> (taC5 -> taCc, PrelBase.Bool{-34,W-} -> taC5 -> taCc) {-# L #-} -ds_dK5 = - _/\_ rlg{-aHq-} riC{-aHC-} -> \ d.Num_aHI :: - {PrelBase.Num{-2c,p-} riC{-aHC-}} - {-# L #-} - d.Num_aHI d.Eq_aHG :: - {PrelBase.Eq{-23,p-} rlg{-aHq-}} - {-# L #-} - d.Eq_aHG -> +ds_dEJ = + _/\_ taC5 taCc -> \ d.Num_aCh :: {PrelBase.Num{-2c,p-} taCc} + {-# L #-} + d.Num_aCh d.Eq_aCf :: {PrelBase.Eq{-23,p-} taC5} + {-# L #-} + d.Eq_aCf -> _letrec_ { - ==_aKk :: - rlg{-aHq-} -> rlg{-aHq-} -> PrelBase.Bool{-34,p-} + ==_aEY :: taC5 -> taC5 -> PrelBase.Bool{-34,W-} {-# L #-} - ==_aKk = - PrelBase.=={-8Y,p-} - _@_ rlg{-aHq-} d.Eq_aHG; - abs_aKr :: - riC{-aHC-} -> riC{-aHC-} + ==_aEY = + PrelBase.=={-8Y,p-} _@_ taC5 d.Eq_aCf; + abs_aF5 :: taCc -> taCc {-# L #-} - abs_aKr = - PrelBase.abs{-r3j,p-} - _@_ riC{-aHC-} d.Num_aHI; - f_aHi :: - rlg{-aHq-} -> riC{-aHC-} + abs_aF5 = + PrelBase.abs{-r3i,p-} _@_ taCc d.Num_aCh; + f_aBP :: taC5 -> taCc {-# L #-} - f_aHi = - \ x_r3e :: - rlg{-aHq-} + f_aBP = + \ x_r3e :: taC5 {-# L #-} x_r3e -> - let { - ds_dL3 :: - PrelBase.Bool{-34,p-} - {-# L #-} - ds_dL3 = - ==_aKk - x_r3e x_r3e - } in - g_aHj - ds_dL3 x_r3e; - g_aHj :: - PrelBase.Bool{-34,p-} -> rlg{-aHq-} -> riC{-aHC-} + (let { + ds_dFM :: PrelBase.Bool{-34,W-} + {-# L #-} + ds_dFM = + ==_aEY x_r3e x_r3e + } in g_aBQ ds_dFM) + x_r3e; + g_aBQ :: PrelBase.Bool{-34,W-} -> taC5 -> taCc {-# L #-} - g_aHj = - \ b_r3g :: - PrelBase.Bool{-34,p-} + g_aBQ = + \ b_r3g :: PrelBase.Bool{-34,W-} {-# L #-} - b_r3g x_r3i :: - rlg{-aHq-} + b_r3g x_r3h :: taC5 {-# L #-} - x_r3i -> + x_r3h -> let { - ds_dLq :: - riC{-aHC-} + ds_dG6 :: taCc {-# L #-} - ds_dLq = - f_aHi - x_r3i - } in - abs_aKr - ds_dLq; + ds_dG6 = + f_aBP x_r3h + } in abs_aF5 ds_dG6; } in - PrelTup.(,){-62,p-}{i} - {_@_ (rlg{-aHq-} -> riC{-aHC-}) - _@_ (PrelBase.Bool{-34,p-} -> rlg{-aHq-} -> riC{-aHC-}) - f_aHi - g_aHj} -f{-r3l,x-} :: - _forall_ - [rlg{-aHq-} riC{-aHC-}] - => - {PrelBase.Num{-2c,p-} riC{-aHC-}} - -> {PrelBase.Eq{-23,p-} rlg{-aHq-}} - -> rlg{-aHq-} - -> riC{-aHC-} + PrelTup.(,){-62,w-}{i} + {_@_ (taC5 -> taCc) + _@_ (PrelBase.Bool{-34,W-} -> taC5 -> taCc) + f_aBP + g_aBQ} +f{-r3k,x-} :: _forall_ + [taC5 taCc] + => + {PrelBase.Num{-2c,p-} taCc} + -> {PrelBase.Eq{-23,p-} taC5} + -> taC5 + -> taCc {-# L #-} -f{-r3l,x-} = - _/\_ rlg{-aHq-} riC{-aHC-} -> \ d.Num_aHI :: - {PrelBase.Num{-2c,p-} riC{-aHC-}} - {-# L #-} - d.Num_aHI d.Eq_aHG :: - {PrelBase.Eq{-23,p-} rlg{-aHq-}} - {-# L #-} - d.Eq_aHG -> +f{-r3k,x-} = + _/\_ taC5 taCc -> \ d.Num_aCh :: {PrelBase.Num{-2c,p-} taCc} + {-# L #-} + d.Num_aCh d.Eq_aCf :: {PrelBase.Eq{-23,p-} taC5} + {-# L #-} + d.Eq_aCf -> case - ds_dK5 - _@_ rlg{-aHq-} _@_ riC{-aHC-} d.Num_aHI d.Eq_aHG + ds_dEJ _@_ taC5 _@_ taCc d.Num_aCh d.Eq_aCf of { - PrelTup.(,){-62,p-}{i} ds_dM9 ds_dMa -> - ds_dM9;} -g{-r3k,x-} :: - _forall_ - [rlg{-aHq-} riC{-aHC-}] - => - {PrelBase.Num{-2c,p-} riC{-aHC-}} - -> {PrelBase.Eq{-23,p-} rlg{-aHq-}} - -> PrelBase.Bool{-34,p-} - -> rlg{-aHq-} - -> riC{-aHC-} + PrelTup.(,){-62,w-}{i} ds_dGP ds_dGQ -> + ds_dGP;} +g{-r3j,x-} :: _forall_ + [taC5 taCc] + => + {PrelBase.Num{-2c,p-} taCc} + -> {PrelBase.Eq{-23,p-} taC5} + -> PrelBase.Bool{-34,W-} + -> taC5 + -> taCc {-# L #-} -g{-r3k,x-} = - _/\_ rlg{-aHq-} riC{-aHC-} -> \ d.Num_aHI :: - {PrelBase.Num{-2c,p-} riC{-aHC-}} - {-# L #-} - d.Num_aHI d.Eq_aHG :: - {PrelBase.Eq{-23,p-} rlg{-aHq-}} - {-# L #-} - d.Eq_aHG -> +g{-r3j,x-} = + _/\_ taC5 taCc -> \ d.Num_aCh :: {PrelBase.Num{-2c,p-} taCc} + {-# L #-} + d.Num_aCh d.Eq_aCf :: {PrelBase.Eq{-23,p-} taC5} + {-# L #-} + d.Eq_aCf -> case - ds_dK5 - _@_ rlg{-aHq-} _@_ riC{-aHC-} d.Num_aHI d.Eq_aHG + ds_dEJ _@_ taC5 _@_ taCc d.Num_aCh d.Eq_aCf of { - PrelTup.(,){-62,p-}{i} ds_dMB ds_dMA -> - ds_dMA;} + PrelTup.(,){-62,w-}{i} ds_dHh ds_dHg -> + ds_dHg;} end Rec } NOTE: Simplifier still going after 4 iterations; bailing out. diff --git a/ghc/tests/deSugar/should_compile/ds024.stderr b/ghc/tests/deSugar/should_compile/ds024.stderr index b377760..77bca55 100644 --- a/ghc/tests/deSugar/should_compile/ds024.stderr +++ b/ghc/tests/deSugar/should_compile/ds024.stderr @@ -2,77 +2,71 @@ ================================================================================ Desugared: -g{-r3h,x-} :: - _forall_ - [t{-aAR-} t{-aAL-} t{-aAN-} t{-aAP-}] - => - t{-aAR-} -> ([t{-aAL-}], [t{-aAN-}], [t{-aAP-}]) +Rec { +g{-r3h,x-} :: _forall_ + [tayq tayk taym tayo] + => + tayq -> ([tayk], [taym], [tayo]) {-# L #-} g{-r3h,x-} = - _/\_ t{-aAR-} t{-aAL-} t{-aAN-} t{-aAP-} -> \ x_r3g :: - t{-aAR-} - {-# L #-} - x_r3g -> - let { - ds_dD1 :: - [t{-aAL-}] + _/\_ tayq tayk taym tayo -> + _letrec_ { + g_ay5 :: tayq -> ([tayk], [taym], [tayo]) {-# L #-} - ds_dD1 = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aAL-} } in - let { - ds_dD5 :: - [t{-aAN-}] - {-# L #-} - ds_dD5 = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aAN-} } in - let { - ds_dD9 :: - [t{-aAP-}] - {-# L #-} - ds_dD9 = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aAP-} - } in - PrelTup.(,,){-63,p-}{i} - {_@_ [t{-aAL-}] _@_ [t{-aAN-}] _@_ [t{-aAP-}] ds_dD1 ds_dD5 ds_dD9} -f{-r3i,x-} :: - _forall_ [t{-aAZ-} t{-aB3-}] => t{-aB3-} -> [[t{-aAZ-}]] + g_ay5 = + \ x_r3g :: tayq + {-# L #-} + x_r3g -> + let { + ds_dAP :: [tayk] + {-# L #-} + ds_dAP = + PrelBase.[]{-5i,w-}{i} _@_ tayk } in + let { + ds_dAT :: [taym] + {-# L #-} + ds_dAT = + PrelBase.[]{-5i,w-}{i} _@_ taym } in + let { + ds_dAX :: [tayo] + {-# L #-} + ds_dAX = + PrelBase.[]{-5i,w-}{i} _@_ tayo + } in + PrelTup.(,,){-63,w-}{i} + {_@_ [tayk] _@_ [taym] _@_ [tayo] ds_dAP ds_dAT ds_dAX}; + } in g_ay5 +f{-r3i,x-} :: _forall_ [tayH tayF] => tayH -> [[tayF]] {-# L #-} f{-r3i,x-} = - _/\_ t{-aAZ-} t{-aB3-} -> \ x_r3e :: - t{-aB3-} - {-# L #-} - x_r3e -> - let { - ds_dDN :: - [t{-aAZ-}] + _/\_ tayH tayF -> + _letrec_ { + f_ays :: tayH -> [[tayF]] {-# L #-} - ds_dDN = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aAZ-} } in - let { ds_dDR :: - [[t{-aAZ-}]] - {-# L #-} - ds_dDR = - let { - ds_dE7 :: - [t{-aAZ-}] - {-# L #-} - ds_dE7 = - PrelBase.[]{-5i,p-}{i} - _@_ t{-aAZ-} } in - let { - ds_dEb :: - [[t{-aAZ-}]] - {-# L #-} - ds_dEb = - PrelBase.[]{-5i,p-}{i} - {_@_ [t{-aAZ-}]} - } in - PrelBase.:{-55,p-}{i} - {_@_ [t{-aAZ-}] ds_dE7 ds_dEb} - } in - PrelBase.:{-55,p-}{i} - {_@_ [t{-aAZ-}] ds_dDN ds_dDR} + f_ays = + \ x_r3e :: tayH + {-# L #-} + x_r3e -> + let { + ds_dBF :: [tayF] + {-# L #-} + ds_dBF = + PrelBase.[]{-5i,w-}{i} _@_ tayF } in + let { ds_dBJ :: [[tayF]] + {-# L #-} + ds_dBJ = + let { + ds_dBZ :: [tayF] + {-# L #-} + ds_dBZ = + PrelBase.[]{-5i,w-}{i} _@_ tayF } in + let { + ds_dC3 :: [[tayF]] + {-# L #-} + ds_dC3 = + PrelBase.[]{-5i,w-}{i} {_@_ [tayF]} + } in PrelBase.:{-55,w-}{i} {_@_ [tayF] ds_dBZ ds_dC3} + } in + PrelBase.:{-55,w-}{i} {_@_ [tayF] ds_dBF ds_dBJ}; + } in f_ays +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds025.hs b/ghc/tests/deSugar/should_compile/ds025.hs index c28b16d..b2ae1fd 100644 --- a/ghc/tests/deSugar/should_compile/ds025.hs +++ b/ghc/tests/deSugar/should_compile/ds025.hs @@ -14,5 +14,3 @@ assocMaybe :: (Eq a) => a -> [(a,b)] -> Maybe b assocMaybe key lst = if (null res) then Nothing else (Just (head res)) where res = [ val | (key',val) <- lst, key==key'] - -data Maybe a = Just a | Nothing deriving () diff --git a/ghc/tests/deSugar/should_compile/ds025.stderr b/ghc/tests/deSugar/should_compile/ds025.stderr index 4e6ad93..77c98c5 100644 --- a/ghc/tests/deSugar/should_compile/ds025.stderr +++ b/ghc/tests/deSugar/should_compile/ds025.stderr @@ -1,18 +1,344 @@ - -ds025.hs:3: - Conflicting definitions for: `Just' - Defined at ds025.hs:18 - Imported from Prelude at ds025.hs:3 - -ds025.hs:3: - Conflicting definitions for: `Nothing' - Defined at ds025.hs:18 - Imported from Prelude at ds025.hs:3 - -ds025.hs:3: - Conflicting definitions for: `Maybe' - Defined at ds025.hs:18 - Imported from Prelude at ds025.hs:3 +ds025.hs:6: + Warning: Possibly incomplete patterns + in the definition of function `ehead' -Compilation had errors +================================================================================ +Desugared: +Rec { +assocMaybe{-r3h,x-} :: _forall_ + [taUL taUO] + => + {PrelBase.Eq{-23,p-} taUL} + -> taUL + -> [(taUL, taUO)] + -> PrelBase.Maybe{-rhk,p-} taUO +{-# L #-} +assocMaybe{-r3h,x-} = + _/\_ taUL taUO -> \ d.Eq_aVB :: {PrelBase.Eq{-23,p-} taUL} + {-# L #-} + d.Eq_aVB -> + _letrec_ { + d.Eq_aVD :: {PrelBase.Eq{-23,p-} taUL} + {-# L #-} + d.Eq_aVD = + d.Eq_aVB; + ==_a16L :: taUL -> taUL -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a16L = + PrelBase.=={-8Y,p-} _@_ taUL d.Eq_aVD; + assocMaybe_aUI :: taUL + -> [(taUL, taUO)] + -> PrelBase.Maybe{-rhk,p-} taUO + {-# L #-} + assocMaybe_aUI = + \ key_r3x :: taUL + {-# L #-} + key_r3x lst_r3y :: [(taUL, taUO)] + {-# L #-} + lst_r3y -> + let { res_aUQ :: [taUO] + {-# L #-} + res_aUQ = + _letrec_ { + ds_d18e :: [(taUL, taUO)] -> [taUO] + {-# L #-} + ds_d18e = + \ ds_d18j :: [(taUL, taUO)] + {-# L #-} + ds_d18j -> + case ds_d18j of { + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} {_@_ taUO}; + PrelBase.:{-55,w-}{i} ds_d18y ds_d18z -> + case ds_d18y of { PrelTup.(,){-62,w-}{i} key'_r3C val_r3D -> + case ==_a16L key_r3x key'_r3C of { + PrelBase.True{-5E,w-}{i} -> + let { + ds_d195 :: [taUO] + {-# L #-} + ds_d195 = + ds_d18e ds_d18z + } in PrelBase.:{-55,w-}{i} {_@_ taUO val_r3D ds_d195}; + PrelBase.False{-58,w-}{i} -> ds_d18e ds_d18z; + };}; + }; + } in ds_d18e lst_r3y + } in + let { + res_r3A :: [taUO] + {-# L #-} + res_r3A = + res_aUQ + } in + case PrelList.null{-r51,p-} _@_ taUO res_r3A of { + PrelBase.True{-5E,w-}{i} -> PrelBase.Nothing{-rbW,p-}{i} _@_ taUO; + PrelBase.False{-58,w-}{i} -> + let { + ds_d19W :: taUO + {-# L #-} + ds_d19W = + PrelList.head{-r3E,p-} _@_ taUO res_r3A + } in PrelBase.Just{-rbS,p-}{i} _@_ taUO ds_d19W; + }; + } in assocMaybe_aUI +ehead{-r3i,x-} :: _forall_ + [taWc] + => + [taWc] -> [PrelBase.Char{-38,W-}] -> taWc +{-# L #-} +ehead{-r3i,x-} = + _/\_ taWc -> + _letrec_ { + ehead_aVL :: [taWc] -> [PrelBase.Char{-38,W-}] -> taWc + {-# L #-} + ehead_aVL = + \ xs_r3l :: [taWc] + {-# L #-} + xs_r3l loc_r3m :: [PrelBase.Char{-38,W-}] + {-# L #-} + loc_r3m -> + let { + fail_d1aE :: taWc + {-# L #-} + fail_d1aE = + GHCerr.patError{-8r,w-} + _@_ taWc _string_ "ds025.hs:5|function `ehead'" + } in + case PrelList.null{-r51,p-} _@_ taWc xs_r3l of { + PrelBase.True{-5E,w-}{i} -> + let { ds_d1aS :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1aS = + let { ds_d1b2 :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1b2 = + let { + ds_d1bg :: PrelBase.Char{-38,W-} + {-# L #-} + ds_d1bg = + PrelBase.C#{-54,w-}{i} {'4'} } in + let { + ds_d1bk :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1bk = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} + } in + PrelBase.:{-55,w-}{i} {_@_ PrelBase.Char{-38,W-} ds_d1bg ds_d1bk} + } in + ++_a127 _@_ PrelBase.Char{-38,W-} ds_d1b2 loc_r3m + } in + IOBase.error{-87,w-} _@_ taWc ds_d1aS; + PrelBase.False{-58,w-}{i} -> + PrelList.head{-r3E,p-} _@_ taWc xs_r3l; + }; + } in ehead_aVL +assoc{-r3j,x-} :: _forall_ + [taXo taXr] + => + {PrelBase.Show{-2i,p-} taXo} + -> {PrelBase.Eq{-23,p-} taXo} + -> taXo + -> [(taXo, taXr)] + -> [PrelBase.Char{-38,W-}] + -> taXr +{-# L #-} +assoc{-r3j,x-} = + _/\_ taXo taXr -> \ d.Show_aXv :: {PrelBase.Show{-2i,p-} taXo} + {-# L #-} + d.Show_aXv d.Eq_aXx :: {PrelBase.Eq{-23,p-} taXo} + {-# L #-} + d.Eq_aXx -> + _letrec_ { + ++_a122 :: _forall_ [taXd] => [taXd] -> [taXd] -> [taXd] + {-# L #-} + ++_a122 = + ++_a123; + ++_a121 :: _forall_ [taXk] => [taXk] -> [taXk] -> [taXk] + {-# L #-} + ++_a121 = + ++_a123; + show_a12b :: taXo -> PrelBase.String{-rhB,p-} + {-# L #-} + show_a12b = + PrelBase.show{-rij,p-} _@_ taXo d.Show_aXv; + ==_a12c :: taXo -> taXo -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a12c = + PrelBase.=={-8Y,p-} _@_ taXo d.Eq_aXx; + assoc_aWg :: taXo + -> [(taXo, taXr)] + -> [PrelBase.Char{-38,W-}] + -> taXr + {-# L #-} + assoc_aWg = + \ key_r3o :: taXo + {-# L #-} + key_r3o lst_r3p :: [(taXo, taXr)] + {-# L #-} + lst_r3p loc_r3q :: [PrelBase.Char{-38,W-}] + {-# L #-} + loc_r3q -> + let { res_aWy :: [taXr] + {-# L #-} + res_aWy = + _letrec_ { + ds_d1cL :: [(taXo, taXr)] -> [taXr] + {-# L #-} + ds_d1cL = + \ ds_d1cQ :: [(taXo, taXr)] + {-# L #-} + ds_d1cQ -> + case ds_d1cQ of { + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} {_@_ taXr}; + PrelBase.:{-55,w-}{i} ds_d1d5 ds_d1d6 -> + case ds_d1d5 of { PrelTup.(,){-62,w-}{i} key'_r3u val_r3v -> + case ==_a12c key_r3o key'_r3u of { + PrelBase.True{-5E,w-}{i} -> + let { + ds_d1dC :: [taXr] + {-# L #-} + ds_d1dC = + ds_d1cL ds_d1d6 + } in PrelBase.:{-55,w-}{i} {_@_ taXr val_r3v ds_d1dC}; + PrelBase.False{-58,w-}{i} -> ds_d1cL ds_d1d6; + };}; + }; + } in ds_d1cL lst_r3p + } in + let { + res_r3s :: [taXr] + {-# L #-} + res_r3s = + res_aWy + } in + case PrelList.null{-r51,p-} _@_ taXr res_r3s of { + PrelBase.True{-5E,w-}{i} -> + let { ds_d1el :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1el = + let { ds_d1ex :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1ex = + let { + ds_d1eM :: PrelBase.Char{-38,W-} + {-# L #-} + ds_d1eM = + PrelBase.C#{-54,w-}{i} {'1'} } in + let { + ds_d1eQ :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1eQ = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} + } in + PrelBase.:{-55,w-}{i} {_@_ PrelBase.Char{-38,W-} ds_d1eM ds_d1eQ} + } in + let { ds_d1eB :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1eB = + let { ds_d1f9 :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1f9 = + let { ds_d1fl :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1fl = + let { + ds_d1fA :: PrelBase.Char{-38,W-} + {-# L #-} + ds_d1fA = + PrelBase.C#{-54,w-}{i} {'2'} } in + let { + ds_d1fE :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1fE = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} + } in + PrelBase.:{-55,w-}{i} + {_@_ PrelBase.Char{-38,W-} ds_d1fA ds_d1fE} + } in + let { + ds_d1fp :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1fp = + show_a12b key_r3o + } in ++_a121 _@_ PrelBase.Char{-38,W-} ds_d1fl ds_d1fp + } in + ++_a122 _@_ PrelBase.Char{-38,W-} loc_r3q ds_d1f9 + } in + ++_a123 _@_ PrelBase.Char{-38,W-} ds_d1ex ds_d1eB + } in + IOBase.error{-87,w-} _@_ taXr ds_d1el; + PrelBase.False{-58,w-}{i} -> + let { ds_d1ga :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1ga = + let { + ds_d1gl :: PrelBase.Char{-38,W-} + {-# L #-} + ds_d1gl = + PrelBase.C#{-54,w-}{i} {'3'} } in + let { + ds_d1gp :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_d1gp = + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}} + } in + PrelBase.:{-55,w-}{i} {_@_ PrelBase.Char{-38,W-} ds_d1gl ds_d1gp} + } in + ehead{-r3i,x-} _@_ taXr res_r3s ds_d1ga; + }; + } in assoc_aWg +d.MonadPlus_aXF :: {PrelBase.MonadPlus{-2a,p-} PrelBase.[]{-3j,W-}} +{-# L #-} +d.MonadPlus_aXF = + PrelBase.$d23{-rcg,p-} +++_a123 :: _forall_ [taX7] => [taX7] -> [taX7] -> [taX7] +{-# L #-} +++_a123 = + PrelBase.++{-rhm,p-} _@_ PrelBase.[]{-3j,W-} d.MonadPlus_aXF +d.Monad_aXI :: {PrelBase.Monad{-28,p-} PrelBase.[]{-3j,W-}} +{-# L #-} +d.Monad_aXI = + PrelBase.$d25{-rci,p-} +>>=_a124 :: _forall_ + [taXO taXP] + => + [taXO] -> (taXO -> [taXP]) -> [taXP] +{-# L #-} +>>=_a124 = + PrelBase.>>={-811,p-} _@_ PrelBase.[]{-3j,W-} d.Monad_aXI +d.Monad_aXL :: {PrelBase.Monad{-28,p-} PrelBase.[]{-3j,W-}} +{-# L #-} +d.Monad_aXL = + d.Monad_aXI +return_a125 :: _forall_ [taXQ] => taXQ -> [taXQ] +{-# L #-} +return_a125 = + PrelBase.return{-816,p-} _@_ PrelBase.[]{-3j,W-} d.Monad_aXL +d.MonadZero_aXN :: {PrelBase.MonadZero{-29,p-} PrelBase.[]{-3j,W-}} +{-# L #-} +d.MonadZero_aXN = + PrelBase.$d24{-rch,p-} +zero_a126 :: _forall_ [taXR] => [taXR] +{-# L #-} +zero_a126 = + PrelBase.zero{-810,p-} _@_ PrelBase.[]{-3j,W-} d.MonadZero_aXN +++_a127 :: _forall_ [taW6] => [taW6] -> [taW6] -> [taW6] +{-# L #-} +++_a127 = + ++_a123 +>>=_a128 :: _forall_ + [taXS taXT] + => + [taXS] -> (taXS -> [taXT]) -> [taXT] +{-# L #-} +>>=_a128 = + >>=_a124 +return_a129 :: _forall_ [taXU] => taXU -> [taXU] +{-# L #-} +return_a129 = + return_a125 +zero_a12a :: _forall_ [taXV] => [taXV] +{-# L #-} +zero_a12a = + zero_a126 +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds026.stderr b/ghc/tests/deSugar/should_compile/ds026.stderr index 914cc16..5565a15 100644 --- a/ghc/tests/deSugar/should_compile/ds026.stderr +++ b/ghc/tests/deSugar/should_compile/ds026.stderr @@ -3,190 +3,142 @@ ================================================================================ Desugared: Rec { -scsel_NooShouldSucceedBoo{-aKl,x-} :: - _forall_ - [a{-r3n-}] - => - {Noo{-r3B,x-} a{-r3n-}} -> {Boo{-r3o,x-} a{-r3n-}} +f{-r3w,x-} :: _forall_ + [taBw taBB] + => + {Noo{-r3x,x-} taBw} + -> {PrelBase.Eq{-23,p-} taBB} + -> taBw + -> taBB + -> taBw {-# L #-} -scsel_NooShouldSucceedBoo{-aKl,x-} = - _/\_ a{-r3n-} -> \ tpl_B1 :: - {Noo{-r3B,x-} a{-r3n-}} - {-# L #-} - tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;} -op2{-r3A,x-} :: - _forall_ - [a{-r3n-}] - => - {Noo{-r3B,x-} a{-r3n-}} - -> (_forall_ - [b{-r3q-}] - => - {PrelBase.Eq{-23,p-} b{-r3q-}} -> a{-r3n-} -> b{-r3q-} -> a{-r3n-}) +f{-r3w,x-} = + _/\_ taBw taBB -> \ d.Noo_aBH :: {Noo{-r3x,x-} taBw} + {-# L #-} + d.Noo_aBH d.Eq_aBJ :: {PrelBase.Eq{-23,p-} taBB} + {-# L #-} + d.Eq_aBJ -> + _letrec_ { + d.Boo_aBL :: {Boo{-r3n,x-} taBw} + {-# L #-} + d.Boo_aBL = + scsel_NooShouldSucceedBoo{-aEv,x-} _@_ taBw d.Noo_aBH; + d.Foo_aBF :: {Foo{-r3s,x-} taBw} + {-# L #-} + d.Foo_aBF = + scsel_BooShouldSucceedFoo{-aEw,x-} _@_ taBw d.Boo_aBL; + op_aEx :: taBw -> taBw + {-# L #-} + op_aEx = + op{-r3y,x-} _@_ taBw d.Foo_aBF; + op2_aBC :: _forall_ + [taBy] + => + {PrelBase.Eq{-23,p-} taBy} -> taBw -> taBy -> taBw + {-# L #-} + op2_aBC = + op2{-r3A,x-} _@_ taBw d.Noo_aBH; + op2_aEy :: taBw -> taBB -> taBw + {-# L #-} + op2_aEy = + op2_aBC _@_ taBB d.Eq_aBJ; + f_aBf :: taBw -> taBB -> taBw + {-# L #-} + f_aBf = + \ x_r3j :: taBw + {-# L #-} + x_r3j y_r3k :: taBB + {-# L #-} + y_r3k -> + let { + ds_dG8 :: taBw + {-# L #-} + ds_dG8 = + op2_aEy x_r3j y_r3k + } in op_aEx ds_dG8; + } in f_aBf +scsel_NooShouldSucceedBoo{-aEv,x-} :: _forall_ + [a_tr3m] + => + {Noo{-r3x,x-} a_tr3m} -> {Boo{-r3n,x-} a_tr3m} +{-# L #-} +scsel_NooShouldSucceedBoo{-aEv,x-} = + _/\_ t12 -> \ tpl_B1 :: {Noo{-r3x,x-} t12} + {-# L #-} + tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op2{-r3A,x-} :: _forall_ + [a_tr3m] + => + {Noo{-r3x,x-} a_tr3m} + -> (_forall_ + [b_tr3p] + => + {PrelBase.Eq{-23,p-} b_tr3p} -> a_tr3m -> b_tr3p -> a_tr3m) {-# L #-} op2{-r3A,x-} = - _/\_ a{-r3n-} -> \ tpl_B1 :: - {Noo{-r3B,x-} a{-r3n-}} - {-# L #-} - tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;} -$mop2{-rGB,x-} :: - _forall_ - [a{-r3n-}] - => - {Noo{-r3B,x-} a{-r3n-}} - -> (_forall_ - [b{-r3q-}] - => - {PrelBase.Eq{-23,p-} b{-r3q-}} -> a{-r3n-} -> b{-r3q-} -> a{-r3n-}) + _/\_ t12 -> \ tpl_B1 :: {Noo{-r3x,x-} t12} + {-# L #-} + tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +ds_dEN :: _forall_ + [taBV] + => + {Noo{-r3x,x-} taBV} -> PrelBase.(){-40,W-} {-# L #-} -$mop2{-rGB,x-} = - _/\_ a{-aHc-} -> \ d.Noo_aH5 :: - {Noo{-r3B,x-} a{-aHc-}} - {-# L #-} - d.Noo_aH5 -> - _/\_ b{-aHg-} -> \ d.Eq_aHi :: - {PrelBase.Eq{-23,p-} b{-aHg-}} - {-# L #-} - d.Eq_aHi -> - GHCerr.noDefaultMethodError{-8k,p-} - _@_ (a{-aHc-} -> b{-aHg-} -> a{-aHc-}) - _string_ "Class Noo Method op2" -scsel_BooShouldSucceedFoo{-aKD,x-} :: - _forall_ - [a{-r3t-}] - => - {Boo{-r3o,x-} a{-r3t-}} -> {Foo{-r3u,x-} a{-r3t-}} +ds_dEN = + _/\_ taBV -> \ d.Noo_aBO :: {Noo{-r3x,x-} taBV} + {-# L #-} + d.Noo_aBO -> + PrelBase.(){-60,w-}{i} {} +scsel_BooShouldSucceedFoo{-aEw,x-} :: _forall_ + [a_tr3r] + => + {Boo{-r3n,x-} a_tr3r} -> {Foo{-r3s,x-} a_tr3r} {-# L #-} -scsel_BooShouldSucceedFoo{-aKD,x-} = - _/\_ a{-r3t-} -> \ tpl_B1 :: - {Boo{-r3o,x-} a{-r3t-}} - {-# L #-} - tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;} -op1{-r3C,x-} :: - _forall_ - [a{-r3t-}] - => - {Boo{-r3o,x-} a{-r3t-}} -> a{-r3t-} -> a{-r3t-} +scsel_BooShouldSucceedFoo{-aEw,x-} = + _/\_ t12 -> \ tpl_B1 :: {Boo{-r3n,x-} t12} + {-# L #-} + tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op1{-r3z,x-} :: _forall_ + [a_tr3r] + => + {Boo{-r3n,x-} a_tr3r} -> a_tr3r -> a_tr3r {-# L #-} -op1{-r3C,x-} = - _/\_ a{-r3t-} -> \ tpl_B1 :: - {Boo{-r3o,x-} a{-r3t-}} - {-# L #-} - tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;} -$mop1{-rGD,x-} :: - _forall_ - [a{-r3t-}] - => - {Boo{-r3o,x-} a{-r3t-}} -> a{-r3t-} -> a{-r3t-} +op1{-r3z,x-} = + _/\_ t12 -> \ tpl_B1 :: {Boo{-r3n,x-} t12} + {-# L #-} + tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +ds_dF0 :: _forall_ + [taBW] + => + {Boo{-r3n,x-} taBW} -> PrelBase.(){-40,W-} {-# L #-} -$mop1{-rGD,x-} = - _/\_ a{-aHs-} -> \ d.Boo_aHl :: - {Boo{-r3o,x-} a{-aHs-}} - {-# L #-} - d.Boo_aHl -> - GHCerr.noDefaultMethodError{-8k,p-} - _@_ (a{-aHs-} -> a{-aHs-}) _string_ "Class Boo Method op1" -op{-r3D,x-} :: - _forall_ - [a{-r3y-}] - => - {Foo{-r3u,x-} a{-r3y-}} -> a{-r3y-} -> a{-r3y-} +ds_dF0 = + _/\_ taBW -> \ d.Boo_aBR :: {Boo{-r3n,x-} taBW} + {-# L #-} + d.Boo_aBR -> + PrelBase.(){-60,w-}{i} {} +op{-r3y,x-} :: _forall_ + [a_tr3v] + => + {Foo{-r3s,x-} a_tr3v} -> a_tr3v -> a_tr3v {-# L #-} -op{-r3D,x-} = - _/\_ a{-r3y-} -> \ tpl_B1 :: - {Foo{-r3u,x-} a{-r3y-}} - {-# L #-} - tpl_B1 -> +op{-r3y,x-} = + _/\_ t12 -> \ tpl_B1 :: {Foo{-r3s,x-} t12} + {-# L #-} + tpl_B1 -> tpl_B1 -$mop{-rGC,x-} :: - _forall_ - [a{-r3y-}] - => - {Foo{-r3u,x-} a{-r3y-}} -> a{-r3y-} -> a{-r3y-} -{-# L #-} -$mop{-rGC,x-} = - _/\_ a{-aHD-} -> \ d.Foo_aHw :: - {Foo{-r3u,x-} a{-aHD-}} - {-# L #-} - d.Foo_aHw -> - GHCerr.noDefaultMethodError{-8k,p-} - _@_ (a{-aHD-} -> a{-aHD-}) _string_ "Class Foo Method op" -f{-r3z,x-} :: - _forall_ - [a{-aGK-} b{-aGQ-}] - => - {Noo{-r3B,x-} a{-aGK-}} - -> {PrelBase.Eq{-23,p-} b{-aGQ-}} - -> a{-aGK-} - -> b{-aGQ-} - -> a{-aGK-} +ds_dF9 :: _forall_ + [taBX] + => + {Foo{-r3s,x-} taBX} -> PrelBase.(){-40,W-} {-# L #-} -f{-r3z,x-} = - _/\_ a{-aGK-} b{-aGQ-} -> \ d.Noo_aGY :: - {Noo{-r3B,x-} a{-aGK-}} - {-# L #-} - d.Noo_aGY d.Eq_aH0 :: - {PrelBase.Eq{-23,p-} b{-aGQ-}} - {-# L #-} - d.Eq_aH0 -> - let { - d.Boo_aH2 :: - {Boo{-r3o,x-} a{-aGK-}} - {-# L #-} - d.Boo_aH2 = - scsel_NooShouldSucceedBoo{-aKl,x-} - _@_ a{-aGK-} d.Noo_aGY } in - let { - d.Foo_aGW :: - {Foo{-r3u,x-} a{-aGK-}} - {-# L #-} - d.Foo_aGW = - scsel_BooShouldSucceedFoo{-aKD,x-} - _@_ a{-aGK-} d.Boo_aH2 } in - let { - op_aMI :: - a{-aGK-} -> a{-aGK-} - {-# L #-} - op_aMI = - op{-r3D,x-} - _@_ a{-aGK-} d.Foo_aGW } in - let { - op2_aMH :: - _forall_ - [b{-aGM-}] - => - {PrelBase.Eq{-23,p-} b{-aGM-}} -> a{-aGK-} -> b{-aGM-} -> a{-aGK-} - {-# L #-} - op2_aMH = - op2{-r3A,x-} - _@_ a{-aGK-} d.Noo_aGY } in - let { - op2_aMG :: - a{-aGK-} -> b{-aGQ-} -> a{-aGK-} - {-# L #-} - op2_aMG = - op2_aMH - _@_ b{-aGQ-} d.Eq_aH0 - } in - \ x_r3j :: - a{-aGK-} - {-# L #-} - x_r3j y_r3l :: - b{-aGQ-} - {-# L #-} - y_r3l -> - let { - ds_dNv :: - a{-aGK-} - {-# L #-} - ds_dNv = - op2_aMG - x_r3j y_r3l - } in - op_aMI - ds_dNv +ds_dF9 = + _/\_ taBX -> \ d.Foo_aBU :: {Foo{-r3s,x-} taBX} + {-# L #-} + d.Foo_aBU -> + PrelBase.(){-60,w-}{i} {} end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds027.stderr b/ghc/tests/deSugar/should_compile/ds027.stderr index 3d500d9..a5be5a5 100644 --- a/ghc/tests/deSugar/should_compile/ds027.stderr +++ b/ghc/tests/deSugar/should_compile/ds027.stderr @@ -1,118 +1,94 @@ -ds027.hs:8: - Warning: Possibly incomplete patterns - in the definition of function `==' ds027.hs:9: Warning: Possibly incomplete patterns in the definition of function `/=' +ds027.hs:8: + Warning: Possibly incomplete patterns + in the definition of function `==' ================================================================================ Desugared: Rec { -d.Eval_aGg :: - {PrelBase.Eval{-24,p-} Foo{-r3n,x-}} +Bar{-r4,x-}{i} :: Foo{-r3m,x-} +_A_ 0 {-# L #-} +Bar{-r4,x-}{i} = + Bar{-r4,x-}{i} {} +Baz{-r3,x-}{i} :: Foo{-r3m,x-} +_A_ 0 {-# L #-} +Baz{-r3,x-}{i} = + Baz{-r3,x-}{i} {} +d.Eval_aB7 :: {PrelBase.Eval{-24,p-} Foo{-r3m,x-}} {-# L #-} -d.Eval_aGg = - PrelBase.void{-8G,p-} -$d2{-rIX,x-} :: - {PrelBase.Eval{-24,p-} Foo{-r3n,x-}} +d.Eval_aB7 = + PrelBase.void{-8G,w-} +$d2{-rE9,x-} :: {PrelBase.Eval{-24,p-} Foo{-r3m,x-}} {-# L #-} -$d2{-rIX,x-} = - d.Eval_aGg -==_aGo :: - Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-} +$d2{-rE9,x-} = + d.Eval_aB7 +==_aBg :: Foo{-r3m,x-} -> Foo{-r3m,x-} -> PrelBase.Bool{-34,W-} {-# L #-} -==_aGo = - \ ds_dJM :: - Foo{-r3n,x-} +==_aBg = + \ ds_dEQ :: Foo{-r3m,x-} {-# L #-} - ds_dJM ds_dJN :: - Foo{-r3n,x-} + ds_dEQ ds_dER :: Foo{-r3m,x-} {-# L #-} - ds_dJN -> + ds_dER -> let { - fail_dJO :: - PrelBase.Bool{-34,p-} + fail_dES :: PrelBase.Bool{-34,W-} {-# L #-} - fail_dJO = - GHCerr.patError{-8r,p-} - _@_ PrelBase.Bool{-34,p-} _string_ "ds027.hs:8|function `=='" + fail_dES = + GHCerr.patError{-8r,w-} + _@_ PrelBase.Bool{-34,W-} _string_ "ds027.hs:8|function `=='" } in - case ds_dJM of { - Baz{-r3,x-}{i} -> - fail_dJO; + case ds_dEQ of { + Baz{-r3,x-}{i} -> fail_dES; Bar{-r4,x-}{i} -> - case ds_dJN of { - Bar{-r4,x-}{i} -> - fail_dJO; - Baz{-r3,x-}{i} -> - PrelBase.True{-5E,p-}{i}; + case ds_dER of { + Bar{-r4,x-}{i} -> fail_dES; + Baz{-r3,x-}{i} -> PrelBase.True{-5E,w-}{i}; }; } -==_aJ7 :: - Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-} +==_aEk :: Foo{-r3m,x-} -> Foo{-r3m,x-} -> PrelBase.Bool{-34,W-} {-# L #-} -==_aJ7 = - ==_aGo -/=_aGs :: - Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-} +==_aEk = + ==_aBg +/=_aBl :: Foo{-r3m,x-} -> Foo{-r3m,x-} -> PrelBase.Bool{-34,W-} {-# L #-} -/=_aGs = - \ ds_dKq :: - Foo{-r3n,x-} +/=_aBl = + \ ds_dFu :: Foo{-r3m,x-} {-# L #-} - ds_dKq ds_dKr :: - Foo{-r3n,x-} + ds_dFu ds_dFv :: Foo{-r3m,x-} {-# L #-} - ds_dKr -> + ds_dFv -> let { - fail_dKs :: - PrelBase.Bool{-34,p-} + fail_dFw :: PrelBase.Bool{-34,W-} {-# L #-} - fail_dKs = - GHCerr.patError{-8r,p-} - _@_ PrelBase.Bool{-34,p-} _string_ "ds027.hs:9|function `/='" + fail_dFw = + GHCerr.patError{-8r,w-} + _@_ PrelBase.Bool{-34,W-} _string_ "ds027.hs:9|function `/='" } in - case ds_dKq of { - Baz{-r3,x-}{i} -> - fail_dKs; + case ds_dFu of { + Baz{-r3,x-}{i} -> fail_dFw; Bar{-r4,x-}{i} -> - case ds_dKr of { - Bar{-r4,x-}{i} -> - fail_dKs; - Baz{-r3,x-}{i} -> - PrelBase.False{-58,p-}{i}; + case ds_dFv of { + Bar{-r4,x-}{i} -> fail_dFw; + Baz{-r3,x-}{i} -> PrelBase.False{-58,w-}{i}; }; } -/=_aJg :: - Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-} +/=_aEt :: Foo{-r3m,x-} -> Foo{-r3m,x-} -> PrelBase.Bool{-34,W-} {-# L #-} -/=_aJg = - /=_aGs -d.Eq_aGl :: - {PrelBase.Eq{-23,p-} Foo{-r3n,x-}} +/=_aEt = + /=_aBl +d.Eq_aBc :: {PrelBase.Eq{-23,p-} Foo{-r3m,x-}} {-# L #-} -d.Eq_aGl = - PrelTup.(,){-62,p-}{i} - {_@_ (Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-}) - _@_ (Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-}) - ==_aJ7 - /=_aJg} -$d1{-rJp,x-} :: - {PrelBase.Eq{-23,p-} Foo{-r3n,x-}} +d.Eq_aBc = + PrelTup.(,){-62,w-}{i} + {_@_ (Foo{-r3m,x-} -> Foo{-r3m,x-} -> PrelBase.Bool{-34,W-}) + _@_ (Foo{-r3m,x-} -> Foo{-r3m,x-} -> PrelBase.Bool{-34,W-}) + ==_aEk + /=_aEt} +$d1{-rEb,x-} :: {PrelBase.Eq{-23,p-} Foo{-r3m,x-}} {-# L #-} -$d1{-rJp,x-} = - d.Eq_aGl -Bar{-r4,x-}{i} :: - Foo{-r3n,x-} -_A_ 0 {-# L #-} -Bar{-r4,x-}{i} = - Bar{-r4,x-}{i} - {} -Baz{-r3,x-}{i} :: - Foo{-r3n,x-} -_A_ 0 {-# L #-} -Baz{-r3,x-}{i} = - Baz{-r3,x-}{i} - {} +$d1{-rEb,x-} = + d.Eq_aBc end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds028.stderr b/ghc/tests/deSugar/should_compile/ds028.stderr index 99e83c8..528ce28 100644 --- a/ghc/tests/deSugar/should_compile/ds028.stderr +++ b/ghc/tests/deSugar/should_compile/ds028.stderr @@ -2,82 +2,62 @@ ================================================================================ Desugared: -||||_amR :: - PrelBase.Bool{-34,p-} - -> PrelBase.Bool{-34,p-} - -> PrelBase.Bool{-34,p-} +Rec { +||||_akd :: PrelBase.Bool{-34,W-} + -> PrelBase.Bool{-34,W-} + -> PrelBase.Bool{-34,W-} {-# L #-} -||||_amR = - \ ds_dq6 :: - PrelBase.Bool{-34,p-} +||||_akd = + \ ds_dnL :: PrelBase.Bool{-34,W-} {-# L #-} - ds_dq6 ds_dq7 :: - PrelBase.Bool{-34,p-} + ds_dnL ds_dnU :: PrelBase.Bool{-34,W-} {-# L #-} - ds_dq7 -> - case ds_dq6 of { - PrelBase.True{-5E,p-}{i} -> - PrelBase.True{-5E,p-}{i}; - PrelBase.False{-58,p-}{i} -> - ds_dq7; + ds_dnU -> + case ds_dnL of { + PrelBase.True{-5E,w-}{i} -> PrelBase.True{-5E,w-}{i}; + PrelBase.False{-58,w-}{i} -> ds_dnU; } -||||{-r3q,x-} :: - PrelBase.Bool{-34,p-} - -> PrelBase.Bool{-34,p-} - -> PrelBase.Bool{-34,p-} +||||{-r3m,x-} :: PrelBase.Bool{-34,W-} + -> PrelBase.Bool{-34,W-} + -> PrelBase.Bool{-34,W-} {-# L #-} -||||{-r3q,x-} = - ||||_amR -Rec { -mAp{-r3r,x-} :: - _forall_ - [t{-an5-} t{-an7-}] - => - (t{-an5-} -> t{-an7-}) -> [t{-an5-}] -> [t{-an7-}] +||||{-r3m,x-} = + ||||_akd +mAp{-r3n,x-} :: _forall_ + [takK takO] + => + (takK -> takO) -> [takK] -> [takO] {-# L #-} -mAp{-r3r,x-} = - _/\_ t{-an5-} t{-an7-} -> +mAp{-r3n,x-} = + _/\_ takK takO -> _letrec_ { - mAp_amZ :: - (t{-an5-} -> t{-an7-}) -> [t{-an5-}] -> [t{-an7-}] + mAp_akq :: (takK -> takO) -> [takK] -> [takO] {-# L #-} - mAp_amZ = - \ f_r3e :: - t{-an5-} -> t{-an7-} + mAp_akq = + \ f_r3e :: takK -> takO {-# L #-} - f_r3e ds_dqV :: - [t{-an5-}] + f_r3e ds_doq :: [takK] {-# L #-} - ds_dqV -> - case ds_dqV of { - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - _@_ t{-an7-}; - PrelBase.:{-55,p-}{i} x_r3j xs_r3k -> + ds_doq -> + case ds_doq of { + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ takO; + PrelBase.:{-55,w-}{i} x_r3h xs_r3i -> let { - f_r3h :: - t{-an5-} -> t{-an7-} + f_r3g :: takK -> takO {-# L #-} - f_r3h = + f_r3g = f_r3e } in let { - ds_drl :: - t{-an7-} + ds_doQ :: takO {-# L #-} - ds_drl = - f_r3h - x_r3j } in + ds_doQ = + f_r3g x_r3h } in let { - ds_drp :: - [t{-an7-}] + ds_doU :: [takO] {-# L #-} - ds_drp = - mAp_amZ - f_r3h xs_r3k - } in - PrelBase.:{-55,p-}{i} - _@_ t{-an7-} ds_drl ds_drp; + ds_doU = + mAp_akq f_r3g xs_r3i + } in PrelBase.:{-55,w-}{i} _@_ takO ds_doQ ds_doU; }; - } in - mAp_amZ + } in mAp_akq end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds029.stderr b/ghc/tests/deSugar/should_compile/ds029.stderr index f3230a1..10856f1 100644 --- a/ghc/tests/deSugar/should_compile/ds029.stderr +++ b/ghc/tests/deSugar/should_compile/ds029.stderr @@ -2,186 +2,131 @@ ================================================================================ Desugared: -f{-r3h,x-} :: - _forall_ - [t{-aY1-} t{-aYi-}] - => - {PrelBase.Ord{-2d,p-} t{-aY1-}} - -> {PrelBase.Num{-2c,p-} t{-aY1-}} - -> t{-aYi-} - -> t{-aY1-} +Rec { +f{-r3h,x-} :: _forall_ + [taSX taSv] + => + {PrelBase.Ord{-2d,p-} taSv} + -> {PrelBase.Num{-2c,p-} taSv} + -> taSX + -> taSv {-# L #-} f{-r3h,x-} = - _/\_ t{-aY1-} t{-aYi-} -> \ d.Ord_aYk :: - {PrelBase.Ord{-2d,p-} t{-aY1-}} - {-# L #-} - d.Ord_aYk d.Num_aYn :: - {PrelBase.Num{-2c,p-} t{-aY1-}} - {-# L #-} - d.Num_aYn -> - let { - <_a137 :: - t{-aY1-} -> t{-aY1-} -> PrelBase.Bool{-34,p-} + _/\_ taSX taSv -> \ d.Ord_aSZ :: {PrelBase.Ord{-2d,p-} taSv} + {-# L #-} + d.Ord_aSZ d.Num_aT2 :: {PrelBase.Num{-2c,p-} taSv} + {-# L #-} + d.Num_aT2 -> + _letrec_ { + <_aXx :: taSv -> taSv -> PrelBase.Bool{-34,W-} {-# L #-} - <_a137 = - PrelBase.<{-rcJ,p-} - _@_ t{-aY1-} d.Ord_aYk } in - let { - fromInt_a136 :: - PrelBase.Int{-3g,p-} -> t{-aY1-} + <_aXx = + PrelBase.<{-rfn,p-} _@_ taSv d.Ord_aSZ; + fromInt_aXE :: PrelBase.Int{-3g,W-} -> taSv {-# L #-} - fromInt_a136 = - PrelBase.fromInt{-8R,p-} - _@_ t{-aY1-} d.Num_aYn } in - let { lit_a135 :: - t{-aY1-} - {-# L #-} - lit_a135 = - let { - ds_d13v :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d13v = - PrelBase.I#{-5b,p-}{i} - 0 - } in - fromInt_a136 - ds_d13v - } in - let { - fromInt_a134 :: - PrelBase.Int{-3g,p-} -> t{-aY1-} + fromInt_aXE = + PrelBase.fromInt{-8R,p-} _@_ taSv d.Num_aT2; + lit_aXF :: taSv {-# L #-} - fromInt_a134 = - fromInt_a136 } in - let { lit_a133 :: - t{-aY1-} - {-# L #-} - lit_a133 = - let { - ds_d13K :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d13K = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_a134 - ds_d13K - } in - let { - d.Ord_aYq :: - {PrelBase.Ord{-2d,p-} t{-aY1-}} + lit_aXF = + let { + ds_dYN :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dYN = + PrelBase.I#{-5b,w-}{i} 0 + } in fromInt_aXE ds_dYN; + fromInt_aXG :: PrelBase.Int{-3g,W-} -> taSv {-# L #-} - d.Ord_aYq = - d.Ord_aYk } in - let { - >_a132 :: - t{-aY1-} -> t{-aY1-} -> PrelBase.Bool{-34,p-} + fromInt_aXG = + fromInt_aXE; + lit_aXH :: taSv {-# L #-} - >_a132 = - PrelBase.>{-rcL,p-} - _@_ t{-aY1-} d.Ord_aYq } in - let { - fromInt_a131 :: - PrelBase.Int{-3g,p-} -> t{-aY1-} + lit_aXH = + let { + ds_dZ2 :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dZ2 = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_aXG ds_dZ2; + d.Ord_aT5 :: {PrelBase.Ord{-2d,p-} taSv} {-# L #-} - fromInt_a131 = - fromInt_a136 } in - let { lit_a130 :: - t{-aY1-} - {-# L #-} - lit_a130 = - let { - ds_d148 :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d148 = - PrelBase.I#{-5b,p-}{i} - 2 - } in - fromInt_a131 - ds_d148 - } in - let { - fromInt_a12Z :: - PrelBase.Int{-3g,p-} -> t{-aY1-} + d.Ord_aT5 = + d.Ord_aSZ; + >_aXI :: taSv -> taSv -> PrelBase.Bool{-34,W-} {-# L #-} - fromInt_a12Z = - fromInt_a136 } in - let { lit_a12W :: - t{-aY1-} - {-# L #-} - lit_a12W = - let { - ds_d14n :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d14n = - PrelBase.I#{-5b,p-}{i} - 3 - } in - fromInt_a12Z - ds_d14n - } in - \ x_r3d :: - t{-aYi-} + >_aXI = + PrelBase.>{-rfp,p-} _@_ taSv d.Ord_aT5; + fromInt_aXK :: PrelBase.Int{-3g,W-} -> taSv {-# L #-} - x_r3d -> - _letrec_ { - lit_a14F :: - t{-aY1-} - {-# L #-} - lit_a14F = - lit_a133; - lit_a14H :: - t{-aY1-} - {-# L #-} - lit_a14H = - lit_a130; - ds_d14Q :: - (t{-aY1-}, t{-aY1-}) - {-# L #-} - ds_d14Q = - case - <_a137 - y_aXx z_aXy - of { - PrelBase.True{-5E,p-}{i} -> - PrelTup.(,){-62,p-}{i} - {_@_ t{-aY1-} _@_ t{-aY1-} lit_a135 lit_a133}; - PrelBase.False{-58,p-}{i} -> - case - >_a132 - y_aXx z_aXy - of { - PrelBase.True{-5E,p-}{i} -> - PrelTup.(,){-62,p-}{i} - {_@_ t{-aY1-} _@_ t{-aY1-} lit_a14F lit_a130}; - PrelBase.False{-58,p-}{i} -> - PrelTup.(,){-62,p-}{i} - {_@_ t{-aY1-} _@_ t{-aY1-} lit_a14H lit_a12W}; + fromInt_aXK = + fromInt_aXE; + lit_aXL :: taSv + {-# L #-} + lit_aXL = + let { + ds_dZq :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dZq = + PrelBase.I#{-5b,w-}{i} 2 + } in fromInt_aXK ds_dZq; + fromInt_aXN :: PrelBase.Int{-3g,W-} -> taSv + {-# L #-} + fromInt_aXN = + fromInt_aXE; + lit_aXO :: taSv + {-# L #-} + lit_aXO = + let { + ds_dZF :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dZF = + PrelBase.I#{-5b,w-}{i} 3 + } in fromInt_aXN ds_dZF; + f_aS1 :: taSX -> taSv + {-# L #-} + f_aS1 = + \ x_r3d :: taSX + {-# L #-} + x_r3d -> + _letrec_ { + lit_aZY :: taSv + {-# L #-} + lit_aZY = + lit_aXH; + lit_a100 :: taSv + {-# L #-} + lit_a100 = + lit_aXL; + ds_d109 :: (taSv, taSv) + {-# L #-} + ds_d109 = + case <_aXx y_aS9 z_aSa of { + PrelBase.True{-5E,w-}{i} -> + PrelTup.(,){-62,w-}{i} {_@_ taSv _@_ taSv lit_aXF lit_aXH}; + PrelBase.False{-58,w-}{i} -> + case >_aXI y_aS9 z_aSa of { + PrelBase.True{-5E,w-}{i} -> + PrelTup.(,){-62,w-}{i} {_@_ taSv _@_ taSv lit_aZY lit_aXL}; + PrelBase.False{-58,w-}{i} -> + PrelTup.(,){-62,w-}{i} {_@_ taSv _@_ taSv lit_a100 lit_aXO}; + }; }; - }; - y_aXx :: - t{-aY1-} - {-# L #-} - y_aXx = - case ds_d14Q of { PrelTup.(,){-62,p-}{i} y_aXx z_aXy -> y_aXx;}; - z_aXy :: - t{-aY1-} - {-# L #-} - z_aXy = - case ds_d14Q of { PrelTup.(,){-62,p-}{i} y_aXx z_aXy -> z_aXy;}; - y_r3f :: - t{-aY1-} - {-# L #-} - y_r3f = - y_aXx; - z_r3g :: - t{-aY1-} - {-# L #-} - z_r3g = - z_aXy; - } in - y_r3f + y_aS9 :: taSv + {-# L #-} + y_aS9 = + case ds_d109 of { PrelTup.(,){-62,w-}{i} y_aS9 z_aSa -> y_aS9;}; + z_aSa :: taSv + {-# L #-} + z_aSa = + case ds_d109 of { PrelTup.(,){-62,w-}{i} y_aS9 z_aSa -> z_aSa;}; + y_r3f :: taSv + {-# L #-} + y_r3f = + y_aS9; + z_r3g :: taSv + {-# L #-} + z_r3g = + z_aSa; + } in y_r3f; + } in f_aS1 +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds030.stderr b/ghc/tests/deSugar/should_compile/ds030.stderr index beecd0f..1c144af 100644 --- a/ghc/tests/deSugar/should_compile/ds030.stderr +++ b/ghc/tests/deSugar/should_compile/ds030.stderr @@ -3,52 +3,39 @@ ================================================================================ Desugared: Rec { +f{-r3e,x-} :: _forall_ [taBY] => [taBY] -> PrelBase.Int{-3g,W-} {-# L #-} -d.Num_aHE = - PrelBase.$d3 -{-# L #-} -fromInt_aKm = - PrelBase.fromInt - _@_ PrelBase.Int d.Num_aHE -{-# L #-} -lit_aKx = - let { - {-# L #-} - ds_dKW = - PrelBase.I# - 3 - } in - fromInt_aKm - ds_dKW -{-# L #-} -fromInt_aKw = - fromInt_aKm +f{-r3e,x-} = + _/\_ taBY -> + _letrec_ { + f_aBO :: [taBY] -> PrelBase.Int{-3g,W-} + {-# L #-} + f_aBO = + \ x_r3d :: [taBY] + {-# L #-} + x_r3d -> + let { + ds_dEM :: [taBY] + {-# L #-} + ds_dEM = + x_r3d } in + let { + fail_dEO :: PrelBase.Int{-3g,W-} + {-# L #-} + fail_dEO = + lit_aEC + } in + case ds_dEM of { + PrelBase.:{-55,w-}{i} ds_dEV ds_dEW -> fail_dEO; + PrelBase.[]{-5i,w-}{i} -> lit_aEA; + }; + } in f_aBO +lit_aEA :: PrelBase.Int{-3g,W-} {-# L #-} -lit_aKt = - let { - {-# L #-} - ds_dLb = - PrelBase.I# - 4 - } in - fromInt_aKw - ds_dLb +lit_aEA = + PrelBase.I#{-5b,w-}{i} 3 +lit_aEC :: PrelBase.Int{-3g,W-} {-# L #-} -f = _/\_ t{-aHm-} -> \ {-# L #-} - x_r3d -> - let { - {-# L #-} - ds_dLw = - x_r3d } in - let { - {-# L #-} - fail_dLy = - lit_aKt - } in - case ds_dLw of { - PrelBase.: ds_dLG ds_dLF -> - fail_dLy; - PrelBase.[] -> - lit_aKx; - } +lit_aEC = + PrelBase.I#{-5b,w-}{i} 4 end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds031.stderr b/ghc/tests/deSugar/should_compile/ds031.stderr index c59f652..d6c06e8 100644 --- a/ghc/tests/deSugar/should_compile/ds031.stderr +++ b/ghc/tests/deSugar/should_compile/ds031.stderr @@ -6,132 +6,98 @@ ds031.hs:4: ================================================================================ Desugared: Rec { -foldPair{-r3f,x-} :: - _forall_ - [a{-aB1-} b{-aB2-}] - => - (a{-aB1-} -> a{-aB1-} -> a{-aB1-}, b{-aB2-} - -> b{-aB2-} - -> b{-aB2-}) - -> (a{-aB1-}, b{-aB2-}) - -> [(a{-aB1-}, b{-aB2-})] - -> (a{-aB1-}, b{-aB2-}) +foldPair{-r3f,x-} :: _forall_ + [tayn tayo] + => + (tayn -> tayn -> tayn, tayo -> tayo -> tayo) + -> (tayn, tayo) + -> [(tayn, tayo)] + -> (tayn, tayo) {-# L #-} foldPair{-r3f,x-} = - _/\_ a{-aB1-} b{-aB2-} -> + _/\_ tayn tayo -> _letrec_ { - foldPair_aAY :: - (a{-aB1-} -> a{-aB1-} -> a{-aB1-}, b{-aB2-} - -> b{-aB2-} - -> b{-aB2-}) - -> (a{-aB1-}, b{-aB2-}) - -> [(a{-aB1-}, b{-aB2-})] - -> (a{-aB1-}, b{-aB2-}) + foldPair_ayk :: (tayn -> tayn -> tayn, tayo -> tayo -> tayo) + -> (tayn, tayo) + -> [(tayn, tayo)] + -> (tayn, tayo) {-# L #-} - foldPair_aAY = - \ fg_r3h :: - (a{-aB1-} -> a{-aB1-} -> a{-aB1-}, b{-aB2-} - -> b{-aB2-} - -> b{-aB2-}) + foldPair_ayk = + \ fg_r3h :: (tayn -> tayn -> tayn, tayo -> tayo -> tayo) {-# L #-} - fg_r3h ab_r3j :: - (a{-aB1-}, b{-aB2-}) + fg_r3h ab_r3i :: (tayn, tayo) {-# L #-} - ab_r3j ds_dFz :: - [(a{-aB1-}, b{-aB2-})] + ab_r3i ds_dDb :: [(tayn, tayo)] {-# L #-} - ds_dFz -> + ds_dDb -> let { - fail_dFA :: - (a{-aB1-}, b{-aB2-}) + fail_dDc :: (tayn, tayo) {-# L #-} - fail_dFA = - GHCerr.patError{-8r,p-} - _@_ (a{-aB1-}, b{-aB2-}) - _string_ "ds031.hs:4|function `foldPair'" } in + fail_dDc = + GHCerr.patError{-8r,w-} + _@_ (tayn, tayo) _string_ "ds031.hs:4|function `foldPair'" } in let { - fail_dHs :: - (a{-aB1-}, b{-aB2-}) + fail_dF4 :: (tayn, tayo) {-# L #-} - fail_dHs = - case fg_r3h of { PrelTup.(,){-62,p-}{i} f_r3n g_r3o -> - case ds_dFz of { - PrelBase.[]{-5i,p-}{i} -> - fail_dFA; - PrelBase.:{-55,p-}{i} ds_dFV abs_r3u -> - case ds_dFV of { PrelTup.(,){-62,p-}{i} a_r3s b_r3t -> + fail_dF4 = + case fg_r3h of { PrelTup.(,){-62,w-}{i} f_r3l g_r3m -> + case ds_dDb of { + PrelBase.[]{-5i,w-}{i} -> fail_dDc; + PrelBase.:{-55,w-}{i} ds_dDx abs_r3q -> + case ds_dDx of { PrelTup.(,){-62,w-}{i} a_r3o b_r3p -> let { - ab_r3q :: - (a{-aB1-}, b{-aB2-}) + ab_r3n :: (tayn, tayo) {-# L #-} - ab_r3q = - ab_r3j } in + ab_r3n = + ab_r3i } in let { - fg_r3m :: - (a{-aB1-} -> a{-aB1-} -> a{-aB1-}, b{-aB2-} - -> b{-aB2-} - -> b{-aB2-}) + fg_r3k :: (tayn -> tayn -> tayn, tayo -> tayo -> tayo) {-# L #-} - fg_r3m = + fg_r3k = fg_r3h } in let { - ds_dGR :: - (a{-aB1-}, b{-aB2-}) + ds_dEt :: (tayn, tayo) {-# L #-} - ds_dGR = - foldPair{-r3f,x-} - _@_ a{-aB1-} _@_ b{-aB2-} fg_r3m ab_r3q abs_r3u } in + ds_dEt = + foldPair{-r3f,x-} _@_ tayn _@_ tayo fg_r3k ab_r3n abs_r3q } in let { - u_aBw :: - a{-aB1-} + u_ayS :: tayn {-# L #-} - u_aBw = - case ds_dGR of { PrelTup.(,){-62,p-}{i} u_aBw v_aBx -> - u_aBw;} } in + u_ayS = + case ds_dEt of { PrelTup.(,){-62,w-}{i} u_ayS v_ayT -> + u_ayS;} } in let { - v_aBx :: - b{-aB2-} + v_ayT :: tayo {-# L #-} - v_aBx = - case ds_dGR of { PrelTup.(,){-62,p-}{i} u_aBw v_aBx -> - v_aBx;} } in + v_ayT = + case ds_dEt of { PrelTup.(,){-62,w-}{i} u_ayS v_ayT -> + v_ayT;} } in let { - u_r3w :: - a{-aB1-} + u_r3s :: tayn {-# L #-} - u_r3w = - u_aBw } in + u_r3s = + u_ayS } in let { - v_r3x :: - b{-aB2-} + v_r3t :: tayo {-# L #-} - v_r3x = - v_aBx } in + v_r3t = + v_ayT } in let { - ds_dGq :: - a{-aB1-} + ds_dE2 :: tayn {-# L #-} - ds_dGq = - f_r3n - a_r3s u_r3w } in + ds_dE2 = + f_r3l a_r3o u_r3s } in let { - ds_dGu :: - b{-aB2-} + ds_dE6 :: tayo {-# L #-} - ds_dGu = - g_r3o - b_r3t v_r3x - } in - PrelTup.(,){-62,p-}{i} - {_@_ a{-aB1-} _@_ b{-aB2-} ds_dGq ds_dGu};}; + ds_dE6 = + g_r3m b_r3p v_r3t + } in PrelTup.(,){-62,w-}{i} {_@_ tayn _@_ tayo ds_dE2 ds_dE6};}; };} } in - case ds_dFz of { - PrelBase.:{-55,p-}{i} ds_dHA ds_dHz -> - fail_dHs; - PrelBase.[]{-5i,p-}{i} -> - ab_r3j; + case ds_dDb of { + PrelBase.:{-55,w-}{i} ds_dFb ds_dFc -> fail_dF4; + PrelBase.[]{-5i,w-}{i} -> ab_r3i; }; - } in - foldPair_aAY + } in foldPair_ayk end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds032.stderr b/ghc/tests/deSugar/should_compile/ds032.stderr index 1276b4e..742fcea 100644 --- a/ghc/tests/deSugar/should_compile/ds032.stderr +++ b/ghc/tests/deSugar/should_compile/ds032.stderr @@ -6,196 +6,159 @@ ds032.hs:12: ================================================================================ Desugared: Rec { -d.Fractional_a11b :: - {PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,p-}} -{-# L #-} -d.Fractional_a11b = - PrelNum.$d23{-rGg,p-} -fromRational_a17D :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a17D = - PrelNum.fromRational{-8T,p-} - _@_ PrelBase.Float{-3c,p-} d.Fractional_a11b -lit_a17V :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a17V = - fromRational_a17D - _rational_ 0 1 -d.Eq_a11e :: - {PrelBase.Eq{-23,p-} PrelBase.Float{-3c,p-}} -{-# L #-} -d.Eq_a11e = - PrelNum.$d27{-rGk,p-} -==_a17U :: - PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -==_a17U = - PrelBase.=={-8Y,p-} - _@_ PrelBase.Float{-3c,p-} d.Eq_a11e -fromRational_a17T :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a17T = - fromRational_a17D -lit_a17S :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a17S = - fromRational_a17T - _rational_ 1 1 -fromRational_a17R :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a17R = - fromRational_a17D -lit_a17Q :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a17Q = - fromRational_a17R - _rational_ 11 10 -fromRational_a17P :: - PrelNum.Rational{-3r,p-} -> PrelBase.Float{-3c,p-} -{-# L #-} -fromRational_a17P = - fromRational_a17D -lit_a17K :: - PrelBase.Float{-3c,p-} -{-# L #-} -lit_a17K = - fromRational_a17P - _rational_ 6 5 -==_a18C :: - PrelBase.Float{-3c,p-} - -> PrelBase.Float{-3c,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -==_a18C = - ==_a17U -flatten_a10r :: - PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} - -> PrelBase.Float{-3c,p-} - -> [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] - -> PrelBase.String{-rzM,p-} -{-# L #-} -flatten_a10r = - \ n_r3i :: - PrelBase.Int{-3g,p-} +==_a11H :: PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +==_a11H = + ==_a11J +flatten_aUn :: PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} + -> PrelBase.Float{-3c,W-} + -> [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] + -> PrelBase.String{-rAJ,p-} +{-# L #-} +flatten_aUn = + \ n_r3i :: PrelBase.Int{-3g,W-} {-# L #-} - n_r3i nlp_r3k :: - PrelBase.Bool{-34,p-} + n_r3i nlp_r3j :: PrelBase.Bool{-34,W-} {-# L #-} - nlp_r3k ds_d19G :: - PrelBase.Float{-3c,p-} + nlp_r3j ds_d13a :: PrelBase.Float{-3c,W-} {-# L #-} - ds_d19G seqs_r3n :: - [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] + ds_d13a seqs_r3k :: [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] {-# L #-} - seqs_r3n -> + seqs_r3k -> let { - fail_d19H :: - PrelBase.String{-rzM,p-} + fail_d13b :: PrelBase.String{-rAJ,p-} {-# L #-} - fail_d19H = - GHCerr.patError{-8r,p-} - _@_ PrelBase.String{-rzM,p-} + fail_d13b = + GHCerr.patError{-8r,w-} + _@_ PrelBase.String{-rAJ,p-} _string_ "ds032.hs:12|function `flatten'" } in - case ds_d19G of { PrelBase.F#{-59,p-}{i} ds_d19Q -> - case# ds_d19Q of { - _float_ 0.0000000000000000 -> - flattenS{-r3,x-} - nlp_r3k seqs_r3n; + case ds_d13a of { PrelBase.F#{-59,w-}{i} ds_d13k -> + case# ds_d13k of { + _float_ 0.0000000000000000 -> flattenS{-r3,x-} nlp_r3j seqs_r3k; _float_ 1.0000000000000000 -> let { - seqs_r3u :: - [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] + seqs_r3o :: [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] {-# L #-} - seqs_r3u = - seqs_r3n } in + seqs_r3o = + seqs_r3k } in let { - nlp_r3r :: - PrelBase.Bool{-34,p-} + nlp_r3n :: PrelBase.Bool{-34,W-} {-# L #-} - nlp_r3r = - nlp_r3k } in + nlp_r3n = + nlp_r3j } in let { - n_r3p :: - PrelBase.Int{-3g,p-} + n_r3m :: PrelBase.Int{-3g,W-} {-# L #-} - n_r3p = + n_r3m = n_r3i } in - let { ds_d1at :: - [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] + let { ds_d13X :: [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] {-# L #-} - ds_d1at = + ds_d13X = let { - ds_d1aG :: - (PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-}) + ds_d14a :: (PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-}) {-# L #-} - ds_d1aG = - PrelTup.(,){-62,p-}{i} - {_@_ PrelBase.Int{-3g,p-} - _@_ PrelBase.Float{-3c,p-} - n_r3p - lit_a17K} + ds_d14a = + PrelTup.(,){-62,w-}{i} + {_@_ PrelBase.Int{-3g,W-} + _@_ PrelBase.Float{-3c,W-} + n_r3m + lit_a11V} } in - PrelBase.:{-55,p-}{i} - _@_ (PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-}) ds_d1aG seqs_r3u + PrelBase.:{-55,w-}{i} + _@_ (PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-}) ds_d14a seqs_r3o } in - flatten{-r1,x-} - n_r3p nlp_r3r lit_a17Q ds_d1at; - ds_d1b0 -> - fail_d19H; + flatten{-r1,x-} n_r3m nlp_r3n lit_a11S ds_d13X; + ds_d14u -> fail_d13b; };} -flattenS_a10s :: - PrelBase.Bool{-34,p-} - -> [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] - -> PrelBase.String{-rzM,p-} -{-# L #-} -flattenS_a10s = - \ nlp_r3w :: - PrelBase.Bool{-34,p-} +flattenS_aUo :: PrelBase.Bool{-34,W-} + -> [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] + -> PrelBase.String{-rAJ,p-} +{-# L #-} +flattenS_aUo = + \ nlp_r3q :: PrelBase.Bool{-34,W-} {-# L #-} - nlp_r3w ds_d1b6 :: - [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] + nlp_r3q ds_d14A :: [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] {-# L #-} - ds_d1b6 -> - case ds_d1b6 of { - PrelBase.[]{-5i,p-}{i} -> - PrelBase.[]{-5i,p-}{i} - {_@_ PrelBase.Char{-38,p-}}; - PrelBase.:{-55,p-}{i} ds_d1bl seqs_r3D -> - case ds_d1bl of { PrelTup.(,){-62,p-}{i} col_r3B seq_r3C -> + ds_d14A -> + case ds_d14A of { + PrelBase.[]{-5i,w-}{i} -> + PrelBase.[]{-5i,w-}{i} {_@_ PrelBase.Char{-38,W-}}; + PrelBase.:{-55,w-}{i} ds_d14P seqs_r3v -> + case ds_d14P of { PrelTup.(,){-62,w-}{i} col_r3t seq_r3u -> let { - nlp_r3z :: - PrelBase.Bool{-34,p-} + nlp_r3s :: PrelBase.Bool{-34,W-} {-# L #-} - nlp_r3z = - nlp_r3w - } in - flatten{-r1,x-} - col_r3B nlp_r3z seq_r3C seqs_r3D;}; + nlp_r3s = + nlp_r3q + } in flatten{-r1,x-} col_r3t nlp_r3s seq_r3u seqs_r3v;}; } -flatten{-r1,x-} :: - PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} - -> PrelBase.Float{-3c,p-} - -> [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] - -> PrelBase.String{-rzM,p-} +flatten{-r1,x-} :: PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} + -> PrelBase.Float{-3c,W-} + -> [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] + -> PrelBase.String{-rAJ,p-} {-# L #-} flatten{-r1,x-} = - flatten_a10r -flattenS{-r3,x-} :: - PrelBase.Bool{-34,p-} - -> [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})] - -> PrelBase.String{-rzM,p-} + flatten_aUn +flattenS{-r3,x-} :: PrelBase.Bool{-34,W-} + -> [(PrelBase.Int{-3g,W-}, PrelBase.Float{-3c,W-})] + -> PrelBase.String{-rAJ,p-} {-# L #-} flattenS{-r3,x-} = - flattenS_a10s + flattenS_aUo +d.Fractional_aV4 :: {PrelNum.Fractional{-26,p-} PrelBase.Float{-3c,W-}} +{-# L #-} +d.Fractional_aV4 = + PrelNum.$d23{-rCU,p-} +fromRational_a11K :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a11K = + PrelNum.fromRational{-8T,p-} + _@_ PrelBase.Float{-3c,W-} d.Fractional_aV4 +lit_a11L :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a11L = + fromRational_a11K _rational_ 0 1 +d.Eq_aV7 :: {PrelBase.Eq{-23,p-} PrelBase.Float{-3c,W-}} +{-# L #-} +d.Eq_aV7 = + PrelNum.$d27{-rCY,p-} +==_a11J :: PrelBase.Float{-3c,W-} + -> PrelBase.Float{-3c,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +==_a11J = + PrelBase.=={-8Y,p-} _@_ PrelBase.Float{-3c,W-} d.Eq_aV7 +fromRational_a11O :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a11O = + fromRational_a11K +lit_a11P :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a11P = + fromRational_a11O _rational_ 1 1 +fromRational_a11R :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a11R = + fromRational_a11K +lit_a11S :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a11S = + fromRational_a11R _rational_ 11 10 +fromRational_a11U :: PrelNum.Rational{-3r,p-} + -> PrelBase.Float{-3c,W-} +{-# L #-} +fromRational_a11U = + fromRational_a11K +lit_a11V :: PrelBase.Float{-3c,W-} +{-# L #-} +lit_a11V = + fromRational_a11U _rational_ 6 5 end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds033.stderr b/ghc/tests/deSugar/should_compile/ds033.stderr index d6dd38f..bddc426 100644 --- a/ghc/tests/deSugar/should_compile/ds033.stderr +++ b/ghc/tests/deSugar/should_compile/ds033.stderr @@ -3,160 +3,138 @@ ================================================================================ Desugared: Rec { -ds_dsc :: - _forall_ - [t{-anl-} t{-ann-}] - => - (t{-anl-} -> t{-ann-}, t{-anl-} -> t{-ann-}) +ds_dq1 :: _forall_ [takN takP] => (takP -> takN, takP -> takN) {-# L #-} -ds_dsc = - _/\_ t{-anl-} t{-ann-} -> +ds_dq1 = + _/\_ takN takP -> _letrec_ { - g4_an6 :: - t{-anl-} -> t{-ann-} + g4_akw :: takP -> takN {-# L #-} - g4_an6 = - \ y_r3w :: - t{-anl-} + g4_akw = + \ y_r3w :: takP {-# L #-} y_r3w -> - f4_an7 - y_r3w; - f4_an7 :: - t{-anl-} -> t{-ann-} + f4_akx y_r3w; + f4_akx :: takP -> takN {-# L #-} - f4_an7 = - \ x_r3y :: - t{-anl-} + f4_akx = + \ x_r3y :: takP {-# L #-} x_r3y -> - g4_an6 - x_r3y; + g4_akw x_r3y; } in - PrelTup.(,){-62,p-}{i} - {_@_ (t{-anl-} -> t{-ann-}) - _@_ (t{-anl-} -> t{-ann-}) - g4_an6 - f4_an7} -g4{-r3A,x-} :: - _forall_ [t{-anl-} t{-ann-}] => t{-anl-} -> t{-ann-} + PrelTup.(,){-62,w-}{i} + {_@_ (takP -> takN) _@_ (takP -> takN) g4_akw f4_akx} +g4{-r3A,x-} :: _forall_ [takN takP] => takP -> takN {-# L #-} g4{-r3A,x-} = - _/\_ t{-anl-} t{-ann-} -> + _/\_ takN takP -> case - ds_dsc - _@_ t{-anl-} _@_ t{-ann-} + ds_dq1 _@_ takN _@_ takP of { - PrelTup.(,){-62,p-}{i} ds_dth ds_dti -> - ds_dth;} -f4{-r3z,x-} :: - _forall_ [t{-anl-} t{-ann-}] => t{-anl-} -> t{-ann-} + PrelTup.(,){-62,w-}{i} ds_drz ds_drA -> + ds_drz;} +f4{-r3z,x-} :: _forall_ [takN takP] => takP -> takN {-# L #-} f4{-r3z,x-} = - _/\_ t{-anl-} t{-ann-} -> + _/\_ takN takP -> case - ds_dsc - _@_ t{-anl-} _@_ t{-ann-} + ds_dq1 _@_ takN _@_ takP of { - PrelTup.(,){-62,p-}{i} ds_dtB ds_dtA -> - ds_dtA;} -end Rec } -Rec { -ds_dtM :: - _forall_ - [t{-anE-} t{-anG-}] - => - (t{-anE-} -> t{-anG-}, t{-anE-} -> t{-anG-}) + PrelTup.(,){-62,w-}{i} ds_drT ds_drS -> + ds_drS;} +ds_dqx :: _forall_ [tal8 tala] => (tala -> tal8, tala -> tal8) {-# L #-} -ds_dtM = - _/\_ t{-anE-} t{-anG-} -> +ds_dqx = + _/\_ tal8 tala -> _letrec_ { - f3_anp :: - t{-anE-} -> t{-anG-} + f3_akR :: tala -> tal8 {-# L #-} - f3_anp = - \ x_r3s :: - t{-anE-} + f3_akR = + \ x_r3s :: tala {-# L #-} x_r3s -> - g3_anq - x_r3s; - g3_anq :: - t{-anE-} -> t{-anG-} + g3_akS x_r3s; + g3_akS :: tala -> tal8 {-# L #-} - g3_anq = - \ y_r3u :: - t{-anE-} + g3_akS = + \ y_r3u :: tala {-# L #-} y_r3u -> - f3_anp - y_r3u; + f3_akR y_r3u; } in - PrelTup.(,){-62,p-}{i} - {_@_ (t{-anE-} -> t{-anG-}) - _@_ (t{-anE-} -> t{-anG-}) - f3_anp - g3_anq} -f3{-r3C,x-} :: - _forall_ [t{-anE-} t{-anG-}] => t{-anE-} -> t{-anG-} + PrelTup.(,){-62,w-}{i} + {_@_ (tala -> tal8) _@_ (tala -> tal8) f3_akR g3_akS} +f3{-r3C,x-} :: _forall_ [tal8 tala] => tala -> tal8 {-# L #-} f3{-r3C,x-} = - _/\_ t{-anE-} t{-anG-} -> + _/\_ tal8 tala -> case - ds_dtM - _@_ t{-anE-} _@_ t{-anG-} + ds_dqx _@_ tal8 _@_ tala of { - PrelTup.(,){-62,p-}{i} ds_duR ds_duS -> - ds_duR;} -g3{-r3B,x-} :: - _forall_ [t{-anE-} t{-anG-}] => t{-anE-} -> t{-anG-} + PrelTup.(,){-62,w-}{i} ds_dsQ ds_dsR -> + ds_dsQ;} +g3{-r3B,x-} :: _forall_ [tal8 tala] => tala -> tal8 {-# L #-} g3{-r3B,x-} = - _/\_ t{-anE-} t{-anG-} -> + _/\_ tal8 tala -> case - ds_dtM - _@_ t{-anE-} _@_ t{-anG-} + ds_dqx _@_ tal8 _@_ tala of { - PrelTup.(,){-62,p-}{i} ds_dvb ds_dva -> - ds_dva;} -end Rec } -g2{-r3E,x-} :: - _forall_ [t{-anO-}] => t{-anO-} -> t{-anO-} + PrelTup.(,){-62,w-}{i} ds_dta ds_dt9 -> + ds_dt9;} +g2{-r3E,x-} :: _forall_ [tall] => tall -> tall {-# L #-} g2{-r3E,x-} = - _/\_ t{-anO-} -> \ y_r3o :: - t{-anO-} - {-# L #-} - y_r3o -> - y_r3o -f2{-r3D,x-} :: - _forall_ [t{-anU-}] => t{-anU-} -> t{-anU-} + _/\_ tall -> + _letrec_ { + g2_alc :: tall -> tall + {-# L #-} + g2_alc = + \ y_r3o :: tall + {-# L #-} + y_r3o -> + y_r3o; + } in g2_alc +f2{-r3D,x-} :: _forall_ [talw] => talw -> talw {-# L #-} f2{-r3D,x-} = - _/\_ t{-anU-} -> \ x_r3q :: - t{-anU-} - {-# L #-} - x_r3q -> - g2{-r3E,x-} - _@_ t{-anU-} x_r3q -g1{-r3F,x-} :: - _forall_ [t{-ao4-}] => t{-ao4-} -> t{-ao4-} + _/\_ talw -> + _letrec_ { + f2_aln :: talw -> talw + {-# L #-} + f2_aln = + \ x_r3q :: talw + {-# L #-} + x_r3q -> + g2{-r3E,x-} _@_ talw x_r3q; + } in f2_aln +g1{-r3F,x-} :: _forall_ [talH] => talH -> talH {-# L #-} g1{-r3F,x-} = - _/\_ t{-ao4-} -> \ y_r3m :: - t{-ao4-} - {-# L #-} - y_r3m -> - y_r3m -f1{-r3G,x-} :: - _forall_ [t{-aoa-}] => t{-aoa-} -> t{-aoa-} + _/\_ talH -> + _letrec_ { + g1_aly :: talH -> talH + {-# L #-} + g1_aly = + \ y_r3m :: talH + {-# L #-} + y_r3m -> + y_r3m; + } in g1_aly +f1{-r3G,x-} :: _forall_ [talS] => talS -> talS {-# L #-} f1{-r3G,x-} = - _/\_ t{-aoa-} -> \ x_r3k :: - t{-aoa-} - {-# L #-} - x_r3k -> - g1{-r3F,x-} - _@_ t{-aoa-} x_r3k + _/\_ talS -> + _letrec_ { + f1_alJ :: talS -> talS + {-# L #-} + f1_alJ = + \ x_r3k :: talS + {-# L #-} + x_r3k -> + g1{-r3F,x-} _@_ talS x_r3k; + } in f1_alJ +end Rec } NOTE: Simplifier still going after 4 iterations; bailing out. diff --git a/ghc/tests/deSugar/should_compile/ds034.stderr b/ghc/tests/deSugar/should_compile/ds034.stderr index 9a2659f..b8bcc0e 100644 --- a/ghc/tests/deSugar/should_compile/ds034.stderr +++ b/ghc/tests/deSugar/should_compile/ds034.stderr @@ -3,108 +3,76 @@ ================================================================================ Desugared: Rec { -op1{-r3r,x-} :: - _forall_ - [a{-r3p-}] - => - {Foo{-r3s,x-} a{-r3p-}} -> a{-r3p-} -> a{-r3p-} +op2_amz :: PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-} {-# L #-} -op1{-r3r,x-} = - _/\_ a{-r3p-} -> \ tpl_B1 :: - {Foo{-r3s,x-} a{-r3p-}} - {-# L #-} - tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;} -op2{-r3q,x-} :: - _forall_ - [a{-r3p-}] - => - {Foo{-r3s,x-} a{-r3p-}} -> a{-r3p-} -> a{-r3p-} -{-# L #-} -op2{-r3q,x-} = - _/\_ a{-r3p-} -> \ tpl_B1 :: - {Foo{-r3s,x-} a{-r3p-}} - {-# L #-} - tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;} -$mop1{-rn8,x-} :: - _forall_ - [a{-r3p-}] - => - {Foo{-r3s,x-} a{-r3p-}} -> a{-r3p-} -> a{-r3p-} -{-# L #-} -$mop1{-rn8,x-} = - _/\_ a{-anB-} -> \ d.Foo_anu :: - {Foo{-r3s,x-} a{-anB-}} - {-# L #-} - d.Foo_anu -> - GHCerr.noDefaultMethodError{-8k,p-} - _@_ (a{-anB-} -> a{-anB-}) _string_ "Class Foo Method op1" -$mop2{-rn7,x-} :: - _forall_ - [a{-r3p-}] - => - {Foo{-r3s,x-} a{-r3p-}} -> a{-r3p-} -> a{-r3p-} -{-# L #-} -$mop2{-rn7,x-} = - _/\_ a{-anB-} -> \ d.Foo_anE :: - {Foo{-r3s,x-} a{-anB-}} - {-# L #-} - d.Foo_anE -> - GHCerr.noDefaultMethodError{-8k,p-} - _@_ (a{-anB-} -> a{-anB-}) _string_ "Class Foo Method op2" -op2_aq8 :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -op2_aq8 = - op2_aqv -op1_aqd :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} +op2_amz = + op2_amB +op1_amD :: PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-} {-# L #-} -op1_aqd = - op1_aqm -op1_an6 :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} +op1_amD = + op1_amE +op1_akv :: PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-} {-# L #-} -op1_an6 = - \ x_r3i :: - PrelBase.Int{-3g,p-} +op1_akv = + \ x_r3i :: PrelBase.Int{-3g,W-} {-# L #-} x_r3i -> - op2_aq8 - x_r3i -op1_aqm :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} + op2_amz x_r3i +op1_amE :: PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-} {-# L #-} -op1_aqm = - op1_an6 -op2_anj :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} +op1_amE = + op1_akv +op2_akF :: PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-} {-# L #-} -op2_anj = - \ y_r3m :: - PrelBase.Int{-3g,p-} +op2_akF = + \ y_r3m :: PrelBase.Int{-3g,W-} {-# L #-} y_r3m -> - op1_aqd - y_r3m -op2_aqv :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} + op1_amD y_r3m +op2_amB :: PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-} {-# L #-} -op2_aqv = - op2_anj -d.Foo_an3 :: - {Foo{-r3s,x-} PrelBase.Int{-3g,p-}} +op2_amB = + op2_akF +d.Foo_akr :: {Foo{-r3q,x-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Foo_akr = + PrelTup.(,){-62,w-}{i} + {_@_ (PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-}) + _@_ (PrelBase.Int{-3g,W-} -> PrelBase.Int{-3g,W-}) + op1_amE + op2_amB} +$d1{-rmC,x-} :: {Foo{-r3q,x-} PrelBase.Int{-3g,W-}} +{-# L #-} +$d1{-rmC,x-} = + d.Foo_akr +op1{-r3r,x-} :: _forall_ + [a_tr3p] + => + {Foo{-r3q,x-} a_tr3p} -> a_tr3p -> a_tr3p +{-# L #-} +op1{-r3r,x-} = + _/\_ t12 -> \ tpl_B1 :: {Foo{-r3q,x-} t12} + {-# L #-} + tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op2{-r3s,x-} :: _forall_ + [a_tr3p] + => + {Foo{-r3q,x-} a_tr3p} -> a_tr3p -> a_tr3p {-# L #-} -d.Foo_an3 = - PrelTup.(,){-62,p-}{i} - {_@_ (PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-}) - _@_ (PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-}) - op1_aqm - op2_aqv} -$d1{-rqE,x-} :: - {Foo{-r3s,x-} PrelBase.Int{-3g,p-}} +op2{-r3s,x-} = + _/\_ t12 -> \ tpl_B1 :: {Foo{-r3q,x-} t12} + {-# L #-} + tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +ds_dnj :: _forall_ + [takP] + => + {Foo{-r3q,x-} takP} -> PrelBase.(){-40,W-} {-# L #-} -$d1{-rqE,x-} = - d.Foo_an3 +ds_dnj = + _/\_ takP -> \ d.Foo_akO :: {Foo{-r3q,x-} takP} + {-# L #-} + d.Foo_akO -> + PrelBase.(){-60,w-}{i} {} end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds035.hs b/ghc/tests/deSugar/should_compile/ds035.hs index 5a29a0e..e6383bc 100644 --- a/ghc/tests/deSugar/should_compile/ds035.hs +++ b/ghc/tests/deSugar/should_compile/ds035.hs @@ -1,17 +1,19 @@ +import GlaExts + data CList = CNil | CCons Int# CList mk :: Int# -> CList mk n = case (n ==# 0#) of - 0# -> CNil - _ -> CCons 1# (mk (n `minusInt#` 1#)) + False -> CNil + _ -> CCons 1# (mk (n -# 1#)) clen :: CList -> Int# clen CNil = 0# clen (CCons _ cl) = 1# +# (clen cl) -main = case len4_twice of +main = putStr (case len4_twice of 8# -> "bingo\n" - _ -> "oops\n" + _ -> "oops\n") where list4 = mk 4# len4 = clen list4 diff --git a/ghc/tests/deSugar/should_compile/ds035.stderr b/ghc/tests/deSugar/should_compile/ds035.stderr index 1aa6581..f8f13ab 100644 --- a/ghc/tests/deSugar/should_compile/ds035.stderr +++ b/ghc/tests/deSugar/should_compile/ds035.stderr @@ -1,24 +1,112 @@ - -ds035.hs:3: - Type constructor or class not in scope: `Int#' - -ds035.hs:8: - Type constructor or class not in scope: `Int#' - -ds035.hs:4: - Value not in scope: `==#' - -ds035.hs:6: - Value not in scope: `minusInt#' - -ds035.hs:10: - Value not in scope: `+#' - -ds035.hs:18: - Value not in scope: `+#' - -ds035.hs:3: - Type constructor or class not in scope: `Int#' -Compilation had errors +================================================================================ +Desugared: +Rec { +CNil{-r7,x-}{i} :: CList{-r4u,x-} +_A_ 0 {-# L #-} +CNil{-r7,x-}{i} = + CNil{-r7,x-}{i} {} +CCons{-r6,x-}{i} :: GHC.Int#{-3f,W-} + -> CList{-r4u,x-} + -> CList{-r4u,x-} +_A_ 2 {-# L #-} +CCons{-r6,x-}{i} = + \ tpl_B1 :: GHC.Int#{-3f,W-} + {-# L #-} + tpl_B1 tpl_B2 :: CList{-r4u,x-} + {-# L #-} + tpl_B2 -> + CCons{-r6,x-}{i} {tpl_B1 tpl_B2} +clen_aGK :: CList{-r4u,x-} -> GHC.Int#{-3f,W-} +{-# L #-} +clen_aGK = + \ ds_dNA :: CList{-r4u,x-} + {-# L #-} + ds_dNA -> + case ds_dNA of { + CNil{-r7,x-}{i} -> 0; + CCons{-r6,x-}{i} ds_dNR cl_r4p -> + case# clen{-r9,x-} cl_r4p of { ds_dO1 -> + GHC.+#{-7D,w-}{I} 1 ds_dO1;}; + } +clen{-r9,x-} :: CList{-r4u,x-} -> GHC.Int#{-3f,W-} +{-# L #-} +clen{-r9,x-} = + clen_aGK +mk_aGP :: GHC.Int#{-3f,W-} -> CList{-r4u,x-} +{-# L #-} +mk_aGP = + \ n_r4k :: GHC.Int#{-3f,W-} + {-# L #-} + n_r4k -> + let { + ds_dOE :: PrelBase.Bool{-34,W-} + {-# L #-} + ds_dOE = + GHC.==#{-79,w-}{I} n_r4k 0 } in + let { fail_dOR :: CList{-r4u,x-} + {-# L #-} + fail_dOR = + let { + ds_dOs :: CList{-r4u,x-} + {-# L #-} + ds_dOs = + case# GHC.-#{-7E,w-}{I} n_r4k 1 of { ds_dOM -> mk{-r8,x-} ds_dOM;} + } in CCons{-r6,x-}{i} 1 ds_dOs + } in + case ds_dOE of { + PrelBase.True{-5E,w-}{i} -> fail_dOR; + PrelBase.False{-58,w-}{i} -> CNil{-r7,x-}{i}; + } +mk{-r8,x-} :: GHC.Int#{-3f,W-} -> CList{-r4u,x-} +{-# L #-} +mk{-r8,x-} = + mk_aGP +main_aH0 :: IOBase.IO{-3e,p-} PrelBase.(){-40,W-} +{-# L #-} +main_aH0 = + let { + list4_aGZ :: CList{-r4u,x-} + {-# L #-} + list4_aGZ = + mk{-r8,x-} 4 } in + let { + list4_r4r :: CList{-r4u,x-} + {-# L #-} + list4_r4r = + list4_aGZ + } in + case# clen{-r9,x-} list4_r4r of { len4_aH4 -> + case# len4_aH4 of { len4_r4s -> + case# GHC.+#{-7D,w-}{I} len4_r4s len4_r4s of { len4_twice_aH7 -> + case# len4_twice_aH7 of { len4_twice_r4t -> + let { + ds_dPl :: [PrelBase.Char{-38,W-}] + {-# L #-} + ds_dPl = + case# len4_twice_r4t of { ds_dPS -> + let { + fail_dPT :: PrelBase.String{-rgL,p-} + {-# L #-} + fail_dPT = + _string_ "oops\n" + } in + case# ds_dPS of { + 8 -> _string_ "bingo\n"; + ds_dQ1 -> fail_dPT; + };} + } in PrelIO.putStr{-rhQ,p-} ds_dPl;};};};} +main{-814,x-} :: IOBase.IO{-3e,p-} PrelBase.(){-40,W-} +{-# L #-} +main{-814,x-} = + main_aH0 +d.Eval_aHh :: {PrelBase.Eval{-24,p-} CList{-r4u,x-}} +{-# L #-} +d.Eval_aHh = + PrelBase.void{-8G,w-} +$d1{-rNv,x-} :: {PrelBase.Eval{-24,p-} CList{-r4u,x-}} +{-# L #-} +$d1{-rNv,x-} = + d.Eval_aHh +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds036.stderr b/ghc/tests/deSugar/should_compile/ds036.stderr index 615b7df..3e91e7e 100644 --- a/ghc/tests/deSugar/should_compile/ds036.stderr +++ b/ghc/tests/deSugar/should_compile/ds036.stderr @@ -1,539 +1,382 @@ -ds036.hs:44: - Warning: Possibly incomplete patterns - in the definition of function `kh' ds036.hs:22: Warning: Possibly incomplete patterns in the definition of function `brack'' +ds036.hs:44: + Warning: Possibly incomplete patterns + in the definition of function `kh' ================================================================================ Desugared: Rec { -d.Num_aZF :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Num_aZF = - PrelBase.$d3{-rbz,p-} -fromInt_a19P :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_a19P = - PrelBase.fromInt{-8R,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_aZF -lit_a1a1 :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a1a1 = - let { - ds_d1aS :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1aS = - PrelBase.I#{-5b,p-}{i} - 0 - } in - fromInt_a19P - ds_d1aS -d.Eq_aZI :: - {PrelBase.Eq{-23,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Eq_aZI = - PrelBase.$d7{-rc5,p-} -==_a1a0 :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} -==_a1a0 = - PrelBase.=={-8Y,p-} - _@_ PrelBase.Int{-3g,p-} d.Eq_aZI -fromInt_a19Z :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_a19Z = - fromInt_a19P -lit_a19Y :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_a19Y = - let { - ds_d1bg :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1bg = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_a19Z - ds_d1bg -d.Ord_aZM :: - {PrelBase.Ord{-2d,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Ord_aZM = - PrelBase.$d6{-rc4,p-} ->=_a19X :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} -{-# L #-} ->=_a19X = - PrelBase.>={-8Z,p-} - _@_ PrelBase.Int{-3g,p-} d.Ord_aZM -d.Num_aZP :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Num_aZP = - d.Num_aZF --_a19W :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} -{-# L #-} --_a19W = - PrelBase.-{-817,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_aZP -kh{-r3g,x-} :: - _forall_ - [t{-aYd-}] - => - {PrelBase.Num{-2c,p-} t{-aYd-}} - -> {PrelBase.Ord{-2d,p-} t{-aYd-}} - -> t{-aYd-} - -> t{-aYd-} - -> t{-aYd-} +kh{-r3g,x-} :: _forall_ + [taSF] + => + {PrelBase.Num{-2c,p-} taSF} + -> {PrelBase.Ord{-2d,p-} taSF} + -> taSF + -> taSF + -> taSF {-# L #-} kh{-r3g,x-} = - _/\_ t{-aYd-} -> \ d.Num_aYs :: - {PrelBase.Num{-2c,p-} t{-aYd-}} - {-# L #-} - d.Num_aYs d.Ord_aYu :: - {PrelBase.Ord{-2d,p-} t{-aYd-}} - {-# L #-} - d.Ord_aYu -> - let { - fromInt_a1cx :: - PrelBase.Int{-3g,p-} -> t{-aYd-} + _/\_ taSF -> \ d.Num_aSU :: {PrelBase.Num{-2c,p-} taSF} + {-# L #-} + d.Num_aSU d.Ord_aSW :: {PrelBase.Ord{-2d,p-} taSF} + {-# L #-} + d.Ord_aSW -> + _letrec_ { + fromInt_a14h :: PrelBase.Int{-3g,W-} -> taSF {-# L #-} - fromInt_a1cx = - PrelBase.fromInt{-8R,p-} - _@_ t{-aYd-} d.Num_aYs } in - let { lit_a1cw :: - t{-aYd-} - {-# L #-} - lit_a1cw = - let { - ds_d1cN :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1cN = - PrelBase.I#{-5b,p-}{i} - 2 - } in - fromInt_a1cx - ds_d1cN - } in - let { - >=_a1cv :: - t{-aYd-} -> t{-aYd-} -> PrelBase.Bool{-34,p-} + fromInt_a14h = + PrelBase.fromInt{-8R,p-} _@_ taSF d.Num_aSU; + lit_a14t :: taSF {-# L #-} - >=_a1cv = - PrelBase.>={-8Z,p-} - _@_ t{-aYd-} d.Ord_aYu } in - let { - d.Num_aYw :: - {PrelBase.Num{-2c,p-} t{-aYd-}} + lit_a14t = + let { + ds_d16u :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d16u = + PrelBase.I#{-5b,w-}{i} 2 + } in fromInt_a14h ds_d16u; + >=_a14u :: taSF -> taSF -> PrelBase.Bool{-34,W-} {-# L #-} - d.Num_aYw = - d.Num_aYs } in - let { - -_a1cu :: - t{-aYd-} -> t{-aYd-} -> t{-aYd-} + >=_a14u = + PrelBase.>={-8Z,p-} _@_ taSF d.Ord_aSW; + d.Num_aSY :: {PrelBase.Num{-2c,p-} taSF} {-# L #-} - -_a1cu = - PrelBase.-{-817,p-} - _@_ t{-aYd-} d.Num_aYw } in - let { - d.Ord_aYy :: - {PrelBase.Ord{-2d,p-} t{-aYd-}} + d.Num_aSY = + d.Num_aSU; + -_a14v :: taSF -> taSF -> taSF {-# L #-} - d.Ord_aYy = - d.Ord_aYu } in - let { - >_a1ct :: - t{-aYd-} -> t{-aYd-} -> PrelBase.Bool{-34,p-} + -_a14v = + PrelBase.-{-817,p-} _@_ taSF d.Num_aSY; + d.Ord_aT0 :: {PrelBase.Ord{-2d,p-} taSF} {-# L #-} - >_a1ct = - PrelBase.>{-rdf,p-} - _@_ t{-aYd-} d.Ord_aYy } in - let { - d.Num_aYA :: - {PrelBase.Num{-2c,p-} t{-aYd-}} + d.Ord_aT0 = + d.Ord_aSW; + >_a14w :: taSF -> taSF -> PrelBase.Bool{-34,W-} {-# L #-} - d.Num_aYA = - d.Num_aYs } in - let { - *_a1cs :: - t{-aYd-} -> t{-aYd-} -> t{-aYd-} + >_a14w = + PrelBase.>{-rfI,p-} _@_ taSF d.Ord_aT0; + d.Num_aT2 :: {PrelBase.Num{-2c,p-} taSF} {-# L #-} - *_a1cs = - PrelBase.*{-rd8,p-} - _@_ t{-aYd-} d.Num_aYA } in - let { - lit_a1cr :: - t{-aYd-} + d.Num_aT2 = + d.Num_aSU; + *_a14x :: taSF -> taSF -> taSF {-# L #-} - lit_a1cr = - lit_a1cw } in - let { - fromInt_a1cq :: - PrelBase.Int{-3g,p-} -> t{-aYd-} + *_a14x = + PrelBase.*{-rfB,p-} _@_ taSF d.Num_aT2; + lit_a14y :: taSF {-# L #-} - fromInt_a1cq = - fromInt_a1cx } in - let { lit_a1cp :: - t{-aYd-} - {-# L #-} - lit_a1cp = - let { - ds_d1dC :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1dC = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_a1cq - ds_d1dC - } in - let { - >=_a1co :: - t{-aYd-} -> t{-aYd-} -> PrelBase.Bool{-34,p-} + lit_a14y = + lit_a14t; + fromInt_a14z :: PrelBase.Int{-3g,W-} -> taSF {-# L #-} - >=_a1co = - >=_a1cv } in - let { - -_a1cn :: - t{-aYd-} -> t{-aYd-} -> t{-aYd-} + fromInt_a14z = + fromInt_a14h; + lit_a14A :: taSF {-# L #-} - -_a1cn = - -_a1cu } in - let { - lit_a1cm :: - t{-aYd-} + lit_a14A = + let { + ds_d17j :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d17j = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_a14z ds_d17j; + >=_a14B :: taSF -> taSF -> PrelBase.Bool{-34,W-} {-# L #-} - lit_a1cm = - lit_a1cp } in - let { - >=_a1cl :: - t{-aYd-} -> t{-aYd-} -> PrelBase.Bool{-34,p-} + >=_a14B = + >=_a14u; + -_a14C :: taSF -> taSF -> taSF {-# L #-} - >=_a1cl = - >=_a1cv } in - let { - -_a1ck :: - t{-aYd-} -> t{-aYd-} -> t{-aYd-} + -_a14C = + -_a14v; + lit_a14D :: taSF {-# L #-} - -_a1ck = - -_a1cu - } in - \ ds_d1e9 :: - t{-aYd-} - {-# L #-} - ds_d1e9 x_r3H :: - t{-aYd-} - {-# L #-} - x_r3H -> - let { - fail_d1em :: - t{-aYd-} - {-# L #-} - fail_d1em = - GHCerr.patError{-8r,p-} - _@_ t{-aYd-} _string_ "ds036.hs:44|function `kh'" } in - let { - fail_d1fO :: - t{-aYd-} + lit_a14D = + lit_a14A; + >=_a14E :: taSF -> taSF -> PrelBase.Bool{-34,W-} + {-# L #-} + >=_a14E = + >=_a14u; + -_a14F :: taSF -> taSF -> taSF + {-# L #-} + -_a14F = + -_a14v; + kh_aSk :: taSF -> taSF -> taSF + {-# L #-} + kh_aSk = + \ ds_d17R :: taSF {-# L #-} - fail_d1fO = + ds_d17R x_r3x :: taSF + {-# L #-} + x_r3x -> + let { + fail_d184 :: taSF + {-# L #-} + fail_d184 = + GHCerr.patError{-8r,w-} + _@_ taSF _string_ "ds036.hs:44|function `kh'" } in + let { + fail_d19w :: taSF + {-# L #-} + fail_d19w = + case + (\ ds_d17Y :: taSF + {-# L #-} + ds_d17Y -> + >=_a14B ds_d17Y lit_a14A) + ds_d17R + of { + PrelBase.True{-5E,w-}{i} -> + let { + x_r3z :: taSF + {-# L #-} + x_r3z = + (\ ds_d18o :: taSF + {-# L #-} + ds_d18o -> + -_a14C ds_d18o lit_a14A) + ds_d17R + } in + case + (\ ds_d18E :: taSF + {-# L #-} + ds_d18E -> + >=_a14E ds_d18E lit_a14D) + x_r3x + of { + PrelBase.True{-5E,w-}{i} -> + (\ ds_d192 :: taSF + {-# L #-} + ds_d192 -> + -_a14F ds_d192 lit_a14D) + x_r3x; + PrelBase.False{-58,w-}{i} -> fail_d184; + }; + PrelBase.False{-58,w-}{i} -> fail_d184; + } + } in case - (\ ds_d1eg :: - t{-aYd-} + (\ ds_d19q :: taSF {-# L #-} - ds_d1eg -> - >=_a1co - ds_d1eg lit_a1cp) - ds_d1e9 + ds_d19q -> + >=_a14u ds_d19q lit_a14t) + ds_d17R of { - PrelBase.True{-5E,p-}{i} -> + PrelBase.True{-5E,w-}{i} -> let { - x_r3J :: - t{-aYd-} + n_r3w :: taSF {-# L #-} - x_r3J = - (\ ds_d1eG :: - t{-aYd-} + n_r3w = + (\ ds_d19Q :: taSF {-# L #-} - ds_d1eG -> - -_a1cn - ds_d1eG lit_a1cp) - ds_d1e9 + ds_d19Q -> + -_a14v ds_d19Q lit_a14t) + ds_d17R } in - case - (\ ds_d1eW :: - t{-aYd-} - {-# L #-} - ds_d1eW -> - >=_a1cl - ds_d1eW lit_a1cm) - x_r3H - of { - PrelBase.True{-5E,p-}{i} -> - (\ ds_d1fk :: - t{-aYd-} - {-# L #-} - ds_d1fk -> - -_a1ck - ds_d1fk lit_a1cm) - x_r3H; - PrelBase.False{-58,p-}{i} -> - fail_d1em; + case >_a14w x_r3x n_r3w of { + PrelBase.True{-5E,w-}{i} -> *_a14x x_r3x lit_a14y; + PrelBase.False{-58,w-}{i} -> fail_d19w; }; - PrelBase.False{-58,p-}{i} -> - fail_d1em; - } - } in - case - (\ ds_d1fI :: - t{-aYd-} - {-# L #-} - ds_d1fI -> - >=_a1cv - ds_d1fI lit_a1cw) - ds_d1e9 - of { - PrelBase.True{-5E,p-}{i} -> - let { - n_r3F :: - t{-aYd-} - {-# L #-} - n_r3F = - (\ ds_d1g8 :: - t{-aYd-} - {-# L #-} - ds_d1g8 -> - -_a1cu - ds_d1g8 lit_a1cw) - ds_d1e9 - } in - case - >_a1ct - x_r3H n_r3F - of { - PrelBase.True{-5E,p-}{i} -> - *_a1cs - x_r3H lit_a1cr; - PrelBase.False{-58,p-}{i} -> - fail_d1fO; - }; - PrelBase.False{-58,p-}{i} -> - fail_d1fO; - } -brack'{-r3f,x-} :: - _forall_ - [a{-aYI-}] - => - {PrelBase.Eq{-23,p-} a{-aYI-}} - -> a{-aYI-} - -> a{-aYI-} - -> PrelBase.Int{-3g,p-} - -> [a{-aYI-}] - -> ([a{-aYI-}], [a{-aYI-}]) + PrelBase.False{-58,w-}{i} -> fail_d19w; + }; + } in kh_aSk +brack'{-r3f,x-} :: _forall_ + [taTa] + => + {PrelBase.Eq{-23,p-} taTa} + -> taTa + -> taTa + -> PrelBase.Int{-3g,W-} + -> [taTa] + -> ([taTa], [taTa]) {-# L #-} brack'{-r3f,x-} = - _/\_ a{-aYI-} -> \ d.Eq_aZs :: - {PrelBase.Eq{-23,p-} a{-aYI-}} - {-# L #-} - d.Eq_aZs -> - let { - lit_a1h1 :: - PrelBase.Int{-3g,p-} + _/\_ taTa -> \ d.Eq_aU7 :: {PrelBase.Eq{-23,p-} taTa} + {-# L #-} + d.Eq_aU7 -> + _letrec_ { + lit_a1aE :: PrelBase.Int{-3g,W-} + {-# L #-} + lit_a1aE = + lit_a14q; + >=_a1aG :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} {-# L #-} - lit_a1h1 = - lit_a19Y } in - let { - >=_a1h0 :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Bool{-34,p-} + >=_a1aG = + >=_a14r; + -_a1aH :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} {-# L #-} - >=_a1h0 = - >=_a19X } in - let { - -_a1gZ :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} + -_a1aH = + -_a14s; + d.Eq_aUf :: {PrelBase.Eq{-23,p-} taTa} {-# L #-} - -_a1gZ = - -_a19W } in - let { - d.Eq_aZC :: - {PrelBase.Eq{-23,p-} a{-aYI-}} + d.Eq_aUf = + d.Eq_aU7; + ==_a1aI :: taTa -> taTa -> PrelBase.Bool{-34,W-} {-# L #-} - d.Eq_aZC = - d.Eq_aZs } in - let { - ==_a1gY :: - a{-aYI-} -> a{-aYI-} -> PrelBase.Bool{-34,p-} + ==_a1aI = + PrelBase.=={-8Y,p-} _@_ taTa d.Eq_aUf; + brack'_aT7 :: taTa + -> taTa + -> PrelBase.Int{-3g,W-} + -> [taTa] + -> ([taTa], [taTa]) {-# L #-} - ==_a1gY = - PrelBase.=={-8Y,p-} - _@_ a{-aYI-} d.Eq_aZC - } in - \ open_r3i :: - a{-aYI-} - {-# L #-} - open_r3i close_r3k :: - a{-aYI-} - {-# L #-} - close_r3k ds_d1hB :: - PrelBase.Int{-3g,p-} + brack'_aT7 = + \ open_r3i :: taTa + {-# L #-} + open_r3i close_r3j :: taTa + {-# L #-} + close_r3j ds_d1bB :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1bB xs_r3k :: [taTa] + {-# L #-} + xs_r3k -> + let { + fail_d1bO :: ([taTa], [taTa]) + {-# L #-} + fail_d1bO = + GHCerr.patError{-8r,w-} + _@_ ([taTa], [taTa]) _string_ "ds036.hs:22|function `brack''" } in + let { + fail_d1dT :: ([taTa], [taTa]) + {-# L #-} + fail_d1dT = + case + (\ ds_d1bI :: PrelBase.Int{-3g,W-} {-# L #-} - ds_d1hB xs_r3n :: - [a{-aYI-}] + ds_d1bI -> + >=_a14r ds_d1bI lit_a14q) + ds_d1bB + of { + PrelBase.True{-5E,w-}{i} -> + let { + n_r3o :: PrelBase.Int{-3g,W-} + {-# L #-} + n_r3o = + (\ ds_d1c8 :: PrelBase.Int{-3g,W-} {-# L #-} - xs_r3n -> - let { - fail_d1hO :: - ([a{-aYI-}], [a{-aYI-}]) - {-# L #-} - fail_d1hO = - GHCerr.patError{-8r,p-} - _@_ ([a{-aYI-}], [a{-aYI-}]) - _string_ "ds036.hs:22|function `brack''" } in - let { - fail_d1jT :: - ([a{-aYI-}], [a{-aYI-}]) - {-# L #-} - fail_d1jT = - case - (\ ds_d1hI :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1hI -> - >=_a19X - ds_d1hI lit_a19Y) - ds_d1hB - of { - PrelBase.True{-5E,p-}{i} -> + ds_d1c8 -> + -_a14s ds_d1c8 lit_a14q) + ds_d1bB + } in + case xs_r3k of { + PrelBase.[]{-5i,w-}{i} -> + let { + close_r3n :: taTa + {-# L #-} + close_r3n = + close_r3j } in + let { + open_r3m :: taTa + {-# L #-} + open_r3m = + open_r3i } in + let { + ds_d1cz :: [taTa] + {-# L #-} + ds_d1cz = + PrelBase.[]{-5i,w-}{i} _@_ taTa } in + let { + ds_d1cD :: [taTa] + {-# L #-} + ds_d1cD = + PrelBase.[]{-5i,w-}{i} _@_ taTa + } in + PrelTup.(,){-62,w-}{i} + {_@_ [taTa] _@_ [taTa] ds_d1cz ds_d1cD}; + PrelBase.:{-55,w-}{i} h_r3t t_r3u -> + let { + n_r3s :: PrelBase.Int{-3g,W-} + {-# L #-} + n_r3s = + n_r3o } in + let { + close_r3r :: taTa + {-# L #-} + close_r3r = + close_r3j } in + let { + open_r3q :: taTa + {-# L #-} + open_r3q = + open_r3i + } in + case ==_a1aI h_r3t open_r3q of { + PrelBase.True{-5E,w-}{i} -> + let { + ds_d1du :: [taTa] + {-# L #-} + ds_d1du = + PrelBase.[]{-5i,w-}{i} _@_ taTa } in + let { + ds_d1dy :: [taTa] + {-# L #-} + ds_d1dy = + PrelBase.[]{-5i,w-}{i} _@_ taTa + } in + PrelTup.(,){-62,w-}{i} + {_@_ [taTa] _@_ [taTa] ds_d1du ds_d1dy}; + PrelBase.False{-58,w-}{i} -> fail_d1bO; + }; + }; + PrelBase.False{-58,w-}{i} -> fail_d1bO; + } + } in + case ds_d1bB of { PrelBase.I#{-5b,w-}{i} ds_d1e2 -> + case# ds_d1e2 of { + 0 -> let { - n_r3t :: - PrelBase.Int{-3g,p-} + ds_d1eh :: [taTa] {-# L #-} - n_r3t = - (\ ds_d1i8 :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d1i8 -> - -_a19W - ds_d1i8 lit_a19Y) - ds_d1hB + ds_d1eh = + PrelBase.[]{-5i,w-}{i} _@_ taTa } in - case xs_r3n of { - PrelBase.[]{-5i,p-}{i} -> - let { - close_r3r :: - a{-aYI-} - {-# L #-} - close_r3r = - close_r3k } in - let { - open_r3p :: - a{-aYI-} - {-# L #-} - open_r3p = - open_r3i } in - let { - ds_d1iz :: - [a{-aYI-}] - {-# L #-} - ds_d1iz = - PrelBase.[]{-5i,p-}{i} - _@_ a{-aYI-} } in - let { - ds_d1iD :: - [a{-aYI-}] - {-# L #-} - ds_d1iD = - PrelBase.[]{-5i,p-}{i} - _@_ a{-aYI-} - } in - PrelTup.(,){-62,p-}{i} - {_@_ [a{-aYI-}] _@_ [a{-aYI-}] ds_d1iz ds_d1iD}; - PrelBase.:{-55,p-}{i} h_r3C t_r3D -> - let { - n_r3A :: - PrelBase.Int{-3g,p-} - {-# L #-} - n_r3A = - n_r3t } in - let { - close_r3y :: - a{-aYI-} - {-# L #-} - close_r3y = - close_r3k } in - let { - open_r3w :: - a{-aYI-} - {-# L #-} - open_r3w = - open_r3i - } in - case - ==_a1gY - h_r3C open_r3w - of { - PrelBase.True{-5E,p-}{i} -> - let { - ds_d1ju :: - [a{-aYI-}] - {-# L #-} - ds_d1ju = - PrelBase.[]{-5i,p-}{i} - _@_ a{-aYI-} } in - let { - ds_d1jy :: - [a{-aYI-}] - {-# L #-} - ds_d1jy = - PrelBase.[]{-5i,p-}{i} - _@_ a{-aYI-} - } in - PrelTup.(,){-62,p-}{i} - {_@_ [a{-aYI-}] _@_ [a{-aYI-}] ds_d1ju ds_d1jy}; - PrelBase.False{-58,p-}{i} -> - fail_d1hO; - }; - }; - PrelBase.False{-58,p-}{i} -> - fail_d1hO; - } - } in - case ds_d1hB of { PrelBase.I#{-5b,p-}{i} ds_d1k2 -> - case# ds_d1k2 of { - 0 -> - let { - ds_d1kh :: - [a{-aYI-}] - {-# L #-} - ds_d1kh = - PrelBase.[]{-5i,p-}{i} - _@_ a{-aYI-} - } in - PrelTup.(,){-62,p-}{i} - {_@_ [a{-aYI-}] _@_ [a{-aYI-}] ds_d1kh xs_r3n}; - ds_d1kt -> - fail_d1jT; - };} + PrelTup.(,){-62,w-}{i} {_@_ [taTa] _@_ [taTa] ds_d1eh xs_r3k}; + ds_d1et -> fail_d1dT; + };}; + } in brack'_aT7 +lit_a14o :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a14o = + PrelBase.I#{-5b,w-}{i} 0 +d.Eq_aUh :: {PrelBase.Eq{-23,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Eq_aUh = + PrelBase.$d8{-rb8,p-} +==_a14p :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +==_a14p = + PrelBase.=={-8Y,p-} _@_ PrelBase.Int{-3g,W-} d.Eq_aUh +lit_a14q :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a14q = + PrelBase.I#{-5b,w-}{i} 1 +d.Ord_aUk :: {PrelBase.Ord{-2d,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Ord_aUk = + PrelBase.$d7{-rb7,p-} +>=_a14r :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +>=_a14r = + PrelBase.>={-8Z,p-} _@_ PrelBase.Int{-3g,W-} d.Ord_aUk +d.Num_aUn :: {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Num_aUn = + PrelBase.$d4{-raL,p-} +-_a14s :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} +{-# L #-} +-_a14s = + PrelBase.-{-817,p-} _@_ PrelBase.Int{-3g,W-} d.Num_aUn end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds037.stderr b/ghc/tests/deSugar/should_compile/ds037.stderr index cb76a7e..4a05869 100644 --- a/ghc/tests/deSugar/should_compile/ds037.stderr +++ b/ghc/tests/deSugar/should_compile/ds037.stderr @@ -3,187 +3,130 @@ ================================================================================ Desugared: Rec { -d.Num_aXF :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} +ds_dVA :: _forall_ + [taS9] + => + (PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-}), PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-})) {-# L #-} -d.Num_aXF = - PrelBase.$d3{-rbd,p-} -+_aZO :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} -{-# L #-} -+_aZO = - PrelBase.+{-r3m,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_aXF -d.Num_aXJ :: - {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}} -{-# L #-} -d.Num_aXJ = - d.Num_aXF -fromInt_aZN :: - PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-} -{-# L #-} -fromInt_aZN = - PrelBase.fromInt{-8R,p-} - _@_ PrelBase.Int{-3g,p-} d.Num_aXJ -lit_aZM :: - PrelBase.Int{-3g,p-} -{-# L #-} -lit_aZM = - let { - ds_d123 :: - PrelBase.Int{-3g,p-} - {-# L #-} - ds_d123 = - PrelBase.I#{-5b,p-}{i} - 1 - } in - fromInt_aZN - ds_d123 -ds_d11F :: - _forall_ - [b{-aXa-}] - => - (PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-}), PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-})) -{-# L #-} -ds_d11F = - _/\_ b{-aXa-} -> +ds_dVA = + _/\_ taS9 -> _letrec_ { - +_aZQ :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} + +_aTZ :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} {-# L #-} - +_aZQ = - +_aZO; - lit_aZP :: - PrelBase.Int{-3g,p-} + +_aTZ = + +_aU0; + lit_aU2 :: PrelBase.Int{-3g,W-} {-# L #-} - lit_aZP = - lit_aZM; - f_aWT :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-}) + lit_aU2 = + lit_aU1; + f_aRp :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-}) {-# L #-} - f_aWT = - \ x_r3e :: - PrelBase.Int{-3g,p-} + f_aRp = + \ x_r3e :: PrelBase.Int{-3g,W-} {-# L #-} - x_r3e y_r3g :: - PrelBase.Int{-3g,p-} + x_r3e y_r3f :: PrelBase.Int{-3g,W-} {-# L #-} - y_r3g -> - let { ds_d12N :: - b{-aXa-} + y_r3f -> + let { ds_dWx :: taS9 {-# L #-} - ds_d12N = + ds_dWx = let { - ds_d133 :: - (b{-aXa-}, PrelBase.Int{-3g,p-}) + ds_dWN :: (taS9, PrelBase.Int{-3g,W-}) {-# L #-} - ds_d133 = - g_aWU - y_r3g x_r3e - } in - PrelTup.fst{-riN,p-} - _@_ PrelBase.Int{-3g,p-} _@_ b{-aXa-} ds_d133 + ds_dWN = + g_aRq y_r3f x_r3e + } in PrelTup.fst{-rgQ,p-} _@_ PrelBase.Int{-3g,W-} _@_ taS9 ds_dWN } in let { - ds_d12R :: - PrelBase.Int{-3g,p-} + ds_dWB :: PrelBase.Int{-3g,W-} {-# L #-} - ds_d12R = - +_aZO - x_r3e lit_aZM + ds_dWB = + +_aU0 x_r3e lit_aU1 } in - PrelTup.(,){-62,p-}{i} - {_@_ b{-aXa-} _@_ PrelBase.Int{-3g,p-} ds_d12N ds_d12R}; - g_aWU :: - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-}) + PrelTup.(,){-62,w-}{i} + {_@_ taS9 _@_ PrelBase.Int{-3g,W-} ds_dWx ds_dWB}; + g_aRq :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-}) {-# L #-} - g_aWU = - \ x_r3j :: - PrelBase.Int{-3g,p-} + g_aRq = + \ x_r3j :: PrelBase.Int{-3g,W-} {-# L #-} - x_r3j y_r3l :: - PrelBase.Int{-3g,p-} + x_r3j y_r3k :: PrelBase.Int{-3g,W-} {-# L #-} - y_r3l -> - let { ds_d13B :: - b{-aXa-} + y_r3k -> + let { ds_dXl :: taS9 {-# L #-} - ds_d13B = + ds_dXl = let { - ds_d13R :: - (b{-aXa-}, PrelBase.Int{-3g,p-}) + ds_dXB :: (taS9, PrelBase.Int{-3g,W-}) {-# L #-} - ds_d13R = - f_aWT - x_r3j y_r3l - } in - PrelTup.fst{-riN,p-} - _@_ PrelBase.Int{-3g,p-} _@_ b{-aXa-} ds_d13R + ds_dXB = + f_aRp x_r3j y_r3k + } in PrelTup.fst{-rgQ,p-} _@_ PrelBase.Int{-3g,W-} _@_ taS9 ds_dXB } in let { - ds_d13F :: - PrelBase.Int{-3g,p-} + ds_dXp :: PrelBase.Int{-3g,W-} {-# L #-} - ds_d13F = - +_aZQ - y_r3l lit_aZP + ds_dXp = + +_aTZ y_r3k lit_aU2 } in - PrelTup.(,){-62,p-}{i} - {_@_ b{-aXa-} _@_ PrelBase.Int{-3g,p-} ds_d13B ds_d13F}; + PrelTup.(,){-62,w-}{i} + {_@_ taS9 _@_ PrelBase.Int{-3g,W-} ds_dXl ds_dXp}; } in - PrelTup.(,){-62,p-}{i} - {_@_ (PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-})) - _@_ (PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-})) - f_aWT - g_aWU} -f{-r3o,x-} :: - _forall_ - [b{-aXa-}] - => - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-}) + PrelTup.(,){-62,w-}{i} + {_@_ (PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-})) + _@_ (PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-})) + f_aRp + g_aRq} +f{-r3l,x-} :: _forall_ + [taS9] + => + PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-}) +{-# L #-} +f{-r3l,x-} = + _/\_ taS9 -> + case ds_dVA _@_ taS9 of { PrelTup.(,){-62,w-}{i} ds_dYl ds_dYm -> + ds_dYl;} +g{-r3g,x-} :: _forall_ + [taS9] + => + PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> (taS9, PrelBase.Int{-3g,W-}) +{-# L #-} +g{-r3g,x-} = + _/\_ taS9 -> + case ds_dVA _@_ taS9 of { PrelTup.(,){-62,w-}{i} ds_dYC ds_dYB -> + ds_dYB;} +d.Num_aSj :: {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Num_aSj = + PrelBase.$d4{-ray,p-} ++_aU0 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} {-# L #-} -f{-r3o,x-} = - _/\_ b{-aXa-} -> - case - ds_d11F - _@_ b{-aXa-} - of { - PrelTup.(,){-62,p-}{i} ds_d14B ds_d14C -> - ds_d14B;} -g{-r3n,x-} :: - _forall_ - [b{-aXa-}] - => - PrelBase.Int{-3g,p-} - -> PrelBase.Int{-3g,p-} - -> (b{-aXa-}, PrelBase.Int{-3g,p-}) ++_aU0 = + PrelBase.+{-r3m,p-} _@_ PrelBase.Int{-3g,W-} d.Num_aSj +lit_aU1 :: PrelBase.Int{-3g,W-} {-# L #-} -g{-r3n,x-} = - _/\_ b{-aXa-} -> - case - ds_d11F - _@_ b{-aXa-} - of { - PrelTup.(,){-62,p-}{i} ds_d14S ds_d14R -> - ds_d14R;} +lit_aU1 = + PrelBase.I#{-5b,w-}{i} 1 end Rec } NOTE: Simplifier still going after 4 iterations; bailing out. diff --git a/ghc/tests/deSugar/should_compile/ds038.hs b/ghc/tests/deSugar/should_compile/ds038.hs index ceffab1..14e60e9 100644 --- a/ghc/tests/deSugar/should_compile/ds038.hs +++ b/ghc/tests/deSugar/should_compile/ds038.hs @@ -1,6 +1,8 @@ --!!! Jon Hill reported a bug in desugaring this in 0.09 --!!! (recursive with n+k patts) -- +module ShouldSucceed where + takeList :: Int -> [a] -> [a] takeList 0 _ = [] takeList (n+1) [] = [] diff --git a/ghc/tests/deSugar/should_compile/ds038.stderr b/ghc/tests/deSugar/should_compile/ds038.stderr index a45cd41..05e67d5 100644 --- a/ghc/tests/deSugar/should_compile/ds038.stderr +++ b/ghc/tests/deSugar/should_compile/ds038.stderr @@ -1,5 +1,131 @@ - -ds038.hs:4: Module Main must include a definition for `Main.main' +ds038.hs:7: + Warning: Possibly incomplete patterns + in the definition of function `takeList' -Compilation had errors +================================================================================ +Desugared: +Rec { +takeList{-r3e,x-} :: _forall_ + [taCy] + => + PrelBase.Int{-3g,W-} -> [taCy] -> [taCy] +{-# L #-} +takeList{-r3e,x-} = + _/\_ taCy -> + _letrec_ { + lit_aHX :: PrelBase.Int{-3g,W-} + {-# L #-} + lit_aHX = + lit_aHZ; + >=_aI4 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} + {-# L #-} + >=_aI4 = + >=_aI2; + -_aI5 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + {-# L #-} + -_aI5 = + -_aI3; + takeList_aCs :: PrelBase.Int{-3g,W-} -> [taCy] -> [taCy] + {-# L #-} + takeList_aCs = + \ ds_dJb :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dJb ds_dJo :: [taCy] + {-# L #-} + ds_dJo -> + let { + fail_dJp :: [taCy] + {-# L #-} + fail_dJp = + GHCerr.patError{-8r,w-} + _@_ [taCy] _string_ "ds038.hs:7|function `takeList'" } in + let { + fail_dKA :: [taCy] + {-# L #-} + fail_dKA = + case + (\ ds_dJi :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dJi -> + >=_aI2 ds_dJi lit_aHZ) + ds_dJb + of { + PrelBase.True{-5E,w-}{i} -> + let { + n_r3h :: PrelBase.Int{-3g,W-} + {-# L #-} + n_r3h = + (\ ds_dJJ :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_dJJ -> + -_aI3 ds_dJJ lit_aHZ) + ds_dJb + } in + case ds_dJo of { + PrelBase.[]{-5i,w-}{i} -> PrelBase.[]{-5i,w-}{i} _@_ taCy; + PrelBase.:{-55,w-}{i} x_r3k xs_r3l -> + let { + n_r3j :: PrelBase.Int{-3g,W-} + {-# L #-} + n_r3j = + n_r3h } in + let { + ds_dKg :: [taCy] + {-# L #-} + ds_dKg = + takeList{-r3e,x-} _@_ taCy n_r3j xs_r3l + } in PrelBase.:{-55,w-}{i} _@_ taCy x_r3k ds_dKg; + }; + PrelBase.False{-58,w-}{i} -> fail_dJp; + } + } in + case ds_dJb of { PrelBase.I#{-5b,w-}{i} ds_dKJ -> + case# ds_dKJ of { + 0 -> PrelBase.[]{-5i,w-}{i} _@_ taCy; + ds_dKW -> fail_dKA; + };}; + } in takeList_aCs +lit_aI0 :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_aI0 = + PrelBase.I#{-5b,w-}{i} 0 +d.Eq_aD5 :: {PrelBase.Eq{-23,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Eq_aD5 = + PrelBase.$d8{-raT,p-} +==_aI1 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +==_aI1 = + PrelBase.=={-8Y,p-} _@_ PrelBase.Int{-3g,W-} d.Eq_aD5 +lit_aHZ :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_aHZ = + PrelBase.I#{-5b,w-}{i} 1 +d.Ord_aD8 :: {PrelBase.Ord{-2d,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Ord_aD8 = + PrelBase.$d7{-raS,p-} +>=_aI2 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Bool{-34,W-} +{-# L #-} +>=_aI2 = + PrelBase.>={-8Z,p-} _@_ PrelBase.Int{-3g,W-} d.Ord_aD8 +d.Num_aDb :: {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Num_aDb = + PrelBase.$d4{-raw,p-} +-_aI3 :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} +{-# L #-} +-_aI3 = + PrelBase.-{-817,p-} _@_ PrelBase.Int{-3g,W-} d.Num_aDb +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds039.stderr b/ghc/tests/deSugar/should_compile/ds039.stderr index 1ff3f31..fcc5f33 100644 --- a/ghc/tests/deSugar/should_compile/ds039.stderr +++ b/ghc/tests/deSugar/should_compile/ds039.stderr @@ -2,7 +2,15 @@ ================================================================================ Desugared: +Rec { +f{-r1,x-} :: _forall_ [tak6] => tak6 -> [tak6] -> [tak6] {-# L #-} -f = _/\_ t{-amG-} -> - PrelBase.: - _@_ t{-amG-} +f{-r1,x-} = + _/\_ tak6 -> + _letrec_ { + f_ak2 :: tak6 -> [tak6] -> [tak6] + {-# L #-} + f_ak2 = + PrelBase.:{-55,w-}{i} _@_ tak6; + } in f_ak2 +end Rec } diff --git a/ghc/tests/deSugar/should_compile/ds040.hs b/ghc/tests/deSugar/should_compile/ds040.hs index d7fb621..6d1c17e 100644 --- a/ghc/tests/deSugar/should_compile/ds040.hs +++ b/ghc/tests/deSugar/should_compile/ds040.hs @@ -1,7 +1,7 @@ --!!! Another bug in overloaded n+k patts -- -main _ = [AppendChan stdout (shows ((4::Int) ^^^^ (6::Int)) "\n")] +main = print ((4::Int) ^^^^ (6::Int)) (^^^^) :: (Num a, Integral b) => a -> b -> a x ^^^^ 0 = 1 diff --git a/ghc/tests/deSugar/should_compile/ds040.stderr b/ghc/tests/deSugar/should_compile/ds040.stderr index 0fe36a3..bee5ab6 100644 --- a/ghc/tests/deSugar/should_compile/ds040.stderr +++ b/ghc/tests/deSugar/should_compile/ds040.stderr @@ -1,9 +1,391 @@ - -ds040.hs:4: - Data constructor not in scope: `AppendChan' - -ds040.hs:4: - Value not in scope: `stdout' -Compilation had errors +================================================================================ +Desugared: +Rec { +^^^^{-r3g,x-} :: _forall_ + [taZJ taZG] + => + {PrelBase.Num{-2c,p-} taZG} + -> {PrelNum.Integral{-27,p-} taZJ} + -> taZG + -> taZJ + -> taZG +{-# L #-} +^^^^{-r3g,x-} = + _/\_ taZJ taZG -> \ d.Num_a11q :: {PrelBase.Num{-2c,p-} taZG} + {-# L #-} + d.Num_a11q d.Integral_a11r :: {PrelNum.Integral{-27,p-} taZJ} + {-# L #-} + d.Integral_a11r -> + _letrec_ { + d.Real_a11G :: {PrelNum.Real{-2f,p-} taZJ} + {-# L #-} + d.Real_a11G = + PrelNum.scsel_IntegralPrelNumReal{-a1eV,p-} + _@_ taZJ d.Integral_a11r; + d.Num_a11u :: {PrelBase.Num{-2c,p-} taZJ} + {-# L #-} + d.Num_a11u = + PrelNum.scsel_RealPrelBaseNum{-a1gK,p-} _@_ taZJ d.Real_a11G; + d.Ord_a11C :: {PrelBase.Ord{-2d,p-} taZJ} + {-# L #-} + d.Ord_a11C = + PrelNum.scsel_RealPrelBaseOrd{-a1gT,p-} _@_ taZJ d.Real_a11G; + d.Eq_a11w :: {PrelBase.Eq{-23,p-} taZJ} + {-# L #-} + d.Eq_a11w = + PrelBase.scsel_OrdPrelBaseEq{-a1h2,p-} _@_ taZJ d.Ord_a11C; + fromInt_a1eK :: PrelBase.Int{-3g,W-} -> taZJ + {-# L #-} + fromInt_a1eK = + PrelBase.fromInt{-8R,p-} _@_ taZJ d.Num_a11u; + lit_a1eL :: taZJ + {-# L #-} + lit_a1eL = + let { + ds_d1hh :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1hh = + PrelBase.I#{-5b,w-}{i} 0 + } in fromInt_a1eK ds_d1hh; + ==_a1eM :: taZJ -> taZJ -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1eM = + PrelBase.=={-8Y,p-} _@_ taZJ d.Eq_a11w; + d.Num_a11z :: {PrelBase.Num{-2c,p-} taZG} + {-# L #-} + d.Num_a11z = + d.Num_a11q; + fromInt_a1eN :: PrelBase.Int{-3g,W-} -> taZG + {-# L #-} + fromInt_a1eN = + PrelBase.fromInt{-8R,p-} _@_ taZG d.Num_a11z; + lit_a1eO :: taZG + {-# L #-} + lit_a1eO = + let { + ds_d1hM :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1hM = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_a1eN ds_d1hM; + fromInt_a1eP :: PrelBase.Int{-3g,W-} -> taZJ + {-# L #-} + fromInt_a1eP = + fromInt_a1eK; + lit_a1eQ :: taZJ + {-# L #-} + lit_a1eQ = + let { + ds_d1i1 :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1i1 = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_a1eP ds_d1i1; + >=_a1eR :: taZJ -> taZJ -> PrelBase.Bool{-34,W-} + {-# L #-} + >=_a1eR = + PrelBase.>={-8Z,p-} _@_ taZJ d.Ord_a11C; + d.Num_a11E :: {PrelBase.Num{-2c,p-} taZJ} + {-# L #-} + d.Num_a11E = + d.Num_a11u; + -_a1eS :: taZJ -> taZJ -> taZJ + {-# L #-} + -_a1eS = + PrelBase.-{-817,p-} _@_ taZJ d.Num_a11E; + d.Integral_a11h :: {PrelNum.Integral{-27,p-} taZJ} + {-# L #-} + d.Integral_a11h = + d.Integral_a11r; + d.Num_a11i :: {PrelBase.Num{-2c,p-} taZG} + {-# L #-} + d.Num_a11i = + d.Num_a11q; + ^^^^_aZD :: taZG -> taZJ -> taZG + {-# L #-} + ^^^^_aZD = + \ x_r3k :: taZG + {-# L #-} + x_r3k ds_d1iN :: taZJ + {-# L #-} + ds_d1iN -> + let { + fail_d1j0 :: taZG + {-# L #-} + fail_d1j0 = + IOBase.error{-87,w-} + _@_ taZG _string_ "(^^^^){Prelude}: negative exponent" } in + let { + fail_d1qc :: taZG + {-# L #-} + fail_d1qc = + case + (\ ds_d1iU :: taZJ + {-# L #-} + ds_d1iU -> + >=_a1eR ds_d1iU lit_a1eQ) + ds_d1iN + of { + PrelBase.True{-5E,w-}{i} -> + let { + n_r3n :: taZJ + {-# L #-} + n_r3n = + (\ ds_d1jp :: taZJ + {-# L #-} + ds_d1jp -> + -_a1eS ds_d1jp lit_a1eQ) + ds_d1iN } in + let { + x_r3m :: taZG + {-# L #-} + x_r3m = + x_r3k } in + _letrec_ { + f_r3p :: _forall_ + [ta10M ta10Q] + => + {PrelNum.Integral{-27,p-} ta10M} + -> {PrelBase.Num{-2c,p-} ta10Q} + -> ta10Q + -> ta10M + -> ta10Q + -> ta10Q + {-# L #-} + f_r3p = + _/\_ ta10M ta10Q -> \ d.Integral_a10Z :: {PrelNum.Integral{-27,p-} ta10M} + {-# L #-} + d.Integral_a10Z d.Num_a111 :: {PrelBase.Num{-2c,p-} ta10Q} + {-# L #-} + d.Num_a111 -> + _letrec_ { + d.Real_a119 :: {PrelNum.Real{-2f,p-} ta10M} + {-# L #-} + d.Real_a119 = + PrelNum.scsel_IntegralPrelNumReal{-a1eV,p-} + _@_ ta10M d.Integral_a10Z; + d.Num_a10V :: {PrelBase.Num{-2c,p-} ta10M} + {-# L #-} + d.Num_a10V = + PrelNum.scsel_RealPrelBaseNum{-a1gK,p-} + _@_ ta10M d.Real_a119; + d.Eq_a10X :: {PrelBase.Eq{-23,p-} ta10M} + {-# L #-} + d.Eq_a10X = + PrelBase.scsel_NumPrelBaseEq{-a1lq,p-} + _@_ ta10M d.Num_a10V; + fromInt_a1jV :: PrelBase.Int{-3g,W-} -> ta10M + {-# L #-} + fromInt_a1jV = + PrelBase.fromInt{-8R,p-} _@_ ta10M d.Num_a10V; + lit_a1jW :: ta10M + {-# L #-} + lit_a1jW = + let { + ds_d1lF :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1lF = + PrelBase.I#{-5b,w-}{i} 0 + } in fromInt_a1jV ds_d1lF; + ==_a1jX :: ta10M -> ta10M -> PrelBase.Bool{-34,W-} + {-# L #-} + ==_a1jX = + PrelBase.=={-8Y,p-} _@_ ta10M d.Eq_a10X; + even_a1jY :: ta10M -> PrelBase.Bool{-34,W-} + {-# L #-} + even_a1jY = + PrelNum.even{-ruE,p-} _@_ ta10M d.Integral_a10Z; + *_a1jZ :: ta10Q -> ta10Q -> ta10Q + {-# L #-} + *_a1jZ = + PrelBase.*{-ra3,p-} _@_ ta10Q d.Num_a111; + d.Integral_a113 :: {PrelNum.Integral{-27,p-} ta10M} + {-# L #-} + d.Integral_a113 = + d.Integral_a10Z; + quot_a1k0 :: ta10M -> ta10M -> ta10M + {-# L #-} + quot_a1k0 = + PrelNum.quot{-rh5,p-} _@_ ta10M d.Integral_a113; + fromInt_a1k1 :: PrelBase.Int{-3g,W-} -> ta10M + {-# L #-} + fromInt_a1k1 = + fromInt_a1jV; + lit_a1k2 :: ta10M + {-# L #-} + lit_a1k2 = + let { + ds_d1mr :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1mr = + PrelBase.I#{-5b,w-}{i} 2 + } in fromInt_a1k1 ds_d1mr; + d.Num_a116 :: {PrelBase.Num{-2c,p-} ta10M} + {-# L #-} + d.Num_a116 = + d.Num_a10V; + -_a1k3 :: ta10M -> ta10M -> ta10M + {-# L #-} + -_a1k3 = + PrelBase.-{-817,p-} _@_ ta10M d.Num_a116; + fromInt_a1k4 :: PrelBase.Int{-3g,W-} -> ta10M + {-# L #-} + fromInt_a1k4 = + fromInt_a1jV; + lit_a1k5 :: ta10M + {-# L #-} + lit_a1k5 = + let { + ds_d1mP :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1mP = + PrelBase.I#{-5b,w-}{i} 1 + } in fromInt_a1k4 ds_d1mP; + f_aZV :: ta10Q -> ta10M -> ta10Q -> ta10Q + {-# L #-} + f_aZV = + \ ds_d1n9 :: ta10Q + {-# L #-} + ds_d1n9 ds_d1n6 :: ta10M + {-# L #-} + ds_d1n6 y_r3r :: ta10Q + {-# L #-} + y_r3r -> + let { fail_d1pl :: ta10Q + {-# L #-} + fail_d1pl = + let { + y_r3v :: ta10Q + {-# L #-} + y_r3v = + y_r3r } in + let { + n_r3u :: ta10M + {-# L #-} + n_r3u = + ds_d1n6 } in + let { + x_r3t :: ta10Q + {-# L #-} + x_r3t = + ds_d1n9 } in + _letrec_ { + *_a1np :: ta10Q -> ta10Q -> ta10Q + {-# L #-} + *_a1np = + *_a1jZ; + g_a10m :: ta10Q -> ta10M -> ta10Q + {-# L #-} + g_a10m = + \ x_r3z :: ta10Q + {-# L #-} + x_r3z n_r3A :: ta10M + {-# L #-} + n_r3A -> + case even_a1jY n_r3A of { + PrelBase.True{-5E,w-}{i} -> + let { + ds_d1nU :: ta10M + {-# L #-} + ds_d1nU = + quot_a1k0 n_r3A lit_a1k2 + } in + (let { + ds_d1ob :: ta10Q + {-# L #-} + ds_d1ob = + *_a1jZ x_r3z x_r3z + } in g_a10m ds_d1ob) + ds_d1nU; + PrelBase.False{-58,w-}{i} -> + let { + ds_d1ow :: ta10Q + {-# L #-} + ds_d1ow = + *_a1np x_r3z y_r3v + } in + (let { + ds_d1oQ :: ta10M + {-# L #-} + ds_d1oQ = + -_a1k3 n_r3A lit_a1k5 + } in f_aZV x_r3z ds_d1oQ) + ds_d1ow; + }; + g_r3x :: ta10Q -> ta10M -> ta10Q + {-# L #-} + g_r3x = + g_a10m; + } in g_r3x x_r3t n_r3u + } in + case ==_a1jX lit_a1jW ds_d1n6 of { + PrelBase.True{-5E,w-}{i} -> y_r3r; + PrelBase.False{-58,w-}{i} -> fail_d1pl; + }; + } in f_aZV; + } in + let { + f_a1pD :: taZG -> taZJ -> taZG -> taZG + {-# L #-} + f_a1pD = + f_r3p _@_ taZJ _@_ taZG d.Integral_a11h d.Num_a11i + } in f_a1pD x_r3m n_r3n x_r3m; + PrelBase.False{-58,w-}{i} -> fail_d1j0; + } + } in + case ==_a1eM lit_a1eL ds_d1iN of { + PrelBase.True{-5E,w-}{i} -> lit_a1eO; + PrelBase.False{-58,w-}{i} -> fail_d1qc; + }; + } in ^^^^_aZD +^^^^_a1eG :: PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} + -> PrelBase.Int{-3g,W-} +{-# L #-} +^^^^_a1eG = + ^^^^{-r3g,x-} + _@_ PrelBase.Int{-3g,W-} + _@_ PrelBase.Int{-3g,W-} + d.Num_a127 + d.Integral_a128 +main_a11K :: IOBase.IO{-3e,p-} PrelBase.(){-40,W-} +{-# L #-} +main_a11K = + let { + ds_d1qH :: PrelBase.Int{-3g,W-} + {-# L #-} + ds_d1qH = + ^^^^_a1eG lit_a1eI lit_a1eJ + } in print_a1eH ds_d1qH +main{-814,x-} :: IOBase.IO{-3e,p-} PrelBase.(){-40,W-} +{-# L #-} +main{-814,x-} = + main_a11K +d.Show_a12a :: {PrelBase.Show{-2i,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Show_a12a = + PrelBase.$d3{-raC,p-} +print_a1eH :: PrelBase.Int{-3g,W-} + -> IOBase.IO{-3e,p-} PrelBase.(){-40,W-} +{-# L #-} +print_a1eH = + PrelIO.print{-rLi,p-} _@_ PrelBase.Int{-3g,W-} d.Show_a12a +d.Num_a127 :: {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Num_a127 = + PrelBase.$d4{-raN,p-} +d.Integral_a128 :: {PrelNum.Integral{-27,p-} PrelBase.Int{-3g,W-}} +{-# L #-} +d.Integral_a128 = + PrelNum.$d36{-roC,p-} +lit_a1eI :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1eI = + PrelBase.I#{-5b,w-}{i} 4 +lit_a1eJ :: PrelBase.Int{-3g,W-} +{-# L #-} +lit_a1eJ = + PrelBase.I#{-5b,w-}{i} 6 +end Rec } diff --git a/ghc/tests/deSugar/should_run/Makefile b/ghc/tests/deSugar/should_run/Makefile index ca6251d..41a6253 100644 --- a/ghc/tests/deSugar/should_run/Makefile +++ b/ghc/tests/deSugar/should_run/Makefile @@ -3,15 +3,20 @@ include $(TOP)/mk/boilerplate.mk HS_SRCS = $(wildcard *.hs) BINS = $(patsubst %.o,%,$(HS_OBJS)) +RUNTESTS = $(patsubst %,%.run,$(BINS)) SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0 -HC_OPTS += -noC -dcore-lint +HC_OPTS += -dcore-lint -all :: $(BINS) +all :: $(BINS) $(RUNTESTS) -%.o : % +%.run : % + $(RUNTEST) $< $(RUNTEST_OPTS) + +% : %.o $(HC) $(HC_OPTS) $< -o $@ +dsrun005_RUNTEST_OPTS = -x 1 include $(TOP)/mk/target.mk diff --git a/ghc/tests/deSugar/should_run/dsrun001.stdout b/ghc/tests/deSugar/should_run/dsrun001.stdout new file mode 100644 index 0000000..130e6b0 --- /dev/null +++ b/ghc/tests/deSugar/should_run/dsrun001.stdout @@ -0,0 +1 @@ +[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)] diff --git a/ghc/tests/deSugar/should_run/dsrun002.stdout b/ghc/tests/deSugar/should_run/dsrun002.stdout new file mode 100644 index 0000000..660eace --- /dev/null +++ b/ghc/tests/deSugar/should_run/dsrun002.stdout @@ -0,0 +1 @@ +aabcb diff --git a/ghc/tests/deSugar/should_run/ds003.hs b/ghc/tests/deSugar/should_run/dsrun003.hs similarity index 100% rename from ghc/tests/deSugar/should_run/ds003.hs rename to ghc/tests/deSugar/should_run/dsrun003.hs diff --git a/ghc/tests/deSugar/should_run/dsrun003.stdout b/ghc/tests/deSugar/should_run/dsrun003.stdout new file mode 100644 index 0000000..0ca9514 --- /dev/null +++ b/ghc/tests/deSugar/should_run/dsrun003.stdout @@ -0,0 +1 @@ +True diff --git a/ghc/tests/deSugar/should_run/ds004.hs b/ghc/tests/deSugar/should_run/dsrun004.hs similarity index 100% rename from ghc/tests/deSugar/should_run/ds004.hs rename to ghc/tests/deSugar/should_run/dsrun004.hs diff --git a/ghc/tests/deSugar/should_run/dsrun004.stdout b/ghc/tests/deSugar/should_run/dsrun004.stdout new file mode 100644 index 0000000..49ae94b --- /dev/null +++ b/ghc/tests/deSugar/should_run/dsrun004.stdout @@ -0,0 +1,2 @@ +2 +5 diff --git a/ghc/tests/deSugar/should_run/ds005.hs b/ghc/tests/deSugar/should_run/dsrun005.hs similarity index 100% rename from ghc/tests/deSugar/should_run/ds005.hs rename to ghc/tests/deSugar/should_run/dsrun005.hs diff --git a/ghc/tests/deSugar/should_run/dsrun005.stderr b/ghc/tests/deSugar/should_run/dsrun005.stderr new file mode 100644 index 0000000..ce7bbe2 --- /dev/null +++ b/ghc/tests/deSugar/should_run/dsrun005.stderr @@ -0,0 +1,2 @@ + +Fail: dsrun005.hs:42: Non-exhaustive patterns in function `f' diff --git a/ghc/tests/stranal/should_compile/moo.stderr b/ghc/tests/deSugar/should_run/dsrun005.stdout similarity index 100% rename from ghc/tests/stranal/should_compile/moo.stderr rename to ghc/tests/deSugar/should_run/dsrun005.stdout diff --git a/ghc/tests/deSugar/should_run/ds006.hs b/ghc/tests/deSugar/should_run/dsrun006.hs similarity index 100% rename from ghc/tests/deSugar/should_run/ds006.hs rename to ghc/tests/deSugar/should_run/dsrun006.hs diff --git a/ghc/tests/deSugar/should_run/dsrun006.stdout b/ghc/tests/deSugar/should_run/dsrun006.stdout new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/ghc/tests/deSugar/should_run/dsrun006.stdout @@ -0,0 +1 @@ +3 diff --git a/ghc/tests/deriving/should_compile/Makefile b/ghc/tests/deriving/should_compile/Makefile index a6cfba3..8a8af1e 100644 --- a/ghc/tests/deriving/should_compile/Makefile +++ b/ghc/tests/deriving/should_compile/Makefile @@ -1,15 +1,7 @@ -TOP = ../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0 -HC_OPTS += -noC -dcore-lint -hi -ddump-tc - -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) - -all :: $(HS_OBJS) +HC_OPTS += -noC -dcore-lint -hi -ddump-tc include $(TOP)/mk/target.mk - diff --git a/ghc/tests/deriving/should_compile/drv008.hs b/ghc/tests/deriving/should_compile/drv008.hs index da1391d..c06332e 100644 --- a/ghc/tests/deriving/should_compile/drv008.hs +++ b/ghc/tests/deriving/should_compile/drv008.hs @@ -1,5 +1,7 @@ --!!! deriving Ix on d. type with nullary constructors module ShouldSucceed where +import Ix + data AD = A | B | C | D deriving (Show, Ord, Eq, Ix) diff --git a/ghc/tests/deriving/should_compile/drv008.stderr b/ghc/tests/deriving/should_compile/drv008.stderr new file mode 100644 index 0000000..6d714d8 --- /dev/null +++ b/ghc/tests/deriving/should_compile/drv008.stderr @@ -0,0 +1,193 @@ + + +================================================================================ +Typechecked: +A{-r4,x-}{i} = A{-r4,x-}{i} {} +B{-r3,x-}{i} = B{-r3,x-}{i} {} +C{-r6,x-}{i} = C{-r6,x-}{i} {} +D{-r8,x-}{i} = D{-r8,x-}{i} {} +AbsBinds [] [] [([], con2tag_AD#_rUn, con2tag_AD#_aXE)] + con2tag_AD#_aXE A{-r4,x-}{i} = 0# + con2tag_AD#_aXE B{-r3,x-}{i} = 1# + con2tag_AD#_aXE C{-r6,x-}{i} = 2# + con2tag_AD#_aXE D{-r8,x-}{i} = 3# +AbsBinds [] [] [([], maxtag_AD#_rUm, maxtag_AD#_aXJ)] + maxtag_AD#_aXJ = PrelBase.I#{-5b,w-}{i} 3# +AbsBinds [] [] [([], tag2con_AD#_rUl, tag2con_AD#_aXM)] + tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 0#) = A{-r4,x-}{i} + tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 1#) = B{-r3,x-}{i} + tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 2#) = C{-r6,x-}{i} + tag2con_AD#_aXM (PrelBase.I#{-5b,w-}{i} 3#) = D{-r8,x-}{i} + tag2con_AD#_aXM _ + = IOBase.error{-87,w-} AD{-r4h,x-} "Urk! in TcGenDeriv" +AbsBinds [] [] [([], $d1{-r12z,x-}, d.Eq_aXY)] + ==_a12G = ==_a12H + AbsBinds [] [] [([], ==_a12H, ==_aY2)] + ==_aY2 a_rUC b_rUD + = case con2tag_AD#_rUn a_rUC of + a#_rUF + -> case con2tag_AD#_rUn b_rUD of + b#_rUH + -> if a#_rUF GHC.==#{-79,w-}{I} b#_rUH then + PrelBase.True{-5E,w-}{i} + else + PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], /=_a12I, /=_aYh)] + /=_aYh a_rUL b_rUM = PrelBase.not{-rhL,p-} ==_a12G a_rUL b_rUM + d.Eq_aXY = ({-dict-} [] [==_a12H, /=_a12I]) +AbsBinds [] [] [([], $d2{-r12A,x-}, d.Eval_aYt)] + d.Eval_aYt = ({-dict-} [] []) +AbsBinds [] [] [([], $d3{-r12B,x-}, d.Ord_aYy)] + d.Eq_a10h = $d1{-r12z,x-} + compare_a12J = compare_a12P + compare_a12K = compare_a12P + compare_a12L = compare_a12P + compare_a12M = compare_a12P + compare_a12N = compare_a12P + compare_a12O = compare_a12P + AbsBinds [] [] [([], compare_a12P, compare_aYC)] + compare_aYC a_rVE b_rVF + = case con2tag_AD#_rUn a_rVE of + a#_rVK + -> case con2tag_AD#_rUn b_rVF of + b#_rVM + -> if a#_rVK GHC.==#{-79,w-}{I} b#_rVM then + PrelBase.EQ{-raK,p-}{i} + else + if a#_rVK GHC.<#{-7b,w-}{I} b#_rVM then + PrelBase.LT{-raL,p-}{i} + else + PrelBase.GT{-raM,p-}{i} + where + {- nonrec -} + AbsBinds [taYV, taYX] [] [([taYV, taYX], cmp_eq_rVH, cmp_eq_aYG)] + cmp_eq_aYG _ _ = PrelBase.EQ{-raK,p-}{i} + {- nonrec -} + {- nonrec -} + AbsBinds [] [] [([], <_a12Q, <_aZa)] + <_aZa a_rUS b_rUT + = case compare_a12J a_rUS b_rUT of + PrelBase.LT{-raL,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.EQ{-raK,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.GT{-raM,p-}{i} -> PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], <=_a12R, <=_aZm)] + <=_aZm a_rV0 b_rV1 + = case compare_a12K a_rV0 b_rV1 of + PrelBase.LT{-raL,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.EQ{-raK,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.GT{-raM,p-}{i} -> PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], >=_a12S, >=_aZy)] + >=_aZy a_rV8 b_rV9 + = case compare_a12L a_rV8 b_rV9 of + PrelBase.LT{-raL,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.EQ{-raK,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.GT{-raM,p-}{i} -> PrelBase.True{-5E,w-}{i} + AbsBinds [] [] [([], >_a12T, >_aZK)] + >_aZK a_rVg b_rVh + = case compare_a12M a_rVg b_rVh of + PrelBase.LT{-raL,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.EQ{-raK,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.GT{-raM,p-}{i} -> PrelBase.True{-5E,w-}{i} + AbsBinds [] [] [([], max_a12U, max_aZW)] + max_aZW a_rVo b_rVp + = case compare_a12N a_rVo b_rVp of + PrelBase.LT{-raL,p-}{i} -> b_rVp + PrelBase.EQ{-raK,p-}{i} -> a_rVo + PrelBase.GT{-raM,p-}{i} -> a_rVo + AbsBinds [] [] [([], min_a12V, min_a108)] + min_a108 a_rVw b_rVx + = case compare_a12O a_rVw b_rVx of + PrelBase.LT{-raL,p-}{i} -> a_rVw + PrelBase.EQ{-raK,p-}{i} -> b_rVx + PrelBase.GT{-raM,p-}{i} -> b_rVx + d.Ord_aYy = + ({-dict-} + [d.Eq_a10h] + [compare_a12P, <_a12Q, <=_a12R, >=_a12S, >_a12T, max_a12U, min_a12V]) +AbsBinds [] [] [([], $d4{-r12C,x-}, d.Show_a10o)] + showsPrec_a12W = showsPrec_a12X + AbsBinds [] [] [([], showsPrec_a12X, showsPrec_a10s)] + showsPrec_a10s a_rVR A{-r4,x-}{i} + = PrelBase.showString{-ri0,p-} "A" + showsPrec_a10s a_rVT B{-r3,x-}{i} + = PrelBase.showString{-ri0,p-} "B" + showsPrec_a10s a_rVV C{-r6,x-}{i} + = PrelBase.showString{-ri0,p-} "C" + showsPrec_a10s a_rVX D{-r8,x-}{i} + = PrelBase.showString{-ri0,p-} "D" + AbsBinds [] [] [([], showList_a12Y, showList_a10B)] + showList_a10B = PrelBase.showList__{-rhV,p-} + AD{-r4h,x-} showsPrec_a12W PrelBase.I#{-5b,w-}{i} 0# + d.Show_a10o = ({-dict-} [] [showsPrec_a12X, showList_a12Y]) +AbsBinds [] [] [([], $d5{-r12D,x-}, d.Ix_a10M)] + d.Show_a12j = $d4{-r12C,x-} + d.Ord_a12k = $d3{-r12B,x-} + inRange_a12Z = inRange_a132 + AbsBinds [] [] [([], range_a130, range_a10Q)] + range_a10Q (a_rW5, b_rW6) + = case con2tag_AD#_rUn a_rW5 of + a#_rW8 + -> case con2tag_AD#_rUn b_rW6 of + b#_rWa + -> map_a12E [PrelBase.Int{-3g,W-}, AD{-r4h,x-}] tag2con_AD#_rUl + enumFromTo_a12F PrelBase.I#{-5b,w-}{i} a#_rW8 + PrelBase.I#{-5b,w-}{i} b#_rWa + AbsBinds [] [] [([], index_a131, index_a11q)] + index_a11q (c_rWe@(a_rWf, b_rWg)) d_rWh + = if inRange_a12Z c_rWe d_rWh then + case con2tag_AD#_rUn a_rWf of + a#_rWj + -> case con2tag_AD#_rUn d_rWh of + d#_rWl + -> case d#_rWl GHC.-#{-7E,w-}{I} a#_rWj of + c_rWn -> PrelBase.I#{-5b,w-}{i} c_rWn + else + IOBase.error{-87,w-} + PrelBase.Int{-3g,W-} "Ix.AD.index: out of range\n" + AbsBinds [] [] [([], inRange_a132, inRange_a11X)] + inRange_a11X (a_rWr, b_rWs) c_rWt + = case con2tag_AD#_rUn a_rWr of + a#_rWv + -> case con2tag_AD#_rUn b_rWs of + b#_rWx + -> case con2tag_AD#_rUn c_rWt of + c#_rWz + -> if c#_rWz GHC.>=#{-78,w-}{I} a#_rWv then + c#_rWz GHC.<=#{-7c,w-}{I} b#_rWx + else + PrelBase.False{-58,w-}{i} + d.Ix_a10M = + ({-dict-} + [d.Show_a12j, d.Ord_a12k] + [range_a130, index_a131, inRange_a132]) +d.Functor_a12v = PrelBase.$d26{-rbT,p-} +map_a12E = PrelBase.map{-rgT,p-} PrelBase.[]{-3j,W-} d.Functor_a12v +d.Enum_a12y = PrelBase.$d6{-rct,p-} +enumFromTo_a12F = + PrelBase.enumFromTo{-8W,p-} PrelBase.Int{-3g,W-} d.Enum_a12y + +NOTE: Simplifier still going after 4 iterations; bailing out. +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1; +PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1; +PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1; +_exports_ +ShouldSucceed AD(A B C D); +_instances_ +instance {PrelBase.Eq AD} = $d1; +instance {PrelBase.Eval AD} = $d2; +instance {PrelBase.Ord AD} = $d3; +instance {PrelBase.Show AD} = $d4; +instance {Ix.Ix AD} = $d5; +_declarations_ +1 $d1 _:_ {PrelBase.Eq AD} ;; +1 $d2 _:_ {PrelBase.Eval AD} ;; +1 $d3 _:_ {PrelBase.Ord AD} ;; +1 $d4 _:_ {PrelBase.Show AD} ;; +1 $d5 _:_ {Ix.Ix AD} ;; +1 data AD = A | B | C | D ; diff --git a/ghc/tests/deriving/should_compile/drv009.hs b/ghc/tests/deriving/should_compile/drv009.hs index e0ff399..4d19278 100644 --- a/ghc/tests/deriving/should_compile/drv009.hs +++ b/ghc/tests/deriving/should_compile/drv009.hs @@ -1,4 +1,6 @@ --!!! deriving Ix on d. type with one constructor module ShouldSucceed where +import Ix + data Pair a b = Pair a b deriving (Show, Ord, Eq, Ix) diff --git a/ghc/tests/deriving/should_compile/drv009.stderr b/ghc/tests/deriving/should_compile/drv009.stderr new file mode 100644 index 0000000..da8142d --- /dev/null +++ b/ghc/tests/deriving/should_compile/drv009.stderr @@ -0,0 +1,248 @@ + + +================================================================================ +Typechecked: +Pair{-r4e,x-}{i} = + _/\_ a_tr4b b_tr4c -> \ tpl_B1 tpl_B2 -> + Pair{-r4e,x-}{i} {_@_ a_tr4b _@_ b_tr4c tpl_B1 tpl_B2} +AbsBinds +[taXK, taXN] +[] +[([taXK, taXN], con2tag_Pair#_rUo, con2tag_Pair#_aXD)] + con2tag_Pair#_aXD (Pair{-r4e,x-}{i} _ _) = 0# +AbsBinds [] [] [([], maxtag_Pair#_rUn, maxtag_Pair#_aXR)] + maxtag_Pair#_aXR = PrelBase.I#{-5b,w-}{i} 0# +AbsBinds +[taY0, taY2] +[] +[([taY0, taY2], tag2con_Pair#_rUm, tag2con_Pair#_aXU)] + tag2con_Pair#_aXU (PrelBase.I#{-5b,w-}{i} 0#) + = Pair{-r4e,x-}{i} [taY0, taY2] + tag2con_Pair#_aXU _ + = IOBase.error{-87,w-} + (taY0 -> taY2 -> Pair{-r4d,x-} taY0 taY2) "Urk! in TcGenDeriv" +AbsBinds +[taYr, taYs] +[d.Eq_aYS, d.Eq_aYT] +[([taYr, taYs], $d1{-r17l,x-}, d.Eq_aYe)] + d.Eq_aYX = d.Eq_aYS + ==_a17y = PrelBase.=={-8Y,p-} taYr d.Eq_aYX + d.Eq_aYZ = d.Eq_aYT + ==_a17z = PrelBase.=={-8Y,p-} taYs d.Eq_aYZ + ==_a17A = ==_a17B + AbsBinds [] [] [([], ==_a17B, ==_aYi)] + ==_aYi (Pair{-r4e,x-}{i} a1_rUx a2_rUy) + (Pair{-r4e,x-}{i} b1_rUz b2_rUA) + = (a1_rUx ==_a17y b1_rUz) + PrelBase.&&{-rgJ,p-} (a2_rUy ==_a17z b2_rUA) + AbsBinds [] [] [([], /=_a17C, /=_aYL)] + /=_aYL a_rUE b_rUF = PrelBase.not{-rhH,p-} ==_a17A a_rUE b_rUF + d.Eq_aYe = ({-dict-} [] [==_a17B, /=_a17C]) +AbsBinds +[ta17g, ta17h] +[] +[([ta17g, ta17h], $d2{-r17m,x-}, d.Eval_aZ8)] + d.Eval_aZ8 = ({-dict-} [] []) +AbsBinds +[taZm, taZn] +[d.Ord_a11v, d.Ord_a11w, d.Eq_a11x] +[([taZm, taZn], $d3{-r17n,x-}, d.Ord_aZf)] + d.Eq_a11u = d.Eq_a11x + d.Ord_a10d = d.Ord_a11v + d.Ord_a10e = d.Ord_a11w + compare_a17D = compare_a17J + compare_a17E = compare_a17J + compare_a17F = compare_a17J + compare_a17G = compare_a17J + compare_a17H = compare_a17J + compare_a17I = compare_a17J + AbsBinds [] [] [([], compare_a17J, compare_aZj)] + compare_aZj a_rVx b_rVy + = case cmp_eq_a17Q a_rVx b_rVy of + PrelBase.LT{-raH,p-}{i} -> PrelBase.LT{-raH,p-}{i} + PrelBase.EQ{-raG,p-}{i} -> PrelBase.EQ{-raG,p-}{i} + PrelBase.GT{-raI,p-}{i} -> PrelBase.GT{-raI,p-}{i} + where + {- nonrec -} + AbsBinds + [taZR, taZV] + [d.Ord_a103, d.Ord_a105] + [([taZR, taZV], cmp_eq_rVA, cmp_eq_aZr)] + compare_a17R = PrelBase.compare{-rgY,p-} taZR d.Ord_a103 + compare_a17S = PrelBase.compare{-rgY,p-} taZV d.Ord_a105 + cmp_eq_aZr (Pair{-r4e,x-}{i} a1_rVC a2_rVD) + (Pair{-r4e,x-}{i} b1_rVE b2_rVF) + = case compare_a17R a1_rVC b1_rVE of + PrelBase.LT{-raH,p-}{i} -> PrelBase.LT{-raH,p-}{i} + PrelBase.EQ{-raG,p-}{i} + -> case compare_a17S a2_rVD b2_rVF of + PrelBase.LT{-raH,p-}{i} -> PrelBase.LT{-raH,p-}{i} + PrelBase.EQ{-raG,p-}{i} -> PrelBase.EQ{-raG,p-}{i} + PrelBase.GT{-raI,p-}{i} -> PrelBase.GT{-raI,p-}{i} + PrelBase.GT{-raI,p-}{i} -> PrelBase.GT{-raI,p-}{i} + cmp_eq_aZr _ _ + = IOBase.error{-87,w-} + PrelBase.Ordering{-3o,p-} "Urk! in TcGenDeriv" + {- nonrec -} + cmp_eq_a17Q = cmp_eq_rVA [taZm, taZn] [d.Ord_a10d, d.Ord_a10e] + {- nonrec -} + AbsBinds [] [] [([], <_a17K, <_a10j)] + <_a10j a_rUL b_rUM + = case compare_a17D a_rUL b_rUM of + PrelBase.LT{-raH,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.EQ{-raG,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.GT{-raI,p-}{i} -> PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], <=_a17L, <=_a10w)] + <=_a10w a_rUT b_rUU + = case compare_a17E a_rUT b_rUU of + PrelBase.LT{-raH,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.EQ{-raG,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.GT{-raI,p-}{i} -> PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], >=_a17M, >=_a10J)] + >=_a10J a_rV1 b_rV2 + = case compare_a17F a_rV1 b_rV2 of + PrelBase.LT{-raH,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.EQ{-raG,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.GT{-raI,p-}{i} -> PrelBase.True{-5E,w-}{i} + AbsBinds [] [] [([], >_a17N, >_a10W)] + >_a10W a_rV9 b_rVa + = case compare_a17G a_rV9 b_rVa of + PrelBase.LT{-raH,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.EQ{-raG,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.GT{-raI,p-}{i} -> PrelBase.True{-5E,w-}{i} + AbsBinds [] [] [([], max_a17O, max_a119)] + max_a119 a_rVh b_rVi + = case compare_a17H a_rVh b_rVi of + PrelBase.LT{-raH,p-}{i} -> b_rVi + PrelBase.EQ{-raG,p-}{i} -> a_rVh + PrelBase.GT{-raI,p-}{i} -> a_rVh + AbsBinds [] [] [([], min_a17P, min_a11m)] + min_a11m a_rVp b_rVq + = case compare_a17I a_rVp b_rVq of + PrelBase.LT{-raH,p-}{i} -> a_rVp + PrelBase.EQ{-raG,p-}{i} -> b_rVq + PrelBase.GT{-raI,p-}{i} -> b_rVq + d.Ord_aZf = + ({-dict-} + [d.Eq_a11u] + [compare_a17J, <_a17K, <=_a17L, >=_a17M, >_a17N, max_a17O, min_a17P]) +AbsBinds +[ta121, ta122] +[d.Show_a12w, d.Show_a12x] +[([ta121, ta122], $d4{-r17o,x-}, d.Show_a11N)] + d.Show_a12D = d.Show_a12w + showsPrec_a17T = PrelBase.showsPrec{-rh4,p-} ta121 d.Show_a12D + d.Show_a12F = d.Show_a12x + showsPrec_a17U = PrelBase.showsPrec{-rh4,p-} ta122 d.Show_a12F + showsPrec_a17V = showsPrec_a17W + AbsBinds [] [] [([], showsPrec_a17W, showsPrec_a11R)] + showsPrec_a11R a_rVU (Pair{-r4e,x-}{i} b1_rVV b2_rVW) + = PrelBase.showParen{-rhT,p-} a_rVU >=_a17q lit_a17r + PrelBase..{-rgK,p-} + [PrelBase.String{-rh7,p-}, PrelBase.String{-rh7,p-}, PrelBase.String{-rh7,p-}] PrelBase.showString{-rhW,p-} "Pair " + PrelBase..{-rgK,p-} + [PrelBase.String{-rh7,p-}, PrelBase.String{-rh7,p-}, PrelBase.String{-rh7,p-}] showsPrec_a17T PrelBase.I#{-5b,w-}{i} 10# + b1_rVV + PrelBase..{-rgK,p-} + [PrelBase.String{-rh7,p-}, PrelBase.String{-rh7,p-}, PrelBase.String{-rh7,p-}] PrelBase.showSpace{-rhV,p-} + showsPrec_a17U PrelBase.I#{-5b,w-}{i} 10# + b2_rVW + AbsBinds [] [] [([], showList_a17X, showList_a12r)] + showList_a12r = PrelBase.showList__{-rhR,p-} + (Pair{-r4d,x-} ta121 ta122) showsPrec_a17V PrelBase.I#{-5b,w-}{i} 0# + d.Show_a11N = ({-dict-} [] [showsPrec_a17W, showList_a17X]) +AbsBinds +[ta13d, ta13e] +[d.Ix_a16l, d.Ix_a16m, d.Show_a16n, d.Ord_a16o] +[([ta13d, ta13e], $d5{-r17p,x-}, d.Ix_a12O)] + d.Show_a16k = d.Show_a16n + d.Ord_a16p = d.Ord_a16o + d.Ix_a16s = d.Ix_a16l + range_a17Y = Ix.range{-rbr,p-} ta13d d.Ix_a16s + d.Ix_a16u = d.Ix_a16m + range_a17Z = Ix.range{-rbr,p-} ta13e d.Ix_a16u + d.Ix_a16C = d.Ix_a16m + index_a180 = Ix.index{-rbs,p-} ta13e d.Ix_a16C + d.Ix_a15t = d.Ix_a16m + d.Ix_a16G = d.Ix_a16l + index_a181 = Ix.index{-rbs,p-} ta13d d.Ix_a16G + d.Ix_a15u = d.Ix_a16l + d.Ix_a16I = d.Ix_a16l + inRange_a182 = Ix.inRange{-rbt,p-} ta13d d.Ix_a16I + d.Ix_a16K = d.Ix_a16m + inRange_a183 = Ix.inRange{-rbt,p-} ta13e d.Ix_a16K + AbsBinds [] [] [([], range_a184, range_a12S)] + range_a12S ((Pair{-r4e,x-}{i} a1_rW4 a2_rW5), (Pair{-r4e,x-}{i} b1_rW6 b2_rW7)) + = [Pair{-r4e,x-}{i} [ta13d, ta13e] c1_rW9 c2_rWb | + c1_rW9 <- range_a17Y (a1_rW4, + b1_rW6), c2_rWb <- range_a17Z (a2_rW5, b2_rW7)] + AbsBinds [] [] [([], index_a185, index_a13T)] + +_a187 = +_a17u + *_a188 = *_a17v + +_a189 = +_a17u + index_a13T ((Pair{-r4e,x-}{i} a1_rWf a2_rWg), (Pair{-r4e,x-}{i} b1_rWh b2_rWi)) + (Pair{-r4e,x-}{i} c1_rWj c2_rWk) + = (index_a180 (a2_rWg, b2_rWi) c2_rWk) + +_a17u ((rangeSize_a18a (a2_rWg, b2_rWi)) + *_a17v ((index_a181 (a1_rWf, b1_rWh) c1_rWj) + +_a187 ((rangeSize_a18b (a1_rWf, b1_rWh)) *_a188 lit_a17w))) + where + {- nonrec -} + AbsBinds + [ta14I] + [d.Ix_a14P] + [([ta14I], rangeSize_rWm, rangeSize_a14n)] + index_a18c = Ix.index{-rbs,p-} ta14I d.Ix_a14P + rangeSize_a14n (a_rWo, b_rWp) + = (index_a18c (a_rWo, b_rWp) b_rWp) +_a189 lit_a17x + {- nonrec -} + rangeSize_a18a = rangeSize_rWm ta13e d.Ix_a15t + rangeSize_a18b = rangeSize_rWm ta13d d.Ix_a15u + {- nonrec -} + AbsBinds [] [] [([], inRange_a186, inRange_a15D)] + inRange_a15D ((Pair{-r4e,x-}{i} a1_rWt a2_rWu), (Pair{-r4e,x-}{i} b1_rWv b2_rWw)) + (Pair{-r4e,x-}{i} c1_rWx c2_rWy) + = (inRange_a182 (a1_rWt, b1_rWv) c1_rWx) + PrelBase.&&{-rgJ,p-} (inRange_a183 (a2_rWu, b2_rWw) c2_rWy) + d.Ix_a12O = + ({-dict-} + [d.Show_a16k, d.Ord_a16p] + [range_a184, index_a185, inRange_a186]) +d.Ord_a174 = PrelBase.$d7{-rcq,p-} +>=_a17q = PrelBase.>={-8Z,p-} PrelBase.Int{-3g,W-} d.Ord_a174 +lit_a17r = PrelBase.I#{-5b,w-}{i} 10# +d.Monad_a177 = PrelBase.$d25{-rbO,p-} +>>=_a17s = PrelBase.>>={-811,p-} PrelBase.[]{-3j,W-} d.Monad_a177 +d.Monad_a17a = d.Monad_a177 +return_a17t = + PrelBase.return{-816,p-} PrelBase.[]{-3j,W-} d.Monad_a17a +d.Num_a17c = PrelBase.$d4{-rc4,p-} ++_a17u = PrelBase.+{-rgT,p-} PrelBase.Int{-3g,W-} d.Num_a17c +d.Num_a17f = d.Num_a17c +*_a17v = PrelBase.*{-rgU,p-} PrelBase.Int{-3g,W-} d.Num_a17f +lit_a17w = PrelBase.I#{-5b,w-}{i} 0# +lit_a17x = PrelBase.I#{-5b,w-}{i} 1# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +Ix 1 :: $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1; +PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 && 1 . 1 not 1 showList__ 1 showParen 1 showSpace 1 showString 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Ordering 1 Show 1 ShowS 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d28 1 $d29 1 $d30 1 $d33 1 $d34 1 $d35 1 $d8 1; +PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1; +_exports_ +ShouldSucceed Pair(Pair); +_instances_ +instance _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelBase.Eq (Pair a b)} = $d1; +instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $d2; +instance _forall_ [a b] {PrelBase.Ord a, PrelBase.Ord b} => {PrelBase.Ord (Pair a b)} = $d3; +instance _forall_ [a b] {PrelBase.Show a, PrelBase.Show b} => {PrelBase.Show (Pair a b)} = $d4; +instance _forall_ [a b] {Ix.Ix a, Ix.Ix b} => {Ix.Ix (Pair a b)} = $d5; +_declarations_ +1 $d1 _:_ _forall_ [a b] {PrelBase.Eq a, PrelBase.Eq b} => {PrelBase.Eq (Pair a b)} ;; +1 $d2 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;; +1 $d3 _:_ _forall_ [a b] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Eq (Pair a b)} => {PrelBase.Ord (Pair a b)} ;; +1 $d4 _:_ _forall_ [a b] {PrelBase.Show a, PrelBase.Show b} => {PrelBase.Show (Pair a b)} ;; +1 $d5 _:_ _forall_ [a b] {Ix.Ix a, Ix.Ix b, PrelBase.Show (Pair a b), PrelBase.Ord (Pair a b)} => {Ix.Ix (Pair a b)} ;; +1 data Pair a b = Pair a b ; diff --git a/ghc/tests/deriving/should_compile/drv010.stderr b/ghc/tests/deriving/should_compile/drv010.stderr new file mode 100644 index 0000000..63c0573 --- /dev/null +++ b/ghc/tests/deriving/should_compile/drv010.stderr @@ -0,0 +1,87 @@ + + +================================================================================ +Typechecked: +A{-r4,x-}{i} = A{-r4,x-}{i} {} +B{-r3,x-}{i} = B{-r3,x-}{i} {} +C{-r6,x-}{i} = C{-r6,x-}{i} {} +D{-r8,x-}{i} = D{-r8,x-}{i} {} +AbsBinds [] [] [([], con2tag_AD#_rBg, con2tag_AD#_aC1)] + con2tag_AD#_aC1 A{-r4,x-}{i} = 0# + con2tag_AD#_aC1 B{-r3,x-}{i} = 1# + con2tag_AD#_aC1 C{-r6,x-}{i} = 2# + con2tag_AD#_aC1 D{-r8,x-}{i} = 3# +AbsBinds [] [] [([], maxtag_AD#_rBf, maxtag_AD#_aC6)] + maxtag_AD#_aC6 = PrelBase.I#{-5b,w-}{i} 3# +AbsBinds [] [] [([], tag2con_AD#_rBe, tag2con_AD#_aC9)] + tag2con_AD#_aC9 (PrelBase.I#{-5b,w-}{i} 0#) = A{-r4,x-}{i} + tag2con_AD#_aC9 (PrelBase.I#{-5b,w-}{i} 1#) = B{-r3,x-}{i} + tag2con_AD#_aC9 (PrelBase.I#{-5b,w-}{i} 2#) = C{-r6,x-}{i} + tag2con_AD#_aC9 (PrelBase.I#{-5b,w-}{i} 3#) = D{-r8,x-}{i} + tag2con_AD#_aC9 _ + = IOBase.error{-87,w-} AD{-rU,x-} "Urk! in TcGenDeriv" +AbsBinds [] [] [([], $d1{-rEh,x-}, d.Enum_aCl)] + map_aEp = map_aEk + AbsBinds [] [] [([], toEnum_aEq, toEnum_aCp)] + toEnum_aCp a_rBv = tag2con_AD#_rBe a_rBv + AbsBinds [] [] [([], fromEnum_aEr, fromEnum_aCv)] + fromEnum_aCv a_rBO + = case con2tag_AD#_rBg a_rBO of + a#_rBQ -> PrelBase.I#{-5b,w-}{i} a#_rBQ + AbsBinds [] [] [([], enumFrom_aEs, enumFrom_aCF)] + enumFrom_aCF a_rBz + = case con2tag_AD#_rBg a_rBz of + a#_rBB + -> map_aEk [PrelBase.Int{-3g,W-}, AD{-rU,x-}] tag2con_AD#_rBe + enumFromTo_aEl PrelBase.I#{-5b,w-}{i} a#_rBB + maxtag_AD#_rBf + AbsBinds [] [] [([], enumFromThen_aEt, enumFromThen_aD4)] + enumFromThen_aD4 a_rBF b_rBG + = case con2tag_AD#_rBg a_rBF of + a#_rBI + -> case con2tag_AD#_rBg b_rBG of + b#_rBK + -> map_aEp [PrelBase.Int{-3g,W-}, AD{-rU,x-}] tag2con_AD#_rBe + enumFromThenTo_aEm PrelBase.I#{-5b,w-}{i} a#_rBI + PrelBase.I#{-5b,w-}{i} b#_rBK + maxtag_AD#_rBf + AbsBinds [] [] [([], enumFromTo_aEu, enumFromTo_aDz)] + enumFromTo_aDz = $menumFromTo_aEn + AbsBinds [] [] [([], enumFromThenTo_aEv, enumFromThenTo_aDJ)] + enumFromThenTo_aDJ = $menumFromThenTo_aEo + d.Enum_aCl = + ({-dict-} + [] + [toEnum_aEq, fromEnum_aEr, enumFrom_aEs, enumFromThen_aEt, enumFromTo_aEu, enumFromThenTo_aEv]) +AbsBinds [] [] [([], $d2{-rEj,x-}, d.Eval_aE3)] + d.Eval_aE3 = ({-dict-} [] []) +d.Functor_aE5 = PrelBase.$d26{-rai,p-} +map_aEk = PrelBase.map{-rT,p-} PrelBase.[]{-3j,W-} d.Functor_aE5 +d.Enum_aE8 = PrelBase.$d6{-raS,p-} +enumFromTo_aEl = + PrelBase.enumFromTo{-8W,p-} PrelBase.Int{-3g,W-} d.Enum_aE8 +d.Enum_aEb = d.Enum_aE8 +enumFromThenTo_aEm = + PrelBase.enumFromThenTo{-8X,p-} PrelBase.Int{-3g,W-} d.Enum_aEb +d.Enum_aEd = $d1{-rEh,x-} +$menumFromTo_aEn = + PrelBase.$menumFromTo{-rf6,p-} AD{-rU,x-} d.Enum_aEd +d.Enum_aEg = d.Enum_aEd +$menumFromThenTo_aEo = + PrelBase.$menumFromThenTo{-rf5,p-} AD{-rU,x-} d.Enum_aEg +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d14 1 $d2 1 $d26 1 $d31 1 $d38 1 $d40 1 $d42 1 $d45 1 $d47 1 $d6 1 $menumFromThenTo 1 $menumFromTo 1 Enum 1 Eval 1 Functor 1; +PrelNum 1 :: $d8 1; +_exports_ +ShouldSucceed AD(A B C D); +_instances_ +instance {PrelBase.Enum AD} = $d1; +instance {PrelBase.Eval AD} = $d2; +_declarations_ +1 $d1 _:_ {PrelBase.Enum AD} ;; +1 $d2 _:_ {PrelBase.Eval AD} ;; +1 data AD = A | B | C | D ; diff --git a/ghc/tests/deriving/should_fail/Makefile b/ghc/tests/deriving/should_fail/Makefile index fb0a5f3..5d88d1e 100644 --- a/ghc/tests/deriving/should_fail/Makefile +++ b/ghc/tests/deriving/should_fail/Makefile @@ -1,14 +1,7 @@ -TOP = ../../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_fail.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 1 HC_OPTS += -noC -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ - -all :: $(HS_OBJS) - include $(TOP)/mk/target.mk diff --git a/ghc/tests/deriving/should_run/Makefile b/ghc/tests/deriving/should_run/Makefile index 4c05806..0c0576b 100644 --- a/ghc/tests/deriving/should_run/Makefile +++ b/ghc/tests/deriving/should_run/Makefile @@ -1,4 +1,4 @@ -TOP = ../../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk HS_SRCS = $(wildcard *.hs) diff --git a/ghc/tests/deriving/should_run/drvrun001.stdout b/ghc/tests/deriving/should_run/drvrun001.stdout new file mode 100644 index 0000000..bbfb2f6 --- /dev/null +++ b/ghc/tests/deriving/should_run/drvrun001.stdout @@ -0,0 +1 @@ +MkAge 8 diff --git a/ghc/tests/io/should_run/io019.hs b/ghc/tests/io/should_run/io019.hs index bd50838..219351b 100644 --- a/ghc/tests/io/should_run/io019.hs +++ b/ghc/tests/io/should_run/io019.hs @@ -7,8 +7,8 @@ main = let (CalendarTime year month mday hour min sec psec wday yday timezone gmtoff isdst) = toUTCTime time in - putStr (wdays !! wday) >> - putStr (' ' : months !! month) >> + putStr (wdays !! fromEnum wday) >> + putStr (' ' : months !! fromEnum month) >> putStr (' ' : shows2 mday (' ' : shows2 hour (':' : shows2 min (':' : shows2 sec (' ' : timezone ++ ' ' : shows year "\n"))))) diff --git a/ghc/tests/io/should_run/net002.hs b/ghc/tests/io/should_run/net002.hs index 7ae6cdc..8906023 100644 --- a/ghc/tests/io/should_run/net002.hs +++ b/ghc/tests/io/should_run/net002.hs @@ -37,6 +37,6 @@ main = connect s (SockAddrInet 5000 (inet_addr avon)) >> writeSocket s message >> - shutdown s 2 >> + shutdown s ShutdownBoth >> sClose s diff --git a/ghc/tests/io/should_run/net004.hs b/ghc/tests/io/should_run/net004.hs index 3891156..c504326 100644 --- a/ghc/tests/io/should_run/net004.hs +++ b/ghc/tests/io/should_run/net004.hs @@ -28,6 +28,6 @@ main = getPeerName s >>= \ (SockAddrInet p haddr) -> putStr ("Connected to : " ++ (inet_ntoa haddr) ++ "\n") >> writeSocket s message >> - shutdown s 2 >> + shutdown s ShutdownBoth >> sClose s diff --git a/ghc/tests/mk/boilerplate.mk b/ghc/tests/mk/boilerplate.mk index 8629c89..25d5ff3 100644 --- a/ghc/tests/mk/boilerplate.mk +++ b/ghc/tests/mk/boilerplate.mk @@ -16,20 +16,3 @@ TEST_TOP := $(TOP) TOP := $(TOP)/.. include $(TOP)/mk/boilerplate.mk TOP:=$(TEST_TOP) - - -# ----------------------------------------------------------------- -# Everything after this point -# augments or overrides previously set variables. -# (these files are optional, so `make' won't fret if it -# cannot get to them). -# ----------------------------------------------------------------- - - -# Define TEST_PROG. In ..../nofib/imaginary/exp3_8, PROG is exp3_8 by default. -# -TEST_PROG = $(notdir $(shell pwd))$(_way) - -# Eventually, have the binary purged -CLEAN_FILES += $(TEST_PROG) - diff --git a/ghc/tests/mk/target.mk b/ghc/tests/mk/target.mk index 92d4441..06f4a76 100644 --- a/ghc/tests/mk/target.mk +++ b/ghc/tests/mk/target.mk @@ -6,23 +6,5 @@ # ################################################################################# - -# Link step -$(TEST_PROG) : $(OBJS) - $(HC) $(HC_FLAGS) $(OBJS) -o $(TEST_PROG) - -# Run test -runtest : $(TEST_PROG) - $(RUNTEST) ./$< \ - $(addprefix -i ,$(wildcard $(TEST_PROG).stdin)) \ - $(addprefix -o1 ,$(wildcard $(TEST_PROG).stdout)) \ - $(addprefix -o2 ,$(wildcard $(TEST_PROG).stderr)) \ - $(RUNTEST_OPTS) - - -# Include standard boilerplate -# We do this at the end for cosmetic reasons: it means that the "normal-way" -# runtests will precede the "other-way" recursive invocations of make - include $(FPTOOLS_TOP)/mk/target.mk diff --git a/ghc/tests/printing/Makefile b/ghc/tests/printing/Makefile index bc76d45..5268832 100644 --- a/ghc/tests/printing/Makefile +++ b/ghc/tests/printing/Makefile @@ -1,19 +1,7 @@ -TOP = ../../.. +TOP = .. include $(TOP)/mk/boilerplate.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -accept-output -o1 $*.stdout -o2 $*.stderr -x 0 -HC_OPTS += -noC -ddump-tc -dcore-lint -hi - -%.o : %.hs - -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) - -all :: $(HS_OBJS) - -print002_HC_OPTS = -fno-implicit-prelude -dppr-user -ddump-rdr -ddump-tc +SUBDIRS = should_compile include $(TOP)/mk/target.mk diff --git a/ghc/tests/printing/Print001.stderr b/ghc/tests/printing/Print001.stderr deleted file mode 100644 index 4df3273..0000000 --- a/ghc/tests/printing/Print001.stderr +++ /dev/null @@ -1,97 +0,0 @@ - - -================================================================================ -Typechecked: -{- nonrec -} -{- nonrec -} -{- nonrec -} -BarNil{-r4r,x-}{i} = - _/\_ a{-r4O-} -> - BarNil{-r4r,x-}{i} - {_@_ a{-r4O-}} -BarCon{-r4q,x-}{i} = - _/\_ a{-r4O-} -> \ tpl_B1 tpl_B2 -> - BarCon{-r4q,x-}{i} - {_@_ a{-r4O-} tpl_B1 tpl_B2} -{- nonrec -} -MkFoo{-r4U,x-}{i} = - _/\_ d{-r4Q-} e{-r4R-} f{-r4S-} -> \ tpl_B1 tpl_B2 tpl_B3 -> - MkFoo{-r4U,x-}{i} - {_@_ d{-r4Q-} _@_ e{-r4R-} _@_ f{-r4S-} tpl_B1 tpl_B2 tpl_B3} -{- rec -} -AbsBinds [a{-a15E-}] [] [([a{-a15E-}], $d1{-r15L,x-}, d.Eval_a15s)] - d.Eval_a15s = - ({-dict-} [] []) -{- rec -} -AbsBinds -[d{-a15F-}, e{-a15H-}, f{-a15G-}] -[] -[([d{-a15F-}, e{-a15H-}, f{-a15G-}], $d2{-r15P,x-}, d.Eval_a15A)] - d.Eval_a15A = - ({-dict-} [] []) -{- nonrec -} -d.Fractional_a15D = - PrelNum.$d23{-rIo,p-} -fromRational_a15N = - PrelNum.fromRational{-8T,p-} - PrelBase.Float{-3c,p-} - d.Fractional_a15D -lit_a15M = - fromRational_a15N - 2.0000000000000000 -{- nonrec -} -AbsBinds -[a{-a14B-}, b{-a14C-}] -[] -[([b{-a14C-}, a{-a14B-}], g{-r4F,x-}, g_a14y)] - g_a14y - x_r4M = lit_a15M -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-a14R-}, b{-a14S-}, c{-a14T-}] -[d.Eq_a14V, d.Ord_a14W, d.Ix_a14X] -[([a{-a14R-}, b{-a14S-}, c{-a14T-}], f2{-r4E,x-}, f2_a14O)] - f2_a14O - x_r4K = x_r4K -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-a158-}, b{-a159-}, c{-a15a-}] -[d.Eq_a15c] -[([a{-a158-}, b{-a159-}, c{-a15a-}], f{-r4D,x-}, f_a155)] - f_a155 - x_r4I = x_r4I -{- nonrec -} -{- nonrec -} -AbsBinds -[d{-a15i-}, e{-a15k-}, f{-a15m-}] -[] -[([d{-a15i-}, e{-a15k-}, f{-a15m-}], mkFoo{-r4G,x-}, mkFoo_a15e)] - mkFoo_a15e - = MkFoo{-r4U,x-}{i} - [d{-a15i-}, e{-a15k-}, f{-a15m-}] -{- nonrec -} -ghc: module version changed to 1; reason: no old .hi file -_interface_ Print001 1 -_instance_modules_ -ArrBase IO PrelNum -_usages_ -Ix 1 :: $d3 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $minRange 1 $mindex 1 $mrange 1 Ix 1; -PrelBase 1 :: $d1 1 $d10 1 $d11 1 $d13 1 $d14 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d3 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d37 1 $d38 1 $d39 1 $d40 1 $d41 1 $d42 1 $d44 1 $d45 1 $d46 1 $d49 1 $d5 1 $d50 1 $d51 1 $d54 1 $d55 1 $d6 1 $d7 1 $d8 1 $m* 1 $m+ 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m== 1 $m> 1 $m>= 1 $mabs 1 $mcompare 1 $menumFrom 1 $menumFromThen 1 $menumFromThenTo 1 $menumFromTo 1 $mfromEnum 1 $mfromInt 1 $mfromInteger 1 $mmax 1 $mmin 1 $mnegate 1 $mshowList 1 $mshowsPrec 1 $msignum 1 $mtoEnum 1 Enum 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1; -PrelNum 1 :: $d1 1 $d10 1 $d14 1 $d15 1 $d16 1 $d17 1 $d18 1 $d19 1 $d2 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $m/ 1 $mdiv 1 $mdivMod 1 $mfromRational 1 $mmod 1 $mquot 1 $mquotRem 1 $mrecip 1 $mrem 1 $mtoInt 1 $mtoInteger 1 $mtoRational 1 Fractional 1 Integral 1 Ratio 1 Rational 1 Real 1; -PrelTup 1 :: $d10 1 $d13 1 $d14 1 $d3 1 $d4 1 $d49 1 $d50 1 $d9 1; -_exports_ -Print001 f f2 g mkFoo Bar(BarNil BarCon) Foo(MkFoo); -_instances_ -instance _forall_ [a] => {PrelBase.Eval (Bar a)} = $d1; -instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $d2; -_declarations_ -1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (Bar a)} ;; -1 $d2 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;; -1 data Bar r4O = BarNil | BarCon (Foo r4O r4O r4O) (Bar r4O) ; -1 data Foo r4Q r4R r4S = MkFoo [((r4Q -> PrelBase.Int) -> r4Q) -> r4R] (r4Q -> r4R, r4R -> r4R) PrelBase.() ; -1 f _:_ _forall_ [a b c] {PrelBase.Eq a} => (a -> b -> c) -> a -> b -> c ;; -1 f2 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Ord a, Ix.Ix c} => (a -> b -> c) -> a -> b -> c ;; -1 g _:_ _forall_ [a b] => Foo PrelBase.Int (b -> a) (b -> [(b, PrelBase.Double, PrelBase.Int)]) -> PrelBase.Float ;; -1 mkFoo _:_ _forall_ [a b c] => [((a -> PrelBase.Int) -> a) -> b] -> (a -> b, b -> b) -> PrelBase.() -> Foo a b c ;; diff --git a/ghc/tests/printing/Print002.stderr b/ghc/tests/printing/Print002.stderr deleted file mode 100644 index f87250e..0000000 --- a/ghc/tests/printing/Print002.stderr +++ /dev/null @@ -1,589 +0,0 @@ - - -================================================================================ -Typechecked: -{- nonrec -} -{- nonrec -} -MkFoo1{-rk,x-}{i} = - _/\_ a{-r4z-} b{-r4A-} c{-r4B-} -> \ tpl_B1 tpl_B2 -> - MkFoo1{-rk,x-}{i} - {_@_ a{-r4z-} _@_ b{-r4A-} _@_ c{-r4B-} tpl_B1 tpl_B2} -:##{-rj,x-}{i} = - _/\_ a{-r4z-} b{-r4A-} c{-r4B-} -> \ tpl_B1 tpl_B2 -> - :##{-rj,x-}{i} - {_@_ a{-r4z-} _@_ b{-r4A-} _@_ c{-r4B-} tpl_B1 tpl_B2} -MkFoo3{-rm,x-}{i} = - _/\_ a{-r4z-} b{-r4A-} c{-r4B-} -> \ tpl_B1 tpl_B2 -> - MkFoo3{-rm,x-}{i} - {_@_ a{-r4z-} _@_ b{-r4A-} _@_ c{-r4B-} tpl_B1 tpl_B2} -:***{-ro,x-}{i} = - _/\_ a{-r4z-} b{-r4A-} c{-r4B-} -> \ tpl_B1 tpl_B2 -> - :***{-ro,x-}{i} - {_@_ a{-r4z-} _@_ b{-r4A-} _@_ c{-r4B-} tpl_B1 tpl_B2} -{- nonrec -} -scsel_Bar2Print002Bar{-aVQ,x-} = - _/\_ a{-r4n-} -> \ tpl_B1 -> - tpl_B1 -{- nonrec -} -{- nonrec -} -meth1{-r4R,x-} = - _/\_ a{-r4q-} -> \ tpl_B1 -> - case tpl_B1 of { PrelTup.(,,){-63,p-}{i} tpl_B1 tpl_B2 tpl_B3 -> - tpl_B1;} -/////{-r4Q,x-} = - _/\_ a{-r4q-} -> \ tpl_B1 -> - case tpl_B1 of { PrelTup.(,,){-63,p-}{i} tpl_B1 tpl_B2 tpl_B3 -> - tpl_B2;} -meth2{-r4P,x-} = - _/\_ a{-r4q-} -> \ tpl_B1 -> - case tpl_B1 of { PrelTup.(,,){-63,p-}{i} tpl_B1 tpl_B2 tpl_B3 -> - tpl_B3;} -{- nonrec -} -AbsBinds -[a{-aVq-}] -[d.Bar_aVj] -[([a{-aVq-}], $mmeth1{-rLc,x-}, meth1_aVl)] - AbsBinds [] [] [([], meth1_aVl, meth1_aVn)] - meth1_aVn - = GHCerr.noDefaultMethodError{-8k,p-} - (a{-aVq-} -> a{-aVq-} -> PrelBase.Bool{-34,p-}) - "Class Bar Method meth1" -AbsBinds -[a{-aVq-}] -[d.Bar_aVt] -[([a{-aVq-}], $m/////{-rLb,x-}, /////_aVv)] - AbsBinds [] [] [([], /////_aVv, /////_aVx)] - /////_aVx - = GHCerr.noDefaultMethodError{-8k,p-} - (a{-aVq-} -> a{-aVq-} -> PrelBase.Bool{-34,p-}) - "Class Bar Method /////" -AbsBinds -[a{-aVq-}] -[d.Bar_aVC] -[([a{-aVq-}], $mmeth2{-rLa,x-}, meth2_aVF)] - AbsBinds [b{-aVM-}] [] [([b{-aVM-}], meth2_aVF, meth2_aVI)] - meth2_aVI - = GHCerr.noDefaultMethodError{-8k,p-} - (a{-aVq-} -> b{-aVM-} -> PrelBase.Bool{-34,p-}) - "Class Bar Method meth2" -{- rec -} -AbsBinds -[a{-aOK-}, b{-aON-}, c{-aOQ-}] -[d.Eq_aQB, d.Eq_aQC, d.Eq_aQD] -[([a{-aOK-}, b{-aON-}, c{-aOQ-}], $d1{-rVR,x-}, d.Eq_aOA)] - d.Eq_aQH = - d.Eq_aQB - ==_aVX = - PrelBase.=={-8Y,p-} - a{-aOK-} - d.Eq_aQH - d.Eq_aQJ = - d.Eq_aQC - ==_aVW = - PrelBase.=={-8Y,p-} - b{-aON-} - d.Eq_aQJ - d.Eq_aQL = - d.Eq_aQD - ==_aVV = - PrelBase.=={-8Y,p-} - c{-aOQ-} - d.Eq_aQL - ==_aVU = - ==_aVT - AbsBinds [] [] [([], ==_aVT, ==_aOD)] - ==_aW2 = - ==_aVX - ==_aW1 = - ==_aVW - ==_aW0 = - ==_aVW - ==_aVZ = - ==_aVV - ==_aVY = - ==_aVV - ==_aOD - (MkFoo1{-rk,x-}{i} a1_rIv a2_rIw) (MkFoo1{-rk,x-}{i} b1_rIy b2_rIz) - = (a1_rIv ==_aVX b1_rIy) - PrelBase.&&{-re5,p-} (a2_rIw ==_aW2 b2_rIz) - ==_aOD - (:##{-rj,x-}{i} a1_rIB a2_rIC) (:##{-rj,x-}{i} b1_rIE b2_rIF) - = (a1_rIB ==_aVW b1_rIE) - PrelBase.&&{-re5,p-} (a2_rIC ==_aVV b2_rIF) - ==_aOD - (MkFoo3{-rm,x-}{i} a1_rIH a2_rII) (MkFoo3{-rm,x-}{i} b1_rIK b2_rIL) - = (a1_rIH ==_aW1 b1_rIK) - PrelBase.&&{-re5,p-} (a2_rII ==_aW0 b2_rIL) - ==_aOD - (:***{-ro,x-}{i} a1_rIN a2_rIO) (:***{-ro,x-}{i} b1_rIQ b2_rIR) - = (a1_rIN ==_aVZ b1_rIQ) - PrelBase.&&{-re5,p-} (a2_rIO ==_aVY b2_rIR) - ==_aOD - a_rIT b_rIV - = PrelBase.False{-58,p-}{i} - AbsBinds [] [] [([], /=_aVS, /=_aQu)] - /=_aQu - a_rIZ b_rJ1 - = PrelBase.not{-rgK,p-} - ==_aVU - a_rIZ b_rJ1 - d.Eq_aOA = - ({-dict-} [] [==_aVT, /=_aVS]) -{- rec -} -AbsBinds -[a{-aVN-}, b{-aVP-}, c{-aVO-}] -[] -[([a{-aVN-}, b{-aVP-}, c{-aVO-}], $d2{-rW3,x-}, d.Eval_aQW)] - d.Eval_aQW = - ({-dict-} [] []) -{- rec -} -AbsBinds -[a{-aRa-}, b{-aRb-}, c{-aRc-}] -[d.Ord_aV0, d.Ord_aV1, d.Ord_aV2, d.Eq_aV3] -[([a{-aRa-}, b{-aRb-}, c{-aRc-}], $d3{-rW4,x-}, d.Ord_aR4)] - d.Eq_aV4 = - d.Eq_aV3 - d.Ord_aTL = - d.Ord_aV0 - d.Ord_aTM = - d.Ord_aV1 - d.Ord_aTN = - d.Ord_aV2 - compare_aWh = - compare_aWb - compare_aWg = - compare_aWb - compare_aWf = - compare_aWb - compare_aWe = - compare_aWb - compare_aWd = - compare_aWb - compare_aWc = - compare_aWb - AbsBinds [] [] [([], compare_aWb, compare_aR7)] - compare_aR7 - a_rJZ b_rK1 - = case - con2tag_Foo#_rIm - [c{-aRc-}, a{-aRa-}, b{-aRb-}] - a_rJZ - of - a#_rKT -> case - con2tag_Foo#_rIm - [c{-aRc-}, a{-aRa-}, b{-aRb-}] - b_rK1 - of - b#_rKV -> if a#_rKT GHC.==#{-79,p-}{I} b#_rKV then - case - cmp_eq_aWi - a_rJZ b_rK1 - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.EQ{-r4C,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - else - if a#_rKT GHC.<#{-7b,p-}{I} b#_rKV then - PrelBase.LT{-rc8,p-}{i} - else - PrelBase.GT{-rc9,p-}{i} - where - {- nonrec -} - AbsBinds - [c{-aST-}, a{-aT4-}, b{-aT5-}] - [d.Ord_aTe, d.Ord_aTg, d.Ord_aTi] - [([c{-aST-}, a{-aT4-}, b{-aT5-}], cmp_eq_rK3, cmp_eq_aRg)] - compare_aWq = - PrelBase.compare{-rei,p-} - a{-aT4-} - d.Ord_aTe - compare_aWp = - compare_aWq - compare_aWo = - PrelBase.compare{-rei,p-} - b{-aT5-} - d.Ord_aTg - compare_aWn = - PrelBase.compare{-rei,p-} - c{-aST-} - d.Ord_aTi - compare_aWm = - compare_aWo - compare_aWl = - compare_aWo - compare_aWk = - compare_aWn - compare_aWj = - compare_aWn - cmp_eq_aRg - (MkFoo1{-rk,x-}{i} a1_rK5 a2_rK6) (MkFoo1{-rk,x-}{i} b1_rK8 b2_rK9) - = case - compare_aWq - a1_rK5 b1_rK8 - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> case - compare_aWp - a2_rK6 b2_rK9 - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.EQ{-r4C,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - cmp_eq_aRg - (:##{-rj,x-}{i} a1_rKh a2_rKi) (:##{-rj,x-}{i} b1_rKk b2_rKl) - = case - compare_aWo - a1_rKh b1_rKk - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> case - compare_aWn - a2_rKi b2_rKl - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.EQ{-r4C,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - cmp_eq_aRg - (MkFoo3{-rm,x-}{i} a1_rKt a2_rKu) (MkFoo3{-rm,x-}{i} b1_rKw b2_rKx) - = case - compare_aWm - a1_rKt b1_rKw - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> case - compare_aWl - a2_rKu b2_rKx - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.EQ{-r4C,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - cmp_eq_aRg - (:***{-ro,x-}{i} a1_rKF a2_rKG) (:***{-ro,x-}{i} b1_rKI b2_rKJ) - = case - compare_aWk - a1_rKF b1_rKI - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> case - compare_aWj - a2_rKG b2_rKJ - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.LT{-rc8,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.EQ{-r4C,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.GT{-rc9,p-}{i} - cmp_eq_aRg - _ _ = IOBase.error{-87,p-} - PrelBase.Ordering{-3o,p-} - "Urk! in TcGenDeriv" - {- nonrec -} - cmp_eq_aWi = - cmp_eq_rK3 - [c{-aRc-}, a{-aRa-}, b{-aRb-}] - [d.Ord_aTL, d.Ord_aTM, d.Ord_aTN] - AbsBinds [] [] [([], <_aWa, <_aTR)] - <_aTR - a_rJ7 b_rJ9 - = case - compare_aWh - a_rJ7 b_rJ9 - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.True{-5E,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.False{-58,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.False{-58,p-}{i} - AbsBinds [] [] [([], <=_aW9, <=_aU3)] - <=_aU3 - a_rJg b_rJi - = case - compare_aWg - a_rJg b_rJi - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.True{-5E,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.True{-5E,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.False{-58,p-}{i} - AbsBinds [] [] [([], >=_aW8, >=_aUf)] - >=_aUf - a_rJp b_rJr - = case - compare_aWf - a_rJp b_rJr - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.False{-58,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.True{-5E,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.True{-5E,p-}{i} - AbsBinds [] [] [([], >_aW7, >_aUr)] - >_aUr - a_rJy b_rJA - = case - compare_aWe - a_rJy b_rJA - of - PrelBase.LT{-rc8,p-}{i} - -> PrelBase.False{-58,p-}{i} - PrelBase.EQ{-r4C,p-}{i} - -> PrelBase.False{-58,p-}{i} - PrelBase.GT{-rc9,p-}{i} - -> PrelBase.True{-5E,p-}{i} - AbsBinds [] [] [([], max_aW6, max_aUD)] - max_aUD - a_rJH b_rJJ - = case - compare_aWd - a_rJH b_rJJ - of - PrelBase.LT{-rc8,p-}{i} - -> b_rJJ - PrelBase.EQ{-r4C,p-}{i} - -> a_rJH - PrelBase.GT{-rc9,p-}{i} - -> a_rJH - AbsBinds [] [] [([], min_aW5, min_aUQ)] - min_aUQ - a_rJQ b_rJS - = case - compare_aWc - a_rJQ b_rJS - of - PrelBase.LT{-rc8,p-}{i} - -> a_rJQ - PrelBase.EQ{-r4C,p-}{i} - -> b_rJS - PrelBase.GT{-rc9,p-}{i} - -> b_rJS - d.Ord_aR4 = - ({-dict-} - [d.Eq_aV4] - [compare_aWb, <_aWa, <=_aW9, >=_aW8, >_aW7, max_aW6, min_aW5]) -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-aLh-}] -[d.Bar_aLn] -[([a{-aLh-}], f3d{-r4D,x-}, f3d_aL9)] - /////_aWr = - /////{-r4Q,x-} - a{-aLh-} - d.Bar_aLn - f3d_aL9 - x_r4j y_r4l - = x_r4j /////_aWr y_r4l -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-aLu-}] -[d.Bar_aLA] -[([a{-aLu-}], f3c{-r4E,x-}, f3c_aLp)] - /////_aWs = - /////{-r4Q,x-} - a{-aLu-} - d.Bar_aLA - f3c_aLp - x_r4f y_r4h - = /////_aWs - x_r4f y_r4h -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-aLH-}] -[d.Bar_aLN] -[([a{-aLH-}], f3b{-r4F,x-}, f3b_aLC)] - meth1_aWt = - meth1{-r4R,x-} - a{-aLH-} - d.Bar_aLN - f3b_aLC - x_r4b y_r4d - = x_r4b meth1_aWt y_r4d -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-aLU-}] -[d.Bar_aM0] -[([a{-aLU-}], f3a{-r4G,x-}, f3a_aLP)] - meth1_aWu = - meth1{-r4R,x-} - a{-aLU-} - d.Bar_aM0 - f3a_aLP - x_r47 y_r49 - = meth1_aWu - x_r47 y_r49 -{- nonrec -} -{- nonrec -} -AbsBinds -[c{-aMk-}, a{-aMn-}, b{-aMo-}] -[] -[([c{-aMk-}, a{-aMn-}, b{-aMo-}], <<<<{-r4H,x-}, <<<<_aM2)] - <<<<_aM2 - x_r3Z y_r41 - = :***{-ro,x-}{i} - [a{-aMn-}, b{-aMo-}, c{-aMk-}] - x_r3Z y_r41 - <<<<_aM2 - x_r43 y_r45 - = :***{-ro,x-}{i} - [a{-aMn-}, b{-aMo-}, c{-aMk-}] - x_r43 y_r45 -{- nonrec -} -{- nonrec -} -AbsBinds -[b{-aMw-}, a{-aMA-}, c{-aMC-}] -[] -[([b{-aMw-}, a{-aMA-}, c{-aMC-}], .....{-r4I,x-}, ....._aMq)] - ....._aMq - x_r3V y_r3X - = MkFoo3{-rm,x-}{i} - [a{-aMA-}, b{-aMw-}, c{-aMC-}] - x_r3V y_r3X -{- nonrec -} -{- nonrec -} -AbsBinds -[b{-aMK-}, a{-aMO-}, c{-aMQ-}] -[] -[([b{-aMK-}, a{-aMO-}, c{-aMQ-}], ....{-r4J,x-}, ...._aME)] - ...._aME - x_r3R y_r3T - = MkFoo3{-rm,x-}{i} - [a{-aMO-}, b{-aMK-}, c{-aMQ-}] - x_r3R y_r3T -{- nonrec -} -{- nonrec -} -AbsBinds -[b{-aMY-}, c{-aN1-}, a{-aN4-}] -[] -[([b{-aMY-}, c{-aN1-}, a{-aN4-}], f2a{-r4K,x-}, f2a_aMS)] - f2a_aMS - x_r3N y_r3P - = :##{-rj,x-}{i} - [a{-aN4-}, b{-aMY-}, c{-aN1-}] - x_r3N y_r3P -{- nonrec -} -{- nonrec -} -AbsBinds -[b{-aNc-}, c{-aNf-}, a{-aNi-}] -[] -[([b{-aNc-}, c{-aNf-}, a{-aNi-}], f2{-r4L,x-}, f2_aN6)] - f2_aN6 - x_r3J y_r3L - = :##{-rj,x-}{i} - [a{-aNi-}, b{-aNc-}, c{-aNf-}] - x_r3J y_r3L -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-aNp-}, b{-aNu-}, c{-aNw-}] -[] -[([a{-aNp-}, b{-aNu-}, c{-aNw-}], f1a{-r4M,x-}, f1a_aNk)] - f1a_aNk - x_r3F y_r3H - = MkFoo1{-rk,x-}{i} - [a{-aNp-}, b{-aNu-}, c{-aNw-}] - x_r3F y_r3H -{- nonrec -} -{- nonrec -} -AbsBinds -[a{-aND-}, b{-aNI-}, c{-aNK-}] -[] -[([a{-aND-}, b{-aNI-}, c{-aNK-}], f1{-r4N,x-}, f1_aNy)] - f1_aNy - x_r3B y_r3D - = MkFoo1{-rk,x-}{i} - [a{-aND-}, b{-aNI-}, c{-aNK-}] - x_r3B y_r3D -{- nonrec -} -{- nonrec -} -AbsBinds -[c{-aOo-}, a{-aOr-}, b{-aOs-}] -[] -[([c{-aOo-}, a{-aOr-}, b{-aOs-}], - con2tag_Foo#_rIm, - con2tag_Foo#_aNM)] - con2tag_Foo#_aNM - (MkFoo1{-rk,x-}{i} _ _) - = 0# - con2tag_Foo#_aNM - (:##{-rj,x-}{i} _ _) - = 1# - con2tag_Foo#_aNM - (MkFoo3{-rm,x-}{i} _ _) - = 2# - con2tag_Foo#_aNM - (:***{-ro,x-}{i} _ _) - = 3# -{- nonrec -} -Print002.hs:35: - Warning: Pattern match(es) completely overlapped - in the definition of function `<<<<' -ghc: module version changed to 1; reason: no old .hi file -_interface_ Print002 1 -_instance_modules_ -ArrBase IO PrelNum -_usages_ -PrelBase 1 :: $d14 1 $d15 1 $d32 1 $d34 1 $d37 1 $d39 1 $d41 1 $d45 1 $d46 1 $d49 1 $d51 1 $d6 1 $d7 1 $m/= 1 $m< 1 $m<= 1 $m== 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1; -PrelNum 1 :: $d17 1 $d18 1; -_exports_ -Print002 .... ..... <<<< f1 f1a f2 f2a f3a f3b f3c f3d Bar(meth1 ///// meth2) Bar2 Foo(MkFoo1 :## MkFoo3 :***); -_instances_ -instance _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} = $d1; -instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $d2; -instance _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c} => {PrelBase.Ord (Foo a b c)} = $d3; -_declarations_ -1 $d1 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} ;; -1 $d2 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;; -1 $d3 _:_ _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c, PrelBase.Eq (Foo a b c)} => {PrelBase.Ord (Foo a b c)} ;; -1 $m///// _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;; -1 $mmeth1 _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;; -1 $mmeth2 _:_ _forall_ [a] {Bar a} => _forall_ [b] => a -> b -> PrelBase.Bool ;; -1 .... _:_ _forall_ [a b c] => a -> a -> Foo b a c ;; -1 ..... _:_ _forall_ [a b c] => a -> a -> Foo b a c ;; -1 <<<< _:_ _forall_ [a b c] => a -> a -> Foo b c a ;; -1 class Bar r4q where {meth1 :: r4q -> r4q -> PrelBase.Bool; ///// :: r4q -> r4q -> PrelBase.Bool; meth2 :: _forall_ [r4w] => r4q -> r4w -> PrelBase.Bool} ; -class {Bar r4n} => Bar2 r4n ; -1 data Foo r4z r4A r4B = MkFoo1 r4z r4z | :## r4A r4B | MkFoo3 r4A r4A | :*** r4B r4B ; -1 f1 _:_ _forall_ [a b c] => a -> a -> Foo a b c ;; -1 f1a _:_ _forall_ [a b c] => a -> a -> Foo a b c ;; -1 f2 _:_ _forall_ [a b c] => a -> b -> Foo c a b ;; -1 f2a _:_ _forall_ [a b c] => a -> b -> Foo c a b ;; -1 f3a _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;; -1 f3b _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;; -1 f3c _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;; -1 f3d _:_ _forall_ [a] {Bar a} => a -> a -> PrelBase.Bool ;; diff --git a/ghc/tests/printing/Print003.stderr b/ghc/tests/printing/Print003.stderr deleted file mode 100644 index 7ad6eea..0000000 --- a/ghc/tests/printing/Print003.stderr +++ /dev/null @@ -1,44 +0,0 @@ - - -================================================================================ -Typechecked: -{- nonrec -} -bitRsh{-r3h,x-} = - _/\_ a{-r3f-} -> \ tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B1;} -bitLsh{-r3g,x-} = - _/\_ a{-r3f-} -> \ tpl_B1 -> - case tpl_B1 of { PrelTup.(,){-62,p-}{i} tpl_B1 tpl_B2 -> tpl_B2;} -{- nonrec -} -AbsBinds -[a{-anm-}] -[d.Bits_anf] -[([a{-anm-}], $mbitRsh{-rnw,x-}, bitRsh_anh)] - AbsBinds [] [] [([], bitRsh_anh, bitRsh_anj)] - bitRsh_anj - = GHCerr.noDefaultMethodError{-8k,p-} - (a{-anm-} -> PrelBase.Int{-3g,p-} -> a{-anm-}) - "Class Bits Method bitRsh" -AbsBinds -[a{-anm-}] -[d.Bits_anp] -[([a{-anm-}], $mbitLsh{-rnx,x-}, bitLsh_anr)] - AbsBinds [] [] [([], bitLsh_anr, bitLsh_ant)] - bitLsh_ant - = GHCerr.noDefaultMethodError{-8k,p-} - (a{-anm-} -> PrelBase.Int{-3g,p-} -> a{-anm-}) - "Class Bits Method bitLsh" -{- nonrec -} -ghc: module version changed to 1; reason: no old .hi file -_interface_ Word 1 -_instance_modules_ -ArrBase IO PrelNum -_exports_ -Word Bits(bitRsh bitLsh); -_fixities_ -infixl 8 bitLsh; -infixl 8 bitRsh; -_declarations_ -1 $mbitLsh _:_ _forall_ [a] {Bits a} => a -> PrelBase.Int -> a ;; -1 $mbitRsh _:_ _forall_ [a] {Bits a} => a -> PrelBase.Int -> a ;; -1 class Bits r3f where {bitRsh :: r3f -> PrelBase.Int -> r3f; bitLsh :: r3f -> PrelBase.Int -> r3f} ; diff --git a/ghc/tests/printing/Print004.stderr b/ghc/tests/printing/Print004.stderr deleted file mode 100644 index be79adb..0000000 --- a/ghc/tests/printing/Print004.stderr +++ /dev/null @@ -1,134 +0,0 @@ - - -================================================================================ -Typechecked: -{- nonrec -} -{- nonrec -} -Con{-r6v,l-}{i} = - _/\_ a{-r6C-} -> \ tpl_B1 -> - Con{-r6v,l-}{i} - {_@_ a{-r6C-} tpl_B1} -{- nonrec -} -Junk11{-r4,l-}{i} = - _/\_ a{-r6A-} -> - Junk11{-r4,l-}{i} - {_@_ a{-r6A-}} -Junk2{-r3,l-}{i} = - _/\_ a{-r6A-} -> - Junk2{-r3,l-}{i} - {_@_ a{-r6A-}} -{- rec -} -AbsBinds [a{-aLt-}] [] [([a{-aLt-}], $d2{-rLv,x-}, d.Eval_aJU)] - d.Eval_aJU = - ({-dict-} [] []) -{- rec -} -AbsBinds [a{-aLu-}] [] [([a{-aLu-}], $d3{-rLD,x-}, d.Eval_aK0)] - d.Eval_aK0 = - ({-dict-} [] []) -{- rec -} -AbsBinds -[a{-aKf-}] -[d.Ord_aKF] -[([a{-aKf-}], $d4{-rLE,x-}, d.Show_aK6)] - d.Ord_aKR = - d.Ord_aKF - d.Show_aKP = - $d1{-rLJ,x-} - a{-aKf-} - d.Ord_aKR - showsPrec_aLI = - PrelBase.showsPrec{-r5t,p-} - (FunnyInternalType{-r6u,l-} a{-aKf-}) - d.Show_aKP - showsPrec_aLH = - showsPrec_aLG - AbsBinds [] [] [([], showsPrec_aLG, showsPrec_aK9)] - lit_aLK = - lit_aLA - showsPrec_aK9 - a_rJ8 (Con{-r6v,l-}{i} b1_rJa) - = PrelBase.showParen{-r61,p-} - a_rJ8 >=_aLC lit_aLA - PrelBase..{-r6d,p-} - [PrelBase.String{-r5q,p-}, PrelBase.String{-r5q,p-}, PrelBase.String{-r5q,p-}] - PrelBase.showString{-r60,p-} - "Con " - showsPrec_aLI - lit_aLK b1_rJa - AbsBinds [] [] [([], showList_aLF, showList_aKA)] - showList_aKA - = PrelBase.showList__{-r6F,p-} - (OpaqueType{-r6,x-} a{-aKf-}) - showsPrec_aLH - lit_aLw - d.Show_aK6 = - ({-dict-} [] [showsPrec_aLG, showList_aLF]) -{- rec -} -AbsBinds -[a{-aL6-}] -[d.Ord_aLf] -[([a{-aL6-}], $d1{-rLJ,x-}, d.Show_aKZ)] - d.Show_aLj = - d.Show_aKZ - $mshowsPrec_aLM = - PrelBase.$mshowsPrec{-rfh,p-} - (FunnyInternalType{-r6u,l-} a{-aL6-}) - d.Show_aLj - d.Show_aLl = - d.Show_aKZ - $mshowList_aLL = - PrelBase.$mshowList{-rfg,p-} - (FunnyInternalType{-r6u,l-} a{-aL6-}) - d.Show_aLl - AbsBinds [] [] [([], showsPrec_aL1, showsPrec_aL3)] - showsPrec_aL3 - = $mshowsPrec_aLM - AbsBinds [] [] [([], showList_aLa, showList_aLc)] - showList_aLc - = $mshowList_aLL - d.Show_aKZ = - ({-dict-} [] [showsPrec_aL1, showList_aLa]) -{- nonrec -} -d.Ord_aLo = - PrelBase.$d6{-reK,p-} ->=_aLC = - PrelBase.>={-8Z,p-} - PrelBase.Int{-3g,p-} - d.Ord_aLo -d.Num_aLs = - PrelBase.$d3{-ref,p-} -fromInt_aLB = - PrelBase.fromInt{-8R,p-} - PrelBase.Int{-3g,p-} - d.Num_aLs -lit_aLA = - fromInt_aLB - PrelBase.I#{-5b,p-}{i} - 10# -fromInt_aLz = - fromInt_aLB -lit_aLw = - fromInt_aLz - PrelBase.I#{-5b,p-}{i} - 0# -ghc: module version changed to 1; reason: no old .hi file -_interface_ ExportOpaque 1 -_instance_modules_ -ArrBase IO PrelNum -_usages_ -PrelBase 1 :: $d1 1 $d11 1 $d14 1 $d15 1 $d2 1 $d21 1 $d26 1 $d27 1 $d3 1 $d32 1 $d33 1 $d34 1 $d37 1 $d38 1 $d39 1 $d41 1 $d42 1 $d44 1 $d45 1 $d46 1 $d49 1 $d50 1 $d51 1 $d54 1 $d55 1 $d6 1 $d7 1 $d8 1 $m* 1 $m+ 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m== 1 $m> 1 $m>= 1 $mabs 1 $mcompare 1 $mfromInt 1 $mfromInteger 1 $mmax 1 $mmin 1 $mnegate 1 $mshowList 1 $mshowsPrec 1 $msignum 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1; -PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1; -_exports_ -ExportOpaque OpaqueType; -_instances_ -instance _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (FunnyInternalType a)} = $d1; -instance _forall_ [a] => {PrelBase.Eval (OpaqueType a)} = $d2; -instance _forall_ [a] => {PrelBase.Eval (FunnyInternalType a)} = $d3; -instance _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (OpaqueType a)} = $d4; -_declarations_ -1 $d1 _:_ _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (FunnyInternalType a)} ;; -1 $d2 _:_ _forall_ [a] => {PrelBase.Eval (OpaqueType a)} ;; -1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (FunnyInternalType a)} ;; -1 $d4 _:_ _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (OpaqueType a)} ;; -1 data FunnyInternalType r6A = Junk11 | Junk2 ; -1 data OpaqueType r6C = Con (FunnyInternalType r6C) ; diff --git a/ghc/tests/printing/should_compile/Makefile b/ghc/tests/printing/should_compile/Makefile new file mode 100644 index 0000000..48fc0b9 --- /dev/null +++ b/ghc/tests/printing/should_compile/Makefile @@ -0,0 +1,10 @@ +TOP = ../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk + +HC_OPTS += -noC -ddump-tc -dcore-lint -hi + +print002_HC_OPTS = -fno-implicit-prelude -dppr-user -ddump-rdr + +include $(TOP)/mk/target.mk + diff --git a/ghc/tests/printing/Print001.hs b/ghc/tests/printing/should_compile/Print001.hs similarity index 100% rename from ghc/tests/printing/Print001.hs rename to ghc/tests/printing/should_compile/Print001.hs diff --git a/ghc/tests/printing/should_compile/Print001.stderr b/ghc/tests/printing/should_compile/Print001.stderr new file mode 100644 index 0000000..6ed7dd4 --- /dev/null +++ b/ghc/tests/printing/should_compile/Print001.stderr @@ -0,0 +1,64 @@ + + +================================================================================ +Typechecked: +BarNil{-r8,x-}{i} = _/\_ a_tr4F -> BarNil{-r8,x-}{i} {_@_ a_tr4F} +BarCon{-r7,x-}{i} = + _/\_ a_tr4F -> \ tpl_B1 tpl_B2 -> + BarCon{-r7,x-}{i} {_@_ a_tr4F tpl_B1 tpl_B2} +MkFoo{-r4M,x-}{i} = + _/\_ d_tr4H e_tr4I f_tr4J -> \ tpl_B1 tpl_B2 tpl_B3 -> + MkFoo{-r4M,x-}{i} + {_@_ d_tr4H _@_ e_tr4I _@_ f_tr4J tpl_B1 tpl_B2 tpl_B3} +AbsBinds [taYe, taYf] [] [([taYf, taYe], g{-r4w,x-}, g_aYb)] + g_aYb x_r4D = lit_aZr +AbsBinds +[taYt, taYu, taYv] +[d.Eq_aYx, d.Ord_aYy, d.Ix_aYz] +[([taYt, taYu, taYv], f2{-r4v,x-}, f2_aYq)] + f2_aYq x_r4B = x_r4B +AbsBinds +[taYK, taYL, taYM] +[d.Eq_aYO] +[([taYK, taYL, taYM], f{-r4u,x-}, f_aYH)] + f_aYH x_r4z = x_r4z +AbsBinds +[taYU, taYW, taYY] +[] +[([taYU, taYW, taYY], mkFoo{-r4x,x-}, mkFoo_aYQ)] + mkFoo_aYQ = MkFoo{-r4M,x-}{i} [taYU, taYW, taYY] +AbsBinds [taZg] [] [([taZg], $d1{-rZn,x-}, d.Eval_aZ4)] + d.Eval_aZ4 = ({-dict-} [] []) +AbsBinds +[taZh, taZi, taZj] +[] +[([taZh, taZi, taZj], $d2{-rZp,x-}, d.Eval_aZc)] + d.Eval_aZc = ({-dict-} [] []) +d.Fractional_aZf = PrelNum.$d23{-rES,p-} +fromRational_aZq = + PrelNum.fromRational{-8T,p-} PrelBase.Float{-3c,W-} + d.Fractional_aZf +lit_aZr = fromRational_aZq 2.0000000000000000 +ghc: module version changed to 1; reason: no old .hi file +_interface_ Print001 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +Ix 1 :: $d3 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 Ix 1; +PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d41 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Enum 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1; +PrelNum 1 :: $d1 1 $d10 1 $d14 1 $d15 1 $d16 1 $d17 1 $d18 1 $d19 1 $d2 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $d9 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrecip 1 $mrem 1 Fractional 1 Integral 1 Ratio 1 Rational 1 Real 1; +PrelTup 1 :: $d10 1 $d13 1 $d14 1 $d3 1 $d4 1 $d49 1 $d50 1 $d9 1; +_exports_ +Print001 f f2 g mkFoo Bar(BarNil BarCon) Foo(MkFoo); +_instances_ +instance _forall_ [a] => {PrelBase.Eval (Bar a)} = $d1; +instance _forall_ [d e f] => {PrelBase.Eval (Foo d e f)} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (Bar a)} ;; +1 $d2 _:_ _forall_ [d e f] => {PrelBase.Eval (Foo d e f)} ;; +1 data Bar a = BarNil | BarCon (Foo a a a) (Bar a) ; +1 data Foo d e f = MkFoo [((d -> PrelBase.Int) -> d) -> e] (d -> e, e -> e) PrelBase.() ; +1 f _:_ _forall_ [ta tb tc] {PrelBase.Eq ta} => (ta -> tb -> tc) -> ta -> tb -> tc ;; +1 f2 _:_ _forall_ [ta tb tc] {PrelBase.Eq ta, PrelBase.Ord ta, Ix.Ix tc} => (ta -> tb -> tc) -> ta -> tb -> tc ;; +1 g _:_ _forall_ [ta tb] => Foo PrelBase.Int (tb -> ta) (tb -> [(tb, PrelBase.Double, PrelBase.Int)]) -> PrelBase.Float ;; +1 mkFoo _:_ _forall_ [ta tb tc] => [((ta -> PrelBase.Int) -> ta) -> tb] -> (ta -> tb, tb -> tb) -> PrelBase.() -> Foo ta tb tc ;; diff --git a/ghc/tests/printing/Print002.hs b/ghc/tests/printing/should_compile/Print002.hs similarity index 100% rename from ghc/tests/printing/Print002.hs rename to ghc/tests/printing/should_compile/Print002.hs diff --git a/ghc/tests/printing/should_compile/Print002.stderr b/ghc/tests/printing/should_compile/Print002.stderr new file mode 100644 index 0000000..0847ddb --- /dev/null +++ b/ghc/tests/printing/should_compile/Print002.stderr @@ -0,0 +1,300 @@ + + +================================================================================ +Typechecked: +MkFoo1{-rk,x-}{i} = + _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 -> + MkFoo1{-rk,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2} +:##{-rj,x-}{i} = + _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 -> + :##{-rj,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2} +MkFoo3{-rm,x-}{i} = + _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 -> + MkFoo3{-rm,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2} +:***{-ro,x-}{i} = + _/\_ a_tr4k b_tr4l c_tr4m -> \ tpl_B1 tpl_B2 -> + :***{-ro,x-}{i} {_@_ a_tr4k _@_ b_tr4l _@_ c_tr4m tpl_B1 tpl_B2} +AbsBinds [taFI] [d.Bar_aFL] [([taFI], f3d{-r4o,x-}, f3d_aFv)] + /////_aQY = /////{-r4C,x-} taFI d.Bar_aFL + f3d_aFv x_r48 y_r49 = x_r48 /////_aQY y_r49 +AbsBinds [taG0] [d.Bar_aG3] [([taG0], f3c{-r4p,x-}, f3c_aFN)] + /////_aR3 = /////{-r4C,x-} taG0 d.Bar_aG3 + f3c_aFN x_r45 y_r46 = /////_aR3 x_r45 y_r46 +AbsBinds [taGi] [d.Bar_aGl] [([taGi], f3b{-r4q,x-}, f3b_aG5)] + meth1_aR4 = meth1{-r4B,x-} taGi d.Bar_aGl + f3b_aG5 x_r42 y_r43 = x_r42 meth1_aR4 y_r43 +AbsBinds [taGA] [d.Bar_aGD] [([taGA], f3a{-r4r,x-}, f3a_aGn)] + meth1_aR5 = meth1{-r4B,x-} taGA d.Bar_aGD + f3a_aGn x_r3Z y_r40 = meth1_aR5 x_r3Z y_r40 +AbsBinds +[taH3, taH5, taH7] +[] +[([taH3, taH5, taH7], <<<<{-r4s,x-}, <<<<_aGF)] + <<<<_aGF x_r3T y_r3U + = :***{-ro,x-}{i} [taH3, taH5, taH7] x_r3T y_r3U + <<<<_aGF x_r3W y_r3X + = :***{-ro,x-}{i} [taH3, taH5, taH7] x_r3W y_r3X +AbsBinds +[taHn, taHp, taHr] +[] +[([taHn, taHp, taHr], .....{-r4t,x-}, ....._aH9)] + ....._aH9 x_r3Q y_r3R + = MkFoo3{-rm,x-}{i} [taHn, taHp, taHr] x_r3Q y_r3R +AbsBinds +[taHH, taHJ, taHL] +[] +[([taHH, taHJ, taHL], ....{-r4u,x-}, ...._aHt)] + ...._aHt x_r3N y_r3O + = MkFoo3{-rm,x-}{i} [taHH, taHJ, taHL] x_r3N y_r3O +AbsBinds +[taI1, taI3, taI5] +[] +[([taI1, taI3, taI5], f2a{-r4v,x-}, f2a_aHN)] + f2a_aHN x_r3K y_r3L = :##{-rj,x-}{i} [taI1, taI3, taI5] x_r3K y_r3L +AbsBinds +[taIl, taIn, taIp] +[] +[([taIl, taIn, taIp], f2{-r4w,x-}, f2_aI7)] + f2_aI7 x_r3H y_r3I = :##{-rj,x-}{i} [taIl, taIn, taIp] x_r3H y_r3I +AbsBinds +[taIF, taIH, taIJ] +[] +[([taIF, taIH, taIJ], f1a{-r4x,x-}, f1a_aIr)] + f1a_aIr x_r3E y_r3F + = MkFoo1{-rk,x-}{i} [taIF, taIH, taIJ] x_r3E y_r3F +AbsBinds +[taIZ, taJ1, taJ3] +[] +[([taIZ, taJ1, taJ3], f1{-r4y,x-}, f1_aIL)] + f1_aIL x_r3B y_r3C + = MkFoo1{-rk,x-}{i} [taIZ, taJ1, taJ3] x_r3B y_r3C +AbsBinds +[taJJ, taJM, taJN] +[] +[([taJJ, taJM, taJN], con2tag_Foo#_rCX, con2tag_Foo#_aJ5)] + con2tag_Foo#_aJ5 (MkFoo1{-rk,x-}{i} _ _) = 0# + con2tag_Foo#_aJ5 (:##{-rj,x-}{i} _ _) = 1# + con2tag_Foo#_aJ5 (MkFoo3{-rm,x-}{i} _ _) = 2# + con2tag_Foo#_aJ5 (:***{-ro,x-}{i} _ _) = 3# +AbsBinds +[taK6, taK9, taKc] +[d.Eq_aLY, d.Eq_aLZ, d.Eq_aM0] +[([taK6, taK9, taKc], $d1{-rQZ,x-}, d.Eq_aJV)] + d.Eq_aM4 = d.Eq_aLY + ==_aR6 = PrelBase.=={-8Y,p-} taK6 d.Eq_aM4 + d.Eq_aM6 = d.Eq_aLZ + ==_aR7 = PrelBase.=={-8Y,p-} taK9 d.Eq_aM6 + d.Eq_aM8 = d.Eq_aM0 + ==_aR8 = PrelBase.=={-8Y,p-} taKc d.Eq_aM8 + ==_aR9 = ==_aRa + AbsBinds [] [] [([], ==_aRa, ==_aJZ)] + ==_aRc = ==_aR6 + ==_aRd = ==_aR7 + ==_aRe = ==_aR7 + ==_aRf = ==_aR8 + ==_aRg = ==_aR8 + ==_aJZ (MkFoo1{-rk,x-}{i} a1_rD6 a2_rD7) + (MkFoo1{-rk,x-}{i} b1_rD8 b2_rD9) + = (a1_rD6 ==_aR6 b1_rD8) + PrelBase.&&{-rgs,p-} (a2_rD7 ==_aRc b2_rD9) + ==_aJZ (:##{-rj,x-}{i} a1_rDb a2_rDc) + (:##{-rj,x-}{i} b1_rDd b2_rDe) + = (a1_rDb ==_aR7 b1_rDd) + PrelBase.&&{-rgs,p-} (a2_rDc ==_aR8 b2_rDe) + ==_aJZ (MkFoo3{-rm,x-}{i} a1_rDg a2_rDh) + (MkFoo3{-rm,x-}{i} b1_rDi b2_rDj) + = (a1_rDg ==_aRd b1_rDi) + PrelBase.&&{-rgs,p-} (a2_rDh ==_aRe b2_rDj) + ==_aJZ (:***{-ro,x-}{i} a1_rDl a2_rDm) + (:***{-ro,x-}{i} b1_rDn b2_rDo) + = (a1_rDl ==_aRf b1_rDn) + PrelBase.&&{-rgs,p-} (a2_rDm ==_aRg b2_rDo) + ==_aJZ a_rDq b_rDr = PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], /=_aRb, /=_aLR)] + /=_aLR a_rDv b_rDw = PrelBase.not{-rhq,p-} ==_aR9 a_rDv b_rDw + d.Eq_aJV = ({-dict-} [] [==_aRa, /=_aRb]) +AbsBinds +[taQT, taQU, taQV] +[] +[([taQT, taQU, taQV], $d2{-rR0,x-}, d.Eval_aMj)] + d.Eval_aMj = ({-dict-} [] []) +AbsBinds +[taMy, taMz, taMA] +[d.Ord_aQx, d.Ord_aQy, d.Ord_aQz, d.Eq_aQA] +[([taMy, taMz, taMA], $d3{-rR1,x-}, d.Ord_aMr)] + d.Eq_aQw = d.Eq_aQA + d.Ord_aPe = d.Ord_aQx + d.Ord_aPf = d.Ord_aQy + d.Ord_aPg = d.Ord_aQz + compare_aRh = compare_aRn + compare_aRi = compare_aRn + compare_aRj = compare_aRn + compare_aRk = compare_aRn + compare_aRl = compare_aRn + compare_aRm = compare_aRn + AbsBinds [] [] [([], compare_aRn, compare_aMv)] + compare_aMv a_rEo b_rEp + = case con2tag_Foo#_rCX [taMA, taMy, taMz] a_rEo of + a#_rFc + -> case con2tag_Foo#_rCX [taMA, taMy, taMz] b_rEp of + b#_rFe + -> if a#_rFc GHC.==#{-79,w-}{I} b#_rFe then + case cmp_eq_aRu a_rEo b_rEp of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + else + if a#_rFc GHC.<#{-7b,w-}{I} b#_rFe then + PrelBase.LT{-rb5,p-}{i} + else + PrelBase.GT{-rb6,p-}{i} + where + {- nonrec -} + AbsBinds + [taOq, taOr, taOy] + [d.Ord_aOG, d.Ord_aOI, d.Ord_aOK] + [([taOq, taOr, taOy], cmp_eq_rEr, cmp_eq_aME)] + compare_aRv = PrelBase.compare{-rgH,p-} taOq d.Ord_aOG + compare_aRw = compare_aRv + compare_aRx = PrelBase.compare{-rgH,p-} taOr d.Ord_aOI + compare_aRy = PrelBase.compare{-rgH,p-} taOy d.Ord_aOK + compare_aRz = compare_aRx + compare_aRA = compare_aRx + compare_aRB = compare_aRy + compare_aRC = compare_aRy + cmp_eq_aME (MkFoo1{-rk,x-}{i} a1_rEt a2_rEu) + (MkFoo1{-rk,x-}{i} b1_rEv b2_rEw) + = case compare_aRv a1_rEt b1_rEv of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} + -> case compare_aRw a2_rEu b2_rEw of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + cmp_eq_aME (:##{-rj,x-}{i} a1_rEE a2_rEF) + (:##{-rj,x-}{i} b1_rEG b2_rEH) + = case compare_aRx a1_rEE b1_rEG of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} + -> case compare_aRy a2_rEF b2_rEH of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + cmp_eq_aME (MkFoo3{-rm,x-}{i} a1_rEP a2_rEQ) + (MkFoo3{-rm,x-}{i} b1_rER b2_rES) + = case compare_aRz a1_rEP b1_rER of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} + -> case compare_aRA a2_rEQ b2_rES of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + cmp_eq_aME (:***{-ro,x-}{i} a1_rF0 a2_rF1) + (:***{-ro,x-}{i} b1_rF2 b2_rF3) + = case compare_aRB a1_rF0 b1_rF2 of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} + -> case compare_aRC a2_rF1 b2_rF3 of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.LT{-rb5,p-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.EQ{-r4n,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.GT{-rb6,p-}{i} + cmp_eq_aME _ _ + = IOBase.error{-87,w-} + PrelBase.Ordering{-3o,p-} "Urk! in TcGenDeriv" + {- nonrec -} + cmp_eq_aRu = + cmp_eq_rEr [taMy, taMz, taMA] [d.Ord_aPe, d.Ord_aPf, d.Ord_aPg] + {- nonrec -} + AbsBinds [] [] [([], <_aRo, <_aPl)] + <_aPl a_rDC b_rDD + = case compare_aRh a_rDC b_rDD of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], <=_aRp, <=_aPy)] + <=_aPy a_rDK b_rDL + = case compare_aRi a_rDK b_rDL of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], >=_aRq, >=_aPL)] + >=_aPL a_rDS b_rDT + = case compare_aRj a_rDS b_rDT of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.True{-5E,w-}{i} + AbsBinds [] [] [([], >_aRr, >_aPY)] + >_aPY a_rE0 b_rE1 + = case compare_aRk a_rE0 b_rE1 of + PrelBase.LT{-rb5,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.EQ{-r4n,p-}{i} -> PrelBase.False{-58,w-}{i} + PrelBase.GT{-rb6,p-}{i} -> PrelBase.True{-5E,w-}{i} + AbsBinds [] [] [([], max_aRs, max_aQb)] + max_aQb a_rE8 b_rE9 + = case compare_aRl a_rE8 b_rE9 of + PrelBase.LT{-rb5,p-}{i} -> b_rE9 + PrelBase.EQ{-r4n,p-}{i} -> a_rE8 + PrelBase.GT{-rb6,p-}{i} -> a_rE8 + AbsBinds [] [] [([], min_aRt, min_aQo)] + min_aQo a_rEg b_rEh + = case compare_aRm a_rEg b_rEh of + PrelBase.LT{-rb5,p-}{i} -> a_rEg + PrelBase.EQ{-r4n,p-}{i} -> b_rEh + PrelBase.GT{-rb6,p-}{i} -> b_rEh + d.Ord_aMr = + ({-dict-} + [d.Eq_aQw] + [compare_aRn, <_aRo, <=_aRp, >=_aRq, >_aRr, max_aRs, min_aRt]) +scsel_Bar2Print002Bar{-aR2,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taQW] [d.Bar2_aQP] [] +meth1{-r4B,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 -> + tpl_B1;} +/////{-r4C,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 -> + tpl_B2;} +meth2{-r4D,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 -> + tpl_B3;} +AbsBinds [taQX] [d.Bar_aQS] [] +Print002.hs:35: + Warning: Pattern match(es) completely overlapped + in the definition of function `<<<<' +ghc: module version changed to 1; reason: no old .hi file +_interface_ Print002 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 . 1 not 1 Eq 1 Eval 1 Ord 1 Ordering 1; +PrelNum 1 :: $d17 1 $d18 1; +_exports_ +Print002 .... ..... <<<< f1 f1a f2 f2a f3a f3b f3c f3d Bar(meth1 ///// meth2) Bar2 Foo(MkFoo1 :## MkFoo3 :***); +_instances_ +instance _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} = $d1; +instance _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} = $d2; +instance _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c} => {PrelBase.Ord (Foo a b c)} = $d3; +_declarations_ +1 $d1 _:_ _forall_ [a b c] {PrelBase.Eq a, PrelBase.Eq b, PrelBase.Eq c} => {PrelBase.Eq (Foo a b c)} ;; +1 $d2 _:_ _forall_ [a b c] => {PrelBase.Eval (Foo a b c)} ;; +1 $d3 _:_ _forall_ [a b c] {PrelBase.Ord a, PrelBase.Ord b, PrelBase.Ord c, PrelBase.Eq (Foo a b c)} => {PrelBase.Ord (Foo a b c)} ;; +1 .... _:_ _forall_ [ta tb tc] => tb -> tb -> Foo ta tb tc ;; +1 ..... _:_ _forall_ [ta tb tc] => tb -> tb -> Foo ta tb tc ;; +1 <<<< _:_ _forall_ [ta tb tc] => tc -> tc -> Foo ta tb tc ;; +1 class Bar a where {meth1 :: a -> a -> PrelBase.Bool; ///// :: a -> a -> PrelBase.Bool; meth2 :: _forall_ [b] => a -> b -> PrelBase.Bool} ; +1 class {Bar a} => Bar2 a ; +1 data Foo a b c = MkFoo1 a a | :## b c | MkFoo3 b b | :*** c c ; +1 f1 _:_ _forall_ [ta tb tc] => ta -> ta -> Foo ta tb tc ;; +1 f1a _:_ _forall_ [ta tb tc] => ta -> ta -> Foo ta tb tc ;; +1 f2 _:_ _forall_ [ta tb tc] => tb -> tc -> Foo ta tb tc ;; +1 f2a _:_ _forall_ [ta tb tc] => tb -> tc -> Foo ta tb tc ;; +1 f3a _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;; +1 f3b _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;; +1 f3c _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;; +1 f3d _:_ _forall_ [ta] {Bar ta} => ta -> ta -> PrelBase.Bool ;; diff --git a/ghc/tests/printing/Print003.hs b/ghc/tests/printing/should_compile/Print003.hs similarity index 100% rename from ghc/tests/printing/Print003.hs rename to ghc/tests/printing/should_compile/Print003.hs diff --git a/ghc/tests/printing/should_compile/Print003.stderr b/ghc/tests/printing/should_compile/Print003.stderr new file mode 100644 index 0000000..aa767cc --- /dev/null +++ b/ghc/tests/printing/should_compile/Print003.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +bitRsh{-r3h,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +bitLsh{-r3i,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [takE] [d.Bits_akD] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ Word 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +Word Bits(bitRsh bitLsh); +_fixities_ +infixl 8 bitLsh; +infixl 8 bitRsh; +_declarations_ +1 class Bits a where {bitRsh :: a -> PrelBase.Int -> a; bitLsh :: a -> PrelBase.Int -> a} ; diff --git a/ghc/tests/printing/Print004.hs b/ghc/tests/printing/should_compile/Print004.hs similarity index 100% rename from ghc/tests/printing/Print004.hs rename to ghc/tests/printing/should_compile/Print004.hs diff --git a/ghc/tests/printing/should_compile/Print004.stderr b/ghc/tests/printing/should_compile/Print004.stderr new file mode 100644 index 0000000..5eb6c1e --- /dev/null +++ b/ghc/tests/printing/should_compile/Print004.stderr @@ -0,0 +1,72 @@ + +Print004.hs:18: No explicit method nor default method for `PrelBase.showsPrec' + in an instance declaration for `PrelBase.Show' + + +================================================================================ +Typechecked: +Con{-r6u,l-}{i} = + _/\_ a_tr6C -> \ tpl_B1 -> Con{-r6u,l-}{i} {_@_ a_tr6C tpl_B1} +Junk11{-r4,l-}{i} = _/\_ a_tr6A -> Junk11{-r4,l-}{i} {_@_ a_tr6A} +Junk2{-r3,l-}{i} = _/\_ a_tr6A -> Junk2{-r3,l-}{i} {_@_ a_tr6A} +AbsBinds [taFM] [] [([taFM], $d2{-rFO,x-}, d.Eval_aEr)] + d.Eval_aEr = ({-dict-} [] []) +AbsBinds [taFN] [] [([taFN], $d3{-rFP,x-}, d.Eval_aEx)] + d.Eval_aEx = ({-dict-} [] []) +AbsBinds [taEN] [d.Ord_aF8] [([taEN], $d4{-rFQ,x-}, d.Show_aED)] + d.Ord_aFg = d.Ord_aF8 + d.Show_aFe = $d1{-rFR,x-} taEN d.Ord_aFg + showsPrec_aFU = + PrelBase.showsPrec{-r2c,p-} (FunnyInternalType{-r6v,l-} taEN) + d.Show_aFe + showsPrec_aFV = showsPrec_aFW + AbsBinds [] [] [([], showsPrec_aFW, showsPrec_aEH)] + showsPrec_aEH a_rDK (Con{-r6u,l-}{i} b1_rDL) + = PrelBase.showParen{-r16,p-} a_rDK >=_aFS lit_aFT + PrelBase..{-rI,p-} + [PrelBase.String{-r2i,p-}, PrelBase.String{-r2i,p-}, PrelBase.String{-r2i,p-}] PrelBase.showString{-r18,p-} "Con " + showsPrec_aFU PrelBase.I#{-5b,w-}{i} 10# + b1_rDL + AbsBinds [] [] [([], showList_aFX, showList_aF3)] + showList_aF3 = PrelBase.showList__{-r6F,p-} + (OpaqueType{-r6,x-} taEN) showsPrec_aFV PrelBase.I#{-5b,w-}{i} 0# + d.Show_aED = ({-dict-} [] [showsPrec_aFW, showList_aFX]) +AbsBinds [taFv] [d.Ord_aFE] [([taFv], $d1{-rFR,x-}, d.Show_aFn)] + d.Show_aFI = d.Show_aFn + $mshowList_aFY = + PrelBase.$mshowList{-rif,p-} (FunnyInternalType{-r6v,l-} taFv) + d.Show_aFI + AbsBinds [] [] [([], showsPrec_aFZ, showsPrec_aFs)] + showsPrec_aFs + = GHCerr.noDefaultMethodError{-8k,w-} + (PrelBase.Int{-3g,W-} + -> FunnyInternalType{-r6v,l-} taFv + -> PrelBase.String{-r2i,p-} + -> PrelBase.String{-r2i,p-}) "|PrelBase.showsPrec" + AbsBinds [] [] [([], showList_aG0, showList_aFB)] + showList_aFB = $mshowList_aFY + d.Show_aFn = ({-dict-} [] [showsPrec_aFZ, showList_aG0]) +d.Ord_aFL = PrelBase.$d7{-rdY,p-} +>=_aFS = PrelBase.>={-8Z,p-} PrelBase.Int{-3g,W-} d.Ord_aFL +lit_aFT = PrelBase.I#{-5b,w-}{i} 10# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ExportOpaque 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 showList__ 1 showParen 1 showSpace 1 showString 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 ShowS 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1; +_exports_ +ExportOpaque OpaqueType; +_instances_ +instance _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (FunnyInternalType a)} = $d1; +instance _forall_ [a] => {PrelBase.Eval (OpaqueType a)} = $d2; +instance _forall_ [a] => {PrelBase.Eval (FunnyInternalType a)} = $d3; +instance _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (OpaqueType a)} = $d4; +_declarations_ +1 $d1 _:_ _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (FunnyInternalType a)} ;; +1 $d2 _:_ _forall_ [a] => {PrelBase.Eval (OpaqueType a)} ;; +1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (FunnyInternalType a)} ;; +1 $d4 _:_ _forall_ [a] {PrelBase.Ord a} => {PrelBase.Show (OpaqueType a)} ;; +1 data FunnyInternalType a = Junk11 | Junk2 ; +1 data OpaqueType a = Con (FunnyInternalType a) ; diff --git a/ghc/tests/programs/10queens/Makefile b/ghc/tests/programs/10queens/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/10queens/Makefile +++ b/ghc/tests/programs/10queens/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/Makefile b/ghc/tests/programs/Makefile index 8d16d44..2a57051 100644 --- a/ghc/tests/programs/Makefile +++ b/ghc/tests/programs/Makefile @@ -1,4 +1,4 @@ -TOP = .. +TOP = . include $(TOP)/mk/boilerplate.mk NOT_THESE = Makefile ipoole_spec_class areid_pass diff --git a/ghc/tests/programs/andre_monad/Makefile b/ghc/tests/programs/andre_monad/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/andre_monad/Makefile +++ b/ghc/tests/programs/andre_monad/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/andy_cherry/Makefile b/ghc/tests/programs/andy_cherry/Makefile index 9e09011..2ac9f14 100644 --- a/ghc/tests/programs/andy_cherry/Makefile +++ b/ghc/tests/programs/andy_cherry/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_HC_OPTS += -cpp diff --git a/ghc/tests/programs/areid_pass/Makefile b/ghc/tests/programs/areid_pass/Makefile index 5b9af21..c85f52d 100644 --- a/ghc/tests/programs/areid_pass/Makefile +++ b/ghc/tests/programs/areid_pass/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_HC_OPTS += -fglasgow-exts diff --git a/ghc/tests/programs/barton-mangler-bug/Makefile b/ghc/tests/programs/barton-mangler-bug/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/barton-mangler-bug/Makefile +++ b/ghc/tests/programs/barton-mangler-bug/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/cholewo-eval/Makefile b/ghc/tests/programs/cholewo-eval/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/cholewo-eval/Makefile +++ b/ghc/tests/programs/cholewo-eval/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/cvh_unboxing/Makefile b/ghc/tests/programs/cvh_unboxing/Makefile index 5b9af21..c85f52d 100644 --- a/ghc/tests/programs/cvh_unboxing/Makefile +++ b/ghc/tests/programs/cvh_unboxing/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_HC_OPTS += -fglasgow-exts diff --git a/ghc/tests/programs/dmgob_native1/Makefile b/ghc/tests/programs/dmgob_native1/Makefile index fc4b455..4e94ecb 100644 --- a/ghc/tests/programs/dmgob_native1/Makefile +++ b/ghc/tests/programs/dmgob_native1/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_RUNTEST_OPTS += test_data diff --git a/ghc/tests/programs/dmgob_native2/Makefile b/ghc/tests/programs/dmgob_native2/Makefile index c28f624..5e846e0 100644 --- a/ghc/tests/programs/dmgob_native2/Makefile +++ b/ghc/tests/programs/dmgob_native2/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_HC_OPTS += -cpp -syslib hbc diff --git a/ghc/tests/programs/fast2haskell/Makefile b/ghc/tests/programs/fast2haskell/Makefile index 5b9af21..c85f52d 100644 --- a/ghc/tests/programs/fast2haskell/Makefile +++ b/ghc/tests/programs/fast2haskell/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_HC_OPTS += -fglasgow-exts diff --git a/ghc/tests/programs/fun_insts/Makefile b/ghc/tests/programs/fun_insts/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/fun_insts/Makefile +++ b/ghc/tests/programs/fun_insts/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/hill_stk_oflow/Makefile b/ghc/tests/programs/hill_stk_oflow/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/hill_stk_oflow/Makefile +++ b/ghc/tests/programs/hill_stk_oflow/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/ipoole_spec_class/Makefile b/ghc/tests/programs/ipoole_spec_class/Makefile index a62acb1..fa26d65 100644 --- a/ghc/tests/programs/ipoole_spec_class/Makefile +++ b/ghc/tests/programs/ipoole_spec_class/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_HC_OPTS += -cpp diff --git a/ghc/tests/programs/jl_defaults/Makefile b/ghc/tests/programs/jl_defaults/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/jl_defaults/Makefile +++ b/ghc/tests/programs/jl_defaults/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/jq_readsPrec/Makefile b/ghc/tests/programs/jq_readsPrec/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/jq_readsPrec/Makefile +++ b/ghc/tests/programs/jq_readsPrec/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/jtod_circint/Makefile b/ghc/tests/programs/jtod_circint/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/jtod_circint/Makefile +++ b/ghc/tests/programs/jtod_circint/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/jules_xref/Makefile b/ghc/tests/programs/jules_xref/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/jules_xref/Makefile +++ b/ghc/tests/programs/jules_xref/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/jules_xref2/Makefile b/ghc/tests/programs/jules_xref2/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/jules_xref2/Makefile +++ b/ghc/tests/programs/jules_xref2/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/launchbury/Makefile b/ghc/tests/programs/launchbury/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/launchbury/Makefile +++ b/ghc/tests/programs/launchbury/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/lennart_array/Makefile b/ghc/tests/programs/lennart_array/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/lennart_array/Makefile +++ b/ghc/tests/programs/lennart_array/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/lennart_range/Makefile b/ghc/tests/programs/lennart_range/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/lennart_range/Makefile +++ b/ghc/tests/programs/lennart_range/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/lex/Makefile b/ghc/tests/programs/lex/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/lex/Makefile +++ b/ghc/tests/programs/lex/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/life_space_leak/Makefile b/ghc/tests/programs/life_space_leak/Makefile index 2c16a81..cc14abc 100644 --- a/ghc/tests/programs/life_space_leak/Makefile +++ b/ghc/tests/programs/life_space_leak/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_RUNTEST_OPTS += -prescript ./life.test diff --git a/ghc/tests/programs/north_array/Makefile b/ghc/tests/programs/north_array/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/north_array/Makefile +++ b/ghc/tests/programs/north_array/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/north_lias/Makefile b/ghc/tests/programs/north_lias/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/north_lias/Makefile +++ b/ghc/tests/programs/north_lias/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/record_upd/Makefile b/ghc/tests/programs/record_upd/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/record_upd/Makefile +++ b/ghc/tests/programs/record_upd/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/rittri/Makefile b/ghc/tests/programs/rittri/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/rittri/Makefile +++ b/ghc/tests/programs/rittri/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/sanders_array/Makefile b/ghc/tests/programs/sanders_array/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/sanders_array/Makefile +++ b/ghc/tests/programs/sanders_array/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/seward-space-leak/Makefile b/ghc/tests/programs/seward-space-leak/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/seward-space-leak/Makefile +++ b/ghc/tests/programs/seward-space-leak/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/strict_anns/Makefile b/ghc/tests/programs/strict_anns/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/strict_anns/Makefile +++ b/ghc/tests/programs/strict_anns/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/waugh_neural/Makefile b/ghc/tests/programs/waugh_neural/Makefile index de6e7e0..39dc227 100644 --- a/ghc/tests/programs/waugh_neural/Makefile +++ b/ghc/tests/programs/waugh_neural/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk all :: runtest diff --git a/ghc/tests/programs/zhang_ccall/Makefile b/ghc/tests/programs/zhang_ccall/Makefile index 5b9af21..c85f52d 100644 --- a/ghc/tests/programs/zhang_ccall/Makefile +++ b/ghc/tests/programs/zhang_ccall/Makefile @@ -1,4 +1,4 @@ -TOP = ../.. +TOP = .. include $(TOP)/mk/boilerplate.mk SRC_HC_OPTS += -fglasgow-exts diff --git a/ghc/tests/reader/Makefile b/ghc/tests/reader/Makefile new file mode 100644 index 0000000..af26578 --- /dev/null +++ b/ghc/tests/reader/Makefile @@ -0,0 +1,7 @@ +TOP = .. +include $(TOP)/mk/boilerplate.mk + +SUBDIRS = should_compile should_fail + +include $(TOP)/mk/target.mk + diff --git a/ghc/tests/reader/should_compile/Makefile b/ghc/tests/reader/should_compile/Makefile index fe5fca9..4aebe1d 100644 --- a/ghc/tests/reader/should_compile/Makefile +++ b/ghc/tests/reader/should_compile/Makefile @@ -1,22 +1,9 @@ -TOP = ../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk +HC_OPTS += -noC -dcore-lint -ddump-rdr -HS_SRCS = $(wildcard *.hs) -SRC_RUNTEST_OPTS += -accept-output -o1 $*.stdout -o2 $*.stderr -x 1 -HC_OPTS += -noC -dcore-lint - -read002_RUNTEST_OPTS = -x 0 - -%.o : %.hs - -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) - -all :: $(HS_OBJS) - -read001_HC_OPTS = -noC -ddump-rdr -read002_HC_OPTS = -noC -ddump-rdr -read004_HC_OPTS = -noC -fno-implicit-prelude -ddump-rdr +read004_HC_OPTS = -fno-implicit-prelude include $(TOP)/mk/target.mk diff --git a/ghc/tests/reader/should_compile/expr001.stderr b/ghc/tests/reader/should_compile/expr001.stderr deleted file mode 100644 index 3701c35..0000000 --- a/ghc/tests/reader/should_compile/expr001.stderr +++ /dev/null @@ -1,6 +0,0 @@ - -expr001.hs:10: - Value not in scope: `c' - - -Compilation had errors diff --git a/ghc/tests/reader/should_compile/read001.stderr b/ghc/tests/reader/should_compile/read001.stderr deleted file mode 100644 index 4a188c3..0000000 --- a/ghc/tests/reader/should_compile/read001.stderr +++ /dev/null @@ -1 +0,0 @@ -read001.hs:13:9: parse error on input: "OneC.." diff --git a/ghc/tests/reader/should_compile/read002.stderr b/ghc/tests/reader/should_compile/read002.stderr index aeb88ae..22f8581 100644 --- a/ghc/tests/reader/should_compile/read002.stderr +++ b/ghc/tests/reader/should_compile/read002.stderr @@ -8,9 +8,7 @@ infixr 2 \\\ infix 3 :==> infix 4 MkFoo {- rec -} -\\\ :: - _forall_ [] {Eq a} => [a] -> [a] -> [a] -f x y = x -\\\ xs ys = xs -data Foo = - MkFoo Int | Float :==> Double +\\\ :: _forall_ [] (Eq a) => [a] -> [a] -> [a] +f x y = x +\\\ xs ys = xs +data Foo = MkFoo Int | Float :==> Double diff --git a/ghc/tests/reader/should_compile/read003.stderr b/ghc/tests/reader/should_compile/read003.stderr deleted file mode 100644 index 9a2e662..0000000 --- a/ghc/tests/reader/should_compile/read003.stderr +++ /dev/null @@ -1,21 +0,0 @@ - -read003.hs:8: Cannot construct the infinite type (occur check) - `t{-aK8-}' = `(t{-aK8-}, t{-aKb-}, t{-aKe-})' - Expected: `(t{-aK8-}, [a{-aKm-}], [a{-aKo-}])' - Inferred: `t{-aK8-}' - In a pattern binding: - ~(`a', `b', `c') - | [`nullity - b'] = - `a' - | [`nullity - c'] = - `a' - | [`PrelBase.otherwise'] = - `a' - where - `nullity' - = `PrelList.null' - - -Compilation had errors diff --git a/ghc/tests/reader/should_compile/read005.stderr b/ghc/tests/reader/should_compile/read005.stderr new file mode 100644 index 0000000..09fd145 --- /dev/null +++ b/ghc/tests/reader/should_compile/read005.stderr @@ -0,0 +1,7 @@ + + +================================================================================ +Reader: +module Main where +{- rec -} +main = print "Hello" diff --git a/ghc/tests/reader/should_fail/Makefile b/ghc/tests/reader/should_fail/Makefile new file mode 100644 index 0000000..73fc3ff --- /dev/null +++ b/ghc/tests/reader/should_fail/Makefile @@ -0,0 +1,7 @@ +TOP = ../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_fail.mk + +HC_OPTS += -noC -ddump-rdr + +include $(TOP)/mk/target.mk diff --git a/ghc/tests/reader/should_compile/expr001.hs b/ghc/tests/reader/should_fail/expr001.hs similarity index 100% rename from ghc/tests/reader/should_compile/expr001.hs rename to ghc/tests/reader/should_fail/expr001.hs diff --git a/ghc/tests/reader/should_fail/expr001.stderr b/ghc/tests/reader/should_fail/expr001.stderr new file mode 100644 index 0000000..3d44bd2 --- /dev/null +++ b/ghc/tests/reader/should_fail/expr001.stderr @@ -0,0 +1,13 @@ + + +================================================================================ +Reader: +module Main where +{- rec -} +f x = x + (if c then 1 else 2) +f x = x + 1 :: Int + +expr001.hs:10: Value not in scope: `c' + + +Compilation had errors diff --git a/ghc/tests/reader/should_compile/read001.hs b/ghc/tests/reader/should_fail/read001.hs similarity index 93% rename from ghc/tests/reader/should_compile/read001.hs rename to ghc/tests/reader/should_fail/read001.hs index dc434eb..cc188fd 100644 --- a/ghc/tests/reader/should_compile/read001.hs +++ b/ghc/tests/reader/should_fail/read001.hs @@ -10,14 +10,14 @@ module OneOfEverything ( EqTree(EqLeaf, EqBranch), EqClass(..), OrdClass(orda, ordb), - OneC.. , - OneOfEverything.. + module OneC , + module OneOfEverything ) where -import OneA renaming ( fA to renamedA ) +import qualified OneA import OneB ( fB ) import OneC hiding ( fC ) -import OneC hiding ( fC ) renaming ( fc to renamedC ) +import OneC hiding ( fC ) -- HsDecls stuff diff --git a/ghc/tests/reader/should_fail/read001.stderr b/ghc/tests/reader/should_fail/read001.stderr new file mode 100644 index 0000000..b036121 --- /dev/null +++ b/ghc/tests/reader/should_fail/read001.stderr @@ -0,0 +1,110 @@ + + +================================================================================ +Reader: +module OneOfEverything ( + fixn, FooData, FooDataB(..), FooDataC(..), EqTree(EqLeaf, + EqBranch), EqClass(..), OrdClass(orda, + ordb), module OneC, module OneOfEverything + ) where +import qualified OneA +import OneB (fB) +import OneC hiding (fC) +import OneC hiding (fC) +infix 6 fixn +infixl 7 +# +infixr 8 fixr +{- rec -} +bindwith :: _forall_ [] (OrdClass a, OrdClass b) => a -> b -> b +g :: _forall_ [] (Num a, Eq b) => Foo a -> [b] -> (a, a, a) -> b +fixn x y = x +fixl x y = x +fixr x y = x +singlebind x = x +bindwith a b = b +reca a = recb a +recb a = reca a +(~(a, b, c)) + | nullity b = a + | nullity c = a + | otherwise = a + where + {- rec -} + nullity = null +mat a b c d + | foof a b = d + | foof a c = d + | foof b c = d + where + {- rec -} + foof a b = a == b +expr a b c d + = ((((((((a + (: a b)) + (a : b)) + + (((1 - 'c') - "abc") - 1.2929999999999999)) + + ((\ x y z -> x) 42)) + + ((9 *))) + + ((* 8))) + + (case x of + [] + | null x -> 99 + | otherwise -> 98 + | True -> 97 + where + {- rec -} + null x = False)) + + ([z | z <- c, isSpace z])) + + (let + {- rec -} + y = foo + in + (((((((y + [1, 2, 3, 4]) + (4, 3, 2, 1)) + + (4 :: _forall_ [] (Num a) => a)) + + (if 42 == 42.000000000000000 then 1 else 4)) + + ([1 .. ])) + + ([2, 4 .. ])) + + ([3 .. 5])) + + ([4, 8 .. 999])) +f _ + x + 1 + 1.9299999999999999 + 'c' + "dog" + ~y + (z@(Foo a b)) + (c Bar d) + [1, 2] + (3, 4) + ((n+42)) + = y +g x y z = head y +default (Integer, Rational) +instance _forall_ [] (Eq a) => EqClass (EqTree a) where + [] + eqc x = 'a' +class (Ord a) => OrdClass a where { + orda :: a -> Char; ordb :: a -> Char; ordc :: a -> Char; + } +class (Eq a) => EqClass a where { + eqc :: a -> Char; + eqc x = '?' + } +data (Eq a) => EqTree a = EqLeaf a | EqBranch (EqLeaf a) (EqLeaf a) +data FooDataB = FooConB Double +data FooData = FooCon Int +type Pair a b = (a, b) + +read001.hs:17: Could not find valid interface file `OneA' + +read001.hs:18: Could not find valid interface file `OneB' + +read001.hs:18: Module OneB does not export `fB' + +read001.hs:19: Could not find valid interface file `OneC' + +read001.hs:19: Module OneC does not export `fC' + +read001.hs:20: Module OneC does not export `fC' + + +Compilation had errors diff --git a/ghc/tests/reader/should_compile/read003.hs b/ghc/tests/reader/should_fail/read003.hs similarity index 100% rename from ghc/tests/reader/should_compile/read003.hs rename to ghc/tests/reader/should_fail/read003.hs diff --git a/ghc/tests/reader/should_fail/read003.stderr b/ghc/tests/reader/should_fail/read003.stderr new file mode 100644 index 0000000..021a5c0 --- /dev/null +++ b/ghc/tests/reader/should_fail/read003.stderr @@ -0,0 +1,28 @@ + + +================================================================================ +Reader: +module Read003 where +{- rec -} +~(a, b, c) + | nullity b = a + | nullity c = a + | otherwise = a + where + {- rec -} + nullity = null + +read003.hs:8: Cannot construct the infinite type (occur check) + `taGH' = `(taGH, taGK, taGN)' + Expected: `taGH' + Inferred: `(taGH, [taGW], taGN)' + In a pattern binding: + `~(a, b, c) + | nullity b = a + | nullity c = a + | PrelBase.otherwise = a + where + nullity = PrelList.null' + + +Compilation had errors diff --git a/ghc/tests/reader/should_compile/read004.hs b/ghc/tests/reader/should_fail/read004.hs similarity index 100% rename from ghc/tests/reader/should_compile/read004.hs rename to ghc/tests/reader/should_fail/read004.hs diff --git a/ghc/tests/reader/should_compile/read004.stderr b/ghc/tests/reader/should_fail/read004.stderr similarity index 100% rename from ghc/tests/reader/should_compile/read004.stderr rename to ghc/tests/reader/should_fail/read004.stderr diff --git a/ghc/tests/rename/should_compile/Makefile b/ghc/tests/rename/should_compile/Makefile index e1bca8d..212553c 100644 --- a/ghc/tests/rename/should_compile/Makefile +++ b/ghc/tests/rename/should_compile/Makefile @@ -1,18 +1,11 @@ -TOP = ../../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0 HC_OPTS += -noC -dcore-lint rn017_HC_OPTS = -hi -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ - -all :: $(HS_OBJS) - include $(TOP)/mk/target.mk diff --git a/ghc/tests/rename/should_fail/Makefile b/ghc/tests/rename/should_fail/Makefile index fb0a5f3..5d88d1e 100644 --- a/ghc/tests/rename/should_fail/Makefile +++ b/ghc/tests/rename/should_fail/Makefile @@ -1,14 +1,7 @@ -TOP = ../../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_fail.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 1 HC_OPTS += -noC -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ - -all :: $(HS_OBJS) - include $(TOP)/mk/target.mk diff --git a/ghc/tests/simplCore/should_compile/Makefile b/ghc/tests/simplCore/should_compile/Makefile index ee2596f..33d237f 100644 --- a/ghc/tests/simplCore/should_compile/Makefile +++ b/ghc/tests/simplCore/should_compile/Makefile @@ -1,16 +1,9 @@ -TOP = ../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk -HS_SRCS = $(wildcard *.hs) +HC_OPTS += -noC -dcore-lint -ddump-simpl -SRC_RUNTEST_OPTS += -accept-output -o1 $*.stdout -o2 $*.stderr -x 0 -HC_OPTS += -noC -O -ddump-simpl -dcore-lint - -%.o : %.hs - -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) +include $(TOP)/mk/target.mk -all :: $(HS_OBJS) -include $(TOP)/mk/target.mk diff --git a/ghc/tests/simplCore/should_compile/simpl001.stderr b/ghc/tests/simplCore/should_compile/simpl001.stderr index b1ee08d..299cfe7 100644 --- a/ghc/tests/simplCore/should_compile/simpl001.stderr +++ b/ghc/tests/simplCore/should_compile/simpl001.stderr @@ -2,110 +2,97 @@ ================================================================================ Simplified: -++++{-r3h,x-} :: - _forall_ - [a{-auX-} b{-auY-}] - => - (a{-auX-} -> (b{-auY-} -> a{-auX-}) -> b{-auY-}) - -> (a{-auX-} -> (b{-auY-} -> a{-auX-}) -> b{-auY-}) - -> a{-auX-} - -> (b{-auY-} -> a{-auX-}) - -> b{-auY-} +++++{-r3h,x-} :: _forall_ + [tark tarl] + => + (tark -> (tarl -> tark) -> tarl) + -> (tark -> (tarl -> tark) -> tarl) + -> tark + -> (tarl -> tark) + -> tarl _A>_ 2 {-# L #-} ++++{-r3h,x-} = - _/\_ a{-sE8-} b{-sE9-} -> \ x_sDl :: - a{-sE8-} -> (b{-sE9-} -> a{-sE8-}) -> b{-sE9-} + _/\_ $x0_tsEh $x1_tsEi -> \ $x2_sDp :: $x0_tsEh + -> ($x1_tsEi -> $x0_tsEh) + -> $x1_tsEi {-# L #-} - x_sDl y_sCR :: - a{-sE8-} -> (b{-sE9-} -> a{-sE8-}) -> b{-sE9-} - {-# L #-} - y_sCR -> - y_sCR -g{-r3j,x-} :: - _forall_ - [a{-avh-} b{-avi-} rk0{-avq-}] - => - {PrelBase.Functor{-2b,p-} rk0{-avq-}} - -> (a{-avh-} -> (b{-avi-} -> a{-avh-}) -> b{-avi-}) - -> rk0{-avq-} (a{-avh-} -> (b{-avi-} -> a{-avh-}) -> b{-avi-}) - -> rk0{-avq-} (a{-avh-} -> (b{-avi-} -> a{-avh-}) -> b{-avi-}) + $x2_sDp $x3_sCV :: $x0_tsEh -> ($x1_tsEi -> $x0_tsEh) -> $x1_tsEi + {-# L #-} + $x3_sCV -> + $x3_sCV +g{-r3i,x-} :: _forall_ + [aarD tarO tarQ] + => + {PrelBase.Functor{-2b,p-} aarD} + -> (tarO -> (tarQ -> tarO) -> tarQ) + -> aarD (tarO -> (tarQ -> tarO) -> tarQ) + -> aarD (tarO -> (tarQ -> tarO) -> tarQ) _A>_ 3 {-# L #-} -g{-r3j,x-} = - _/\_ a{-sEd-} b{-sEe-} rk0{-sEf-} -> \ d.Functor_sDp :: - {PrelBase.Functor{-2b,p-} rk0{-sEf-}} - {-# L #-} - d.Functor_sDp a_sDk :: - a{-sEd-} - -> (b{-sEe-} -> a{-sEd-}) - -> b{-sEe-} +g{-r3i,x-} = + _/\_ $x0_asEl $x1_tsEj $x2_tsEk -> \ $x3_sDt :: {PrelBase.Functor{-2b,p-} $x0_asEl} + {-# L #-} + $x3_sDt $x4_sDo :: $x1_tsEj + -> ($x2_tsEk -> $x1_tsEj) + -> $x2_tsEk + {-# L #-} + $x4_sDo $x5_sE2 :: $x0_asEl ($x1_tsEj + -> ($x2_tsEk + -> $x1_tsEj) + -> $x2_tsEk) {-# L #-} - a_sDk xs_sDV :: - rk0{-sEf-} (a{-sEd-} - -> (b{-sEe-} - -> a{-sEd-}) - -> b{-sEe-}) - {-# L #-} - xs_sDV -> + $x5_sE2 -> let { - ds_sDr :: - (a{-sEd-} -> (b{-sEe-} -> a{-sEd-}) -> b{-sEe-}) - -> a{-sEd-} - -> (b{-sEe-} -> a{-sEd-}) - -> b{-sEe-} + $x7_sDv :: ($x1_tsEj -> ($x2_tsEk -> $x1_tsEj) -> $x2_tsEk) + -> $x1_tsEj + -> ($x2_tsEk -> $x1_tsEj) + -> $x2_tsEk _A>_ 1 {-# L #-} - ds_sDr = - \ ds_sDq :: - a{-sEd-} -> (b{-sEe-} -> a{-sEd-}) -> b{-sEe-} + $x7_sDv = + \ $x6_sDu :: $x1_tsEj -> ($x2_tsEk -> $x1_tsEj) -> $x2_tsEk {-# L #-} - ds_sDq -> - a_sDk + $x6_sDu -> + $x4_sDo } in - d.Functor_sDp - _@_ (a{-sEd-} -> (b{-sEe-} -> a{-sEd-}) -> b{-sEe-}) - _@_ (a{-sEd-} -> (b{-sEe-} -> a{-sEd-}) -> b{-sEe-}) - ds_sDr - xs_sDV -h{-r3i,x-} :: - _forall_ - [a{-avI-} b{-avK-} rk0{-avT-}] - => - {PrelBase.Functor{-2b,p-} rk0{-avT-}} - -> (a{-avI-} -> (b{-avK-} -> a{-avI-}) -> b{-avK-}) - -> rk0{-avT-} (a{-avI-} -> (b{-avK-} -> a{-avI-}) -> b{-avK-}) - -> rk0{-avT-} (a{-avI-} -> (b{-avK-} -> a{-avI-}) -> b{-avK-}) + $x3_sDt + _@_ ($x1_tsEj -> ($x2_tsEk -> $x1_tsEj) -> $x2_tsEk) + _@_ ($x1_tsEj -> ($x2_tsEk -> $x1_tsEj) -> $x2_tsEk) + $x7_sDv + $x5_sE2 +h{-r3j,x-} :: _forall_ + [aas8 task tasm] + => + {PrelBase.Functor{-2b,p-} aas8} + -> (task -> (tasm -> task) -> tasm) + -> aas8 (task -> (tasm -> task) -> tasm) + -> aas8 (task -> (tasm -> task) -> tasm) _A>_ 3 {-# L #-} -h{-r3i,x-} = - _/\_ a{-sEl-} b{-sEm-} rk0{-sEn-} -> \ d.Functor_sDZ :: - {PrelBase.Functor{-2b,p-} rk0{-sEn-}} - {-# L #-} - d.Functor_sDZ b_sEg :: - a{-sEl-} - -> (b{-sEm-} -> a{-sEl-}) - -> b{-sEm-} +h{-r3j,x-} = + _/\_ $x0_asEu $x1_tsEs $x2_tsEt -> \ $x3_sE6 :: {PrelBase.Functor{-2b,p-} $x0_asEu} + {-# L #-} + $x3_sE6 $x4_sEm :: $x1_tsEs + -> ($x2_tsEt -> $x1_tsEs) + -> $x2_tsEt + {-# L #-} + $x4_sEm $x5_sEn :: $x0_asEu ($x1_tsEs + -> ($x2_tsEt + -> $x1_tsEs) + -> $x2_tsEt) {-# L #-} - b_sEg xs_sEh :: - rk0{-sEn-} (a{-sEl-} - -> (b{-sEm-} - -> a{-sEl-}) - -> b{-sEm-}) - {-# L #-} - xs_sEh -> + $x5_sEn -> let { - ds_sE0 :: - (a{-sEl-} -> (b{-sEm-} -> a{-sEl-}) -> b{-sEm-}) - -> a{-sEl-} - -> (b{-sEm-} -> a{-sEl-}) - -> b{-sEm-} + $x7_sE7 :: ($x1_tsEs -> ($x2_tsEt -> $x1_tsEs) -> $x2_tsEt) + -> $x1_tsEs + -> ($x2_tsEt -> $x1_tsEs) + -> $x2_tsEt _A>_ 1 {-# L #-} - ds_sE0 = - \ ds_sDU :: - a{-sEl-} -> (b{-sEm-} -> a{-sEl-}) -> b{-sEm-} + $x7_sE7 = + \ $x6_sDY :: $x1_tsEs -> ($x2_tsEt -> $x1_tsEs) -> $x2_tsEt {-# L #-} - ds_sDU -> - ds_sDU + $x6_sDY -> + $x6_sDY } in - d.Functor_sDZ - _@_ (a{-sEl-} -> (b{-sEm-} -> a{-sEl-}) -> b{-sEm-}) - _@_ (a{-sEl-} -> (b{-sEm-} -> a{-sEl-}) -> b{-sEm-}) - ds_sE0 - xs_sEh + $x3_sE6 + _@_ ($x1_tsEs -> ($x2_tsEt -> $x1_tsEs) -> $x2_tsEt) + _@_ ($x1_tsEs -> ($x2_tsEt -> $x1_tsEs) -> $x2_tsEt) + $x7_sE7 + $x5_sEn diff --git a/ghc/tests/simplCore/should_compile/simpl002.stderr b/ghc/tests/simplCore/should_compile/simpl002.stderr index 49ad874..b43ee5c 100644 --- a/ghc/tests/simplCore/should_compile/simpl002.stderr +++ b/ghc/tests/simplCore/should_compile/simpl002.stderr @@ -2,137 +2,89 @@ ================================================================================ Simplified: -nrlit_sMT :: - [PrelBase.Char{-38,p-}] +$g0_g0 :: [PrelBase.Char{-38,W-}] {-# L #-} -nrlit_sMT = - PackedString.unpackCString#{-8F,p-} - "xxx" -$d1{-rJ7,x-} :: - _forall_ - [a{-r3g-} b{-r3h-} c{-r3i-}] - => - {Foo{-r3j,x-} a{-r3g-}} - -> {Foo{-r3j,x-} b{-r3h-}} - -> {Foo{-r3j,x-} c{-r3i-}} - -> {Foo{-r3j,x-} (Wibble{-r3y,x-} a{-r3g-} b{-r3h-} c{-r3i-})} +$g0_g0 = + PackBase.unpackCString#{-8F,w-} "xxx" +$d1{-rE0,x-} :: _forall_ + [a_tr3g b_tr3h c_tr3i] + => + {Foo{-r3j,x-} a_tr3g} + -> {Foo{-r3j,x-} b_tr3h} + -> {Foo{-r3j,x-} c_tr3i} + -> {Foo{-r3j,x-} (Wibble{-r3w,x-} a_tr3g b_tr3h c_tr3i)} _A>_ 3 {-# L #-} -$d1{-rJ7,x-} = - _/\_ a{-sMG-} b{-sMH-} c{-sMI-} -> \ d.Foo_sLN :: - {Foo{-r3j,x-} a{-sMG-}} +$d1{-rE0,x-} = + _/\_ $x0_tsGS $x1_tsGT $x2_tsGU -> \ $x3_sGV :: {Foo{-r3j,x-} $x0_tsGS} {-# L #-} - d.Foo_sLN d.Foo_sLM :: - {Foo{-r3j,x-} b{-sMH-}} - {-# L #-} - d.Foo_sLM d.Foo_sLL :: - {Foo{-r3j,x-} c{-sMI-}} - {-# L #-} - d.Foo_sLL -> + $x3_sGV $x4_sGW :: {Foo{-r3j,x-} $x1_tsGT} + {-# L #-} + $x4_sGW $x5_sGX :: {Foo{-r3j,x-} $x2_tsGU} + {-# L #-} + $x5_sGX -> let { - op_sLp :: - PrelBase.Int{-3g,p-} - -> Wibble{-r3y,x-} a{-sMG-} b{-sMH-} c{-sMI-} - -> PrelBase.Bool{-34,p-} + $x8_sFS :: PrelBase.Int{-3g,W-} + -> Wibble{-r3w,x-} $x0_tsGS $x1_tsGT $x2_tsGU + -> PrelBase.Bool{-34,W-} _A>_ 2 {-# L #-} - op_sLp = - \ x_sLs :: - PrelBase.Int{-3g,p-} + $x8_sFS = + \ $x6_sH5 :: PrelBase.Int{-3g,W-} {-# L #-} - x_sLs y_sLq :: - Wibble{-r3y,x-} a{-sMG-} b{-sMH-} c{-sMI-} - {-# L #-} - y_sLq -> - IOBase.error{-87,p-} - _@_ PrelBase.Bool{-34,p-} nrlit_sMT } in + $x6_sH5 $x7_sH4 :: Wibble{-r3w,x-} $x0_tsGS $x1_tsGT $x2_tsGU + {-# L #-} + $x7_sH4 -> + IOBase.error{-87,w-} _@_ PrelBase.Bool{-34,W-} $g0_g0 } in let { - op_sLO :: - PrelBase.Int{-3g,p-} - -> Wibble{-r3y,x-} a{-sMG-} b{-sMH-} c{-sMI-} - -> PrelBase.Bool{-34,p-} + $x9_sGY :: PrelBase.Int{-3g,W-} + -> Wibble{-r3w,x-} $x0_tsGS $x1_tsGT $x2_tsGU + -> PrelBase.Bool{-34,W-} _A>_ 2 {-# L #-} - op_sLO = - op_sLp } in + $x9_sGY = + $x8_sFS } in let { - d.Foo_sLP :: - {Foo{-r3j,x-} (Wibble{-r3y,x-} a{-sMG-} b{-sMH-} c{-sMI-})} + $xa_sGZ :: {Foo{-r3j,x-} (Wibble{-r3w,x-} $x0_tsGS $x1_tsGT $x2_tsGU)} _A>_ 2 {-# L #-} - d.Foo_sLP = - op_sLp - } in - op_sLp -$d2{-rJ2,x-} :: - _forall_ - [a{-r3s-} b{-r3t-} c{-r3u-}] - => - {PrelBase.Eval{-24,p-} (Wibble{-r3y,x-} a{-r3s-} b{-r3t-} c{-r3u-})} + $xa_sGZ = + $x8_sFS + } in $x8_sFS +$d2{-rDV,x-} :: _forall_ + [a_tr3r b_tr3s c_tr3t] + => + {PrelBase.Eval{-24,p-} (Wibble{-r3w,x-} a_tr3r b_tr3s c_tr3t)} _A>_ 0 {-# L #-} -$d2{-rJ2,x-} = - _/\_ a{-sMV-} b{-sMW-} c{-sMX-} -> +$d2{-rDV,x-} = + _/\_ $x0_tsH8 $x1_tsH7 $x2_tsH6 -> let { - d.Eval_sM2 :: - {PrelBase.Eval{-24,p-} (Wibble{-r3y,x-} a{-sMV-} b{-sMW-} c{-sMX-})} + $x3_sGM :: {PrelBase.Eval{-24,p-} (Wibble{-r3w,x-} $x0_tsH8 $x1_tsH7 $x2_tsH6)} {-# L #-} - d.Eval_sM2 = - PrelBase.void{-8G,p-} - } in - PrelBase.void{-8G,p-} -nrlit_sMU :: - [PrelBase.Char{-38,p-}] -{-# L #-} -nrlit_sMU = - PackedString.unpackCString#{-8F,p-} - "Class Foo Method op" -$mop{-rIV,x-} :: - _forall_ - [a{-r3w-}] - => - {Foo{-r3j,x-} a{-r3w-}} - -> PrelBase.Int{-3g,p-} - -> a{-r3w-} - -> PrelBase.Bool{-34,p-} + $x3_sGM = + PrelBase.void{-8G,w-} + } in PrelBase.void{-8G,w-} +MkWibble{-r3y,x-}{i} :: _forall_ + [a_tr3r b_tr3s c_tr3t] + => + a_tr3r -> b_tr3s -> c_tr3t -> Wibble{-r3w,x-} a_tr3r b_tr3s c_tr3t _A>_ 3 {-# L #-} -$mop{-rIV,x-} = - _/\_ a{-sMJ-} -> \ d.Foo_sMg :: - {Foo{-r3j,x-} a{-sMJ-}} - {-# L #-} - d.Foo_sMg -> - GHCerr.noDefaultMethodError{-8k,p-} - _@_ (PrelBase.Int{-3g,p-} -> a{-sMJ-} -> PrelBase.Bool{-34,p-}) - nrlit_sMU -op{-r3z,x-} :: - _forall_ - [a{-r3w-}] - => - {Foo{-r3j,x-} a{-r3w-}} - -> PrelBase.Int{-3g,p-} - -> a{-r3w-} - -> PrelBase.Bool{-34,p-} -_A>_ 1 {-# L #-} -op{-r3z,x-} = - _/\_ a{-sMK-} -> \ tpl_sMf :: - {Foo{-r3j,x-} a{-sMK-}} - {-# L #-} - tpl_sMf -> - tpl_sMf -MkWibble{-r3x,x-}{i} :: - _forall_ - [a{-r3s-} b{-r3t-} c{-r3u-}] - => - a{-r3s-} - -> b{-r3t-} - -> c{-r3u-} - -> Wibble{-r3y,x-} a{-r3s-} b{-r3t-} c{-r3u-} -_A>_ 3 {-# L #-} -MkWibble{-r3x,x-}{i} = - _/\_ a{-sMO-} b{-sMP-} c{-sMQ-} -> \ tpl_sML :: - a{-sMO-} +MkWibble{-r3y,x-}{i} = + _/\_ $x0_tsH0 $x1_tsH1 $x2_tsH2 -> \ $x3_sGL :: $x0_tsH0 {-# L #-} - tpl_sML tpl_sMM :: - b{-sMP-} + $x3_sGL $x4_sGK :: $x1_tsH1 {-# L #-} - tpl_sMM tpl_sMN :: - c{-sMQ-} + $x4_sGK $x5_sGJ :: $x2_tsH2 {-# L #-} - tpl_sMN -> - MkWibble{-r3x,x-}{i} - {_@_ a{-sMO-} _@_ b{-sMP-} _@_ c{-sMQ-} tpl_sML tpl_sMM tpl_sMN} + $x5_sGJ -> + MkWibble{-r3y,x-}{i} + {_@_ $x0_tsH0 _@_ $x1_tsH1 _@_ $x2_tsH2 $x3_sGL $x4_sGK $x5_sGJ} +op{-r3x,x-} :: _forall_ + [a_tr3v] + => + {Foo{-r3j,x-} a_tr3v} + -> PrelBase.Int{-3g,W-} + -> a_tr3v + -> PrelBase.Bool{-34,W-} +_A>_ 1 {-# L #-} +op{-r3x,x-} = + _/\_ $x0_tsH3 -> \ $x1_sGI :: {Foo{-r3j,x-} $x0_tsH3} + {-# L #-} + $x1_sGI -> + $x1_sGI diff --git a/ghc/tests/simplCore/should_compile/simpl003.stderr b/ghc/tests/simplCore/should_compile/simpl003.stderr new file mode 100644 index 0000000..214ab08 --- /dev/null +++ b/ghc/tests/simplCore/should_compile/simpl003.stderr @@ -0,0 +1,195 @@ + +NOTE: Simplifier still going after 4 iterations; bailing out. + + +================================================================================ +Simplified: +$d1{-rOe,x-} :: _forall_ + [a_tr41] + => + {PrelBase.Eval{-24,p-} (IMonadReturn{-r45,x-} a_tr41)} +_A>_ 0 {-# L #-} +$d1{-rOe,x-} = + _/\_ $x0_ts1mQ -> PrelBase.void{-8G,w-} +IMonadOk{-ra,x-}{i} :: _forall_ + [a_tr41] + => + IMonadState{-r44,x-} -> a_tr41 -> IMonadReturn{-r45,x-} a_tr41 +_A>_ 2 {-# L #-} +IMonadOk{-ra,x-}{i} = + _/\_ $x0_ts1mb -> \ $x1_s1ix :: IMonadState{-r44,x-} + {-# L #-} + $x1_s1ix $x2_s1iw :: $x0_ts1mb + {-# L #-} + $x2_s1iw -> + IMonadOk{-ra,x-}{i} {_@_ $x0_ts1mb $x1_s1ix $x2_s1iw} +returnI{-rf,x-}{i} :: _forall_ + [taEj] + => + taEj -> IMonadState{-r44,x-} -> IMonadReturn{-r45,x-} taEj +_A>_ 2 {-# L #-} +returnI{-rf,x-}{i} = + _/\_ $x0_ts1mf -> \ $x1_s1iv :: $x0_ts1mf + {-# L #-} + $x1_s1iv $x2_s1iu :: IMonadState{-r44,x-} + {-# L #-} + $x2_s1iu -> + IMonadOk{-ra,x-}{i} {_@_ $x0_ts1mf $x2_s1iu $x1_s1iv} +IMonadFail{-r9,x-}{i} :: _forall_ + [a_tr41] + => + IMonadState{-r44,x-} + -> PrelBase.String{-rgk,p-} + -> IMonadReturn{-r45,x-} a_tr41 +_A>_ 2 {-# L #-} +IMonadFail{-r9,x-}{i} = + _/\_ $x0_ts1mj -> \ $x1_s1it :: IMonadState{-r44,x-} + {-# L #-} + $x1_s1it $x2_s1is :: PrelBase.String{-rgk,p-} + {-# L #-} + $x2_s1is -> + IMonadFail{-r9,x-}{i} {_@_ $x0_ts1mj $x1_s1it $x2_s1is} +thenI{-rd,x-}{i} :: _forall_ + [taDN taDA taDE] + => + (taDN -> IMonadReturn{-r45,x-} taDE) + -> (taDE -> IMonadState{-r44,x-} -> IMonadReturn{-r45,x-} taDA) + -> taDN + -> IMonadReturn{-r45,x-} taDA +_A>_ 3 {-# L #-} +thenI{-rd,x-}{i} = + _/\_ $x0_ts1mt $x1_ts1mv $x2_ts1mu -> \ $x3_s1hN :: $x0_ts1mt + -> IMonadReturn{-r45,x-} $x2_ts1mu + {-# L #-} + $x3_s1hN $x4_s1i5 :: $x2_ts1mu + -> IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} $x1_ts1mv + {-# L #-} + $x4_s1i5 $x5_s1ir :: $x0_ts1mt + {-# L #-} + $x5_s1ir -> + case $x3_s1hN $x5_s1ir of { + IMonadFail{-r9,x-}{i} $x6_s1iz $x7_s1iy -> + IMonadFail{-r9,x-}{i} {_@_ $x1_ts1mv $x6_s1iz $x7_s1iy}; + IMonadOk{-ra,x-}{i} $x8_s1iB $x9_s1iA -> + $x4_s1i5 $x9_s1iA $x8_s1iB; + } +Rec { +$g0_s11s{n} :: _forall_ + [tsXl tsXm] + => + (tsXl -> IMonadState{-r44,x-} -> IMonadReturn{-r45,x-} tsXm) + -> [tsXl] + -> IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} [tsXm] +_A>_ 2 {-# L #-} +$g0_s11s{n} = + _/\_ $x0_ts1iP $x1_ts1iQ -> \ $x2_s1jb :: $x0_ts1iP + -> IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} $x1_ts1iQ + {-# L #-} + $x2_s1jb $x3_s1iq :: [$x0_ts1iP] + {-# L #-} + $x3_s1iq -> + case $x3_s1iq of { + PrelBase.[]{-5i,w-}{i} -> + let { + $x4_s1mx :: [$x1_ts1iQ] + _A>_ 0 {-# L #-} + $x4_s1mx = + PrelBase.[]{-5i,w-}{i} {_@_ $x1_ts1iQ} + } in + \ $x5_s1mw :: IMonadState{-r44,x-} + {-# L #-} + $x5_s1mw -> + IMonadOk{-ra,x-}{i} {_@_ [$x1_ts1iQ] $x5_s1mw $x4_s1mx}; + PrelBase.:{-55,w-}{i} $x6_s1jc $x7_s1jd -> + let { + $x8_s1jn :: IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} $x1_ts1iQ + _A>_ 0 {-# L #-} + $x8_s1jn = + $x2_s1jb $x6_s1jc + } in + \ $x9_s1my :: IMonadState{-r44,x-} + {-# L #-} + $x9_s1my -> + case $x8_s1jn $x9_s1my of { + IMonadFail{-r9,x-}{i} $xa_s1mz $xb_s1mA -> + IMonadFail{-r9,x-}{i} {_@_ [$x1_ts1iQ] $xa_s1mz $xb_s1mA}; + IMonadOk{-ra,x-}{i} $xc_s1mB $xd_s1kg -> + let { + $xe_s1jP :: IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} [$x1_ts1iQ] + _A>_ 0 {-# L #-} + $xe_s1jP = + $g0_s11s{n} _@_ $x0_ts1iP _@_ $x1_ts1iQ $x2_s1jb $x7_s1jd + } in + case + $g0_s11s{n} _@_ $x0_ts1iP _@_ $x1_ts1iQ $x2_s1jb $x7_s1jd $xc_s1mB + of { + IMonadFail{-r9,x-}{i} $xf_s1mC $xg_s1mD -> + IMonadFail{-r9,x-}{i} {_@_ [$x1_ts1iQ] $xf_s1mC $xg_s1mD}; + IMonadOk{-ra,x-}{i} $xh_s1mE $xi_s1mF -> + let { + $xj_s1mG :: [$x1_ts1iQ] + _A>_ 0 {-# L #-} + $xj_s1mG = + PrelBase.:{-55,w-}{i} {_@_ $x1_ts1iQ $xd_s1kg $xi_s1mF} + } in IMonadOk{-ra,x-}{i} {_@_ [$x1_ts1iQ] $xh_s1mE $xj_s1mG}; + }; + }; + } +end Rec } +mapI{-rb,x-}{i} :: _forall_ + [taEH taF6] + => + (taEH -> IMonadState{-r44,x-} -> IMonadReturn{-r45,x-} taF6) + -> [taEH] + -> IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} [taF6] +_A>_ 2 {-# L #-} +mapI{-rb,x-}{i} = + _/\_ $x0_ts1mH $x1_ts1mI -> $g0_s11s{n} _@_ $x0_ts1mH _@_ $x1_ts1mI +failI{-re,x-}{i} :: _forall_ + [taE3] + => + PrelBase.String{-rgk,p-} + -> IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} taE3 +_A>_ 2 {-# L #-} +failI{-re,x-}{i} = + _/\_ $x0_ts1mM -> \ $x1_s1l0 :: PrelBase.String{-rgk,p-} + {-# L #-} + $x1_s1l0 $x2_s1kZ :: IMonadState{-r44,x-} + {-# L #-} + $x2_s1kZ -> + IMonadFail{-r9,x-}{i} {_@_ $x0_ts1mM $x2_s1kZ $x1_s1l0} +$g1_aOn :: IMonadState{-r44,x-} + -> IMonadState{-r44,x-} + -> IMonadState{-r44,x-} +_A>_ 0 {-# L #-} +$g1_aOn = + case + PrelBase.$d4{-rbh,p-} + of { + PrelTup.(,,,,,,,,,,){-6b,w-}{i} $x0_s1lt $x1_s1lu $x2_s1lv $x3_s1ls $x4_s1lw $x5_s1lx $x6_s1ly $x7_s1lz $x8_s1lA $x9_s1lB $xa_s1lC -> + $x3_s1ls;} +tickI{-rc,x-} :: IMonadState{-r44,x-} + -> IMonadState{-r44,x-} + -> IMonadReturn{-r45,x-} PrelBase.(){-40,W-} +_A>_ 2 {-# L #-} +tickI{-rc,x-} = + \ $x0_s1mN :: IMonadState{-r44,x-} + {-# L #-} + $x0_s1mN $x1_s1mO :: IMonadState{-r44,x-} + {-# L #-} + $x1_s1mO -> + let { + $x2_s1mP :: IMonadState{-r44,x-} + _A>_ 0 {-# L #-} + $x2_s1mP = + $g1_aOn $x1_s1mO $x0_s1mN + } in + IMonadOk{-ra,x-}{i} + {_@_ PrelBase.(){-40,W-} $x2_s1mP PrelBase.(){-60,w-}{i}} diff --git a/ghc/tests/specialise/Makefile b/ghc/tests/specialise/Makefile index 95f62e1..cc4724f 100644 --- a/ghc/tests/specialise/Makefile +++ b/ghc/tests/specialise/Makefile @@ -1,5 +1,6 @@ -TOP = ../../.. +TOP = .. include $(TOP)/mk/boilerplate.mk + SUBDIRS = $(wildcard spec* code* clausify*) -include $(TARGET_MK) +include $(TOP)/mk/target.mk diff --git a/ghc/tests/stranal/Makefile b/ghc/tests/stranal/Makefile new file mode 100644 index 0000000..5268832 --- /dev/null +++ b/ghc/tests/stranal/Makefile @@ -0,0 +1,7 @@ +TOP = .. +include $(TOP)/mk/boilerplate.mk + +SUBDIRS = should_compile + +include $(TOP)/mk/target.mk + diff --git a/ghc/tests/stranal/should_compile/Makefile b/ghc/tests/stranal/should_compile/Makefile index 4cecde8..525335c 100644 --- a/ghc/tests/stranal/should_compile/Makefile +++ b/ghc/tests/stranal/should_compile/Makefile @@ -1,16 +1,7 @@ -TOP = ../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk -HS_SRCS = $(wildcard *.lhs) - -SRC_RUNTEST_OPTS += -accept-output -o1 $*.stdout -o2 $*.stderr -x 0 HC_OPTS += -noC -O -ddump-simpl -dcore-lint -dppr-user -%.o : %.lhs - -%.o : %.lhs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@)) - -all :: $(HS_OBJS) - include $(TOP)/mk/target.mk diff --git a/ghc/tests/stranal/should_compile/default.stderr b/ghc/tests/stranal/should_compile/default.stderr index 1b19558..7f471e0 100644 --- a/ghc/tests/stranal/should_compile/default.stderr +++ b/ghc/tests/stranal/should_compile/default.stderr @@ -1,133 +1,84 @@ ---================================================================================ +================================================================================ Simplified: -`$d5' :: - `{PrelBase.Eval (Pair a{-r3U-} b{-r3V-})}' +`$d5' :: `{PrelBase.Eval (Pair a b)}' `$d5' = - _/\_ `a{-s1gp-}' `b{-s1gq-}' -> - `PrelBase.void' -`$d4' :: - `{PrelBase.Eval (LList alpha{-r3S-})}' + _/\_ `$x0' `$x1' -> `PrelBase.void' +`$d4' :: `{PrelBase.Eval (LList alpha)}' `$d4' = - _/\_ `alpha{-s1gr-}' -> - `PrelBase.void' -`$d2' :: - `{PrelBase.Eval (Tree x{-r3P-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d2' :: `{PrelBase.Eval (Tree x)}' `$d2' = - _/\_ `x{-s1gs-}' -> - `PrelBase.void' -`$d1' :: - `{PrelBase.Eval (A a{-r3N-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d1' :: `{PrelBase.Eval (A a)}' `$d1' = - _/\_ `a{-s1gt-}' -> - `PrelBase.void' -`MkPair' :: - `a{-r3U-} -> b{-r3V-} -> Pair a{-r3U-} b{-r3V-}' -`MkPair' = - _/\_ `a{-s1gc-}' `b{-s1gd-}' -> \ `tpl' :: - `a{-s1gc-}' - `tpl' `tpl' :: - `b{-s1gd-}' - `tpl' -> - `MkPair' - {_@_ `a{-s1gc-}' _@_ `b{-s1gd-}' `tpl' `tpl'} -`MkA' :: - `a{-r3N-} -> A a{-r3N-} -> A a{-r3N-}' + _/\_ `$x0' -> `PrelBase.void' +`MkA' :: `a -> A a -> A a' `MkA' = - _/\_ `a{-s1ge-}' -> \ `tpl' :: - `a{-s1ge-}' - `tpl' `tpl' :: - `A a{-s1ge-}' - `tpl' -> - `MkA' - {_@_ `a{-s1ge-}' `tpl' `tpl'} -`FF' :: - `Boolean' -`FF' = - `FF' - {} -`TT' :: - `Boolean' -`TT' = - `TT' - {} -`Nill' :: - `LList alpha{-r3S-}' + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `A $x0' + `$x2' -> + `MkA' {_@_ `$x0' `$x1' `$x2'} +`MkPair' :: `a -> b -> Pair a b' +`MkPair' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `$x0' + `$x2' `$x3' :: `$x1' + `$x3' -> + `MkPair' {_@_ `$x0' _@_ `$x1' `$x2' `$x3'} +`Leaf' :: `x -> Tree x' +`Leaf' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' -> + `Leaf' {_@_ `$x0' `$x1'} +`Node' :: `Tree x -> Tree x -> Tree x' +`Node' = + _/\_ `$x0' -> \ `$x1' :: `Tree $x0' + `$x1' `$x2' :: `Tree $x0' + `$x2' -> + `Node' {_@_ `$x0' `$x1' `$x2'} +`Zero' :: `Nat' +`Zero' = + `Zero' {} +`Succ' :: `Nat -> Nat' +`Succ' = + \ `$x0' :: `Nat' + `$x0' -> + `Succ' {`$x0'} +`Nill' :: `LList alpha' `Nill' = - _/\_ `alpha{-s1gf-}' -> - `Nill' - {_@_ `alpha{-s1gf-}'} -`Conss' :: - `alpha{-r3S-} -> LList alpha{-r3S-} -> LList alpha{-r3S-}' + _/\_ `$x0' -> `Nill' {_@_ `$x0'} +`Conss' :: `alpha -> LList alpha -> LList alpha' `Conss' = - _/\_ `alpha{-s1gg-}' -> \ `tpl' :: - `alpha{-s1gg-}' - `tpl' `tpl' :: - `LList alpha{-s1gg-}' - `tpl' -> - `Conss' - {_@_ `alpha{-s1gg-}' `tpl' `tpl'} + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + `Conss' {_@_ `$x0' `$x1' `$x2'} Rec { -`append' :: - `LList a{-aH9-} -> LList a{-aH9-} -> LList a{-aH9-}' +`append' :: `LList taC4 -> LList taC4 -> LList taC4' `append' = - _/\_ `a{-s1gh-}' -> \ `xs' :: - `LList a{-s1gh-}' - `xs' `ys' :: - `LList a{-s1gh-}' - `ys' -> - case `xs' of { - `Nill' -> - `ys'; - `Conss' `z' `zs' -> + _/\_ `$x0' -> \ `$x1' :: `LList $x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + case `$x1' of { + `Nill' -> `$x2'; + `Conss' `$x3' `$x4' -> let { - `ds' :: - `LList a{-s1gh-}' - `ds' = - `append' - _@_ `a{-s1gh-}' `zs' `ys' - } in - `Conss' - {_@_ `a{-s1gh-}' `z' `ds'}; + `$x5' :: `LList $x0' + `$x5' = + `append' _@_ `$x0' `$x4' `$x2' + } in `Conss' {_@_ `$x0' `$x3' `$x5'}; } end Rec } -`Zero' :: - `Nat' -`Zero' = - `Zero' - {} -`Succ' :: - `Nat -> Nat' -`Succ' = - \ `tpl' :: - `Nat' - `tpl' -> - `Succ' - {`tpl'} -`Leaf' :: - `x{-r3P-} -> Tree x{-r3P-}' -`Leaf' = - _/\_ `x{-s1gl-}' -> \ `tpl' :: - `x{-s1gl-}' - `tpl' -> - `Leaf' - {_@_ `x{-s1gl-}' `tpl'} -`Node' :: - `Tree x{-r3P-} -> Tree x{-r3P-} -> Tree x{-r3P-}' -`Node' = - _/\_ `x{-s1go-}' -> \ `tpl' :: - `Tree x{-s1go-}' - `tpl' `tpl' :: - `Tree x{-s1go-}' - `tpl' -> - `Node' - {_@_ `x{-s1go-}' `tpl' `tpl'} -`$d6' :: - `{PrelBase.Eval Boolean}' +`FF' :: `Boolean' +`FF' = + `FF' {} +`TT' :: `Boolean' +`TT' = + `TT' {} +`$d6' :: `{PrelBase.Eval Boolean}' `$d6' = `PrelBase.void' -`$d3' :: - `{PrelBase.Eval Nat}' +`$d3' :: `{PrelBase.Eval Nat}' `$d3' = `PrelBase.void' diff --git a/ghc/tests/stranal/should_compile/fact.stderr b/ghc/tests/stranal/should_compile/fact.stderr index d4f4b0f..4b4d5fc 100644 --- a/ghc/tests/stranal/should_compile/fact.stderr +++ b/ghc/tests/stranal/should_compile/fact.stderr @@ -1,35 +1,21 @@ ---================================================================================ +================================================================================ Simplified: Rec { -`s1BQ' :: - `GHC.Int# -> PrelBase.Int' -`s1BQ' = - \ `ww' :: - `GHC.Int#' - `ww' -> - case# `ww' of { - 0 -> - `PrelBase.I#' - {2}; - `s' -> - case - `s1BQ' - `ww' - of { - `PrelBase.I#' `s1tCY' -> - case# *#! `s1tCY' `ww' of { `s1tDv' -> - `PrelBase.I#' - {`s1tDv'};};}; +`$g0' :: `GHC.Int# -> PrelBase.Int' +`$g0' = + \ `$x0' :: `GHC.Int#' + `$x0' -> + case# `$x0' of { + 0 -> `PrelBase.I#' {2}; + `$x1' -> + case `$g0' `$x0' of { `PrelBase.I#' `$x2' -> + case# *#! `$x2' `$x0' of { `$x3' -> `PrelBase.I#' {`$x3'};};}; } end Rec } -`fact' :: - `PrelBase.Int -> PrelBase.Int' +`fact' :: `PrelBase.Int -> PrelBase.Int' `fact' = - \ `n' :: - `PrelBase.Int' - `n' -> - case `n' of { `PrelBase.I#' `ww' -> - `s1BQ' - `ww';} + \ `$x0' :: `PrelBase.Int' + `$x0' -> + case `$x0' of { `PrelBase.I#' `$x1' -> `$g0' `$x1';} diff --git a/ghc/tests/stranal/should_compile/fun.hs b/ghc/tests/stranal/should_compile/fun.hs new file mode 100644 index 0000000..5bab460 --- /dev/null +++ b/ghc/tests/stranal/should_compile/fun.hs @@ -0,0 +1,6 @@ +module Test where +data Fun = MkFun (Fun -> Fun) +data LList a = Nill | Conss a (LList a) + +g :: Fun -> Fun +g f = f diff --git a/ghc/tests/stranal/should_compile/fun.lhs b/ghc/tests/stranal/should_compile/fun.lhs deleted file mode 100644 index 8ab0832..0000000 --- a/ghc/tests/stranal/should_compile/fun.lhs +++ /dev/null @@ -1,6 +0,0 @@ -> module Test where -> data Fun = MkFun (Fun -> Fun) -> data LList a = Nill | Conss a (LList a) - -> id :: Fun -> Fun -> id f = f diff --git a/ghc/tests/stranal/should_compile/fun.stderr b/ghc/tests/stranal/should_compile/fun.stderr index e69de29..df85b42 100644 --- a/ghc/tests/stranal/should_compile/fun.stderr +++ b/ghc/tests/stranal/should_compile/fun.stderr @@ -0,0 +1,29 @@ + + +================================================================================ +Simplified: +`$d1' :: `{PrelBase.Eval (LList a)}' +`$d1' = + _/\_ `$x0' -> `PrelBase.void' +`MkFun' :: `(Fun -> Fun) -> Fun' +`MkFun' = + \ `$x0' :: `Fun -> Fun' + `$x0' -> + `MkFun' {`$x0'} +`Nill' :: `LList a' +`Nill' = + _/\_ `$x0' -> `Nill' {_@_ `$x0'} +`Conss' :: `a -> LList a -> LList a' +`Conss' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + `Conss' {_@_ `$x0' `$x1' `$x2'} +`$d2' :: `{PrelBase.Eval Fun}' +`$d2' = + `PrelBase.void' +`g' :: `Fun -> Fun' +`g' = + \ `$x0' :: `Fun' + `$x0' -> + `$x0' diff --git a/ghc/tests/stranal/should_compile/goo.hs b/ghc/tests/stranal/should_compile/goo.hs new file mode 100644 index 0000000..00282bb --- /dev/null +++ b/ghc/tests/stranal/should_compile/goo.hs @@ -0,0 +1,10 @@ +module Test where +data Goo a = Gsimpl | Gcompl ([Goo a]) +data Moo a b = Msimple | Mcompl (Moo b a) + + +idGoo :: Goo a -> Goo a +idGoo x = x + +idMoo :: Moo a b -> Moo a b +idMoo x = x diff --git a/ghc/tests/stranal/should_compile/goo.lhs b/ghc/tests/stranal/should_compile/goo.lhs deleted file mode 100644 index c58b998..0000000 --- a/ghc/tests/stranal/should_compile/goo.lhs +++ /dev/null @@ -1,10 +0,0 @@ -> module Test where -> data Goo a = Gsimpl | Gcompl ([Goo a]) -> data Moo a b = Msimple | Mcompl (Moo b a) - - -> idGoo :: Goo a -> Goo a -> idGoo x = x - -> idMoo :: Moo a -> Moo a -> idMoo x = x diff --git a/ghc/tests/stranal/should_compile/goo.stderr b/ghc/tests/stranal/should_compile/goo.stderr index e69de29..7a750e5 100644 --- a/ghc/tests/stranal/should_compile/goo.stderr +++ b/ghc/tests/stranal/should_compile/goo.stderr @@ -0,0 +1,36 @@ + + +================================================================================ +Simplified: +`$d2' :: `{PrelBase.Eval (Goo a)}' +`$d2' = + _/\_ `$x0' -> `PrelBase.void' +`$d1' :: `{PrelBase.Eval (Moo a b)}' +`$d1' = + _/\_ `$x0' `$x1' -> `PrelBase.void' +`idMoo' :: `Moo taBA taBB -> Moo taBA taBB' +`idMoo' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `Moo $x0 $x1' + `$x2' -> + `$x2' +`idGoo' :: `Goo taBL -> Goo taBL' +`idGoo' = + _/\_ `$x0' -> \ `$x1' :: `Goo $x0' + `$x1' -> + `$x1' +`Msimple' :: `Moo a b' +`Msimple' = + _/\_ `$x0' `$x1' -> `Msimple' {_@_ `$x0' _@_ `$x1'} +`Mcompl' :: `Moo b a -> Moo a b' +`Mcompl' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `Moo $x1 $x0' + `$x2' -> + `Mcompl' {_@_ `$x0' _@_ `$x1' `$x2'} +`Gsimpl' :: `Goo a' +`Gsimpl' = + _/\_ `$x0' -> `Gsimpl' {_@_ `$x0'} +`Gcompl' :: `[Goo a] -> Goo a' +`Gcompl' = + _/\_ `$x0' -> \ `$x1' :: `[Goo $x0]' + `$x1' -> + `Gcompl' {_@_ `$x0' `$x1'} diff --git a/ghc/tests/stranal/should_compile/ins.hs b/ghc/tests/stranal/should_compile/ins.hs new file mode 100644 index 0000000..8f61d07 --- /dev/null +++ b/ghc/tests/stranal/should_compile/ins.hs @@ -0,0 +1,27 @@ +--!! TEST OF DEFACTORISATION FOR FUNCTIONS THAT DROP +--!! POLYMORPHIC VARIABLES + +module Test where +data Boolean = FF | TT +data Pair a b = MkPair a b +data LList alpha = Nill | Conss alpha (LList alpha) +data Nat = Zero | Succ Nat +data Tree x = Leaf x | Node (Tree x) (Tree x) +data A a = MkA a (A a) + +append :: LList a -> LList a -> LList a +append xs ys = case xs of + Nill -> ys + Conss z zs -> Conss z (append zs ys) + +-- The following function drops @b@. + +flat :: Tree (Pair a b) -> LList a +flat t = case t of + Leaf (MkPair a b) -> Conss a Nill + Node l r -> append (flat l) (flat r) + +fl :: Boolean -> LList Boolean +fl x = flat (Leaf (MkPair TT Zero)) + + diff --git a/ghc/tests/stranal/should_compile/ins.lhs b/ghc/tests/stranal/should_compile/ins.lhs deleted file mode 100644 index 71f8ce2..0000000 --- a/ghc/tests/stranal/should_compile/ins.lhs +++ /dev/null @@ -1,27 +0,0 @@ -TEST OF DEFACTORISATION FOR FUNCTIONS THAT DROP - POLYMORPHIC VARIABLES - -> module Test where -> data Boolean = FF | TT -> data Pair a b = MkPair a b -> data LList alpha = Nill | Conss alpha (LList alpha) -> data Nat = Zero | Succ Nat -> data Tree x = Leaf x | Node (Tree x) (Tree x) -> data A a = MkA a (A a) -> -> append :: LList a -> LList a -> LList a -> append xs ys = case xs of -> Nill -> ys -> Conss z zs -> Conss z (append zs ys) - -The following function drops @b@. - -> flat :: Tree (Pair a b) -> LList a -> flat t = case t of -> Leaf (MkPair a b) -> Conss a Nill -> Node l r -> append (flat l) (flat r) -> -> fl :: Boolean -> LList Boolean -> fl x = flat (Leaf (MkPair TT Zero)) -> - diff --git a/ghc/tests/stranal/should_compile/ins.stderr b/ghc/tests/stranal/should_compile/ins.stderr index 641eda7..5216818 100644 --- a/ghc/tests/stranal/should_compile/ins.stderr +++ b/ghc/tests/stranal/should_compile/ins.stderr @@ -1,191 +1,121 @@ ---================================================================================ +================================================================================ Simplified: -`$d5' :: - `{PrelBase.Eval (Pair a{-r4b-} b{-r4c-})}' +`$d5' :: `{PrelBase.Eval (Pair a b)}' `$d5' = - _/\_ `a{-s1NX-}' `b{-s1NY-}' -> - `PrelBase.void' -`$d4' :: - `{PrelBase.Eval (LList alpha{-r49-})}' + _/\_ `$x0' `$x1' -> `PrelBase.void' +`$d4' :: `{PrelBase.Eval (LList alpha)}' `$d4' = - _/\_ `alpha{-s1NZ-}' -> - `PrelBase.void' -`$d2' :: - `{PrelBase.Eval (Tree x{-r46-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d2' :: `{PrelBase.Eval (Tree x)}' `$d2' = - _/\_ `x{-s1O0-}' -> - `PrelBase.void' -`$d1' :: - `{PrelBase.Eval (A a{-r44-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d1' :: `{PrelBase.Eval (A a)}' `$d1' = - _/\_ `a{-s1O1-}' -> - `PrelBase.void' -`MkPair' :: - `a{-r4b-} -> b{-r4c-} -> Pair a{-r4b-} b{-r4c-}' -`MkPair' = - _/\_ `a{-s1NI-}' `b{-s1NJ-}' -> \ `tpl' :: - `a{-s1NI-}' - `tpl' `tpl' :: - `b{-s1NJ-}' - `tpl' -> - `MkPair' - {_@_ `a{-s1NI-}' _@_ `b{-s1NJ-}' `tpl' `tpl'} -`MkA' :: - `a{-r44-} -> A a{-r44-} -> A a{-r44-}' + _/\_ `$x0' -> `PrelBase.void' +`MkA' :: `a -> A a -> A a' `MkA' = - _/\_ `a{-s1NK-}' -> \ `tpl' :: - `a{-s1NK-}' - `tpl' `tpl' :: - `A a{-s1NK-}' - `tpl' -> - `MkA' - {_@_ `a{-s1NK-}' `tpl' `tpl'} -`FF' :: - `Boolean' -`FF' = - `FF' - {} -`TT' :: - `Boolean' -`TT' = - `TT' - {} -`Nill' :: - `LList alpha{-r49-}' + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `A $x0' + `$x2' -> + `MkA' {_@_ `$x0' `$x1' `$x2'} +`MkPair' :: `a -> b -> Pair a b' +`MkPair' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `$x0' + `$x2' `$x3' :: `$x1' + `$x3' -> + `MkPair' {_@_ `$x0' _@_ `$x1' `$x2' `$x3'} +`Leaf' :: `x -> Tree x' +`Leaf' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' -> + `Leaf' {_@_ `$x0' `$x1'} +`Node' :: `Tree x -> Tree x -> Tree x' +`Node' = + _/\_ `$x0' -> \ `$x1' :: `Tree $x0' + `$x1' `$x2' :: `Tree $x0' + `$x2' -> + `Node' {_@_ `$x0' `$x1' `$x2'} +`Zero' :: `Nat' +`Zero' = + `Zero' {} +`Succ' :: `Nat -> Nat' +`Succ' = + \ `$x0' :: `Nat' + `$x0' -> + `Succ' {`$x0'} +`Nill' :: `LList alpha' `Nill' = - _/\_ `alpha{-s1NL-}' -> - `Nill' - {_@_ `alpha{-s1NL-}'} -`Conss' :: - `alpha{-r49-} -> LList alpha{-r49-} -> LList alpha{-r49-}' + _/\_ `$x0' -> `Nill' {_@_ `$x0'} +`Conss' :: `alpha -> LList alpha -> LList alpha' `Conss' = - _/\_ `alpha{-s1NM-}' -> \ `tpl' :: - `alpha{-s1NM-}' - `tpl' `tpl' :: - `LList alpha{-s1NM-}' - `tpl' -> - `Conss' - {_@_ `alpha{-s1NM-}' `tpl' `tpl'} + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + `Conss' {_@_ `$x0' `$x1' `$x2'} Rec { -`append' :: - `LList a{-aHq-} -> LList a{-aHq-} -> LList a{-aHq-}' +`append' :: `LList taCl -> LList taCl -> LList taCl' `append' = - _/\_ `a{-s1NN-}' -> \ `xs' :: - `LList a{-s1NN-}' - `xs' `ys' :: - `LList a{-s1NN-}' - `ys' -> - case `xs' of { - `Nill' -> - `ys'; - `Conss' `z' `zs' -> + _/\_ `$x0' -> \ `$x1' :: `LList $x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + case `$x1' of { + `Nill' -> `$x2'; + `Conss' `$x3' `$x4' -> let { - `ds' :: - `LList a{-s1NN-}' - `ds' = - `append' - _@_ `a{-s1NN-}' `zs' `ys' - } in - `Conss' - {_@_ `a{-s1NN-}' `z' `ds'}; + `$x5' :: `LList $x0' + `$x5' = + `append' _@_ `$x0' `$x4' `$x2' + } in `Conss' {_@_ `$x0' `$x3' `$x5'}; } end Rec } Rec { -`flat' :: - `Tree (Pair a{-aHT-} b{-aHU-}) -> LList a{-aHT-}' +`flat' :: `Tree (Pair taCO taCP) -> LList taCO' `flat' = - _/\_ `b{-s1NQ-}' `a{-s1NP-}' -> \ `s' :: - `Tree (Pair a{-s1NP-} b{-s1NQ-})' - `s' -> - case `s' of { - `Leaf' `ds' -> - case `ds' of { `MkPair' `a' `b' -> + _/\_ `$x0' `$x1' -> \ `$x2' :: `Tree (Pair $x1 $x0)' + `$x2' -> + case `$x2' of { + `Leaf' `$x3' -> + case `$x3' of { `MkPair' `$x4' `$x5' -> let { - `ds' :: - `LList a{-s1NP-}' - `ds' = - `Nill' - {_@_ `a{-s1NP-}'} - } in - `Conss' - {_@_ `a{-s1NP-}' `a' `ds'};}; - `Node' `l' `r' -> - case - `flat' - _@_ `b{-s1NQ-}' _@_ `a{-s1NP-}' `l' - of { - `ds' -> + `$x6' :: `LList $x1' + `$x6' = + `Nill' {_@_ `$x1'} + } in `Conss' {_@_ `$x1' `$x4' `$x6'};}; + `Node' `$x7' `$x8' -> let { - `ds' :: - `LList a{-s1NP-}' - `ds' = - `flat' - _@_ `b{-s1NQ-}' _@_ `a{-s1NP-}' `r' + `$x9' :: `LList $x1' + `$x9' = + `flat' _@_ `$x0' _@_ `$x1' `$x8' } in - `append' - _@_ `a{-s1NP-}' `ds' `ds';}; + case `flat' _@_ `$x0' _@_ `$x1' `$x7' of { `$xa' -> + `append' _@_ `$x1' `$xa' `$x9';}; } end Rec } -`Zero' :: - `Nat' -`Zero' = - `Zero' - {} -`Succ' :: - `Nat -> Nat' -`Succ' = - \ `tpl' :: - `Nat' - `tpl' -> - `Succ' - {`tpl'} -`Leaf' :: - `x{-r46-} -> Tree x{-r46-}' -`Leaf' = - _/\_ `x{-s1NU-}' -> \ `tpl' :: - `x{-s1NU-}' - `tpl' -> - `Leaf' - {_@_ `x{-s1NU-}' `tpl'} -`Node' :: - `Tree x{-r46-} -> Tree x{-r46-} -> Tree x{-r46-}' -`Node' = - _/\_ `x{-s1NV-}' -> \ `tpl' :: - `Tree x{-s1NV-}' - `tpl' `tpl' :: - `Tree x{-s1NV-}' - `tpl' -> - `Node' - {_@_ `x{-s1NV-}' `tpl' `tpl'} -`$d6' :: - `{PrelBase.Eval Boolean}' +`FF' :: `Boolean' +`FF' = + `FF' {} +`TT' :: `Boolean' +`TT' = + `TT' {} +`$d6' :: `{PrelBase.Eval Boolean}' `$d6' = `PrelBase.void' -`$d3' :: - `{PrelBase.Eval Nat}' +`$d3' :: `{PrelBase.Eval Nat}' `$d3' = `PrelBase.void' -`s1h2' :: - `Pair Boolean Nat' -`s1h2' = - `MkPair' - {_@_ `Boolean' _@_ `Nat' `TT' `Zero'} -`s1h7' :: - `Tree (Pair Boolean Nat)' -`s1h7' = - `Leaf' - {_@_ (`Pair' `Boolean' `Nat') `s1h2'} -`s1l4' :: - `LList Boolean' -`s1l4' = - `flat' - _@_ `Nat' _@_ `Boolean' `s1h7' -`fl' :: - `Boolean -> LList Boolean' +`$g0' :: `Pair Boolean Nat' +`$g0' = + `MkPair' {_@_ `Boolean' _@_ `Nat' `TT' `Zero'} +`$g1' :: `Tree (Pair Boolean Nat)' +`$g1' = + `Leaf' {_@_ (`Pair' `Boolean' `Nat') `$g0'} +`$g2' :: `LList Boolean' +`$g2' = + `flat' _@_ `Nat' _@_ `Boolean' `$g1' +`fl' :: `Boolean -> LList Boolean' `fl' = - \ `x' :: - `Boolean' - `x' -> - `s1l4' + \ `$x0' :: `Boolean' + `$x0' -> + `$g2' diff --git a/ghc/tests/stranal/should_compile/map.hs b/ghc/tests/stranal/should_compile/map.hs new file mode 100644 index 0000000..f4ec1ec --- /dev/null +++ b/ghc/tests/stranal/should_compile/map.hs @@ -0,0 +1,32 @@ +module Test where +data Boolean = FF | TT +data Pair a b = MkPair a b +data LList alpha = Nill | Conss alpha (LList alpha) +data Nat = Zero | Succ Nat +data Tree x = Leaf x | Node (Tree x) (Tree x) +data A a = MkA a (A a) + +{- +map :: (a -> b) -> [a] -> [b] +map f xs = case xs of + [] -> [] + (y:ys) -> (f y):(map f ys) + +map_ide :: [[a]] -> [[a]] +map_ide = map (\x->x) +-} + +my_id :: a -> a +my_id x = x + +idNat :: Nat -> Nat +idNat x = x + +idBool :: Boolean -> Boolean +idBool x = x + +fun :: (a->b) -> a -> b +fun f x = g f + where + g f = f x + diff --git a/ghc/tests/stranal/should_compile/map.lhs b/ghc/tests/stranal/should_compile/map.lhs deleted file mode 100644 index 343e36a..0000000 --- a/ghc/tests/stranal/should_compile/map.lhs +++ /dev/null @@ -1,32 +0,0 @@ -> module Test where -> data Boolean = FF | TT -> data Pair a b = MkPair a b -> data LList alpha = Nill | Conss alpha (LList alpha) -> data Nat = Zero | Succ Nat -> data Tree x = Leaf x | Node (Tree x) (Tree x) -> data A a = MkA a (A a) - -> {- -> map :: (a -> b) -> [a] -> [b] -> map f xs = case xs of -> [] -> [] -> (y:ys) -> (f y):(map f ys) - -> map_ide :: [[a]] -> [[a]] -> map_ide = map (\x->x) ->-} - -> id :: a -> a -> id x = x - -> idNat :: Nat -> Nat -> idNat x = x - -> idBool :: Boolean -> Boolean -> idBool x = x - -> fun :: (a->b) -> a -> b -> fun f x = g f -> where -> g f = f x - diff --git a/ghc/tests/stranal/should_compile/map.stderr b/ghc/tests/stranal/should_compile/map.stderr index e69de29..92701e8 100644 --- a/ghc/tests/stranal/should_compile/map.stderr +++ b/ghc/tests/stranal/should_compile/map.stderr @@ -0,0 +1,89 @@ + + +================================================================================ +Simplified: +`$d5' :: `{PrelBase.Eval (Pair a b)}' +`$d5' = + _/\_ `$x0' `$x1' -> `PrelBase.void' +`$d4' :: `{PrelBase.Eval (LList alpha)}' +`$d4' = + _/\_ `$x0' -> `PrelBase.void' +`$d2' :: `{PrelBase.Eval (Tree x)}' +`$d2' = + _/\_ `$x0' -> `PrelBase.void' +`$d1' :: `{PrelBase.Eval (A a)}' +`$d1' = + _/\_ `$x0' -> `PrelBase.void' +`MkA' :: `a -> A a -> A a' +`MkA' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `A $x0' + `$x2' -> + `MkA' {_@_ `$x0' `$x1' `$x2'} +`MkPair' :: `a -> b -> Pair a b' +`MkPair' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `$x0' + `$x2' `$x3' :: `$x1' + `$x3' -> + `MkPair' {_@_ `$x0' _@_ `$x1' `$x2' `$x3'} +`fun' :: `(taCj -> taCk) -> taCj -> taCk' +`fun' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `$x0 -> $x1' + `$x2' `$x3' :: `$x0' + `$x3' -> + `$x2' `$x3' +`my_id' :: `taCT -> taCT' +`my_id' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' -> + `$x1' +`Leaf' :: `x -> Tree x' +`Leaf' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' -> + `Leaf' {_@_ `$x0' `$x1'} +`Node' :: `Tree x -> Tree x -> Tree x' +`Node' = + _/\_ `$x0' -> \ `$x1' :: `Tree $x0' + `$x1' `$x2' :: `Tree $x0' + `$x2' -> + `Node' {_@_ `$x0' `$x1' `$x2'} +`Zero' :: `Nat' +`Zero' = + `Zero' {} +`Succ' :: `Nat -> Nat' +`Succ' = + \ `$x0' :: `Nat' + `$x0' -> + `Succ' {`$x0'} +`Nill' :: `LList alpha' +`Nill' = + _/\_ `$x0' -> `Nill' {_@_ `$x0'} +`Conss' :: `alpha -> LList alpha -> LList alpha' +`Conss' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + `Conss' {_@_ `$x0' `$x1' `$x2'} +`FF' :: `Boolean' +`FF' = + `FF' {} +`TT' :: `Boolean' +`TT' = + `TT' {} +`$d6' :: `{PrelBase.Eval Boolean}' +`$d6' = + `PrelBase.void' +`$d3' :: `{PrelBase.Eval Nat}' +`$d3' = + `PrelBase.void' +`idNat' :: `Nat -> Nat' +`idNat' = + \ `$x0' :: `Nat' + `$x0' -> + `$x0' +`idBool' :: `Boolean -> Boolean' +`idBool' = + \ `$x0' :: `Boolean' + `$x0' -> + `$x0' diff --git a/ghc/tests/stranal/should_compile/moo.lhs b/ghc/tests/stranal/should_compile/moo.lhs deleted file mode 100644 index 35967ba..0000000 --- a/ghc/tests/stranal/should_compile/moo.lhs +++ /dev/null @@ -1,6 +0,0 @@ -> module Test where -> data Moo a b = Msimple | Mcompl (Moo b a) - - -> idMoo :: Moo a -> Moo a -> idMoo x = x diff --git a/ghc/tests/stranal/should_compile/sim.hs b/ghc/tests/stranal/should_compile/sim.hs new file mode 100644 index 0000000..d6de6ec --- /dev/null +++ b/ghc/tests/stranal/should_compile/sim.hs @@ -0,0 +1,103 @@ +module Test where +data Boolean = FF | TT +data Pair a b = MkPair a b +data LList alpha = Nill | Conss alpha (LList alpha) +data Nat = Zero | Succ Nat +data Tree x = Leaf x | Node (Tree x) (Tree x) +data A a = MkA a (A a) +{- +id :: a -> a +id x = x + +idb :: Boolean -> Boolean +idb b = b + +swap :: Pair a b -> Pair b a +swap t = case t of + MkPair x y -> MkPair y x + +bang :: A (A a) -> Boolean +bang x = case x of + MkA y ys -> TT + +neg :: Boolean -> Boolean +neg b = case b of + FF -> TT + TT -> FF + +null :: LList x -> Boolean +null l = case l of + Nill -> TT + _ -> FF + +loop :: Boolean -> a +loop b = loop b +-} +idl :: LList a -> LList a +idl xs = case xs of + Conss y ys -> Conss y (idl ys) + _ -> Nill +{- +idn :: Nat -> Nat +idn n = case n of + Zero -> Zero + Succ m -> Succ (idn m) + +add :: Nat -> Nat -> Nat +add a b = case a of + Zero -> b + Succ c -> Succ (add c b) + +length :: LList a -> Nat +length xs = case xs of + Nill -> Zero + Conss y ys -> Succ(length ys) + +before :: LList Nat -> LList Nat +before xs = case xs of + Nill -> Nill + Conss y ys -> case y of + Zero -> Nill + Succ n -> Conss y (before ys) + +reverse :: LList a -> LList a +reverse rs = case rs of + Nill -> Nill + Conss y ys -> append (reverse ys) (Conss y Nill) + +f :: Nat -> Nat +f n = case n of + Zero -> Zero + Succ m -> Succ (g m) + +g :: Nat -> Nat +g n = case n of + Zero -> Zero + Succ m -> Succ (f m) + +append :: LList a -> LList a -> LList a +append xs ys = case xs of + Nill -> ys + Conss z zs -> Conss z (append zs ys) + +flatten :: Tree alpha -> LList alpha +flatten t = case t of + Leaf x -> Conss x Nill + Node l r -> append (flatten l) (flatten r) + +sum :: Tree Nat -> Nat +sum t = case t of + Leaf t -> t + Node l r -> add (sum l) (sum r) + +suml :: LList Nat -> Nat +suml Nill = Zero +suml (Conss n ns) = add n (suml ns) + +map :: (a -> b) -> LList a -> LList b +map f xs = case xs of + Nill -> Nill + Conss y ys -> Conss (f y) (map f ys) +-} + + diff --git a/ghc/tests/stranal/should_compile/sim.lhs b/ghc/tests/stranal/should_compile/sim.lhs deleted file mode 100644 index 6c52104..0000000 --- a/ghc/tests/stranal/should_compile/sim.lhs +++ /dev/null @@ -1,103 +0,0 @@ -> module Test where -> data Boolean = FF | TT -> data Pair a b = MkPair a b -> data LList alpha = Nill | Conss alpha (LList alpha) -> data Nat = Zero | Succ Nat -> data Tree x = Leaf x | Node (Tree x) (Tree x) -> data A a = MkA a (A a) ->{- -> id :: a -> a -> id x = x -> -> idb :: Boolean -> Boolean -> idb b = b -> -> swap :: Pair a b -> Pair b a -> swap t = case t of -> MkPair x y -> MkPair y x -> -> bang :: A (A a) -> Boolean -> bang x = case x of -> MkA y ys -> TT -> -> neg :: Boolean -> Boolean -> neg b = case b of -> FF -> TT -> TT -> FF -> -> null :: LList x -> Boolean -> null l = case l of -> Nill -> TT -> _ -> FF -> -> loop :: Boolean -> a -> loop b = loop b ->-} -> idl :: LList a -> LList a -> idl xs = case xs of -> Conss y ys -> Conss y (idl ys) -> _ -> Nill ->{- -> idn :: Nat -> Nat -> idn n = case n of -> Zero -> Zero -> Succ m -> Succ (idn m) -> -> add :: Nat -> Nat -> Nat -> add a b = case a of -> Zero -> b -> Succ c -> Succ (add c b) -> -> length :: LList a -> Nat -> length xs = case xs of -> Nill -> Zero -> Conss y ys -> Succ(length ys) -> -> before :: LList Nat -> LList Nat -> before xs = case xs of -> Nill -> Nill -> Conss y ys -> case y of -> Zero -> Nill -> Succ n -> Conss y (before ys) -> -> reverse :: LList a -> LList a -> reverse rs = case rs of -> Nill -> Nill -> Conss y ys -> append (reverse ys) (Conss y Nill) -> -> f :: Nat -> Nat -> f n = case n of -> Zero -> Zero -> Succ m -> Succ (g m) -> -> g :: Nat -> Nat -> g n = case n of -> Zero -> Zero -> Succ m -> Succ (f m) -> -> append :: LList a -> LList a -> LList a -> append xs ys = case xs of -> Nill -> ys -> Conss z zs -> Conss z (append zs ys) -> -> flatten :: Tree alpha -> LList alpha -> flatten t = case t of -> Leaf x -> Conss x Nill -> Node l r -> append (flatten l) (flatten r) -> -> sum :: Tree Nat -> Nat -> sum t = case t of -> Leaf t -> t -> Node l r -> add (sum l) (sum r) -> -> suml :: LList Nat -> Nat -> suml Nill = Zero -> suml (Conss n ns) = add n (suml ns) -> -> map :: (a -> b) -> LList a -> LList b -> map f xs = case xs of -> Nill -> Nill -> Conss y ys -> Conss (f y) (map f ys) ->-} - - diff --git a/ghc/tests/stranal/should_compile/sim.stderr b/ghc/tests/stranal/should_compile/sim.stderr index cd43601..c61de80 100644 --- a/ghc/tests/stranal/should_compile/sim.stderr +++ b/ghc/tests/stranal/should_compile/sim.stderr @@ -1,132 +1,83 @@ ---================================================================================ +================================================================================ Simplified: -`$d5' :: - `{PrelBase.Eval (Pair a{-r3R-} b{-r3S-})}' +`$d5' :: `{PrelBase.Eval (Pair a b)}' `$d5' = - _/\_ `a{-s1g3-}' `b{-s1g4-}' -> - `PrelBase.void' -`$d4' :: - `{PrelBase.Eval (LList alpha{-r3P-})}' + _/\_ `$x0' `$x1' -> `PrelBase.void' +`$d4' :: `{PrelBase.Eval (LList alpha)}' `$d4' = - _/\_ `alpha{-s1g5-}' -> - `PrelBase.void' -`$d2' :: - `{PrelBase.Eval (Tree x{-r3M-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d2' :: `{PrelBase.Eval (Tree x)}' `$d2' = - _/\_ `x{-s1g6-}' -> - `PrelBase.void' -`$d1' :: - `{PrelBase.Eval (A a{-r3K-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d1' :: `{PrelBase.Eval (A a)}' `$d1' = - _/\_ `a{-s1g7-}' -> - `PrelBase.void' -`MkPair' :: - `a{-r3R-} -> b{-r3S-} -> Pair a{-r3R-} b{-r3S-}' -`MkPair' = - _/\_ `a{-s1fQ-}' `b{-s1fR-}' -> \ `tpl' :: - `a{-s1fQ-}' - `tpl' `tpl' :: - `b{-s1fR-}' - `tpl' -> - `MkPair' - {_@_ `a{-s1fQ-}' _@_ `b{-s1fR-}' `tpl' `tpl'} -`MkA' :: - `a{-r3K-} -> A a{-r3K-} -> A a{-r3K-}' + _/\_ `$x0' -> `PrelBase.void' +`MkA' :: `a -> A a -> A a' `MkA' = - _/\_ `a{-s1fS-}' -> \ `tpl' :: - `a{-s1fS-}' - `tpl' `tpl' :: - `A a{-s1fS-}' - `tpl' -> - `MkA' - {_@_ `a{-s1fS-}' `tpl' `tpl'} -`FF' :: - `Boolean' -`FF' = - `FF' - {} -`TT' :: - `Boolean' -`TT' = - `TT' - {} -`Nill' :: - `LList alpha{-r3P-}' + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `A $x0' + `$x2' -> + `MkA' {_@_ `$x0' `$x1' `$x2'} +`MkPair' :: `a -> b -> Pair a b' +`MkPair' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `$x0' + `$x2' `$x3' :: `$x1' + `$x3' -> + `MkPair' {_@_ `$x0' _@_ `$x1' `$x2' `$x3'} +`Leaf' :: `x -> Tree x' +`Leaf' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' -> + `Leaf' {_@_ `$x0' `$x1'} +`Node' :: `Tree x -> Tree x -> Tree x' +`Node' = + _/\_ `$x0' -> \ `$x1' :: `Tree $x0' + `$x1' `$x2' :: `Tree $x0' + `$x2' -> + `Node' {_@_ `$x0' `$x1' `$x2'} +`Zero' :: `Nat' +`Zero' = + `Zero' {} +`Succ' :: `Nat -> Nat' +`Succ' = + \ `$x0' :: `Nat' + `$x0' -> + `Succ' {`$x0'} +`Nill' :: `LList alpha' `Nill' = - _/\_ `alpha{-s1fT-}' -> - `Nill' - {_@_ `alpha{-s1fT-}'} -`Conss' :: - `alpha{-r3P-} -> LList alpha{-r3P-} -> LList alpha{-r3P-}' + _/\_ `$x0' -> `Nill' {_@_ `$x0'} +`Conss' :: `alpha -> LList alpha -> LList alpha' `Conss' = - _/\_ `alpha{-s1fU-}' -> \ `tpl' :: - `alpha{-s1fU-}' - `tpl' `tpl' :: - `LList alpha{-s1fU-}' - `tpl' -> - `Conss' - {_@_ `alpha{-s1fU-}' `tpl' `tpl'} + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + `Conss' {_@_ `$x0' `$x1' `$x2'} Rec { -`idl' :: - `LList a{-aH5-} -> LList a{-aH5-}' +`idl' :: `LList taC1 -> LList taC1' `idl' = - _/\_ `a{-s1fV-}' -> \ `xs' :: - `LList a{-s1fV-}' - `xs' -> - case `xs' of { - `Nill' -> - `Nill' - {_@_ `a{-s1fV-}'}; - `Conss' `y' `ys' -> + _/\_ `$x0' -> \ `$x1' :: `LList $x0' + `$x1' -> + case `$x1' of { + `Nill' -> `Nill' {_@_ `$x0'}; + `Conss' `$x2' `$x3' -> let { - `ds' :: - `LList a{-s1fV-}' - `ds' = - `idl' - _@_ `a{-s1fV-}' `ys' - } in - `Conss' - {_@_ `a{-s1fV-}' `y' `ds'}; + `$x4' :: `LList $x0' + `$x4' = + `idl' _@_ `$x0' `$x3' + } in `Conss' {_@_ `$x0' `$x2' `$x4'}; } end Rec } -`Zero' :: - `Nat' -`Zero' = - `Zero' - {} -`Succ' :: - `Nat -> Nat' -`Succ' = - \ `tpl' :: - `Nat' - `tpl' -> - `Succ' - {`tpl'} -`Leaf' :: - `x{-r3M-} -> Tree x{-r3M-}' -`Leaf' = - _/\_ `x{-s1fZ-}' -> \ `tpl' :: - `x{-s1fZ-}' - `tpl' -> - `Leaf' - {_@_ `x{-s1fZ-}' `tpl'} -`Node' :: - `Tree x{-r3M-} -> Tree x{-r3M-} -> Tree x{-r3M-}' -`Node' = - _/\_ `x{-s1g2-}' -> \ `tpl' :: - `Tree x{-s1g2-}' - `tpl' `tpl' :: - `Tree x{-s1g2-}' - `tpl' -> - `Node' - {_@_ `x{-s1g2-}' `tpl' `tpl'} -`$d6' :: - `{PrelBase.Eval Boolean}' +`FF' :: `Boolean' +`FF' = + `FF' {} +`TT' :: `Boolean' +`TT' = + `TT' {} +`$d6' :: `{PrelBase.Eval Boolean}' `$d6' = `PrelBase.void' -`$d3' :: - `{PrelBase.Eval Nat}' +`$d3' :: `{PrelBase.Eval Nat}' `$d3' = `PrelBase.void' diff --git a/ghc/tests/stranal/should_compile/syn.hs b/ghc/tests/stranal/should_compile/syn.hs new file mode 100644 index 0000000..e4b1f63 --- /dev/null +++ b/ghc/tests/stranal/should_compile/syn.hs @@ -0,0 +1,15 @@ +--!!! THIS TEST IS FOR TYPE SYNONIMS AND FACTORISATION IN THEIR PRESENCE. + +module Test where +data M a = A | B a (M a) +data L a = N | C a (Syn a) +type Syn b = L b + +idL :: L (Syn c) -> L (Syn c) +idL N = N +idL (C x l) = C x (idL l) + +idM:: M (L (Syn x)) -> M (L (Syn x)) +idM A = A +idM (B x l) = B (idL x) (idM l) + diff --git a/ghc/tests/stranal/should_compile/syn.lhs b/ghc/tests/stranal/should_compile/syn.lhs deleted file mode 100644 index 59d6bac..0000000 --- a/ghc/tests/stranal/should_compile/syn.lhs +++ /dev/null @@ -1,15 +0,0 @@ -THIS TEST IS FOR TYPE SYNONIMS AND FACTORISATION IN THEIR PRESENCE. - -> module Test where -> data M a = A | B a (M a) -> data L a = N | C a (Syn a) -> type Syn b = L b -> -> idL :: L (Syn c) -> L (Syn c) -> idL N = N -> idL (C x l) = C x (idL l) -> -> idM:: M (L (Syn x)) -> M (L (Syn x)) -> idM A = A -> idM (B x l) = B (idL x) (idM l) - diff --git a/ghc/tests/stranal/should_compile/syn.stderr b/ghc/tests/stranal/should_compile/syn.stderr index 6300c53..cc51a99 100644 --- a/ghc/tests/stranal/should_compile/syn.stderr +++ b/ghc/tests/stranal/should_compile/syn.stderr @@ -1,90 +1,62 @@ ---================================================================================ +================================================================================ Simplified: -`$d2' :: - `{PrelBase.Eval (M a{-r3H-})}' +`$d2' :: `{PrelBase.Eval (M a)}' `$d2' = - _/\_ `a{-s191-}' -> - `PrelBase.void' -`$d1' :: - `{PrelBase.Eval (L a{-r3F-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d1' :: `{PrelBase.Eval (L a)}' `$d1' = - _/\_ `a{-s192-}' -> - `PrelBase.void' -`A' :: - `M a{-r3H-}' -`A' = - _/\_ `a{-s18T-}' -> - `A' {_@_ `a{-s18T-}'} -`B' :: - `a{-r3H-} -> M a{-r3H-} -> M a{-r3H-}' -`B' = - _/\_ `a{-s18U-}' -> \ `tpl' :: - `a{-s18U-}' - `tpl' `tpl' :: - `M a{-s18U-}' - `tpl' -> - `B' {_@_ `a{-s18U-}' `tpl' `tpl'} -`N' :: - `L a{-r3F-}' + _/\_ `$x0' -> `PrelBase.void' +`N' :: `L a' `N' = - _/\_ `a{-s18V-}' -> - `N' {_@_ `a{-s18V-}'} -`C' :: - `a{-r3F-} -> Syn a{-r3F-} -> L a{-r3F-}' + _/\_ `$x0' -> `N' {_@_ `$x0'} +`C' :: `a -> Syn a -> L a' `C' = - _/\_ `a{-s18W-}' -> \ `tpl' :: - `a{-s18W-}' - `tpl' `tpl' :: - `Syn a{-s18W-}' - `tpl' -> - `C' {_@_ `a{-s18W-}' `tpl' `tpl'} + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `Syn $x0' + `$x2' -> + `C' {_@_ `$x0' `$x1' `$x2'} Rec { -`idL' :: - `L (Syn c{-aGI-}) -> L (Syn c{-aGI-})' +`idL' :: `L (Syn taBE) -> L (Syn taBE)' `idL' = - _/\_ `c{-s18X-}' -> \ `ds' :: - `L (Syn c{-s18X-})' - `ds' -> - case `ds' of { - `N' -> - `N' {_@_ (`Syn' `c{-s18X-}')}; - `C' `x' `l' -> + _/\_ `$x0' -> \ `$x1' :: `L (Syn $x0)' + `$x1' -> + case `$x1' of { + `N' -> `N' {_@_ (`Syn' `$x0')}; + `C' `$x2' `$x3' -> let { - `ds' :: - `L (Syn c{-s18X-})' - `ds' = - `idL' - _@_ `c{-s18X-}' `l' - } in - `C' {_@_ (`Syn' `c{-s18X-}') `x' `ds'}; + `$x4' :: `L (Syn $x0)' + `$x4' = + `idL' _@_ `$x0' `$x3' + } in `C' {_@_ (`Syn' `$x0') `$x2' `$x4'}; } end Rec } +`A' :: `M a' +`A' = + _/\_ `$x0' -> `A' {_@_ `$x0'} +`B' :: `a -> M a -> M a' +`B' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `M $x0' + `$x2' -> + `B' {_@_ `$x0' `$x1' `$x2'} Rec { -`idM' :: - `M (L (Syn x{-aH8-})) -> M (L (Syn x{-aH8-}))' +`idM' :: `M (L (Syn taC4)) -> M (L (Syn taC4))' `idM' = - _/\_ `x{-s18Z-}' -> \ `ds' :: - `M (L (Syn x{-s18Z-}))' - `ds' -> - case `ds' of { - `A' -> - `A' {_@_ (`L' (`Syn' `x{-s18Z-}'))}; - `B' `x' `l' -> + _/\_ `$x0' -> \ `$x1' :: `M (L (Syn $x0))' + `$x1' -> + case `$x1' of { + `A' -> `A' {_@_ (`L' (`Syn' `$x0'))}; + `B' `$x2' `$x3' -> let { - `ds' :: - `L (Syn x{-s18Z-})' - `ds' = - `idL' - _@_ `x{-s18Z-}' `x' } in + `$x4' :: `M (L (Syn $x0))' + `$x4' = + `idM' _@_ `$x0' `$x3' } in let { - `ds' :: - `M (L (Syn x{-s18Z-}))' - `ds' = - `idM' - _@_ `x{-s18Z-}' `l' - } in - `B' {_@_ (`L' (`Syn' `x{-s18Z-}')) `ds' `ds'}; + `$x5' :: `L (Syn $x0)' + `$x5' = + `idL' _@_ `$x0' `$x2' + } in `B' {_@_ (`L' (`Syn' `$x0')) `$x5' `$x4'}; } end Rec } diff --git a/ghc/tests/stranal/should_compile/test.hs b/ghc/tests/stranal/should_compile/test.hs new file mode 100644 index 0000000..c984c32 --- /dev/null +++ b/ghc/tests/stranal/should_compile/test.hs @@ -0,0 +1,6 @@ +module Test where +data LList t = Nill | Conss t (LList t) +data BBool = TTrue | FFalse + +f Nill = TTrue +f (Conss a as) = FFalse diff --git a/ghc/tests/stranal/should_compile/test.lhs b/ghc/tests/stranal/should_compile/test.lhs deleted file mode 100644 index f89509a..0000000 --- a/ghc/tests/stranal/should_compile/test.lhs +++ /dev/null @@ -1,6 +0,0 @@ -> module Test where -> data LList t = Nill | Conss t (LList t) -> data BBool = TTrue | FFalse - -> f Nill = TTrue -> f (Conss a as) = FFalse diff --git a/ghc/tests/stranal/should_compile/test.stderr b/ghc/tests/stranal/should_compile/test.stderr index 6140fc1..78affa4 100644 --- a/ghc/tests/stranal/should_compile/test.stderr +++ b/ghc/tests/stranal/should_compile/test.stderr @@ -1,53 +1,33 @@ ---================================================================================ +================================================================================ Simplified: -`$d2' :: - `{PrelBase.Eval (LList t{-r3s-})}' +`$d2' :: `{PrelBase.Eval (LList t)}' `$d2' = - _/\_ `t{-sUf-}' -> - `PrelBase.void' -`Nill' :: - `LList t{-r3s-}' -`Nill' = - _/\_ `t{-sUc-}' -> - `Nill' - {_@_ `t{-sUc-}'} -`Conss' :: - `t{-r3s-} -> LList t{-r3s-} -> LList t{-r3s-}' -`Conss' = - _/\_ `t{-sUd-}' -> \ `tpl' :: - `t{-sUd-}' - `tpl' `tpl' :: - `LList t{-sUd-}' - `tpl' -> - `Conss' - {_@_ `t{-sUd-}' `tpl' `tpl'} -`TTrue' :: - `BBool' + _/\_ `$x0' -> `PrelBase.void' +`TTrue' :: `BBool' `TTrue' = - `TTrue' - {} -`FFalse' :: - `BBool' + `TTrue' {} +`FFalse' :: `BBool' `FFalse' = - `FFalse' - {} -`f' :: - `LList t{-aGi-} -> BBool' + `FFalse' {} +`f' :: `LList taBg -> BBool' `f' = - _/\_ `t{-sUe-}' -> \ `ds' :: - `LList t{-sUe-}' - `ds' -> - case `ds' of { - `Nill' -> - `TTrue' - {}; - `Conss' `a' `as' -> - `FFalse' - {}; + _/\_ `$x0' -> \ `$x1' :: `LList $x0' + `$x1' -> + case `$x1' of { + `Nill' -> `TTrue' {}; + `Conss' `$x2' `$x3' -> `FFalse' {}; } -`$d1' :: - `{PrelBase.Eval BBool}' +`Nill' :: `LList t' +`Nill' = + _/\_ `$x0' -> `Nill' {_@_ `$x0'} +`Conss' :: `t -> LList t -> LList t' +`Conss' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + `Conss' {_@_ `$x0' `$x1' `$x2'} +`$d1' :: `{PrelBase.Eval BBool}' `$d1' = `PrelBase.void' diff --git a/ghc/tests/stranal/should_compile/tst.hs b/ghc/tests/stranal/should_compile/tst.hs new file mode 100644 index 0000000..5612921 --- /dev/null +++ b/ghc/tests/stranal/should_compile/tst.hs @@ -0,0 +1,3 @@ +module Test where +a :: [a] -> [[a]] +a x = [x] diff --git a/ghc/tests/stranal/should_compile/tst.lhs b/ghc/tests/stranal/should_compile/tst.lhs deleted file mode 100644 index edaf20d..0000000 --- a/ghc/tests/stranal/should_compile/tst.lhs +++ /dev/null @@ -1,3 +0,0 @@ -> module Test where -> a :: [a] -> [[a]] -> a x = [x] diff --git a/ghc/tests/stranal/should_compile/tst.stderr b/ghc/tests/stranal/should_compile/tst.stderr index 7461d70..42ad81c 100644 --- a/ghc/tests/stranal/should_compile/tst.stderr +++ b/ghc/tests/stranal/should_compile/tst.stderr @@ -1,19 +1,13 @@ ---================================================================================ +================================================================================ Simplified: -`a' :: - `[a{-amL-}] -> [[a{-amL-}]]' +`a' :: `[takb] -> [[takb]]' `a' = - _/\_ `a{-srv-}' -> \ `s' :: - `[a{-srv-}]' - `s' -> + _/\_ `$x0' -> \ `$x1' :: `[$x0]' + `$x1' -> let { - `ds' :: - `[[a{-srv-}]]' - `ds' = - `PrelBase.[]' - {_@_ [`a{-srv-}']} - } in - `PrelBase.:' - {_@_ [`a{-srv-}'] `s' `ds'} + `$x2' :: `[[$x0]]' + `$x2' = + `PrelBase.[]' {_@_ [`$x0']} + } in `PrelBase.:' {_@_ [`$x0'] `$x1' `$x2'} diff --git a/ghc/tests/stranal/should_compile/unu.hs b/ghc/tests/stranal/should_compile/unu.hs new file mode 100644 index 0000000..54bb25e --- /dev/null +++ b/ghc/tests/stranal/should_compile/unu.hs @@ -0,0 +1,76 @@ +module Test where +data Boolean = FF | TT +data Pair a b = Mkpair a b +data LList alpha = Nill | Conss alpha (LList alpha) +data Nat = Zero | Succ Nat +data Tree t = Leaf t | Node (Tree t) (Tree t) +data A a = MkA a (A a) +data Foo baz = MkFoo (Foo (Foo baz)) +{- + append1 :: LList a -> LList a -> LList a + append1 xs ys = append2 xs + where + append2 xs = case xs of + Nill -> ys + Conss x xs -> Conss x (append3 xs) + append3 xs = case xs of + Nill -> ys + Conss x xs -> Conss x (append2 xs) + + loop :: a -> a + loop x = loop x + + hd :: LList b -> b + hd Nill = loop + hd (Conss y ys) = y + + hdb :: LList (LList b) -> LList b + hdb = hd + + append :: [a] -> [a] -> [a] + append [] ys = ys + append (x:xs) ys = x:(append xs ys) + + f :: [a] -> [a] + f y = append x (f y) + where x = append x (f y) +-} +app :: LList a -> LList a -> LList a +app Nill Nill = Nill +app xs ys = case xs of + Nill -> ys + Conss z zs -> Conss z (app zs ys) +{- + app :: LList a -> LList a -> LList a + app xs ys = case xs of + Nill -> case ys of + Nill -> Nill + Conss u us -> ap + Conss a as -> ap + where ap = case xs of + Nill -> ys + Conss z zs -> Conss z (app zs ys) + + app :: LList a -> LList a -> LList a + app xs ys = case xs of + Nill -> case ys of + Nill -> Nill + Conss u us -> ap xs ys + Conss a as -> ap xs ys + + ap xs ys = case xs of + Nill -> ys + Conss z zs -> Conss z (app zs ys) + + ap :: LList a -> LList a -> LList a + ap xs ys = case xs of + Nill -> ys + Conss z zs -> Conss z (ap zs ys) + + app :: LList a -> LList a -> LList a + app xs ys = case xs of + Nill -> case ys of + Nill -> Nill + Conss u us -> ap xs ys + Conss a as -> ap xs ys +-} diff --git a/ghc/tests/stranal/should_compile/unu.lhs b/ghc/tests/stranal/should_compile/unu.lhs deleted file mode 100644 index da6370c..0000000 --- a/ghc/tests/stranal/should_compile/unu.lhs +++ /dev/null @@ -1,76 +0,0 @@ -> module Test where -> data Boolean = FF | TT -> data Pair a b = Mkpair a b -> data LList alpha = Nill | Conss alpha (LList alpha) -> data Nat = Zero | Succ Nat -> data Tree t = Leaf t | Node (Tree t) (Tree t) -> data A a = MkA a (A a) -> data Foo baz = MkFoo (Foo (Foo baz)) ->{- -> append1 :: LList a -> LList a -> LList a -> append1 xs ys = append2 xs -> where -> append2 xs = case xs of -> Nill -> ys -> Conss x xs -> Conss x (append3 xs) -> append3 xs = case xs of -> Nill -> ys -> Conss x xs -> Conss x (append2 xs) -> -> loop :: a -> a -> loop x = loop x -> -> hd :: LList b -> b -> hd Nill = loop -> hd (Conss y ys) = y -> -> hdb :: LList (LList b) -> LList b -> hdb = hd -> -> append :: [a] -> [a] -> [a] -> append [] ys = ys -> append (x:xs) ys = x:(append xs ys) -> -> f :: [a] -> [a] -> f y = append x (f y) -> where x = append x (f y) ->-} -> app :: LList a -> LList a -> LList a -> app Nill Nill = Nill -> app xs ys = case xs of -> Nill -> ys -> Conss z zs -> Conss z (app zs ys) ->{- -> app :: LList a -> LList a -> LList a -> app xs ys = case xs of -> Nill -> case ys of -> Nill -> Nill -> Conss u us -> ap -> Conss a as -> ap -> where ap = case xs of -> Nill -> ys -> Conss z zs -> Conss z (app zs ys) -> -> app :: LList a -> LList a -> LList a -> app xs ys = case xs of -> Nill -> case ys of -> Nill -> Nill -> Conss u us -> ap xs ys -> Conss a as -> ap xs ys -> -> ap xs ys = case xs of -> Nill -> ys -> Conss z zs -> Conss z (app zs ys) -> -> ap :: LList a -> LList a -> LList a -> ap xs ys = case xs of -> Nill -> ys -> Conss z zs -> Conss z (ap zs ys) -> -> app :: LList a -> LList a -> LList a -> app xs ys = case xs of -> Nill -> case ys of -> Nill -> Nill -> Conss u us -> ap xs ys -> Conss a as -> ap xs ys ->-} diff --git a/ghc/tests/stranal/should_compile/unu.stderr b/ghc/tests/stranal/should_compile/unu.stderr index 6e8d06f..a5a8c1c 100644 --- a/ghc/tests/stranal/should_compile/unu.stderr +++ b/ghc/tests/stranal/should_compile/unu.stderr @@ -1,153 +1,96 @@ ---================================================================================ +================================================================================ Simplified: -`$d6' :: - `{PrelBase.Eval (Pair a{-r3Z-} b{-r40-})}' +`$d6' :: `{PrelBase.Eval (Pair a b)}' `$d6' = - _/\_ `a{-s1oF-}' `b{-s1oG-}' -> - `PrelBase.void' -`$d5' :: - `{PrelBase.Eval (LList alpha{-r3X-})}' + _/\_ `$x0' `$x1' -> `PrelBase.void' +`$d5' :: `{PrelBase.Eval (LList alpha)}' `$d5' = - _/\_ `alpha{-s1oH-}' -> - `PrelBase.void' -`$d3' :: - `{PrelBase.Eval (Tree t{-r3U-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d3' :: `{PrelBase.Eval (Tree t)}' `$d3' = - _/\_ `t{-s1oI-}' -> - `PrelBase.void' -`$d2' :: - `{PrelBase.Eval (A a{-r3S-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d2' :: `{PrelBase.Eval (A a)}' `$d2' = - _/\_ `a{-s1oJ-}' -> - `PrelBase.void' -`$d1' :: - `{PrelBase.Eval (Foo baz{-r3Q-})}' + _/\_ `$x0' -> `PrelBase.void' +`$d1' :: `{PrelBase.Eval (Foo baz)}' `$d1' = - _/\_ `baz{-s1oK-}' -> - `PrelBase.void' -`Mkpair' :: - `a{-r3Z-} -> b{-r40-} -> Pair a{-r3Z-} b{-r40-}' -`Mkpair' = - _/\_ `a{-s1op-}' `b{-s1oq-}' -> \ `tpl' :: - `a{-s1op-}' - `tpl' `tpl' :: - `b{-s1oq-}' - `tpl' -> - `Mkpair' - {_@_ `a{-s1op-}' _@_ `b{-s1oq-}' `tpl' `tpl'} -`MkA' :: - `a{-r3S-} -> A a{-r3S-} -> A a{-r3S-}' -`MkA' = - _/\_ `a{-s1or-}' -> \ `tpl' :: - `a{-s1or-}' - `tpl' `tpl' :: - `A a{-s1or-}' - `tpl' -> - `MkA' - {_@_ `a{-s1or-}' `tpl' `tpl'} -`MkFoo' :: - `Foo (Foo baz{-r3Q-}) -> Foo baz{-r3Q-}' + _/\_ `$x0' -> `PrelBase.void' +`MkFoo' :: `Foo (Foo baz) -> Foo baz' `MkFoo' = - _/\_ `baz{-s1os-}' -> \ `tpl' :: - `Foo (Foo baz{-s1os-})' - `tpl' -> - `MkFoo' - {_@_ `baz{-s1os-}' `tpl'} -`FF' :: - `Boolean' -`FF' = - `FF' - {} -`TT' :: - `Boolean' -`TT' = - `TT' - {} -`Nill' :: - `LList alpha{-r3X-}' + _/\_ `$x0' -> \ `$x1' :: `Foo (Foo $x0)' + `$x1' -> + `MkFoo' {_@_ `$x0' `$x1'} +`MkA' :: `a -> A a -> A a' +`MkA' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `A $x0' + `$x2' -> + `MkA' {_@_ `$x0' `$x1' `$x2'} +`Mkpair' :: `a -> b -> Pair a b' +`Mkpair' = + _/\_ `$x0' `$x1' -> \ `$x2' :: `$x0' + `$x2' `$x3' :: `$x1' + `$x3' -> + `Mkpair' {_@_ `$x0' _@_ `$x1' `$x2' `$x3'} +`Leaf' :: `t -> Tree t' +`Leaf' = + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' -> + `Leaf' {_@_ `$x0' `$x1'} +`Node' :: `Tree t -> Tree t -> Tree t' +`Node' = + _/\_ `$x0' -> \ `$x1' :: `Tree $x0' + `$x1' `$x2' :: `Tree $x0' + `$x2' -> + `Node' {_@_ `$x0' `$x1' `$x2'} +`Zero' :: `Nat' +`Zero' = + `Zero' {} +`Succ' :: `Nat -> Nat' +`Succ' = + \ `$x0' :: `Nat' + `$x0' -> + `Succ' {`$x0'} +`Nill' :: `LList alpha' `Nill' = - _/\_ `alpha{-s1ot-}' -> - `Nill' - {_@_ `alpha{-s1ot-}'} -`Conss' :: - `alpha{-r3X-} -> LList alpha{-r3X-} -> LList alpha{-r3X-}' + _/\_ `$x0' -> `Nill' {_@_ `$x0'} +`Conss' :: `alpha -> LList alpha -> LList alpha' `Conss' = - _/\_ `alpha{-s1ou-}' -> \ `tpl' :: - `alpha{-s1ou-}' - `tpl' `tpl' :: - `LList alpha{-s1ou-}' - `tpl' -> - `Conss' - {_@_ `alpha{-s1ou-}' `tpl' `tpl'} + _/\_ `$x0' -> \ `$x1' :: `$x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + `Conss' {_@_ `$x0' `$x1' `$x2'} Rec { -`app' :: - `LList a{-aHn-} -> LList a{-aHn-} -> LList a{-aHn-}' +`app' :: `LList taCh -> LList taCh -> LList taCh' `app' = - _/\_ `a{-s1ov-}' -> \ `ds' :: - `LList a{-s1ov-}' - `ds' `ds' :: - `LList a{-s1ov-}' - `ds' -> - case `ds' of { - `Conss' `ds' `ds' -> + _/\_ `$x0' -> \ `$x1' :: `LList $x0' + `$x1' `$x2' :: `LList $x0' + `$x2' -> + case `$x1' of { + `Conss' `$x3' `$x4' -> let { - `ds' :: - `LList a{-s1ov-}' - `ds' = - `app' - _@_ `a{-s1ov-}' `ds' `ds' - } in - `Conss' - {_@_ `a{-s1ov-}' `ds' `ds'}; + `$x5' :: `LList $x0' + `$x5' = + `app' _@_ `$x0' `$x4' `$x2' + } in `Conss' {_@_ `$x0' `$x3' `$x5'}; `Nill' -> - case `ds' of { - `Conss' `ds' `ds' -> - `Conss' - {_@_ `a{-s1ov-}' `ds' `ds'}; - `Nill' -> - `Nill' - {_@_ `a{-s1ov-}'}; + case `$x2' of { + `Conss' `$x6' `$x7' -> `Conss' {_@_ `$x0' `$x6' `$x7'}; + `Nill' -> `Nill' {_@_ `$x0'}; }; } end Rec } -`Zero' :: - `Nat' -`Zero' = - `Zero' - {} -`Succ' :: - `Nat -> Nat' -`Succ' = - \ `tpl' :: - `Nat' - `tpl' -> - `Succ' - {`tpl'} -`Leaf' :: - `t{-r3U-} -> Tree t{-r3U-}' -`Leaf' = - _/\_ `t{-s1oB-}' -> \ `tpl' :: - `t{-s1oB-}' - `tpl' -> - `Leaf' - {_@_ `t{-s1oB-}' `tpl'} -`Node' :: - `Tree t{-r3U-} -> Tree t{-r3U-} -> Tree t{-r3U-}' -`Node' = - _/\_ `t{-s1oE-}' -> \ `tpl' :: - `Tree t{-s1oE-}' - `tpl' `tpl' :: - `Tree t{-s1oE-}' - `tpl' -> - `Node' - {_@_ `t{-s1oE-}' `tpl' `tpl'} -`$d7' :: - `{PrelBase.Eval Boolean}' +`FF' :: `Boolean' +`FF' = + `FF' {} +`TT' :: `Boolean' +`TT' = + `TT' {} +`$d7' :: `{PrelBase.Eval Boolean}' `$d7' = `PrelBase.void' -`$d4' :: - `{PrelBase.Eval Nat}' +`$d4' :: `{PrelBase.Eval Nat}' `$d4' = `PrelBase.void' diff --git a/ghc/tests/typecheck/should_compile/Makefile b/ghc/tests/typecheck/should_compile/Makefile index fc964d8..0526897 100644 --- a/ghc/tests/typecheck/should_compile/Makefile +++ b/ghc/tests/typecheck/should_compile/Makefile @@ -1,19 +1,10 @@ -TOP = ../../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_compile.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0 -HC_OPTS += -noC -dcore-lint - -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ - -all :: $(HS_OBJS) +HC_OPTS += -noC -dcore-lint -fno-warn-incomplete-patterns -hi -ddump-tc tc019_HC_OPTS = -fglasgow-exts tc065_HC_OPTS = -syslib ghc include $(TOP)/mk/target.mk - - diff --git a/ghc/tests/typecheck/should_compile/tc001.stderr b/ghc/tests/typecheck/should_compile/tc001.stderr new file mode 100644 index 0000000..590a4a7 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc001.stderr @@ -0,0 +1,31 @@ + + +================================================================================ +Typechecked: +AbsBinds [taC6] [d.Num_aCa] [([taC6], a{-r3h,x-}, a_aBO)] + +_aCe = PrelBase.+{-r3g,p-} taC6 d.Num_aCa + d.Num_aCd = d.Num_aCa + fromInt_aCf = PrelBase.fromInt{-8R,p-} taC6 d.Num_aCd + lit_aCg = fromInt_aCf PrelBase.I#{-5b,w-}{i} 2# + +_aCh = +_aCe + fromInt_aCj = fromInt_aCf + lit_aCk = fromInt_aCj PrelBase.I#{-5b,w-}{i} 3# + a_aBO x_r3d + = y_r3f +_aCe lit_aCg + where + {- nonrec -} + AbsBinds [] [] [([], y_r3f, y_aBW)] + y_aBW = x_r3d +_aCh lit_aCk + {- nonrec -} + {- nonrec -} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed a; +_declarations_ +1 a _:_ _forall_ [ta] {PrelBase.Num ta} => ta -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc002.stderr b/ghc/tests/typecheck/should_compile/tc002.stderr new file mode 100644 index 0000000..86e7306 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc002.stderr @@ -0,0 +1,19 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], b{-r1,x-}, b_aBK)] + b_aBK = if PrelBase.True{-5E,w-}{i} then lit_aBW else lit_aBX +lit_aBW = PrelBase.I#{-5b,w-}{i} 1# +lit_aBX = PrelBase.I#{-5b,w-}{i} 2# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed b; +_declarations_ +1 b _:_ PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc003.stderr b/ghc/tests/typecheck/should_compile/tc003.stderr new file mode 100644 index 0000000..a0a57a5 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc003.stderr @@ -0,0 +1,33 @@ + + +================================================================================ +Typechecked: +AbsBinds +[] +[] +[([], c{-r5,x-}, c_aRg), ([], d{-r4,x-}, d_aRh), ([], + e{-r3,x-}, + e_aRi)] + lit_aRS = lit_aRT + (c_aRg@(d_aRh, e_aRi)) + = if PrelBase.True{-5E,w-}{i} then + (lit_aRT, lit_aRU) + else + (lit_aRS, lit_aRV) +lit_aRT = PrelBase.I#{-5b,w-}{i} 1# +lit_aRU = PrelBase.I#{-5b,w-}{i} 2# +lit_aRV = PrelBase.I#{-5b,w-}{i} 3# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +PrelTup 1 :: $d13 1 $d4 1 $d9 1; +_exports_ +ShouldSucceed c d e; +_declarations_ +1 c _:_ (PrelBase.Int, PrelBase.Int) ;; +1 d _:_ PrelBase.Int ;; +1 e _:_ PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc004.stderr b/ghc/tests/typecheck/should_compile/tc004.stderr new file mode 100644 index 0000000..4eb6f2d --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc004.stderr @@ -0,0 +1,17 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], f{-r3e,x-}, f_aku)] + f_aku x_r3d + = case x_r3d of + PrelBase.True{-5E,w-}{i} -> PrelBase.True{-5E,w-}{i} + PrelBase.False{-58,w-}{i} -> x_r3d +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc005.stderr b/ghc/tests/typecheck/should_compile/tc005.stderr new file mode 100644 index 0000000..6665044 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc005.stderr @@ -0,0 +1,24 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taRr, taRH] +[d.Num_aRM] +[([taRr, taRH], g{-r3j,x-}, g_aRj)] + fromInt_aRN = PrelBase.fromInt{-8R,p-} taRr d.Num_aRM + lit_aRO = fromInt_aRN PrelBase.I#{-5b,w-}{i} 2# + g_aRj ((x_r3d PrelBase.:{-55,w-}{i} z_r3e), y_r3f) = x_r3d + g_aRj (x_r3h, y_r3i) = lit_aRO +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +PrelTup 1 :: $d13 1 $d4 1 $d9 1; +_exports_ +ShouldSucceed g; +_declarations_ +1 g _:_ _forall_ [ta tb] {PrelBase.Num ta} => ([ta], tb) -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc006.stderr b/ghc/tests/typecheck/should_compile/tc006.stderr new file mode 100644 index 0000000..0890640 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc006.stderr @@ -0,0 +1,18 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], h{-r1,x-}, h_aBK)] + h_aBK = PrelBase.:{-55,w-}{i} PrelBase.Int{-3g,W-} lit_aBW h_aBK +lit_aBW = PrelBase.I#{-5b,w-}{i} 1# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed h; +_declarations_ +1 h _:_ [PrelBase.Int] ;; diff --git a/ghc/tests/typecheck/should_compile/tc007.stderr b/ghc/tests/typecheck/should_compile/tc007.stderr new file mode 100644 index 0000000..2547cd0 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc007.stderr @@ -0,0 +1,33 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], j{-rY,x-}, j_aBQ)] + j_aBQ = lit_aCv +AbsBinds [] [] [([], k{-rX,x-}, k_aBY), ([], l{-rW,x-}, l_aBZ)] + k_aBY + = PrelBase.:{-55,w-}{i} PrelBase.Int{-3g,W-} + lit_aCt + (PrelBase.:{-55,w-}{i} PrelBase.Int{-3g,W-} j{-rY,x-} l_aBZ) + l_aBZ = PrelBase.:{-55,w-}{i} PrelBase.Int{-3g,W-} lit_aCu k_aBY +AbsBinds [] [] [([], m{-rV,x-}, m_aCd)] + m_aCd = j{-rY,x-} +_aCs j{-rY,x-} +d.Num_aCr = PrelBase.$d4{-rau,p-} ++_aCs = PrelBase.+{-rU,p-} PrelBase.Int{-3g,W-} d.Num_aCr +lit_aCt = PrelBase.I#{-5b,w-}{i} 1# +lit_aCu = PrelBase.I#{-5b,w-}{i} 0# +lit_aCv = PrelBase.I#{-5b,w-}{i} 2# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed j k l m; +_declarations_ +1 j _:_ PrelBase.Int ;; +1 k _:_ [PrelBase.Int] ;; +1 l _:_ [PrelBase.Int] ;; +1 m _:_ PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc008.stderr b/ghc/tests/typecheck/should_compile/tc008.stderr new file mode 100644 index 0000000..7ffc6b2 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc008.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +AbsBinds [taBU] [d.Num_aBX] [([taBU], n{-r1,x-}, n_aBM)] + fromInt_aBY = PrelBase.fromInt{-8R,p-} taBU d.Num_aBX + lit_aBZ = fromInt_aBY PrelBase.I#{-5b,w-}{i} 1# + fromInt_aC1 = fromInt_aBY + lit_aC2 = fromInt_aC1 PrelBase.I#{-5b,w-}{i} 0# + n_aBM PrelBase.True{-5E,w-}{i} = lit_aBZ + n_aBM PrelBase.False{-58,w-}{i} = lit_aC2 +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed n; +_declarations_ +1 n _:_ _forall_ [ta] {PrelBase.Num ta} => PrelBase.Bool -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc009.stderr b/ghc/tests/typecheck/should_compile/tc009.stderr new file mode 100644 index 0000000..1058b2e --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc009.stderr @@ -0,0 +1,23 @@ + + +================================================================================ +Typechecked: +AbsBinds [taRx] [d.Num_aRB] [([taRx], o{-r3h,x-}, o_aRg)] + +_aRF = PrelBase.+{-r3g,p-} taRx d.Num_aRB + d.Num_aRE = d.Num_aRB + fromInt_aRG = PrelBase.fromInt{-8R,p-} taRx d.Num_aRE + lit_aRH = fromInt_aRG PrelBase.I#{-5b,w-}{i} 1# + o_aRg (PrelBase.True{-5E,w-}{i}, x_r3d) = x_r3d + o_aRg (PrelBase.False{-58,w-}{i}, y_r3f) = y_r3f +_aRF lit_aRH +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +PrelTup 1 :: $d13 1 $d4 1 $d9 1; +_exports_ +ShouldSucceed o; +_declarations_ +1 o _:_ _forall_ [ta] {PrelBase.Num ta} => (PrelBase.Bool, ta) -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc010.stderr b/ghc/tests/typecheck/should_compile/tc010.stderr new file mode 100644 index 0000000..457a9ba --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc010.stderr @@ -0,0 +1,30 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], p{-r3e,x-}, p_aRZ)] + lit_aT1 = lit_aT3 + p_aRZ + = [(y_r3d +_aT4 lit_aT1, PrelBase.True{-5E,w-}{i}) | + y_r3d <- [lit_aT2, lit_aT3] (PrelBase.Int{-3g,W-})] +lit_aT2 = PrelBase.I#{-5b,w-}{i} 1# +lit_aT3 = PrelBase.I#{-5b,w-}{i} 2# +d.Num_aSR = PrelBase.$d4{-raq,p-} ++_aT4 = PrelBase.+{-r9G,p-} PrelBase.Int{-3g,W-} d.Num_aSR +d.Monad_aSU = PrelBase.$d25{-raa,p-} +>>=_aT5 = PrelBase.>>={-811,p-} PrelBase.[]{-3j,W-} d.Monad_aSU +d.Monad_aSX = d.Monad_aSU +return_aT6 = + PrelBase.return{-816,p-} PrelBase.[]{-3j,W-} d.Monad_aSX +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m>> 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +PrelTup 1 :: $d13 1 $d4 1 $d9 1; +_exports_ +ShouldSucceed p; +_declarations_ +1 p _:_ [(PrelBase.Int, PrelBase.Bool)] ;; diff --git a/ghc/tests/typecheck/should_compile/tc011.stderr b/ghc/tests/typecheck/should_compile/tc011.stderr new file mode 100644 index 0000000..90ec9b8 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc011.stderr @@ -0,0 +1,14 @@ + + +================================================================================ +Typechecked: +AbsBinds [taks] [] [([taks], x{-r1,x-}, x_akq)] + (x_akq@_) = x_akq +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed x; +_declarations_ +1 x _:_ _forall_ [ta] => ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc012.stderr b/ghc/tests/typecheck/should_compile/tc012.stderr new file mode 100644 index 0000000..f78cd03 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc012.stderr @@ -0,0 +1,14 @@ + + +================================================================================ +Typechecked: +AbsBinds [takB] [] [([takB], q{-r3e,x-}, q_aks)] + q_aks = \ y_r3d -> y_r3d +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed q; +_declarations_ +1 q _:_ _forall_ [ta] => ta -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc013.stderr b/ghc/tests/typecheck/should_compile/tc013.stderr new file mode 100644 index 0000000..c232026 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc013.stderr @@ -0,0 +1,20 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], r{-r3,x-}, r_aRe), ([], s{-r2,x-}, s_aRf)] + (r_aRe, s_aRf) = (lit_aRz, 'a') +lit_aRz = PrelBase.I#{-5b,w-}{i} 1# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +PrelTup 1 :: $d13 1 $d4 1 $d9 1; +_exports_ +ShouldSucceed r s; +_declarations_ +1 r _:_ PrelBase.Int ;; +1 s _:_ PrelBase.Char ;; diff --git a/ghc/tests/typecheck/should_compile/tc014.stderr b/ghc/tests/typecheck/should_compile/tc014.stderr new file mode 100644 index 0000000..449aadb --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc014.stderr @@ -0,0 +1,20 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], t{-rS,x-}, t_aBK)] + t_aBK = lit_aC4 +_aC3 t_aBK +d.Num_aC2 = PrelBase.$d4{-rao,p-} ++_aC3 = PrelBase.+{-rR,p-} PrelBase.Int{-3g,W-} d.Num_aC2 +lit_aC4 = PrelBase.I#{-5b,w-}{i} 1# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed t; +_declarations_ +1 t _:_ PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc015.stderr b/ghc/tests/typecheck/should_compile/tc015.stderr new file mode 100644 index 0000000..8e3776d --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc015.stderr @@ -0,0 +1,17 @@ + + +================================================================================ +Typechecked: +AbsBinds +[tayE, tayH, tayM] +[] +[([tayE, tayH, tayM], u{-r3h,x-}, u_ays)] + u_ays x_r3d = \ (y_r3f, z_r3g) -> x_r3d +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed u; +_declarations_ +1 u _:_ _forall_ [ta tb tc] => tc -> (ta, tb) -> tc ;; diff --git a/ghc/tests/typecheck/should_compile/tc016.stderr b/ghc/tests/typecheck/should_compile/tc016.stderr new file mode 100644 index 0000000..5a6dd72 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc016.stderr @@ -0,0 +1,14 @@ + + +================================================================================ +Typechecked: +AbsBinds [takL, takN] [] [([takL, takN], f{-r3f,x-}, f_akt)] + f_akt (x_r3d@_) (y_r3e@_) = x_r3d +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ _forall_ [ta tb] => tb -> ta -> tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc017.stderr b/ghc/tests/typecheck/should_compile/tc017.stderr new file mode 100644 index 0000000..3c92bbe --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc017.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], v{-r1,x-}, v_aBK)] + v_aBK + | PrelBase.True{-5E,w-}{i} = v_aBK +_aC5 lit_aC6 + | PrelBase.False{-58,w-}{i} = v_aBK +d.Num_aC4 = PrelBase.$d4{-rao,p-} ++_aC5 = PrelBase.+{-r9E,p-} PrelBase.Int{-3g,W-} d.Num_aC4 +lit_aC6 = PrelBase.I#{-5b,w-}{i} 1# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed v; +_declarations_ +1 v _:_ PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc018.stderr b/ghc/tests/typecheck/should_compile/tc018.stderr new file mode 100644 index 0000000..7b5d2d0 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc018.stderr @@ -0,0 +1,30 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], w{-r3f,x-}, w_aBQ)] + w_aBQ + = a_r3d + where + {- nonrec -} + AbsBinds [] [] [([], y_r3e, y_aBP)] + y_aBP = lit_aC8 + {- nonrec -} + {- nonrec -} + {- nonrec -} + AbsBinds [] [] [([], a_r3d, a_aBZ)] + a_aBZ = y_r3e + {- nonrec -} + {- nonrec -} +lit_aC8 = PrelBase.I#{-5b,w-}{i} 2# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed w; +_declarations_ +1 w _:_ PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc019.stderr b/ghc/tests/typecheck/should_compile/tc019.stderr new file mode 100644 index 0000000..d99d75f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc019.stderr @@ -0,0 +1,35 @@ + + +================================================================================ +Typechecked: +AbsBinds +[] +[] +[([], al{-r3i,x-}, al_aS2), ([], am{-r3h,x-}, am_aS3)] + lit_aTo = lit_aTp + (al_aS2 PrelBase.:{-55,w-}{i} am_aS3) + = [y_r3e +_aTr lit_aTo | + (y_r3e, z_r3f) <- [(lit_aTp, + lit_aTq)] ((PrelBase.Int{-3g,W-}, PrelBase.Int{-3g,W-}))] +lit_aTp = PrelBase.I#{-5b,w-}{i} 1# +lit_aTq = PrelBase.I#{-5b,w-}{i} 2# +d.Num_aTe = PrelBase.$d4{-rat,p-} ++_aTr = PrelBase.+{-r3g,p-} PrelBase.Int{-3g,W-} d.Num_aTe +d.Monad_aTh = PrelBase.$d25{-rad,p-} +>>=_aTs = PrelBase.>>={-811,p-} PrelBase.[]{-3j,W-} d.Monad_aTh +d.Monad_aTk = d.Monad_aTh +return_aTt = + PrelBase.return{-816,p-} PrelBase.[]{-3j,W-} d.Monad_aTk +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m>> 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +PrelTup 1 :: $d13 1 $d4 1 $d9 1; +_exports_ +ShouldSucceed al am; +_declarations_ +1 al _:_ PrelBase.Int ;; +1 am _:_ [PrelBase.Int] ;; diff --git a/ghc/tests/typecheck/should_compile/tc020.stderr b/ghc/tests/typecheck/should_compile/tc020.stderr new file mode 100644 index 0000000..7ec7b1d --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc020.stderr @@ -0,0 +1,21 @@ + + +================================================================================ +Typechecked: +AbsBinds [takG] [] [([takG], f{-r3g,x-}, f_aku)] + f_aku x_r3d + = a_r3f + where + {- rec -} + AbsBinds [] [] [([], a_r3f, a_akC)] + a_akC = PrelBase.:{-55,w-}{i} takG x_r3d a_akC + {- nonrec -} + {- nonrec -} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ _forall_ [ta] => ta -> [ta] ;; diff --git a/ghc/tests/typecheck/should_compile/tc021.stderr b/ghc/tests/typecheck/should_compile/tc021.stderr new file mode 100644 index 0000000..7873760 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc021.stderr @@ -0,0 +1,23 @@ + + +================================================================================ +Typechecked: +AbsBinds [tayv] [] [([tayv], x{-r3g,x-}, x_ayt)] + x_ayt = x_ayt +AbsBinds [tayB, tayD] [] [([tayB, tayD], a{-r3h,x-}, a_ayx)] + a_ayx = (x{-r3g,x-} tayB, x{-r3g,x-} tayD) +AbsBinds +[tayW, tayS, tayU] +[] +[([tayW, tayS, tayU], f{-r3i,x-}, f_ayJ)] + f_ayJ x_r3f = a{-r3h,x-} [tayS, tayU] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed a f x; +_declarations_ +1 a _:_ _forall_ [ta tb] => (ta, tb) ;; +1 f _:_ _forall_ [ta tb tc] => ta -> (tb, tc) ;; +1 x _:_ _forall_ [ta] => ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc022.stderr b/ghc/tests/typecheck/should_compile/tc022.stderr new file mode 100644 index 0000000..4b409de --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc022.stderr @@ -0,0 +1,17 @@ + + +================================================================================ +Typechecked: +AbsBinds [takD] [] [([takD], iD{-r3f,x-}, iD_aku)] + iD_aku x_r3e = x_r3e +AbsBinds [takL] [] [([takL], main{-r3g,x-}, main_akF)] + main_akF = iD{-r3f,x-} (takL -> takL) iD{-r3f,x-} takL +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed iD main; +_declarations_ +1 iD _:_ _forall_ [ta] => ta -> ta ;; +1 main _:_ _forall_ [ta] => ta -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc023.stderr b/ghc/tests/typecheck/should_compile/tc023.stderr new file mode 100644 index 0000000..1e7a98f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc023.stderr @@ -0,0 +1,26 @@ + + +================================================================================ +Typechecked: +AbsBinds [takP, takR] [] [([takP, takR], k{-r3l,x-}, k_akB)] + k_akB x_r3j y_r3k = x_r3j +AbsBinds +[taln, talp, talr] +[] +[([taln, talp, talr], s{-r3m,x-}, s_akT)] + s_akT f_r3f g_r3g x_r3h = f_r3f x_r3h g_r3g x_r3h +AbsBinds [talA] [] [([talA], main{-r3n,x-}, main_alt)] + main_alt + = s{-r3m,x-} [talA, GHC.Void{-3T,W-} -> talA, talA] k{-r3l,x-} + [GHC.Void{-3T,W-} -> talA, talA] + k{-r3l,x-} [GHC.Void{-3T,W-}, talA] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed k main s; +_declarations_ +1 k _:_ _forall_ [ta tb] => tb -> ta -> tb ;; +1 main _:_ _forall_ [ta] => ta -> ta ;; +1 s _:_ _forall_ [ta tb tc] => (tc -> tb -> ta) -> (tc -> tb) -> tc -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc024.stderr b/ghc/tests/typecheck/should_compile/tc024.stderr new file mode 100644 index 0000000..58c7fd9 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc024.stderr @@ -0,0 +1,28 @@ + + +================================================================================ +Typechecked: +AbsBinds [takR, takT] [] [([takR, takT], k{-r3n,x-}, k_akD)] + k_akD x_r3l y_r3m = x_r3l +AbsBinds +[talp, talr, talt] +[] +[([talp, talr, talt], s{-r3o,x-}, s_akV)] + s_akV f_r3h g_r3i x_r3j = f_r3h x_r3j g_r3i x_r3j +AbsBinds [talE] [] [([talE], main{-r3p,x-}, main_alv)] + main_alv x_r3f + = s{-r3o,x-} [talE, GHC.Void{-3T,W-} -> talE, talE] k{-r3n,x-} + [GHC.Void{-3T,W-} + -> talE, talE] + k{-r3n,x-} [GHC.Void{-3T,W-}, talE] + x_r3f +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed k main s; +_declarations_ +1 k _:_ _forall_ [ta tb] => tb -> ta -> tb ;; +1 main _:_ _forall_ [ta] => ta -> ta ;; +1 s _:_ _forall_ [ta tb tc] => (tc -> tb -> ta) -> (tc -> tb) -> tc -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc025.stderr b/ghc/tests/typecheck/should_compile/tc025.stderr new file mode 100644 index 0000000..98ba08f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc025.stderr @@ -0,0 +1,23 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], g{-r3j,x-}, g_akx)] + g_akx x_r3d + = f_r3f PrelBase.Bool{-34,W-} f_r3f + PrelBase.Bool{-34,W-} PrelBase.True{-5E,w-}{i} x_r3d + x_r3d + where + {- rec -} + AbsBinds [takV] [] [([takV], f_r3f, f_akF)] + f_akF x_r3h y_r3i = if x_r3h then y_r3i else f_akF x_r3h y_r3i + {- nonrec -} + {- nonrec -} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed g; +_declarations_ +1 g _:_ PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc026.stderr b/ghc/tests/typecheck/should_compile/tc026.stderr new file mode 100644 index 0000000..00bfdbb --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc026.stderr @@ -0,0 +1,21 @@ + + +================================================================================ +Typechecked: +AbsBinds [takL] [] [([takL], f{-r3i,x-}, f_akx)] + f_akx x_r3g y_r3h = if x_r3g then y_r3h else f_akx x_r3g y_r3h +AbsBinds [] [] [([], g{-r3j,x-}, g_akN)] + g_akN x_r3e + = f{-r3i,x-} PrelBase.Bool{-34,W-} f{-r3i,x-} + PrelBase.Bool{-34,W-} PrelBase.True{-5E,w-}{i} + x_r3e + x_r3e +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f g; +_declarations_ +1 f _:_ _forall_ [ta] => PrelBase.Bool -> ta -> ta ;; +1 g _:_ PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc027.stderr b/ghc/tests/typecheck/should_compile/tc027.stderr new file mode 100644 index 0000000..57f4917 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc027.stderr @@ -0,0 +1,28 @@ + + +================================================================================ +Typechecked: +AbsBinds +[tal1] +[] +[([tal1], f{-r3n,x-}, f_akC), ([tal1], g{-r3m,x-}, g_akD)] + f_akC x_r3h y_r3i = if x_r3h then y_r3i else g_akD y_r3i x_r3h + g_akD y_r3k x_r3l = if x_r3l then y_r3k else f_akC x_r3l y_r3k +AbsBinds [] [] [([], h{-r3o,x-}, h_al3)] + h_al3 x_r3f + = f{-r3n,x-} PrelBase.Bool{-34,W-} f{-r3n,x-} + PrelBase.Bool{-34,W-} PrelBase.True{-5E,w-}{i} + x_r3f + x_r3f + +NOTE: Simplifier still going after 4 iterations; bailing out. +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f g h; +_declarations_ +1 f _:_ _forall_ [ta] => PrelBase.Bool -> ta -> ta ;; +1 g _:_ _forall_ [ta] => ta -> PrelBase.Bool -> ta ;; +1 h _:_ PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc028.stderr b/ghc/tests/typecheck/should_compile/tc028.stderr new file mode 100644 index 0000000..802f82c --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc028.stderr @@ -0,0 +1,13 @@ + + +================================================================================ +Typechecked: + +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed H; +_declarations_ +1 type H = (PrelBase.Int, PrelBase.Bool) ; diff --git a/ghc/tests/typecheck/should_compile/tc029.stderr b/ghc/tests/typecheck/should_compile/tc029.stderr new file mode 100644 index 0000000..7c6ec51 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc029.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +H{-r4,x-}{i} = \ tpl_B1 -> H{-r4,x-}{i} {tpl_B1} +M{-r3,x-}{i} = \ tpl_B1 -> M{-r3,x-}{i} {tpl_B1} +AbsBinds [] [] [([], $d1{-rB5,x-}, d.Eval_aB2)] + d.Eval_aB2 = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d45 1 $d47 1 Eval 1; +_exports_ +ShouldSucceed G K(H M); +_instances_ +instance {PrelBase.Eval K} = $d1; +_declarations_ +1 $d1 _:_ {PrelBase.Eval K} ;; +1 type G = [PrelBase.Int] ; +1 data K = H PrelBase.Bool | M G ; diff --git a/ghc/tests/typecheck/should_compile/tc030.stderr b/ghc/tests/typecheck/should_compile/tc030.stderr new file mode 100644 index 0000000..f5cf2ff --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc030.stderr @@ -0,0 +1,14 @@ + + +================================================================================ +Typechecked: + +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed G H; +_declarations_ +1 type G = (H, PrelBase.Char) ; +1 type H = [PrelBase.Bool] ; diff --git a/ghc/tests/typecheck/should_compile/tc031.stderr b/ghc/tests/typecheck/should_compile/tc031.stderr new file mode 100644 index 0000000..dbbb210 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc031.stderr @@ -0,0 +1,21 @@ + + +================================================================================ +Typechecked: +Node{-r3,x-}{i} = + \ tpl_B1 tpl_B2 -> Node{-r3,x-}{i} {tpl_B1 tpl_B2} +AbsBinds [] [] [([], $d1{-rAT,x-}, d.Eval_aAQ)] + d.Eval_aAQ = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1; +_exports_ +ShouldSucceed Rec(Node); +_instances_ +instance {PrelBase.Eval Rec} = $d1; +_declarations_ +1 $d1 _:_ {PrelBase.Eval Rec} ;; +1 data Rec = Node PrelBase.Int Rec ; diff --git a/ghc/tests/typecheck/should_compile/tc032.stderr b/ghc/tests/typecheck/should_compile/tc032.stderr new file mode 100644 index 0000000..4e64be8 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc032.stderr @@ -0,0 +1,25 @@ + + +================================================================================ +Typechecked: +Node{-r4,x-}{i} = + _/\_ b_tr3h -> \ tpl_B1 tpl_B2 -> + Node{-r4,x-}{i} {_@_ b_tr3h tpl_B1 tpl_B2} +Other{-r3,x-}{i} = + _/\_ b_tr3h -> \ tpl_B1 -> Other{-r3,x-}{i} {_@_ b_tr3h tpl_B1} +AbsBinds [taQa] [] [([taQa], $d1{-rQd,x-}, d.Eval_aQ9)] + d.Eval_aQ9 = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d39 1 $d40 1 $d42 1 $d45 1 $d47 1 Eval 1; +PrelTup 1 :: $d13 1; +_exports_ +ShouldSucceed AList(Node Other); +_instances_ +instance _forall_ [b] => {PrelBase.Eval (AList b)} = $d1; +_declarations_ +1 $d1 _:_ _forall_ [b] => {PrelBase.Eval (AList b)} ;; +1 data AList b = Node b [b] | Other (b, PrelBase.Char) ; diff --git a/ghc/tests/typecheck/should_compile/tc033.stderr b/ghc/tests/typecheck/should_compile/tc033.stderr new file mode 100644 index 0000000..3c28282 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc033.stderr @@ -0,0 +1,27 @@ + + +================================================================================ +Typechecked: +Twist2{-r9,x-}{i} = \ tpl_B1 -> Twist2{-r9,x-}{i} {tpl_B1} +Twine2{-r8,x-}{i} = \ tpl_B1 -> Twine2{-r8,x-}{i} {tpl_B1} +AbsBinds [] [] [([], $d1{-rBa,x-}, d.Eval_aB2)] + d.Eval_aB2 = ({-dict-} [] []) +AbsBinds [] [] [([], $d2{-rBc,x-}, d.Eval_aB7)] + d.Eval_aB7 = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1; +_exports_ +ShouldSucceed F Twine(Twine2) Twist(Twist2); +_instances_ +instance {PrelBase.Eval Twist} = $d1; +instance {PrelBase.Eval Twine} = $d2; +_declarations_ +1 $d1 _:_ {PrelBase.Eval Twist} ;; +1 $d2 _:_ {PrelBase.Eval Twine} ;; +1 type F = Twine ; +1 data Twine = Twine2 Twist ; +1 data Twist = Twist2 Twine ; diff --git a/ghc/tests/typecheck/should_compile/tc034.stderr b/ghc/tests/typecheck/should_compile/tc034.stderr new file mode 100644 index 0000000..cb2d6c4 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc034.stderr @@ -0,0 +1,37 @@ + + +================================================================================ +Typechecked: +ANull{-r6,x-}{i} = _/\_ a_tr3p -> ANull{-r6,x-}{i} {_@_ a_tr3p} +ANode{-r5,x-}{i} = + _/\_ a_tr3p -> \ tpl_B1 tpl_B2 -> + ANode{-r5,x-}{i} {_@_ a_tr3p tpl_B1 tpl_B2} +AbsBinds [taCx] [d.Num_aCA] [([taCx], g{-r3q,x-}, g_aC9)] + fromInt_aCK = PrelBase.fromInt{-8R,p-} taCx d.Num_aCA + lit_aCO = fromInt_aCK PrelBase.I#{-5b,w-}{i} 2# + fromInt_aCP = fromInt_aCK + lit_aCQ = fromInt_aCP PrelBase.I#{-5b,w-}{i} 3# + fromInt_aCR = fromInt_aCK + lit_aCS = fromInt_aCR PrelBase.I#{-5b,w-}{i} 4# + g_aC9 ANull{-r6,x-}{i} = lit_aCO + g_aC9 (ANode{-r5,x-}{i} b_r3k (ANode{-r5,x-}{i} c_r3l d_r3m)) + | b_r3k = lit_aCQ + | PrelBase.True{-5E,w-}{i} = lit_aCS +AbsBinds [taCJ] [] [([taCJ], $d1{-rCN,x-}, d.Eval_aCI)] + d.Eval_aCI = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed g AList(ANull ANode) IntList; +_instances_ +instance _forall_ [a] => {PrelBase.Eval (AList a)} = $d1; +_declarations_ +1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (AList a)} ;; +1 data AList a = ANull | ANode a (AList a) ; +1 type IntList = AList PrelBase.Int ; +1 g _:_ _forall_ [ta] {PrelBase.Num ta} => AList PrelBase.Bool -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc035.stderr b/ghc/tests/typecheck/should_compile/tc035.stderr new file mode 100644 index 0000000..6d63628 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc035.stderr @@ -0,0 +1,34 @@ + + +================================================================================ +Typechecked: +Var{-r5,x-}{i} = + _/\_ a_tr3q -> \ tpl_B1 -> Var{-r5,x-}{i} {_@_ a_tr3q tpl_B1} +App{-r4,x-}{i} = + _/\_ a_tr3q -> \ tpl_B1 tpl_B2 -> + App{-r4,x-}{i} {_@_ a_tr3q tpl_B1 tpl_B2} +AbsBinds [taRI] [] [([taRI], g{-r3t,x-}, g_aRm)] + g_aRm (a_r3j, (Var{-r5,x-}{i} name_r3k)) + = [name_r3k] ([PrelBase.Char{-38,W-}]) + g_aRm (a_r3m, (App{-r4,x-}{i} e1_r3n e2_r3o)) + = ++_aS9 [PrelBase.Char{-38,W-}] (g_aRm e1_r3n) (g_aRm e2_r3o) +AbsBinds [taS5] [] [([taS5], $d1{-rS8,x-}, d.Eval_aS2)] + d.Eval_aS2 = ({-dict-} [] []) +d.MonadPlus_aS4 = PrelBase.$d23{-rpi,p-} +++_aS9 = PrelBase.++{-ruo,p-} PrelBase.[]{-3j,W-} d.MonadPlus_aS4 +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d23 1 $d24 1 $d25 1 $d38 1 $d39 1 $d40 1 $d42 1 $d45 1 $d47 1 $m>> 1 Eval 1 Monad 1 MonadPlus 1 MonadZero 1; +PrelTup 1 :: $d13 1; +_exports_ +ShouldSucceed g AnnExpr Expr(Var App); +_instances_ +instance _forall_ [a] => {PrelBase.Eval (Expr a)} = $d1; +_declarations_ +1 $d1 _:_ _forall_ [a] => {PrelBase.Eval (Expr a)} ;; +1 type AnnExpr a = (a, Expr a) ; +1 data Expr a = Var [PrelBase.Char] | App (AnnExpr a) (AnnExpr a) ; +1 g _:_ _forall_ [ta] => (ta, Expr ta) -> [[PrelBase.Char]] ;; diff --git a/ghc/tests/typecheck/should_compile/tc036.stderr b/ghc/tests/typecheck/should_compile/tc036.stderr new file mode 100644 index 0000000..f7d8d4b --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc036.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +scsel_APrelBaseEq{-aAP,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op1{-r3g,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [taAO] [d.A_aAN] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d16 1 $d33 1 $d8 1 $m/= 1 Eq 1; +PrelNum 1 :: $d18 1; +_exports_ +ShouldSucceed A(op1); +_declarations_ +1 class {PrelBase.Eq a} => A a where {op1 :: a -> a} ; diff --git a/ghc/tests/typecheck/should_compile/tc037.hi b/ghc/tests/typecheck/should_compile/tc037.hi deleted file mode 100644 index 026e6c2..0000000 --- a/ghc/tests/typecheck/should_compile/tc037.hi +++ /dev/null @@ -1,6 +0,0 @@ -interface ShouldSucceed where { -class Eq' a where { - deq :: a -> a -> Bool - }; -instance (Eq' a) => Eq' [a] {-# FROMMODULE ShouldSucceed #-} -} diff --git a/ghc/tests/typecheck/should_compile/tc037.stderr b/ghc/tests/typecheck/should_compile/tc037.stderr new file mode 100644 index 0000000..61a9612 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc037.stderr @@ -0,0 +1,32 @@ + + +================================================================================ +Typechecked: +AbsBinds [takZ] [d.Eq'_alo] [([takZ], $d1{-rlx,x-}, d.Eq'_akS)] + d.Eq'_alr = d.Eq'_alo + deq_aly = deq{-r3u,x-} takZ d.Eq'_alr + deq_alz = deq_alA + AbsBinds [] [] [([], deq_alA, deq_akW)] + deq_akW PrelBase.[]{-5i,w-}{i} PrelBase.[]{-5i,w-}{i} + = PrelBase.True{-5E,w-}{i} + deq_akW (x_r3k PrelBase.:{-55,w-}{i} xs_r3l) + (y_r3m PrelBase.:{-55,w-}{i} ys_r3n) + = if x_r3k deq_aly y_r3m then + deq_alz xs_r3l ys_r3n + else + PrelBase.False{-58,w-}{i} + deq_akW other1_r3p other2_r3q = PrelBase.False{-58,w-}{i} + d.Eq'_akS = ({-dict-} [] [deq_alA]) +deq{-r3u,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [talw] [d.Eq'_alv] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed Eq'(deq); +_instances_ +instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d1; +_declarations_ +1 $d1 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; +1 class Eq' a where {deq :: a -> a -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc038.stderr b/ghc/tests/typecheck/should_compile/tc038.stderr new file mode 100644 index 0000000..22d0fa4 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc038.stderr @@ -0,0 +1,24 @@ + + +================================================================================ +Typechecked: +AbsBinds [taC6] [d.Num_aCa] [([taC6], f{-r3f,x-}, f_aBN)] + d.Eq_aC8 = PrelBase.scsel_NumPrelBaseEq{-aCd,p-} taC6 d.Num_aCa + ==_aCb = PrelBase.=={-8Y,p-} taC6 d.Eq_aC8 + fromInteger_aCc = PrelBase.fromInteger{-8S,p-} taC6 d.Num_aCa + f_aBN (x_r3d PrelBase.:{-55,w-}{i} xs_r3e) + = if x_r3d ==_aCb (fromInteger_aCc 2) then + xs_r3e + else + PrelBase.[]{-5i,w-}{i} taC6 +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ _forall_ [ta] {PrelBase.Num ta} => [ta] -> [ta] ;; diff --git a/ghc/tests/typecheck/should_compile/tc039.hs b/ghc/tests/typecheck/should_compile/tc039.hs index 0e5bd95..05b8784 100644 --- a/ghc/tests/typecheck/should_compile/tc039.hs +++ b/ghc/tests/typecheck/should_compile/tc039.hs @@ -1,4 +1,4 @@ -module ShouldSucc where +module ShouldSucceed where class (Eq a) => A a where op1 :: a -> a diff --git a/ghc/tests/typecheck/should_compile/tc039.stderr b/ghc/tests/typecheck/should_compile/tc039.stderr new file mode 100644 index 0000000..f7d8d4b --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc039.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +scsel_APrelBaseEq{-aAP,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op1{-r3g,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [taAO] [d.A_aAN] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d16 1 $d33 1 $d8 1 $m/= 1 Eq 1; +PrelNum 1 :: $d18 1; +_exports_ +ShouldSucceed A(op1); +_declarations_ +1 class {PrelBase.Eq a} => A a where {op1 :: a -> a} ; diff --git a/ghc/tests/typecheck/should_compile/tc040.hi b/ghc/tests/typecheck/should_compile/tc040.hi deleted file mode 100644 index 41d1ee5..0000000 --- a/ghc/tests/typecheck/should_compile/tc040.hi +++ /dev/null @@ -1,4 +0,0 @@ -interface ShouldSucceed where { -import PreludeCore(Eq) -f :: Eq a => a -> [a] -} diff --git a/ghc/tests/typecheck/should_compile/tc040.stderr b/ghc/tests/typecheck/should_compile/tc040.stderr new file mode 100644 index 0000000..054a10b --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc040.stderr @@ -0,0 +1,30 @@ + + +================================================================================ +Typechecked: +AbsBinds [taAV] [d.Eq_aBd] [([taAV], f{-r3e,x-}, f_aAS)] + d.Eq_aBf = d.Eq_aBd + ==_aBg = PrelBase.=={-8Y,p-} taAV d.Eq_aBf + f_aAS x_r3g + = g_r3i x_r3g + where + {- nonrec -} + AbsBinds [] [] [([], g_r3i, g_aAX)] + g_aAX y_r3k + = if y_r3k ==_aBg x_r3g then + PrelBase.[]{-5i,w-}{i} taAV + else + [y_r3k] (taAV) + {- nonrec -} + {- nonrec -} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d16 1 $d28 1 $d33 1 $d8 1 $m/= 1 Eq 1; +PrelNum 1 :: $d18 1; +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ _forall_ [ta] {PrelBase.Eq ta} => ta -> [ta] ;; diff --git a/ghc/tests/typecheck/should_compile/tc041.stderr b/ghc/tests/typecheck/should_compile/tc041.stderr new file mode 100644 index 0000000..e0e415f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc041.stderr @@ -0,0 +1,26 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], f{-r1,x-}, f_akM)] + f_akM x_r3h y_r3i = op1_ald x_r3h x_r3h +AbsBinds [] [] [([], $d1{-rlc,x-}, d.H_akY)] + AbsBinds [] [] [([], op1_ale, op1_al2)] + op1_al2 x_r3n y_r3o = y_r3o + d.H_akY = ({-dict-} [] [op1_ale]) +op1{-r3t,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [talb] [d.H_al8] [] +d.H_ala = $d1{-rlc,x-} +op1_ald = op1{-r3t,x-} PrelBase.Bool{-34,W-} d.H_ala +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f H(op1); +_instances_ +instance {H PrelBase.Bool} = $d1; +_declarations_ +1 $d1 _:_ {H PrelBase.Bool} ;; +1 class H a where {op1 :: a -> a -> a} ; +1 f _:_ PrelBase.Bool -> PrelBase.Int -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc042.stderr b/ghc/tests/typecheck/should_compile/tc042.stderr new file mode 100644 index 0000000..6af74cd --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc042.stderr @@ -0,0 +1,137 @@ + + +================================================================================ +Typechecked: +Leaf{-rx,x-}{i} = + _/\_ t_tr5p -> \ tpl_B1 -> Leaf{-rx,x-}{i} {_@_ t_tr5p tpl_B1} +Node{-rw,x-}{i} = + _/\_ t_tr5p -> \ tpl_B1 tpl_B2 -> + Node{-rw,x-}{i} {_@_ t_tr5p tpl_B1 tpl_B2} +Zero{-rv,x-}{i} = Zero{-rv,x-}{i} {} +Succ{-ru,x-}{i} = \ tpl_B1 -> Succ{-ru,x-}{i} {tpl_B1} +Nil{-rt,x-}{i} = _/\_ alpha_tr5s -> Nil{-rt,x-}{i} {_@_ alpha_tr5s} +Cons{-rs,x-}{i} = + _/\_ alpha_tr5s -> \ tpl_B1 tpl_B2 -> + Cons{-rs,x-}{i} {_@_ alpha_tr5s tpl_B1 tpl_B2} +Mkpair{-r5B,x-}{i} = + _/\_ a_tr5u b_tr5v -> \ tpl_B1 tpl_B2 -> + Mkpair{-r5B,x-}{i} {_@_ a_tr5u _@_ b_tr5v tpl_B1 tpl_B2} +FF{-rr,x-}{i} = FF{-rr,x-}{i} {} +TT{-rq,x-}{i} = TT{-rq,x-}{i} {} +AbsBinds [] [] [([], before{-r4a,x-}, before_aDu)] + before_aDu xs_r4W + = case xs_r4W of + Nil{-rt,x-}{i} -> Nil{-rt,x-}{i} Nat{-r5x,x-} + (Cons{-rs,x-}{i} y_r4Z ys_r50) + -> case y_r4Z of + Zero{-rv,x-}{i} -> Nil{-rt,x-}{i} Nat{-r5x,x-} + (Succ{-ru,x-}{i} n_r53) + -> Cons{-rs,x-}{i} Nat{-r5x,x-} y_r4Z before{-r4a,x-} ys_r50 +AbsBinds [taDR] [] [([taDR], lEngth{-r49,x-}, lEngth_aDO)] + lEngth_aDO xs_r4Q + = case xs_r4Q of + Nil{-rt,x-}{i} -> Zero{-rv,x-}{i} + (Cons{-rs,x-}{i} y_r4T ys_r4U) + -> Succ{-ru,x-}{i} lEngth{-r49,x-} taDR ys_r4U +AbsBinds [taEe] [] [([taEe], app{-r48,x-}, app_aEb)] + app_aEb xs_r4J zs_r4K + = case xs_r4J of + Nil{-rt,x-}{i} -> zs_r4K + (Cons{-rs,x-}{i} y_r4N ys_r4O) + -> Cons{-rs,x-}{i} taEe y_r4N app{-r48,x-} taEe ys_r4O zs_r4K +AbsBinds [taEE] [] [([taEE], rEverse{-r4b,x-}, rEverse_aEB)] + rEverse_aEB rs_r55 + = case rs_r55 of + Nil{-rt,x-}{i} -> Nil{-rt,x-}{i} taEE + (Cons{-rs,x-}{i} y_r58 ys_r59) + -> app{-r48,x-} taEE rEverse{-r4b,x-} taEE ys_r59 + Cons{-rs,x-}{i} taEE y_r58 Nil{-rt,x-}{i} taEE +AbsBinds [taF8] [] [([taF8], flatten{-r4c,x-}, flatten_aF5)] + flatten_aF5 t_r5b + = case t_r5b of + (Leaf{-rx,x-}{i} x_r5d) + -> Cons{-rs,x-}{i} taF8 x_r5d Nil{-rt,x-}{i} taF8 + (Node{-rw,x-}{i} l_r5f r_r5g) + -> app{-r48,x-} taF8 flatten{-r4c,x-} taF8 l_r5f + flatten{-r4c,x-} taF8 r_r5g +AbsBinds [] [] [([], add{-r47,x-}, add_aFx)] + add_aFx a_r4D b_r4E + = case a_r4D of + Zero{-rv,x-}{i} -> b_r4E + (Succ{-ru,x-}{i} c_r4H) -> Succ{-ru,x-}{i} add{-r47,x-} c_r4H b_r4E +AbsBinds [] [] [([], sUm{-r4d,x-}, sUm_aFF)] + sUm_aFF t_r5i + = case t_r5i of + (Leaf{-rx,x-}{i} t_r5k) -> t_r5k + (Node{-rw,x-}{i} l_r5m r_r5n) + -> add{-r47,x-} sUm{-r4d,x-} l_r5m sUm{-r4d,x-} r_r5n +AbsBinds [taG1] [] [([taG1], idl{-r46,x-}, idl_aFY)] + idl_aFY xs_r4x + = case xs_r4x of + Nil{-rt,x-}{i} -> Nil{-rt,x-}{i} taG1 + (Cons{-rs,x-}{i} y_r4A ys_r4B) + -> Cons{-rs,x-}{i} taG1 y_r4A idl{-r46,x-} taG1 ys_r4B +AbsBinds [taGq] [] [([taGq], nUll{-r45,x-}, nUll_aGn)] + nUll_aGn l_r4r + = case l_r4r of + Nil{-rt,x-}{i} -> TT{-rq,x-}{i} + (Cons{-rs,x-}{i} y_r4u ys_r4v) -> FF{-rr,x-}{i} +AbsBinds [] [] [([], neg{-r44,x-}, neg_aGD)] + neg_aGD b_r4n + = case b_r4n of + FF{-rr,x-}{i} -> TT{-rq,x-}{i} + TT{-rq,x-}{i} -> FF{-rr,x-}{i} +AbsBinds [taGR, taGS] [] [([taGS, taGR], swap{-r43,x-}, swap_aGO)] + swap_aGO t_r4i + = case t_r4i of + (Mkpair{-r5B,x-}{i} x_r4k y_r4l) + -> Mkpair{-r5B,x-}{i} [taGS, taGR] y_r4l x_r4k +AbsBinds [] [] [([], idb{-r42,x-}, idb_aH9)] + idb_aH9 x_r4g = x_r4g +AbsBinds [taHF] [] [([taHF], $d1{-rHL,x-}, d.Eval_aHh)] + d.Eval_aHh = ({-dict-} [] []) +AbsBinds [] [] [([], $d2{-rHN,x-}, d.Eval_aHm)] + d.Eval_aHm = ({-dict-} [] []) +AbsBinds [taHG] [] [([taHG], $d3{-rHP,x-}, d.Eval_aHs)] + d.Eval_aHs = ({-dict-} [] []) +AbsBinds [taHH, taHI] [] [([taHH, taHI], $d4{-rHR,x-}, d.Eval_aHz)] + d.Eval_aHz = ({-dict-} [] []) +AbsBinds [] [] [([], $d5{-rHT,x-}, d.Eval_aHE)] + d.Eval_aHE = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1; +_exports_ +ShouldSucceed add app before flatten idb idl lEngth nUll neg rEverse sUm swap Boolean(FF TT) List(Nil Cons) Nat(Zero Succ) Pair(Mkpair) Tree(Leaf Node); +_instances_ +instance _forall_ [t] => {PrelBase.Eval (Tree t)} = $d1; +instance {PrelBase.Eval Nat} = $d2; +instance _forall_ [alpha] => {PrelBase.Eval (List alpha)} = $d3; +instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $d4; +instance {PrelBase.Eval Boolean} = $d5; +_declarations_ +1 $d1 _:_ _forall_ [t] => {PrelBase.Eval (Tree t)} ;; +1 $d2 _:_ {PrelBase.Eval Nat} ;; +1 $d3 _:_ _forall_ [alpha] => {PrelBase.Eval (List alpha)} ;; +1 $d4 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;; +1 $d5 _:_ {PrelBase.Eval Boolean} ;; +1 data Boolean = FF | TT ; +1 data List alpha = Nil | Cons alpha (List alpha) ; +1 data Nat = Zero | Succ Nat ; +1 data Pair a b = Mkpair a b ; +1 data Tree t = Leaf t | Node (Tree t) (Tree t) ; +1 add _:_ Nat -> Nat -> Nat ;; +1 app _:_ _forall_ [ta] => List ta -> List ta -> List ta ;; +1 before _:_ List Nat -> List Nat ;; +1 flatten _:_ _forall_ [ta] => Tree ta -> List ta ;; +1 idb _:_ Boolean -> Boolean ;; +1 idl _:_ _forall_ [ta] => List ta -> List ta ;; +1 lEngth _:_ _forall_ [ta] => List ta -> Nat ;; +1 nUll _:_ _forall_ [ta] => List ta -> Boolean ;; +1 neg _:_ Boolean -> Boolean ;; +1 rEverse _:_ _forall_ [ta] => List ta -> List ta ;; +1 sUm _:_ Tree Nat -> Nat ;; +1 swap _:_ _forall_ [ta tb] => Pair tb ta -> Pair ta tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc043.stderr b/ghc/tests/typecheck/should_compile/tc043.stderr new file mode 100644 index 0000000..fc2e717 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc043.stderr @@ -0,0 +1,43 @@ + + +================================================================================ +Typechecked: +AbsBinds [taCy, taCu] [d.A_aCA] [([taCy, taCu], f{-r3B,x-}, f_aCm)] + op1_aDr = op1{-r3D,x-} taCu d.A_aCA + f_aCm x_r3h = op1_aDr +AbsBinds [taCN] [d.B_aD3] [([taCN], $d1{-rDs,x-}, d.B_aCG)] + op2_aDw = op2_aDx + AbsBinds [] [] [([], op2_aDx, op2_aCK)] + op2_aCK PrelBase.[]{-5i,w-}{i} = PrelBase.I#{-5b,w-}{i} 0# + op2_aCK (x_r3p PrelBase.:{-55,w-}{i} xs_r3q) + = lit_aDv +_aDu (op2_aDw xs_r3q) + d.B_aCG = ({-dict-} [] [op2_aDx]) +AbsBinds [] [] [([], $d2{-rDt,x-}, d.A_aDb)] + AbsBinds [] [] [([], op1_aDy, op1_aDf)] + op1_aDf = PrelBase.I#{-5b,w-}{i} 2# + d.A_aDb = ({-dict-} [] [op1_aDy]) +op2{-r3E,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDp] [d.B_aDj] [] +op1{-r3D,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDq] [d.A_aDm] [] +d.Num_aDo = PrelBase.$d4{-raQ,p-} ++_aDu = PrelBase.+{-rfF,p-} PrelBase.Int{-3g,W-} d.Num_aDo +lit_aDv = PrelBase.I#{-5b,w-}{i} 1# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f A(op1) B(op2); +_instances_ +instance _forall_ [a] {B a} => {B [a]} = $d1; +instance {A PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] {B a} => {B [a]} ;; +1 $d2 _:_ {A PrelBase.Int} ;; +1 class A a where {op1 :: a} ; +1 class B b where {op2 :: b -> PrelBase.Int} ; +1 f _:_ _forall_ [ta tb] {A tb} => ta -> tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc044.hs b/ghc/tests/typecheck/should_compile/tc044.hs index 9f98989..84c91d1 100644 --- a/ghc/tests/typecheck/should_compile/tc044.hs +++ b/ghc/tests/typecheck/should_compile/tc044.hs @@ -1,6 +1,6 @@ -- once produced a bug, here as regression test -module P where +module ShouldSucceed where f _ | otherwise = () diff --git a/ghc/tests/typecheck/should_compile/tc044.stderr b/ghc/tests/typecheck/should_compile/tc044.stderr new file mode 100644 index 0000000..6ee2d5c --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc044.stderr @@ -0,0 +1,16 @@ + + +================================================================================ +Typechecked: +AbsBinds [tar6] [] [([tar6], f{-r1,x-}, f_aqX)] + f_aqX _ | PrelBase.otherwise{-818,p-} = PrelBase.(){-60,w-}{i} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: otherwise 1; +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ _forall_ [ta] => ta -> PrelBase.() ;; diff --git a/ghc/tests/typecheck/should_compile/tc045.hs b/ghc/tests/typecheck/should_compile/tc045.hs index fc6a72e..4ff3766 100644 --- a/ghc/tests/typecheck/should_compile/tc045.hs +++ b/ghc/tests/typecheck/should_compile/tc045.hs @@ -1,4 +1,4 @@ -module H where +module ShouldSucceed where class C a where op1 :: a -> a diff --git a/ghc/tests/typecheck/should_compile/tc045.stderr b/ghc/tests/typecheck/should_compile/tc045.stderr new file mode 100644 index 0000000..879c889 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc045.stderr @@ -0,0 +1,39 @@ + + +================================================================================ +Typechecked: +AbsBinds [tald] [] [([tald], $d1{-rlI,x-}, d.C_al6)] + AbsBinds [] [] [([], op1_alJ, op1_ala)] + op1_ala xs_r3k = xs_r3k + d.C_al6 = ({-dict-} [] [op1_alJ]) +AbsBinds +[talr] +[d.B_alv, d.C_alw] +[([talr], $d2{-rlK,x-}, d.B_alk)] + d.C_alu = d.C_alw + AbsBinds [] [] [([], op2_alM, op2_alo)] + op2_alo xs_r3s ys_r3t = xs_r3s + d.B_alk = ({-dict-} [d.C_alu] [op2_alM]) +scsel_BShouldSucceedC{-alL,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op2{-r3C,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [talG] [d.B_alC] [] +op1{-r3B,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [talH] [d.C_alF] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed B(op2) C(op1); +_instances_ +instance _forall_ [a] => {C [a]} = $d1; +instance _forall_ [a] {B a} => {B [a]} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] => {C [a]} ;; +1 $d2 _:_ _forall_ [a] {B a, C [a]} => {B [a]} ;; +1 class {C a} => B a where {op2 :: a -> a -> a} ; +1 class C a where {op1 :: a -> a} ; diff --git a/ghc/tests/typecheck/should_compile/tc046.hs b/ghc/tests/typecheck/should_compile/tc046.hs index dbbf3a1..c1ae30c 100644 --- a/ghc/tests/typecheck/should_compile/tc046.hs +++ b/ghc/tests/typecheck/should_compile/tc046.hs @@ -1,4 +1,4 @@ -module H where +module ShouldSucceed where class C a where op1 :: a -> a diff --git a/ghc/tests/typecheck/should_compile/tc046.stderr b/ghc/tests/typecheck/should_compile/tc046.stderr new file mode 100644 index 0000000..18c2be9 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc046.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +scsel_BShouldSucceedC{-akS,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op2{-r3n,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [takQ] [d.B_akM] [] +op1{-r3m,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [takR] [d.C_akP] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed B(op2) C(op1); +_declarations_ +1 class {C a} => B a where {op2 :: a -> a -> a} ; +1 class C a where {op1 :: a -> a} ; diff --git a/ghc/tests/typecheck/should_compile/tc047.stderr b/ghc/tests/typecheck/should_compile/tc047.stderr new file mode 100644 index 0000000..756d497 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc047.stderr @@ -0,0 +1,34 @@ + + +================================================================================ +Typechecked: +AbsBinds [tayV, tayY] [] [([tayV, tayY], sd{-r3w,x-}, sd_ayO)] + sd_ayO (f_r3s, s_r3t) = s_r3t +AbsBinds [tazn, tazr] [] [([tazn, tazr], mp{-r3x,x-}, mp_az3)] + mp_az3 f_r3m PrelBase.[]{-5i,w-}{i} = PrelBase.[]{-5i,w-}{i} tazr + mp_az3 f_r3o (x_r3p PrelBase.:{-55,w-}{i} xs_r3q) + = PrelBase.:{-55,w-}{i} tazr (f_r3o x_r3p) (mp_az3 f_r3o xs_r3q) +AbsBinds +[taA2, tazZ, taA0] +[] +[([taA2, tazZ, taA0], f{-r3y,x-}, f_azx)] + f_azx x_r3g + = ranOAL_r3i [taA0, tazZ] + where + {- nonrec -} + AbsBinds [tazP, tazS] [] [([tazP, tazS], ranOAL_r3i, ranOAL_azF)] + ranOAL_azF xs_r3k + = mp{-r3x,x-} [(tazS, tazP), tazP] sd{-r3w,x-} [tazS, tazP] xs_r3k + {- nonrec -} + {- nonrec -} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f mp sd OL; +_declarations_ +1 type OL a = [a] ; +1 f _:_ _forall_ [ta tb tc] => ta -> [(tb, tc)] -> [tc] ;; +1 mp _:_ _forall_ [ta tb] => (ta -> tb) -> [ta] -> [tb] ;; +1 sd _:_ _forall_ [ta tb] => (ta, tb) -> tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc048.stderr b/ghc/tests/typecheck/should_compile/tc048.stderr new file mode 100644 index 0000000..d4227e7 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc048.stderr @@ -0,0 +1,64 @@ + + +================================================================================ +Typechecked: +MkAFE{-r3X,x-}{i} = + _/\_ n_tr3K a_tr3L b_tr3M -> \ tpl_B1 -> + MkAFE{-r3X,x-}{i} {_@_ n_tr3K _@_ a_tr3L _@_ b_tr3M tpl_B1} +MkFG{-r3W,x-}{i} = + _/\_ a_tr3O b_tr3P -> \ tpl_B1 -> + MkFG{-r3W,x-}{i} {_@_ a_tr3O _@_ b_tr3P tpl_B1} +MkOL{-r3V,x-}{i} = + _/\_ a_tr3R -> \ tpl_B1 -> MkOL{-r3V,x-}{i} {_@_ a_tr3R tpl_B1} +AbsBinds [taR8, taRb] [] [([taR8, taRb], sNd{-r3v,x-}, sNd_aR1)] + sNd_aR1 (f_r3F, s_r3G) = s_r3G +AbsBinds [taRA, taRE] [] [([taRA, taRE], mAp{-r3u,x-}, mAp_aRg)] + mAp_aRg f_r3z PrelBase.[]{-5i,w-}{i} = PrelBase.[]{-5i,w-}{i} taRE + mAp_aRg f_r3B (x_r3C PrelBase.:{-55,w-}{i} xs_r3D) + = PrelBase.:{-55,w-}{i} taRE (f_r3B x_r3C) (mAp_aRg f_r3B xs_r3D) +AbsBinds +[taRU, taRV] +[] +[([taRU, taRV], ranOAL{-r3s,x-}, ranOAL_aRP)] + ranOAL_aRP (MkOL{-r3V,x-}{i} xs_r3x) + = mAp{-r3u,x-} [(taRU, taRV), taRV] sNd{-r3v,x-} [taRU, taRV] + xs_r3x +AbsBinds +[taSn, taSo, taSp] +[] +[([taSn, taSo, taSp], ranAFE{-r3t,x-}, ranAFE_aSe)] + ranAFE_aSe (MkAFE{-r3X,x-}{i} nfs_r3I) + = ranOAL{-r3s,x-} [taSn, FG{-r3T,x-} taSo taSp] nfs_r3I +AbsBinds +[taSQ, taSR, taSS] +[] +[([taSQ, taSR, taSS], $d1{-rSY,x-}, d.Eval_aSC)] + d.Eval_aSC = ({-dict-} [] []) +AbsBinds [taST, taSU] [] [([taST, taSU], $d2{-rT0,x-}, d.Eval_aSJ)] + d.Eval_aSJ = ({-dict-} [] []) +AbsBinds [taSV] [] [([taSV], $d3{-rT2,x-}, d.Eval_aSP)] + d.Eval_aSP = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d45 1 $d47 1 Eval 1; +PrelTup 1 :: $d13 1; +_exports_ +ShouldSucceed mAp ranAFE ranOAL sNd AFE(MkAFE) FG(MkFG) OL(MkOL); +_instances_ +instance _forall_ [n a b] => {PrelBase.Eval (AFE n a b)} = $d1; +instance _forall_ [a b] => {PrelBase.Eval (FG a b)} = $d2; +instance _forall_ [a] => {PrelBase.Eval (OL a)} = $d3; +_declarations_ +1 $d1 _:_ _forall_ [n a b] => {PrelBase.Eval (AFE n a b)} ;; +1 $d2 _:_ _forall_ [a b] => {PrelBase.Eval (FG a b)} ;; +1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (OL a)} ;; +1 data AFE n a b = MkAFE (OL (n, FG a b)) ; +1 data FG a b = MkFG (OL (a, b)) ; +1 data OL a = MkOL [a] ; +1 mAp _:_ _forall_ [ta tb] => (ta -> tb) -> [ta] -> [tb] ;; +1 ranAFE _:_ _forall_ [ta tb tc] => AFE ta tb tc -> [FG tb tc] ;; +1 ranOAL _:_ _forall_ [ta tb] => OL (ta, tb) -> [tb] ;; +1 sNd _:_ _forall_ [ta tb] => (ta, tb) -> tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc049.stderr b/ghc/tests/typecheck/should_compile/tc049.stderr new file mode 100644 index 0000000..7c87764 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc049.stderr @@ -0,0 +1,129 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], main3{-r3W,x-}, main3_aSS)] + main3_aSS + = [[lit_aXD] (PrelBase.Int{-3g,W-}), + [lit_aXE] (PrelBase.Int{-3g,W-})] ([PrelBase.Int{-3g,W-}]) + ==_aXC [[lit_aXF] (PrelBase.Int{-3g,W-})] ([PrelBase.Int{-3g,W-}]) +AbsBinds [] [] [([], main2{-r3X,x-}, main2_aTq)] + main2_aTq = "Hello" ==_aXB "Goodbye" +AbsBinds [] [] [([], main1{-r3Y,x-}, main1_aTz)] + main1_aTz + = [[(lit_aXz, + PrelBase.True{-5E,w-}{i})] ((PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-}))] ([(PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-})]) + ==_aXy [[(lit_aXA, + PrelBase.False{-58,w-}{i})] ((PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-}))] ([(PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-})]) +AbsBinds +[taUG] +[d.Eq_aUY] +[([taUG], mem3{-r40,x-}, mem3_aUe), ([taUG], + mem4{-r3Z,x-}, + mem4_aUf)] + d.Eq_aUW = PrelBase.$d28{-rb4,p-} taUG d.Eq_aUY + ==_aXG = PrelBase.=={-8Y,p-} [taUG] d.Eq_aUW + mem3_aUe x_r3N PrelBase.[]{-5i,w-}{i} = PrelBase.False{-58,w-}{i} + mem3_aUe x_r3P (y_r3Q PrelBase.:{-55,w-}{i} ys_r3R) + = if [x_r3P] (taUG) ==_aXG [y_r3Q] (taUG) then + mem4_aUf x_r3P ys_r3R + else + PrelBase.False{-58,w-}{i} + mem4_aUf y_r3T (x_r3U PrelBase.:{-55,w-}{i} xs_r3V) + = mem3_aUe y_r3T xs_r3V +AbsBinds [] [] [([], oR1{-r42,x-}, oR1_aV0)] + oR1_aV0 a_r3E b_r3F + = if a_r3E then PrelBase.True{-5E,w-}{i} else b_r3F +AbsBinds [] [] [([], oR{-r44,x-}, oR_aVe)] + oR_aVe a_r3v b_r3w + = if a_r3v then PrelBase.True{-5E,w-}{i} else b_r3w +AbsBinds +[taWa] +[d.Eq_aWd] +[([taWa], mem2{-r41,x-}, mem2_aVs), ([taWa], + mem1{-r43,x-}, + mem1_aVt)] + ==_aXH = PrelBase.=={-8Y,p-} taWa d.Eq_aWd + ==_aXI = ==_aXH + mem2_aVs x_r3H PrelBase.[]{-5i,w-}{i} = PrelBase.False{-58,w-}{i} + mem2_aVs x_r3J (y_r3K PrelBase.:{-55,w-}{i} ys_r3L) + = (x_r3J ==_aXH y_r3K) oR{-r44,x-} (mem1_aVt x_r3J ys_r3L) + mem1_aVt x_r3y PrelBase.[]{-5i,w-}{i} = PrelBase.False{-58,w-}{i} + mem1_aVt x_r3A (y_r3B PrelBase.:{-55,w-}{i} ys_r3C) + = (x_r3A ==_aXI y_r3B) oR1{-r42,x-} (mem2_aVs x_r3A ys_r3C) +AbsBinds [taWA] [d.Eq_aWD] [([taWA], mem{-r45,x-}, mem_aWf)] + ==_aXJ = PrelBase.=={-8Y,p-} taWA d.Eq_aWD + mem_aWf x_r3p PrelBase.[]{-5i,w-}{i} = PrelBase.False{-58,w-}{i} + mem_aWf x_r3r (y_r3s PrelBase.:{-55,w-}{i} ys_r3t) + = (x_r3r ==_aXJ y_r3s) oR{-r44,x-} (mem_aWf x_r3r ys_r3t) +AbsBinds +[taWZ] +[d.Ord_aX3, d.Num_aX6] +[([taWZ], fib{-r46,x-}, fib_aWF)] + <=_aXK = PrelBase.<={-rgd,p-} taWZ d.Ord_aX3 + fromInt_aXL = PrelBase.fromInt{-8R,p-} taWZ d.Num_aX6 + lit_aXM = fromInt_aXL PrelBase.I#{-5b,w-}{i} 2# + d.Num_aX8 = d.Num_aX6 + +_aXN = PrelBase.+{-rg6,p-} taWZ d.Num_aX8 + d.Num_aXa = d.Num_aX6 + -_aXO = PrelBase.-{-817,p-} taWZ d.Num_aXa + fromInt_aXP = fromInt_aXL + lit_aXQ = fromInt_aXP PrelBase.I#{-5b,w-}{i} 1# + -_aXR = -_aXO + lit_aXS = lit_aXM + fib_aWF n_r3n + = if n_r3n <=_aXK lit_aXM then + n_r3n + else + (fib_aWF n_r3n -_aXO lit_aXQ) +_aXN (fib_aWF n_r3n -_aXR lit_aXS) +d.Eq_aXj = PrelBase.$d8{-rbE,p-} +d.Eq_aXk = PrelBase.$d33{-rba,p-} +d.Eq_aXh = + PrelTup.$d9{-rwm,p-} [PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-}] + [d.Eq_aXj, d.Eq_aXk] +d.Eq_aXf = + PrelBase.$d28{-rb4,p-} + (PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-}) + d.Eq_aXh +d.Eq_aXd = + PrelBase.$d28{-rb4,p-} + [(PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-})] + d.Eq_aXf +==_aXy = + PrelBase.=={-8Y,p-} + [[(PrelBase.Int{-3g,W-}, PrelBase.Bool{-34,W-})]] + d.Eq_aXd +lit_aXz = PrelBase.I#{-5b,w-}{i} 1# +lit_aXA = PrelBase.I#{-5b,w-}{i} 2# +d.Eq_aXq = PrelBase.$d34{-rbb,p-} +d.Eq_aXo = PrelBase.$d28{-rb4,p-} PrelBase.Char{-38,W-} d.Eq_aXq +==_aXB = PrelBase.=={-8Y,p-} [PrelBase.Char{-38,W-}] d.Eq_aXo +d.Eq_aXx = d.Eq_aXj +d.Eq_aXv = PrelBase.$d28{-rb4,p-} PrelBase.Int{-3g,W-} d.Eq_aXx +d.Eq_aXt = PrelBase.$d28{-rb4,p-} [PrelBase.Int{-3g,W-}] d.Eq_aXv +==_aXC = PrelBase.=={-8Y,p-} [[PrelBase.Int{-3g,W-}]] d.Eq_aXt +lit_aXD = lit_aXz +lit_aXE = lit_aXA +lit_aXF = PrelBase.I#{-5b,w-}{i} 3# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d17 1 $d18 1 $d29 1 $d33 1 $d34 1 $d35 1; +PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1; +_exports_ +ShouldSucceed fib main1 main2 main3 mem mem1 mem2 mem3 mem4 oR oR1; +_declarations_ +1 fib _:_ _forall_ [ta] {PrelBase.Ord ta, PrelBase.Num ta} => ta -> ta ;; +1 main1 _:_ PrelBase.Bool ;; +1 main2 _:_ PrelBase.Bool ;; +1 main3 _:_ PrelBase.Bool ;; +1 mem _:_ _forall_ [ta] {PrelBase.Eq ta} => ta -> [ta] -> PrelBase.Bool ;; +1 mem1 _:_ _forall_ [ta] {PrelBase.Eq ta} => ta -> [ta] -> PrelBase.Bool ;; +1 mem2 _:_ _forall_ [ta] {PrelBase.Eq ta} => ta -> [ta] -> PrelBase.Bool ;; +1 mem3 _:_ _forall_ [ta] {PrelBase.Eq ta} => ta -> [ta] -> PrelBase.Bool ;; +1 mem4 _:_ _forall_ [ta] {PrelBase.Eq ta} => ta -> [ta] -> PrelBase.Bool ;; +1 oR _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;; +1 oR1 _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc050.stderr b/ghc/tests/typecheck/should_compile/tc050.stderr new file mode 100644 index 0000000..e5f1f50 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc050.stderr @@ -0,0 +1,60 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taCD, taCz] +[d.Foo_aCF, d.Num_aCI] +[([taCD, taCz], g{-r3F,x-}, g_aCl)] + o_and_aDR = o_and{-r3I,x-} taCz d.Foo_aCF + fromInt_aDY = PrelBase.fromInt{-8R,p-} taCz d.Num_aCI + lit_aDZ = fromInt_aDY PrelBase.I#{-5b,w-}{i} 1# + g_aCl x_r3j y_r3k = o_and_aDR x_r3j lit_aDZ +AbsBinds [taD1] [] [([taD1], f{-r3G,x-}, f_aCK)] + f_aCK x_r3g y_r3h = o_and_aDU x_r3g PrelBase.False{-58,w-}{i} +AbsBinds [] [] [([], $d1{-rDS,x-}, d.Foo_aD8)] + AbsBinds [] [] [([], o_and_aE0, o_and_aDc)] + lit_aE1 = lit_aDV + ==_aE2 = ==_aDW + ==_aE3 = ==_aDW + lit_aE4 = lit_aDX + ==_aE5 = ==_aDW + o_and_aDc x_r3p 0 = PrelBase.I#{-5b,w-}{i} 0# + o_and_aDc 0 x_r3r = PrelBase.I#{-5b,w-}{i} 0# + o_and_aDc 1 1 = PrelBase.I#{-5b,w-}{i} 1# + d.Foo_aD8 = ({-dict-} [] [o_and_aE0]) +AbsBinds [] [] [([], $d2{-rDT,x-}, d.Foo_aDA)] + AbsBinds [] [] [([], o_and_aE6, o_and_aDE)] + o_and_aDE PrelBase.False{-58,w-}{i} x_r3y + = PrelBase.False{-58,w-}{i} + o_and_aDE x_r3A PrelBase.False{-58,w-}{i} + = PrelBase.False{-58,w-}{i} + o_and_aDE PrelBase.True{-5E,w-}{i} PrelBase.True{-5E,w-}{i} + = PrelBase.True{-5E,w-}{i} + d.Foo_aDA = ({-dict-} [] [o_and_aE6]) +o_and{-r3I,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDQ] [d.Foo_aDK] [] +d.Foo_aDM = $d2{-rDT,x-} +o_and_aDU = o_and{-r3I,x-} PrelBase.Bool{-34,W-} d.Foo_aDM +lit_aDV = PrelBase.I#{-5b,w-}{i} 0# +d.Eq_aDP = PrelBase.$d8{-rbh,p-} +==_aDW = PrelBase.=={-8Y,p-} PrelBase.Int{-3g,W-} d.Eq_aDP +lit_aDX = PrelBase.I#{-5b,w-}{i} 1# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f g Foo(o_and); +_instances_ +instance {Foo PrelBase.Int} = $d1; +instance {Foo PrelBase.Bool} = $d2; +_declarations_ +1 $d1 _:_ {Foo PrelBase.Int} ;; +1 $d2 _:_ {Foo PrelBase.Bool} ;; +1 class Foo a where {o_and :: a -> a -> a} ; +1 f _:_ _forall_ [ta] => PrelBase.Bool -> ta -> PrelBase.Bool ;; +1 g _:_ _forall_ [ta tb] {Foo tb, PrelBase.Num tb} => tb -> ta -> tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc051.stderr b/ghc/tests/typecheck/should_compile/tc051.stderr new file mode 100644 index 0000000..25ad280 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc051.stderr @@ -0,0 +1,42 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], $d1{-rlY,x-}, d.Ord'_alb)] + d.Eq'_alg = $d3{-rm0,x-} + AbsBinds [] [] [([], lt_am2, lt_alf)] + lt_alf x_r3j y_r3k = PrelBase.True{-5E,w-}{i} + d.Ord'_alb = ({-dict-} [d.Eq'_alg] [lt_am2]) +AbsBinds [taly] [d.Eq'_alB] [([taly], $d2{-rlZ,x-}, d.Eq'_alr)] + AbsBinds [] [] [([], doubleeq_am3, doubleeq_alv)] + doubleeq_alv x_r3s y_r3t = PrelBase.True{-5E,w-}{i} + d.Eq'_alr = ({-dict-} [] [doubleeq_am3]) +AbsBinds [] [] [([], $d3{-rm0,x-}, d.Eq'_alI)] + AbsBinds [] [] [([], doubleeq_am4, doubleeq_alM)] + doubleeq_alM x_r3z y_r3A = PrelBase.True{-5E,w-}{i} + d.Eq'_alI = ({-dict-} [] [doubleeq_am4]) +scsel_Ord'ShouldSucceedEq'{-am1,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +lt{-r3J,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [talW] [d.Ord'_alS] [] +doubleeq{-r3I,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [talX] [d.Eq'_alV] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed Eq'(doubleeq) Ord'(lt); +_instances_ +instance {Ord' PrelBase.Int} = $d1; +instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d2; +instance {Eq' PrelBase.Int} = $d3; +_declarations_ +1 $d1 _:_ {Ord' PrelBase.Int} ;; +1 $d2 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; +1 $d3 _:_ {Eq' PrelBase.Int} ;; +1 class Eq' a where {doubleeq :: a -> a -> PrelBase.Bool} ; +1 class {Eq' a} => Ord' a where {lt :: a -> a -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc052.stderr b/ghc/tests/typecheck/should_compile/tc052.stderr new file mode 100644 index 0000000..5f56597 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc052.stderr @@ -0,0 +1,15 @@ + + +================================================================================ +Typechecked: + +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed A B C; +_declarations_ +1 type A a = B a ; +1 type B c = C ; +1 type C = PrelBase.Int ; diff --git a/ghc/tests/typecheck/should_compile/tc053.stderr b/ghc/tests/typecheck/should_compile/tc053.stderr new file mode 100644 index 0000000..1746c5b --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc053.stderr @@ -0,0 +1,48 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taCq] +[d.Eq'_aCv, d.Num_aCy] +[([taCq], f{-r3A,x-}, f_aCf)] + d.Eq'_aCt = $d1{-rDn,x-} taCq d.Eq'_aCv + deq_aDp = deq{-r3B,x-} [taCq] d.Eq'_aCt + fromInt_aDq = PrelBase.fromInt{-8R,p-} taCq d.Num_aCy + lit_aDr = fromInt_aDq PrelBase.I#{-5b,w-}{i} 1# + f_aCf x_r3f = deq_aDp x_r3f [lit_aDr] (taCq) +AbsBinds [taCP] [d.Eq'_aD1] [([taCP], $d1{-rDn,x-}, d.Eq'_aCE)] + d.Eq'_aD5 = d.Eq'_aD1 + deq_aDs = deq{-r3B,x-} taCP d.Eq'_aD5 + deq_aDt = deq_aDu + AbsBinds [] [] [([], deq_aDu, deq_aCI)] + deq_aCI (a_r3m PrelBase.:{-55,w-}{i} as_r3n) + (b_r3o PrelBase.:{-55,w-}{i} bs_r3p) + = if deq_aDs a_r3m b_r3o then + deq_aDt as_r3n bs_r3p + else + PrelBase.False{-58,w-}{i} + d.Eq'_aCE = ({-dict-} [] [deq_aDu]) +AbsBinds [] [] [([], $d2{-rDo,x-}, d.Eq'_aDb)] + AbsBinds [] [] [([], deq_aDv, deq_aDf)] + deq_aDf x_r3v y_r3w = PrelBase.True{-5E,w-}{i} + d.Eq'_aDb = ({-dict-} [] [deq_aDv]) +deq{-r3B,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDm] [d.Eq'_aDl] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f Eq'(deq); +_instances_ +instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d1; +instance {Eq' PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; +1 $d2 _:_ {Eq' PrelBase.Int} ;; +1 class Eq' a where {deq :: a -> a -> PrelBase.Bool} ; +1 f _:_ _forall_ [ta] {Eq' ta, PrelBase.Num ta} => [ta] -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc054.stderr b/ghc/tests/typecheck/should_compile/tc054.stderr new file mode 100644 index 0000000..2924ab6 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc054.stderr @@ -0,0 +1,50 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taCH, taCC] +[d.Ord'_aCJ, d.Num_aCM] +[([taCH, taCC], f{-r3D,x-}, f_aCo)] + lt_aDm = lt{-r3G,x-} taCC d.Ord'_aCJ + fromInt_aDq = PrelBase.fromInt{-8R,p-} taCC d.Num_aCM + lit_aDr = fromInt_aDq PrelBase.I#{-5b,w-}{i} 1# + f_aCo x_r3h y_r3i + | lt_aDm x_r3h lit_aDr = PrelBase.True{-5E,w-}{i} + | PrelBase.otherwise{-818,p-} = PrelBase.False{-58,w-}{i} +AbsBinds [] [] [([], $d1{-rDn,x-}, d.Ord'_aCR)] + d.Eq'_aCW = $d2{-rDo,x-} + AbsBinds [] [] [([], lt_aDs, lt_aCV)] + lt_aCV x_r3n y_r3o = PrelBase.True{-5E,w-}{i} + d.Ord'_aCR = ({-dict-} [d.Eq'_aCW] [lt_aDs]) +AbsBinds [] [] [([], $d2{-rDo,x-}, d.Eq'_aD6)] + AbsBinds [] [] [([], doubleeq_aDt, doubleeq_aDa)] + doubleeq_aDa x_r3u y_r3v = PrelBase.True{-5E,w-}{i} + d.Eq'_aD6 = ({-dict-} [] [doubleeq_aDt]) +scsel_Ord'ShouldSucceedEq'{-aDp,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +lt{-r3G,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [taDk] [d.Ord'_aDg] [] +doubleeq{-r3F,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDl] [d.Eq'_aDj] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 otherwise 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f Eq'(doubleeq) Ord'(lt); +_instances_ +instance {Ord' PrelBase.Int} = $d1; +instance {Eq' PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ {Ord' PrelBase.Int} ;; +1 $d2 _:_ {Eq' PrelBase.Int} ;; +1 class Eq' a where {doubleeq :: a -> a -> PrelBase.Bool} ; +1 class {Eq' a} => Ord' a where {lt :: a -> a -> PrelBase.Bool} ; +1 f _:_ _forall_ [ta tb] {Ord' tb, PrelBase.Num tb} => tb -> ta -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc055.stderr b/ghc/tests/typecheck/should_compile/tc055.stderr new file mode 100644 index 0000000..15e0430 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc055.stderr @@ -0,0 +1,22 @@ + + +================================================================================ +Typechecked: +AbsBinds +[tayU, tayW] +[] +[([tayU, tayW], x{-r3i,x-}, x_ayt), ([tayU, tayW], + y{-r3h,x-}, + y_ayu)] + (x_ayt, y_ayu) = (\ p_r3e -> p_r3e, \ q_r3g -> q_r3g) + +NOTE: Simplifier still going after 4 iterations; bailing out. +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed x y; +_declarations_ +1 x _:_ _forall_ [ta tb] => ta -> ta ;; +1 y _:_ _forall_ [ta tb] => tb -> tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc056.stderr b/ghc/tests/typecheck/should_compile/tc056.stderr new file mode 100644 index 0000000..032b701 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc056.stderr @@ -0,0 +1,55 @@ + +tc056.hs:15:warning: + Duplicated class assertion `Eq' a' in context: `(Eq' a, Eq' a)' + + +================================================================================ +Typechecked: +AbsBinds +[taCJ, taCG] +[d.Eq'_aCN, d.Num_aCR] +[([taCJ, taCG], f{-r3E,x-}, f_aCq)] + d.Eq'_aCO = d.Eq'_aCN + d.Eq'_aCL = $d1{-rDw,x-} taCG [d.Eq'_aCN, d.Eq'_aCO] + doubleeq_aDz = doubleeq{-r3G,x-} [taCG] d.Eq'_aCL + fromInt_aDA = PrelBase.fromInt{-8R,p-} taCG d.Num_aCR + lit_aDB = fromInt_aDA PrelBase.I#{-5b,w-}{i} 1# + f_aCq x_r3h y_r3i = doubleeq_aDz x_r3h [lit_aDB] (taCG) +AbsBinds +[taD4] +[d.Eq'_aD7, d.Eq'_aD8] +[([taD4], $d1{-rDw,x-}, d.Eq'_aCX)] + AbsBinds [] [] [([], doubleeq_aDC, doubleeq_aD1)] + doubleeq_aD1 x_r3p y_r3q = PrelBase.True{-5E,w-}{i} + d.Eq'_aCX = ({-dict-} [] [doubleeq_aDC]) +AbsBinds [] [] [([], $d2{-rDx,x-}, d.Eq'_aDg)] + AbsBinds [] [] [([], doubleeq_aDD, doubleeq_aDk)] + doubleeq_aDk x_r3w y_r3x = PrelBase.True{-5E,w-}{i} + d.Eq'_aDg = ({-dict-} [] [doubleeq_aDD]) +scsel_Ord'ShouldSucceedEq'{-aDy,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +lt{-r3H,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [taDu] [d.Ord'_aDq] [] +doubleeq{-r3G,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDv] [d.Eq'_aDt] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f Eq'(doubleeq) Ord'(lt); +_instances_ +instance _forall_ [a] {Eq' a, Eq' a} => {Eq' [a]} = $d1; +instance {Eq' PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] {Eq' a, Eq' a} => {Eq' [a]} ;; +1 $d2 _:_ {Eq' PrelBase.Int} ;; +1 class Eq' a where {doubleeq :: a -> a -> PrelBase.Bool} ; +1 class {Eq' a} => Ord' a where {lt :: a -> a -> PrelBase.Bool} ; +1 f _:_ _forall_ [ta tb] {Eq' tb, PrelBase.Num tb} => [tb] -> ta -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc057.hi b/ghc/tests/typecheck/should_compile/tc057.hi deleted file mode 100644 index 3613dfa..0000000 --- a/ghc/tests/typecheck/should_compile/tc057.hi +++ /dev/null @@ -1,7 +0,0 @@ -interface ShouldSucceed where { -class Eq' a where { deq } -instance -instance Eq' a => -dand :: Bool -> Bool -> Bool -f :: Eq' t93 => t93 -> t93 -> Bool -} diff --git a/ghc/tests/typecheck/should_compile/tc057.stderr b/ghc/tests/typecheck/should_compile/tc057.stderr new file mode 100644 index 0000000..bbc303f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc057.stderr @@ -0,0 +1,55 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], dand{-r3j,x-}, dand_aCq)] + dand_aCq PrelBase.True{-5E,w-}{i} PrelBase.True{-5E,w-}{i} + = PrelBase.True{-5E,w-}{i} + dand_aCq x_r3m y_r3n = PrelBase.False{-58,w-}{i} +AbsBinds [taCI] [d.Eq'_aCY] [([taCI], f{-r3i,x-}, f_aCF)] + d.Eq'_aD0 = d.Eq'_aCY + deq_aE1 = deq{-r3M,x-} taCI d.Eq'_aD0 + f_aCF p_r3p q_r3q + = dand{-r3j,x-} deq_aE1 p_r3p q_r3q + deq_aDZ [lit_aE0] (PrelBase.Int{-3g,W-}) + [PrelBase.I#{-5b,w-}{i} 2#] (PrelBase.Int{-3g,W-}) +AbsBinds [taDj] [d.Eq'_aDv] [([taDj], $d1{-rDX,x-}, d.Eq'_aD8)] + d.Eq'_aDz = d.Eq'_aDv + f_aE2 = f{-r3i,x-} taDj d.Eq'_aDz + d.Eq'_aDB = d.Eq'_aD8 + f_aE3 = f{-r3i,x-} [taDj] d.Eq'_aDB + AbsBinds [] [] [([], deq_aE4, deq_aDc)] + deq_aDc (a_r3y PrelBase.:{-55,w-}{i} as_r3z) + (b_r3A PrelBase.:{-55,w-}{i} bs_r3B) + = dand{-r3j,x-} f_aE2 a_r3y b_r3A f_aE3 as_r3z bs_r3B + d.Eq'_aD8 = ({-dict-} [] [deq_aE4]) +AbsBinds [] [] [([], $d2{-rDY,x-}, d.Eq'_aDH)] + AbsBinds [] [] [([], deq_aE5, deq_aDL)] + deq_aDL x_r3H y_r3I = PrelBase.True{-5E,w-}{i} + d.Eq'_aDH = ({-dict-} [] [deq_aE5]) +deq{-r3M,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDW] [d.Eq'_aDR] [] +d.Eq'_aDV = $d2{-rDY,x-} +d.Eq'_aDT = $d1{-rDX,x-} PrelBase.Int{-3g,W-} d.Eq'_aDV +deq_aDZ = deq{-r3M,x-} [PrelBase.Int{-3g,W-}] d.Eq'_aDT +lit_aE0 = PrelBase.I#{-5b,w-}{i} 1# + +NOTE: Simplifier still going after 4 iterations; bailing out. +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed dand f Eq'(deq); +_instances_ +instance _forall_ [a] {Eq' a} => {Eq' [a]} = $d1; +instance {Eq' PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] {Eq' a} => {Eq' [a]} ;; +1 $d2 _:_ {Eq' PrelBase.Int} ;; +1 class Eq' a where {deq :: a -> a -> PrelBase.Bool} ; +1 dand _:_ PrelBase.Bool -> PrelBase.Bool -> PrelBase.Bool ;; +1 f _:_ _forall_ [ta] {Eq' ta} => ta -> ta -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc058.stderr b/ghc/tests/typecheck/should_compile/tc058.stderr new file mode 100644 index 0000000..c3d731c --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc058.stderr @@ -0,0 +1,59 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taCQ, taCN] +[d.Ord2_aCV, d.Num_aCY] +[([taCQ, taCN], f{-r3M,x-}, f_aCx)] + d.Eq2_aCU = scsel_Ord2ShouldSucceedEq2{-aDW,x-} taCN d.Ord2_aCV + d.Eq2_aCS = $d1{-rDT,x-} taCN [d.Eq2_aCU, d.Ord2_aCV] + doubleeq_aDX = doubleeq{-r3N,x-} [taCN] d.Eq2_aCS + fromInt_aDY = PrelBase.fromInt{-8R,p-} taCN d.Num_aCY + lit_aDZ = fromInt_aDY PrelBase.I#{-5b,w-}{i} 1# + f_aCx x_r3h y_r3i = doubleeq_aDX x_r3h [lit_aDZ] (taCN) +AbsBinds +[taDc] +[d.Eq2_aDf, d.Ord2_aDg] +[([taDc], $d1{-rDT,x-}, d.Eq2_aD5)] + AbsBinds [] [] [([], doubleeq_aE0, doubleeq_aD9)] + doubleeq_aD9 xs_r3q ys_r3r = PrelBase.True{-5E,w-}{i} + d.Eq2_aD5 = ({-dict-} [] [doubleeq_aE0]) +AbsBinds [] [] [([], $d2{-rDU,x-}, d.Ord2_aDo)] + d.Eq2_aDt = $d3{-rDV,x-} + AbsBinds [] [] [([], lt_aE1, lt_aDs)] + lt_aDs x_r3x y_r3y = PrelBase.True{-5E,w-}{i} + d.Ord2_aDo = ({-dict-} [d.Eq2_aDt] [lt_aE1]) +AbsBinds [] [] [([], $d3{-rDV,x-}, d.Eq2_aDD)] + AbsBinds [] [] [([], doubleeq_aE2, doubleeq_aDH)] + doubleeq_aDH x_r3E y_r3F = PrelBase.True{-5E,w-}{i} + d.Eq2_aDD = ({-dict-} [] [doubleeq_aE2]) +scsel_Ord2ShouldSucceedEq2{-aDW,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +lt{-r3O,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [taDR] [d.Ord2_aDN] [] +doubleeq{-r3N,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taDS] [d.Eq2_aDQ] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f Eq2(doubleeq) Ord2(lt); +_instances_ +instance _forall_ [a] {Eq2 a, Ord2 a} => {Eq2 [a]} = $d1; +instance {Ord2 PrelBase.Int} = $d2; +instance {Eq2 PrelBase.Int} = $d3; +_declarations_ +1 $d1 _:_ _forall_ [a] {Eq2 a, Ord2 a} => {Eq2 [a]} ;; +1 $d2 _:_ {Ord2 PrelBase.Int} ;; +1 $d3 _:_ {Eq2 PrelBase.Int} ;; +1 class Eq2 a where {doubleeq :: a -> a -> PrelBase.Bool} ; +1 class {Eq2 a} => Ord2 a where {lt :: a -> a -> PrelBase.Bool} ; +1 f _:_ _forall_ [ta tb] {Ord2 tb, PrelBase.Num tb} => [tb] -> ta -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc059.stderr b/ghc/tests/typecheck/should_compile/tc059.stderr new file mode 100644 index 0000000..1efc33c --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc059.stderr @@ -0,0 +1,60 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taCB] +[d.Eq2_aCG, d.Num_aCJ] +[([taCB], f{-r3J,x-}, f_aCq)] + d.Eq2_aCE = $d1{-rDT,x-} taCB d.Eq2_aCG + deq_aDV = deq{-r3K,x-} [taCB] d.Eq2_aCE + fromInt_aDW = PrelBase.fromInt{-8R,p-} taCB d.Num_aCJ + lit_aDX = fromInt_aDW PrelBase.I#{-5b,w-}{i} 1# + f_aCq x_r3g = deq_aDV x_r3g [lit_aDX] (taCB) +AbsBinds [taD0] [d.Eq2_aDq] [([taD0], $d1{-rDT,x-}, d.Eq2_aCP)] + d.Eq2_aDt = d.Eq2_aDq + deq_aDY = deq{-r3K,x-} taD0 d.Eq2_aDt + d.Eq2_aDv = d.Eq2_aDq + foo_aDZ = foo{-r3L,x-} taD0 d.Eq2_aDv + deq_aE0 = deq_aE2 + foo_aE1 = foo_aE3 + AbsBinds [] [] [([], deq_aE2, deq_aCT)] + deq_aCT (a_r3n PrelBase.:{-55,w-}{i} as_r3o) + (b_r3p PrelBase.:{-55,w-}{i} bs_r3q) + = if deq_aDY a_r3n foo_aDZ b_r3p then + deq_aE0 as_r3o foo_aE1 bs_r3q + else + PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], foo_aE3, foo_aDn)] + foo_aDn x_r3u = x_r3u + d.Eq2_aCP = ({-dict-} [] [deq_aE2, foo_aE3]) +AbsBinds [] [] [([], $d2{-rDU,x-}, d.Eq2_aDB)] + AbsBinds [] [] [([], deq_aE4, deq_aDF)] + deq_aDF x_r3A y_r3B = PrelBase.True{-5E,w-}{i} + AbsBinds [] [] [([], foo_aE5, foo_aDM)] + foo_aDM x_r3F = x_r3F + d.Eq2_aDB = ({-dict-} [] [deq_aE4, foo_aE5]) +deq{-r3K,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +foo{-r3L,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [taDS] [d.Eq2_aDR] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f Eq2(deq foo); +_instances_ +instance _forall_ [a] {Eq2 a} => {Eq2 [a]} = $d1; +instance {Eq2 PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] {Eq2 a} => {Eq2 [a]} ;; +1 $d2 _:_ {Eq2 PrelBase.Int} ;; +1 class Eq2 a where {deq :: a -> a -> PrelBase.Bool; foo :: a -> a} ; +1 f _:_ _forall_ [ta] {Eq2 ta, PrelBase.Num ta} => [ta] -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc060.stderr b/ghc/tests/typecheck/should_compile/tc060.stderr new file mode 100644 index 0000000..fcb4ced --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc060.stderr @@ -0,0 +1,35 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], $d1{-rlE,x-}, d.Eq2_akU)] + AbsBinds [] [] [([], deq_alF, deq_akY)] + deq_akY x_r3h y_r3i = PrelBase.True{-5E,w-}{i} + d.Eq2_akU = ({-dict-} [] [deq_alF]) +AbsBinds [tali] [d.Eq2_alu] [([tali], $d2{-rlG,x-}, d.Eq2_al7)] + d.Eq2_aly = d.Eq2_alu + deq_alH = deq{-r3x,x-} tali d.Eq2_aly + deq_alI = deq_alJ + AbsBinds [] [] [([], deq_alJ, deq_alb)] + deq_alb (a_r3q PrelBase.:{-55,w-}{i} as_r3r) + (b_r3s PrelBase.:{-55,w-}{i} bs_r3t) + = if deq_alH a_r3q b_r3s then + deq_alI as_r3r bs_r3t + else + PrelBase.False{-58,w-}{i} + d.Eq2_al7 = ({-dict-} [] [deq_alJ]) +deq{-r3x,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [talD] [d.Eq2_alC] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed Eq2(deq); +_instances_ +instance {Eq2 PrelBase.Int} = $d1; +instance _forall_ [a] {Eq2 a} => {Eq2 [a]} = $d2; +_declarations_ +1 $d1 _:_ {Eq2 PrelBase.Int} ;; +1 $d2 _:_ _forall_ [a] {Eq2 a} => {Eq2 [a]} ;; +1 class Eq2 a where {deq :: a -> a -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc061.stderr b/ghc/tests/typecheck/should_compile/tc061.stderr new file mode 100644 index 0000000..6d1544a --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc061.stderr @@ -0,0 +1,31 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], $d1{-rlB,x-}, d.Eq1_akU)] + AbsBinds [] [] [([], deq_alC, deq_akY)] + deq_akY x_r3h y_r3i = PrelBase.True{-5E,w-}{i} + d.Eq1_akU = ({-dict-} [] [deq_alC]) +AbsBinds [tali] [d.Eq1_alr] [([tali], $d2{-rlD,x-}, d.Eq1_al7)] + d.Eq1_alv = d.Eq1_alr + deq_alE = deq{-r3x,x-} tali d.Eq1_alv + AbsBinds [] [] [([], deq_alF, deq_alb)] + deq_alb (a_r3q PrelBase.:{-55,w-}{i} as_r3r) + (b_r3s PrelBase.:{-55,w-}{i} bs_r3t) + = deq_alE a_r3q b_r3s + d.Eq1_al7 = ({-dict-} [] [deq_alF]) +deq{-r3x,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [talA] [d.Eq1_alz] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed Eq1(deq); +_instances_ +instance {Eq1 PrelBase.Int} = $d1; +instance _forall_ [a] {Eq1 a} => {Eq1 [a]} = $d2; +_declarations_ +1 $d1 _:_ {Eq1 PrelBase.Int} ;; +1 $d2 _:_ _forall_ [a] {Eq1 a} => {Eq1 [a]} ;; +1 class Eq1 a where {deq :: a -> a -> PrelBase.Bool} ; diff --git a/ghc/tests/typecheck/should_compile/tc062.stderr b/ghc/tests/typecheck/should_compile/tc062.stderr new file mode 100644 index 0000000..5c14f52 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc062.stderr @@ -0,0 +1,41 @@ + + +================================================================================ +Typechecked: +AbsBinds [tal9] [d.Eq1_alj] [([tal9], f{-r3C,x-}, f_akX)] + d.Eq1_alh = $d1{-rm8,x-} tal9 d.Eq1_alj + deq_ama = deq{-r3D,x-} [tal9] d.Eq1_alh + f_akX x_r3f (y_r3g PrelBase.:{-55,w-}{i} ys_r3h) + = deq_ama x_r3f ys_r3h +AbsBinds [talA] [d.Eq1_alM] [([talA], $d1{-rm8,x-}, d.Eq1_alp)] + d.Eq1_alQ = d.Eq1_alM + deq_amb = deq{-r3D,x-} talA d.Eq1_alQ + deq_amc = deq_amd + AbsBinds [] [] [([], deq_amd, deq_alt)] + deq_alt (a_r3o PrelBase.:{-55,w-}{i} as_r3p) + (b_r3q PrelBase.:{-55,w-}{i} bs_r3r) + = if deq_amb a_r3o b_r3q then + deq_amc as_r3p bs_r3r + else + PrelBase.False{-58,w-}{i} + d.Eq1_alp = ({-dict-} [] [deq_amd]) +AbsBinds [] [] [([], $d2{-rm9,x-}, d.Eq1_alW)] + AbsBinds [] [] [([], deq_ame, deq_am0)] + deq_am0 x_r3x y_r3y = PrelBase.True{-5E,w-}{i} + d.Eq1_alW = ({-dict-} [] [deq_ame]) +deq{-r3D,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [tam7] [d.Eq1_am6] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f Eq1(deq); +_instances_ +instance _forall_ [a] {Eq1 a} => {Eq1 [a]} = $d1; +instance {Eq1 PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] {Eq1 a} => {Eq1 [a]} ;; +1 $d2 _:_ {Eq1 PrelBase.Int} ;; +1 class Eq1 a where {deq :: a -> a -> PrelBase.Bool} ; +1 f _:_ _forall_ [ta] {Eq1 ta} => [ta] -> [ta] -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc063.stderr b/ghc/tests/typecheck/should_compile/tc063.stderr new file mode 100644 index 0000000..bf00699 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc063.stderr @@ -0,0 +1,42 @@ + + +================================================================================ +Typechecked: +Tag{-r3G,x-}{i} = + _/\_ a_tr3C -> \ tpl_B1 -> Tag{-r3G,x-}{i} {_@_ a_tr3C tpl_B1} +AbsBinds [taBx] [d.Reps_aBA] [([taBx], g{-r3D,x-}, g_aBo)] + f_aCe = f{-r3H,x-} taBx d.Reps_aBA + g_aBo x_r3h = f_aCe x_r3h x_r3h +AbsBinds [taCc] [] [([taCc], $d3{-rCh,x-}, d.Eval_aBG)] + d.Eval_aBG = ({-dict-} [] []) +AbsBinds [] [] [([], $d1{-rCi,x-}, d.Reps_aBL)] + AbsBinds [] [] [([], f_aCk, f_aBP)] + f_aBP PrelBase.True{-5E,w-}{i} PrelBase.True{-5E,w-}{i} + = PrelBase.True{-5E,w-}{i} + f_aBP x_r3n y_r3o = PrelBase.False{-58,w-}{i} + d.Reps_aBL = ({-dict-} [] [f_aCk]) +AbsBinds [taC5] [] [([taC5], $d2{-rCj,x-}, d.Reps_aBY)] + AbsBinds [] [] [([], f_aCl, f_aC2)] + f_aC2 x_r3v y_r3w = y_r3w + d.Reps_aBY = ({-dict-} [] [f_aCl]) +f{-r3H,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taCd] [d.Reps_aCb] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1; +_exports_ +ShouldSucceed g Reps(f) X(Tag); +_instances_ +instance {Reps PrelBase.Bool} = $d1; +instance _forall_ [q] => {Reps (X q)} = $d2; +instance _forall_ [a] => {PrelBase.Eval (X a)} = $d3; +_declarations_ +1 $d1 _:_ {Reps PrelBase.Bool} ;; +1 $d2 _:_ _forall_ [q] => {Reps (X q)} ;; +1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (X a)} ;; +1 class Reps r where {f :: r -> r -> r} ; +1 data X a = Tag a ; +1 g _:_ _forall_ [ta] {Reps ta} => ta -> ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc064.stderr b/ghc/tests/typecheck/should_compile/tc064.stderr new file mode 100644 index 0000000..1cf473d --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc064.stderr @@ -0,0 +1,24 @@ + + +================================================================================ +Typechecked: +FF{-r5,x-}{i} = FF{-r5,x-}{i} {} +TT{-r4,x-}{i} = TT{-r4,x-}{i} {} +AbsBinds [] [] [([], idb{-r6,x-}, idb_aAU)] + idb_aAU x_r3k = x_r3k +AbsBinds [] [] [([], $d1{-rB4,x-}, d.Eval_aB1)] + d.Eval_aB1 = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1; +_exports_ +ShouldSucceed idb Boolean(FF TT); +_instances_ +instance {PrelBase.Eval Boolean} = $d1; +_declarations_ +1 $d1 _:_ {PrelBase.Eval Boolean} ;; +1 data Boolean = FF | TT ; +1 idb _:_ Boolean -> Boolean ;; diff --git a/ghc/tests/typecheck/should_compile/tc065.hs b/ghc/tests/typecheck/should_compile/tc065.hs index 14de593..1cc308e 100644 --- a/ghc/tests/typecheck/should_compile/tc065.hs +++ b/ghc/tests/typecheck/should_compile/tc065.hs @@ -1,4 +1,4 @@ -module Digraphs where +module ShouldSucceed where import TheUtils import Set diff --git a/ghc/tests/typecheck/should_compile/tc065.stderr b/ghc/tests/typecheck/should_compile/tc065.stderr new file mode 100644 index 0000000..e7bd19f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc065.stderr @@ -0,0 +1,310 @@ + + +================================================================================ +Typechecked: +Succeeded{-rd,x-}{i} = + _/\_ a_tr8i b_tr8j -> \ tpl_B1 -> + Succeeded{-rd,x-}{i} {_@_ a_tr8i _@_ b_tr8j tpl_B1} +Failed{-rc,x-}{i} = + _/\_ a_tr8i b_tr8j -> \ tpl_B1 -> + Failed{-rc,x-}{i} {_@_ a_tr8i _@_ b_tr8j tpl_B1} +MkDigraph{-r8z,x-}{i} = + _/\_ vertex_tr8t -> \ tpl_B1 -> + MkDigraph{-r8z,x-}{i} {_@_ vertex_tr8t tpl_B1} +AbsBinds +[ta14c] +[d.Eq_a14r] +[([ta14c], isRecursiveCycle{-r6D,x-}, isRecursiveCycle_a147)] + d.Eq_a14v = d.Eq_a14r + d.Eq_a14w = d.Eq_a14r + d.Eq_a14t = + PrelTup.$d9{-rDa,p-} [ta14c, ta14c] [d.Eq_a14v, d.Eq_a14w] + elem_a1gA = PrelList.elem{-rDi,p-} (ta14c, ta14c) d.Eq_a14t + isRecursiveCycle_a147 [vertex_r8c] edges_r8d + = (vertex_r8c, vertex_r8c) elem_a1gA edges_r8d + isRecursiveCycle_a147 cycle_r8f edges_r8g + = PrelBase.True{-5E,w-}{i} +AbsBinds +[ta14I, ta14J, ta14K] +[d.Eq_a15B, d.Ord_a15C] +[([ta14J, ta14I, ta14K], lookupVertex{-r6C,x-}, lookupVertex_a14F)] + d.Eq_a15E = d.Eq_a15B + ==_a1gB = PrelBase.=={-8Y,p-} ta14I d.Eq_a15E + lookupVertex_a14F flat_info_r84 vertex_r85 + = PrelList.head{-rEs,p-} ta14K code_list_r87 + where + {- nonrec -} + AbsBinds [] [] [([], code_list_r87, code_list_a14O)] + code_list_a14O + = [code_r8a | + (vertex'_r89, _, _, code_r8a) <- flat_info_r84, vertex_r85 + ==_a1gB vertex'_r89] + {- nonrec -} + {- nonrec -} +AbsBinds +[ta15X, ta160, ta161] +[d.Eq_a17I, d.Ord_a17J] +[([ta160, ta161, ta15X], mkEdges{-r6B,x-}, mkEdges_a15U)] + d.Ord_a17F = d.Ord_a17J + d.MonadZero_a17G = PrelBase.$d24{-ri3,p-} + mkEdges_a15U vertices_r7M flat_info_r7N + = [(source_vertex_r7X, target_vertex_r82) | + (source_vertex_r7X, _, used_names_r7Y, _) <- flat_info_r7N, target_name_r80 <- Set.setToList{-rge,p-} + ta160 used_names_r7Y, target_vertex_r82 <- vertices_defining_a1gC target_name_r80 + flat_info_r7N] + where + {- nonrec -} + AbsBinds + [ta16m, ta16r, ta16u, aa16w, ta16z] + [d.Ord_a16M, d.MonadZero_a16S] + [([ta16m, ta16r, ta16u, aa16w, ta16z], + vertices_defining_r7P, + vertices_defining_a163)] + d.Monad_a16O = + PrelBase.scsel_MonadZeroPrelBaseMonad{-a1gH,p-} aa16w + d.MonadZero_a16S + elementOf_a1gD = Set.elementOf{-rg7,p-} ta16z d.Ord_a16M + >>=_a1gE = PrelBase.>>={-811,p-} aa16w d.Monad_a16O + d.Monad_a16Q = d.Monad_a16O + return_a1gF = PrelBase.return{-816,p-} aa16w d.Monad_a16Q + zero_a1gG = PrelBase.zero{-810,p-} aa16w d.MonadZero_a16S + vertices_defining_a163 name_r7R flat_info_r7S + = [vertex_r7U | + (vertex_r7U, names_defined_r7V, _, _) <- flat_info_r7S, name_r7R + elementOf_a1gD names_defined_r7V] + {- nonrec -} + vertices_defining_a1gC = + vertices_defining_r7P + [ta15X, Set.Set{-rg4,p-} ta160, ta161, PrelBase.[]{-3j,W-}, ta160] + [d.Ord_a17F, d.MonadZero_a17G] + {- nonrec -} +AbsBinds +[ta180, ta181, ta182] +[] +[([ta181, ta182, ta180], mkVertices{-r6A,x-}, mkVertices_a17X)] + mkVertices_a17X info_r7I + = [vertex_r7K | (vertex_r7K, _, _, _) <- info_r7I] +AbsBinds +[ta18F] +[d.Eq_a18W] +[([ta18F], isCyclic{-r6y,x-}, isCyclic_a18C)] + d.Eq_a190 = d.Eq_a18W + d.Eq_a191 = d.Eq_a18W + d.Eq_a18Y = + PrelTup.$d9{-rDa,p-} [ta18F, ta18F] [d.Eq_a190, d.Eq_a191] + elem_a1gI = PrelList.elem{-rDi,p-} (ta18F, ta18F) d.Eq_a18Y + isCyclic_a18C edges_r7r [v_r7s] + = (v_r7s, v_r7s) elem_a1gI edges_r7r + isCyclic_a18C edges_r7u vs_r7v = PrelBase.True{-5E,w-}{i} +AbsBinds [ta1au] [d.Eq_a1aw] [([ta1au], dfs{-r6F,x-}, dfs_a193)] + elem_a1gJ = PrelList.elem{-rDi,p-} ta1au d.Eq_a1aw + dfs_a193 r_r7e (vs_r7f, ns_r7g) PrelBase.[]{-5i,w-}{i} + = (vs_r7f, ns_r7g) + dfs_a193 r_r7i + (vs_r7j, ns_r7k) + (x_r7l PrelBase.:{-55,w-}{i} xs_r7m) + | x_r7l elem_a1gJ vs_r7j = dfs_a193 r_r7i (vs_r7j, ns_r7k) xs_r7m + | PrelBase.otherwise{-818,p-} + = dfs_a193 r_r7i + (vs'_r7o, + ++_a1gs ta1au (PrelBase.:{-55,w-}{i} ta1au x_r7l ns'_r7p) ns_r7k) + xs_r7m + where + {- nonrec -} + AbsBinds [] [] [([], vs'_r7o, vs'_a19M), ([], ns'_r7p, ns'_a19N)] + (vs'_a19M, ns'_a19N) + = dfs_a193 r_r7i + (PrelBase.:{-55,w-}{i} ta1au x_r7l vs_r7j, + PrelBase.[]{-5i,w-}{i} ta1au) + r_r7i x_r7l + {- nonrec -} + {- nonrec -} +AbsBinds +[ta1aG] +[d.Eq_a1eb] +[([ta1aG], stronglyConnComp{-r6x,x-}, stronglyConnComp_a1aD)] + d.Eq_a1e9 = d.Eq_a1eb + d.Eq_a1e6 = d.Eq_a1eb + d.Eq_a1ed = d.Eq_a1eb + dfs_a1gK = dfs{-r6F,x-} ta1aG d.Eq_a1ed + d.Eq_a1e7 = d.Eq_a1eb + stronglyConnComp_a1aD es_r6H vs_r6I + = PrelTup.snd{-rDg,p-} + [[ta1aG], [[ta1aG]]] span_tree_a1gL new_range_a1gM reversed_edges_r6K + (PrelBase.[]{-5i,w-}{i} ta1aG, + PrelBase.[]{-5i,w-}{i} [ta1aG]) + PrelTup.snd{-rDg,p-} + [[ta1aG], [ta1aG]] dfs_a1gK new_range_a1gN es_r6H + (PrelBase.[]{-5i,w-}{i} + ta1aG, + PrelBase.[]{-5i,w-}{i} + ta1aG) + vs_r6I + where + {- rec -} + AbsBinds + [ta1c5] + [d.Eq_a1c7] + [([ta1c5], span_tree_r6N, span_tree_a1aK)] + elem_a1gO = PrelList.elem{-rDi,p-} ta1c5 d.Eq_a1c7 + d.Eq_a1c9 = d.Eq_a1c7 + dfs_a1gP = dfs{-r6F,x-} ta1c5 d.Eq_a1c9 + span_tree_a1aK r_r71 (vs_r72, ns_r73) PrelBase.[]{-5i,w-}{i} + = (vs_r72, ns_r73) + span_tree_a1aK r_r75 + (vs_r76, ns_r77) + (x_r78 PrelBase.:{-55,w-}{i} xs_r79) + | x_r78 elem_a1gO vs_r76 + = span_tree_a1aK r_r75 (vs_r76, ns_r77) xs_r79 + | PrelBase.otherwise{-818,p-} + = span_tree_a1aK r_r75 + (vs'_r7b, + PrelBase.:{-55,w-}{i} [ta1c5] + (PrelBase.:{-55,w-}{i} ta1c5 + x_r78 ns'_r7c) + ns_r77) + xs_r79 + where + {- nonrec -} + AbsBinds + [] + [] + [([], vs'_r7b, vs'_a1bt), ([], + ns'_r7c, + ns'_a1bu)] + (vs'_a1bt, ns'_a1bu) + = dfs_a1gP r_r75 + (PrelBase.:{-55,w-}{i} ta1c5 + x_r78 vs_r76, + PrelBase.[]{-5i,w-}{i} + ta1c5) + r_r75 x_r78 + {- nonrec -} + {- nonrec -} + {- nonrec -} + span_tree_a1gL = span_tree_r6N ta1aG d.Eq_a1e9 + {- nonrec -} + {- rec -} + AbsBinds + [ta1cF, ta1cI] + [d.Eq_a1cK] + [([ta1cF, ta1cI], new_range_r6M, new_range_a1cb)] + ==_a1gQ = PrelBase.=={-8Y,p-} ta1cF d.Eq_a1cK + new_range_a1cb PrelBase.[]{-5i,w-}{i} w_r6U + = PrelBase.[]{-5i,w-}{i} ta1cI + new_range_a1cb ((x_r6W, y_r6X) PrelBase.:{-55,w-}{i} xys_r6Y) + w_r6Z + = if x_r6W ==_a1gQ w_r6Z then + PrelBase.:{-55,w-}{i} ta1cI + y_r6X (new_range_a1cb xys_r6Y w_r6Z) + else + new_range_a1cb xys_r6Y w_r6Z + {- nonrec -} + new_range_a1gM = new_range_r6M [ta1aG, ta1aG] d.Eq_a1e6 + new_range_a1gN = new_range_r6M [ta1aG, ta1aG] d.Eq_a1e7 + {- nonrec -} + {- nonrec -} + AbsBinds [ta1cZ] [] [([ta1cZ], swap_r6L, swap_a1cQ)] + swap_a1cQ (x_r6R, y_r6S) = (y_r6S, x_r6R) + {- nonrec -} + {- nonrec -} + {- nonrec -} + AbsBinds [] [] [([], reversed_edges_r6K, reversed_edges_a1d6)] + reversed_edges_a1d6 + = map_a1gr [Edge{-r8x,x-} ta1aG, Edge{-r8x,x-} ta1aG] swap_r6L + ta1aG + es_r6H + {- nonrec -} + {- nonrec -} +AbsBinds +[ta1eo] +[d.Eq_a1fh] +[([ta1eo], topSort{-r6z,x-}, topSort_a1el)] + d.Eq_a1fp = d.Eq_a1fh + isCyclic_a1gR = isCyclic{-r6y,x-} ta1eo d.Eq_a1fp + d.Eq_a1fr = d.Eq_a1fh + stronglyConnComp_a1gS = stronglyConnComp{-r6x,x-} ta1eo d.Eq_a1fr + topSort_a1el edges_r7x vertices_r7y + = case cycles_r7B of + PrelBase.[]{-5i,w-}{i} + -> Succeeded{-rd,x-}{i} [[ta1eo], [[ta1eo]]] [v_r7F | + [v_r7F] <- singletons_r7C] + _ -> Failed{-rc,x-}{i} [[ta1eo], [[ta1eo]]] cycles_r7B + where + {- nonrec -} + AbsBinds [] [] [([], sccs_r7A, sccs_a1es)] + sccs_a1es = stronglyConnComp_a1gS edges_r7x vertices_r7y + {- nonrec -} + {- nonrec -} + {- nonrec -} + AbsBinds + [] + [] + [([], cycles_r7B, cycles_a1ez), ([], + singletons_r7C, + singletons_a1eA)] + (cycles_a1ez, singletons_a1eA) + = List.partition{-rhs,p-} [ta1eo] isCyclic_a1gR edges_r7x sccs_r7A + {- nonrec -} + {- nonrec -} +AbsBinds [ta1fx] [] [([ta1fx], mkDigraph{-r6E,x-}, mkDigraph_a1ft)] + mkDigraph_a1ft = MkDigraph{-r8z,x-}{i} ta1fx +AbsBinds +[ta1g2, ta1g3] +[] +[([ta1g2, ta1g3], $d1{-r1gl,x-}, d.Eval_a1fE)] + d.Eval_a1fE = ({-dict-} [] []) +AbsBinds [ta1g4] [] [([ta1g4], $d2{-r1gn,x-}, d.Eval_a1fK)] + d.Eval_a1fK = ({-dict-} [] []) +d.Monad_a1fM = PrelBase.$d25{-ri4,p-} +>>=_a1go = PrelBase.>>={-811,p-} PrelBase.[]{-3j,W-} d.Monad_a1fM +d.Monad_a1fP = d.Monad_a1fM +return_a1gp = + PrelBase.return{-816,p-} PrelBase.[]{-3j,W-} d.Monad_a1fP +d.MonadZero_a1fR = PrelBase.$d24{-ri3,p-} +zero_a1gq = + PrelBase.zero{-810,p-} PrelBase.[]{-3j,W-} d.MonadZero_a1fR +d.Functor_a1fU = PrelBase.$d26{-ri5,p-} +map_a1gr = PrelBase.map{-rn5,p-} PrelBase.[]{-3j,W-} d.Functor_a1fU +d.MonadPlus_a1fX = PrelBase.$d23{-ri2,p-} +++_a1gs = PrelBase.++{-rn8,p-} PrelBase.[]{-3j,W-} d.MonadPlus_a1fX +>>=_a1gt = >>=_a1go +return_a1gu = return_a1gp +>>=_a1gv = >>=_a1go +return_a1gw = return_a1gp +>>=_a1gx = >>=_a1go +return_a1gy = return_a1gp +zero_a1gz = zero_a1gq +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +List 1 :: partition 1; +PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d45 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $mmax 1 $mmin 1 otherwise 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Ord 1 Ordering 1; +PrelList 1 :: elem 1 head 1; +PrelNum 1 :: $d17 1 $d18 1; +PrelTup 1 :: $d11 1 $d13 1 $d15 1 $d49 1 $d51 1 $d9 1 snd 1; +Set 1 :: $d1 1 $d2 1 elementOf 1 setToList 1 Set 1; +_exports_ +ShouldSucceed dfs isCyclic isRecursiveCycle lookupVertex mkDigraph mkEdges mkVertices stronglyConnComp topSort Cycle Digraph(MkDigraph) Edge FlattenedDependencyInfo MaybeErr(Succeeded Failed); +_instances_ +instance _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} = $d1; +instance _forall_ [vertex] => {PrelBase.Eval (Digraph vertex)} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a b] => {PrelBase.Eval (MaybeErr a b)} ;; +1 $d2 _:_ _forall_ [vertex] => {PrelBase.Eval (Digraph vertex)} ;; +1 type Cycle vertex = [vertex] ; +1 data Digraph vertex = MkDigraph [vertex] ; +1 type Edge vertex = (vertex, vertex) ; +1 type FlattenedDependencyInfo vertex name code = [(vertex, Set.Set name, Set.Set name, code)] ; +1 data MaybeErr a b = Succeeded a | Failed b ; +1 dfs _:_ _forall_ [ta] {PrelBase.Eq ta} => (ta -> [ta]) -> ([ta], [ta]) -> [ta] -> ([ta], [ta]) ;; +1 isCyclic _:_ _forall_ [ta] {PrelBase.Eq ta} => [Edge ta] -> [ta] -> PrelBase.Bool ;; +1 isRecursiveCycle _:_ _forall_ [ta] {PrelBase.Eq ta} => Cycle ta -> [Edge ta] -> PrelBase.Bool ;; +1 lookupVertex _:_ _forall_ [ta tb tc] {PrelBase.Eq tb, PrelBase.Ord ta} => FlattenedDependencyInfo tb ta tc -> tb -> tc ;; +1 mkDigraph _:_ _forall_ [ta] => [ta] -> Digraph ta ;; +1 mkEdges _:_ _forall_ [ta tb tc] {PrelBase.Eq tc, PrelBase.Ord ta} => [tc] -> FlattenedDependencyInfo tc ta tb -> [Edge tc] ;; +1 mkVertices _:_ _forall_ [ta tb tc] => FlattenedDependencyInfo tc ta tb -> [tc] ;; +1 stronglyConnComp _:_ _forall_ [ta] {PrelBase.Eq ta} => [Edge ta] -> [ta] -> [[ta]] ;; +1 topSort _:_ _forall_ [ta] {PrelBase.Eq ta} => [Edge ta] -> [ta] -> MaybeErr [ta] [[ta]] ;; diff --git a/ghc/tests/typecheck/should_compile/tc066.stderr b/ghc/tests/typecheck/should_compile/tc066.stderr new file mode 100644 index 0000000..a3091ef --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc066.stderr @@ -0,0 +1,31 @@ + + +================================================================================ +Typechecked: +MkPair{-r3o,x-}{i} = + _/\_ a_tr3k b_tr3l -> \ tpl_B1 tpl_B2 -> + MkPair{-r3o,x-}{i} {_@_ a_tr3k _@_ b_tr3l tpl_B1 tpl_B2} +AbsBinds +[taBY, taC1, aaC2] +[d.Monad_aCe] +[([taBY, taC1, aaC2], f{-r3m,x-}, f_aBM)] + >>=_aCt = PrelBase.>>={-811,p-} aaC2 d.Monad_aCe + d.Monad_aCg = d.Monad_aCe + return_aCx = PrelBase.return{-816,p-} aaC2 d.Monad_aCg + f_aBM x_r3f = [a_r3i | (MkPair{-r3o,x-}{i} c_r3h a_r3i) <- x_r3f] +AbsBinds [taCr, taCs] [] [([taCr, taCs], $d1{-rCw,x-}, d.Eval_aCn)] + d.Eval_aCn = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 $m>> 1 Eval 1 Monad 1 MonadZero 1; +_exports_ +ShouldSucceed f Pair(MkPair); +_instances_ +instance _forall_ [a b] => {PrelBase.Eval (Pair a b)} = $d1; +_declarations_ +1 $d1 _:_ _forall_ [a b] => {PrelBase.Eval (Pair a b)} ;; +1 data Pair a b = MkPair a b ; +1 f _:_ _forall_ [ta tb ac :: (* -> *)] {PrelBase.Monad ac} => ac (Pair ta tb) -> ac tb ;; diff --git a/ghc/tests/typecheck/should_compile/tc067.hs b/ghc/tests/typecheck/should_compile/tc067.hs index 59df103..853caf3 100644 --- a/ghc/tests/typecheck/should_compile/tc067.hs +++ b/ghc/tests/typecheck/should_compile/tc067.hs @@ -1,4 +1,4 @@ -module ShouldSucc where +module ShouldSucceed where f [] = [] f (x:xs) = x : (f xs) diff --git a/ghc/tests/typecheck/should_compile/tc067.stderr b/ghc/tests/typecheck/should_compile/tc067.stderr new file mode 100644 index 0000000..e0528c1 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc067.stderr @@ -0,0 +1,16 @@ + + +================================================================================ +Typechecked: +AbsBinds [takL] [] [([takL], f{-r3g,x-}, f_aku)] + f_aku PrelBase.[]{-5i,w-}{i} = PrelBase.[]{-5i,w-}{i} takL + f_aku (x_r3e PrelBase.:{-55,w-}{i} xs_r3f) + = PrelBase.:{-55,w-}{i} takL x_r3e (f_aku xs_r3f) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ _forall_ [ta] => [ta] -> [ta] ;; diff --git a/ghc/tests/typecheck/should_compile/tc068.hs b/ghc/tests/typecheck/should_compile/tc068.hs index 01f2d87..f455d41 100644 --- a/ghc/tests/typecheck/should_compile/tc068.hs +++ b/ghc/tests/typecheck/should_compile/tc068.hs @@ -1,4 +1,4 @@ -module ShouldSucc where +module ShouldSucceed where data T a = D (B a) | C data B b = X | Y b diff --git a/ghc/tests/typecheck/should_compile/tc068.stderr b/ghc/tests/typecheck/should_compile/tc068.stderr new file mode 100644 index 0000000..80cafb3 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc068.stderr @@ -0,0 +1,60 @@ + + +================================================================================ +Typechecked: +X{-r9,x-}{i} = _/\_ b_tr3U -> X{-r9,x-}{i} {_@_ b_tr3U} +Y{-r8,x-}{i} = + _/\_ b_tr3U -> \ tpl_B1 -> Y{-r8,x-}{i} {_@_ b_tr3U tpl_B1} +D{-r7,x-}{i} = + _/\_ a_tr3W -> \ tpl_B1 -> D{-r7,x-}{i} {_@_ a_tr3W tpl_B1} +C{-r6,x-}{i} = _/\_ a_tr3W -> C{-r6,x-}{i} {_@_ a_tr3W} +AbsBinds [taDA] [] [([taDA], $d3{-rDE,x-}, d.Eval_aBV)] + d.Eval_aBV = ({-dict-} [] []) +AbsBinds [taDB] [] [([taDB], $d4{-rDG,x-}, d.Eval_aC1)] + d.Eval_aC1 = ({-dict-} [] []) +AbsBinds [taCe] [d.Eq_aCH] [([taCe], $d1{-rDH,x-}, d.Eq_aC7)] + d.Eq_aCL = d.Eq_aCH + ==_aDJ = PrelBase.=={-8Y,p-} taCe d.Eq_aCL + ==_aDK = ==_aDL + AbsBinds [] [] [([], ==_aDL, ==_aCb)] + ==_aCb X{-r9,x-}{i} X{-r9,x-}{i} = PrelBase.True{-5E,w-}{i} + ==_aCb (Y{-r8,x-}{i} a_r3r) (Y{-r8,x-}{i} b_r3s) + = a_r3r ==_aDJ b_r3s + ==_aCb a_r3u b_r3v = PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], /=_aDM, /=_aCA)] + /=_aCA a_r3z b_r3A = PrelBase.not{-rgM,p-} a_r3z ==_aDK b_r3A + d.Eq_aC7 = ({-dict-} [] [==_aDL, /=_aDM]) +AbsBinds [taD1] [d.Eq_aDs] [([taD1], $d2{-rDI,x-}, d.Eq_aCS)] + d.Eq_aDy = d.Eq_aDs + d.Eq_aDw = $d1{-rDH,x-} taD1 d.Eq_aDy + ==_aDN = PrelBase.=={-8Y,p-} (B{-r3X,x-} taD1) d.Eq_aDw + ==_aDO = ==_aDP + AbsBinds [] [] [([], ==_aDP, ==_aCW)] + ==_aCW (D{-r7,x-}{i} x_r3H) (D{-r7,x-}{i} y_r3I) + = x_r3H ==_aDN y_r3I + ==_aCW C{-r6,x-}{i} C{-r6,x-}{i} = PrelBase.True{-5E,w-}{i} + ==_aCW a_r3L b_r3M = PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], /=_aDQ, /=_aDl)] + /=_aDl a_r3Q b_r3R = PrelBase.not{-rgM,p-} a_r3Q ==_aDO b_r3R + d.Eq_aCS = ({-dict-} [] [==_aDP, /=_aDQ]) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d16 1 $d2 1 $d33 1 $d38 1 $d40 1 $d42 1 $d47 1 $d8 1 $m/= 1 not 1 Eq 1 Eval 1; +PrelNum 1 :: $d18 1; +_exports_ +ShouldSucceed B(X Y) T(D C); +_instances_ +instance _forall_ [b] {PrelBase.Eq b} => {PrelBase.Eq (B b)} = $d1; +instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} = $d2; +instance _forall_ [b] => {PrelBase.Eval (B b)} = $d3; +instance _forall_ [a] => {PrelBase.Eval (T a)} = $d4; +_declarations_ +1 $d1 _:_ _forall_ [b] {PrelBase.Eq b} => {PrelBase.Eq (B b)} ;; +1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} ;; +1 $d3 _:_ _forall_ [b] => {PrelBase.Eval (B b)} ;; +1 $d4 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;; +1 data B b = X | Y b ; +1 data T a = D (B a) | C ; diff --git a/ghc/tests/typecheck/should_compile/tc069.stderr b/ghc/tests/typecheck/should_compile/tc069.stderr new file mode 100644 index 0000000..bad9079 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc069.stderr @@ -0,0 +1,25 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], x{-r3i,x-}, x_akw)] + x_akw = 'a' +AbsBinds [] [] [([], y{-r3h,x-}, y_akz), ([], ys{-r3g,x-}, ys_akA)] + (y_akz PrelBase.:{-55,w-}{i} ys_akA) + = ['a', 'b', 'c'] (PrelBase.Char{-38,W-}) + where + {- nonrec -} + AbsBinds [] [] [([], p_r3f, p_akI)] + p_akI = x{-r3i,x-} + {- nonrec -} + {- nonrec -} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed x y ys; +_declarations_ +1 x _:_ PrelBase.Char ;; +1 y _:_ PrelBase.Char ;; +1 ys _:_ [PrelBase.Char] ;; diff --git a/ghc/tests/typecheck/should_compile/tc070.stderr b/ghc/tests/typecheck/should_compile/tc070.stderr new file mode 100644 index 0000000..1cf473d --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc070.stderr @@ -0,0 +1,24 @@ + + +================================================================================ +Typechecked: +FF{-r5,x-}{i} = FF{-r5,x-}{i} {} +TT{-r4,x-}{i} = TT{-r4,x-}{i} {} +AbsBinds [] [] [([], idb{-r6,x-}, idb_aAU)] + idb_aAU x_r3k = x_r3k +AbsBinds [] [] [([], $d1{-rB4,x-}, d.Eval_aB1)] + d.Eval_aB1 = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1; +_exports_ +ShouldSucceed idb Boolean(FF TT); +_instances_ +instance {PrelBase.Eval Boolean} = $d1; +_declarations_ +1 $d1 _:_ {PrelBase.Eval Boolean} ;; +1 data Boolean = FF | TT ; +1 idb _:_ Boolean -> Boolean ;; diff --git a/ghc/tests/typecheck/should_compile/tc073.hs b/ghc/tests/typecheck/should_compile/tc073.hs index ea4cb74..44e4129 100644 --- a/ghc/tests/typecheck/should_compile/tc073.hs +++ b/ghc/tests/typecheck/should_compile/tc073.hs @@ -1,5 +1,5 @@ -module ShouldSucc where +module ShouldSucceed where f [] = [] f (x:xs) = x : (f xs) diff --git a/ghc/tests/typecheck/should_compile/tc073.stderr b/ghc/tests/typecheck/should_compile/tc073.stderr new file mode 100644 index 0000000..e0528c1 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc073.stderr @@ -0,0 +1,16 @@ + + +================================================================================ +Typechecked: +AbsBinds [takL] [] [([takL], f{-r3g,x-}, f_aku)] + f_aku PrelBase.[]{-5i,w-}{i} = PrelBase.[]{-5i,w-}{i} takL + f_aku (x_r3e PrelBase.:{-55,w-}{i} xs_r3f) + = PrelBase.:{-55,w-}{i} takL x_r3e (f_aku xs_r3f) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed f; +_declarations_ +1 f _:_ _forall_ [ta] => [ta] -> [ta] ;; diff --git a/ghc/tests/typecheck/should_compile/tc074.hs b/ghc/tests/typecheck/should_compile/tc074.hs index 01f2d87..f455d41 100644 --- a/ghc/tests/typecheck/should_compile/tc074.hs +++ b/ghc/tests/typecheck/should_compile/tc074.hs @@ -1,4 +1,4 @@ -module ShouldSucc where +module ShouldSucceed where data T a = D (B a) | C data B b = X | Y b diff --git a/ghc/tests/typecheck/should_compile/tc074.stderr b/ghc/tests/typecheck/should_compile/tc074.stderr new file mode 100644 index 0000000..80cafb3 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc074.stderr @@ -0,0 +1,60 @@ + + +================================================================================ +Typechecked: +X{-r9,x-}{i} = _/\_ b_tr3U -> X{-r9,x-}{i} {_@_ b_tr3U} +Y{-r8,x-}{i} = + _/\_ b_tr3U -> \ tpl_B1 -> Y{-r8,x-}{i} {_@_ b_tr3U tpl_B1} +D{-r7,x-}{i} = + _/\_ a_tr3W -> \ tpl_B1 -> D{-r7,x-}{i} {_@_ a_tr3W tpl_B1} +C{-r6,x-}{i} = _/\_ a_tr3W -> C{-r6,x-}{i} {_@_ a_tr3W} +AbsBinds [taDA] [] [([taDA], $d3{-rDE,x-}, d.Eval_aBV)] + d.Eval_aBV = ({-dict-} [] []) +AbsBinds [taDB] [] [([taDB], $d4{-rDG,x-}, d.Eval_aC1)] + d.Eval_aC1 = ({-dict-} [] []) +AbsBinds [taCe] [d.Eq_aCH] [([taCe], $d1{-rDH,x-}, d.Eq_aC7)] + d.Eq_aCL = d.Eq_aCH + ==_aDJ = PrelBase.=={-8Y,p-} taCe d.Eq_aCL + ==_aDK = ==_aDL + AbsBinds [] [] [([], ==_aDL, ==_aCb)] + ==_aCb X{-r9,x-}{i} X{-r9,x-}{i} = PrelBase.True{-5E,w-}{i} + ==_aCb (Y{-r8,x-}{i} a_r3r) (Y{-r8,x-}{i} b_r3s) + = a_r3r ==_aDJ b_r3s + ==_aCb a_r3u b_r3v = PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], /=_aDM, /=_aCA)] + /=_aCA a_r3z b_r3A = PrelBase.not{-rgM,p-} a_r3z ==_aDK b_r3A + d.Eq_aC7 = ({-dict-} [] [==_aDL, /=_aDM]) +AbsBinds [taD1] [d.Eq_aDs] [([taD1], $d2{-rDI,x-}, d.Eq_aCS)] + d.Eq_aDy = d.Eq_aDs + d.Eq_aDw = $d1{-rDH,x-} taD1 d.Eq_aDy + ==_aDN = PrelBase.=={-8Y,p-} (B{-r3X,x-} taD1) d.Eq_aDw + ==_aDO = ==_aDP + AbsBinds [] [] [([], ==_aDP, ==_aCW)] + ==_aCW (D{-r7,x-}{i} x_r3H) (D{-r7,x-}{i} y_r3I) + = x_r3H ==_aDN y_r3I + ==_aCW C{-r6,x-}{i} C{-r6,x-}{i} = PrelBase.True{-5E,w-}{i} + ==_aCW a_r3L b_r3M = PrelBase.False{-58,w-}{i} + AbsBinds [] [] [([], /=_aDQ, /=_aDl)] + /=_aDl a_r3Q b_r3R = PrelBase.not{-rgM,p-} a_r3Q ==_aDO b_r3R + d.Eq_aCS = ({-dict-} [] [==_aDP, /=_aDQ]) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d16 1 $d2 1 $d33 1 $d38 1 $d40 1 $d42 1 $d47 1 $d8 1 $m/= 1 not 1 Eq 1 Eval 1; +PrelNum 1 :: $d18 1; +_exports_ +ShouldSucceed B(X Y) T(D C); +_instances_ +instance _forall_ [b] {PrelBase.Eq b} => {PrelBase.Eq (B b)} = $d1; +instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} = $d2; +instance _forall_ [b] => {PrelBase.Eval (B b)} = $d3; +instance _forall_ [a] => {PrelBase.Eval (T a)} = $d4; +_declarations_ +1 $d1 _:_ _forall_ [b] {PrelBase.Eq b} => {PrelBase.Eq (B b)} ;; +1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (T a)} ;; +1 $d3 _:_ _forall_ [b] => {PrelBase.Eval (B b)} ;; +1 $d4 _:_ _forall_ [a] => {PrelBase.Eval (T a)} ;; +1 data B b = X | Y b ; +1 data T a = D (B a) | C ; diff --git a/ghc/tests/typecheck/should_compile/tc076.stderr b/ghc/tests/typecheck/should_compile/tc076.stderr new file mode 100644 index 0000000..7ab7488 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc076.stderr @@ -0,0 +1,25 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], x{-r3,x-}, x_aBl)] + x_aBl + = [[PrelBase.True{-5E,w-}{i}] (PrelBase.Bool{-34,W-})] ([PrelBase.Bool{-34,W-}]) +AbsBinds [] [] [([], xs{-r2,x-}, xs_aBt)] + xs_aBt = [x_r3j | x_r3h <- x{-r3,x-}, x_r3j <- x_r3h] +d.Monad_aBL = PrelBase.$d25{-rae,p-} +>>=_aBS = PrelBase.>>={-811,p-} PrelBase.[]{-3j,W-} d.Monad_aBL +d.Monad_aBO = d.Monad_aBL +return_aBT = + PrelBase.return{-816,p-} PrelBase.[]{-3j,W-} d.Monad_aBO +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d24 1 $d25 1 $m>> 1 Monad 1 MonadZero 1; +_exports_ +ShouldSucceed x xs; +_declarations_ +1 x _:_ [[PrelBase.Bool]] ;; +1 xs _:_ [PrelBase.Bool] ;; diff --git a/ghc/tests/typecheck/should_compile/tc077.hs b/ghc/tests/typecheck/should_compile/tc077.hs index c9bb8d5..45e4d11 100644 --- a/ghc/tests/typecheck/should_compile/tc077.hs +++ b/ghc/tests/typecheck/should_compile/tc077.hs @@ -1,6 +1,6 @@ --!!! make sure context of EQ is minimised in interface file. -- -module M where +module ShouldSucceed where data NUM = ONE | TWO class (Num a) => ORD a diff --git a/ghc/tests/typecheck/should_compile/tc077.stderr b/ghc/tests/typecheck/should_compile/tc077.stderr new file mode 100644 index 0000000..6ae9286 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc077.stderr @@ -0,0 +1,39 @@ + + +================================================================================ +Typechecked: +ONE{-r7,x-}{i} = ONE{-r7,x-}{i} {} +TWO{-r6,x-}{i} = TWO{-r6,x-}{i} {} +AbsBinds [] [] [([], $d1{-rCq,x-}, d.Eval_aCf)] + d.Eval_aCf = ({-dict-} [] []) +scsel_EQShouldSucceedORD{-aCr,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 -> + tpl_B1;} +scsel_EQPrelBaseShow{-aCs,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 -> + tpl_B2;} +==={-r3r,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,,){-63,w-}{i} tpl_B1 tpl_B2 tpl_B3 -> + tpl_B3;} +AbsBinds [taCm] [d.EQ_aCi] [] +scsel_ORDPrelBaseNum{-aCt,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [taCn] [d.ORD_aCl] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed EQ(===) NUM(ONE TWO) ORD; +_instances_ +instance {PrelBase.Eval NUM} = $d1; +_declarations_ +1 $d1 _:_ {PrelBase.Eval NUM} ;; +1 class {ORD a, PrelBase.Show a} => EQ a where {=== :: a -> a -> PrelBase.Bool} ; +1 data NUM = ONE | TWO ; +1 class {PrelBase.Num a} => ORD a ; diff --git a/ghc/tests/typecheck/should_compile/tc078.stderr b/ghc/tests/typecheck/should_compile/tc078.stderr new file mode 100644 index 0000000..c1826d7 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc078.stderr @@ -0,0 +1,80 @@ + +tc078.hs:7: No explicit method nor default method for `PrelBase.==' + in an instance declaration for `PrelBase.Eq' + + +================================================================================ +Typechecked: +MkBar{-r3m,x-}{i} = + _/\_ a_tr3k -> \ tpl_B1 tpl_B2 -> + MkBar{-r3m,x-}{i} {_@_ a_tr3k tpl_B1 tpl_B2} +AbsBinds [taDD] [] [([taDD], $d3{-rDH,x-}, d.Eval_aBH)] + d.Eval_aBH = ({-dict-} [] []) +AbsBinds +[taBV] +[d.Ord_aCP, d.Eq_aCQ] +[([taBV], $d1{-rDI,x-}, d.Ord_aBN)] + d.Eq_aCO = d.Eq_aCQ + d.Ord_aCU = d.Ord_aBN + $mcompare_aDK = + PrelBase.$mcompare{-rf4,p-} (Bar{-r3l,x-} taBV) d.Ord_aCU + d.Ord_aCW = d.Ord_aBN + $m<_aDL = PrelBase.$m<{-reZ,p-} (Bar{-r3l,x-} taBV) d.Ord_aCW + d.Ord_aCY = d.Ord_aBN + $m<=_aDM = PrelBase.$m<={-rf0,p-} (Bar{-r3l,x-} taBV) d.Ord_aCY + d.Ord_aD0 = d.Ord_aBN + $m>=_aDN = PrelBase.$m>={-rf2,p-} (Bar{-r3l,x-} taBV) d.Ord_aD0 + d.Ord_aD2 = d.Ord_aBN + $m>_aDO = PrelBase.$m>{-rf1,p-} (Bar{-r3l,x-} taBV) d.Ord_aD2 + d.Ord_aD4 = d.Ord_aBN + $mmax_aDP = PrelBase.$mmax{-rf8,p-} (Bar{-r3l,x-} taBV) d.Ord_aD4 + d.Ord_aD6 = d.Ord_aBN + $mmin_aDQ = PrelBase.$mmin{-rf9,p-} (Bar{-r3l,x-} taBV) d.Ord_aD6 + AbsBinds [] [] [([], compare_aDR, compare_aBS)] + compare_aBS = $mcompare_aDK + AbsBinds [] [] [([], <_aDS, <_aC2)] + <_aC2 = $m<_aDL + AbsBinds [] [] [([], <=_aDT, <=_aCb)] + <=_aCb = $m<=_aDM + AbsBinds [] [] [([], >=_aDU, >=_aCk)] + >=_aCk = $m>=_aDN + AbsBinds [] [] [([], >_aDV, >_aCt)] + >_aCt = $m>_aDO + AbsBinds [] [] [([], max_aDW, max_aCC)] + max_aCC = $mmax_aDP + AbsBinds [] [] [([], min_aDX, min_aCL)] + min_aCL = $mmin_aDQ + d.Ord_aBN = + ({-dict-} + [d.Eq_aCO] + [compare_aDR, <_aDS, <=_aDT, >=_aDU, >_aDV, max_aDW, min_aDX]) +AbsBinds [taDo] [d.Eq_aDx] [([taDo], $d2{-rDJ,x-}, d.Eq_aDg)] + d.Eq_aDB = d.Eq_aDg + $m/=_aDY = PrelBase.$m/={-reY,p-} (Bar{-r3l,x-} taDo) d.Eq_aDB + AbsBinds [] [] [([], ==_aDZ, ==_aDl)] + ==_aDl + = GHCerr.noDefaultMethodError{-8k,w-} + (Bar{-r3l,x-} taDo + -> Bar{-r3l,x-} taDo + -> PrelBase.Bool{-34,W-}) "|PrelBase.==" + AbsBinds [] [] [([], /=_aE0, /=_aDu)] + /=_aDu = $m/=_aDY + d.Eq_aDg = ({-dict-} [] [==_aDZ, /=_aE0]) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldFail 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d15 1 $d16 1 $d2 1 $d33 1 $d35 1 $d38 1 $d40 1 $d42 1 $d46 1 $d47 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Eval 1 Ord 1 Ordering 1; +PrelNum 1 :: $d17 1 $d18 1; +_exports_ +ShouldFail Bar(MkBar); +_instances_ +instance _forall_ [a] {PrelBase.Ord a} => {PrelBase.Ord (Bar a)} = $d1; +instance _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Bar a)} = $d2; +instance _forall_ [a] => {PrelBase.Eval (Bar a)} = $d3; +_declarations_ +1 $d1 _:_ _forall_ [a] {PrelBase.Ord a, PrelBase.Eq (Bar a)} => {PrelBase.Ord (Bar a)} ;; +1 $d2 _:_ _forall_ [a] {PrelBase.Eq a} => {PrelBase.Eq (Bar a)} ;; +1 $d3 _:_ _forall_ [a] => {PrelBase.Eval (Bar a)} ;; +1 data Bar a = MkBar PrelBase.Int a ; diff --git a/ghc/tests/typecheck/should_compile/tc079.hs b/ghc/tests/typecheck/should_compile/tc079.hs index d49f4ce..99a73cc 100644 --- a/ghc/tests/typecheck/should_compile/tc079.hs +++ b/ghc/tests/typecheck/should_compile/tc079.hs @@ -2,7 +2,7 @@ --!!! "easy" to check default methods and such... --!!! (this is the example given in TcClassDcl) -- -module Test where +module ShouldSucceed where class Foo a where op1 :: a -> Bool diff --git a/ghc/tests/typecheck/should_compile/tc079.stderr b/ghc/tests/typecheck/should_compile/tc079.stderr new file mode 100644 index 0000000..4f1209d --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc079.stderr @@ -0,0 +1,70 @@ + + +================================================================================ +Typechecked: +AbsBinds [taC2] [d.Foo_aCq] [([taC2], $d1{-rDQ,x-}, d.Foo_aBS)] + d.Foo_aCs = d.Foo_aBS + $mop1_aDU = $mop1{-rBV,x-} [taC2] d.Foo_aCs + d.Foo_aCu = d.Foo_aBS + $mop2_aDV = $mop2{-rBZ,x-} [taC2] d.Foo_aCu + AbsBinds [] [] [([], op1_aDW, op1_aBY)] + op1_aBY = $mop1_aDU + AbsBinds [taCk] [d.Ord_aCn] [([taCk], op2_aDX, op2_aCb)] + d.Ord_aCp = d.Ord_aCn + $mop2_aDY = $mop2_aDV taCk d.Ord_aCp + op2_aCb = $mop2_aDY + d.Foo_aBS = ({-dict-} [] [op1_aDW, op2_aDX]) +AbsBinds [] [] [([], $d2{-rDR,x-}, d.Foo_aCA)] + AbsBinds [] [] [([], op1_aDZ, op1_aCF)] + op1_aCF = $mop1_aDS + AbsBinds [taD0] [d.Ord_aD3] [([taD0], op2_aE0, op2_aCR)] + d.Ord_aD7 = d.Ord_aD3 + $mop2_aE1 = $mop2_aDT taD0 d.Ord_aD7 + op2_aCR = $mop2_aE1 + d.Foo_aCA = ({-dict-} [] [op1_aDZ, op2_aE0]) +op1{-r3C,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +op2{-r3D,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds +[taDi] +[d.Foo_aDI] +[([taDi], $mop1{-rBV,x-}, op1_aE2), ([taDi], + $mop2{-rBZ,x-}, + op2_aE4)] + d.Foo_aDK = d.Foo_aDI + op1_aE3 = op1{-r3C,x-} taDi d.Foo_aDK + AbsBinds [] [] [([], op1_aE2, op1_aDf)] + op1_aDf x_r3u = PrelBase.True{-5E,w-}{i} + AbsBinds [taDu] [d.Ord_aDE] [([taDu], op2_aE4, op2_aDo)] + d.Ord_aDG = d.Ord_aDE + <_aE5 = PrelBase.<{-rfI,p-} taDu d.Ord_aDG + op2_aDo x_r3y y_r3z z_r3A + = if (op1_aE3 x_r3y) PrelBase.&&{-r3B,p-} (y_r3z <_aE5 z_r3A) then + y_r3z + else + z_r3A +d.Foo_aDM = $d2{-rDR,x-} +$mop1_aDS = $mop1{-rBV,x-} PrelBase.Int{-3g,W-} d.Foo_aDM +d.Foo_aDP = d.Foo_aDM +$mop2_aDT = $mop2{-rBZ,x-} PrelBase.Int{-3g,W-} d.Foo_aDP +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d15 1 $d16 1 $d27 1 $d28 1 $d33 1 $d35 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 && 1 Eq 1 Ord 1 Ordering 1; +PrelNum 1 :: $d17 1 $d18 1; +_exports_ +ShouldSucceed Foo(op1 op2); +_instances_ +instance _forall_ [a] {Foo a} => {Foo [a]} = $d1; +instance {Foo PrelBase.Int} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a] {Foo a} => {Foo [a]} ;; +1 $d2 _:_ {Foo PrelBase.Int} ;; +1 $mop1 _:_ _forall_ [a] {Foo a} => a -> PrelBase.Bool ;; +1 $mop2 _:_ _forall_ [a] {Foo a} => _forall_ [b] {PrelBase.Ord b} => a -> b -> b -> b ;; +1 class Foo a where {op1 = :: a -> PrelBase.Bool; op2 = :: _forall_ [b] {PrelBase.Ord b} => a -> b -> b -> b} ; diff --git a/ghc/tests/typecheck/should_compile/tc080.hs b/ghc/tests/typecheck/should_compile/tc080.hs index d9ad6e9..2f01f96 100644 --- a/ghc/tests/typecheck/should_compile/tc080.hs +++ b/ghc/tests/typecheck/should_compile/tc080.hs @@ -1,15 +1,20 @@ --module Parse(Parse(..),whiteSpace,seperatedBy) where --import StdLib +module ShouldSucceed where + +import Char + class Parse a where parseFile :: String -> [a] + parseLine :: String -> a + parseType :: String -> (a,String) + parse :: String -> (a,String) + forced :: a -> Bool + parseFile string | all forced x = x where x = map parseLine (lines' string) - parseLine :: String -> a parseLine = pl.parse where pl (a,_) = a - parse :: String -> (a,String) parse = parseType.whiteSpace - parseType :: String -> (a,String) - forced :: a -> Bool forced x = True instance Parse Int where diff --git a/ghc/tests/typecheck/should_compile/tc080.stderr b/ghc/tests/typecheck/should_compile/tc080.stderr new file mode 100644 index 0000000..bbc7fcf --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc080.stderr @@ -0,0 +1,334 @@ + + +================================================================================ +Typechecked: +AbsBinds [] [] [([], charToInt{-r3R,x-}, charToInt_aZA)] + charToInt_aZA x_r4E + = (PrelBase.ord{-riq,p-} x_r4E) -_a1a5 (PrelBase.ord{-riq,p-} '0') +AbsBinds [] [] [([], strToInt{-r3Q,x-}, strToInt_aZI)] + d.Integral_a10K = PrelNum.$d36{-rI6,p-} + strToInt_aZI x_r4v + = strToInt'_a1ai (PrelList.length{-rz0,p-} + PrelBase.Char{-38,W-} x_r4v) + -_a19Z lit_a1a0 + x_r4v + where + {- rec -} + AbsBinds + [ta10j] + [d.Integral_a10t] + [([ta10j], strToInt'_r4x, strToInt'_aZL)] + d.Real_a19S = + PrelNum.scsel_IntegralPrelNumReal{-a1an,p-} ta10j d.Integral_a10t + d.Num_a10w = + PrelNum.scsel_RealPrelBaseNum{-a1ao,p-} ta10j d.Real_a19S + d.Num_a10s = PrelBase.$d4{-rcO,p-} + ^_a1aj = + PrelNum.^{-rAz,p-} [ta10j, PrelBase.Int{-3g,W-}] + [d.Num_a10s, d.Integral_a10t] + -_a1ak = PrelBase.-{-817,p-} ta10j d.Num_a10w + d.Num_a10z = d.Num_a10w + fromInt_a1al = PrelBase.fromInt{-8R,p-} ta10j d.Num_a10z + lit_a1am = fromInt_a1al PrelBase.I#{-5b,w-}{i} 1# + strToInt'_aZL _ PrelBase.[]{-5i,w-}{i} = lit_a1a1 + strToInt'_aZL x_r4A (a_r4B PrelBase.:{-55,w-}{i} l_r4C) + = ((charToInt{-r3R,x-} a_r4B) *_a1a3 (lit_a1a4 ^_a1aj x_r4A)) + +_a1a2 (strToInt'_aZL x_r4A -_a1ak lit_a1am l_r4C) + {- nonrec -} + strToInt'_a1ai = strToInt'_r4x PrelBase.Int{-3g,W-} d.Integral_a10K + {- nonrec -} +AbsBinds [ta10Z] [] [([ta10Z], span'{-r3O,x-}, span'_a10W)] + span'_a10W p_r49 PrelBase.[]{-5i,w-}{i} + = (PrelBase.[]{-5i,w-}{i} ta10Z, PrelBase.[]{-5i,w-}{i} ta10Z) + span'_a10W p_r4b (x_r4c PrelBase.:{-55,w-}{i} xs'_r4d) + | p_r4b x_r4c + = fixLeak_r4f [[ta10Z], ta10Z] x_r4c + span'{-r3O,x-} ta10Z p_r4b xs'_r4d + where + {- nonrec -} + AbsBinds + [ta11F, ta11H] + [] + [([ta11F, ta11H], fixLeak_r4f, fixLeak_a11j)] + fixLeak_a11j x_r4h (xs_r4i, ys_r4j) + = (PrelBase.:{-55,w-}{i} ta11H x_r4h xs_r4i, ys_r4j) + {- nonrec -} + {- nonrec -} + span'_a10W _ xs_r4l = (PrelBase.[]{-5i,w-}{i} ta10Z, xs_r4l) +AbsBinds [] [] [([], lines'{-r3P,x-}, lines'_a121)] + lines'_a121 "" = PrelBase.[]{-5i,w-}{i} [PrelBase.Char{-38,W-}] + lines'_a121 s_r4o + = plumb_r4q span'{-r3O,x-} PrelBase.Char{-38,W-} /=_a19Y '\n' s_r4o + where + {- nonrec -} + AbsBinds [] [] [([], plumb_r4q, plumb_a126)] + plumb_a126 (l_r4s, s'_r4t) + = PrelBase.:{-55,w-}{i} [PrelBase.Char{-38,W-}] + l_r4s + (if PrelList.null{-rz6,p-} + PrelBase.Char{-38,W-} s'_r4t then + PrelBase.[]{-5i,w-}{i} [PrelBase.Char{-38,W-}] + else + lines'{-r3P,x-} PrelList.tail{-rzj,p-} + PrelBase.Char{-38,W-} s'_r4t) + {- nonrec -} + {- nonrec -} +AbsBinds [] [] [([], whiteSpace{-r3N,x-}, whiteSpace_a12C)] + whiteSpace_a12C + = PrelBase.dropWhile{-rhV,p-} + PrelBase.Char{-38,W-} PrelBase.isSpace{-rig,p-} +AbsBinds [] [] [([], seperatedBy{-r3M,x-}, seperatedBy_a12G)] + seperatedBy_a12G ch_r3W PrelBase.[]{-5i,w-}{i} + = PrelBase.[]{-5i,w-}{i} PrelBase.String{-r5n,p-} + seperatedBy_a12G ch_r3Y xs_r3Z + = twaddle_r41 ch_r3Y + span'{-r3O,x-} PrelBase.Char{-38,W-} \ x_r47 + -> x_r47 /=_a19W ch_r3Y + xs_r3Z + where + {- nonrec -} + AbsBinds [] [] [([], twaddle_r41, twaddle_a12N)] + twaddle_a12N ch_r43 (l_r44, (_ PrelBase.:{-55,w-}{i} r_r45)) + = PrelBase.:{-55,w-}{i} PrelBase.String{-r5n,p-} + l_r44 (seperatedBy{-r3M,x-} ch_r43 r_r45) + {- nonrec -} + {- nonrec -} +AbsBinds +[ta13E] +[d.Parse_a154] +[([ta13E], $d1{-r19T,x-}, d.Parse_a13s)] + d.Parse_a158 = d.Parse_a13s + $mparseFile_a1ap = $mparseFile{-r13v,x-} [ta13E] d.Parse_a158 + d.Parse_a15a = d.Parse_a13s + $mparseLine_a1aq = $mparseLine{-r13z,x-} [ta13E] d.Parse_a15a + d.Parse_a15e = d.Parse_a154 + parseLine_a1ar = parseLine{-r4R,x-} ta13E d.Parse_a15e + d.Parse_a15k = d.Parse_a13s + $mparse_a1as = $mparse{-r13A,x-} [ta13E] d.Parse_a15k + d.Parse_a15m = d.Parse_a154 + forced_a1at = forced{-r5S,x-} ta13E d.Parse_a15m + AbsBinds [] [] [([], parseFile_a1au, parseFile_a13y)] + parseFile_a13y = $mparseFile_a1ap + AbsBinds [] [] [([], parseLine_a1av, parseLine_a13L)] + parseLine_a13L = $mparseLine_a1aq + AbsBinds [] [] [([], parseType_a1aw, parseType_a13T)] + parseType_a13T more_r4L + = (map_a1a6 [PrelBase.String{-r5n,p-}, ta13E] parseLine_a1ar + seperatedBy{-r3M,x-} ',' + ++_a1a7 + PrelBase.Char{-38,W-} + l_r4N + ",", + out_r4O) + where + {- nonrec -} + AbsBinds [] [] [([], l_r4N, l_a13W), ([], out_r4O, out_a13X)] + (l_a13W, (']' PrelBase.:{-55,w-}{i} out_a13X)) + = span'{-r3O,x-} PrelBase.Char{-38,W-} \ x_r4Q + -> x_r4Q /=_a1a8 ']' + PrelList.tail{-rzj,p-} + PrelBase.Char{-38,W-} more_r4L + {- nonrec -} + {- nonrec -} + AbsBinds [] [] [([], parse_a1ax, parse_a14R)] + parse_a14R = $mparse_a1as + AbsBinds [] [] [([], forced_a1ay, forced_a14Z)] + forced_a14Z = PrelList.all{-rwP,p-} ta13E forced_a1at + d.Parse_a13s = + ({-dict-} + [] + [parseFile_a1au, parseLine_a1av, parseType_a1aw, parse_a1ax, forced_a1ay]) +AbsBinds [] [] [([], $d2{-r19U,x-}, d.Parse_a15s)] + AbsBinds [] [] [([], parseFile_a1az, parseFile_a15x)] + parseFile_a15x = $mparseFile_a1a9 + AbsBinds [] [] [([], parseLine_a1aA, parseLine_a15H)] + parseLine_a15H = $mparseLine_a1aa + AbsBinds [] [] [([], parseType_a1aB, parseType_a15Q)] + parseType_a15Q (ch_r4Z PrelBase.:{-55,w-}{i} str_r50) + = (ch_r4Z, str_r50) + AbsBinds [] [] [([], parse_a1aC, parse_a164)] + parse_a164 = $mparse_a1ab + AbsBinds [] [] [([], forced_a1aD, forced_a16d)] + forced_a16d n_r54 = PrelBase.True{-5E,w-}{i} + d.Parse_a15s = + ({-dict-} + [] + [parseFile_a1az, parseLine_a1aA, parseType_a1aB, parse_a1aC, forced_a1aD]) +AbsBinds [] [] [([], $d3{-r19V,x-}, d.Parse_a16q)] + AbsBinds [] [] [([], parseFile_a1aE, parseFile_a16v)] + parseFile_a16v = $mparseFile_a1ac + AbsBinds [] [] [([], parseLine_a1aF, parseLine_a16F)] + parseLine_a16F = $mparseLine_a1ad + AbsBinds [] [] [([], parseType_a1aG, parseType_a16O)] + parseType_a16O str_r5a + = pl_r5c PrelBase.String{-r5n,p-} span'{-r3O,x-} + PrelBase.Char{-38,W-} PrelBase.isDigit{-ria,p-} + str_r5a + where + {- nonrec -} + AbsBinds [ta178] [] [([ta178], pl_r5c, pl_a16R)] + pl_a16R (l_r5e, r_r5f) = (strToInt{-r3Q,x-} l_r5e, r_r5f) + {- nonrec -} + {- nonrec -} + AbsBinds [] [] [([], parse_a1aH, parse_a17h)] + parse_a17h = $mparse_a1ae + AbsBinds [] [] [([], forced_a1aI, forced_a17q)] + forced_a17q n_r5j + | n_r5j >=_a1af lit_a1ag = PrelBase.True{-5E,w-}{i} + d.Parse_a16q = + ({-dict-} + [] + [parseFile_a1aE, parseLine_a1aF, parseType_a1aG, parse_a1aH, forced_a1aI]) +parseFile{-r5P,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B1;} +parseLine{-r4R,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B2;} +parseType{-r5Q,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B3;} +parse{-r5R,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B4;} +forced{-r5S,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B5;} +AbsBinds +[ta182] +[d.Parse_a197] +[([ta182], $mparseFile{-r13v,x-}, parseFile_a1aJ), ([ta182], + $mparseLine{-r13z,x-}, + parseLine_a1aO), ([ta182], + $mparse{-r13A,x-}, + parse_a1aP), ([ta182], + $mforced{-r13B,x-}, + forced_a1aQ)] + d.Parse_a199 = d.Parse_a197 + forced_a1aK = forced{-r5S,x-} ta182 d.Parse_a199 + d.Parse_a19d = d.Parse_a197 + parseLine_a1aL = parseLine{-r4R,x-} ta182 d.Parse_a19d + d.Parse_a19f = d.Parse_a197 + parse_a1aM = parse{-r5R,x-} ta182 d.Parse_a19f + d.Parse_a19h = d.Parse_a197 + parseType_a1aN = parseType{-r5Q,x-} ta182 d.Parse_a19h + AbsBinds [] [] [([], parseFile_a1aJ, parseFile_a17K)] + parseFile_a17K string_r5A + | PrelList.all{-rwP,p-} ta182 forced_a1aK x_r5C = x_r5C + where + {- nonrec -} + AbsBinds [] [] [([], x_r5C, x_a17N)] + x_a17N + = map_a1ah [PrelBase.String{-r5n,p-}, ta182] parseLine_a1aL + lines'{-r3P,x-} string_r5A + {- nonrec -} + {- nonrec -} + AbsBinds [] [] [([], parseLine_a1aO, parseLine_a18o)] + parseLine_a18o + = PrelBase..{-rc2,p-} + [(ta182, PrelBase.String{-r5n,p-}), PrelBase.String{-r5n,p-}, ta182] + (pl_r5G [ta182, PrelBase.String{-r5n,p-}]) parse_a1aM + where + {- nonrec -} + AbsBinds [ta18v, ta18y] [] [([ta18v, ta18y], pl_r5G, pl_a18n)] + pl_a18n (a_r5I, _) = a_r5I + {- nonrec -} + {- nonrec -} + AbsBinds [] [] [([], parse_a1aP, parse_a18R)] + parse_a18R + = PrelBase..{-rc2,p-} + [PrelBase.String{-r5n,p-}, PrelBase.String{-r5n,p-}, (ta182, PrelBase.String{-r5n,p-})] + parseType_a1aN whiteSpace{-r3N,x-} + AbsBinds [] [] [([], forced_a1aQ, forced_a192)] + forced_a192 x_r5O = PrelBase.True{-5E,w-}{i} +d.Eq_a19j = PrelBase.$d34{-rcI,p-} +/=_a19W = PrelBase./={-rhx,p-} PrelBase.Char{-38,W-} d.Eq_a19j +d.Eq_a19o = d.Eq_a19j +d.Eq_a19m = PrelBase.$d28{-rcB,p-} PrelBase.Char{-38,W-} d.Eq_a19o +==_a19X = PrelBase.=={-8Y,p-} [PrelBase.Char{-38,W-}] d.Eq_a19m +/=_a19Y = /=_a19W +d.Num_a19q = PrelBase.$d4{-rcO,p-} +-_a19Z = PrelBase.-{-817,p-} PrelBase.Int{-3g,W-} d.Num_a19q +lit_a1a0 = PrelBase.I#{-5b,w-}{i} 1# +lit_a1a1 = PrelBase.I#{-5b,w-}{i} 0# +d.Num_a19t = d.Num_a19q ++_a1a2 = PrelBase.+{-rhC,p-} PrelBase.Int{-3g,W-} d.Num_a19t +d.Num_a19v = d.Num_a19q +*_a1a3 = PrelBase.*{-rhD,p-} PrelBase.Int{-3g,W-} d.Num_a19v +lit_a1a4 = PrelBase.I#{-5b,w-}{i} 10# +-_a1a5 = -_a19Z +d.Functor_a19x = PrelBase.$d26{-rcz,p-} +map_a1a6 = PrelBase.map{-rhy,p-} PrelBase.[]{-3j,W-} d.Functor_a19x +d.MonadPlus_a19A = PrelBase.$d23{-rcw,p-} +++_a1a7 = PrelBase.++{-rhB,p-} PrelBase.[]{-3j,W-} d.MonadPlus_a19A +/=_a1a8 = /=_a19W +d.Parse_a19D = $d2{-r19U,x-} +$mparseFile_a1a9 = + $mparseFile{-r13v,x-} PrelBase.Char{-38,W-} d.Parse_a19D +d.Parse_a19G = d.Parse_a19D +$mparseLine_a1aa = + $mparseLine{-r13z,x-} PrelBase.Char{-38,W-} d.Parse_a19G +d.Parse_a19I = d.Parse_a19D +$mparse_a1ab = $mparse{-r13A,x-} PrelBase.Char{-38,W-} d.Parse_a19I +d.Parse_a19K = $d3{-r19V,x-} +$mparseFile_a1ac = + $mparseFile{-r13v,x-} PrelBase.Int{-3g,W-} d.Parse_a19K +d.Parse_a19N = d.Parse_a19K +$mparseLine_a1ad = + $mparseLine{-r13z,x-} PrelBase.Int{-3g,W-} d.Parse_a19N +d.Parse_a19P = d.Parse_a19K +$mparse_a1ae = $mparse{-r13A,x-} PrelBase.Int{-3g,W-} d.Parse_a19P +d.Ord_a19R = PrelBase.$d7{-rda,p-} +>=_a1af = PrelBase.>={-8Z,p-} PrelBase.Int{-3g,W-} d.Ord_a19R +lit_a1ag = lit_a1a1 +map_a1ah = map_a1a6 +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d23 1 $d24 1 $d25 1 $d26 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 . 1 dropWhile 1 isDigit 1 isSpace 1 ord 1 Enum 1 Eq 1 Eval 1 Functor 1 Monad 1 MonadPlus 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 String 1; +PrelList 1 :: all 1 length 1 null 1 tail 1; +PrelNum 1 :: $d1 1 $d10 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d5 1 $d6 1 $d7 1 $d8 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrem 1 ^ 1 Integral 1 Ratio 1 Rational 1 Real 1; +PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1; +_exports_ +ShouldSucceed charToInt lines' seperatedBy span' strToInt whiteSpace Parse(parseFile parseLine parseType parse forced); +_instances_ +instance _forall_ [a] {Parse a} => {Parse [a]} = $d1; +instance {Parse PrelBase.Char} = $d2; +instance {Parse PrelBase.Int} = $d3; +_declarations_ +1 $d1 _:_ _forall_ [a] {Parse a} => {Parse [a]} ;; +1 $d2 _:_ {Parse PrelBase.Char} ;; +1 $d3 _:_ {Parse PrelBase.Int} ;; +1 $mforced _:_ _forall_ [a] {Parse a} => a -> PrelBase.Bool ;; +1 $mparse _:_ _forall_ [a] {Parse a} => PrelBase.String -> (a, PrelBase.String) ;; +1 $mparseFile _:_ _forall_ [a] {Parse a} => PrelBase.String -> [a] ;; +1 $mparseLine _:_ _forall_ [a] {Parse a} => PrelBase.String -> a ;; +1 class Parse a where {parseFile = :: PrelBase.String -> [a]; parseLine = :: PrelBase.String -> a; parseType :: PrelBase.String -> (a, PrelBase.String); parse = :: PrelBase.String -> (a, PrelBase.String); forced = :: a -> PrelBase.Bool} ; +1 charToInt _:_ PrelBase.Char -> PrelBase.Int ;; +1 lines' _:_ [PrelBase.Char] -> [[PrelBase.Char]] ;; +1 seperatedBy _:_ PrelBase.Char -> PrelBase.String -> [PrelBase.String] ;; +1 span' _:_ _forall_ [ta] => (ta -> PrelBase.Bool) -> [ta] -> ([ta], [ta]) ;; +1 strToInt _:_ PrelBase.String -> PrelBase.Int ;; +1 whiteSpace _:_ PrelBase.String -> PrelBase.String ;; diff --git a/ghc/tests/typecheck/should_compile/tc081.hs b/ghc/tests/typecheck/should_compile/tc081.hs deleted file mode 100644 index 6590550..0000000 --- a/ghc/tests/typecheck/should_compile/tc081.hs +++ /dev/null @@ -1,28 +0,0 @@ ---!!! an example Simon made up --- -module ShouldSucceed where - -f x = (x+1, x<3, g True, g 'c') - where - g y = if x>2 then [] else [y] -{- -Here the type-check of g will yield an LIE with an Ord dict -for x. g still has type forall a. a -> [a]. The dictionary is -free, bound by the x. - -It should be ok to add the signature: --} - -f2 x = (x+1, x<3, g2 True, g2 'c') - where - -- NB: this sig: - g2 :: a -> [a] - g2 y = if x>2 then [] else [y] -{- -or to write: --} - -f3 x = (x+1, x<3, g3 True, g3 'c') - where - -- NB: this line: - g3 = (\ y -> if x>2 then [] else [y])::(a -> [a]) diff --git a/ghc/tests/typecheck/should_compile/tc082.hs b/ghc/tests/typecheck/should_compile/tc082.hs index f2ccb36..07df34b 100644 --- a/ghc/tests/typecheck/should_compile/tc082.hs +++ b/ghc/tests/typecheck/should_compile/tc082.hs @@ -1,6 +1,6 @@ --!!! tc082: an instance for functions -- -module N where +module ShouldSucceed where class Normal a where diff --git a/ghc/tests/typecheck/should_compile/tc082.stderr b/ghc/tests/typecheck/should_compile/tc082.stderr new file mode 100644 index 0000000..ec3b654 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc082.stderr @@ -0,0 +1,32 @@ + + +================================================================================ +Typechecked: +AbsBinds [tary] [] [([tary], f{-r3p,x-}, f_arl)] + d.Normal_arA = $d1{-rrW,x-} [GHC.Void{-3T,W-}, GHC.Void{-3T,W-}] + normal_arX = + normal{-r3r,x-} (GHC.Void{-3T,W-} -> GHC.Void{-3T,W-}) d.Normal_arA + f_arl x_r3f = normal_arX PrelBase.id{-r9U,p-} GHC.Void{-3T,W-} +AbsBinds +[tarP, tarQ] +[] +[([tarP, tarQ], $d1{-rrW,x-}, d.Normal_arI)] + AbsBinds [] [] [([], normal_arY, normal_arM)] + normal_arM _ = PrelBase.True{-5E,w-}{i} + d.Normal_arI = ({-dict-} [] [normal_arY]) +normal{-r3r,x-} = _/\_ t12 -> \ tpl_B1 -> tpl_B1 +AbsBinds [tarV] [d.Normal_arU] [] +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: id 1; +_exports_ +ShouldSucceed f Normal(normal); +_instances_ +instance _forall_ [a b] => {Normal (a -> b)} = $d1; +_declarations_ +1 $d1 _:_ _forall_ [a b] => {Normal (a -> b)} ;; +1 class Normal a where {normal :: a -> PrelBase.Bool} ; +1 f _:_ _forall_ [ta] => ta -> PrelBase.Bool ;; diff --git a/ghc/tests/typecheck/should_compile/tc083.hs b/ghc/tests/typecheck/should_compile/tc083.hs deleted file mode 100644 index 1c5321e..0000000 --- a/ghc/tests/typecheck/should_compile/tc083.hs +++ /dev/null @@ -1,10 +0,0 @@ ---!!! instances with no binds; ---!!! be sure we get a legit .hi file --- -module Bar where - -import ClassFoo - -instance Foo Int - -instance Foo a => Foo [a] diff --git a/ghc/tests/typecheck/should_compile/tc084.hs b/ghc/tests/typecheck/should_compile/tc084.hs index 572bbe3..597a296 100644 --- a/ghc/tests/typecheck/should_compile/tc084.hs +++ b/ghc/tests/typecheck/should_compile/tc084.hs @@ -7,7 +7,7 @@ Simon PJ -} -module Foo where +module ShouldSucceed where g :: Num a => Bool -> a -> b -> a diff --git a/ghc/tests/typecheck/should_compile/tc084.stderr b/ghc/tests/typecheck/should_compile/tc084.stderr new file mode 100644 index 0000000..5771a4f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc084.stderr @@ -0,0 +1,33 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taC7, taCa] +[d.Num_aCi] +[([taCa, taC7], g{-r3h,x-}, g_aC3)] + d.Num_aCk = d.Num_aCi + +_aCR = PrelBase.+{-rfr,p-} taC7 d.Num_aCk + d.Num_aCm = d.Num_aCi + -_aCS = PrelBase.-{-817,p-} taC7 d.Num_aCm + g_aC3 b_r3l x_r3m y_r3n + = if b_r3l then x_r3m +_aCR x_r3m else x_r3m -_aCS x_r3m +AbsBinds [taCu] [] [([taCu], f{-r3i,x-}, f_aCo)] + g_aCT = g{-r3h,x-} [taCu, PrelBase.Int{-3g,W-}] d.Num_aCz + f_aCo = g_aCT PrelBase.True{-5E,w-}{i} +AbsBinds [taCQ] [] [([taCQ], h{-r3j,x-}, h_aCB)] + h_aCB y_r3p x_r3q = f{-r3i,x-} taCQ x_r3q y_r3p +d.Num_aCz = PrelBase.$d4{-raC,p-} +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed f g h; +_declarations_ +1 f _:_ _forall_ [ta] => PrelBase.Int -> ta -> PrelBase.Int ;; +1 g _:_ _forall_ [ta tb] {PrelBase.Num tb} => PrelBase.Bool -> tb -> ta -> tb ;; +1 h _:_ _forall_ [ta] => ta -> PrelBase.Int -> PrelBase.Int ;; diff --git a/ghc/tests/typecheck/should_compile/tc085.hs b/ghc/tests/typecheck/should_compile/tc085.hs index fe5ad6a..ca2822f 100644 --- a/ghc/tests/typecheck/should_compile/tc085.hs +++ b/ghc/tests/typecheck/should_compile/tc085.hs @@ -1,6 +1,6 @@ --!!! From a bug report from Satnam. --!!! To do with re-exporting importees from PreludeGla* modules. -module Foo ( module GlaExts, module Foo ) where +module ShouldSucceed ( module GlaExts ) where --OLD: import PreludeGlaIO import GlaExts diff --git a/ghc/tests/typecheck/should_compile/tc085.stderr b/ghc/tests/typecheck/should_compile/tc085.stderr new file mode 100644 index 0000000..2e14883 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc085.stderr @@ -0,0 +1,32 @@ + + +================================================================================ +Typechecked: +FooData{-r5,l-}{i} = FooData{-r5,l-}{i} {} +AbsBinds [] [] [([], $d1{-rBr,x-}, d.Eval_aBo)] + d.Eval_aBo = ({-dict-} [] []) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +GlaExts 1 ::; +PrelBase 1 :: $d2 1 $d38 1 $d40 1 $d42 1 $d47 1 Eval 1; +_exports_ +ArrBase boundsOfArray boundsOfByteArray freezeAddrArray freezeArray freezeCharArray freezeDoubleArray freezeFloatArray freezeIntArray indexAddrArray indexAddrOffAddr indexCharArray indexCharOffAddr indexDoubleArray indexDoubleOffAddr indexFloatArray indexFloatOffAddr indexIntArray indexIntOffAddr newAddrArray newArray newCharArray newDoubleArray newFloatArray newIntArray readAddrArray readArray readCharArray readDoubleArray readFloatArray readIntArray thawArray unsafeFreezeArray unsafeFreezeByteArray writeAddrArray writeArray writeCharArray writeDoubleArray writeFloatArray writeIntArray ByteArray(ByteArray) MutableArray(MutableArray) MutableByteArray(MutableByteArray); +Foreign Addr(A#) Word(W#); +GHC *# *## **## +# +## -# -## /## /=# /=## <# <## <=# <=## ==# ==## ># >## >=# >=## acosDouble# acosFloat# addr2Int# and# asinDouble# asinFloat# atanDouble# atanFloat# chr# cmpInteger# cosDouble# cosFloat# coshDouble# coshFloat# deRefStablePtr# decodeDouble# decodeFloat# delay# divideFloat# double2Float# double2Int# encodeDouble# encodeFloat# eqAddr# eqChar# eqFloat# eqWord# errorIO# expDouble# expFloat# float2Double# float2Int# fork# geAddr# geChar# geFloat# geWord# gtAddr# gtChar# gtFloat# gtWord# iShiftL# iShiftRA# iShiftRL# indexAddrArray# indexAddrOffAddr# indexAddrOffForeignObj# indexArray# indexCharArray# indexCharOffAddr# indexCharOffForeignObj# indexDoubleArray# indexDoubleOffAddr# indexDoubleOffForeignObj# indexFloatArray# indexFloatOffAddr# indexFloatOffForeignObj# indexIntArray# indexIntOffAddr# indexIntOffForeignObj# int2Addr# int2Double# int2Float# int2Integer# int2Word# integer2Int# leAddr# leChar# leFloat# leWord# logDouble# logFloat# ltAddr# ltChar# ltFloat# ltWord# makeForeignObj# makeStablePtr# minusFloat# minusInteger# neAddr# neChar# neFloat# neWord# negateDouble# negateFloat# negateInt# negateInteger# newAddrArray# newArray# newCharArray# newDoubleArray# newFloatArray# newIntArray# newSynchVar# not# or# ord# par# parAt# parAtForNow# parGlobal# parLocal# plusFloat# plusInteger# powerFloat# putMVar# quotInt# quotRemInteger# readAddrArray# readArray# readCharArray# readDoubleArray# readFloatArray# readIntArray# realWorld# remInt# sameMutableArray# sameMutableByteArray# seq# shiftL# shiftRA# shiftRL# sinDouble# sinFloat# sinhDouble# sinhFloat# sqrtDouble# sqrtFloat# takeMVar# tanDouble# tanFloat# tanhDouble# tanhFloat# timesFloat# timesInteger# unsafeFreezeArray# unsafeFreezeByteArray# waitRead# waitWrite# word2Int# writeAddrArray# writeArray# writeCharArray# writeDoubleArray# writeFloatArray# writeForeignObj# writeIntArray# -> Addr# All Array# ByteArray# Char# Double# Float# ForeignObj# Int# MutableArray# MutableByteArray# RealWorld StablePtr# State# SynchVar# Void Word#; +IOBase ioToPrimIO ioToST primIOToIO seqIO_Prim stToIO thenIO_Prim trace; +Ix Ix; +PrelBase Char(C#) Double(D#) Float(F#) Int(I#) Integer(J#) Lift(Lift); +STBase fixPrimIO listPrimIO mapAndUnzipPrimIO mapPrimIO returnPrimIO seqPrimIO thenPrimIO PrimIO ST; +UnsafeST unsafeInterleavePrimIO unsafePerformPrimIO; +_fixities_ +infixr 1 seqIO_Prim; +infixr 1 thenIO_Prim; +_instances_ +instance {PrelBase.Eval FooData} = $d1; +_declarations_ +1 $d1 _:_ {PrelBase.Eval FooData} ;; +1 data FooData = FooData ; +1 type FooType = PrelBase.Int ; diff --git a/ghc/tests/typecheck/should_compile/tc086.hs b/ghc/tests/typecheck/should_compile/tc086.hs index 4d9ba6e..1f0f427 100644 --- a/ghc/tests/typecheck/should_compile/tc086.hs +++ b/ghc/tests/typecheck/should_compile/tc086.hs @@ -22,7 +22,7 @@ SPJ note: the type signature on "multiply" should be -} -module Rings( Group, Ring ) where +module ShouldSucceed( Group, Ring ) where import qualified Prelude( Ord(..), Eq(..), Num(..) ) import Prelude hiding( Ord(..), Eq(..), Num(..), MonadZero( zero ) ) diff --git a/ghc/tests/typecheck/should_compile/tc086.stderr b/ghc/tests/typecheck/should_compile/tc086.stderr new file mode 100644 index 0000000..35f78eb --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc086.stderr @@ -0,0 +1,124 @@ + + +================================================================================ +Typechecked: +scsel_RingShouldSucceedGroup{-aFJ,x-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B1;} +*{-r6D,l-} = + _/\_ t12 -> \ tpl_B1 -> + case tpl_B1 of { PrelTup.(,){-62,w-}{i} tpl_B1 tpl_B2 -> tpl_B2;} +AbsBinds [taE5] [d.Ring_aFn] [([taE5], $m*{-rFK,x-}, *_aFL)] + d.Group_aFk = scsel_RingShouldSucceedGroup{-aFJ,x-} taE5 d.Ring_aFn + AbsBinds [] [] [([], *_aFL, *_aE2)] + *_aE2 a_r6L b_r6M + = multiply_aFO a_r6L b_r6M + where + {- rec -} + AbsBinds + [taEe] + [d.Group_aF3] + [([taEe], multiply_r6O, multiply_aEb)] + d.Group_aF5 = d.Group_aF3 + compare_aFP = compare{-r6w,l-} taEe d.Group_aF5 + d.Group_aF7 = d.Group_aF3 + zero_aFQ = zero{-r6A,l-} taEe d.Group_aF7 + zero_aFR = zero_aFQ + d.Group_aF9 = d.Group_aF3 + -_aFS = -{-r6z,l-} taEe d.Group_aF9 + zero_aFT = zero_aFQ + d.Group_aFb = d.Group_aF3 + multiply_aFU = multiply_r6O taEe d.Group_aFb + -_aFV = -_aFS + zero_aFW = zero_aFQ + compare_aFX = compare_aFP + d.Group_aFd = d.Group_aF3 + one_aFY = one{-r6B,l-} taEe d.Group_aFd + d.Group_aFf = d.Group_aF3 + +_aFZ = +{-r6y,l-} taEe d.Group_aFf + multiply_aG0 = multiply_aFU + -_aG1 = -_aFS + one_aG2 = one_aFY + multiply_aEb a_r6S b_r6T + = case compare_aFP a_r6S zero_aFQ of + PrelBase.EQ{-r2a,p-}{i} -> zero_aFR + PrelBase.LT{-r28,p-}{i} + -> zero_aFT -_aFS (multiply_aFU zero_aFW -_aFV a_r6S b_r6T) + PrelBase.GT{-r2c,p-}{i} + -> case compare_aFX a_r6S one_aFY of + PrelBase.EQ{-r2a,p-}{i} -> b_r6T + _ + -> b_r6T +_aFZ (multiply_aG0 a_r6S -_aG1 one_aG2 b_r6T) + {- nonrec -} + multiply_aFO = multiply_r6O taE5 d.Group_aFk + {- nonrec -} +compare{-r6w,l-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,,){-66,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 tpl_B6 -> + tpl_B1;} +fromInteger{-r6x,l-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,,){-66,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 tpl_B6 -> + tpl_B2;} ++{-r6y,l-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,,){-66,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 tpl_B6 -> + tpl_B3;} +-{-r6z,l-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,,){-66,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 tpl_B6 -> + tpl_B4;} +zero{-r6A,l-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,,){-66,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 tpl_B6 -> + tpl_B5;} +one{-r6B,l-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,,){-66,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 tpl_B6 -> + tpl_B6;} +AbsBinds +[taFt] +[d.Group_aFG] +[([taFt], $mzero{-rFM,x-}, zero_aG3), ([taFt], + $mone{-rFN,x-}, + one_aG6)] + d.Group_aFI = d.Group_aFG + fromInteger_aG4 = fromInteger{-r6x,l-} taFt d.Group_aFI + fromInteger_aG5 = fromInteger_aG4 + AbsBinds [] [] [([], zero_aG3, zero_aFs)] + zero_aFs = fromInteger_aG4 0 + AbsBinds [] [] [([], one_aG6, one_aFA)] + one_aFA = fromInteger_aG5 1 +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d55 1 $d56 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Ordering 1 Ordering 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +ShouldSucceed Group Ring; +_declarations_ +1 $m* _:_ _forall_ [a] {Ring a} => a -> a -> a ;; +1 $mone _:_ _forall_ [a] {Group a} => a ;; +1 $mzero _:_ _forall_ [a] {Group a} => a ;; +1 class Group a where {compare :: a -> a -> PrelBase.Ordering; fromInteger :: PrelBase.Integer -> a; + :: a -> a -> a; - :: a -> a -> a; zero = :: a; one = :: a} ; +1 class {Group a} => Ring a where {* = :: a -> a -> a} ; diff --git a/ghc/tests/typecheck/should_compile/tc087.hs b/ghc/tests/typecheck/should_compile/tc087.hs index 8477427..cb4b925 100644 --- a/ghc/tests/typecheck/should_compile/tc087.hs +++ b/ghc/tests/typecheck/should_compile/tc087.hs @@ -1,4 +1,4 @@ -module SOL where +module ShouldSucceed where import GlaExts diff --git a/ghc/tests/typecheck/should_compile/tc087.stderr b/ghc/tests/typecheck/should_compile/tc087.stderr new file mode 100644 index 0000000..8e9cafe --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc087.stderr @@ -0,0 +1,188 @@ + + +================================================================================ +Typechecked: +Null{-rf,x-}{i} = + _/\_ t_ar59 a_tr5a -> Null{-rf,x-}{i} {_@_ t_ar59 _@_ a_tr5a} +Cons{-re,x-}{i} = + _/\_ t_ar59 a_tr5a -> \ tpl_B1 tpl_B2 -> + Cons{-re,x-}{i} {_@_ t_ar59 _@_ a_tr5a tpl_B1 tpl_B2} +AbsBinds [ta13I] [d.Num_a13T] [([ta13I], out{-r4v,x-}, out_a13F)] + d.Eq_a13V = PrelBase.scsel_NumPrelBaseEq{-a19a,p-} ta13I d.Num_a13T + ==_a196 = PrelBase.=={-8Y,p-} ta13I d.Eq_a13V + d.Num_a13X = d.Num_a13T + sum_a197 = PrelList.sum{-ro0,p-} ta13I d.Num_a13X + d.Num_a140 = d.Num_a13T + fromInt_a198 = PrelBase.fromInt{-8R,p-} ta13I d.Num_a140 + lit_a199 = fromInt_a198 PrelBase.I#{-5b,w-}{i} 0# + out_a13F x_r4O + | (sum_a197 x_r4O) ==_a196 lit_a199 = PrelIO.putStr{-riO,p-} "ok\n" + | PrelBase.otherwise{-818,p-} = PrelIO.putStr{-riO,p-} "ok\n" +out_a18N = out{-r4v,x-} PrelBase.Int{-3g,W-} d.Num_a18n +out_a18O = out{-r4v,x-} PrelBase.Double{-3a,W-} d.Num_a18o +AbsBinds +[ta14p, aa14q] +[d.PriorityQueue_a14u, d.Ord_a14w] +[([ta14p, aa14q], insertMany{-r4x,x-}, insertMany_a143)] + insert_a14r = insert{-r5d,x-} aa14q d.PriorityQueue_a14u + insert_a19b = insert_a14r ta14p d.Ord_a14w + insertMany_a143 x_r4G q_r4H + = PrelBase.foldr{-89,w-} [ta14p, aa14q ta14p] insert_a19b + q_r4H + x_r4G +AbsBinds +[aa153, ta155] +[d.PriorityQueue_a158, d.Ord_a15a] +[([aa153, ta155], toOrderedList{-r4w,x-}, toOrderedList_a14y)] + splitMin_a156 = splitMin{-r5f,x-} aa153 d.PriorityQueue_a158 + splitMin_a19c = splitMin_a156 ta155 d.Ord_a15a + toOrderedList_a14y q_r4A + = case splitMin_a19c q_r4A of + Null{-rf,x-}{i} -> PrelBase.[]{-5i,w-}{i} ta155 + (Cons{-re,x-}{i} a_r4D q_r4E) + -> PrelBase.:{-55,w-}{i} ta155 a_r4D (toOrderedList_a14y q_r4E) +AbsBinds +[aa15w, ta15x] +[d.PriorityQueue_a15A, d.Ord_a15B] +[([aa15w, ta15x], pqSort{-r4y,x-}, pqSort_a15c)] + toOrderedList_a19d = + toOrderedList{-r4w,x-} [aa15w, ta15x] + [d.PriorityQueue_a15A, d.Ord_a15B] + d.PriorityQueue_a15D = d.PriorityQueue_a15A + d.Ord_a15E = d.Ord_a15B + insertMany_a19e = + insertMany{-r4x,x-} [ta15x, aa15w] + [d.PriorityQueue_a15D, d.Ord_a15E] + pqSort_a15c q_r4J x_r4K + = toOrderedList_a19d insertMany_a19e x_r4K q_r4J +AbsBinds +[aa15R] +[d.PriorityQueue_a16G] +[([aa15R], check{-r4u,x-}, check_a15N)] + d.PriorityQueue_a17d = d.PriorityQueue_a16G + d.Ord_a17e = PrelBase.$d7{-rcM,p-} + pqSort_a19f = + pqSort{-r4y,x-} [aa15R, PrelBase.Int{-3g,W-}] + [d.PriorityQueue_a17d, d.Ord_a17e] + d.Ord_a16H = d.Ord_a17e + d.PriorityQueue_a17l = d.PriorityQueue_a16G + d.Ord_a17m = PrelNum.$d17{-rwV,p-} + pqSort_a19g = + pqSort{-r4y,x-} [aa15R, PrelBase.Double{-3a,W-}] + [d.PriorityQueue_a17l, d.Ord_a17m] + d.Ord_a16I = d.Ord_a17m + check_a15N empty_r4M + = do + PrelIO.putStr{-riO,p-} "*** sorting\n" + out_a18N pqSort_a19f empty_a19h + [(enumFromTo_a18W) lit_a18U .. lit_a18V] + out_a18O pqSort_a19g empty_a19i + [(enumFromThenTo_a193) lit_a18Y, lit_a190 .. lit_a192] + where + {- nonrec -} + empty_a19h = empty_r4M PrelBase.Int{-3g,W-} d.Ord_a16H + empty_a19i = empty_r4M PrelBase.Double{-3a,W-} d.Ord_a16I + {- nonrec -} +AbsBinds +[aa18I, ta18J] +[] +[([aa18I, ta18J], $d1{-r18S,x-}, d.Eval_a17F)] + d.Eval_a17F = ({-dict-} [] []) +empty{-r5b,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B1;} +single{-r5c,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B2;} +insert{-r5d,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B3;} +meld{-r5e,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B4;} +splitMin{-r5f,x-} = + _/\_ t12 -> \ tpl_B1 -> + case + tpl_B1 + of { + PrelTup.(,,,,){-65,w-}{i} tpl_B1 tpl_B2 tpl_B3 tpl_B4 tpl_B5 -> + tpl_B5;} +AbsBinds +[aa17N] +[d.PriorityQueue_a18i] +[([aa17N], $minsert{-r18T,x-}, insert_a19j)] + d.PriorityQueue_a18k = d.PriorityQueue_a18i + meld_a189 = meld{-r5e,x-} aa17N d.PriorityQueue_a18k + d.PriorityQueue_a18m = d.PriorityQueue_a18i + single_a188 = single{-r5c,x-} aa17N d.PriorityQueue_a18m + AbsBinds [ta17Q] [d.Ord_a18c] [([ta17Q], insert_a19j, insert_a17L)] + d.Ord_a18e = d.Ord_a18c + meld_a19k = meld_a189 ta17Q d.Ord_a18e + d.Ord_a18g = d.Ord_a18c + single_a19l = single_a188 ta17Q d.Ord_a18g + insert_a17L a_r56 q_r57 = (single_a19l a_r56) meld_a19k q_r57 +d.Num_a18n = PrelBase.$d4{-rcq,p-} +lit_a18U = PrelBase.I#{-5b,w-}{i} 1# +lit_a18V = PrelBase.I#{-5b,w-}{i} 99# +d.Enum_a18r = PrelBase.$d6{-rcL,p-} +enumFromTo_a18W = + PrelBase.enumFromTo{-8W,p-} PrelBase.Int{-3g,W-} d.Enum_a18r +d.Num_a18o = PrelNum.$d16{-rwU,p-} +d.Fractional_a18w = PrelNum.$d14{-rwS,p-} +fromRational_a18X = + PrelNum.fromRational{-8T,p-} PrelBase.Double{-3a,W-} + d.Fractional_a18w +lit_a18Y = fromRational_a18X 1.0000000000000000 +fromRational_a18Z = fromRational_a18X +lit_a190 = fromRational_a18Z 1.1000000000000001 +fromRational_a191 = fromRational_a18X +lit_a192 = fromRational_a191 99.900000000000006 +d.Enum_a18B = PrelNum.$d8{-rxr,p-} +enumFromThenTo_a193 = + PrelBase.enumFromThenTo{-8X,p-} PrelBase.Double{-3a,W-} d.Enum_a18B +d.Monad_a18E = IOBase.$d3{-rm9,p-} +>>=_a194 = PrelBase.>>={-811,p-} IOBase.IO{-3e,p-} d.Monad_a18E +d.Monad_a18H = d.Monad_a18E +return_a195 = + PrelBase.return{-816,p-} IOBase.IO{-3e,p-} d.Monad_a18H +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +IOBase 1 :: $d2 1 $d3 1 $d7 1 IO 1; +PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d24 1 $d25 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $m>> 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 otherwise 1 Enum 1 Eq 1 Eval 1 Monad 1 MonadZero 1 Num 1 Ord 1 Ordering 1 Show 1 String 1; +PrelIO 1 :: putStr 1; +PrelList 1 :: sum 1; +PrelNum 1 :: $d1 1 $d10 1 $d14 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d4 1 $d5 1 $d6 1 $d7 1 $d8 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrecip 1 $mrem 1 Fractional 1 Integral 1 Ratio 1 Rational 1 Real 1; +PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1; +_exports_ +ShouldSucceed check insertMany out pqSort toOrderedList PriorityQueue(empty single insert meld splitMin) SeqView(Null Cons); +_instances_ +instance _forall_ [t :: (* -> *) a] => {PrelBase.Eval (SeqView t a)} = $d1; +_declarations_ +1 $d1 _:_ _forall_ [t :: (* -> *) a] => {PrelBase.Eval (SeqView t a)} ;; +1 $minsert _:_ _forall_ [q :: (* -> *)] {PriorityQueue q} => _forall_ [a] {PrelBase.Ord a} => a -> q a -> q a ;; +1 class PriorityQueue q :: (* -> *) where {empty :: _forall_ [a] {PrelBase.Ord a} => q a; single :: _forall_ [a] {PrelBase.Ord a} => a -> q a; insert = :: _forall_ [a] {PrelBase.Ord a} => a -> q a -> q a; meld :: _forall_ [a] {PrelBase.Ord a} => q a -> q a -> q a; splitMin :: _forall_ [a] {PrelBase.Ord a} => q a -> SeqView q a} ; +1 data SeqView t :: (* -> *) a = Null | Cons a (t a) ; +1 check _:_ _forall_ [aa :: (* -> *)] {PriorityQueue aa} => (_forall_ [tb] {PrelBase.Ord tb} => aa tb) -> IOBase.IO PrelBase.() ;; +1 insertMany _:_ _forall_ [ta ab :: (* -> *)] {PriorityQueue ab, PrelBase.Ord ta} => [ta] -> ab ta -> ab ta ;; +1 out _:_ _forall_ [ta] {PrelBase.Num ta} => [ta] -> IOBase.IO PrelBase.() ;; +1 pqSort _:_ _forall_ [aa :: (* -> *) tb] {PriorityQueue aa, PrelBase.Ord tb} => aa tb -> [tb] -> [tb] ;; +1 toOrderedList _:_ _forall_ [aa :: (* -> *) tb] {PriorityQueue aa, PrelBase.Ord tb} => aa tb -> [tb] ;; diff --git a/ghc/tests/typecheck/should_compile/tc088.hs b/ghc/tests/typecheck/should_compile/tc088.hs index e1b8b88..5423200 100644 --- a/ghc/tests/typecheck/should_compile/tc088.hs +++ b/ghc/tests/typecheck/should_compile/tc088.hs @@ -1,6 +1,6 @@ -- Check that "->" is an instance of Eval -module Foo where +module ShouldSucceed where instance (Eq b) => Eq (a -> b) where (==) f g = error "attempt to compare functions" diff --git a/ghc/tests/typecheck/should_compile/tc088.stderr b/ghc/tests/typecheck/should_compile/tc088.stderr new file mode 100644 index 0000000..3304d5f --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc088.stderr @@ -0,0 +1,74 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taD0, taD1] +[d.Num_aEx, d.Eq_aEy, d.Show_aEz, d.Eval_aEA] +[([taD0, taD1], $d1{-rFx,x-}, d.Num_aCT)] + d.Eq_aEw = d.Eq_aEy + d.Show_aEB = d.Show_aEz + d.Eval_aEC = d.Eval_aEA + d.Num_aEG = d.Num_aEx + +_aFz = PrelBase.+{-rgc,p-} taD1 d.Num_aEG + d.Num_aEI = d.Num_aEx + -_aFA = PrelBase.-{-817,p-} taD1 d.Num_aEI + d.Num_aEK = d.Num_aEx + *_aFB = PrelBase.*{-rgd,p-} taD1 d.Num_aEK + d.Num_aEM = d.Num_aEx + negate_aFC = PrelBase.negate{-rge,p-} taD1 d.Num_aEM + d.Num_aEO = d.Num_aEx + abs_aFD = PrelBase.abs{-rgf,p-} taD1 d.Num_aEO + d.Num_aEQ = d.Num_aEx + signum_aFE = PrelBase.signum{-rgg,p-} taD1 d.Num_aEQ + d.Num_aES = d.Num_aEx + fromInteger_aFF = PrelBase.fromInteger{-8S,p-} taD1 d.Num_aES + d.Num_aEU = d.Num_aEx + fromInt_aFG = PrelBase.fromInt{-8R,p-} taD1 d.Num_aEU + AbsBinds [] [] [([], +_aFH, +_aCX)] + +_aCX f_r3h g_r3i = \ a_r3k -> (f_r3h a_r3k) +_aFz (g_r3i a_r3k) + AbsBinds [] [] [([], -_aFI, -_aDd)] + -_aDd f_r3o g_r3p = \ a_r3r -> (f_r3o a_r3r) -_aFA (g_r3p a_r3r) + AbsBinds [] [] [([], *_aFJ, *_aDr)] + *_aDr f_r3v g_r3w = \ a_r3y -> (f_r3v a_r3y) *_aFB (g_r3w a_r3y) + AbsBinds [] [] [([], negate_aFK, negate_aDF)] + negate_aDF f_r3C = \ a_r3E -> negate_aFC f_r3C a_r3E + AbsBinds [] [] [([], abs_aFL, abs_aDR)] + abs_aDR f_r3I = \ a_r3K -> abs_aFD f_r3I a_r3K + AbsBinds [] [] [([], signum_aFM, signum_aE3)] + signum_aE3 f_r3O = \ a_r3Q -> signum_aFE f_r3O a_r3Q + AbsBinds [] [] [([], fromInteger_aFN, fromInteger_aEf)] + fromInteger_aEf n_r3U = \ a_r3W -> fromInteger_aFF n_r3U + AbsBinds [] [] [([], fromInt_aFO, fromInt_aEq)] + fromInt_aEq n_r40 = \ a_r42 -> fromInt_aFG n_r40 + d.Num_aCT = + ({-dict-} + [d.Eq_aEw, d.Show_aEB, d.Eval_aEC] + [+_aFH, -_aFI, *_aFJ, negate_aFK, abs_aFL, signum_aFM, fromInteger_aFN, fromInt_aFO]) +AbsBinds +[taFe, taFf] +[d.Eq_aFr] +[([taFe, taFf], $d2{-rFy,x-}, d.Eq_aF7)] + d.Eq_aFv = d.Eq_aF7 + $m/=_aFP = PrelBase.$m/={-rfO,p-} (taFe -> taFf) d.Eq_aFv + AbsBinds [] [] [([], ==_aFQ, ==_aFb)] + ==_aFb f_r4a g_r4b + = IOBase.error{-87,w-} + PrelBase.Bool{-34,W-} "attempt to compare functions" + AbsBinds [] [] [([], /=_aFR, /=_aFo)] + /=_aFo = $m/=_aFP + d.Eq_aF7 = ({-dict-} [] [==_aFQ, /=_aFR]) +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum ShouldSucceed +_usages_ +PrelBase 1 :: $d1 1 $d12 1 $d16 1 $d2 1 $d22 1 $d28 1 $d3 1 $d33 1 $d34 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d47 1 $d55 1 $d8 1 $d9 1 $m- 1 $m/= 1 $mfromInt 1 $mshowList 1 Eq 1 Eval 1 Num 1 Show 1 String 1; +PrelNum 1 :: $d10 1 $d16 1 $d18 1 $d29 1 $d33 1 $d35 1; +_exports_ +_instances_ +instance _forall_ [a b] {PrelBase.Num b} => {PrelBase.Num (a -> b)} = $d1; +instance _forall_ [a b] {PrelBase.Eq b} => {PrelBase.Eq (a -> b)} = $d2; +_declarations_ +1 $d1 _:_ _forall_ [a b] {PrelBase.Num b, PrelBase.Eq (a -> b), PrelBase.Show (a -> b), PrelBase.Eval (a -> b)} => {PrelBase.Num (a -> b)} ;; +1 $d2 _:_ _forall_ [a b] {PrelBase.Eq b} => {PrelBase.Eq (a -> b)} ;; diff --git a/ghc/tests/typecheck/should_compile/tc089.hs b/ghc/tests/typecheck/should_compile/tc089.hs index 1143906..ff78722 100644 --- a/ghc/tests/typecheck/should_compile/tc089.hs +++ b/ghc/tests/typecheck/should_compile/tc089.hs @@ -1,6 +1,6 @@ --!!! Stress test for type checker -module Prims where +module ShouldSucceed where import Prelude hiding (head) diff --git a/ghc/tests/typecheck/should_compile/tc089.stderr b/ghc/tests/typecheck/should_compile/tc089.stderr new file mode 100644 index 0000000..7e29d78 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc089.stderr @@ -0,0 +1,464 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taBv, taBy, taBB] +[] +[([taBv, taBy, taBB], s_3_2{-r5Z,x-}, s_3_2_aBn)] + s_3_2_aBn (v0_r4o, v1_r4p, v2_r4q) = v2_r4q +AbsBinds +[taBO, taBR, taBU] +[] +[([taBO, taBR, taBU], s_3_1{-r60,x-}, s_3_1_aBG)] + s_3_1_aBG (v0_r4k, v1_r4l, v2_r4m) = v1_r4l +AbsBinds +[taC7, taCa, taCd] +[] +[([taC7, taCa, taCd], s_3_0{-r61,x-}, s_3_0_aBZ)] + s_3_0_aBZ (v0_r4g, v1_r4h, v2_r4i) = v0_r4g +AbsBinds [taCr] [] [([taCr], s_1_0{-r62,x-}, s_1_0_aCi)] + s_1_0_aCi v0_r4e = v0_r4e +AbsBinds +[taCA, taCD] +[] +[([taCA, taCD], s_2_1{-r63,x-}, s_2_1_aCt)] + s_2_1_aCt (v0_r4b, v1_r4c) = v1_r4c +AbsBinds +[taCP, taCS] +[] +[([taCP, taCS], s_2_0{-r64,x-}, s_2_0_aCI)] + s_2_0_aCI (v0_r48, v1_r49) = v0_r48 +AbsBinds +[taDh, taDf] +[] +[([taDh, taDf], f_rec{-r66,x-}, f_rec_aCX)] + f_rec_aCX f0_r3Y a_r3Z = f0_r3Y s_1_0{-r62,x-} taDf a_r3Z +AbsBinds +[taDC, taDE, taDG] +[] +[([taDC, taDE, taDG], absIf{-r69,x-}, absIf_aDj)] + absIf_aDj a_r3N b_r3O c_r3P = a_r3N +AbsBinds [taDP] [] [([taDP], head{-r6b,x-}, head_aDI)] + head_aDI (x_r3K PrelBase.:{-55,w-}{i} xs_r3L) = x_r3K +AbsBinds [taDZ] [] [([taDZ], bottom{-r6a,x-}, bottom_aDV)] + bottom_aDV = head{-r6b,x-} taDZ +AbsBinds [taEf] [] [([taEf], fac_rec0{-r5T,x-}, fac_rec0_aE1)] + fac_rec0_aE1 n_r4H a_r4I + = bottom{-r6a,x-} taEf [n_r4H, a_r4I] (taEf) +AbsBinds [taEs] [] [([taEs], f_rec0{-r5P,x-}, f_rec0_aEj)] + f_rec0_aEj a_r4Q = bottom{-r6a,x-} taEs [a_r4Q] (taEs) +AbsBinds [taEF] [] [([taEF], f_rec1{-r5Q,x-}, f_rec1_aEw)] + f_rec1_aEw a_r4O + = f_rec{-r66,x-} [taEF, taEF] f_rec0{-r5P,x-} taEF a_r4O +AbsBinds [taEU] [] [([taEU], f_rec2{-r5R,x-}, f_rec2_aEL)] + f_rec2_aEL a_r4M + = f_rec{-r66,x-} [taEU, taEU] f_rec1{-r5Q,x-} taEU a_r4M +AbsBinds [taF9] [] [([taF9], f{-r5S,x-}, f_aF0)] + f_aF0 a_r4K + = f_rec{-r66,x-} [taF9, taF9] f_rec2{-r5R,x-} taF9 a_r4K +AbsBinds [taFD] [] [([taFD], g_rec0{-r5F,x-}, g_rec0_aFf)] + g_rec0_aFf x_r5B y_r5C z_r5D p_r5E + = bottom{-r6a,x-} taFD [x_r5B, y_r5C, z_r5D, p_r5E] (taFD) +AbsBinds [taFV] [] [([taFV], absAnd{-r68,x-}, absAnd_aFH)] + absAnd_aFH a_r3R b_r3S = head{-r6b,x-} taFV [a_r3R, b_r3S] (taFV) +AbsBinds [taG1] [] [([taG1], one{-r6c,x-}, one_aFZ)] + one_aFZ = one_aFZ +AbsBinds +[taGE, taH1, taH3, taH6, taH7] +[] +[([taGE, taH1, taH3, taH6, taH7], fac_rec{-r67,x-}, fac_rec_aG3)] + fac_rec_aG3 fac0_r3U n_r3V a_r3W + = absIf{-r69,x-} [taH7, taGE, taH1] absAnd{-r68,x-} + taH1 s_3_0{-r61,x-} [taH1, taH6, taH3] n_r3V + one{-r6c,x-} taH1 + s_2_0{-r64,x-} [taH7, taH6] a_r3W + fac0_r3U absAnd{-r68,x-} taH3 s_3_2{-r5Z,x-} + [taH1, taH6, taH3] n_r3V + one{-r6c,x-} taH3 + absAnd{-r68,x-} taH6 s_3_1{-r60,x-} + [taH1, taH6, taH3] n_r3V + s_2_1{-r63,x-} + [taH7, taH6] a_r3W +AbsBinds +[taHo, taHw, taHx] +[] +[([taHo, taHw, taHx], fac_rec1{-r5U,x-}, fac_rec1_aH9)] + fac_rec1_aH9 n_r4E a_r4F + = fac_rec{-r67,x-} [taHw, taHo, taHw, taHw, taHx] fac_rec0{-r5T,x-} + taHw + n_r4E + a_r4F +AbsBinds +[taHO, taHW, taHZ, taI0, taI1] +[] +[([taHO, taHW, taHZ, taI0, taI1], fac_rec2{-r5V,x-}, fac_rec2_aHz)] + fac_rec2_aHz n_r4B a_r4C + = fac_rec{-r67,x-} + [taI0, taHO, (taI0, taHW, taHW), (taHZ, taHW), taI1] fac_rec1{-r5U,x-} + [taI0, taHW, taHZ] + n_r4B + a_r4C +AbsBinds +[taIi, taIr, taIs, taIu, taIx, taIy, taIz] +[] +[([taIi, taIr, taIs, taIu, taIx, taIy, taIz], + fac_rec3{-r5W,x-}, + fac_rec3_aI3)] + fac_rec3_aI3 n_r4y a_r4z + = fac_rec{-r67,x-} + [taIy, taIi, (taIy, (taIr, taIs), (taIu, taIs, taIs)), (taIx, (taIr, taIs)), taIz] fac_rec2{-r5V,x-} + [taIy, taIs, taIr, taIu, taIx] + n_r4y + a_r4z +AbsBinds +[taIQ, taJ1, taJ2, taJ3, taJ5, taJ6, taJ9, taJa, taJb] +[] +[([taIQ, taJ1, taJ2, taJ3, taJ5, taJ6, taJ9, taJa, taJb], + fac_rec4{-r5X,x-}, + fac_rec4_aIB)] + fac_rec4_aIB n_r4v a_r4w + = fac_rec{-r67,x-} + [taJa, taIQ, (taJa, (taJ1, (taJ2, taJ3)), (taJ5, (taJ2, taJ3), (taJ6, taJ3, taJ3))), (taJ9, (taJ1, (taJ2, taJ3))), taJb] fac_rec3{-r5W,x-} + [taJa, taJ2, taJ3, taJ6, taJ1, taJ5, taJ9] + n_r4v + a_r4w +AbsBinds +[taJs, taJF, taJG, taJH, taJI, taJK, taJL, taJM, taJP, taJQ, taJR] +[] +[([taJs, taJF, taJG, taJH, taJI, taJK, taJL, taJM, taJP, taJQ, + taJR], + fac{-r5Y,x-}, + fac_aJd)] + fac_aJd n_r4s a_r4t + = fac_rec{-r67,x-} + [taJQ, taJs, (taJQ, (taJF, (taJG, (taJH, taJI))), (taJK, (taJG, (taJH, taJI)), (taJL, (taJH, taJI), (taJM, taJI, taJI)))), (taJP, (taJF, (taJG, (taJH, taJI)))), taJR] fac_rec4{-r5X,x-} + [taJQ, taJG, taJH, taJI, taJL, taJM, taJF, taJK, taJP] + n_r4s + a_r4t +AbsBinds +[taKR, taL3, taL5, taL8, taLE, taLF, taLH, taLJ, taLR, taLS, taLT] +[] +[([taKR, taL3, taL5, taL8, taLE, taLF, taLH, taLJ, taLR, taLS, + taLT], + g_rec{-r65,x-}, + g_rec_aJT)] + g_rec_aJT g0_r41 g1_r42 x_r43 y_r44 z_r45 p_r46 + = absIf{-r69,x-} [taLF, taKR, taLS] absAnd{-r68,x-} + taLS s_3_0{-r61,x-} [taLS, taLT, taLR] p_r46 + one{-r6c,x-} taLS + absAnd{-r68,x-} taLF s_1_0{-r62,x-} taLF x_r43 + s_3_0{-r61,x-} + [taLF, taLE, taLH] z_r45 + absAnd{-r68,x-} taKR g0_r41 s_1_0{-r62,x-} + taL3 y_r44 + one{-r6c,x-} taL5 + one{-r6c,x-} taL8 + absAnd{-r68,x-} + taLT s_3_1{-r60,x-} + [taLS, taLT, taLR] p_r46 + one{-r6c,x-} + taLT + g1_r42 s_3_2{-r5Z,x-} + [taLF, taLE, taLH] z_r45 + s_3_1{-r60,x-} + [taLF, taLE, taLH] z_r45 + one{-r6c,x-} taLJ + absAnd{-r68,x-} + taLR s_3_2{-r5Z,x-} + [taLS, taLT, taLR] p_r46 + one{-r6c,x-} + taLR +AbsBinds +[taMu, taMC, taMJ] +[] +[([taMu, taMC, taMJ], g_rec1{-r5G,x-}, g_rec1_aLX)] + g_rec1_aLX x_r5w y_r5x z_r5y p_r5z + = g_rec{-r65,x-} + [taMC, taMC, taMC, taMC, taMC, taMJ, taMC, taMC, taMC, taMu, taMC] g_rec0{-r5F,x-} + taMC + g_rec0{-r5F,x-} + taMC + x_r5w + y_r5x + z_r5y + p_r5z +AbsBinds +[taNi, taNo, taNq, taNu, taNz, taNB, taNF] +[] +[([taNi, taNo, taNq, taNu, taNz, taNB, taNF], + g_rec2{-r5H,x-}, + g_rec2_aML)] + g_rec2_aML x_r5r y_r5s z_r5t p_r5u + = g_rec{-r65,x-} + [taNu, taNo, taNq, (taNo, taNq, taNq), taNB, taNF, taNz, (taNz, taNB, taNB), (taNu, taNB, taNB), taNi, (taNu, taNq, taNq)] g_rec1{-r5G,x-} + [taNu, taNq, taNo] + g_rec1{-r5G,x-} + [taNu, taNB, taNz] + x_r5r + y_r5s + z_r5t + p_r5u +AbsBinds +[taOe, taOo, taOs, taOw, taOx, taOy, taOH, taOJ, taOL, taOP, taOQ, taOR] +[] +[([taOe, taOo, taOs, taOw, taOx, taOy, taOH, taOJ, taOL, taOP, + taOQ, taOR], + g_rec3{-r5I,x-}, + g_rec3_aNH)] + g_rec3_aNH x_r5m y_r5n z_r5o p_r5p + = g_rec{-r65,x-} + [taOy, taOo, GHC.Void{-3T,W-}, (taOo, taOs, GHC.Void{-3T,W-}), taOJ, taOR, taOH, (taOH, taOL, GHC.Void{-3T,W-}), (taOy, (taOP, taOQ, taOQ), (taOP, taOL, taOL)), taOe, (taOy, (taOw, taOx, taOx), (taOw, taOs, taOs))] g_rec2{-r5H,x-} + [taOy, GHC.Void{-3T,W-}, taOx, taOw, GHC.Void{-3T,W-}, taOs, taOo] + g_rec2{-r5H,x-} + [taOy, taOJ, taOQ, taOP, GHC.Void{-3T,W-}, taOL, taOH] + x_r5m + y_r5n + z_r5o + p_r5p +AbsBinds +[taPq, taPF, taPN, taPO, taPP, taPQ, taPR, taPS, taPT, taPU, taQ8, taQa, taQg, taQh, taQi, taQj, taQk, taQl, taQm, taQn] +[] +[([taPq, taPF, taPN, taPO, taPP, taPQ, taPR, taPS, taPT, taPU, + taQ8, taQa, taQg, taQh, taQi, taQj, taQk, taQl, taQm, taQn], + g_rec4{-r5J,x-}, + g_rec4_aOT)] + g_rec4_aOT x_r5h y_r5i z_r5j p_r5k + = g_rec{-r65,x-} + [taPU, taPF, GHC.Void{-3T,W-}, (taPF, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), taQa, taQn, taQ8, (taQ8, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), (taPU, (taQg, (taQh, taQi, taQi), (taQh, taQj, taQj)), (taQg, (taQk, taQl, taQl), (taQk, taQm, taQm))), taPq, (taPU, (taPN, (taPO, taPP, taPP), (taPO, taPQ, taPQ)), (taPN, (taPR, taPS, taPS), (taPR, taPT, taPT)))] g_rec3{-r5I,x-} + [taPU, GHC.Void{-3T,W-}, taPQ, taPO, taPP, taPN, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, taPT, taPR, taPS, taPF] + g_rec3{-r5I,x-} + [taPU, taQa, taQj, taQh, taQi, taQg, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, taQm, taQk, taQl, taQ8] + x_r5h + y_r5i + z_r5j + p_r5k +AbsBinds +[taQW, taRj, taRr, taRs, taRt, taRu, taRv, taRw, taRx, taRy, taRz, taRA, taRB, taRC, taRD, taRE, taRF, taRG, taS2, taS4, taSa, taSb, taSc, taSd, taSe, taSf, taSg, taSh, taSi, taSj, taSk, taSl, taSm, taSn, taSo, taSp] +[] +[([taQW, taRj, taRr, taRs, taRt, taRu, taRv, taRw, taRx, taRy, + taRz, taRA, taRB, taRC, taRD, taRE, taRF, taRG, taS2, taS4, taSa, + taSb, taSc, taSd, taSe, taSf, taSg, taSh, taSi, taSj, taSk, taSl, + taSm, taSn, taSo, taSp], + g_rec5{-r5K,x-}, + g_rec5_aQp)] + g_rec5_aQp x_r5c y_r5d z_r5e p_r5f + = g_rec{-r65,x-} + [taRG, taRj, GHC.Void{-3T,W-}, (taRj, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), taS4, taSp, taS2, (taS2, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), (taRG, (taSa, (taSb, (taSc, taSd, taSd), (taSc, taSe, taSe)), (taSb, (taSf, taSg, taSg), (taSf, taSh, taSh))), (taSa, (taSi, (taSj, taSk, taSk), (taSj, taSl, taSl)), (taSi, (taSm, taSn, taSn), (taSm, taSo, taSo)))), taQW, (taRG, (taRr, (taRs, (taRt, taRu, taRu), (taRt, taRv, taRv)), (taRs, (taRw, taRx, taRx), (taRw, taRy, taRy))), (taRr, (taRz, (taRA, taRB, taRB), (taRA, taRC, taRC)), (taRz, (taRD, taRE, taRE), (taRD, taRF, taRF))))] g_rec4{-r5J,x-} + [taRG, GHC.Void{-3T,W-}, taRs, taRt, taRu, taRv, taRw, taRx, taRy, taRr, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, taRz, taRA, taRB, taRC, taRD, taRE, taRF, taRj] + g_rec4{-r5J,x-} + [taRG, taS4, taSb, taSc, taSd, taSe, taSf, taSg, taSh, taSa, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, taSi, taSj, taSk, taSl, taSm, taSn, taSo, taS2] + x_r5c + y_r5d + z_r5e + p_r5f +AbsBinds +[taSY, taTB, taTJ, taTK, taTL, taTM, taTN, taTO, taTP, taTQ, taTR, taTS, taTT, taTU, taTV, taTW, taTX, taTY, taTZ, taU0, taU1, taU2, taU3, taU4, taU5, taU6, taU7, taU8, taU9, taUa, taUb, taUc, taUd, taUe, taUQ, taUS, taUY, taUZ, taV0, taV1, taV2, taV3, taV4, taV5, taV6, taV7, taV8, taV9, taVa, taVb, taVc, taVd, taVe, taVf, taVg, taVh, taVi, taVj, taVk, taVl, taVm, taVn, taVo, taVp, taVq, taVr, taVs, taVt] +[] +[([taSY, taTB, taTJ, taTK, taTL, taTM, taTN, taTO, taTP, taTQ, + taTR, taTS, taTT, taTU, taTV, taTW, taTX, taTY, taTZ, taU0, taU1, + taU2, taU3, taU4, taU5, taU6, taU7, taU8, taU9, taUa, taUb, taUc, + taUd, taUe, taUQ, taUS, taUY, taUZ, taV0, taV1, taV2, taV3, taV4, + taV5, taV6, taV7, taV8, taV9, taVa, taVb, taVc, taVd, taVe, taVf, + taVg, taVh, taVi, taVj, taVk, taVl, taVm, taVn, taVo, taVp, taVq, + taVr, taVs, taVt], + g_rec6{-r5L,x-}, + g_rec6_aSr)] + g_rec6_aSr x_r57 y_r58 z_r59 p_r5a + = g_rec{-r65,x-} + [taUe, taTB, GHC.Void{-3T,W-}, (taTB, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), taUS, taVt, taUQ, (taUQ, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), (taUe, (taUY, (taUZ, (taV0, (taV1, taV2, taV2), (taV1, taV3, taV3)), (taV0, (taV4, taV5, taV5), (taV4, taV6, taV6))), (taUZ, (taV7, (taV8, taV9, taV9), (taV8, taVa, taVa)), (taV7, (taVb, taVc, taVc), (taVb, taVd, taVd)))), (taUY, (taVe, (taVf, (taVg, taVh, taVh), (taVg, taVi, taVi)), (taVf, (taVj, taVk, taVk), (taVj, taVl, taVl))), (taVe, (taVm, (taVn, taVo, taVo), (taVn, taVp, taVp)), (taVm, (taVq, taVr, taVr), (taVq, taVs, taVs))))), taSY, (taUe, (taTJ, (taTK, (taTL, (taTM, taTN, taTN), (taTM, taTO, taTO)), (taTL, (taTP, taTQ, taTQ), (taTP, taTR, taTR))), (taTK, (taTS, (taTT, taTU, taTU), (taTT, taTV, taTV)), (taTS, (taTW, taTX, taTX), (taTW, taTY, taTY)))), (taTJ, (taTZ, (taU0, (taU1, taU2, taU2), (taU1, taU3, taU3)), (taU0, (taU4, taU5, taU5), (taU4, taU6, taU6))), (taTZ, (taU7, (taU8, taU9, taU9), (taU8, taUa, taUa)), (taU7, (taUb, taUc, taUc), (taUb, taUd, taUd)))))] g_rec5{-r5K,x-} + [taUe, GHC.Void{-3T,W-}, taTK, taTL, taTM, taTN, taTO, taTP, taTQ, taTR, taTS, taTT, taTU, taTV, taTW, taTX, taTY, taTJ, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, taTZ, taU0, taU1, taU2, taU3, taU4, taU5, taU6, taU7, taU8, taU9, taUa, taUb, taUc, taUd, taTB] + g_rec5{-r5K,x-} + [taUe, taUS, taUZ, taV0, taV1, taV2, taV3, taV4, taV5, taV6, taV7, taV8, taV9, taVa, taVb, taVc, taVd, taUY, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, taVe, taVf, taVg, taVh, taVi, taVj, taVk, taVl, taVm, taVn, taVo, taVp, taVq, taVr, taVs, taUQ] + x_r57 + y_r58 + z_r59 + p_r5a +AbsBinds +[taW2, taXb, taXj, taXk, taXl, taXm, taXn, taXo, taXp, taXq, taXr, taXs, taXt, taXu, taXv, taXw, taXx, taXy, taXz, taXA, taXB, taXC, taXD, taXE, taXF, taXG, taXH, taXI, taXJ, taXK, taXL, taXM, taXN, taXO, taXP, taXQ, taXR, taXS, taXT, taXU, taXV, taXW, taXX, taXY, taXZ, taY0, taY1, taY2, taY3, taY4, taY5, taY6, taY7, taY8, taY9, taYa, taYb, taYc, taYd, taYe, taYf, taYg, taYh, taYi, taYj, taYk, taZs, taZu, taZA, taZB, taZC, taZD, taZE, taZF, taZG, taZH, taZI, taZJ, taZK, taZL, taZM, taZN, taZO, taZP, taZQ, taZR, taZS, taZT, taZU, taZV, taZW, taZX, taZY, taZZ, ta100, ta101, ta102, ta103, ta104, ta105, ta106, ta107, ta108, ta109, ta10a, ta10b, ta10c, ta10d, ta10e, ta10f, ta10g, ta10h, ta10i, ta10j, ta10k, ta10l, ta10m, ta10n, ta10o, ta10p, ta10q, ta10r, ta10s, ta10t, ta10u, ta10v, ta10w, ta10x, ta10y, ta10z, ta10A, ta10B] +[] +[([taW2, taXb, taXj, taXk, taXl, taXm, taXn, taXo, taXp, taXq, + taXr, taXs, taXt, taXu, taXv, taXw, taXx, taXy, taXz, taXA, taXB, + taXC, taXD, taXE, taXF, taXG, taXH, taXI, taXJ, taXK, taXL, taXM, + taXN, taXO, taXP, taXQ, taXR, taXS, taXT, taXU, taXV, taXW, taXX, + taXY, taXZ, taY0, taY1, taY2, taY3, taY4, taY5, taY6, taY7, taY8, + taY9, taYa, taYb, taYc, taYd, taYe, taYf, taYg, taYh, taYi, taYj, + taYk, taZs, taZu, taZA, taZB, taZC, taZD, taZE, taZF, taZG, taZH, + taZI, taZJ, taZK, taZL, taZM, taZN, taZO, taZP, taZQ, taZR, taZS, + taZT, taZU, taZV, taZW, taZX, taZY, taZZ, ta100, ta101, ta102, + ta103, ta104, ta105, ta106, ta107, ta108, ta109, ta10a, ta10b, + ta10c, ta10d, ta10e, ta10f, ta10g, ta10h, ta10i, ta10j, ta10k, + ta10l, ta10m, ta10n, ta10o, ta10p, ta10q, ta10r, ta10s, ta10t, + ta10u, ta10v, ta10w, ta10x, ta10y, ta10z, ta10A, ta10B], + g_rec7{-r5M,x-}, + g_rec7_aVv)] + g_rec7_aVv x_r52 y_r53 z_r54 p_r55 + = g_rec{-r65,x-} + [taYk, taXb, GHC.Void{-3T,W-}, (taXb, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), taZu, ta10B, taZs, (taZs, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), (taYk, (taZA, (taZB, (taZC, (taZD, (taZE, taZF, taZF), (taZE, taZG, taZG)), (taZD, (taZH, taZI, taZI), (taZH, taZJ, taZJ))), (taZC, (taZK, (taZL, taZM, taZM), (taZL, taZN, taZN)), (taZK, (taZO, taZP, taZP), (taZO, taZQ, taZQ)))), (taZB, (taZR, (taZS, (taZT, taZU, taZU), (taZT, taZV, taZV)), (taZS, (taZW, taZX, taZX), (taZW, taZY, taZY))), (taZR, (taZZ, (ta100, ta101, ta101), (ta100, ta102, ta102)), (taZZ, (ta103, ta104, ta104), (ta103, ta105, ta105))))), (taZA, (ta106, (ta107, (ta108, (ta109, ta10a, ta10a), (ta109, ta10b, ta10b)), (ta108, (ta10c, ta10d, ta10d), (ta10c, ta10e, ta10e))), (ta107, (ta10f, (ta10g, ta10h, ta10h), (ta10g, ta10i, ta10i)), (ta10f, (ta10j, ta10k, ta10k), (ta10j, ta10l, ta10l)))), (ta106, (ta10m, (ta10n, (ta10o, ta10p, ta10p), (ta10o, ta10q, ta10q)), (ta10n, (ta10r, ta10s, ta10s), (ta10r, ta10t, ta10t))), (ta10m, (ta10u, (ta10v, ta10w, ta10w), (ta10v, ta10x, ta10x)), (ta10u, (ta10y, ta10z, ta10z), (ta10y, ta10A, ta10A)))))), taW2, (taYk, (taXj, (taXk, (taXl, (taXm, (taXn, taXo, taXo), (taXn, taXp, taXp)), (taXm, (taXq, taXr, taXr), (taXq, taXs, taXs))), (taXl, (taXt, (taXu, taXv, taXv), (taXu, taXw, taXw)), (taXt, (taXx, taXy, taXy), (taXx, taXz, taXz)))), (taXk, (taXA, (taXB, (taXC, taXD, taXD), (taXC, taXE, taXE)), (taXB, (taXF, taXG, taXG), (taXF, taXH, taXH))), (taXA, (taXI, (taXJ, taXK, taXK), (taXJ, taXL, taXL)), (taXI, (taXM, taXN, taXN), (taXM, taXO, taXO))))), (taXj, (taXP, (taXQ, (taXR, (taXS, taXT, taXT), (taXS, taXU, taXU)), (taXR, (taXV, taXW, taXW), (taXV, taXX, taXX))), (taXQ, (taXY, (taXZ, taY0, taY0), (taXZ, taY1, taY1)), (taXY, (taY2, taY3, taY3), (taY2, taY4, taY4)))), (taXP, (taY5, (taY6, (taY7, taY8, taY8), (taY7, taY9, taY9)), (taY6, (taYa, taYb, taYb), (taYa, taYc, taYc))), (taY5, (taYd, (taYe, taYf, taYf), (taYe, taYg, taYg)), (taYd, (taYh, taYi, taYi), (taYh, taYj, taYj))))))] g_rec6{-r5L,x-} + [taYk, GHC.Void{-3T,W-}, taXk, taXl, taXm, taXn, taXo, taXp, taXq, taXr, taXs, taXt, taXu, taXv, taXw, taXx, taXy, taXz, taXA, taXB, taXC, taXD, taXE, taXF, taXG, taXH, taXI, taXJ, taXK, taXL, taXM, taXN, taXO, taXj, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, taXP, taXQ, taXR, taXS, taXT, taXU, taXV, taXW, taXX, taXY, taXZ, taY0, taY1, taY2, taY3, taY4, taY5, taY6, taY7, taY8, taY9, taYa, taYb, taYc, taYd, taYe, taYf, taYg, taYh, taYi, taYj, taXb] + g_rec6{-r5L,x-} + [taYk, taZu, taZB, taZC, taZD, taZE, taZF, taZG, taZH, taZI, taZJ, taZK, taZL, taZM, taZN, taZO, taZP, taZQ, taZR, taZS, taZT, taZU, taZV, taZW, taZX, taZY, taZZ, ta100, ta101, ta102, ta103, ta104, ta105, taZA, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, ta106, ta107, ta108, ta109, ta10a, ta10b, ta10c, ta10d, ta10e, ta10f, ta10g, ta10h, ta10i, ta10j, ta10k, ta10l, ta10m, ta10n, ta10o, ta10p, ta10q, ta10r, ta10s, ta10t, ta10u, ta10v, ta10w, ta10x, ta10y, ta10z, ta10A, taZs] + x_r52 + y_r53 + z_r54 + p_r55 +AbsBinds +[ta11a, ta13l, ta13t, ta13u, ta13v, ta13w, ta13x, ta13y, ta13z, ta13A, ta13B, ta13C, ta13D, ta13E, ta13F, ta13G, ta13H, ta13I, ta13J, ta13K, ta13L, ta13M, ta13N, ta13O, ta13P, ta13Q, ta13R, ta13S, ta13T, ta13U, ta13V, ta13W, ta13X, ta13Y, ta13Z, ta140, ta141, ta142, ta143, ta144, ta145, ta146, ta147, ta148, ta149, ta14a, ta14b, ta14c, ta14d, ta14e, ta14f, ta14g, ta14h, ta14i, ta14j, ta14k, ta14l, ta14m, ta14n, ta14o, ta14p, ta14q, ta14r, ta14s, ta14t, ta14u, ta14v, ta14w, ta14x, ta14y, ta14z, ta14A, ta14B, ta14C, ta14D, ta14E, ta14F, ta14G, ta14H, ta14I, ta14J, ta14K, ta14L, ta14M, ta14N, ta14O, ta14P, ta14Q, ta14R, ta14S, ta14T, ta14U, ta14V, ta14W, ta14X, ta14Y, ta14Z, ta150, ta151, ta152, ta153, ta154, ta155, ta156, ta157, ta158, ta159, ta15a, ta15b, ta15c, ta15d, ta15e, ta15f, ta15g, ta15h, ta15i, ta15j, ta15k, ta15l, ta15m, ta15n, ta15o, ta15p, ta15q, ta15r, ta15s, ta15t, ta15u, ta15v, ta15w, ta17G, ta17I, ta17O, ta17P, ta17Q, ta17R, ta17S, ta17T, ta17U, ta17V, ta17W, ta17X, ta17Y, ta17Z, ta180, ta181, ta182, ta183, ta184, ta185, ta186, ta187, ta188, ta189, ta18a, ta18b, ta18c, ta18d, ta18e, ta18f, ta18g, ta18h, ta18i, ta18j, ta18k, ta18l, ta18m, ta18n, ta18o, ta18p, ta18q, ta18r, ta18s, ta18t, ta18u, ta18v, ta18w, ta18x, ta18y, ta18z, ta18A, ta18B, ta18C, ta18D, ta18E, ta18F, ta18G, ta18H, ta18I, ta18J, ta18K, ta18L, ta18M, ta18N, ta18O, ta18P, ta18Q, ta18R, ta18S, ta18T, ta18U, ta18V, ta18W, ta18X, ta18Y, ta18Z, ta190, ta191, ta192, ta193, ta194, ta195, ta196, ta197, ta198, ta199, ta19a, ta19b, ta19c, ta19d, ta19e, ta19f, ta19g, ta19h, ta19i, ta19j, ta19k, ta19l, ta19m, ta19n, ta19o, ta19p, ta19q, ta19r, ta19s, ta19t, ta19u, ta19v, ta19w, ta19x, ta19y, ta19z, ta19A, ta19B, ta19C, ta19D, ta19E, ta19F, ta19G, ta19H, ta19I, ta19J, ta19K, ta19L, ta19M, ta19N, ta19O, ta19P, ta19Q, ta19R] +[] +[([ta11a, ta13l, ta13t, ta13u, ta13v, ta13w, ta13x, ta13y, ta13z, + ta13A, ta13B, ta13C, ta13D, ta13E, ta13F, ta13G, ta13H, ta13I, + ta13J, ta13K, ta13L, ta13M, ta13N, ta13O, ta13P, ta13Q, ta13R, + ta13S, ta13T, ta13U, ta13V, ta13W, ta13X, ta13Y, ta13Z, ta140, + ta141, ta142, ta143, ta144, ta145, ta146, ta147, ta148, ta149, + ta14a, ta14b, ta14c, ta14d, ta14e, ta14f, ta14g, ta14h, ta14i, + ta14j, ta14k, ta14l, ta14m, ta14n, ta14o, ta14p, ta14q, ta14r, + ta14s, ta14t, ta14u, ta14v, ta14w, ta14x, ta14y, ta14z, ta14A, + ta14B, ta14C, ta14D, ta14E, ta14F, ta14G, ta14H, ta14I, ta14J, + ta14K, ta14L, ta14M, ta14N, ta14O, ta14P, ta14Q, ta14R, ta14S, + ta14T, ta14U, ta14V, ta14W, ta14X, ta14Y, ta14Z, ta150, ta151, + ta152, ta153, ta154, ta155, ta156, ta157, ta158, ta159, ta15a, + ta15b, ta15c, ta15d, ta15e, ta15f, ta15g, ta15h, ta15i, ta15j, + ta15k, ta15l, ta15m, ta15n, ta15o, ta15p, ta15q, ta15r, ta15s, + ta15t, ta15u, ta15v, ta15w, ta17G, ta17I, ta17O, ta17P, ta17Q, + ta17R, ta17S, ta17T, ta17U, ta17V, ta17W, ta17X, ta17Y, ta17Z, + ta180, ta181, ta182, ta183, ta184, ta185, ta186, ta187, ta188, + ta189, ta18a, ta18b, ta18c, ta18d, ta18e, ta18f, ta18g, ta18h, + ta18i, ta18j, ta18k, ta18l, ta18m, ta18n, ta18o, ta18p, ta18q, + ta18r, ta18s, ta18t, ta18u, ta18v, ta18w, ta18x, ta18y, ta18z, + ta18A, ta18B, ta18C, ta18D, ta18E, ta18F, ta18G, ta18H, ta18I, + ta18J, ta18K, ta18L, ta18M, ta18N, ta18O, ta18P, ta18Q, ta18R, + ta18S, ta18T, ta18U, ta18V, ta18W, ta18X, ta18Y, ta18Z, ta190, + ta191, ta192, ta193, ta194, ta195, ta196, ta197, ta198, ta199, + ta19a, ta19b, ta19c, ta19d, ta19e, ta19f, ta19g, ta19h, ta19i, + ta19j, ta19k, ta19l, ta19m, ta19n, ta19o, ta19p, ta19q, ta19r, + ta19s, ta19t, ta19u, ta19v, ta19w, ta19x, ta19y, ta19z, ta19A, + ta19B, ta19C, ta19D, ta19E, ta19F, ta19G, ta19H, ta19I, ta19J, + ta19K, ta19L, ta19M, ta19N, ta19O, ta19P, ta19Q, ta19R], + g_rec8{-r5N,x-}, + g_rec8_a10D)] + g_rec8_a10D x_r4X y_r4Y z_r4Z p_r50 + = g_rec{-r65,x-} + [ta15w, ta13l, GHC.Void{-3T,W-}, (ta13l, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), ta17I, ta19R, ta17G, (ta17G, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), (ta15w, (ta17O, (ta17P, (ta17Q, (ta17R, (ta17S, (ta17T, ta17U, ta17U), (ta17T, ta17V, ta17V)), (ta17S, (ta17W, ta17X, ta17X), (ta17W, ta17Y, ta17Y))), (ta17R, (ta17Z, (ta180, ta181, ta181), (ta180, ta182, ta182)), (ta17Z, (ta183, ta184, ta184), (ta183, ta185, ta185)))), (ta17Q, (ta186, (ta187, (ta188, ta189, ta189), (ta188, ta18a, ta18a)), (ta187, (ta18b, ta18c, ta18c), (ta18b, ta18d, ta18d))), (ta186, (ta18e, (ta18f, ta18g, ta18g), (ta18f, ta18h, ta18h)), (ta18e, (ta18i, ta18j, ta18j), (ta18i, ta18k, ta18k))))), (ta17P, (ta18l, (ta18m, (ta18n, (ta18o, ta18p, ta18p), (ta18o, ta18q, ta18q)), (ta18n, (ta18r, ta18s, ta18s), (ta18r, ta18t, ta18t))), (ta18m, (ta18u, (ta18v, ta18w, ta18w), (ta18v, ta18x, ta18x)), (ta18u, (ta18y, ta18z, ta18z), (ta18y, ta18A, ta18A)))), (ta18l, (ta18B, (ta18C, (ta18D, ta18E, ta18E), (ta18D, ta18F, ta18F)), (ta18C, (ta18G, ta18H, ta18H), (ta18G, ta18I, ta18I))), (ta18B, (ta18J, (ta18K, ta18L, ta18L), (ta18K, ta18M, ta18M)), (ta18J, (ta18N, ta18O, ta18O), (ta18N, ta18P, ta18P)))))), (ta17O, (ta18Q, (ta18R, (ta18S, (ta18T, (ta18U, ta18V, ta18V), (ta18U, ta18W, ta18W)), (ta18T, (ta18X, ta18Y, ta18Y), (ta18X, ta18Z, ta18Z))), (ta18S, (ta190, (ta191, ta192, ta192), (ta191, ta193, ta193)), (ta190, (ta194, ta195, ta195), (ta194, ta196, ta196)))), (ta18R, (ta197, (ta198, (ta199, ta19a, ta19a), (ta199, ta19b, ta19b)), (ta198, (ta19c, ta19d, ta19d), (ta19c, ta19e, ta19e))), (ta197, (ta19f, (ta19g, ta19h, ta19h), (ta19g, ta19i, ta19i)), (ta19f, (ta19j, ta19k, ta19k), (ta19j, ta19l, ta19l))))), (ta18Q, (ta19m, (ta19n, (ta19o, (ta19p, ta19q, ta19q), (ta19p, ta19r, ta19r)), (ta19o, (ta19s, ta19t, ta19t), (ta19s, ta19u, ta19u))), (ta19n, (ta19v, (ta19w, ta19x, ta19x), (ta19w, ta19y, ta19y)), (ta19v, (ta19z, ta19A, ta19A), (ta19z, ta19B, ta19B)))), (ta19m, (ta19C, (ta19D, (ta19E, ta19F, ta19F), (ta19E, ta19G, ta19G)), (ta19D, (ta19H, ta19I, ta19I), (ta19H, ta19J, ta19J))), (ta19C, (ta19K, (ta19L, ta19M, ta19M), (ta19L, ta19N, ta19N)), (ta19K, (ta19O, ta19P, ta19P), (ta19O, ta19Q, ta19Q))))))), ta11a, (ta15w, (ta13t, (ta13u, (ta13v, (ta13w, (ta13x, (ta13y, ta13z, ta13z), (ta13y, ta13A, ta13A)), (ta13x, (ta13B, ta13C, ta13C), (ta13B, ta13D, ta13D))), (ta13w, (ta13E, (ta13F, ta13G, ta13G), (ta13F, ta13H, ta13H)), (ta13E, (ta13I, ta13J, ta13J), (ta13I, ta13K, ta13K)))), (ta13v, (ta13L, (ta13M, (ta13N, ta13O, ta13O), (ta13N, ta13P, ta13P)), (ta13M, (ta13Q, ta13R, ta13R), (ta13Q, ta13S, ta13S))), (ta13L, (ta13T, (ta13U, ta13V, ta13V), (ta13U, ta13W, ta13W)), (ta13T, (ta13X, ta13Y, ta13Y), (ta13X, ta13Z, ta13Z))))), (ta13u, (ta140, (ta141, (ta142, (ta143, ta144, ta144), (ta143, ta145, ta145)), (ta142, (ta146, ta147, ta147), (ta146, ta148, ta148))), (ta141, (ta149, (ta14a, ta14b, ta14b), (ta14a, ta14c, ta14c)), (ta149, (ta14d, ta14e, ta14e), (ta14d, ta14f, ta14f)))), (ta140, (ta14g, (ta14h, (ta14i, ta14j, ta14j), (ta14i, ta14k, ta14k)), (ta14h, (ta14l, ta14m, ta14m), (ta14l, ta14n, ta14n))), (ta14g, (ta14o, (ta14p, ta14q, ta14q), (ta14p, ta14r, ta14r)), (ta14o, (ta14s, ta14t, ta14t), (ta14s, ta14u, ta14u)))))), (ta13t, (ta14v, (ta14w, (ta14x, (ta14y, (ta14z, ta14A, ta14A), (ta14z, ta14B, ta14B)), (ta14y, (ta14C, ta14D, ta14D), (ta14C, ta14E, ta14E))), (ta14x, (ta14F, (ta14G, ta14H, ta14H), (ta14G, ta14I, ta14I)), (ta14F, (ta14J, ta14K, ta14K), (ta14J, ta14L, ta14L)))), (ta14w, (ta14M, (ta14N, (ta14O, ta14P, ta14P), (ta14O, ta14Q, ta14Q)), (ta14N, (ta14R, ta14S, ta14S), (ta14R, ta14T, ta14T))), (ta14M, (ta14U, (ta14V, ta14W, ta14W), (ta14V, ta14X, ta14X)), (ta14U, (ta14Y, ta14Z, ta14Z), (ta14Y, ta150, ta150))))), (ta14v, (ta151, (ta152, (ta153, (ta154, ta155, ta155), (ta154, ta156, ta156)), (ta153, (ta157, ta158, ta158), (ta157, ta159, ta159))), (ta152, (ta15a, (ta15b, ta15c, ta15c), (ta15b, ta15d, ta15d)), (ta15a, (ta15e, ta15f, ta15f), (ta15e, ta15g, ta15g)))), (ta151, (ta15h, (ta15i, (ta15j, ta15k, ta15k), (ta15j, ta15l, ta15l)), (ta15i, (ta15m, ta15n, ta15n), (ta15m, ta15o, ta15o))), (ta15h, (ta15p, (ta15q, ta15r, ta15r), (ta15q, ta15s, ta15s)), (ta15p, (ta15t, ta15u, ta15u), (ta15t, ta15v, ta15v)))))))] g_rec7{-r5M,x-} + [ta15w, GHC.Void{-3T,W-}, ta13u, ta13v, ta13w, ta13x, ta13y, ta13z, ta13A, ta13B, ta13C, ta13D, ta13E, ta13F, ta13G, ta13H, ta13I, ta13J, ta13K, ta13L, ta13M, ta13N, ta13O, ta13P, ta13Q, ta13R, ta13S, ta13T, ta13U, ta13V, ta13W, ta13X, ta13Y, ta13Z, ta140, ta141, ta142, ta143, ta144, ta145, ta146, ta147, ta148, ta149, ta14a, ta14b, ta14c, ta14d, ta14e, ta14f, ta14g, ta14h, ta14i, ta14j, ta14k, ta14l, ta14m, ta14n, ta14o, ta14p, ta14q, ta14r, ta14s, ta14t, ta14u, ta13t, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, ta14v, ta14w, ta14x, ta14y, ta14z, ta14A, ta14B, ta14C, ta14D, ta14E, ta14F, ta14G, ta14H, ta14I, ta14J, ta14K, ta14L, ta14M, ta14N, ta14O, ta14P, ta14Q, ta14R, ta14S, ta14T, ta14U, ta14V, ta14W, ta14X, ta14Y, ta14Z, ta150, ta151, ta152, ta153, ta154, ta155, ta156, ta157, ta158, ta159, ta15a, ta15b, ta15c, ta15d, ta15e, ta15f, ta15g, ta15h, ta15i, ta15j, ta15k, ta15l, ta15m, ta15n, ta15o, ta15p, ta15q, ta15r, ta15s, ta15t, ta15u, ta15v, ta13l] + g_rec7{-r5M,x-} + [ta15w, ta17I, ta17P, ta17Q, ta17R, ta17S, ta17T, ta17U, ta17V, ta17W, ta17X, ta17Y, ta17Z, ta180, ta181, ta182, ta183, ta184, ta185, ta186, ta187, ta188, ta189, ta18a, ta18b, ta18c, ta18d, ta18e, ta18f, ta18g, ta18h, ta18i, ta18j, ta18k, ta18l, ta18m, ta18n, ta18o, ta18p, ta18q, ta18r, ta18s, ta18t, ta18u, ta18v, ta18w, ta18x, ta18y, ta18z, ta18A, ta18B, ta18C, ta18D, ta18E, ta18F, ta18G, ta18H, ta18I, ta18J, ta18K, ta18L, ta18M, ta18N, ta18O, ta18P, ta17O, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, ta18Q, ta18R, ta18S, ta18T, ta18U, ta18V, ta18W, ta18X, ta18Y, ta18Z, ta190, ta191, ta192, ta193, ta194, ta195, ta196, ta197, ta198, ta199, ta19a, ta19b, ta19c, ta19d, ta19e, ta19f, ta19g, ta19h, ta19i, ta19j, ta19k, ta19l, ta19m, ta19n, ta19o, ta19p, ta19q, ta19r, ta19s, ta19t, ta19u, ta19v, ta19w, ta19x, ta19y, ta19z, ta19A, ta19B, ta19C, ta19D, ta19E, ta19F, ta19G, ta19H, ta19I, ta19J, ta19K, ta19L, ta19M, ta19N, ta19O, ta19P, ta19Q, ta17G] + x_r4X + y_r4Y + z_r4Z + p_r50 +AbsBinds +[ta1aq, ta1eF, ta1eN, ta1eO, ta1eP, ta1eQ, ta1eR, ta1eS, ta1eT, ta1eU, ta1eV, ta1eW, ta1eX, ta1eY, ta1eZ, ta1f0, ta1f1, ta1f2, ta1f3, ta1f4, ta1f5, ta1f6, ta1f7, ta1f8, ta1f9, ta1fa, ta1fb, ta1fc, ta1fd, ta1fe, ta1ff, ta1fg, ta1fh, ta1fi, ta1fj, ta1fk, ta1fl, ta1fm, ta1fn, ta1fo, ta1fp, ta1fq, ta1fr, ta1fs, ta1ft, ta1fu, ta1fv, ta1fw, ta1fx, ta1fy, ta1fz, ta1fA, ta1fB, ta1fC, ta1fD, ta1fE, ta1fF, ta1fG, ta1fH, ta1fI, ta1fJ, ta1fK, ta1fL, ta1fM, ta1fN, ta1fO, ta1fP, ta1fQ, ta1fR, ta1fS, ta1fT, ta1fU, ta1fV, ta1fW, ta1fX, ta1fY, ta1fZ, ta1g0, ta1g1, ta1g2, ta1g3, ta1g4, ta1g5, ta1g6, ta1g7, ta1g8, ta1g9, ta1ga, ta1gb, ta1gc, ta1gd, ta1ge, ta1gf, ta1gg, ta1gh, ta1gi, ta1gj, ta1gk, ta1gl, ta1gm, ta1gn, ta1go, ta1gp, ta1gq, ta1gr, ta1gs, ta1gt, ta1gu, ta1gv, ta1gw, ta1gx, ta1gy, ta1gz, ta1gA, ta1gB, ta1gC, ta1gD, ta1gE, ta1gF, ta1gG, ta1gH, ta1gI, ta1gJ, ta1gK, ta1gL, ta1gM, ta1gN, ta1gO, ta1gP, ta1gQ, ta1gR, ta1gS, ta1gT, ta1gU, ta1gV, ta1gW, ta1gX, ta1gY, ta1gZ, ta1h0, ta1h1, ta1h2, ta1h3, ta1h4, ta1h5, ta1h6, ta1h7, ta1h8, ta1h9, ta1ha, ta1hb, ta1hc, ta1hd, ta1he, ta1hf, ta1hg, ta1hh, ta1hi, ta1hj, ta1hk, ta1hl, ta1hm, ta1hn, ta1ho, ta1hp, ta1hq, ta1hr, ta1hs, ta1ht, ta1hu, ta1hv, ta1hw, ta1hx, ta1hy, ta1hz, ta1hA, ta1hB, ta1hC, ta1hD, ta1hE, ta1hF, ta1hG, ta1hH, ta1hI, ta1hJ, ta1hK, ta1hL, ta1hM, ta1hN, ta1hO, ta1hP, ta1hQ, ta1hR, ta1hS, ta1hT, ta1hU, ta1hV, ta1hW, ta1hX, ta1hY, ta1hZ, ta1i0, ta1i1, ta1i2, ta1i3, ta1i4, ta1i5, ta1i6, ta1i7, ta1i8, ta1i9, ta1ia, ta1ib, ta1ic, ta1id, ta1ie, ta1if, ta1ig, ta1ih, ta1ii, ta1ij, ta1ik, ta1il, ta1im, ta1in, ta1io, ta1ip, ta1iq, ta1ir, ta1is, ta1it, ta1iu, ta1iv, ta1iw, ta1ix, ta1iy, ta1iz, ta1iA, ta1iB, ta1iC, ta1iD, ta1iE, ta1iF, ta1iG, ta1iH, ta1iI, ta1iJ, ta1iK, ta1iL, ta1iM, ta1iN, ta1iO, ta1iP, ta1iQ, ta1iR, ta1iS, ta1iT, ta1iU, ta1n8, ta1na, ta1ng, ta1nh, ta1ni, ta1nj, ta1nk, ta1nl, ta1nm, ta1nn, ta1no, ta1np, ta1nq, ta1nr, ta1ns, ta1nt, ta1nu, ta1nv, ta1nw, ta1nx, ta1ny, ta1nz, ta1nA, ta1nB, ta1nC, ta1nD, ta1nE, ta1nF, ta1nG, ta1nH, ta1nI, ta1nJ, ta1nK, ta1nL, ta1nM, ta1nN, ta1nO, ta1nP, ta1nQ, ta1nR, ta1nS, ta1nT, ta1nU, ta1nV, ta1nW, ta1nX, ta1nY, ta1nZ, ta1o0, ta1o1, ta1o2, ta1o3, ta1o4, ta1o5, ta1o6, ta1o7, ta1o8, ta1o9, ta1oa, ta1ob, ta1oc, ta1od, ta1oe, ta1of, ta1og, ta1oh, ta1oi, ta1oj, ta1ok, ta1ol, ta1om, ta1on, ta1oo, ta1op, ta1oq, ta1or, ta1os, ta1ot, ta1ou, ta1ov, ta1ow, ta1ox, ta1oy, ta1oz, ta1oA, ta1oB, ta1oC, ta1oD, ta1oE, ta1oF, ta1oG, ta1oH, ta1oI, ta1oJ, ta1oK, ta1oL, ta1oM, ta1oN, ta1oO, ta1oP, ta1oQ, ta1oR, ta1oS, ta1oT, ta1oU, ta1oV, ta1oW, ta1oX, ta1oY, ta1oZ, ta1p0, ta1p1, ta1p2, ta1p3, ta1p4, ta1p5, ta1p6, ta1p7, ta1p8, ta1p9, ta1pa, ta1pb, ta1pc, ta1pd, ta1pe, ta1pf, ta1pg, ta1ph, ta1pi, ta1pj, ta1pk, ta1pl, ta1pm, ta1pn, ta1po, ta1pp, ta1pq, ta1pr, ta1ps, ta1pt, ta1pu, ta1pv, ta1pw, ta1px, ta1py, ta1pz, ta1pA, ta1pB, ta1pC, ta1pD, ta1pE, ta1pF, ta1pG, ta1pH, ta1pI, ta1pJ, ta1pK, ta1pL, ta1pM, ta1pN, ta1pO, ta1pP, ta1pQ, ta1pR, ta1pS, ta1pT, ta1pU, ta1pV, ta1pW, ta1pX, ta1pY, ta1pZ, ta1q0, ta1q1, ta1q2, ta1q3, ta1q4, ta1q5, ta1q6, ta1q7, ta1q8, ta1q9, ta1qa, ta1qb, ta1qc, ta1qd, ta1qe, ta1qf, ta1qg, ta1qh, ta1qi, ta1qj, ta1qk, ta1ql, ta1qm, ta1qn, ta1qo, ta1qp, ta1qq, ta1qr, ta1qs, ta1qt, ta1qu, ta1qv, ta1qw, ta1qx, ta1qy, ta1qz, ta1qA, ta1qB, ta1qC, ta1qD, ta1qE, ta1qF, ta1qG, ta1qH, ta1qI, ta1qJ, ta1qK, ta1qL, ta1qM, ta1qN, ta1qO, ta1qP, ta1qQ, ta1qR, ta1qS, ta1qT, ta1qU, ta1qV, ta1qW, ta1qX, ta1qY, ta1qZ, ta1r0, ta1r1, ta1r2, ta1r3, ta1r4, ta1r5, ta1r6, ta1r7, ta1r8, ta1r9, ta1ra, ta1rb, ta1rc, ta1rd, ta1re, ta1rf, ta1rg, ta1rh, ta1ri, ta1rj, ta1rk, ta1rl, ta1rm, ta1rn] +[] +[([ta1aq, ta1eF, ta1eN, ta1eO, ta1eP, ta1eQ, ta1eR, ta1eS, ta1eT, + ta1eU, ta1eV, ta1eW, ta1eX, ta1eY, ta1eZ, ta1f0, ta1f1, ta1f2, + ta1f3, ta1f4, ta1f5, ta1f6, ta1f7, ta1f8, ta1f9, ta1fa, ta1fb, + ta1fc, ta1fd, ta1fe, ta1ff, ta1fg, ta1fh, ta1fi, ta1fj, ta1fk, + ta1fl, ta1fm, ta1fn, ta1fo, ta1fp, ta1fq, ta1fr, ta1fs, ta1ft, + ta1fu, ta1fv, ta1fw, ta1fx, ta1fy, ta1fz, ta1fA, ta1fB, ta1fC, + ta1fD, ta1fE, ta1fF, ta1fG, ta1fH, ta1fI, ta1fJ, ta1fK, ta1fL, + ta1fM, ta1fN, ta1fO, ta1fP, ta1fQ, ta1fR, ta1fS, ta1fT, ta1fU, + ta1fV, ta1fW, ta1fX, ta1fY, ta1fZ, ta1g0, ta1g1, ta1g2, ta1g3, + ta1g4, ta1g5, ta1g6, ta1g7, ta1g8, ta1g9, ta1ga, ta1gb, ta1gc, + ta1gd, ta1ge, ta1gf, ta1gg, ta1gh, ta1gi, ta1gj, ta1gk, ta1gl, + ta1gm, ta1gn, ta1go, ta1gp, ta1gq, ta1gr, ta1gs, ta1gt, ta1gu, + ta1gv, ta1gw, ta1gx, ta1gy, ta1gz, ta1gA, ta1gB, ta1gC, ta1gD, + ta1gE, ta1gF, ta1gG, ta1gH, ta1gI, ta1gJ, ta1gK, ta1gL, ta1gM, + ta1gN, ta1gO, ta1gP, ta1gQ, ta1gR, ta1gS, ta1gT, ta1gU, ta1gV, + ta1gW, ta1gX, ta1gY, ta1gZ, ta1h0, ta1h1, ta1h2, ta1h3, ta1h4, + ta1h5, ta1h6, ta1h7, ta1h8, ta1h9, ta1ha, ta1hb, ta1hc, ta1hd, + ta1he, ta1hf, ta1hg, ta1hh, ta1hi, ta1hj, ta1hk, ta1hl, ta1hm, + ta1hn, ta1ho, ta1hp, ta1hq, ta1hr, ta1hs, ta1ht, ta1hu, ta1hv, + ta1hw, ta1hx, ta1hy, ta1hz, ta1hA, ta1hB, ta1hC, ta1hD, ta1hE, + ta1hF, ta1hG, ta1hH, ta1hI, ta1hJ, ta1hK, ta1hL, ta1hM, ta1hN, + ta1hO, ta1hP, ta1hQ, ta1hR, ta1hS, ta1hT, ta1hU, ta1hV, ta1hW, + ta1hX, ta1hY, ta1hZ, ta1i0, ta1i1, ta1i2, ta1i3, ta1i4, ta1i5, + ta1i6, ta1i7, ta1i8, ta1i9, ta1ia, ta1ib, ta1ic, ta1id, ta1ie, + ta1if, ta1ig, ta1ih, ta1ii, ta1ij, ta1ik, ta1il, ta1im, ta1in, + ta1io, ta1ip, ta1iq, ta1ir, ta1is, ta1it, ta1iu, ta1iv, ta1iw, + ta1ix, ta1iy, ta1iz, ta1iA, ta1iB, ta1iC, ta1iD, ta1iE, ta1iF, + ta1iG, ta1iH, ta1iI, ta1iJ, ta1iK, ta1iL, ta1iM, ta1iN, ta1iO, + ta1iP, ta1iQ, ta1iR, ta1iS, ta1iT, ta1iU, ta1n8, ta1na, ta1ng, + ta1nh, ta1ni, ta1nj, ta1nk, ta1nl, ta1nm, ta1nn, ta1no, ta1np, + ta1nq, ta1nr, ta1ns, ta1nt, ta1nu, ta1nv, ta1nw, ta1nx, ta1ny, + ta1nz, ta1nA, ta1nB, ta1nC, ta1nD, ta1nE, ta1nF, ta1nG, ta1nH, + ta1nI, ta1nJ, ta1nK, ta1nL, ta1nM, ta1nN, ta1nO, ta1nP, ta1nQ, + ta1nR, ta1nS, ta1nT, ta1nU, ta1nV, ta1nW, ta1nX, ta1nY, ta1nZ, + ta1o0, ta1o1, ta1o2, ta1o3, ta1o4, ta1o5, ta1o6, ta1o7, ta1o8, + ta1o9, ta1oa, ta1ob, ta1oc, ta1od, ta1oe, ta1of, ta1og, ta1oh, + ta1oi, ta1oj, ta1ok, ta1ol, ta1om, ta1on, ta1oo, ta1op, ta1oq, + ta1or, ta1os, ta1ot, ta1ou, ta1ov, ta1ow, ta1ox, ta1oy, ta1oz, + ta1oA, ta1oB, ta1oC, ta1oD, ta1oE, ta1oF, ta1oG, ta1oH, ta1oI, + ta1oJ, ta1oK, ta1oL, ta1oM, ta1oN, ta1oO, ta1oP, ta1oQ, ta1oR, + ta1oS, ta1oT, ta1oU, ta1oV, ta1oW, ta1oX, ta1oY, ta1oZ, ta1p0, + ta1p1, ta1p2, ta1p3, ta1p4, ta1p5, ta1p6, ta1p7, ta1p8, ta1p9, + ta1pa, ta1pb, ta1pc, ta1pd, ta1pe, ta1pf, ta1pg, ta1ph, ta1pi, + ta1pj, ta1pk, ta1pl, ta1pm, ta1pn, ta1po, ta1pp, ta1pq, ta1pr, + ta1ps, ta1pt, ta1pu, ta1pv, ta1pw, ta1px, ta1py, ta1pz, ta1pA, + ta1pB, ta1pC, ta1pD, ta1pE, ta1pF, ta1pG, ta1pH, ta1pI, ta1pJ, + ta1pK, ta1pL, ta1pM, ta1pN, ta1pO, ta1pP, ta1pQ, ta1pR, ta1pS, + ta1pT, ta1pU, ta1pV, ta1pW, ta1pX, ta1pY, ta1pZ, ta1q0, ta1q1, + ta1q2, ta1q3, ta1q4, ta1q5, ta1q6, ta1q7, ta1q8, ta1q9, ta1qa, + ta1qb, ta1qc, ta1qd, ta1qe, ta1qf, ta1qg, ta1qh, ta1qi, ta1qj, + ta1qk, ta1ql, ta1qm, ta1qn, ta1qo, ta1qp, ta1qq, ta1qr, ta1qs, + ta1qt, ta1qu, ta1qv, ta1qw, ta1qx, ta1qy, ta1qz, ta1qA, ta1qB, + ta1qC, ta1qD, ta1qE, ta1qF, ta1qG, ta1qH, ta1qI, ta1qJ, ta1qK, + ta1qL, ta1qM, ta1qN, ta1qO, ta1qP, ta1qQ, ta1qR, ta1qS, ta1qT, + ta1qU, ta1qV, ta1qW, ta1qX, ta1qY, ta1qZ, ta1r0, ta1r1, ta1r2, + ta1r3, ta1r4, ta1r5, ta1r6, ta1r7, ta1r8, ta1r9, ta1ra, ta1rb, + ta1rc, ta1rd, ta1re, ta1rf, ta1rg, ta1rh, ta1ri, ta1rj, ta1rk, + ta1rl, ta1rm, ta1rn], + g{-r5O,x-}, + g_a19T)] + g_a19T x_r4S y_r4T z_r4U p_r4V + = g_rec{-r65,x-} + [ta1iU, ta1eF, GHC.Void{-3T,W-}, (ta1eF, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), ta1na, ta1rn, ta1n8, (ta1n8, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}), (ta1iU, (ta1ng, (ta1nh, (ta1ni, (ta1nj, (ta1nk, (ta1nl, (ta1nm, ta1nn, ta1nn), (ta1nm, ta1no, ta1no)), (ta1nl, (ta1np, ta1nq, ta1nq), (ta1np, ta1nr, ta1nr))), (ta1nk, (ta1ns, (ta1nt, ta1nu, ta1nu), (ta1nt, ta1nv, ta1nv)), (ta1ns, (ta1nw, ta1nx, ta1nx), (ta1nw, ta1ny, ta1ny)))), (ta1nj, (ta1nz, (ta1nA, (ta1nB, ta1nC, ta1nC), (ta1nB, ta1nD, ta1nD)), (ta1nA, (ta1nE, ta1nF, ta1nF), (ta1nE, ta1nG, ta1nG))), (ta1nz, (ta1nH, (ta1nI, ta1nJ, ta1nJ), (ta1nI, ta1nK, ta1nK)), (ta1nH, (ta1nL, ta1nM, ta1nM), (ta1nL, ta1nN, ta1nN))))), (ta1ni, (ta1nO, (ta1nP, (ta1nQ, (ta1nR, ta1nS, ta1nS), (ta1nR, ta1nT, ta1nT)), (ta1nQ, (ta1nU, ta1nV, ta1nV), (ta1nU, ta1nW, ta1nW))), (ta1nP, (ta1nX, (ta1nY, ta1nZ, ta1nZ), (ta1nY, ta1o0, ta1o0)), (ta1nX, (ta1o1, ta1o2, ta1o2), (ta1o1, ta1o3, ta1o3)))), (ta1nO, (ta1o4, (ta1o5, (ta1o6, ta1o7, ta1o7), (ta1o6, ta1o8, ta1o8)), (ta1o5, (ta1o9, ta1oa, ta1oa), (ta1o9, ta1ob, ta1ob))), (ta1o4, (ta1oc, (ta1od, ta1oe, ta1oe), (ta1od, ta1of, ta1of)), (ta1oc, (ta1og, ta1oh, ta1oh), (ta1og, ta1oi, ta1oi)))))), (ta1nh, (ta1oj, (ta1ok, (ta1ol, (ta1om, (ta1on, ta1oo, ta1oo), (ta1on, ta1op, ta1op)), (ta1om, (ta1oq, ta1or, ta1or), (ta1oq, ta1os, ta1os))), (ta1ol, (ta1ot, (ta1ou, ta1ov, ta1ov), (ta1ou, ta1ow, ta1ow)), (ta1ot, (ta1ox, ta1oy, ta1oy), (ta1ox, ta1oz, ta1oz)))), (ta1ok, (ta1oA, (ta1oB, (ta1oC, ta1oD, ta1oD), (ta1oC, ta1oE, ta1oE)), (ta1oB, (ta1oF, ta1oG, ta1oG), (ta1oF, ta1oH, ta1oH))), (ta1oA, (ta1oI, (ta1oJ, ta1oK, ta1oK), (ta1oJ, ta1oL, ta1oL)), (ta1oI, (ta1oM, ta1oN, ta1oN), (ta1oM, ta1oO, ta1oO))))), (ta1oj, (ta1oP, (ta1oQ, (ta1oR, (ta1oS, ta1oT, ta1oT), (ta1oS, ta1oU, ta1oU)), (ta1oR, (ta1oV, ta1oW, ta1oW), (ta1oV, ta1oX, ta1oX))), (ta1oQ, (ta1oY, (ta1oZ, ta1p0, ta1p0), (ta1oZ, ta1p1, ta1p1)), (ta1oY, (ta1p2, ta1p3, ta1p3), (ta1p2, ta1p4, ta1p4)))), (ta1oP, (ta1p5, (ta1p6, (ta1p7, ta1p8, ta1p8), (ta1p7, ta1p9, ta1p9)), (ta1p6, (ta1pa, ta1pb, ta1pb), (ta1pa, ta1pc, ta1pc))), (ta1p5, (ta1pd, (ta1pe, ta1pf, ta1pf), (ta1pe, ta1pg, ta1pg)), (ta1pd, (ta1ph, ta1pi, ta1pi), (ta1ph, ta1pj, ta1pj))))))), (ta1ng, (ta1pk, (ta1pl, (ta1pm, (ta1pn, (ta1po, (ta1pp, ta1pq, ta1pq), (ta1pp, ta1pr, ta1pr)), (ta1po, (ta1ps, ta1pt, ta1pt), (ta1ps, ta1pu, ta1pu))), (ta1pn, (ta1pv, (ta1pw, ta1px, ta1px), (ta1pw, ta1py, ta1py)), (ta1pv, (ta1pz, ta1pA, ta1pA), (ta1pz, ta1pB, ta1pB)))), (ta1pm, (ta1pC, (ta1pD, (ta1pE, ta1pF, ta1pF), (ta1pE, ta1pG, ta1pG)), (ta1pD, (ta1pH, ta1pI, ta1pI), (ta1pH, ta1pJ, ta1pJ))), (ta1pC, (ta1pK, (ta1pL, ta1pM, ta1pM), (ta1pL, ta1pN, ta1pN)), (ta1pK, (ta1pO, ta1pP, ta1pP), (ta1pO, ta1pQ, ta1pQ))))), (ta1pl, (ta1pR, (ta1pS, (ta1pT, (ta1pU, ta1pV, ta1pV), (ta1pU, ta1pW, ta1pW)), (ta1pT, (ta1pX, ta1pY, ta1pY), (ta1pX, ta1pZ, ta1pZ))), (ta1pS, (ta1q0, (ta1q1, ta1q2, ta1q2), (ta1q1, ta1q3, ta1q3)), (ta1q0, (ta1q4, ta1q5, ta1q5), (ta1q4, ta1q6, ta1q6)))), (ta1pR, (ta1q7, (ta1q8, (ta1q9, ta1qa, ta1qa), (ta1q9, ta1qb, ta1qb)), (ta1q8, (ta1qc, ta1qd, ta1qd), (ta1qc, ta1qe, ta1qe))), (ta1q7, (ta1qf, (ta1qg, ta1qh, ta1qh), (ta1qg, ta1qi, ta1qi)), (ta1qf, (ta1qj, ta1qk, ta1qk), (ta1qj, ta1ql, ta1ql)))))), (ta1pk, (ta1qm, (ta1qn, (ta1qo, (ta1qp, (ta1qq, ta1qr, ta1qr), (ta1qq, ta1qs, ta1qs)), (ta1qp, (ta1qt, ta1qu, ta1qu), (ta1qt, ta1qv, ta1qv))), (ta1qo, (ta1qw, (ta1qx, ta1qy, ta1qy), (ta1qx, ta1qz, ta1qz)), (ta1qw, (ta1qA, ta1qB, ta1qB), (ta1qA, ta1qC, ta1qC)))), (ta1qn, (ta1qD, (ta1qE, (ta1qF, ta1qG, ta1qG), (ta1qF, ta1qH, ta1qH)), (ta1qE, (ta1qI, ta1qJ, ta1qJ), (ta1qI, ta1qK, ta1qK))), (ta1qD, (ta1qL, (ta1qM, ta1qN, ta1qN), (ta1qM, ta1qO, ta1qO)), (ta1qL, (ta1qP, ta1qQ, ta1qQ), (ta1qP, ta1qR, ta1qR))))), (ta1qm, (ta1qS, (ta1qT, (ta1qU, (ta1qV, ta1qW, ta1qW), (ta1qV, ta1qX, ta1qX)), (ta1qU, (ta1qY, ta1qZ, ta1qZ), (ta1qY, ta1r0, ta1r0))), (ta1qT, (ta1r1, (ta1r2, ta1r3, ta1r3), (ta1r2, ta1r4, ta1r4)), (ta1r1, (ta1r5, ta1r6, ta1r6), (ta1r5, ta1r7, ta1r7)))), (ta1qS, (ta1r8, (ta1r9, (ta1ra, ta1rb, ta1rb), (ta1ra, ta1rc, ta1rc)), (ta1r9, (ta1rd, ta1re, ta1re), (ta1rd, ta1rf, ta1rf))), (ta1r8, (ta1rg, (ta1rh, ta1ri, ta1ri), (ta1rh, ta1rj, ta1rj)), (ta1rg, (ta1rk, ta1rl, ta1rl), (ta1rk, ta1rm, ta1rm)))))))), ta1aq, (ta1iU, (ta1eN, (ta1eO, (ta1eP, (ta1eQ, (ta1eR, (ta1eS, (ta1eT, ta1eU, ta1eU), (ta1eT, ta1eV, ta1eV)), (ta1eS, (ta1eW, ta1eX, ta1eX), (ta1eW, ta1eY, ta1eY))), (ta1eR, (ta1eZ, (ta1f0, ta1f1, ta1f1), (ta1f0, ta1f2, ta1f2)), (ta1eZ, (ta1f3, ta1f4, ta1f4), (ta1f3, ta1f5, ta1f5)))), (ta1eQ, (ta1f6, (ta1f7, (ta1f8, ta1f9, ta1f9), (ta1f8, ta1fa, ta1fa)), (ta1f7, (ta1fb, ta1fc, ta1fc), (ta1fb, ta1fd, ta1fd))), (ta1f6, (ta1fe, (ta1ff, ta1fg, ta1fg), (ta1ff, ta1fh, ta1fh)), (ta1fe, (ta1fi, ta1fj, ta1fj), (ta1fi, ta1fk, ta1fk))))), (ta1eP, (ta1fl, (ta1fm, (ta1fn, (ta1fo, ta1fp, ta1fp), (ta1fo, ta1fq, ta1fq)), (ta1fn, (ta1fr, ta1fs, ta1fs), (ta1fr, ta1ft, ta1ft))), (ta1fm, (ta1fu, (ta1fv, ta1fw, ta1fw), (ta1fv, ta1fx, ta1fx)), (ta1fu, (ta1fy, ta1fz, ta1fz), (ta1fy, ta1fA, ta1fA)))), (ta1fl, (ta1fB, (ta1fC, (ta1fD, ta1fE, ta1fE), (ta1fD, ta1fF, ta1fF)), (ta1fC, (ta1fG, ta1fH, ta1fH), (ta1fG, ta1fI, ta1fI))), (ta1fB, (ta1fJ, (ta1fK, ta1fL, ta1fL), (ta1fK, ta1fM, ta1fM)), (ta1fJ, (ta1fN, ta1fO, ta1fO), (ta1fN, ta1fP, ta1fP)))))), (ta1eO, (ta1fQ, (ta1fR, (ta1fS, (ta1fT, (ta1fU, ta1fV, ta1fV), (ta1fU, ta1fW, ta1fW)), (ta1fT, (ta1fX, ta1fY, ta1fY), (ta1fX, ta1fZ, ta1fZ))), (ta1fS, (ta1g0, (ta1g1, ta1g2, ta1g2), (ta1g1, ta1g3, ta1g3)), (ta1g0, (ta1g4, ta1g5, ta1g5), (ta1g4, ta1g6, ta1g6)))), (ta1fR, (ta1g7, (ta1g8, (ta1g9, ta1ga, ta1ga), (ta1g9, ta1gb, ta1gb)), (ta1g8, (ta1gc, ta1gd, ta1gd), (ta1gc, ta1ge, ta1ge))), (ta1g7, (ta1gf, (ta1gg, ta1gh, ta1gh), (ta1gg, ta1gi, ta1gi)), (ta1gf, (ta1gj, ta1gk, ta1gk), (ta1gj, ta1gl, ta1gl))))), (ta1fQ, (ta1gm, (ta1gn, (ta1go, (ta1gp, ta1gq, ta1gq), (ta1gp, ta1gr, ta1gr)), (ta1go, (ta1gs, ta1gt, ta1gt), (ta1gs, ta1gu, ta1gu))), (ta1gn, (ta1gv, (ta1gw, ta1gx, ta1gx), (ta1gw, ta1gy, ta1gy)), (ta1gv, (ta1gz, ta1gA, ta1gA), (ta1gz, ta1gB, ta1gB)))), (ta1gm, (ta1gC, (ta1gD, (ta1gE, ta1gF, ta1gF), (ta1gE, ta1gG, ta1gG)), (ta1gD, (ta1gH, ta1gI, ta1gI), (ta1gH, ta1gJ, ta1gJ))), (ta1gC, (ta1gK, (ta1gL, ta1gM, ta1gM), (ta1gL, ta1gN, ta1gN)), (ta1gK, (ta1gO, ta1gP, ta1gP), (ta1gO, ta1gQ, ta1gQ))))))), (ta1eN, (ta1gR, (ta1gS, (ta1gT, (ta1gU, (ta1gV, (ta1gW, ta1gX, ta1gX), (ta1gW, ta1gY, ta1gY)), (ta1gV, (ta1gZ, ta1h0, ta1h0), (ta1gZ, ta1h1, ta1h1))), (ta1gU, (ta1h2, (ta1h3, ta1h4, ta1h4), (ta1h3, ta1h5, ta1h5)), (ta1h2, (ta1h6, ta1h7, ta1h7), (ta1h6, ta1h8, ta1h8)))), (ta1gT, (ta1h9, (ta1ha, (ta1hb, ta1hc, ta1hc), (ta1hb, ta1hd, ta1hd)), (ta1ha, (ta1he, ta1hf, ta1hf), (ta1he, ta1hg, ta1hg))), (ta1h9, (ta1hh, (ta1hi, ta1hj, ta1hj), (ta1hi, ta1hk, ta1hk)), (ta1hh, (ta1hl, ta1hm, ta1hm), (ta1hl, ta1hn, ta1hn))))), (ta1gS, (ta1ho, (ta1hp, (ta1hq, (ta1hr, ta1hs, ta1hs), (ta1hr, ta1ht, ta1ht)), (ta1hq, (ta1hu, ta1hv, ta1hv), (ta1hu, ta1hw, ta1hw))), (ta1hp, (ta1hx, (ta1hy, ta1hz, ta1hz), (ta1hy, ta1hA, ta1hA)), (ta1hx, (ta1hB, ta1hC, ta1hC), (ta1hB, ta1hD, ta1hD)))), (ta1ho, (ta1hE, (ta1hF, (ta1hG, ta1hH, ta1hH), (ta1hG, ta1hI, ta1hI)), (ta1hF, (ta1hJ, ta1hK, ta1hK), (ta1hJ, ta1hL, ta1hL))), (ta1hE, (ta1hM, (ta1hN, ta1hO, ta1hO), (ta1hN, ta1hP, ta1hP)), (ta1hM, (ta1hQ, ta1hR, ta1hR), (ta1hQ, ta1hS, ta1hS)))))), (ta1gR, (ta1hT, (ta1hU, (ta1hV, (ta1hW, (ta1hX, ta1hY, ta1hY), (ta1hX, ta1hZ, ta1hZ)), (ta1hW, (ta1i0, ta1i1, ta1i1), (ta1i0, ta1i2, ta1i2))), (ta1hV, (ta1i3, (ta1i4, ta1i5, ta1i5), (ta1i4, ta1i6, ta1i6)), (ta1i3, (ta1i7, ta1i8, ta1i8), (ta1i7, ta1i9, ta1i9)))), (ta1hU, (ta1ia, (ta1ib, (ta1ic, ta1id, ta1id), (ta1ic, ta1ie, ta1ie)), (ta1ib, (ta1if, ta1ig, ta1ig), (ta1if, ta1ih, ta1ih))), (ta1ia, (ta1ii, (ta1ij, ta1ik, ta1ik), (ta1ij, ta1il, ta1il)), (ta1ii, (ta1im, ta1in, ta1in), (ta1im, ta1io, ta1io))))), (ta1hT, (ta1ip, (ta1iq, (ta1ir, (ta1is, ta1it, ta1it), (ta1is, ta1iu, ta1iu)), (ta1ir, (ta1iv, ta1iw, ta1iw), (ta1iv, ta1ix, ta1ix))), (ta1iq, (ta1iy, (ta1iz, ta1iA, ta1iA), (ta1iz, ta1iB, ta1iB)), (ta1iy, (ta1iC, ta1iD, ta1iD), (ta1iC, ta1iE, ta1iE)))), (ta1ip, (ta1iF, (ta1iG, (ta1iH, ta1iI, ta1iI), (ta1iH, ta1iJ, ta1iJ)), (ta1iG, (ta1iK, ta1iL, ta1iL), (ta1iK, ta1iM, ta1iM))), (ta1iF, (ta1iN, (ta1iO, ta1iP, ta1iP), (ta1iO, ta1iQ, ta1iQ)), (ta1iN, (ta1iR, ta1iS, ta1iS), (ta1iR, ta1iT, ta1iT))))))))] g_rec8{-r5N,x-} + [ta1iU, GHC.Void{-3T,W-}, ta1eO, ta1eP, ta1eQ, ta1eR, ta1eS, ta1eT, ta1eU, ta1eV, ta1eW, ta1eX, ta1eY, ta1eZ, ta1f0, ta1f1, ta1f2, ta1f3, ta1f4, ta1f5, ta1f6, ta1f7, ta1f8, ta1f9, ta1fa, ta1fb, ta1fc, ta1fd, ta1fe, ta1ff, ta1fg, ta1fh, ta1fi, ta1fj, ta1fk, ta1fl, ta1fm, ta1fn, ta1fo, ta1fp, ta1fq, ta1fr, ta1fs, ta1ft, ta1fu, ta1fv, ta1fw, ta1fx, ta1fy, ta1fz, ta1fA, ta1fB, ta1fC, ta1fD, ta1fE, ta1fF, ta1fG, ta1fH, ta1fI, ta1fJ, ta1fK, ta1fL, ta1fM, ta1fN, ta1fO, ta1fP, ta1fQ, ta1fR, ta1fS, ta1fT, ta1fU, ta1fV, ta1fW, ta1fX, ta1fY, ta1fZ, ta1g0, ta1g1, ta1g2, ta1g3, ta1g4, ta1g5, ta1g6, ta1g7, ta1g8, ta1g9, ta1ga, ta1gb, ta1gc, ta1gd, ta1ge, ta1gf, ta1gg, ta1gh, ta1gi, ta1gj, ta1gk, ta1gl, ta1gm, ta1gn, ta1go, ta1gp, ta1gq, ta1gr, ta1gs, ta1gt, ta1gu, ta1gv, ta1gw, ta1gx, ta1gy, ta1gz, ta1gA, ta1gB, ta1gC, ta1gD, ta1gE, ta1gF, ta1gG, ta1gH, ta1gI, ta1gJ, ta1gK, ta1gL, ta1gM, ta1gN, ta1gO, ta1gP, ta1gQ, ta1eN, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, ta1gR, ta1gS, ta1gT, ta1gU, ta1gV, ta1gW, ta1gX, ta1gY, ta1gZ, ta1h0, ta1h1, ta1h2, ta1h3, ta1h4, ta1h5, ta1h6, ta1h7, ta1h8, ta1h9, ta1ha, ta1hb, ta1hc, ta1hd, ta1he, ta1hf, ta1hg, ta1hh, ta1hi, ta1hj, ta1hk, ta1hl, ta1hm, ta1hn, ta1ho, ta1hp, ta1hq, ta1hr, ta1hs, ta1ht, ta1hu, ta1hv, ta1hw, ta1hx, ta1hy, ta1hz, ta1hA, ta1hB, ta1hC, ta1hD, ta1hE, ta1hF, ta1hG, ta1hH, ta1hI, ta1hJ, ta1hK, ta1hL, ta1hM, ta1hN, ta1hO, ta1hP, ta1hQ, ta1hR, ta1hS, ta1hT, ta1hU, ta1hV, ta1hW, ta1hX, ta1hY, ta1hZ, ta1i0, ta1i1, ta1i2, ta1i3, ta1i4, ta1i5, ta1i6, ta1i7, ta1i8, ta1i9, ta1ia, ta1ib, ta1ic, ta1id, ta1ie, ta1if, ta1ig, ta1ih, ta1ii, ta1ij, ta1ik, ta1il, ta1im, ta1in, ta1io, ta1ip, ta1iq, ta1ir, ta1is, ta1it, ta1iu, ta1iv, ta1iw, ta1ix, ta1iy, ta1iz, ta1iA, ta1iB, ta1iC, ta1iD, ta1iE, ta1iF, ta1iG, ta1iH, ta1iI, ta1iJ, ta1iK, ta1iL, ta1iM, ta1iN, ta1iO, ta1iP, ta1iQ, ta1iR, ta1iS, ta1iT, ta1eF] + g_rec8{-r5N,x-} + [ta1iU, ta1na, ta1nh, ta1ni, ta1nj, ta1nk, ta1nl, ta1nm, ta1nn, ta1no, ta1np, ta1nq, ta1nr, ta1ns, ta1nt, ta1nu, ta1nv, ta1nw, ta1nx, ta1ny, ta1nz, ta1nA, ta1nB, ta1nC, ta1nD, ta1nE, ta1nF, ta1nG, ta1nH, ta1nI, ta1nJ, ta1nK, ta1nL, ta1nM, ta1nN, ta1nO, ta1nP, ta1nQ, ta1nR, ta1nS, ta1nT, ta1nU, ta1nV, ta1nW, ta1nX, ta1nY, ta1nZ, ta1o0, ta1o1, ta1o2, ta1o3, ta1o4, ta1o5, ta1o6, ta1o7, ta1o8, ta1o9, ta1oa, ta1ob, ta1oc, ta1od, ta1oe, ta1of, ta1og, ta1oh, ta1oi, ta1oj, ta1ok, ta1ol, ta1om, ta1on, ta1oo, ta1op, ta1oq, ta1or, ta1os, ta1ot, ta1ou, ta1ov, ta1ow, ta1ox, ta1oy, ta1oz, ta1oA, ta1oB, ta1oC, ta1oD, ta1oE, ta1oF, ta1oG, ta1oH, ta1oI, ta1oJ, ta1oK, ta1oL, ta1oM, ta1oN, ta1oO, ta1oP, ta1oQ, ta1oR, ta1oS, ta1oT, ta1oU, ta1oV, ta1oW, ta1oX, ta1oY, ta1oZ, ta1p0, ta1p1, ta1p2, ta1p3, ta1p4, ta1p5, ta1p6, ta1p7, ta1p8, ta1p9, ta1pa, ta1pb, ta1pc, ta1pd, ta1pe, ta1pf, ta1pg, ta1ph, ta1pi, ta1pj, ta1ng, GHC.Void{-3T,W-}, GHC.Void{-3T,W-}, ta1pk, ta1pl, ta1pm, ta1pn, ta1po, ta1pp, ta1pq, ta1pr, ta1ps, ta1pt, ta1pu, ta1pv, ta1pw, ta1px, ta1py, ta1pz, ta1pA, ta1pB, ta1pC, ta1pD, ta1pE, ta1pF, ta1pG, ta1pH, ta1pI, ta1pJ, ta1pK, ta1pL, ta1pM, ta1pN, ta1pO, ta1pP, ta1pQ, ta1pR, ta1pS, ta1pT, ta1pU, ta1pV, ta1pW, ta1pX, ta1pY, ta1pZ, ta1q0, ta1q1, ta1q2, ta1q3, ta1q4, ta1q5, ta1q6, ta1q7, ta1q8, ta1q9, ta1qa, ta1qb, ta1qc, ta1qd, ta1qe, ta1qf, ta1qg, ta1qh, ta1qi, ta1qj, ta1qk, ta1ql, ta1qm, ta1qn, ta1qo, ta1qp, ta1qq, ta1qr, ta1qs, ta1qt, ta1qu, ta1qv, ta1qw, ta1qx, ta1qy, ta1qz, ta1qA, ta1qB, ta1qC, ta1qD, ta1qE, ta1qF, ta1qG, ta1qH, ta1qI, ta1qJ, ta1qK, ta1qL, ta1qM, ta1qN, ta1qO, ta1qP, ta1qQ, ta1qR, ta1qS, ta1qT, ta1qU, ta1qV, ta1qW, ta1qX, ta1qY, ta1qZ, ta1r0, ta1r1, ta1r2, ta1r3, ta1r4, ta1r5, ta1r6, ta1r7, ta1r8, ta1r9, ta1ra, ta1rb, ta1rc, ta1rd, ta1re, ta1rf, ta1rg, ta1rh, ta1ri, ta1rj, ta1rk, ta1rl, ta1rm, ta1n8] + x_r4S + y_r4T + z_r4U + p_r4V + +NOTE: Simplifier still going after 4 iterations; bailing out. +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_exports_ +ShouldSucceed absAnd absIf bottom f f_rec f_rec0 f_rec1 f_rec2 fac fac_rec fac_rec0 fac_rec1 fac_rec2 fac_rec3 fac_rec4 g g_rec g_rec0 g_rec1 g_rec2 g_rec3 g_rec4 g_rec5 g_rec6 g_rec7 g_rec8 head one s_1_0 s_2_0 s_2_1 s_3_0 s_3_1 s_3_2; +_declarations_ +1 absAnd _:_ _forall_ [ta] => ta -> ta -> ta ;; +1 absIf _:_ _forall_ [ta tb tc] => tc -> ta -> tb -> tc ;; +1 bottom _:_ _forall_ [ta] => [ta] -> ta ;; +1 f _:_ _forall_ [ta] => ta -> ta ;; +1 f_rec _:_ _forall_ [ta tb] => (tb -> ta) -> tb -> ta ;; +1 f_rec0 _:_ _forall_ [ta] => ta -> ta ;; +1 f_rec1 _:_ _forall_ [ta] => ta -> ta ;; +1 f_rec2 _:_ _forall_ [ta] => ta -> ta ;; +1 fac _:_ _forall_ [ta tb tc td te tf tg th ti tj tk] => (ta, (ti, (tb, (tc, (td, te)))), (tj, (tb, (tc, (td, te))), (tf, (tc, (td, te)), (tg, (td, te), (th, te, te))))) -> (tk, (ti, (tb, (tc, (td, te))))) -> ta ;; +1 fac_rec _:_ _forall_ [ta tb tc td te] => (tc -> td -> ta) -> (tb, td, tc) -> (te, td) -> tb ;; +1 fac_rec0 _:_ _forall_ [ta] => ta -> ta -> ta ;; +1 fac_rec1 _:_ _forall_ [ta tb tc] => (ta, tb, tb) -> (tc, tb) -> ta ;; +1 fac_rec2 _:_ _forall_ [ta tb tc td te] => (ta, (tc, tb), (td, tb, tb)) -> (te, (tc, tb)) -> ta ;; +1 fac_rec3 _:_ _forall_ [ta tb tc td te tf tg] => (ta, (te, (tb, tc)), (tf, (tb, tc), (td, tc, tc))) -> (tg, (te, (tb, tc))) -> ta ;; +1 fac_rec4 _:_ _forall_ [ta tb tc td te tf tg th ti] => (ta, (tg, (tb, (tc, td))), (th, (tb, (tc, td)), (te, (tc, td), (tf, td, td)))) -> (ti, (tg, (tb, (tc, td)))) -> ta ;; +1 g _:_ _forall_ [ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ttq ttr tts ttt ttu ttv ttw ttx tty ttz ttA ttB ttC ttD ttE ttF ttG ttH ttI ttJ ttK ttL ttM ttN ttO ttP ttQ ttR ttS ttT ttU ttV ttW ttX ttY ttZ tt10 tt11 tt12 tt13 tt14 tt15 tt16 tt17 tt18 tt19 tt1a tt1b tt1c tt1d tt1e tt1f tt1g tt1h tt1i tt1j tt1k tt1l tt1m tt1n tt1o tt1p tt1q tt1r tt1s tt1t tt1u tt1v tt1w tt1x tt1y tt1z tt1A tt1B tt1C tt1D tt1E tt1F tt1G tt1H tt1I tt1J tt1K tt1L tt1M tt1N tt1O tt1P tt1Q tt1R tt1S tt1T tt1U tt1V tt1W tt1X tt1Y tt1Z tt20 tt21 tt22 tt23 tt24 tt25 tt26 tt27 tt28 tt29 tt2a tt2b tt2c tt2d tt2e tt2f tt2g tt2h tt2i tt2j tt2k tt2l tt2m tt2n tt2o tt2p tt2q tt2r tt2s tt2t tt2u tt2v tt2w tt2x tt2y tt2z tt2A tt2B tt2C tt2D tt2E tt2F tt2G tt2H tt2I tt2J tt2K tt2L tt2M tt2N tt2O tt2P tt2Q tt2R tt2S tt2T tt2U tt2V tt2W tt2X tt2Y tt2Z tt30 tt31 tt32 tt33 tt34 tt35 tt36 tt37 tt38 tt39 tt3a tt3b tt3c tt3d tt3e tt3f tt3g tt3h tt3i tt3j tt3k tt3l tt3m tt3n tt3o tt3p tt3q tt3r tt3s tt3t tt3u tt3v tt3w tt3x tt3y tt3z tt3A tt3B tt3C tt3D tt3E tt3F tt3G tt3H tt3I tt3J tt3K tt3L tt3M tt3N tt3O tt3P tt3Q tt3R tt3S tt3T tt3U tt3V tt3W tt3X tt3Y tt3Z tt40 tt41 tt42 tt43 tt44 tt45 tt46 tt47 tt48 tt49 tt4a tt4b tt4c tt4d tt4e tt4f tt4g tt4h tt4i tt4j tt4k tt4l tt4m tt4n tt4o tt4p tt4q tt4r tt4s tt4t tt4u tt4v tt4w tt4x tt4y tt4z tt4A tt4B tt4C tt4D tt4E tt4F tt4G tt4H tt4I tt4J tt4K tt4L tt4M tt4N tt4O tt4P tt4Q tt4R tt4S tt4T tt4U tt4V tt4W tt4X tt4Y tt4Z tt50 tt51 tt52 tt53 tt54 tt55 tt56 tt57 tt58 tt59 tt5a tt5b tt5c tt5d tt5e tt5f tt5g tt5h tt5i tt5j tt5k tt5l tt5m tt5n tt5o tt5p tt5q tt5r tt5s tt5t tt5u tt5v tt5w tt5x tt5y tt5z tt5A tt5B tt5C tt5D tt5E tt5F tt5G tt5H tt5I tt5J tt5K tt5L tt5M tt5N tt5O tt5P tt5Q tt5R tt5S tt5T tt5U tt5V tt5W tt5X tt5Y tt5Z tt60 tt61 tt62 tt63 tt64 tt65 tt66 tt67 tt68 tt69 tt6a tt6b tt6c tt6d tt6e tt6f tt6g tt6h tt6i tt6j tt6k tt6l tt6m tt6n tt6o tt6p tt6q tt6r tt6s tt6t tt6u tt6v tt6w tt6x tt6y tt6z tt6A tt6B tt6C tt6D tt6E tt6F tt6G tt6H tt6I tt6J tt6K tt6L tt6M tt6N tt6O tt6P tt6Q tt6R tt6S tt6T tt6U tt6V tt6W tt6X tt6Y tt6Z tt70 tt71 tt72 tt73 tt74 tt75 tt76 tt77 tt78 tt79 tt7a tt7b tt7c tt7d tt7e tt7f tt7g tt7h tt7i tt7j tt7k tt7l tt7m tt7n tt7o tt7p tt7q tt7r tt7s tt7t tt7u tt7v tt7w tt7x tt7y tt7z tt7A tt7B tt7C tt7D tt7E tt7F tt7G tt7H tt7I tt7J tt7K tt7L tt7M tt7N tt7O tt7P tt7Q tt7R tt7S tt7T tt7U tt7V tt7W tt7X tt7Y tt7Z tt80 tt81 tt82 tt83 tt84 tt85 tt86 tt87 tt88 tt89 tt8a tt8b tt8c tt8d tt8e tt8f tt8g tt8h tt8i tt8j] => tt8j -> tb -> (tt8j, tt4b, tt4a) -> (ta, (tt49, (tc, (td, (te, (tf, (tg, (th, (ti, tj, tj), (ti, tk, tk)), (th, (tl, tm, tm), (tl, tn, tn))), (tg, (to, (tp, tq, tq), (tp, tr, tr)), (to, (ts, tt, tt), (ts, tu, tu)))), (tf, (tv, (tw, (tx, ty, ty), (tx, tz, tz)), (tw, (ttq, ttr, ttr), (ttq, tts, tts))), (tv, (ttt, (ttu, ttv, ttv), (ttu, ttw, ttw)), (ttt, (ttx, tty, tty), (ttx, ttz, ttz))))), (te, (ttA, (ttB, (ttC, (ttD, ttE, ttE), (ttD, ttF, ttF)), (ttC, (ttG, ttH, ttH), (ttG, ttI, ttI))), (ttB, (ttJ, (ttK, ttL, ttL), (ttK, ttM, ttM)), (ttJ, (ttN, ttO, ttO), (ttN, ttP, ttP)))), (ttA, (ttQ, (ttR, (ttS, ttT, ttT), (ttS, ttU, ttU)), (ttR, (ttV, ttW, ttW), (ttV, ttX, ttX))), (ttQ, (ttY, (ttZ, tt10, tt10), (ttZ, tt11, tt11)), (ttY, (tt12, tt13, tt13), (tt12, tt14, tt14)))))), (td, (tt15, (tt16, (tt17, (tt18, (tt19, tt1a, tt1a), (tt19, tt1b, tt1b)), (tt18, (tt1c, tt1d, tt1d), (tt1c, tt1e, tt1e))), (tt17, (tt1f, (tt1g, tt1h, tt1h), (tt1g, tt1i, tt1i)), (tt1f, (tt1j, tt1k, tt1k), (tt1j, tt1l, tt1l)))), (tt16, (tt1m, (tt1n, (tt1o, tt1p, tt1p), (tt1o, tt1q, tt1q)), (tt1n, (tt1r, tt1s, tt1s), (tt1r, tt1t, tt1t))), (tt1m, (tt1u, (tt1v, tt1w, tt1w), (tt1v, tt1x, tt1x)), (tt1u, (tt1y, tt1z, tt1z), (tt1y, tt1A, tt1A))))), (tt15, (tt1B, (tt1C, (tt1D, (tt1E, tt1F, tt1F), (tt1E, tt1G, tt1G)), (tt1D, (tt1H, tt1I, tt1I), (tt1H, tt1J, tt1J))), (tt1C, (tt1K, (tt1L, tt1M, tt1M), (tt1L, tt1N, tt1N)), (tt1K, (tt1O, tt1P, tt1P), (tt1O, tt1Q, tt1Q)))), (tt1B, (tt1R, (tt1S, (tt1T, tt1U, tt1U), (tt1T, tt1V, tt1V)), (tt1S, (tt1W, tt1X, tt1X), (tt1W, tt1Y, tt1Y))), (tt1R, (tt1Z, (tt20, tt21, tt21), (tt20, tt22, tt22)), (tt1Z, (tt23, tt24, tt24), (tt23, tt25, tt25))))))), (tc, (tt26, (tt27, (tt28, (tt29, (tt2a, (tt2b, tt2c, tt2c), (tt2b, tt2d, tt2d)), (tt2a, (tt2e, tt2f, tt2f), (tt2e, tt2g, tt2g))), (tt29, (tt2h, (tt2i, tt2j, tt2j), (tt2i, tt2k, tt2k)), (tt2h, (tt2l, tt2m, tt2m), (tt2l, tt2n, tt2n)))), (tt28, (tt2o, (tt2p, (tt2q, tt2r, tt2r), (tt2q, tt2s, tt2s)), (tt2p, (tt2t, tt2u, tt2u), (tt2t, tt2v, tt2v))), (tt2o, (tt2w, (tt2x, tt2y, tt2y), (tt2x, tt2z, tt2z)), (tt2w, (tt2A, tt2B, tt2B), (tt2A, tt2C, tt2C))))), (tt27, (tt2D, (tt2E, (tt2F, (tt2G, tt2H, tt2H), (tt2G, tt2I, tt2I)), (tt2F, (tt2J, tt2K, tt2K), (tt2J, tt2L, tt2L))), (tt2E, (tt2M, (tt2N, tt2O, tt2O), (tt2N, tt2P, tt2P)), (tt2M, (tt2Q, tt2R, tt2R), (tt2Q, tt2S, tt2S)))), (tt2D, (tt2T, (tt2U, (tt2V, tt2W, tt2W), (tt2V, tt2X, tt2X)), (tt2U, (tt2Y, tt2Z, tt2Z), (tt2Y, tt30, tt30))), (tt2T, (tt31, (tt32, tt33, tt33), (tt32, tt34, tt34)), (tt31, (tt35, tt36, tt36), (tt35, tt37, tt37)))))), (tt26, (tt38, (tt39, (tt3a, (tt3b, (tt3c, tt3d, tt3d), (tt3c, tt3e, tt3e)), (tt3b, (tt3f, tt3g, tt3g), (tt3f, tt3h, tt3h))), (tt3a, (tt3i, (tt3j, tt3k, tt3k), (tt3j, tt3l, tt3l)), (tt3i, (tt3m, tt3n, tt3n), (tt3m, tt3o, tt3o)))), (tt39, (tt3p, (tt3q, (tt3r, tt3s, tt3s), (tt3r, tt3t, tt3t)), (tt3q, (tt3u, tt3v, tt3v), (tt3u, tt3w, tt3w))), (tt3p, (tt3x, (tt3y, tt3z, tt3z), (tt3y, tt3A, tt3A)), (tt3x, (tt3B, tt3C, tt3C), (tt3B, tt3D, tt3D))))), (tt38, (tt3E, (tt3F, (tt3G, (tt3H, tt3I, tt3I), (tt3H, tt3J, tt3J)), (tt3G, (tt3K, tt3L, tt3L), (tt3K, tt3M, tt3M))), (tt3F, (tt3N, (tt3O, tt3P, tt3P), (tt3O, tt3Q, tt3Q)), (tt3N, (tt3R, tt3S, tt3S), (tt3R, tt3T, tt3T)))), (tt3E, (tt3U, (tt3V, (tt3W, tt3X, tt3X), (tt3W, tt3Y, tt3Y)), (tt3V, (tt3Z, tt40, tt40), (tt3Z, tt41, tt41))), (tt3U, (tt42, (tt43, tt44, tt44), (tt43, tt45, tt45)), (tt42, (tt46, tt47, tt47), (tt46, tt48, tt48)))))))), (tt49, (tt4c, (tt4d, (tt4e, (tt4f, (tt4g, (tt4h, (tt4i, tt4j, tt4j), (tt4i, tt4k, tt4k)), (tt4h, (tt4l, tt4m, tt4m), (tt4l, tt4n, tt4n))), (tt4g, (tt4o, (tt4p, tt4q, tt4q), (tt4p, tt4r, tt4r)), (tt4o, (tt4s, tt4t, tt4t), (tt4s, tt4u, tt4u)))), (tt4f, (tt4v, (tt4w, (tt4x, tt4y, tt4y), (tt4x, tt4z, tt4z)), (tt4w, (tt4A, tt4B, tt4B), (tt4A, tt4C, tt4C))), (tt4v, (tt4D, (tt4E, tt4F, tt4F), (tt4E, tt4G, tt4G)), (tt4D, (tt4H, tt4I, tt4I), (tt4H, tt4J, tt4J))))), (tt4e, (tt4K, (tt4L, (tt4M, (tt4N, tt4O, tt4O), (tt4N, tt4P, tt4P)), (tt4M, (tt4Q, tt4R, tt4R), (tt4Q, tt4S, tt4S))), (tt4L, (tt4T, (tt4U, tt4V, tt4V), (tt4U, tt4W, tt4W)), (tt4T, (tt4X, tt4Y, tt4Y), (tt4X, tt4Z, tt4Z)))), (tt4K, (tt50, (tt51, (tt52, tt53, tt53), (tt52, tt54, tt54)), (tt51, (tt55, tt56, tt56), (tt55, tt57, tt57))), (tt50, (tt58, (tt59, tt5a, tt5a), (tt59, tt5b, tt5b)), (tt58, (tt5c, tt5d, tt5d), (tt5c, tt5e, tt5e)))))), (tt4d, (tt5f, (tt5g, (tt5h, (tt5i, (tt5j, tt5k, tt5k), (tt5j, tt5l, tt5l)), (tt5i, (tt5m, tt5n, tt5n), (tt5m, tt5o, tt5o))), (tt5h, (tt5p, (tt5q, tt5r, tt5r), (tt5q, tt5s, tt5s)), (tt5p, (tt5t, tt5u, tt5u), (tt5t, tt5v, tt5v)))), (tt5g, (tt5w, (tt5x, (tt5y, tt5z, tt5z), (tt5y, tt5A, tt5A)), (tt5x, (tt5B, tt5C, tt5C), (tt5B, tt5D, tt5D))), (tt5w, (tt5E, (tt5F, tt5G, tt5G), (tt5F, tt5H, tt5H)), (tt5E, (tt5I, tt5J, tt5J), (tt5I, tt5K, tt5K))))), (tt5f, (tt5L, (tt5M, (tt5N, (tt5O, tt5P, tt5P), (tt5O, tt5Q, tt5Q)), (tt5N, (tt5R, tt5S, tt5S), (tt5R, tt5T, tt5T))), (tt5M, (tt5U, (tt5V, tt5W, tt5W), (tt5V, tt5X, tt5X)), (tt5U, (tt5Y, tt5Z, tt5Z), (tt5Y, tt60, tt60)))), (tt5L, (tt61, (tt62, (tt63, tt64, tt64), (tt63, tt65, tt65)), (tt62, (tt66, tt67, tt67), (tt66, tt68, tt68))), (tt61, (tt69, (tt6a, tt6b, tt6b), (tt6a, tt6c, tt6c)), (tt69, (tt6d, tt6e, tt6e), (tt6d, tt6f, tt6f))))))), (tt4c, (tt6g, (tt6h, (tt6i, (tt6j, (tt6k, (tt6l, tt6m, tt6m), (tt6l, tt6n, tt6n)), (tt6k, (tt6o, tt6p, tt6p), (tt6o, tt6q, tt6q))), (tt6j, (tt6r, (tt6s, tt6t, tt6t), (tt6s, tt6u, tt6u)), (tt6r, (tt6v, tt6w, tt6w), (tt6v, tt6x, tt6x)))), (tt6i, (tt6y, (tt6z, (tt6A, tt6B, tt6B), (tt6A, tt6C, tt6C)), (tt6z, (tt6D, tt6E, tt6E), (tt6D, tt6F, tt6F))), (tt6y, (tt6G, (tt6H, tt6I, tt6I), (tt6H, tt6J, tt6J)), (tt6G, (tt6K, tt6L, tt6L), (tt6K, tt6M, tt6M))))), (tt6h, (tt6N, (tt6O, (tt6P, (tt6Q, tt6R, tt6R), (tt6Q, tt6S, tt6S)), (tt6P, (tt6T, tt6U, tt6U), (tt6T, tt6V, tt6V))), (tt6O, (tt6W, (tt6X, tt6Y, tt6Y), (tt6X, tt6Z, tt6Z)), (tt6W, (tt70, tt71, tt71), (tt70, tt72, tt72)))), (tt6N, (tt73, (tt74, (tt75, tt76, tt76), (tt75, tt77, tt77)), (tt74, (tt78, tt79, tt79), (tt78, tt7a, tt7a))), (tt73, (tt7b, (tt7c, tt7d, tt7d), (tt7c, tt7e, tt7e)), (tt7b, (tt7f, tt7g, tt7g), (tt7f, tt7h, tt7h)))))), (tt6g, (tt7i, (tt7j, (tt7k, (tt7l, (tt7m, tt7n, tt7n), (tt7m, tt7o, tt7o)), (tt7l, (tt7p, tt7q, tt7q), (tt7p, tt7r, tt7r))), (tt7k, (tt7s, (tt7t, tt7u, tt7u), (tt7t, tt7v, tt7v)), (tt7s, (tt7w, tt7x, tt7x), (tt7w, tt7y, tt7y)))), (tt7j, (tt7z, (tt7A, (tt7B, tt7C, tt7C), (tt7B, tt7D, tt7D)), (tt7A, (tt7E, tt7F, tt7F), (tt7E, tt7G, tt7G))), (tt7z, (tt7H, (tt7I, tt7J, tt7J), (tt7I, tt7K, tt7K)), (tt7H, (tt7L, tt7M, tt7M), (tt7L, tt7N, tt7N))))), (tt7i, (tt7O, (tt7P, (tt7Q, (tt7R, tt7S, tt7S), (tt7R, tt7T, tt7T)), (tt7Q, (tt7U, tt7V, tt7V), (tt7U, tt7W, tt7W))), (tt7P, (tt7X, (tt7Y, tt7Z, tt7Z), (tt7Y, tt80, tt80)), (tt7X, (tt81, tt82, tt82), (tt81, tt83, tt83)))), (tt7O, (tt84, (tt85, (tt86, tt87, tt87), (tt86, tt88, tt88)), (tt85, (tt89, tt8a, tt8a), (tt89, tt8b, tt8b))), (tt84, (tt8c, (tt8d, tt8e, tt8e), (tt8d, tt8f, tt8f)), (tt8c, (tt8g, tt8h, tt8h), (tt8g, tt8i, tt8i))))))))) -> ta ;; +1 g_rec _:_ _forall_ [ta tb tc td te tf tg th ti tj tk] => (tb -> tc -> td -> tk -> ta) -> (tg -> te -> th -> ti -> ta) -> tf -> tb -> (tf, te, tg) -> (tj, tk, ti) -> tj ;; +1 g_rec0 _:_ _forall_ [ta] => ta -> ta -> ta -> ta -> ta ;; +1 g_rec1 _:_ _forall_ [ta tb tc] => tc -> tb -> (tc, tb, tb) -> (ta, tb, tb) -> ta ;; +1 g_rec2 _:_ _forall_ [ta tb tc td te tf tg] => tg -> tb -> (tg, tf, te) -> (ta, (td, tc, tc), (td, tf, tf)) -> ta ;; +1 g_rec3 _:_ _forall_ [ta tb tc td te tf tg th ti tj tk tl] => tl -> tb -> (tl, th, tg) -> (ta, (tf, (td, te, te), (td, tc, tc)), (tf, (tj, tk, tk), (tj, ti, ti))) -> ta ;; +1 g_rec4 _:_ _forall_ [ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt] => tt -> tb -> (tt, tl, tk) -> (ta, (tj, (tc, (td, te, te), (td, tf, tf)), (tc, (tg, th, th), (tg, ti, ti))), (tj, (tm, (tn, to, to), (tn, tp, tp)), (tm, (tq, tr, tr), (tq, ts, ts)))) -> ta ;; +1 g_rec5 _:_ _forall_ [ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ttq ttr tts ttt ttu ttv ttw ttx tty ttz] => ttz -> tb -> (ttz, tt, ts) -> (ta, (tr, (tc, (td, (te, tf, tf), (te, tg, tg)), (td, (th, ti, ti), (th, tj, tj))), (tc, (tk, (tl, tm, tm), (tl, tn, tn)), (tk, (to, tp, tp), (to, tq, tq)))), (tr, (tu, (tv, (tw, tx, tx), (tw, ty, ty)), (tv, (tz, ttq, ttq), (tz, ttr, ttr))), (tu, (tts, (ttt, ttu, ttu), (ttt, ttv, ttv)), (tts, (ttw, ttx, ttx), (ttw, tty, tty))))) -> ta ;; +1 g_rec6 _:_ _forall_ [ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ttq ttr tts ttt ttu ttv ttw ttx tty ttz ttA ttB ttC ttD ttE ttF ttG ttH ttI ttJ ttK ttL ttM ttN ttO ttP ttQ ttR ttS ttT ttU ttV ttW ttX ttY ttZ tt10 tt11 tt12 tt13 tt14 tt15] => tt15 -> tb -> (tt15, ttz, tty) -> (ta, (ttx, (tc, (td, (te, (tf, tg, tg), (tf, th, th)), (te, (ti, tj, tj), (ti, tk, tk))), (td, (tl, (tm, tn, tn), (tm, to, to)), (tl, (tp, tq, tq), (tp, tr, tr)))), (tc, (ts, (tt, (tu, tv, tv), (tu, tw, tw)), (tt, (tx, ty, ty), (tx, tz, tz))), (ts, (ttq, (ttr, tts, tts), (ttr, ttt, ttt)), (ttq, (ttu, ttv, ttv), (ttu, ttw, ttw))))), (ttx, (ttA, (ttB, (ttC, (ttD, ttE, ttE), (ttD, ttF, ttF)), (ttC, (ttG, ttH, ttH), (ttG, ttI, ttI))), (ttB, (ttJ, (ttK, ttL, ttL), (ttK, ttM, ttM)), (ttJ, (ttN, ttO, ttO), (ttN, ttP, ttP)))), (ttA, (ttQ, (ttR, (ttS, ttT, ttT), (ttS, ttU, ttU)), (ttR, (ttV, ttW, ttW), (ttV, ttX, ttX))), (ttQ, (ttY, (ttZ, tt10, tt10), (ttZ, tt11, tt11)), (ttY, (tt12, tt13, tt13), (tt12, tt14, tt14)))))) -> ta ;; +1 g_rec7 _:_ _forall_ [ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ttq ttr tts ttt ttu ttv ttw ttx tty ttz ttA ttB ttC ttD ttE ttF ttG ttH ttI ttJ ttK ttL ttM ttN ttO ttP ttQ ttR ttS ttT ttU ttV ttW ttX ttY ttZ tt10 tt11 tt12 tt13 tt14 tt15 tt16 tt17 tt18 tt19 tt1a tt1b tt1c tt1d tt1e tt1f tt1g tt1h tt1i tt1j tt1k tt1l tt1m tt1n tt1o tt1p tt1q tt1r tt1s tt1t tt1u tt1v tt1w tt1x tt1y tt1z tt1A tt1B tt1C tt1D tt1E tt1F tt1G tt1H tt1I tt1J tt1K tt1L tt1M tt1N tt1O tt1P tt1Q tt1R tt1S tt1T tt1U tt1V tt1W tt1X tt1Y tt1Z tt20 tt21 tt22 tt23 tt24 tt25 tt26 tt27] => tt27 -> tb -> (tt27, tt15, tt14) -> (ta, (tt13, (tc, (td, (te, (tf, (tg, th, th), (tg, ti, ti)), (tf, (tj, tk, tk), (tj, tl, tl))), (te, (tm, (tn, to, to), (tn, tp, tp)), (tm, (tq, tr, tr), (tq, ts, ts)))), (td, (tt, (tu, (tv, tw, tw), (tv, tx, tx)), (tu, (ty, tz, tz), (ty, ttq, ttq))), (tt, (ttr, (tts, ttt, ttt), (tts, ttu, ttu)), (ttr, (ttv, ttw, ttw), (ttv, ttx, ttx))))), (tc, (tty, (ttz, (ttA, (ttB, ttC, ttC), (ttB, ttD, ttD)), (ttA, (ttE, ttF, ttF), (ttE, ttG, ttG))), (ttz, (ttH, (ttI, ttJ, ttJ), (ttI, ttK, ttK)), (ttH, (ttL, ttM, ttM), (ttL, ttN, ttN)))), (tty, (ttO, (ttP, (ttQ, ttR, ttR), (ttQ, ttS, ttS)), (ttP, (ttT, ttU, ttU), (ttT, ttV, ttV))), (ttO, (ttW, (ttX, ttY, ttY), (ttX, ttZ, ttZ)), (ttW, (tt10, tt11, tt11), (tt10, tt12, tt12)))))), (tt13, (tt16, (tt17, (tt18, (tt19, (tt1a, tt1b, tt1b), (tt1a, tt1c, tt1c)), (tt19, (tt1d, tt1e, tt1e), (tt1d, tt1f, tt1f))), (tt18, (tt1g, (tt1h, tt1i, tt1i), (tt1h, tt1j, tt1j)), (tt1g, (tt1k, tt1l, tt1l), (tt1k, tt1m, tt1m)))), (tt17, (tt1n, (tt1o, (tt1p, tt1q, tt1q), (tt1p, tt1r, tt1r)), (tt1o, (tt1s, tt1t, tt1t), (tt1s, tt1u, tt1u))), (tt1n, (tt1v, (tt1w, tt1x, tt1x), (tt1w, tt1y, tt1y)), (tt1v, (tt1z, tt1A, tt1A), (tt1z, tt1B, tt1B))))), (tt16, (tt1C, (tt1D, (tt1E, (tt1F, tt1G, tt1G), (tt1F, tt1H, tt1H)), (tt1E, (tt1I, tt1J, tt1J), (tt1I, tt1K, tt1K))), (tt1D, (tt1L, (tt1M, tt1N, tt1N), (tt1M, tt1O, tt1O)), (tt1L, (tt1P, tt1Q, tt1Q), (tt1P, tt1R, tt1R)))), (tt1C, (tt1S, (tt1T, (tt1U, tt1V, tt1V), (tt1U, tt1W, tt1W)), (tt1T, (tt1X, tt1Y, tt1Y), (tt1X, tt1Z, tt1Z))), (tt1S, (tt20, (tt21, tt22, tt22), (tt21, tt23, tt23)), (tt20, (tt24, tt25, tt25), (tt24, tt26, tt26))))))) -> ta ;; +1 g_rec8 _:_ _forall_ [ta tb tc td te tf tg th ti tj tk tl tm tn to tp tq tr ts tt tu tv tw tx ty tz ttq ttr tts ttt ttu ttv ttw ttx tty ttz ttA ttB ttC ttD ttE ttF ttG ttH ttI ttJ ttK ttL ttM ttN ttO ttP ttQ ttR ttS ttT ttU ttV ttW ttX ttY ttZ tt10 tt11 tt12 tt13 tt14 tt15 tt16 tt17 tt18 tt19 tt1a tt1b tt1c tt1d tt1e tt1f tt1g tt1h tt1i tt1j tt1k tt1l tt1m tt1n tt1o tt1p tt1q tt1r tt1s tt1t tt1u tt1v tt1w tt1x tt1y tt1z tt1A tt1B tt1C tt1D tt1E tt1F tt1G tt1H tt1I tt1J tt1K tt1L tt1M tt1N tt1O tt1P tt1Q tt1R tt1S tt1T tt1U tt1V tt1W tt1X tt1Y tt1Z tt20 tt21 tt22 tt23 tt24 tt25 tt26 tt27 tt28 tt29 tt2a tt2b tt2c tt2d tt2e tt2f tt2g tt2h tt2i tt2j tt2k tt2l tt2m tt2n tt2o tt2p tt2q tt2r tt2s tt2t tt2u tt2v tt2w tt2x tt2y tt2z tt2A tt2B tt2C tt2D tt2E tt2F tt2G tt2H tt2I tt2J tt2K tt2L tt2M tt2N tt2O tt2P tt2Q tt2R tt2S tt2T tt2U tt2V tt2W tt2X tt2Y tt2Z tt30 tt31 tt32 tt33 tt34 tt35 tt36 tt37 tt38 tt39 tt3a tt3b tt3c tt3d tt3e tt3f tt3g tt3h tt3i tt3j tt3k tt3l tt3m tt3n tt3o tt3p tt3q tt3r tt3s tt3t tt3u tt3v tt3w tt3x tt3y tt3z tt3A tt3B tt3C tt3D tt3E tt3F tt3G tt3H tt3I tt3J tt3K tt3L tt3M tt3N tt3O tt3P tt3Q tt3R tt3S tt3T tt3U tt3V tt3W tt3X tt3Y tt3Z tt40 tt41 tt42 tt43 tt44 tt45 tt46 tt47 tt48 tt49 tt4a tt4b] => tt4b -> tb -> (tt4b, tt27, tt26) -> (ta, (tt25, (tc, (td, (te, (tf, (tg, (th, ti, ti), (th, tj, tj)), (tg, (tk, tl, tl), (tk, tm, tm))), (tf, (tn, (to, tp, tp), (to, tq, tq)), (tn, (tr, ts, ts), (tr, tt, tt)))), (te, (tu, (tv, (tw, tx, tx), (tw, ty, ty)), (tv, (tz, ttq, ttq), (tz, ttr, ttr))), (tu, (tts, (ttt, ttu, ttu), (ttt, ttv, ttv)), (tts, (ttw, ttx, ttx), (ttw, tty, tty))))), (td, (ttz, (ttA, (ttB, (ttC, ttD, ttD), (ttC, ttE, ttE)), (ttB, (ttF, ttG, ttG), (ttF, ttH, ttH))), (ttA, (ttI, (ttJ, ttK, ttK), (ttJ, ttL, ttL)), (ttI, (ttM, ttN, ttN), (ttM, ttO, ttO)))), (ttz, (ttP, (ttQ, (ttR, ttS, ttS), (ttR, ttT, ttT)), (ttQ, (ttU, ttV, ttV), (ttU, ttW, ttW))), (ttP, (ttX, (ttY, ttZ, ttZ), (ttY, tt10, tt10)), (ttX, (tt11, tt12, tt12), (tt11, tt13, tt13)))))), (tc, (tt14, (tt15, (tt16, (tt17, (tt18, tt19, tt19), (tt18, tt1a, tt1a)), (tt17, (tt1b, tt1c, tt1c), (tt1b, tt1d, tt1d))), (tt16, (tt1e, (tt1f, tt1g, tt1g), (tt1f, tt1h, tt1h)), (tt1e, (tt1i, tt1j, tt1j), (tt1i, tt1k, tt1k)))), (tt15, (tt1l, (tt1m, (tt1n, tt1o, tt1o), (tt1n, tt1p, tt1p)), (tt1m, (tt1q, tt1r, tt1r), (tt1q, tt1s, tt1s))), (tt1l, (tt1t, (tt1u, tt1v, tt1v), (tt1u, tt1w, tt1w)), (tt1t, (tt1x, tt1y, tt1y), (tt1x, tt1z, tt1z))))), (tt14, (tt1A, (tt1B, (tt1C, (tt1D, tt1E, tt1E), (tt1D, tt1F, tt1F)), (tt1C, (tt1G, tt1H, tt1H), (tt1G, tt1I, tt1I))), (tt1B, (tt1J, (tt1K, tt1L, tt1L), (tt1K, tt1M, tt1M)), (tt1J, (tt1N, tt1O, tt1O), (tt1N, tt1P, tt1P)))), (tt1A, (tt1Q, (tt1R, (tt1S, tt1T, tt1T), (tt1S, tt1U, tt1U)), (tt1R, (tt1V, tt1W, tt1W), (tt1V, tt1X, tt1X))), (tt1Q, (tt1Y, (tt1Z, tt20, tt20), (tt1Z, tt21, tt21)), (tt1Y, (tt22, tt23, tt23), (tt22, tt24, tt24))))))), (tt25, (tt28, (tt29, (tt2a, (tt2b, (tt2c, (tt2d, tt2e, tt2e), (tt2d, tt2f, tt2f)), (tt2c, (tt2g, tt2h, tt2h), (tt2g, tt2i, tt2i))), (tt2b, (tt2j, (tt2k, tt2l, tt2l), (tt2k, tt2m, tt2m)), (tt2j, (tt2n, tt2o, tt2o), (tt2n, tt2p, tt2p)))), (tt2a, (tt2q, (tt2r, (tt2s, tt2t, tt2t), (tt2s, tt2u, tt2u)), (tt2r, (tt2v, tt2w, tt2w), (tt2v, tt2x, tt2x))), (tt2q, (tt2y, (tt2z, tt2A, tt2A), (tt2z, tt2B, tt2B)), (tt2y, (tt2C, tt2D, tt2D), (tt2C, tt2E, tt2E))))), (tt29, (tt2F, (tt2G, (tt2H, (tt2I, tt2J, tt2J), (tt2I, tt2K, tt2K)), (tt2H, (tt2L, tt2M, tt2M), (tt2L, tt2N, tt2N))), (tt2G, (tt2O, (tt2P, tt2Q, tt2Q), (tt2P, tt2R, tt2R)), (tt2O, (tt2S, tt2T, tt2T), (tt2S, tt2U, tt2U)))), (tt2F, (tt2V, (tt2W, (tt2X, tt2Y, tt2Y), (tt2X, tt2Z, tt2Z)), (tt2W, (tt30, tt31, tt31), (tt30, tt32, tt32))), (tt2V, (tt33, (tt34, tt35, tt35), (tt34, tt36, tt36)), (tt33, (tt37, tt38, tt38), (tt37, tt39, tt39)))))), (tt28, (tt3a, (tt3b, (tt3c, (tt3d, (tt3e, tt3f, tt3f), (tt3e, tt3g, tt3g)), (tt3d, (tt3h, tt3i, tt3i), (tt3h, tt3j, tt3j))), (tt3c, (tt3k, (tt3l, tt3m, tt3m), (tt3l, tt3n, tt3n)), (tt3k, (tt3o, tt3p, tt3p), (tt3o, tt3q, tt3q)))), (tt3b, (tt3r, (tt3s, (tt3t, tt3u, tt3u), (tt3t, tt3v, tt3v)), (tt3s, (tt3w, tt3x, tt3x), (tt3w, tt3y, tt3y))), (tt3r, (tt3z, (tt3A, tt3B, tt3B), (tt3A, tt3C, tt3C)), (tt3z, (tt3D, tt3E, tt3E), (tt3D, tt3F, tt3F))))), (tt3a, (tt3G, (tt3H, (tt3I, (tt3J, tt3K, tt3K), (tt3J, tt3L, tt3L)), (tt3I, (tt3M, tt3N, tt3N), (tt3M, tt3O, tt3O))), (tt3H, (tt3P, (tt3Q, tt3R, tt3R), (tt3Q, tt3S, tt3S)), (tt3P, (tt3T, tt3U, tt3U), (tt3T, tt3V, tt3V)))), (tt3G, (tt3W, (tt3X, (tt3Y, tt3Z, tt3Z), (tt3Y, tt40, tt40)), (tt3X, (tt41, tt42, tt42), (tt41, tt43, tt43))), (tt3W, (tt44, (tt45, tt46, tt46), (tt45, tt47, tt47)), (tt44, (tt48, tt49, tt49), (tt48, tt4a, tt4a)))))))) -> ta ;; +1 head _:_ _forall_ [ta] => [ta] -> ta ;; +1 one _:_ _forall_ [ta] => ta ;; +1 s_1_0 _:_ _forall_ [ta] => ta -> ta ;; +1 s_2_0 _:_ _forall_ [ta tb] => (ta, tb) -> ta ;; +1 s_2_1 _:_ _forall_ [ta tb] => (ta, tb) -> tb ;; +1 s_3_0 _:_ _forall_ [ta tb tc] => (ta, tb, tc) -> ta ;; +1 s_3_1 _:_ _forall_ [ta tb tc] => (ta, tb, tc) -> tb ;; +1 s_3_2 _:_ _forall_ [ta tb tc] => (ta, tb, tc) -> tc ;; diff --git a/ghc/tests/typecheck/should_compile/tc090.hs b/ghc/tests/typecheck/should_compile/tc090.hs index bbcc174..f568c39 100644 --- a/ghc/tests/typecheck/should_compile/tc090.hs +++ b/ghc/tests/typecheck/should_compile/tc090.hs @@ -11,7 +11,7 @@ -} -module Foo where +module ShouldSucceed where a :: (Ord f) => f a = b diff --git a/ghc/tests/typecheck/should_compile/tc090.stderr b/ghc/tests/typecheck/should_compile/tc090.stderr new file mode 100644 index 0000000..6ba1b2e --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc090.stderr @@ -0,0 +1,26 @@ + + +================================================================================ +Typechecked: +AbsBinds +[taBh] +[d.Ord_aBq] +[([taBh], a{-r3h,x-}, a_aBf), ([taBh], b{-r3i,x-}, b_aBg)] + d.Ord_aBs = d.Ord_aBq + b_aBv = b{-r3i,x-} taBh d.Ord_aBs + d.Ord_aBu = d.Ord_aBq + a_aBw = a{-r3h,x-} taBh d.Ord_aBu + a_aBf = b_aBv + b_aBg = a_aBw +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d15 1 $d16 1 $d33 1 $d35 1 $d50 1 $d52 1 $d7 1 $d8 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $mmax 1 $mmin 1 Eq 1 Ord 1 Ordering 1; +PrelNum 1 :: $d17 1 $d18 1; +_exports_ +ShouldSucceed a b; +_declarations_ +1 a _:_ _forall_ [ta] {PrelBase.Ord ta} => ta ;; +1 b _:_ _forall_ [ta] {PrelBase.Ord ta} => ta ;; diff --git a/ghc/tests/typecheck/should_compile/tc091.hs b/ghc/tests/typecheck/should_compile/tc091.hs index fc4e82c..eb52c16 100644 --- a/ghc/tests/typecheck/should_compile/tc091.hs +++ b/ghc/tests/typecheck/should_compile/tc091.hs @@ -48,7 +48,7 @@ all right. -- Lennart - ------- End of forwarded message ------- -} -module ShouldFail where +module ShouldSucceed where sort :: Ord a => [a] -> [a] sort xs = s xs (length xs) diff --git a/ghc/tests/typecheck/should_compile/tc091.stderr b/ghc/tests/typecheck/should_compile/tc091.stderr new file mode 100644 index 0000000..333fba8 --- /dev/null +++ b/ghc/tests/typecheck/should_compile/tc091.stderr @@ -0,0 +1,56 @@ + + +================================================================================ +Typechecked: +AbsBinds [taW8] [] [([taW8], init_last{-r3m,x-}, init_last_aW5)] + init_last_aW5 a_r3E b_r3F = (a_r3E, a_r3E) +AbsBinds [taWl] [d.Ord_aWp] [([taWl], merge{-r3l,x-}, merge_aWi)] + merge_aWi xs_r3B ys_r3C = xs_r3B +AbsBinds [taWw] [d.Ord_aXv] [([taWw], sort{-r3k,x-}, sort_aWt)] + d.Ord_aXt = d.Ord_aXv + sort_aWt xs_r3o + = s_aXJ xs_r3o PrelList.length{-rhD,p-} taWw xs_r3o + where + {- nonrec -} + AbsBinds [taWD] [d.Ord_aXe] [([taWD], s_r3q, s_aWA)] + d.Ord_aXi = d.Ord_aXe + merge_aXK = merge{-r3l,x-} taWD d.Ord_aXi + d.Ord_aXk = d.Ord_aXe + sort_aXL = sort{-r3k,x-} taWD d.Ord_aXk + sort_aXM = sort_aXL + s_aWA xs_r3u k_r3v + = if k_r3v <=_aXF lit_aXG then + xs_r3u + else + merge_aXK sort_aXL ys_r3x sort_aXM zs_r3y + where + {- nonrec -} + AbsBinds [] [] [([], ys_r3x, ys_aWG), ([], zs_r3y, zs_aWH)] + (ys_aWG, zs_aWH) + = init_last{-r3m,x-} taWD xs_r3u k_r3v div_aXH lit_aXI + {- nonrec -} + {- nonrec -} + {- nonrec -} + s_aXJ = s_r3q taWw d.Ord_aXt + {- nonrec -} +d.Ord_aXB = PrelBase.$d7{-rrR,p-} +<=_aXF = PrelBase.<={-rqO,p-} PrelBase.Int{-3g,W-} d.Ord_aXB +lit_aXG = PrelBase.I#{-5b,w-}{i} 1# +d.Integral_aXE = PrelNum.$d36{-rFA,p-} +div_aXH = PrelNum.div{-ry2,p-} PrelBase.Int{-3g,W-} d.Integral_aXE +lit_aXI = PrelBase.I#{-5b,w-}{i} 2# +ghc: module version changed to 1; reason: no old .hi file +_interface_ ShouldSucceed 1 +_instance_modules_ +ArrBase IO PrelNum +_usages_ +PrelBase 1 :: $d1 1 $d11 1 $d12 1 $d14 1 $d15 1 $d16 1 $d2 1 $d22 1 $d27 1 $d28 1 $d3 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d38 1 $d39 1 $d4 1 $d40 1 $d42 1 $d43 1 $d45 1 $d46 1 $d47 1 $d50 1 $d51 1 $d52 1 $d55 1 $d56 1 $d6 1 $d7 1 $d8 1 $d9 1 $m- 1 $m/= 1 $m< 1 $m<= 1 $m> 1 $m>= 1 $mcompare 1 $menumFromThenTo 1 $menumFromTo 1 $mfromInt 1 $mmax 1 $mmin 1 $mshowList 1 Enum 1 Eq 1 Eval 1 Num 1 Ord 1 Ordering 1 Show 1 String 1; +PrelList 1 :: length 1; +PrelNum 1 :: $d1 1 $d10 1 $d15 1 $d16 1 $d17 1 $d18 1 $d2 1 $d29 1 $d30 1 $d31 1 $d32 1 $d33 1 $d34 1 $d35 1 $d36 1 $d37 1 $d38 1 $d39 1 $d5 1 $d6 1 $d7 1 $d8 1 $mdiv 1 $mdivMod 1 $mmod 1 $mquot 1 $mrem 1 Integral 1 Ratio 1 Rational 1 Real 1; +PrelTup 1 :: $d13 1 $d4 1 $d49 1 $d9 1; +_exports_ +ShouldSucceed init_last merge sort; +_declarations_ +1 init_last _:_ _forall_ [ta] => [ta] -> PrelBase.Int -> ([ta], [ta]) ;; +1 merge _:_ _forall_ [ta] {PrelBase.Ord ta} => [ta] -> [ta] -> [ta] ;; +1 sort _:_ _forall_ [ta] {PrelBase.Ord ta} => [ta] -> [ta] ;; diff --git a/ghc/tests/typecheck/should_fail/Digraph.stderr b/ghc/tests/typecheck/should_fail/Digraph.stderr index 6efcc42..01c4bbe 100644 --- a/ghc/tests/typecheck/should_fail/Digraph.stderr +++ b/ghc/tests/typecheck/should_fail/Digraph.stderr @@ -1,8 +1,7 @@ Digraph.hs:19: A type signature is more polymorphic than the inferred type - Some type variables in the inferred type can't be forall'd, namely: - `taXO' - Possible cause: the RHS mentions something subject to the monomorphism restriction + Can't for-all the type variable(s) `taWg' + in the inferred type `[Edge taWg]' When checking signature for `reversed_edges' In an equation for function `stronglyConnComp': `stronglyConnComp es vs @@ -14,8 +13,8 @@ Digraph.hs:19: A type signature is more polymorphic than the inferred type where span_tree r (vs, ns) PrelBase.[] = (vs, (ns)) span_tree r (vs, ns) (x PrelBase.: xs) - | [x PrelList.elem vs] = span_tree r (vs, (ns)) xs - | [PrelBase.otherwise] + | x PrelList.elem vs = span_tree r (vs, (ns)) xs + | PrelBase.otherwise = span_tree r (vs', ((x PrelBase.: ns') PrelBase.: ns)) xs where (vs', ns') diff --git a/ghc/tests/typecheck/should_fail/Makefile b/ghc/tests/typecheck/should_fail/Makefile index eb7ffdd..5e1414d 100644 --- a/ghc/tests/typecheck/should_fail/Makefile +++ b/ghc/tests/typecheck/should_fail/Makefile @@ -1,26 +1,10 @@ -TOP = ../../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/should_fail.mk -HS_SRCS = $(wildcard *.hs) - -SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 1 HC_OPTS += -noC -ddump-tc -%.o : %.hs - $(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@ - -all :: $(HS_OBJS) - tcfail045_HC_OPTS = -fglasgow-exts -tcfail059_HC_OPTS = -hi -tcfail060_HC_OPTS = -hi -tcfail061_HC_OPTS = -hi -tcfail062_HC_OPTS = -hi -tcfail063_HC_OPTS = -hi -tcfail064_HC_OPTS = -hi -tcfail065_HC_OPTS = -hi -tcfail066_HC_OPTS = -hi -tcfail067_HC_OPTS = -hi tcfail068_HC_OPTS = -fglasgow-exts include $(TOP)/mk/target.mk diff --git a/ghc/tests/typecheck/should_fail/tcfail001.stderr b/ghc/tests/typecheck/should_fail/tcfail001.stderr index 1b5ad86..56f538b 100644 --- a/ghc/tests/typecheck/should_fail/tcfail001.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail001.stderr @@ -2,10 +2,7 @@ tcfail001.hs:9:warning: Duplicated class assertion `A a' in context: `(A a, A a)' -tcfail001.hs:9: Couldn't match the type - `PrelBase.[]' against `GHC.-> [takw]' - Expected: `[takv]' - Inferred: `[takw] -> [takx]' +tcfail001.hs:9: Function type expected, but found the type `[takz]' In an equation for function `op': `op PrelBase.[] = PrelBase.[]' diff --git a/ghc/tests/typecheck/should_fail/tcfail002.stderr b/ghc/tests/typecheck/should_fail/tcfail002.stderr index 390e479..a9e6a95 100644 --- a/ghc/tests/typecheck/should_fail/tcfail002.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail002.stderr @@ -1,8 +1,8 @@ tcfail002.hs:4: Cannot construct the infinite type (occur check) - `tak5' = `[tak5]' - Expected: `[tak5] -> tak5' - Inferred: `[tak5] -> [tak5]' + `take' = `[take]' + Expected: `[take]' + Inferred: `take' In an equation for function `c': `c z = z' diff --git a/ghc/tests/typecheck/should_fail/tcfail004.stderr b/ghc/tests/typecheck/should_fail/tcfail004.stderr index a4f4e31..80f2006 100644 --- a/ghc/tests/typecheck/should_fail/tcfail004.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail004.stderr @@ -1,8 +1,8 @@ tcfail004.hs:3: Couldn't match the type - `PrelTup.(,)' against `PrelTup.(,,) taRU' - Expected: `(taRO, taRR)' - Inferred: `(taRU, taRX, taS0)' + `PrelTup.(,,) taS7' against `PrelTup.(,)' + Expected: `(taS7, taS9, taSb)' + Inferred: `(taS1, taS4)' In a pattern binding: `(f, g) = (1, 2, 3)' diff --git a/ghc/tests/typecheck/should_fail/tcfail005.stderr b/ghc/tests/typecheck/should_fail/tcfail005.stderr index 9d0fbc3..bbadcad 100644 --- a/ghc/tests/typecheck/should_fail/tcfail005.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail005.stderr @@ -1,8 +1,8 @@ tcfail005.hs:3: Couldn't match the type - `PrelBase.[]' against `PrelTup.(,) taR8' - Expected: `[taR4]' - Inferred: `(taR8, PrelBase.Char)' + `PrelTup.(,) taRl' against `PrelBase.[]' + Expected: `(taRl, taRn)' + Inferred: `[taRh]' In a pattern binding: `(h PrelBase.: i) = (1, ('a'))' diff --git a/ghc/tests/typecheck/should_fail/tcfail008.stderr b/ghc/tests/typecheck/should_fail/tcfail008.stderr index 2ee9321..f392870 100644 --- a/ghc/tests/typecheck/should_fail/tcfail008.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail008.stderr @@ -1,8 +1,8 @@ -tcfail008.hs:3: No instance for: `PrelBase.Num [taBA]' +tcfail008.hs:3: No instance for: `PrelBase.Num [taBM]' arising from the literal 2 at tcfail008.hs:3 -tcfail008.hs:3: No instance for: `PrelBase.Num [taBA]' +tcfail008.hs:3: No instance for: `PrelBase.Num [taBM]' arising from the literal 2 at tcfail008.hs:3 tcfail008.hs:3: No instance for: `PrelBase.Num [PrelBase.Int]' diff --git a/ghc/tests/typecheck/should_fail/tcfail009.stderr b/ghc/tests/typecheck/should_fail/tcfail009.stderr index 8c62fbc..1f4d4b2 100644 --- a/ghc/tests/typecheck/should_fail/tcfail009.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail009.stderr @@ -1,10 +1,9 @@ tcfail009.hs:3: Couldn't match the type - `PrelBase.Integer' against `PrelBase.Int' - Expected: `PrelBase.Int' - Inferred: `PrelBase.Integer' - In an arithmetic sequence: - `[(1 :: PrelBase.Int) .. (2 :: PrelBase.Integer)]' + `PrelBase.Int' against `PrelBase.Integer' + Expected: `PrelBase.Integer' + Inferred: `PrelBase.Int' + In an expression with a type signature: `2 :: PrelBase.Integer' Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail010.stderr b/ghc/tests/typecheck/should_fail/tcfail010.stderr index 1e9fd84..d707740 100644 --- a/ghc/tests/typecheck/should_fail/tcfail010.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail010.stderr @@ -1,8 +1,8 @@ -tcfail010.hs:3: No instance for: `PrelBase.Num [taBD]' +tcfail010.hs:3: No instance for: `PrelBase.Num [taBS]' arising from use of `PrelBase.+' at tcfail010.hs:3 -tcfail010.hs:3: No instance for: `PrelBase.Num [taBD]' +tcfail010.hs:3: No instance for: `PrelBase.Num [taBS]' arising from use of `PrelBase.+' at tcfail010.hs:3 diff --git a/ghc/tests/typecheck/should_fail/tcfail012.stderr b/ghc/tests/typecheck/should_fail/tcfail012.stderr index aefe17e..a6a4f8b 100644 --- a/ghc/tests/typecheck/should_fail/tcfail012.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail012.stderr @@ -1,8 +1,8 @@ tcfail012.hs:3: Couldn't match the type - `PrelBase.Bool' against `[tajU]' - Expected: `PrelBase.Bool' - Inferred: `[tajU]' + `[tak1]' against `PrelBase.Bool' + Expected: `[tak1]' + Inferred: `PrelBase.Bool' In a pattern binding: `PrelBase.True = PrelBase.[]' diff --git a/ghc/tests/typecheck/should_fail/tcfail013.stderr b/ghc/tests/typecheck/should_fail/tcfail013.stderr index eaf06c1..2907a74 100644 --- a/ghc/tests/typecheck/should_fail/tcfail013.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail013.stderr @@ -1,8 +1,8 @@ tcfail013.hs:4: Couldn't match the type - `[taBB]' against `PrelBase.Bool' - Expected: `[taBB] -> taBD' - Inferred: `PrelBase.Bool -> taBG' + `[taBQ]' against `PrelBase.Bool' + Expected: `PrelBase.Bool' + Inferred: `[taBQ]' In an equation for function `f': `f PrelBase.True = 2' diff --git a/ghc/tests/typecheck/should_fail/tcfail014.stderr b/ghc/tests/typecheck/should_fail/tcfail014.stderr index be4ae1f..993aef6 100644 --- a/ghc/tests/typecheck/should_fail/tcfail014.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail014.stderr @@ -1,17 +1,24 @@ tcfail014.hs:5: Cannot construct the infinite type (occur check) - `oaBR' = `oaBR -> oaCz' - Expected: `oaBR' - Inferred: `oaBR -> oaCz' - In the first argument of `z', namely `z' + `oaCj' = `oaCj -> oaCi' + Expected: `oaCj -> oaCi' + Inferred: `oaCj' In an equation for function `h': `h z = z z' In an equation for function `g': `g y = h PrelBase.+ 2 where h z = z z' + In an equation for function `f': + `f x + = g PrelBase.+ 1 + where + g y + = h PrelBase.+ 2 + where + h z = z z' -tcfail014.hs:5: No instance for: `PrelBase.Num (taCk -> taCl)' +tcfail014.hs:5: No instance for: `PrelBase.Num (taCG -> taCI)' arising from use of `PrelBase.+' at tcfail014.hs:5 diff --git a/ghc/tests/typecheck/should_fail/tcfail016.stderr b/ghc/tests/typecheck/should_fail/tcfail016.stderr index a08f8a0..196761a 100644 --- a/ghc/tests/typecheck/should_fail/tcfail016.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail016.stderr @@ -1,10 +1,8 @@ tcfail016.hs:9: Couldn't match the type - `PrelTup.(,) taRi' against `Expr' - Expected: `Expr taRd' - Inferred: `AnnExpr taRi' - In the first argument of `g', namely `e1' - In the first argument of `PrelBase.++', namely `(g e1)' + `Expr' against `PrelTup.(,) taRx' + Expected: `AnnExpr taRx' + Inferred: `Expr taRx' In an equation for function `g': `g (App e1 e2) = (g e1) PrelBase.++ (g e2)' diff --git a/ghc/tests/typecheck/should_fail/tcfail017.stderr b/ghc/tests/typecheck/should_fail/tcfail017.stderr index be53d89..3e61ca5 100644 --- a/ghc/tests/typecheck/should_fail/tcfail017.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail017.stderr @@ -1,5 +1,5 @@ -tcfail017.hs:11: No instance for: `C [takz]' +tcfail017.hs:11: No instance for: `C [takH]' arising from an instance declaration at tcfail017.hs:11 When checking superclass constraints of an instance declaration diff --git a/ghc/tests/typecheck/should_fail/tcfail018.stderr b/ghc/tests/typecheck/should_fail/tcfail018.stderr index 987eb45..bbfa188 100644 --- a/ghc/tests/typecheck/should_fail/tcfail018.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail018.stderr @@ -1,8 +1,8 @@ -tcfail018.hs:5: No instance for: `PrelBase.Num [taBB]' +tcfail018.hs:5: No instance for: `PrelBase.Num [taBO]' arising from the literal 1 at tcfail018.hs:5 -tcfail018.hs:5: No instance for: `PrelBase.Num [taBB]' +tcfail018.hs:5: No instance for: `PrelBase.Num [taBO]' arising from the literal 1 at tcfail018.hs:5 diff --git a/ghc/tests/typecheck/should_fail/tcfail019.stderr b/ghc/tests/typecheck/should_fail/tcfail019.stderr index a5da89f..5862a64 100644 --- a/ghc/tests/typecheck/should_fail/tcfail019.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail019.stderr @@ -1,17 +1,17 @@ -tcfail019.hs:20: No instance for: `B [tal6]' +tcfail019.hs:20: No instance for: `B [tale]' arising from an instance declaration at tcfail019.hs:20 When checking methods of an instance declaration -tcfail019.hs:20: No instance for: `C [tal6]' +tcfail019.hs:20: No instance for: `C [tale]' arising from an instance declaration at tcfail019.hs:20 When checking methods of an instance declaration -tcfail019.hs:20: No instance for: `B [tal6]' +tcfail019.hs:20: No instance for: `B [tale]' arising from an instance declaration at tcfail019.hs:20 When checking superclass constraints of an instance declaration -tcfail019.hs:20: No instance for: `C [tal6]' +tcfail019.hs:20: No instance for: `C [tale]' arising from an instance declaration at tcfail019.hs:20 When checking superclass constraints of an instance declaration diff --git a/ghc/tests/typecheck/should_fail/tcfail020.stderr b/ghc/tests/typecheck/should_fail/tcfail020.stderr index ac62283..d6c26e4 100644 --- a/ghc/tests/typecheck/should_fail/tcfail020.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail020.stderr @@ -1,5 +1,5 @@ -tcfail020.hs:12: No instance for: `A [taBn]' +tcfail020.hs:12: No instance for: `A [taBD]' arising from an instance declaration at tcfail020.hs:12 When checking superclass constraints of an instance declaration diff --git a/ghc/tests/typecheck/should_fail/tcfail021.stderr b/ghc/tests/typecheck/should_fail/tcfail021.stderr new file mode 100644 index 0000000..08702aa --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail021.stderr @@ -0,0 +1,7 @@ + +tcfail021.hs:8: + Can't handle multiple methods defined by one pattern binding + `(==, /=) = (\ x -> \ y -> True, (\ x -> \ y -> False))' + + +Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail023.stderr b/ghc/tests/typecheck/should_fail/tcfail023.stderr index f17c04f..3b73a64 100644 --- a/ghc/tests/typecheck/should_fail/tcfail023.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail023.stderr @@ -3,14 +3,14 @@ tcfail023.hs:2: Duplicate or overlapping instance declarations for `A B' at tcfail023.hs:8 and tcfail023.hs:11 tcfail023.hs:11: Couldn't match the type - `B' against `PrelBase.Bool' - Expected: `B' - Inferred: `PrelBase.Bool' + `PrelBase.Bool' against `B' + Expected: `PrelBase.Bool' + Inferred: `B' In an equation for function `op': `op C = PrelBase.True' -tcfail023.hs:8: Couldn't match the type `B' against `PrelBase.Bool' - Expected: `B' - Inferred: `PrelBase.Bool' +tcfail023.hs:8: Couldn't match the type `PrelBase.Bool' against `B' + Expected: `PrelBase.Bool' + Inferred: `B' In an equation for function `op': `op C = PrelBase.True' tcfail023.hs:2: Module Main must include a definition for `Main.main' diff --git a/ghc/tests/typecheck/should_fail/tcfail028.stderr b/ghc/tests/typecheck/should_fail/tcfail028.stderr index b41cd36..a58a80d 100644 --- a/ghc/tests/typecheck/should_fail/tcfail028.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail028.stderr @@ -1,6 +1,6 @@ -tcfail028.hs:4: Couldn't match the kind `ka2534 -> *' against `*' - When unifying two kinds `ka2534 -> *' and `*' +tcfail028.hs:4: Couldn't match the kind `ka2551 -> *' against `*' + When unifying two kinds `ka2551 -> *' and `*' In the data declaration for `A' diff --git a/ghc/tests/typecheck/should_fail/tcfail031.stderr b/ghc/tests/typecheck/should_fail/tcfail031.stderr index bcc5bde..2f528f6 100644 --- a/ghc/tests/typecheck/should_fail/tcfail031.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail031.stderr @@ -1,8 +1,8 @@ tcfail031.hs:3: Couldn't match the type - `PrelBase.Bool' against `PrelBase.Char' - Expected: `PrelBase.Bool' - Inferred: `PrelBase.Char' + `PrelBase.Char' against `PrelBase.Bool' + Expected: `PrelBase.Char' + Inferred: `PrelBase.Bool' In the predicate expression `'a'' In an equation for function `f': `f x = if 'a' then 1 else 2' diff --git a/ghc/tests/typecheck/should_fail/tcfail032.stderr b/ghc/tests/typecheck/should_fail/tcfail032.stderr index c947b0b..3048623 100644 --- a/ghc/tests/typecheck/should_fail/tcfail032.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail032.stderr @@ -1,8 +1,7 @@ tcfail032.hs:14: A type signature is more polymorphic than the inferred type - Some type variables in the inferred type can't be forall'd, namely: - `taAx' - Possible cause: the RHS mentions something subject to the monomorphism restriction + Can't for-all the type variable(s) `taAO' + in the inferred type `taAO -> PrelBase.Int' In an expression with a type signature: `x :: _forall_ [a] (PrelBase.Eq a) => a -> PrelBase.Int' diff --git a/ghc/tests/typecheck/should_fail/tcfail033.stderr b/ghc/tests/typecheck/should_fail/tcfail033.stderr index 68a7964..4e664ee 100644 --- a/ghc/tests/typecheck/should_fail/tcfail033.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail033.stderr @@ -1,9 +1,9 @@ tcfail033.hs:4: Cannot construct the infinite type (occur check) - `taGt' = `(taGt, taGw)' - Expected: `aaGy (taGt, taGw)' - Inferred: `aaGy taGt' - In a pattern binding: `buglet = [ x | (x, y) <- buglet ]' + `taGA' = `(taGA, taGD)' + Expected: `aaGF taGA' + Inferred: `aaGF (taGA, taGD)' + In a pattern binding: `buglet = [x | (x, y) <- buglet]' Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail034.stderr b/ghc/tests/typecheck/should_fail/tcfail034.stderr index 48b168a..783c4d6 100644 --- a/ghc/tests/typecheck/should_fail/tcfail034.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail034.stderr @@ -1,7 +1,7 @@ -tcfail034.hs:13: Context `{PrelNum.Integral taTL}' +tcfail034.hs:13: Context `{PrelNum.Integral taTY}' required by inferred type, but missing on a type signature - `PrelNum.Integral' `taTL' arising from use of `PrelNum.mod' at tcfail034.hs:17 + `PrelNum.Integral taTY' arising from use of `PrelNum.mod' at tcfail034.hs:17 When checking signature(s) for: `test' diff --git a/ghc/tests/typecheck/should_fail/tcfail040.stderr b/ghc/tests/typecheck/should_fail/tcfail040.stderr index b3fe518..4ca6097 100644 --- a/ghc/tests/typecheck/should_fail/tcfail040.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail040.stderr @@ -1,6 +1,6 @@ -tcfail040.hs:3: Ambiguous context `{ORD taBu}' - `ORD' `taBu' arising from use of `<<' at tcfail040.hs:19 +tcfail040.hs:3: Ambiguous context `{ORD taBH}' + `ORD taBH' arising from use of `<<' at tcfail040.hs:19 Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail042.stderr b/ghc/tests/typecheck/should_fail/tcfail042.stderr index 2f0c837..d7de5bd 100644 --- a/ghc/tests/typecheck/should_fail/tcfail042.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail042.stderr @@ -1,7 +1,7 @@ -tcfail042.hs:16: Context `{PrelBase.Num taHh}' +tcfail042.hs:16: Context `{PrelBase.Num taHz}' required by inferred type, but missing on a type signature - `PrelBase.Num' `taHh' arising from an instance declaration at tcfail042.hs:16 + `PrelBase.Num taHz' arising from an instance declaration at tcfail042.hs:16 When checking superclass constraints of an instance declaration tcfail042.hs:4: Module Main must include a definition for `Main.main' diff --git a/ghc/tests/typecheck/should_fail/tcfail044.stderr b/ghc/tests/typecheck/should_fail/tcfail044.stderr index 018a55a..6971308 100644 --- a/ghc/tests/typecheck/should_fail/tcfail044.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail044.stderr @@ -1,12 +1,14 @@ -tcfail044.hs:12: The type `a - -> a' cannot be used as an instance type +tcfail044.hs:12: The type + `a -> a' + cannot be used as an instance type -tcfail044.hs:5: The type `a - -> a' cannot be used as an instance type +tcfail044.hs:5: The type + `a -> a' + cannot be used as an instance type -tcfail044.hs:20: No instance for: - `PrelBase.Num (PrelBase.Float -> PrelBase.Float)' +tcfail044.hs:20: No instance for: `PrelBase.Num (PrelBase.Float + -> PrelBase.Float)' arising from use of `PrelBase.+' at tcfail044.hs:20 diff --git a/ghc/tests/typecheck/should_fail/tcfail046.stderr b/ghc/tests/typecheck/should_fail/tcfail046.stderr index f83ce43..1d2c87d 100644 --- a/ghc/tests/typecheck/should_fail/tcfail046.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail046.stderr @@ -1,30 +1,18 @@ -tcfail046.hs:4: No instance for class - `PrelBase.Eq' - at type - `Process a' +tcfail046.hs:4: No instance for `PrelBase.Eq Process a' -tcfail046.hs:4: No instance for class - `PrelBase.Eq' - at type - `Process a' +tcfail046.hs:4: No instance for `PrelBase.Eq Process a' -tcfail046.hs:4: No instance for class - `PrelBase.Eq' - at type - `Process a' +tcfail046.hs:4: No instance for `PrelBase.Eq Process a' -tcfail046.hs:4: No instance for class - `PrelBase.Eq' - at type - `Process a' +tcfail046.hs:4: No instance for `PrelBase.Eq Process a' -tcfail046.hs:23: No instance for: `PrelBase.Eq (Process taVO)' - arising from use of `PrelBase.==' at tcfail046.hs:23 +tcfail046.hs:15: No instance for: `PrelBase.Eq (Process taW3)' + arising from use of `PrelBase.==' at tcfail046.hs:15 When checking methods of an instance declaration -tcfail046.hs:15: No instance for: `PrelBase.Eq (Process taZ8)' - arising from use of `PrelBase.==' at tcfail046.hs:15 +tcfail046.hs:23: No instance for: `PrelBase.Eq (Process taXh)' + arising from use of `PrelBase.==' at tcfail046.hs:23 When checking methods of an instance declaration diff --git a/ghc/tests/typecheck/should_fail/tcfail047.stderr b/ghc/tests/typecheck/should_fail/tcfail047.stderr index 6df94a6..0e001d3 100644 --- a/ghc/tests/typecheck/should_fail/tcfail047.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail047.stderr @@ -1,5 +1,7 @@ -tcfail047.hs:6: The type `(a, (b, c))' cannot be used as an instance type +tcfail047.hs:6: The type + `(a, (b, c))' + cannot be used as an instance type tcfail047.hs:2: Module Main must include a definition for `Main.main' diff --git a/ghc/tests/typecheck/should_fail/tcfail055.stderr b/ghc/tests/typecheck/should_fail/tcfail055.stderr index 8070c17..85c3b77 100644 --- a/ghc/tests/typecheck/should_fail/tcfail055.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail055.stderr @@ -1,10 +1,10 @@ tcfail055.hs:3: Couldn't match the type - `PrelBase.Int' against `PrelBase.Float' - Expected: `PrelBase.Float' - Inferred: `PrelBase.Int' + `PrelBase.Float' against `PrelBase.Int' + Expected: `PrelBase.Int' + Inferred: `PrelBase.Float' In an expression with a type signature: - `(x PrelBase.+ 1 :: PrelBase.Int) :: PrelBase.Float' + `x PrelBase.+ 1 :: PrelBase.Int' Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail065.stderr b/ghc/tests/typecheck/should_fail/tcfail065.stderr index 83fb883..1168708 100644 --- a/ghc/tests/typecheck/should_fail/tcfail065.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail065.stderr @@ -1,8 +1,7 @@ -: A type signature is more polymorphic than the inferred type - Some type variables in the inferred type can't be forall'd, namely: - `taHR' - Possible cause: the RHS mentions something subject to the monomorphism restriction +tcfail065.hs:29: A type signature is more polymorphic than the inferred type + Can't for-all the type variable(s) `taI7' + in the inferred type `taI7 -> X taI7 -> X taI7' When checking signature for `setX' diff --git a/ghc/tests/typecheck/should_fail/tcfail067.stderr b/ghc/tests/typecheck/should_fail/tcfail067.stderr index 392680b..9e754a2 100644 --- a/ghc/tests/typecheck/should_fail/tcfail067.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail067.stderr @@ -1,12 +1,12 @@ -tcfail067.hs:1: Context `{PrelBase.Ord ta17k}' +tcfail067.hs:1: Context `{PrelBase.Ord ta179}' required by inferred type, but missing on a type signature - `PrelBase.Ord' `ta17k' arising from use of `SubRange' at tcfail067.hs:76 + `PrelBase.Ord ta179' arising from use of `SubRange' at tcfail067.hs:76 When checking signature(s) for: `numSubRangeBinOp' -tcfail067.hs:65: Context `{PrelBase.Ord ta18S}' +tcfail067.hs:65: Context `{PrelBase.Ord ta18O}' required by inferred type, but missing on a type signature - `PrelBase.Ord' `ta18S' arising from use of `numSubRangeNegate' at tcfail067.hs:61 + `PrelBase.Ord ta18O' arising from use of `numSubRangeNegate' at tcfail067.hs:61 When checking methods of an instance declaration tcfail067.hs:65: No explicit method nor default method for `PrelBase.abs' diff --git a/ghc/tests/typecheck/should_fail/tcfail069.stderr b/ghc/tests/typecheck/should_fail/tcfail069.stderr index 52f3ae9..03413b8 100644 --- a/ghc/tests/typecheck/should_fail/tcfail069.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail069.stderr @@ -1,7 +1,7 @@ tcfail069.hs:21: Couldn't match the type - `PrelBase.[]' against `PrelTup.(,) [PrelBase.Int]' - Expected: `[taCf]' + `PrelTup.(,) taCl' against `PrelBase.[]' + Expected: `[taCp]' Inferred: `([PrelBase.Int], [PrelBase.Int])' In a "case" branch: `PrelBase.[]' -> `IOBase.error "foo"' In the case expression diff --git a/ghc/tests/typecheck/should_fail/tcfail070.stderr b/ghc/tests/typecheck/should_fail/tcfail070.stderr index 010e653..7083356 100644 --- a/ghc/tests/typecheck/should_fail/tcfail070.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail070.stderr @@ -1,6 +1,6 @@ -tcfail070.hs:13: Couldn't match the kind `*' against `* -> ka1921' - When unifying two kinds `*' and `* -> ka1921' +tcfail070.hs:13: Couldn't match the kind `*' against `* -> ka1932' + When unifying two kinds `*' and `* -> ka1932' In the type declaration for `State' diff --git a/ghc/tests/typecheck/should_fail/tcfail071.stderr b/ghc/tests/typecheck/should_fail/tcfail071.stderr index c6067c2..afc1de8 100644 --- a/ghc/tests/typecheck/should_fail/tcfail071.stderr +++ b/ghc/tests/typecheck/should_fail/tcfail071.stderr @@ -1,9 +1,10 @@ tcfail071.hs:10: Couldn't match the signature/existential type variable - `taCF' with the type `taCR -> taCS -> taCS' - Expected: `taCR -> taCS -> taCS' - Inferred: `taCF' - In the first argument of `PrelBase.foldr', namely `(f c)' + `taCS' with the type `taD6 -> taD3 -> taD3' + Expected: `taCS' + Inferred: `taD6 -> taD3 -> taD3' + In a pattern binding: + `p = PrelBase.foldr (f c) PrelBase.[] PrelBase.[]' In an equation for function `g': `g c = c diff --git a/ghc/tests/typecheck/should_fail/tcfail072.stderr b/ghc/tests/typecheck/should_fail/tcfail072.stderr new file mode 100644 index 0000000..0b9ed10 --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail072.stderr @@ -0,0 +1,7 @@ + +tcfail072.hs:17: Ambiguous context `{PrelBase.Ord taDf}' + `PrelBase.Ord taDf' arising from use of `g' at tcfail072.hs:23 + When checking signature(s) for: `g' + + +Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail073.stderr b/ghc/tests/typecheck/should_fail/tcfail073.stderr new file mode 100644 index 0000000..b2a9cb7 --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail073.stderr @@ -0,0 +1,11 @@ + +tcfail073.hs:3: Duplicate or overlapping instance declarations + for `PrelBase.Eq (a, b)' at tcfail073.hs:8 and + +tcfail073.hs:8: Context `{PrelBase.Eq taQT}' + required by inferred type, but missing on a type signature + `PrelBase.Eq taQT' arising from use of `PrelBase.==' at tcfail073.hs:8 + When checking methods of an instance declaration + + +Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail074.stderr b/ghc/tests/typecheck/should_fail/tcfail074.stderr new file mode 100644 index 0000000..8c0740d --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail074.stderr @@ -0,0 +1,8 @@ + +tcfail074.hs:7: + Conflicting definitions for: `main' + Defined at tcfail074.hs:8 + Defined at tcfail074.hs:7 + + +Compilation had errors diff --git a/ghc/tests/typecheck/should_fail/tcfail075.stderr b/ghc/tests/typecheck/should_fail/tcfail075.stderr new file mode 100644 index 0000000..986d5d7 --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail075.stderr @@ -0,0 +1 @@ +tcfail075.hs:9:1: parse error on input: "y" diff --git a/ghc/tests/typecheck/should_fail/tcfail076.stderr b/ghc/tests/typecheck/should_fail/tcfail076.stderr new file mode 100644 index 0000000..c10f44b --- /dev/null +++ b/ghc/tests/typecheck/should_fail/tcfail076.stderr @@ -0,0 +1,12 @@ + +tcfail076.hs:21: A type signature is more polymorphic than the inferred type + Can't for-all the type variable(s) `taCc' + in the inferred type `(taC2 -> aaC1 taCc) -> aaC1 taCc' + In a polymorphic function argument `(\ cont' -> cont a)' + In an equation for function `callcc': + `callcc f + = KContT (\ cont + -> unKContT (f (\ a -> KContT (\ cont' -> cont a))) cont)' + + +Compilation had errors diff --git a/ghc/tests/typecheck/should_run/Makefile b/ghc/tests/typecheck/should_run/Makefile index d012c9d..065ce32 100644 --- a/ghc/tests/typecheck/should_run/Makefile +++ b/ghc/tests/typecheck/should_run/Makefile @@ -1,4 +1,4 @@ -TOP = ../../../.. +TOP = ../.. include $(TOP)/mk/boilerplate.mk HS_SRCS = $(wildcard *.hs) @@ -9,7 +9,7 @@ HC_OPTS += -noC -dcore-lint all :: $(BINS) -%.o : % +% : %.o $(HC) $(HC_OPTS) $< -o $@ diff --git a/ghc/tests/typecheck/should_run/tcrun001.hs b/ghc/tests/typecheck/should_run/tcrun001.hs deleted file mode 100644 index 00b4945..0000000 --- a/ghc/tests/typecheck/should_run/tcrun001.hs +++ /dev/null @@ -1,16 +0,0 @@ ---!! Test for (->) instances - -module Main where - -class Flob k where - twice :: k a a -> k a a - -instance Flob (->) where - twice f = f . f - -inc :: Int -> Int -inc x = x+1 - -main = print (twice inc 2) - -