+++ /dev/null
-TOP = ../../..
-include $(TOP)/mk/boilerplate.mk
-
-HS_SRCS = $(wildcard *.hs)
-SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0
-
-ds014a_RUNTEST_OPTS = -x 1
-ds025_RUNTEST_OPTS = -x 1
-ds035_RUNTEST_OPTS = -x 1
-ds038_RUNTEST_OPTS = -x 1
-ds040_RUNTEST_OPTS = -x 1
-
-%.o : %.hs
-
-%.o : %.hs
- $(RUNTEST) $(HC) $(RUNTEST_OPTS) $(HC_OPTS) -c $< -o $@ -osuf $(subst .,,$(suffix $@))
-
-all :: $(HS_OBJS)
-
-#SUBDIRS = cvh-ds-unboxed
-
-# These options apply to all tests
-HC_OPTS += -noC -ddump-ds -dcore-lint
-
-ds030_HC_OPTS = -dppr-all
-ds035_HC_OPTS = -fglasgow-exts
-ds039_HC_OPTS = -dppr-all
-
-include $(TOP)/mk/target.mk
+++ /dev/null
-\section{Life2}
-
-\begin{code}
-module Life2 (life2) where
-import UTypes
-import UCopy (copy_FI)
-
-life2 itLimit boardSize
- = (fBStr firstBoard) ++ (fBStr secondBoard)
- where {- ... -}
-
-\end{code}
-
-\begin{code}
- fBStr :: FI -> String
- fBStr FIN = []
-
-{- OK
- firstBoard :: FI
- firstBoard = copy_FI boardSize (case 0 of
- (MkInt x) -> x)
--}
-
-{- not happy about this -}
-
- firstBoard = copy_FI boardSize u0
- u0 = unBoxInt 0
- unBoxInt (MkInt x) = x
-{- end of not happy -}
-
-{- not happy with this either! -}
-
- secondBoard = copy_FI boardSize u1
-
- (MkInt u1) = 0
-{- end of second not happy -}
-\end{code}
-
-
+++ /dev/null
-interface UCopy where
-import UTypes(F3I(..), FC(..), FI(..), LI(..), SC(..), SI(..))
-copy_FI :: Int -> IntPrim -> FI {-# ARITY _ = 2 #-}
-data F3I = F3IN | F3I1 IntPrim IntPrim IntPrim | F3I2 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim | F3I3 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim | F3I4 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim | F3I5 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim F3I
-data FC = FCN | FC1 Char# | FC2 Char# Char# | FC3 Char# Char# Char# | FC4 Char# Char# Char# Char# | FC5 Char# Char# Char# Char# Char# FC
-data FI = FIN | FI1 IntPrim | FI2 IntPrim IntPrim | FI3 IntPrim IntPrim IntPrim | FI4 IntPrim IntPrim IntPrim IntPrim | FI5 IntPrim IntPrim IntPrim IntPrim IntPrim FI
-data LI = LIN | LI1 IntPrim LI
-data SC = SCN | SC1 Char# SC | SC2 Char# Char# SC | SC3 Char# Char# Char# SC | SC4 Char# Char# Char# Char# SC | SC5 Char# Char# Char# Char# Char# SC
-data SI = SIN | SI1 IntPrim SI | SI2 IntPrim IntPrim SI | SI3 IntPrim IntPrim IntPrim SI | SI4 IntPrim IntPrim IntPrim IntPrim SI | SI5 IntPrim IntPrim IntPrim IntPrim IntPrim SI
+++ /dev/null
-interface UTypes where
-data F3I = F3IN | F3I1 IntPrim IntPrim IntPrim | F3I2 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim | F3I3 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim | F3I4 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim | F3I5 IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim IntPrim F3I
-data FC = FCN | FC1 Char# | FC2 Char# Char# | FC3 Char# Char# Char# | FC4 Char# Char# Char# Char# | FC5 Char# Char# Char# Char# Char# FC
-data FI = FIN | FI1 IntPrim | FI2 IntPrim IntPrim | FI3 IntPrim IntPrim IntPrim | FI4 IntPrim IntPrim IntPrim IntPrim | FI5 IntPrim IntPrim IntPrim IntPrim IntPrim FI
-data LI = LIN | LI1 IntPrim LI
-data SC = SCN | SC1 Char# SC | SC2 Char# Char# SC | SC3 Char# Char# Char# SC | SC4 Char# Char# Char# Char# SC | SC5 Char# Char# Char# Char# Char# SC
-data SI = SIN | SI1 IntPrim SI | SI2 IntPrim IntPrim SI | SI3 IntPrim IntPrim IntPrim SI | SI4 IntPrim IntPrim IntPrim IntPrim SI | SI5 IntPrim IntPrim IntPrim IntPrim IntPrim SI
+++ /dev/null
-module ShouldSucceed where
-
-x@_ = x
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-x{-r1,x-} ::
- _forall_ [t{-amE-}] => t{-amE-}
-{-# L #-}
-x{-r1,x-} =
- _/\_ t{-amE-} ->
- _letrec_ {
- x_amC ::
- t{-amE-}
- {-# L #-}
- x_amC =
- x_amC;
- } in
- x_amC
-end Rec }
+++ /dev/null
---!!! ds001 -- simple function and pattern bindings
---
--- this tests ultra-simple function and pattern bindings (no patterns)
-
-module Test where
-
--- simple function bindings
-
-f x = x
-
-g x y z = f z
-
-j w x y z = g w x z
-
-h x y = f y
- where
- f a b = a
-
--- simple pattern bindings
-
-a = b
-
-b = f
-
-c = c
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-c{-r3I,x-} ::
- _forall_ [t{-ang-}] => t{-ang-}
-{-# L #-}
-c{-r3I,x-} =
- _/\_ t{-ang-} ->
- _letrec_ {
- c_ane ::
- t{-ang-}
- {-# 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-}
-{-# 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-}
- {-# 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-}
-{-# 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-}
-{-# 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-}
-{-# 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-}
-{-# L #-}
-b{-r3J,x-} =
- _/\_ t{-aou-} ->
- f{-r3O,x-}
- _@_ t{-aou-}
-a{-r3K,x-} ::
- _forall_ [t{-aoA-}] => t{-aoA-} -> t{-aoA-}
-{-# L #-}
-a{-r3K,x-} =
- _/\_ t{-aoA-} ->
- b{-r3J,x-}
- _@_ t{-aoA-}
+++ /dev/null
---!!! ds002 -- overlapping equations and guards
---
--- this tests "overlapping" variables and guards
-
-module Test where
-
-f x = x
-f y = y
-f z = z
-
-g x y z | True = f z
- | True = f z
- | True = f z
-g x y z | True = f z
- | True = f z
- | True = f z
+++ /dev/null
-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-}
-{-# 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-}
-{-# 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-}
- {-# 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
+++ /dev/null
---!!! ds003 -- list, tuple, lazy, as patterns
---
-module Test where
-
-f [] y True = []
-f x a@(y,ys) ~z = []
-f (x:x1:x2:x3) ~(y,ys) z = []
-f x y True = []
+++ /dev/null
-
-
-================================================================================
-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-}]
-{-# 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-}]
- {-# L #-}
- fail_dGE =
- case y_r3e of { PrelTup.(,){-62,p-}{i} y_r3k ys_r3l ->
- let {
- z_r3n ::
- PrelBase.Bool{-34,p-}
- {-# 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-};
- };
- }
+++ /dev/null
---!!! ds004 -- nodups from SLPJ p 79
---
-module Test where
-
--- SLPJ, p 79
-nodups [] = []
-nodups [x] = [x]
-nodups (y:x:xs) | y == x = nodups (x:xs)
- | True = y : nodups (x:xs)
+++ /dev/null
-ds004.hs:6:
- Warning: Possibly incomplete patterns
- in the definition of function `nodups'
-
-
-================================================================================
-Desugared:
-Rec {
-nodups{-r3j,x-} ::
- _forall_
- [t{-aGj-}]
- =>
- {PrelBase.Eq{-23,p-} t{-aGj-}} -> [t{-aGj-}] -> [t{-aGj-}]
-{-# L #-}
-nodups{-r3j,x-} =
- _/\_ t{-aGj-} -> \ d.Eq_aGz ::
- {PrelBase.Eq{-23,p-} t{-aGj-}}
- {-# L #-}
- d.Eq_aGz ->
- _letrec_ {
- ==_aJI ::
- t{-aGj-} -> t{-aGj-} -> PrelBase.Bool{-34,p-}
- {-# L #-}
- ==_aJI =
- PrelBase.=={-8Y,p-}
- _@_ t{-aGj-} d.Eq_aGz;
- nodups_aG4 ::
- [t{-aGj-}] -> [t{-aGj-}]
- {-# L #-}
- nodups_aG4 =
- \ ds_dK8 ::
- [t{-aGj-}]
- {-# L #-}
- ds_dK8 ->
- let {
- fail_dK9 ::
- [t{-aGj-}]
- {-# L #-}
- fail_dK9 =
- GHCerr.patError{-8r,p-}
- _@_ [t{-aGj-}] _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} ->
- let {
- ds_dKG ::
- [t{-aGj-}]
- {-# 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 ->
- let {
- y_r3g ::
- t{-aGj-}
- {-# L #-}
- y_r3g =
- x_r3e
- } in
- case
- ==_aJI
- y_r3g x_r3h
- of {
- PrelBase.True{-5E,p-}{i} ->
- let {
- ds_dLd ::
- [t{-aGj-}]
- {-# 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-}]
- {-# L #-}
- ds_dLF =
- let {
- ds_dLN ::
- [t{-aGj-}]
- {-# L #-}
- ds_dLN =
- PrelBase.:{-55,p-}{i}
- _@_ t{-aGj-} x_r3h xs_r3i
- } in
- nodups_aG4
- ds_dLN
- } in
- PrelBase.:{-55,p-}{i}
- _@_ t{-aGj-} y_r3g ds_dLF;
- };
- };
- };
- } in
- nodups_aG4
-end Rec }
+++ /dev/null
---!!! ds005 -- mappairs from SLPJ Ch 5'
---
--- this simply tests a "typical" example
-
-module MapPairs where
-
--- from SLPJ, p 78
-mappairs f [] ys = []
-mappairs f (x:xs) [] = []
-mappairs f (x:xs) (y:ys) = f x y : mappairs f xs ys
-
--- from p 80
-mappairs' f [] ys = []
-mappairs' f x [] = []
-mappairs' f (x:xs) (y:ys) = f x y : mappairs' f xs ys
+++ /dev/null
-ds005.hs:13:
- Warning: Possibly incomplete patterns
- in the definition of function `mappairs''
-
-
-================================================================================
-Desugared:
-Rec {
-mappairs'{-r3O,x-} ::
- _forall_
- [t{-anl-} t{-anv-} t{-anx-}]
- =>
- (t{-anl-} -> t{-anv-} -> t{-anx-})
- -> [t{-anl-}]
- -> [t{-anv-}]
- -> [t{-anx-}]
-{-# L #-}
-mappairs'{-r3O,x-} =
- _/\_ t{-anl-} t{-anv-} t{-anx-} ->
- _letrec_ {
- mappairs'_anf ::
- (t{-anl-} -> t{-anv-} -> t{-anx-})
- -> [t{-anl-}]
- -> [t{-anv-}]
- -> [t{-anx-}]
- {-# L #-}
- mappairs'_anf =
- \ f_r3x ::
- t{-anl-} -> t{-anv-} -> t{-anx-}
- {-# L #-}
- f_r3x ds_duS ::
- [t{-anl-}]
- {-# L #-}
- ds_duS ys_r3A ::
- [t{-anv-}]
- {-# L #-}
- ys_r3A ->
- let {
- fail_duT ::
- [t{-anx-}]
- {-# L #-}
- fail_duT =
- GHCerr.patError{-8r,p-}
- _@_ [t{-anx-}] _string_ "ds005.hs:13|function `mappairs''" } in
- let { fail_dwj ::
- [t{-anx-}]
- {-# L #-}
- fail_dwj =
- let {
- fail_dvV ::
- [t{-anx-}]
- {-# 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 ->
- let {
- f_r3H ::
- t{-anl-} -> t{-anv-} -> t{-anx-}
- {-# L #-}
- f_r3H =
- f_r3x } in
- let {
- ds_dvr ::
- t{-anx-}
- {-# L #-}
- ds_dvr =
- f_r3H
- x_r3J y_r3M } in
- let {
- ds_dvv ::
- [t{-anx-}]
- {-# L #-}
- ds_dvv =
- mappairs'_anf
- f_r3H xs_r3K ys_r3N
- } in
- PrelBase.:{-55,p-}{i}
- _@_ t{-anx-} ds_dvr ds_dvv;
- };
- }
- } in
- case ys_r3A of {
- PrelBase.:{-55,p-}{i} ds_dw3 ds_dw2 ->
- fail_dvV;
- PrelBase.[]{-5i,p-}{i} ->
- let {
- x_r3E ::
- [t{-anl-}]
- {-# L #-}
- x_r3E =
- ds_duS } in
- let {
- f_r3C ::
- t{-anl-} -> t{-anv-} -> t{-anx-}
- {-# L #-}
- f_r3C =
- f_r3x
- } in
- PrelBase.[]{-5i,p-}{i}
- _@_ t{-anx-};
- }
- } 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-};
- };
- } 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-}]
-{-# L #-}
-mappairs{-r3P,x-} =
- _/\_ t{-aoc-} t{-aoh-} t{-aoj-} ->
- _letrec_ {
- mappairs_anX ::
- (t{-aoc-} -> t{-aoh-} -> t{-aoj-})
- -> [t{-aoc-}]
- -> [t{-aoh-}]
- -> [t{-aoj-}]
- {-# L #-}
- mappairs_anX =
- \ f_r3e ::
- t{-aoc-} -> t{-aoh-} -> t{-aoj-}
- {-# L #-}
- f_r3e ds_dx4 ::
- [t{-aoc-}]
- {-# L #-}
- ds_dx4 ys_r3h ::
- [t{-aoh-}]
- {-# 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} ->
- let {
- f_r3j ::
- t{-aoc-} -> t{-aoh-} -> t{-aoj-}
- {-# L #-}
- f_r3j =
- f_r3e
- } in
- PrelBase.[]{-5i,p-}{i}
- _@_ t{-aoj-};
- PrelBase.:{-55,p-}{i} y_r3u ys_r3v ->
- let {
- xs_r3s ::
- [t{-aoc-}]
- {-# L #-}
- xs_r3s =
- xs_r3m } in
- let {
- x_r3r ::
- t{-aoc-}
- {-# L #-}
- x_r3r =
- x_r3l } in
- let {
- f_r3p ::
- t{-aoc-} -> t{-aoh-} -> t{-aoj-}
- {-# L #-}
- f_r3p =
- f_r3e } in
- let {
- ds_dxR ::
- t{-aoj-}
- {-# L #-}
- ds_dxR =
- f_r3p
- x_r3r y_r3u } in
- let {
- ds_dxV ::
- [t{-aoj-}]
- {-# L #-}
- ds_dxV =
- mappairs_anX
- f_r3p xs_r3s ys_r3v
- } in
- PrelBase.:{-55,p-}{i}
- _@_ t{-aoj-} ds_dxR ds_dxV;
- };
- };
- } in
- mappairs_anX
-end Rec }
+++ /dev/null
---!!! ds006 -- v | True = v+1 | False = v (dead code elim)
---
-module Test where
-
-v | True = v + 1
- | False = v
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-d.Num_aHu ::
- {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}}
-{-# L #-}
-d.Num_aHu =
- PrelBase.$d3{-rb1,p-}
-+_aJy ::
- PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
-{-# 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-}
-{-# 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-}
-{-# L #-}
-v_aHa =
- +_aJy
- v_aHa lit_aJF
-v{-r1,x-} ::
- PrelBase.Int{-3g,p-}
-{-# L #-}
-v{-r1,x-} =
- v_aHa
-end Rec }
+++ /dev/null
---!!! ds007 -- simple local bindings
-
-module ShouldSucceed where
-
-w = a where a = y
- y = []
+++ /dev/null
-
-
-================================================================================
-Desugared:
-w{-r3f,x-} ::
- _forall_ [t{-amV-}] => [t{-amV-}]
-{-# L #-}
-w{-r3f,x-} =
- _/\_ t{-amV-} ->
- let {
- y_r3e ::
- _forall_ [t{-amM-}] => [t{-amM-}]
- {-# 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-}
+++ /dev/null
---!!! ds008 -- free tyvars on RHSs
---
--- these tests involve way-cool TyApps
-
-module Test where
-
-f x = []
-
-g x = (f [],[],[],[])
-
-h x = g (1::Int)
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-d.Num_aY4 ::
- {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}}
-{-# 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-}]
- {-# L #-}
- ds_d12s =
- PrelBase.[]{-5i,p-}{i}
- _@_ t{-aXx-} } in
- let {
- ds_d12w ::
- [t{-aXz-}]
- {-# L #-}
- ds_d12w =
- PrelBase.[]{-5i,p-}{i}
- _@_ t{-aXz-} } in
- let {
- ds_d12A ::
- [t{-aXB-}]
- {-# 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-}])
-{-# 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
-end Rec }
+++ /dev/null
---!!! ds009 -- simple list comprehensions
-
-module SimpleListComp where
-
-f xs = [ x | x <- xs ]
-
-g xs ys zs = [ (x,y,z) | x <- xs, y <- ys, z <- zs, True ]
-
-h xs ys = [ [x,y] | x <- xs, y <- ys, False ]
-
-i xs = [ x | all@(x,y) <- xs, all == ([],[]) ]
-
-j xs = [ (a,b) | (a,b,c,d) <- xs ]
+++ /dev/null
-
-
-================================================================================
-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-})
-{-# 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-}
- {-# L #-}
- >>=_a1c0 =
- PrelBase.>>={-811,p-}
- _@_ a{-aXO-} d.Monad_aXY } in
- let {
- d.Monad_aY0 ::
- {PrelBase.Monad{-28,p-} a{-aXO-}}
- {-# L #-}
- d.Monad_aY0 =
- d.Monad_aXY } in
- let {
- return_a1bZ ::
- _forall_ [rjQ{-a108-}] => rjQ{-a108-} -> a{-aXO-} rjQ{-a108-}
- {-# 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-})
- {-# 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-})
- {-# 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-}]
-{-# 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-}}
- {-# 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-}]}
- {-# L #-}
- d.Eq_aYA =
- PrelBase.$d27{-rqA,p-}
- _@_ t{-aYm-} d.Eq_aYC } in
- let {
- d.Eq_aYD ::
- {PrelBase.Eq{-23,p-} [t{-aYo-}]}
- {-# 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-}])}
- {-# 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-}
- {-# 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-}
- {-# L #-}
- >>=_a1dG =
- PrelBase.>>={-811,p-}
- _@_ a{-aYh-} d.Monad_aYH } in
- let {
- d.Monad_aYJ ::
- {PrelBase.Monad{-28,p-} a{-aYh-}}
- {-# L #-}
- d.Monad_aYJ =
- d.Monad_aYH } in
- let {
- return_a1dF ::
- _forall_ [rjQ{-a10b-}] => rjQ{-a10b-} -> a{-aYh-} rjQ{-a10b-}
- {-# L #-}
- return_a1dF =
- PrelBase.return{-816,p-}
- _@_ a{-aYh-} d.Monad_aYJ } in
- let {
- zero_a1dE ::
- _forall_ [rjD{-a10c-}] => a{-aYh-} rjD{-a10c-}
- {-# 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-}]
- {-# 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-}]
-{-# 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-}}
- {-# 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-}
- {-# L #-}
- >>=_a1gH =
- PrelBase.>>={-811,p-}
- _@_ a{-aYU-} d.Monad_aZ9 } in
- let {
- d.Monad_aZb ::
- {PrelBase.Monad{-28,p-} a{-aYU-}}
- {-# L #-}
- d.Monad_aZb =
- d.Monad_aZ9 } in
- let {
- return_a1gG ::
- _forall_ [rjQ{-a10f-}] => rjQ{-a10f-} -> a{-aYU-} rjQ{-a10f-}
- {-# L #-}
- return_a1gG =
- PrelBase.return{-816,p-}
- _@_ a{-aYU-} d.Monad_aZb } in
- let {
- zero_a1gF ::
- _forall_ [rjD{-a10g-}] => a{-aYU-} rjD{-a10g-}
- {-# 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-}]
- {-# L #-}
- ds_d1hu =
- \ x_r3B ::
- t{-aYZ-}
- {-# L #-}
- x_r3B ->
- let {
- ds_d1hK ::
- t{-aYZ-} -> a{-aYU-} [t{-aYZ-}]
- {-# 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-})
-{-# 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-}}
- {-# 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-}
- {-# L #-}
- >>=_a1im =
- PrelBase.>>={-811,p-}
- _@_ a{-aZn-} d.Monad_aZF } in
- let {
- d.Monad_aZH ::
- {PrelBase.Monad{-28,p-} a{-aZn-}}
- {-# L #-}
- d.Monad_aZH =
- d.Monad_aZF } in
- let {
- return_a1il ::
- _forall_ [rjQ{-a10j-}] => rjQ{-a10j-} -> a{-aZn-} rjQ{-a10j-}
- {-# L #-}
- return_a1il =
- PrelBase.return{-816,p-}
- _@_ a{-aZn-} d.Monad_aZH } in
- let {
- zero_a1ik ::
- _forall_ [rjD{-a10k-}] => a{-aZn-} rjD{-a10k-}
- {-# 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-})
- {-# L #-}
- ds_d1ja =
- \ x_r3r ::
- t{-aZp-}
- {-# L #-}
- x_r3r ->
- let {
- ds_d1jq ::
- t{-aZs-} -> a{-aZn-} (t{-aZp-}, t{-aZs-}, t{-aZv-})
- {-# L #-}
- ds_d1jq =
- \ y_r3t ::
- t{-aZs-}
- {-# L #-}
- y_r3t ->
- let {
- ds_d1jG ::
- t{-aZv-} -> a{-aZn-} (t{-aZp-}, t{-aZs-}, t{-aZv-})
- {-# L #-}
- ds_d1jG =
- \ z_r3v ::
- t{-aZv-}
- {-# L #-}
- z_r3v ->
- let {
- ds_d1jR ::
- (t{-aZp-}, t{-aZs-}, t{-aZv-})
- {-# 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-}
-{-# 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-}
- {-# L #-}
- >>=_a1ky =
- PrelBase.>>={-811,p-}
- _@_ a{-aZR-} d.Monad_a103 } in
- let {
- d.Monad_a105 ::
- {PrelBase.Monad{-28,p-} a{-aZR-}}
- {-# L #-}
- d.Monad_a105 =
- d.Monad_a103 } in
- let {
- return_a1kx ::
- _forall_ [rjQ{-a10n-}] => rjQ{-a10n-} -> a{-aZR-} rjQ{-a10n-}
- {-# 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-}
- {-# 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
+++ /dev/null
---!!! ds010 -- deeply-nested list comprehensions
-
-module Test where
-
-z = [ (a,b,c,d,e,f,g,h,i,j) | a <- "12",
- b <- "12",
- c <- "12",
- d <- "12",
- e <- "12",
- f <- "12",
- g <- "12",
- h <- "12",
- i <- "12",
- j <- "12"
- ]
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-d.Monad_aWF ::
- {PrelBase.Monad{-28,p-} PrelBase.[]{-3j,p-}}
-{-# 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 =
- _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-})]
- {-# L #-}
- ds_d12r =
- \ ds_d12w ::
- [PrelBase.Char{-38,p-}]
- {-# 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 ->
- let {
- a_r3d ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- a_r3d =
- ds_d12I } 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-})]
- {-# L #-}
- ds_d12X =
- \ ds_d132 ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d132 ->
- case ds_d132 of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d12r
- ds_d12R;
- PrelBase.:{-55,p-}{i} ds_d13h ds_d13q ->
- let {
- b_r3f ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- b_r3f =
- ds_d13h } 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-})]
- {-# L #-}
- ds_d13w =
- \ ds_d13B ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d13B ->
- case ds_d13B of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d12X
- ds_d13q;
- PrelBase.:{-55,p-}{i} ds_d13Q ds_d13Z ->
- let {
- c_r3h ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- c_r3h =
- ds_d13Q } 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-})]
- {-# L #-}
- ds_d145 =
- \ ds_d14a ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d14a ->
- case ds_d14a of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d13w
- ds_d13Z;
- PrelBase.:{-55,p-}{i} ds_d14p ds_d14y ->
- let {
- d_r3j ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- d_r3j =
- ds_d14p } 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-})]
- {-# L #-}
- ds_d14E =
- \ ds_d14J ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d14J ->
- case ds_d14J of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d145
- ds_d14y;
- PrelBase.:{-55,p-}{i} ds_d14Y ds_d157 ->
- let {
- e_r3l ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- e_r3l =
- ds_d14Y } 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-})]
- {-# L #-}
- ds_d15d =
- \ ds_d15i ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d15i ->
- case
- ds_d15i
- of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d14E
- ds_d157;
- PrelBase.:{-55,p-}{i} ds_d15x ds_d15G ->
- let {
- f_r3n ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- f_r3n =
- ds_d15x } 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-})]
- {-# L #-}
- ds_d15M =
- \ ds_d15R ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d15R ->
- case
- ds_d15R
- of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d15d
- ds_d15G;
- PrelBase.:{-55,p-}{i} ds_d166 ds_d16f ->
- let {
- g_r3p ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- g_r3p =
- ds_d166 } 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-})]
- {-# L #-}
- ds_d16l =
- \ ds_d16q ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d16q ->
- case
- ds_d16q
- of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d15M
- ds_d16f;
- PrelBase.:{-55,p-}{i} ds_d16F ds_d16O ->
- let {
- h_r3r ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- h_r3r =
- ds_d16F } 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-})]
- {-# L #-}
- ds_d16U =
- \ ds_d16Z ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d16Z ->
- case
- ds_d16Z
- of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d16l
- ds_d16O;
- PrelBase.:{-55,p-}{i} ds_d17e ds_d17n ->
- let {
- i_r3t ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- i_r3t =
- ds_d17e } 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-})]
- {-# L #-}
- ds_d17t =
- \ ds_d17y ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d17y ->
- case
- ds_d17y
- of {
- PrelBase.[]{-5i,p-}{i} ->
- ds_d16U
- ds_d17n;
- PrelBase.:{-55,p-}{i} ds_d17N ds_d186 ->
- let {
- j_r3v ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- j_r3v =
- ds_d17N } 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-})
- {-# 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-}
- a_r3d
- b_r3f
- c_r3h
- d_r3j
- e_r3l
- f_r3n
- g_r3p
- h_r3r
- 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-})]
- {-# L #-}
- ds_d183 =
- ds_d17t
- ds_d186
- } 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};
- };
- } in
- ds_d17t
- _string_ "12";
- };
- } in
- ds_d16U
- _string_ "12";
- };
- } in
- ds_d16l
- _string_ "12";
- };
- } in
- ds_d15M
- _string_ "12";
- };
- } in
- ds_d15d
- _string_ "12";
- };
- } in
- ds_d14E
- _string_ "12";
- };
- } in
- ds_d145
- _string_ "12";
- };
- } in
- ds_d13w
- _string_ "12";
- };
- } in
- ds_d12X
- _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-})]
-{-# L #-}
-z{-r3w,x-} =
- z_aW0
-end Rec }
+++ /dev/null
---!!! ds011 -- uses of "error"
-
-module Tests where
-
-f = error []
-
-g = error ""
-
-h = error "\""
-
-i = error "foo"
+++ /dev/null
-
-
-================================================================================
-Desugared:
-i{-r4,x-} ::
- _forall_ [t{-amO-}] => t{-amO-}
-{-# L #-}
-i{-r4,x-} =
- _/\_ t{-amO-} ->
- IOBase.error{-87,p-}
- _@_ t{-amO-} _string_ "foo"
-h{-r5,x-} ::
- _forall_ [t{-amW-}] => t{-amW-}
-{-# 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-}
-{-# L #-}
-g{-r6,x-} =
- _/\_ t{-an4-} ->
- let {
- ds_dpW ::
- [PrelBase.Char{-38,p-}]
- {-# 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-}
-{-# L #-}
-f{-r7,x-} =
- _/\_ t{-and-} ->
- let {
- ds_dqm ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_dqm =
- PrelBase.[]{-5i,p-}{i}
- _@_ PrelBase.Char{-38,p-}
- } in
- IOBase.error{-87,p-}
- _@_ t{-and-} ds_dqm
+++ /dev/null
---!!! ds012 -- simple Integer arithmetic
---
-module Tests where
-
-f x = 1 + 2 - 3 + 4 * 5
-
-g x = x + (f x)
-
-h x = 111111111111111111111111111111111111111111111111111111111111
- + 222222222222222222222222222222222222222222222222222222222222
+++ /dev/null
-
-
-================================================================================
-Desugared:
-h{-r3l,x-} ::
- _forall_
- [t{-aHu-} t{-aHz-}]
- =>
- {PrelBase.Num{-2c,p-} t{-aHu-}} -> t{-aHz-} -> t{-aHu-}
-{-# 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-}}
- {-# L #-}
- d.Num_aHE =
- d.Num_aHB } in
- let {
- fromInteger_aOZ ::
- PrelBase.Integer{-3h,p-} -> t{-aHu-}
- {-# L #-}
- fromInteger_aOZ =
- PrelBase.fromInteger{-8S,p-}
- _@_ t{-aHu-} d.Num_aHE } in
- let {
- lit_aOY ::
- t{-aHu-}
- {-# L #-}
- lit_aOY =
- fromInteger_aOZ
- _integer_ 111111111111111111111111111111111111111111111111111111111111 } in
- let {
- fromInteger_aOX ::
- PrelBase.Integer{-3h,p-} -> t{-aHu-}
- {-# L #-}
- fromInteger_aOX =
- fromInteger_aOZ } in
- let {
- lit_aOW ::
- t{-aHu-}
- {-# 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-}
- {-# L #-}
- +_aNl =
- PrelBase.+{-r3k,p-}
- _@_ t{-aI9-} d.Num_aIg } in
- let {
- d.Num_aIi ::
- {PrelBase.Num{-2c,p-} t{-aI9-}}
- {-# 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-}
- {-# L #-}
- +_aN8 =
- +_aNl } in
- let {
- d.Num_aIl ::
- {PrelBase.Num{-2c,p-} t{-aI9-}}
- {-# L #-}
- d.Num_aIl =
- d.Num_aIg } in
- let {
- fromInt_aNj ::
- PrelBase.Int{-3g,p-} -> t{-aI9-}
- {-# 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-}
- {-# 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-}
- {-# 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-}}
- {-# L #-}
- d.Num_aIp =
- d.Num_aIg } in
- let {
- *_aNd ::
- t{-aI9-} -> t{-aI9-} -> t{-aI9-}
- {-# L #-}
- *_aNd =
- PrelBase.*{-rcJ,p-}
- _@_ t{-aI9-} d.Num_aIp } in
- let {
- fromInt_aNc ::
- PrelBase.Int{-3g,p-} -> t{-aI9-}
- {-# 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-}
- {-# 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-}
- {-# L #-}
- x_r3f ->
- let { ds_dSk ::
- t{-aI9-}
- {-# L #-}
- ds_dSk =
- let {
- ds_dSw ::
- t{-aI9-}
- {-# 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-}
-{-# 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-}
- {-# L #-}
- ds_dTJ =
- f_aTe
- x_r3h
- } in
- +_aTf
- x_r3h ds_dTJ
+++ /dev/null
---!!! ds013 -- simple Rational arithmetic
-
-module Tests where
-
-f = 1.5 + 2.0 - 3.14159265 + 4.2 * 5.111111111111111111111111111
-
-g :: Float
-g = 1.5 + 2.0 - 3.14159265 + 4.2 * 5.111111111111111111111111111
-
-h :: Double
-h = 1.5 + 2.0 - 3.14159265 + 4.2 * 5.111111111111111111111111111
-
-{- later
-g x = x + (f x)
-
-h x = 1.0e1000000000 + 1.0e1000000000
-
-i x = 1.0e-1000000000 + 1.0e-1000000000
-
-j x = 1111111111.222222222222222e333333333333333
- * 4444444444.555555555555555e-66666666666666
--}
-
+++ /dev/null
-
-
-================================================================================
-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-}
- {-# L #-}
- ds_d1hq =
- let {
- ds_d1hC ::
- PrelBase.Double{-3a,p-}
- {-# L #-}
- ds_d1hC =
- +_a19i
- lit_a19o lit_a19n
- } in
- -_a19p
- ds_d1hC lit_a19m
- } in
- let {
- ds_d1hu ::
- PrelBase.Double{-3a,p-}
- {-# L #-}
- ds_d1hu =
- *_a19l
- lit_a19k lit_a19j
- } in
- +_a19q
- ds_d1hq ds_d1hu
-h{-r4,x-} ::
- PrelBase.Double{-3a,p-}
-{-# 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-}
- {-# L #-}
- ds_d1ib =
- let {
- ds_d1in ::
- PrelBase.Float{-3c,p-}
- {-# L #-}
- ds_d1in =
- +_a1aJ
- lit_a19C lit_a19A
- } in
- -_a19E
- ds_d1in lit_a19y
- } in
- let {
- ds_d1if ::
- PrelBase.Float{-3c,p-}
- {-# L #-}
- ds_d1if =
- *_a19x
- lit_a19v lit_a19r
- } in
- +_a19F
- ds_d1ib ds_d1if
-g{-r2,x-} ::
- PrelBase.Float{-3c,p-}
-{-# 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-}
- {-# L #-}
- ds_d1iW =
- let {
- ds_d1j8 ::
- PrelBase.Double{-3a,p-}
- {-# L #-}
- ds_d1j8 =
- +_a1bs
- lit_a19P lit_a19N
- } in
- -_a19R
- ds_d1j8 lit_a19L
- } in
- let {
- ds_d1j0 ::
- PrelBase.Double{-3a,p-}
- {-# L #-}
- ds_d1j0 =
- *_a19K
- lit_a19I lit_a19G
- } in
- +_a19S
- ds_d1iW ds_d1j0
-f{-r5,x-} ::
- PrelBase.Double{-3a,p-}
-{-# L #-}
-f{-r5,x-} =
- f_a11q
-end Rec }
+++ /dev/null
---!!! ds014 -- character and string literals
---!!! really should add ALL weird forms...
-
-module Tests where
-
-a = 'a'
-b = "b"
-c = a:b
-d = b ++ b
-
-b1 = "" -- examples from the Haskell report
-b2 = "\&" -- the same thing
-b3 = "\SO\&H" ++ "\137\&9"
-
-a000 = '\NUL'
-a001 = '\SOH'
-a002 = '\STX'
-a003 = '\ETX'
-a004 = '\EOT'
-a005 = '\ENQ'
-a006 = '\ACK'
-a007 = '\BEL'
-a010 = '\BS'
-a011 = '\HT'
-a012 = '\LF'
-a013 = '\VT'
-a014 = '\FF'
-a015 = '\CR'
-a016 = '\SO'
-a017 = '\SI'
-a020 = '\DLE'
-a021 = '\DC1'
-a022 = '\DC2'
-a023 = '\DC3'
-a024 = '\DC4'
-a025 = '\NAK'
-a026 = '\SYN'
-a027 = '\ETB'
-a030 = '\CAN'
-a031 = '\EM'
-a032 = '\SUB'
-a033 = '\ESC'
-a034 = '\FS'
-a035 = '\GS'
-a036 = '\RS'
-a037 = '\US'
-a040 = '\SP'
-a042 = '"'
-a047 = '\''
-a134 = '\\'
-a177 = '\DEL'
-
-ascii = "\NUL\SOH\STX\ETX\EOT\ENQ\ACK\BEL\
- \\BS\HT\LF\VT\FF\CR\SO\SI\
- \\DLE\DC1\DC2\DC3\DC4\NAK\SYN\ETB\
- \\CAN\EM\SUB\ESC\FS\GS\RS\US\
- \\SP!\"#$%&'\
- \()*+,-./\
- \01234567\
- \89:;<=>?\
- \@ABCDEFG\
- \HIJKLMNO\
- \PQRSTUVW\
- \XYZ[\\]^_\
- \`abcdefg\
- \hijklmno\
- \pqrstuvw\
- \xyz{|}~\DEL"
-
-na200 = '\o200'
-na250 = '\o250'
-na300 = '\o300'
-na350 = '\o350'
-na377 = '\o377'
-
-eightbit = "\o200\o250\o300\o350\o377"
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-d.MonadPlus_aMn ::
- {PrelBase.MonadPlus{-2a,p-} PrelBase.[]{-3j,p-}}
-{-# L #-}
-d.MonadPlus_aMn =
- PrelBase.$d22{-rcv,p-}
-++_aYd ::
- _forall_
- [rjy{-aM3-}]
- =>
- [rjy{-aM3-}] -> [rjy{-aM3-}] -> [rjy{-aM3-}]
-{-# L #-}
-++_aYd =
- PrelBase.++{-rc4,p-}
- _@_ PrelBase.[]{-3j,p-} d.MonadPlus_aMn
-++_aYk ::
- _forall_
- [rjy{-aLC-}]
- =>
- [rjy{-aLC-}] -> [rjy{-aLC-}] -> [rjy{-aLC-}]
-{-# L #-}
-++_aYk =
- ++_aYd
-eightbit_aIH ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-eightbit_aIH =
- _string_ "\128\168\192\232\255"
-eightbit{-rP,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-eightbit{-rP,x-} =
- eightbit_aIH
-na377_aIL ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na377_aIL =
- PrelBase.C#{-54,p-}{i}
- {'ÿ'}
-na377{-rQ,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na377{-rQ,x-} =
- na377_aIL
-na350_aIP ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na350_aIP =
- PrelBase.C#{-54,p-}{i}
- {'è'}
-na350{-rR,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na350{-rR,x-} =
- na350_aIP
-na300_aIT ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na300_aIT =
- PrelBase.C#{-54,p-}{i}
- {'À'}
-na300{-rS,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na300{-rS,x-} =
- na300_aIT
-na250_aIX ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na250_aIX =
- PrelBase.C#{-54,p-}{i}
- {'¨'}
-na250{-rT,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na250{-rT,x-} =
- na250_aIX
-na200_aJ1 ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na200_aJ1 =
- PrelBase.C#{-54,p-}{i}
- {'\80'}
-na200{-rU,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-na200{-rU,x-} =
- na200_aJ1
-ascii_aJ5 ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-ascii_aJ5 =
- _string_ "\NUL\SOH\STX\ETX\EOT\ENQ\ACK\a\b\t\n\v\f\r\SO\SI\DLE\DC1\DC2\DC3\DC4\NAK\SYN\ETB\CAN\EM\SUB\ESC\FS\GS\RS\US !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\DEL"
-ascii{-rV,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-ascii{-rV,x-} =
- ascii_aJ5
-a177_aJ9 ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a177_aJ9 =
- PrelBase.C#{-54,p-}{i}
- {'\7f'}
-a177{-rW,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a177{-rW,x-} =
- a177_aJ9
-a134_aJd ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a134_aJd =
- PrelBase.C#{-54,p-}{i}
- {'\'}
-a134{-rX,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a134{-rX,x-} =
- a134_aJd
-a047_aJh ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a047_aJh =
- PrelBase.C#{-54,p-}{i}
- {'''}
-a047{-rY,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a047{-rY,x-} =
- a047_aJh
-a042_aJl ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a042_aJl =
- PrelBase.C#{-54,p-}{i}
- {'"'}
-a042{-rZ,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a042{-rZ,x-} =
- a042_aJl
-a040_aJp ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a040_aJp =
- PrelBase.C#{-54,p-}{i}
- {' '}
-a040{-r10,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a040{-r10,x-} =
- a040_aJp
-a037_aJt ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a037_aJt =
- PrelBase.C#{-54,p-}{i}
- {'\1f'}
-a037{-r11,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a037{-r11,x-} =
- a037_aJt
-a036_aJx ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a036_aJx =
- PrelBase.C#{-54,p-}{i}
- {'\1e'}
-a036{-r12,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a036{-r12,x-} =
- a036_aJx
-a035_aJB ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a035_aJB =
- PrelBase.C#{-54,p-}{i}
- {'\1d'}
-a035{-r13,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a035{-r13,x-} =
- a035_aJB
-a034_aJF ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a034_aJF =
- PrelBase.C#{-54,p-}{i}
- {'\1c'}
-a034{-r14,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a034{-r14,x-} =
- a034_aJF
-a033_aJJ ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a033_aJJ =
- PrelBase.C#{-54,p-}{i}
- {'\e'}
-a033{-r15,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a033{-r15,x-} =
- a033_aJJ
-a032_aJN ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a032_aJN =
- PrelBase.C#{-54,p-}{i}
- {'\1a'}
-a032{-r16,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a032{-r16,x-} =
- a032_aJN
-a031_aJR ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a031_aJR =
- PrelBase.C#{-54,p-}{i}
- {'\19'}
-a031{-r17,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a031{-r17,x-} =
- a031_aJR
-a030_aJV ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a030_aJV =
- PrelBase.C#{-54,p-}{i}
- {'\18'}
-a030{-r18,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a030{-r18,x-} =
- a030_aJV
-a027_aJZ ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a027_aJZ =
- PrelBase.C#{-54,p-}{i}
- {'\17'}
-a027{-r19,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a027{-r19,x-} =
- a027_aJZ
-a026_aK3 ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a026_aK3 =
- PrelBase.C#{-54,p-}{i}
- {'\16'}
-a026{-r1a,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a026{-r1a,x-} =
- a026_aK3
-a025_aK7 ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a025_aK7 =
- PrelBase.C#{-54,p-}{i}
- {'\15'}
-a025{-r1b,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a025{-r1b,x-} =
- a025_aK7
-a024_aKb ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a024_aKb =
- PrelBase.C#{-54,p-}{i}
- {'\14'}
-a024{-r1c,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a024{-r1c,x-} =
- a024_aKb
-a023_aKf ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a023_aKf =
- PrelBase.C#{-54,p-}{i}
- {'\13'}
-a023{-r1d,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a023{-r1d,x-} =
- a023_aKf
-a022_aKj ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a022_aKj =
- PrelBase.C#{-54,p-}{i}
- {'\12'}
-a022{-r1e,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a022{-r1e,x-} =
- a022_aKj
-a021_aKn ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a021_aKn =
- PrelBase.C#{-54,p-}{i}
- {'\11'}
-a021{-r1f,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a021{-r1f,x-} =
- a021_aKn
-a020_aKr ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a020_aKr =
- PrelBase.C#{-54,p-}{i}
- {'\10'}
-a020{-r1g,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a020{-r1g,x-} =
- a020_aKr
-a017_aKv ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a017_aKv =
- PrelBase.C#{-54,p-}{i}
- {'\ f'}
-a017{-r1h,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a017{-r1h,x-} =
- a017_aKv
-a016_aKz ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a016_aKz =
- PrelBase.C#{-54,p-}{i}
- {'\ e'}
-a016{-r1i,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a016{-r1i,x-} =
- a016_aKz
-a015_aKD ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a015_aKD =
- PrelBase.C#{-54,p-}{i}
- {'\r'}
-a015{-r1j,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a015{-r1j,x-} =
- a015_aKD
-a014_aKH ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a014_aKH =
- PrelBase.C#{-54,p-}{i}
- {'\f'}
-a014{-r1k,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a014{-r1k,x-} =
- a014_aKH
-a013_aKL ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a013_aKL =
- PrelBase.C#{-54,p-}{i}
- {'\v'}
-a013{-r1l,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a013{-r1l,x-} =
- a013_aKL
-a012_aKP ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a012_aKP =
- PrelBase.C#{-54,p-}{i}
- {'
-'}
-a012{-r1m,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a012{-r1m,x-} =
- a012_aKP
-a011_aKT ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a011_aKT =
- PrelBase.C#{-54,p-}{i}
- {' '}
-a011{-r1n,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a011{-r1n,x-} =
- a011_aKT
-a010_aKX ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a010_aKX =
- PrelBase.C#{-54,p-}{i}
- {'\b'}
-a010{-r1o,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a010{-r1o,x-} =
- a010_aKX
-a007_aL1 ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a007_aL1 =
- PrelBase.C#{-54,p-}{i}
- {'\a'}
-a007{-r1p,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a007{-r1p,x-} =
- a007_aL1
-a006_aL5 ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a006_aL5 =
- PrelBase.C#{-54,p-}{i}
- {'\ 6'}
-a006{-r1q,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a006{-r1q,x-} =
- a006_aL5
-a005_aL9 ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a005_aL9 =
- PrelBase.C#{-54,p-}{i}
- {'\ 5'}
-a005{-r1r,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a005{-r1r,x-} =
- a005_aL9
-a004_aLd ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a004_aLd =
- PrelBase.C#{-54,p-}{i}
- {'\ 4'}
-a004{-r1s,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a004{-r1s,x-} =
- a004_aLd
-a003_aLh ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a003_aLh =
- PrelBase.C#{-54,p-}{i}
- {'\ 3'}
-a003{-r1t,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a003{-r1t,x-} =
- a003_aLh
-a002_aLl ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a002_aLl =
- PrelBase.C#{-54,p-}{i}
- {'\ 2'}
-a002{-r1u,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a002{-r1u,x-} =
- a002_aLl
-a001_aLp ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a001_aLp =
- PrelBase.C#{-54,p-}{i}
- {'\ 1'}
-a001{-r1v,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a001{-r1v,x-} =
- a001_aLp
-a000_aLt ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a000_aLt =
- PrelBase.C#{-54,p-}{i}
- {'\0'}
-a000{-r1w,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a000{-r1w,x-} =
- a000_aLt
-b3_aLx ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b3_aLx =
- ++_aYk
- _@_ PrelBase.Char{-38,p-} _string_ "\SO\&H" _string_ "\137\&9"
-b3{-r1x,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b3{-r1x,x-} =
- b3_aLx
-b2_aLM ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b2_aLM =
- PrelBase.[]{-5i,p-}{i}
- {_@_ PrelBase.Char{-38,p-}}
-b2{-r1y,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b2{-r1y,x-} =
- b2_aLM
-b1_aLQ ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b1_aLQ =
- PrelBase.[]{-5i,p-}{i}
- {_@_ PrelBase.Char{-38,p-}}
-b1{-r1z,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b1{-r1z,x-} =
- b1_aLQ
-b_aLU ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b_aLU =
- let {
- ds_d18d ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d18d =
- PrelBase.C#{-54,p-}{i}
- {'b'} } in
- let {
- ds_d18h ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d18h =
- PrelBase.[]{-5i,p-}{i}
- {_@_ PrelBase.Char{-38,p-}}
- } in
- PrelBase.:{-55,p-}{i}
- {_@_ PrelBase.Char{-38,p-} ds_d18d ds_d18h}
-b{-r1C,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-b{-r1C,x-} =
- b_aLU
-d_aLY ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-d_aLY =
- ++_aYd
- _@_ PrelBase.Char{-38,p-} b{-r1C,x-} b{-r1C,x-}
-d{-r1A,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-d{-r1A,x-} =
- d_aLY
-a_aMd ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a_aMd =
- PrelBase.C#{-54,p-}{i}
- {'a'}
-a{-r1D,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a{-r1D,x-} =
- a_aMd
-c_aMh ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-c_aMh =
- PrelBase.:{-55,p-}{i}
- _@_ PrelBase.Char{-38,p-} a{-r1D,x-} b{-r1C,x-}
-c{-r1B,x-} ::
- [PrelBase.Char{-38,p-}]
-{-# L #-}
-c{-r1B,x-} =
- c_aMh
-end Rec }
+++ /dev/null
-module Tests where
-
--- this char is forbidden
-c = '\&'
+++ /dev/null
-ds014a.hs:4:7: Illegal character escape: `\&'
-ds014a.hs:4:7: on input: "&"
+++ /dev/null
---!!! ds015 -- lambdas
---
-module Tests where
-
-f x = ( \ x -> x ) x
-
-g x y = ( \ x y -> y x ) ( \ x -> x ) x
-
-h x y = ( \ (x:xs) -> x ) x
+++ /dev/null
-ds015.hs:9:
- Warning: Possibly incomplete patterns
- in a lambda abstraction:
- `(x PrelBase.: xs) -> ...'
-
-
-================================================================================
-Desugared:
-h{-r3z,x-} ::
- _forall_ [t{-an8-} t{-anf-}] => [t{-an8-}] -> t{-anf-} -> t{-an8-}
-{-# 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-}
-{-# 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-}
- {-# L #-}
- ds_drT =
- \ x_r3r ::
- t{-any-}
- {-# 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-}
-{-# L #-}
-f{-r3B,x-} =
- _/\_ t{-anM-} -> \ x_r3f ::
- t{-anM-}
- {-# L #-}
- x_r3f ->
- (\ x_r3h ::
- t{-anM-}
- {-# L #-}
- x_r3h ->
- x_r3h)
- x_r3f
+++ /dev/null
---!!! ds016 -- case expressions
---
-module Tests where
-
-f x y z =
- case ( x ++ x ++ x ++ x ++ x ) of
- [] -> []
- [a] -> error "2"
- [a,b,c] ->
- case ( (y,z,y,z) ) of
--- (True, _, False, _) | True == False -> z
--- (True, _, False, _) | True == False -> z
- _ -> z
-
- (a:bs) -> error "4"
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-d.MonadPlus_aXs ::
- {PrelBase.MonadPlus{-2a,p-} PrelBase.[]{-3j,p-}}
-{-# 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-}]
- {-# L #-}
- ++_aYM =
- ++_aYK } in
- let {
- ++_aYL ::
- _forall_
- [rjy{-aWD-}]
- =>
- [rjy{-aWD-}] -> [rjy{-aWD-}] -> [rjy{-aWD-}]
- {-# L #-}
- ++_aYL =
- ++_aYK } in
- let {
- ++_aYJ ::
- _forall_
- [rjy{-aWK-}]
- =>
- [rjy{-aWK-}] -> [rjy{-aWK-}] -> [rjy{-aWK-}]
- {-# 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-}]
- {-# L #-}
- ds_d131 =
- let { ds_d13e ::
- [rjy{-aWN-}]
- {-# 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-}]
- {-# 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-}]
- {-# L #-}
- ds_d14d =
- let {
- ds_d14q ::
- PrelBase.Char{-38,p-}
- {-# 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}
- } in
- IOBase.error{-87,p-}
- _@_ [t{-aWT-}] ds_d14d
- } in
- case ds_d140 of {
- PrelBase.[]{-5i,p-}{i} ->
- let { ds_d14S ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d14S =
- let {
- ds_d153 ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d153 =
- PrelBase.C#{-54,p-}{i}
- {'2'} } in
- let {
- ds_d157 ::
- [PrelBase.Char{-38,p-}]
- {-# L #-}
- ds_d157 =
- PrelBase.[]{-5i,p-}{i}
- {_@_ PrelBase.Char{-38,p-}}
- } in
- PrelBase.:{-55,p-}{i}
- {_@_ PrelBase.Char{-38,p-} ds_d153 ds_d157}
- } 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;
- };
- };
- };
- }
-end Rec }
+++ /dev/null
---!!! ds017 -- let expressions
---
-module Tests where
-
-f x y z
- = let
- a = x : []
- b = x : a
- c = y (let d = (z, z) in d)
- result = (c, b)
- in
- result
+++ /dev/null
-
-
-================================================================================
-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-}])
-{-# 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-}
- {-# 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}
+++ /dev/null
---!!! ds018 -- explicit lists and tuples
---
-module Tests where
-
--- exprs
-
-f x y z = [x,y,z,x,y,z]
-f2 x y = []
-
-g1 x y = ()
-g x y z = (x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z,
- x,y,z,x,y,z) -- hey, we love big tuples
-
--- pats
-
-fa [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z] = x
-
-fb [] = []
-
-ga (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,
- aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,
- an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az) = x
-
-gb () x = x
-gb2 () = ()
-
--- need to think of some better ones...
+++ /dev/null
-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'
-
-
-================================================================================
-Desugared:
-gb2_aCw ::
- PrelBase.(){-40,p-} -> PrelBase.(){-40,p-}
-{-# L #-}
-gb2_aCw =
- \ ds_d18I ::
- PrelBase.(){-40,p-}
- {-# L #-}
- ds_d18I ->
- case ds_d18I of { PrelBase.(){-60,p-}{i} ->
- PrelBase.(){-60,p-}{i};}
-gb2{-r50,x-} ::
- PrelBase.(){-40,p-} -> PrelBase.(){-40,p-}
-{-# L #-}
-gb2{-r50,x-} =
- gb2_aCw
-gb{-r51,x-} ::
- _forall_ [t{-aCG-}] => PrelBase.(){-40,p-} -> t{-aCG-} -> t{-aCG-}
-{-# 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-}
-{-# 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-}]
-{-# L #-}
-fb{-r53,x-} =
- _/\_ t{-aGc-} t{-aGe-} -> \ ds_d1aY ::
- [t{-aGc-}]
- {-# L #-}
- ds_d1aY ->
- let {
- fail_d1aZ ::
- [t{-aGe-}]
- {-# 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-}
-{-# L #-}
-fa{-r54,x-} =
- _/\_ t{-aGJ-} -> \ ds_d1bF ::
- [t{-aGJ-}]
- {-# L #-}
- ds_d1bF ->
- let {
- fail_d1bG ::
- t{-aGJ-}
- {-# 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-})
-{-# 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-}
-{-# 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-}]
-{-# 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-}]
-{-# 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-}]
- {-# L #-}
- ds_d1uV =
- let { ds_d1v7 ::
- [t{-aI2-}]
- {-# L #-}
- ds_d1v7 =
- let { ds_d1vj ::
- [t{-aI2-}]
- {-# L #-}
- ds_d1vj =
- let { ds_d1vv ::
- [t{-aI2-}]
- {-# 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}
+++ /dev/null
---!!! ds019 -- mixed var and uni-constructor pats
-
-module Test where
-
-f (a,b,c) i o = []
-f d (j,k) p = []
-f (e,f,g) l q = []
-f h (m,n) r = []
+++ /dev/null
-ds019.hs:7:
- Warning: Pattern match(es) completely overlapped
- in the definition of function `f'
-ds019.hs:8:
- Warning: Pattern match(es) completely overlapped
- in the definition of function `f'
-
-
-================================================================================
-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-}]
-{-# 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-};}
+++ /dev/null
---!!! ds020 -- lazy patterns (in detail)
---
-module Test where
-
-a ~([],[],[]) = []
-a ~(~[],~[],~[]) = []
-
-b ~(x:xs:ys) = []
-b ~(~x: ~xs: ~ys) = []
-
-c ~x ~ _ ~11111 ~3.14159265 = x
-
-d 11 = 4
-d 12 = 3
-d ~(n+4) = 2
-d ~(n+43) = 1
-d ~(n+999) = 0
-
-f ~(x@[]) = []
-f x@(~[]) = []
-
-g ~(~(~(~([])))) = []
-
--- pattern bindings (implicitly lazy)
-
-([],[],[]) = ([],[],[])
-(~[],~[],~[]) = ([],[],[])
-
-(x1: xs1: ys1) = []
-(~x: ~xs: ~ys) = []
-
-(x2 : xs2: ys2) | eq2 = []
- | eq3 = [x2]
- | eq4 = [x2]
- | True = []
- where
- eq2 = (2::Int) == (4::Int)
- eq3 = (3::Int) == (3::Int)
- eq4 = (4::Int) == (2::Int)
-
-(x3,y3) | x3 > 3 = (4, 5)
- | x3 <= 3 = (2, 3)
--- above: x & y should both be \bottom.
-
-(x4,(y4,(z4,a4))) | eq2 = ('a',('a',('a','a')))
- | eq3 = ('b',('b',('b','b')))
- | eq4 = ('c',('c',('c','c')))
- | True = ('d',('d',('d','d')))
- where
- eq2 = (2::Int) == (4::Int)
- eq3 = (3::Int) == (3::Int)
- eq4 = (4::Int) == (2::Int)
+++ /dev/null
-ds020.hs:20:
- Warning: Pattern match(es) completely overlapped
- in the definition of function `f'
-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:
- Warning: Pattern match(es) completely overlapped
- in the definition of function `a'
-
-
-================================================================================
-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-}
-{-# L #-}
-lit_a1gZ =
- lit_a1h1
-lit_a1gY ::
- PrelBase.Int{-3g,p-}
-{-# L #-}
-lit_a1gY =
- lit_a1h3
-fromInt_a1gX ::
- PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-}
-{-# L #-}
-fromInt_a1gX =
- fromInt_a1h6
-lit_a1gW ::
- PrelBase.Int{-3g,p-}
-{-# 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-}
-{-# 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-})))
- {-# L #-}
- ds_d1Zt =
- let {
- eq4_a12Q ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq4_a12Q =
- ==_a1ha
- lit_a1h9 lit_a1h8 } in
- let {
- eq4_r4b ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq4_r4b =
- eq4_a12Q } in
- let {
- lit_a1Uy ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- lit_a1Uy =
- lit_a1gP } in
- let {
- eq3_a13e ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq3_a13e =
- ==_a1hb
- lit_a1gP lit_a1Uy } in
- let {
- eq3_r4a ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq3_r4a =
- eq3_a13e } in
- let {
- eq2_a13A ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq2_a13A =
- ==_a1gS
- lit_a1gR lit_a1gQ } in
- let {
- eq2_r49 ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq2_r49 =
- eq2_a13A
- } in
- case eq2_r49 of {
- PrelBase.True{-5E,p-}{i} ->
- let {
- ds_d1Va ::
- PrelBase.Char{-38,p-}
- {-# 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-}))
- {-# L #-}
- ds_d1Ve =
- let {
- ds_d1Vu ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1Vu =
- PrelBase.C#{-54,p-}{i}
- {'a'} } in
- let { ds_d1Vy ::
- (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- {-# L #-}
- ds_d1Vy =
- let {
- ds_d1VO ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1VO =
- PrelBase.C#{-54,p-}{i}
- {'a'} } in
- let {
- ds_d1VS ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1VS =
- PrelBase.C#{-54,p-}{i}
- {'a'}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ PrelBase.Char{-38,p-}
- ds_d1VO
- ds_d1VS}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- ds_d1Vu
- ds_d1Vy}
- } 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} ->
- let {
- ds_d1Wm ::
- PrelBase.Char{-38,p-}
- {-# 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-}))
- {-# L #-}
- ds_d1Wq =
- let {
- ds_d1WG ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1WG =
- PrelBase.C#{-54,p-}{i}
- {'b'} } in
- let { ds_d1WK ::
- (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- {-# L #-}
- ds_d1WK =
- let {
- ds_d1X0 ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1X0 =
- PrelBase.C#{-54,p-}{i}
- {'b'} } in
- let {
- ds_d1X4 ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1X4 =
- PrelBase.C#{-54,p-}{i}
- {'b'}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ PrelBase.Char{-38,p-}
- ds_d1X0
- ds_d1X4}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- ds_d1WG
- ds_d1WK}
- } 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} ->
- let {
- ds_d1Xy ::
- PrelBase.Char{-38,p-}
- {-# 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-}))
- {-# L #-}
- ds_d1XC =
- let {
- ds_d1XS ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1XS =
- PrelBase.C#{-54,p-}{i}
- {'c'} } in
- let { ds_d1XW ::
- (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- {-# L #-}
- ds_d1XW =
- let {
- ds_d1Yc ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1Yc =
- PrelBase.C#{-54,p-}{i}
- {'c'} } in
- let {
- ds_d1Yg ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1Yg =
- PrelBase.C#{-54,p-}{i}
- {'c'}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ PrelBase.Char{-38,p-}
- ds_d1Yc
- ds_d1Yg}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- ds_d1XS
- ds_d1XW}
- } 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} ->
- let {
- ds_d1YC ::
- PrelBase.Char{-38,p-}
- {-# 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-}))
- {-# L #-}
- ds_d1YG =
- let {
- ds_d1YW ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1YW =
- PrelBase.C#{-54,p-}{i}
- {'d'} } in
- let { ds_d1Z0 ::
- (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- {-# L #-}
- ds_d1Z0 =
- let {
- ds_d1Zg ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1Zg =
- PrelBase.C#{-54,p-}{i}
- {'d'} } in
- let {
- ds_d1Zk ::
- PrelBase.Char{-38,p-}
- {-# L #-}
- ds_d1Zk =
- PrelBase.C#{-54,p-}{i}
- {'d'}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ PrelBase.Char{-38,p-}
- ds_d1Zg
- ds_d1Zk}
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Char{-38,p-}
- _@_ (PrelBase.Char{-38,p-}, PrelBase.Char{-38,p-})
- ds_d1YW
- ds_d1Z0}
- } 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};
- };
- };
- }
- } 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-}
-{-# L #-}
-x4_a12r =
- case
- ds_d1Q9
- of {
- PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u ->
- x4_a12r;}
-y4_a12s ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-y4_a12s =
- case
- ds_d1Q9
- of {
- PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u ->
- y4_a12s;}
-z4_a12t ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-z4_a12t =
- case
- ds_d1Q9
- of {
- PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u ->
- z4_a12t;}
-a4_a12u ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a4_a12u =
- case
- ds_d1Q9
- of {
- PrelTup.(,,,){-64,p-}{i} x4_a12r y4_a12s z4_a12t a4_a12u ->
- a4_a12u;}
-x4{-r4f,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-x4{-r4f,x-} =
- x4_a12r
-y4{-r4e,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-y4{-r4e,x-} =
- y4_a12s
-z4{-r4d,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-z4{-r4d,x-} =
- z4_a12t
-a4{-r4c,x-} ::
- PrelBase.Char{-38,p-}
-{-# L #-}
-a4{-r4c,x-} =
- a4_a12u
-lit_a1QK ::
- PrelBase.Int{-3g,p-}
-{-# L #-}
-lit_a1QK =
- lit_a1gZ
-ds_d1QP ::
- (PrelBase.Int{-3g,p-}, PrelBase.Int{-3g,p-})
-{-# 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-})
- _string_ "ds020.hs:42|";
- };
- }
-x3_a148 ::
- PrelBase.Int{-3g,p-}
-{-# L #-}
-x3_a148 =
- case ds_d1QP of { PrelTup.(,){-62,p-}{i} x3_a148 y3_a149 ->
- x3_a148;}
-y3_a149 ::
- PrelBase.Int{-3g,p-}
-{-# L #-}
-y3_a149 =
- case ds_d1QP of { PrelTup.(,){-62,p-}{i} x3_a148 y3_a149 ->
- y3_a149;}
-x3{-r4h,x-} ::
- PrelBase.Int{-3g,p-}
-{-# L #-}
-x3{-r4h,x-} =
- x3_a148
-y3{-r4g,x-} ::
- PrelBase.Int{-3g,p-}
-{-# L #-}
-y3{-r4g,x-} =
- y3_a149
-ds_d1Ra ::
- _forall_ [t{-a16h-}] => (t{-a16h-}, t{-a16h-}, [t{-a16h-}])
-{-# L #-}
-ds_d1Ra =
- _/\_ t{-a16h-} ->
- _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-}]
- {-# L #-}
- ds_d257 =
- let {
- eq4_a158 ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq4_a158 =
- ==_a1mu
- lit_a1mt lit_a1ms } in
- let {
- eq4_r41 ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq4_r41 =
- eq4_a158 } in
- let {
- lit_a23v ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- lit_a23v =
- lit_a1h1 } in
- let {
- eq3_a15w ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq3_a15w =
- ==_a1mv
- lit_a1h1 lit_a23v } in
- let {
- eq3_r40 ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq3_r40 =
- eq3_a15w } in
- let {
- eq2_a15S ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq2_a15S =
- ==_a1h7
- lit_a1h5 lit_a1h3 } in
- let {
- eq2_r3Z ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- eq2_r3Z =
- eq2_a15S
- } 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} ->
- let {
- ds_d24m ::
- [t{-a16h-}]
- {-# 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} ->
- let {
- ds_d24M ::
- [t{-a16h-}]
- {-# 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-};
- };
- };
- }
- } in
- let {
- fail_d258 ::
- (t{-a16h-}, t{-a16h-}, [t{-a16h-}])
- {-# L #-}
- fail_d258 =
- GHCerr.irrefutPatError{-8g,p-}
- _@_ (t{-a16h-}, t{-a16h-}, [t{-a16h-}])
- _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};
- };
- };
- x2_a14U ::
- t{-a16h-}
- {-# L #-}
- x2_a14U =
- case
- ds_d22I
- of {
- PrelTup.(,,){-63,p-}{i} x2_a14U xs2_a14V ys2_a14W ->
- x2_a14U;};
- xs2_a14V ::
- t{-a16h-}
- {-# L #-}
- xs2_a14V =
- case
- ds_d22I
- of {
- PrelTup.(,,){-63,p-}{i} x2_a14U xs2_a14V ys2_a14W ->
- xs2_a14V;};
- ys2_a14W ::
- [t{-a16h-}]
- {-# L #-}
- ys2_a14W =
- case
- ds_d22I
- of {
- PrelTup.(,,){-63,p-}{i} x2_a14U xs2_a14V ys2_a14W ->
- ys2_a14W;};
- } 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-}
-{-# L #-}
-x2{-r4k,x-} =
- _/\_ t{-a16h-} ->
- case
- ds_d1Ra
- _@_ t{-a16h-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d26G ds_d26I ds_d26H ->
- ds_d26G;}
-xs2{-r4j,x-} ::
- _forall_ [t{-a16h-}] => t{-a16h-}
-{-# L #-}
-xs2{-r4j,x-} =
- _/\_ t{-a16h-} ->
- case
- ds_d1Ra
- _@_ t{-a16h-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d26Z ds_d26X ds_d26Y ->
- ds_d26X;}
-ys2{-r4i,x-} ::
- _forall_ [t{-a16h-}] => [t{-a16h-}]
-{-# L #-}
-ys2{-r4i,x-} =
- _/\_ t{-a16h-} ->
- case
- ds_d1Ra
- _@_ t{-a16h-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d27g ds_d27f ds_d27e ->
- ds_d27e;}
-ds_d1Rr ::
- _forall_ [t{-a16I-}] => (t{-a16I-}, t{-a16I-}, [t{-a16I-}])
-{-# 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-}
- {-# L #-}
- x_a16u =
- case
- ds_d28P
- of {
- PrelTup.(,,){-63,p-}{i} x_a16u xs_a16v ys_a16w ->
- x_a16u;} } in
- let {
- xs_a16v ::
- t{-a16I-}
- {-# L #-}
- xs_a16v =
- case
- ds_d28P
- of {
- PrelTup.(,,){-63,p-}{i} x_a16u xs_a16v ys_a16w ->
- xs_a16v;} } in
- let {
- ys_a16w ::
- [t{-a16I-}]
- {-# L #-}
- ys_a16w =
- case
- ds_d28P
- of {
- PrelTup.(,,){-63,p-}{i} x_a16u xs_a16v ys_a16w ->
- ys_a16w;}
- } 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-}
-{-# L #-}
-x{-r4n,x-} =
- _/\_ t{-a16I-} ->
- case
- ds_d1Rr
- _@_ t{-a16I-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d29s ds_d29u ds_d29t ->
- ds_d29s;}
-xs{-r4m,x-} ::
- _forall_ [t{-a16I-}] => t{-a16I-}
-{-# L #-}
-xs{-r4m,x-} =
- _/\_ t{-a16I-} ->
- case
- ds_d1Rr
- _@_ t{-a16I-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d29L ds_d29J ds_d29K ->
- ds_d29J;}
-ys{-r4l,x-} ::
- _forall_ [t{-a16I-}] => [t{-a16I-}]
-{-# L #-}
-ys{-r4l,x-} =
- _/\_ t{-a16I-} ->
- case
- ds_d1Rr
- _@_ t{-a16I-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d2a2 ds_d2a1 ds_d2a0 ->
- ds_d2a0;}
-ds_d1RI ::
- _forall_ [t{-a16Y-}] => (t{-a16Y-}, t{-a16Y-}, [t{-a16Y-}])
-{-# 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-}
- {-# L #-}
- x1_a16K =
- case
- ds_d2bs
- of {
- PrelTup.(,,){-63,p-}{i} x1_a16K xs1_a16L ys1_a16M ->
- x1_a16K;} } in
- let {
- xs1_a16L ::
- t{-a16Y-}
- {-# L #-}
- xs1_a16L =
- case
- ds_d2bs
- of {
- PrelTup.(,,){-63,p-}{i} x1_a16K xs1_a16L ys1_a16M ->
- xs1_a16L;} } in
- let {
- ys1_a16M ::
- [t{-a16Y-}]
- {-# L #-}
- ys1_a16M =
- case
- ds_d2bs
- of {
- PrelTup.(,,){-63,p-}{i} x1_a16K xs1_a16L ys1_a16M ->
- ys1_a16M;}
- } 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-}
-{-# L #-}
-x1{-r4q,x-} =
- _/\_ t{-a16Y-} ->
- case
- ds_d1RI
- _@_ t{-a16Y-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d2c5 ds_d2c7 ds_d2c6 ->
- ds_d2c5;}
-xs1{-r4p,x-} ::
- _forall_ [t{-a16Y-}] => t{-a16Y-}
-{-# L #-}
-xs1{-r4p,x-} =
- _/\_ t{-a16Y-} ->
- case
- ds_d1RI
- _@_ t{-a16Y-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d2co ds_d2cm ds_d2cn ->
- ds_d2cm;}
-ys1{-r4o,x-} ::
- _forall_ [t{-a16Y-}] => [t{-a16Y-}]
-{-# L #-}
-ys1{-r4o,x-} =
- _/\_ t{-a16Y-} ->
- case
- ds_d1RI
- _@_ t{-a16Y-}
- of {
- PrelTup.(,,){-63,p-}{i} ds_d2cF ds_d2cE ds_d2cD ->
- ds_d2cD;}
-ds_d1RZ ::
- PrelBase.(){-40,p-}
-{-# L #-}
-ds_d1RZ =
- let { ds_d2dp ::
- ([GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}])
- {-# L #-}
- ds_d2dp =
- let {
- ds_d2cZ ::
- [GHC.Void{-3T,p-}]
- {-# L #-}
- ds_d2cZ =
- PrelBase.[]{-5i,p-}{i}
- _@_ GHC.Void{-3T,p-} } in
- let {
- ds_d2d3 ::
- [GHC.Void{-3T,p-}]
- {-# L #-}
- ds_d2d3 =
- PrelBase.[]{-5i,p-}{i}
- _@_ GHC.Void{-3T,p-} } in
- let {
- ds_d2d7 ::
- [GHC.Void{-3T,p-}]
- {-# L #-}
- ds_d2d7 =
- PrelBase.[]{-5i,p-}{i}
- _@_ GHC.Void{-3T,p-}
- } in
- PrelTup.(,,){-63,p-}{i}
- {_@_ [GHC.Void{-3T,p-}]
- _@_ [GHC.Void{-3T,p-}]
- _@_ [GHC.Void{-3T,p-}]
- ds_d2cZ
- ds_d2d3
- ds_d2d7}
- } in
- case
- ds_d2dp
- of {
- PrelTup.(,,){-63,p-}{i} ds_d2dQ ds_d2dP ds_d2dO ->
- let { ds_d2eg ::
- PrelBase.(){-40,p-}
- {-# L #-}
- ds_d2eg =
- let {
- fail_d2dR ::
- PrelBase.(){-40,p-}
- {-# L #-}
- fail_d2dR =
- GHCerr.irrefutPatError{-8g,p-}
- _@_ PrelBase.(){-40,p-} _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}
- {};
- }
- } in
- let { ds_d2eG ::
- PrelBase.(){-40,p-}
- {-# L #-}
- ds_d2eG =
- let {
- fail_d2eh ::
- PrelBase.(){-40,p-}
- {-# L #-}
- fail_d2eh =
- GHCerr.irrefutPatError{-8g,p-}
- _@_ PrelBase.(){-40,p-} _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}
- {};
- }
- } in
- let { ds_d2uC ::
- PrelBase.(){-40,p-}
- {-# L #-}
- ds_d2uC =
- let {
- fail_d2eH ::
- PrelBase.(){-40,p-}
- {-# L #-}
- fail_d2eH =
- GHCerr.irrefutPatError{-8g,p-}
- _@_ PrelBase.(){-40,p-} _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}
- {};
- }
- } in
- PrelBase.(){-60,p-}{i}
- {};}
-ds_d1S4 ::
- PrelBase.(){-40,p-}
-{-# L #-}
-ds_d1S4 =
- let { ds_d2fM ::
- ([GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}], [GHC.Void{-3T,p-}])
- {-# L #-}
- ds_d2fM =
- let {
- ds_d2ff ::
- [GHC.Void{-3T,p-}]
- {-# L #-}
- ds_d2ff =
- PrelBase.[]{-5i,p-}{i}
- _@_ GHC.Void{-3T,p-} } in
- let {
- ds_d2fj ::
- [GHC.Void{-3T,p-}]
- {-# L #-}
- ds_d2fj =
- PrelBase.[]{-5i,p-}{i}
- _@_ GHC.Void{-3T,p-} } in
- let {
- ds_d2fn ::
- [GHC.Void{-3T,p-}]
- {-# L #-}
- ds_d2fn =
- PrelBase.[]{-5i,p-}{i}
- _@_ GHC.Void{-3T,p-}
- } in
- PrelTup.(,,){-63,p-}{i}
- {_@_ [GHC.Void{-3T,p-}]
- _@_ [GHC.Void{-3T,p-}]
- _@_ [GHC.Void{-3T,p-}]
- ds_d2ff
- ds_d2fj
- ds_d2fn}
- } in
- let {
- fail_d2fN ::
- PrelBase.(){-40,p-}
- {-# L #-}
- fail_d2fN =
- GHCerr.irrefutPatError{-8g,p-}
- _@_ PrelBase.(){-40,p-}
- _string_ "ds020.hs:26|(PrelBase.[], PrelBase.[], PrelBase.[])"
- } in
- case
- ds_d2fM
- 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}
- {};
- };
- };
- };}
-g{-r4r,x-} ::
- _forall_ [t{-a17G-} t{-a17I-}] => [t{-a17G-}] -> [t{-a17I-}]
-{-# 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-}
- {-# 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-}]
-{-# 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-}
-{-# 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-}}
- {-# 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-}
- {-# 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-}
- {-# 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-}
-{-# 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-}
- {-# 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-}
- {-# 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-}
- {-# L #-}
- ds_d2qC =
- PrelBase.(){-60,p-}{i}
- {}
- } in
- x_r3H
-b{-r4v,x-} ::
- _forall_ [t{-a19Q-} t{-a19X-}] => [t{-a19Q-}] -> [t{-a19X-}]
-{-# 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-}]
-{-# 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-}
-end Rec }
+++ /dev/null
---!!! ds021 -- hairier uses of guards
-
-module Test where
-
-f x y z | x == y = []
- | x /= z = []
- | True = []
- | False = []
+++ /dev/null
-ds021.hs:8:
- Warning: Possibly incomplete patterns
- in the definition of function `f'
-
-
-================================================================================
-Desugared:
-f{-r3i,x-} ::
- _forall_
- [rlg{-aG9-} t{-aGm-}]
- =>
- {PrelBase.Eq{-23,p-} rlg{-aG9-}}
- -> rlg{-aG9-}
- -> rlg{-aG9-}
- -> rlg{-aG9-}
- -> [t{-aGm-}]
-{-# 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-}
- {-# L #-}
- ==_aIv =
- PrelBase.=={-8Y,p-}
- _@_ rlg{-aG9-} d.Eq_aGr } in
- let {
- d.Eq_aGt ::
- {PrelBase.Eq{-23,p-} rlg{-aG9-}}
- {-# L #-}
- d.Eq_aGt =
- d.Eq_aGr } in
- let {
- /=_aIu ::
- rlg{-aG9-} -> rlg{-aG9-} -> PrelBase.Bool{-34,p-}
- {-# 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-}]
- {-# 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-};
- };
- }
+++ /dev/null
---!!! ds022 -- literal patterns (wimp version)
---
-module Tests where
-
-f 1 1.1 = []
-f 2 2.2 = []
-f 3 3.3 = []
-f 4 4.4 = []
-
-g 11111111111111111111111 1.11111111111111111 = []
-g 22222222222222222222222 2.22222222222222222 = []
-g 33333333333333333333333 3.33333333333333333 = []
-g 44444444444444444444444 4.44444444444444444 = []
-
-h 'a' "" = []
-h '\'' "foo" = []
-h '"' ('b':'a':'r':[]) = []
-h '\o250' blob = []
-
-i 1 1.1 = []
-i 2 2.2 = []
-i 1 0.011e2 = []
-i 2 2.20000 = []
-
-{-
-j one@1 oneone@1.1
- | ((fromFloat oneone) - (fromIntegral (fromInt one)))
- /= (fromIntegral (fromInt 0)) = []
-j two@2 twotwo@2.2
- | ((fromFloat twotwo) * (fromIntegral (fromInt 2)))
- == (fromIntegral (fromInt 4.4)) = []
--}
+++ /dev/null
-ds022.hs:22:
- Warning: Pattern match(es) completely overlapped
- in the definition of function `i'
-ds022.hs:23:
- Warning: Pattern match(es) completely overlapped
- in the definition of function `i'
-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-}
-{-# 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 ->
- let {
- fail_d1tG ::
- [t{-a11j-}]
- {-# L #-}
- fail_d1tG =
- GHCerr.patError{-8r,p-}
- _@_ [t{-a11j-}] _string_ "ds022.hs:20|function `i'" } in
- let {
- fail_d1uo ::
- [t{-a11j-}]
- {-# 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-}
- {-# 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-}]
- {-# 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-}]
- {-# 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-}]
- {-# L #-}
- fail_d1Eo =
- let { fail_d1DG ::
- [t{-a12A-}]
- {-# L #-}
- fail_d1DG =
- let {
- fail_d1CY ::
- [t{-a12A-}]
- {-# 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;
- };
- PrelBase.False{-58,p-}{i} ->
- fail_d1Cg;
- }
- } 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;
- };
- 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,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-}]
-{-# 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-}
- {-# L #-}
- ds_d1Je ->
- let {
- fail_d1Jf ::
- [t{-a13A-}]
- {-# L #-}
- fail_d1Jf =
- GHCerr.patError{-8r,p-}
- _@_ [t{-a13A-}] _string_ "ds022.hs:5|function `f'" } in
- let { fail_d1Ln ::
- [t{-a13A-}]
- {-# L #-}
- fail_d1Ln =
- let { fail_d1KF ::
- [t{-a13A-}]
- {-# L #-}
- fail_d1KF =
- let {
- fail_d1JX ::
- [t{-a13A-}]
- {-# 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;
- };
- PrelBase.False{-58,p-}{i} ->
- fail_d1Jf;
- }
- } 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;
- };
- PrelBase.False{-58,p-}{i} ->
- fail_d1JX;
- }
- } 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;
- }
-end Rec }
+++ /dev/null
---!!! ds023 -- overloading eg from section 9.2
---
-module Tests where
-
-f x = g (x == x) x
-g b x = abs (f x)
---g b x = (f x) + (f x)
+++ /dev/null
-
-
-================================================================================
-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-})
-{-# 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 ->
- _letrec_ {
- ==_aKk ::
- rlg{-aHq-} -> rlg{-aHq-} -> PrelBase.Bool{-34,p-}
- {-# L #-}
- ==_aKk =
- PrelBase.=={-8Y,p-}
- _@_ rlg{-aHq-} d.Eq_aHG;
- abs_aKr ::
- riC{-aHC-} -> riC{-aHC-}
- {-# L #-}
- abs_aKr =
- PrelBase.abs{-r3j,p-}
- _@_ riC{-aHC-} d.Num_aHI;
- f_aHi ::
- rlg{-aHq-} -> riC{-aHC-}
- {-# L #-}
- f_aHi =
- \ x_r3e ::
- rlg{-aHq-}
- {-# 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-}
- {-# L #-}
- g_aHj =
- \ b_r3g ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- b_r3g x_r3i ::
- rlg{-aHq-}
- {-# L #-}
- x_r3i ->
- let {
- ds_dLq ::
- riC{-aHC-}
- {-# L #-}
- ds_dLq =
- f_aHi
- x_r3i
- } in
- abs_aKr
- ds_dLq;
- } 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-}
-{-# 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 ->
- case
- ds_dK5
- _@_ rlg{-aHq-} _@_ riC{-aHC-} d.Num_aHI d.Eq_aHG
- 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-}
-{-# 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 ->
- case
- ds_dK5
- _@_ rlg{-aHq-} _@_ riC{-aHC-} d.Num_aHI d.Eq_aHG
- of {
- PrelTup.(,){-62,p-}{i} ds_dMB ds_dMA ->
- ds_dMA;}
-end Rec }
-
-NOTE: Simplifier still going after 4 iterations; bailing out.
+++ /dev/null
---!!! ds024 -- correct types on ConPatOuts
-
--- do all the right types get stuck on all the
--- Nils and Conses?
-
-module ShouldSucceed where
-
-
-f x = [[], []]
-
-g x = ([], [], [])
+++ /dev/null
-
-
-================================================================================
-Desugared:
-g{-r3h,x-} ::
- _forall_
- [t{-aAR-} t{-aAL-} t{-aAN-} t{-aAP-}]
- =>
- t{-aAR-} -> ([t{-aAL-}], [t{-aAN-}], [t{-aAP-}])
-{-# L #-}
-g{-r3h,x-} =
- _/\_ t{-aAR-} t{-aAL-} t{-aAN-} t{-aAP-} -> \ x_r3g ::
- t{-aAR-}
- {-# L #-}
- x_r3g ->
- let {
- ds_dD1 ::
- [t{-aAL-}]
- {-# 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-}]]
-{-# L #-}
-f{-r3i,x-} =
- _/\_ t{-aAZ-} t{-aB3-} -> \ x_r3e ::
- t{-aB3-}
- {-# L #-}
- x_r3e ->
- let {
- ds_dDN ::
- [t{-aAZ-}]
- {-# 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}
+++ /dev/null
---!!! ds025 -- overloaded assoc -- AbsBinds
-
-module Util where
-
-ehead xs loc | null xs = error ("4"++loc)
- | True = head xs
-
-assoc key lst loc
- = if (null res) then error ("1"++loc++"2"++(show key))
- else (ehead res "3")
- where res = [ val | (key',val) <- lst, key==key']
-
-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 ()
+++ /dev/null
-
-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
-
-
-Compilation had errors
+++ /dev/null
---!!! ds026 -- classes -- incl. polymorphic method
-
-module ShouldSucceed where
-
-class Foo a where
- op :: a -> a
-
-class Foo a => Boo a where
- op1 :: a -> a
-
-class Boo a => Noo a where
- op2 :: (Eq b) => a -> b -> a
-
-f x y = op (op2 x y)
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-scsel_NooShouldSucceedBoo{-aKl,x-} ::
- _forall_
- [a{-r3n-}]
- =>
- {Noo{-r3B,x-} a{-r3n-}} -> {Boo{-r3o,x-} a{-r3n-}}
-{-# 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-})
-{-# 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-})
-{-# 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-}}
-{-# 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-}
-{-# 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-}
-{-# 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-}
-{-# L #-}
-op{-r3D,x-} =
- _/\_ a{-r3y-} -> \ tpl_B1 ::
- {Foo{-r3u,x-} a{-r3y-}}
- {-# 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-}
-{-# 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
-end Rec }
+++ /dev/null
---!!! ds027 -- simple instances
---
-module Test where
-
-data Foo = Bar | Baz
-
-instance Eq Foo where
- Bar == Baz = True
- Bar /= Baz = False
+++ /dev/null
-ds027.hs:8:
- Warning: Possibly incomplete patterns
- in the definition of function `=='
-ds027.hs:9:
- Warning: Possibly incomplete patterns
- in the definition of function `/='
-
-
-================================================================================
-Desugared:
-Rec {
-d.Eval_aGg ::
- {PrelBase.Eval{-24,p-} Foo{-r3n,x-}}
-{-# L #-}
-d.Eval_aGg =
- PrelBase.void{-8G,p-}
-$d2{-rIX,x-} ::
- {PrelBase.Eval{-24,p-} Foo{-r3n,x-}}
-{-# L #-}
-$d2{-rIX,x-} =
- d.Eval_aGg
-==_aGo ::
- Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-}
-{-# L #-}
-==_aGo =
- \ ds_dJM ::
- Foo{-r3n,x-}
- {-# L #-}
- ds_dJM ds_dJN ::
- Foo{-r3n,x-}
- {-# L #-}
- ds_dJN ->
- let {
- fail_dJO ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- fail_dJO =
- GHCerr.patError{-8r,p-}
- _@_ PrelBase.Bool{-34,p-} _string_ "ds027.hs:8|function `=='"
- } in
- case ds_dJM of {
- Baz{-r3,x-}{i} ->
- fail_dJO;
- Bar{-r4,x-}{i} ->
- case ds_dJN of {
- Bar{-r4,x-}{i} ->
- fail_dJO;
- Baz{-r3,x-}{i} ->
- PrelBase.True{-5E,p-}{i};
- };
- }
-==_aJ7 ::
- Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-}
-{-# L #-}
-==_aJ7 =
- ==_aGo
-/=_aGs ::
- Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-}
-{-# L #-}
-/=_aGs =
- \ ds_dKq ::
- Foo{-r3n,x-}
- {-# L #-}
- ds_dKq ds_dKr ::
- Foo{-r3n,x-}
- {-# L #-}
- ds_dKr ->
- let {
- fail_dKs ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- fail_dKs =
- GHCerr.patError{-8r,p-}
- _@_ PrelBase.Bool{-34,p-} _string_ "ds027.hs:9|function `/='"
- } in
- case ds_dKq of {
- Baz{-r3,x-}{i} ->
- fail_dKs;
- Bar{-r4,x-}{i} ->
- case ds_dKr of {
- Bar{-r4,x-}{i} ->
- fail_dKs;
- Baz{-r3,x-}{i} ->
- PrelBase.False{-58,p-}{i};
- };
- }
-/=_aJg ::
- Foo{-r3n,x-} -> Foo{-r3n,x-} -> PrelBase.Bool{-34,p-}
-{-# L #-}
-/=_aJg =
- /=_aGs
-d.Eq_aGl ::
- {PrelBase.Eq{-23,p-} Foo{-r3n,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-}}
-{-# 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}
- {}
-end Rec }
+++ /dev/null
---!!! ds028: failable pats in top row
-
-module ShouldSucceed where
-
-
--- when the first row of pats doesn't have convenient
--- variables to grab...
-
-mAp f [] = []
-mAp f (x:xs) = f x : mAp f xs
-
-True |||| _ = True
-False |||| x = x
+++ /dev/null
-
-
-================================================================================
-Desugared:
-||||_amR ::
- PrelBase.Bool{-34,p-}
- -> PrelBase.Bool{-34,p-}
- -> PrelBase.Bool{-34,p-}
-{-# L #-}
-||||_amR =
- \ ds_dq6 ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- ds_dq6 ds_dq7 ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- ds_dq7 ->
- case ds_dq6 of {
- PrelBase.True{-5E,p-}{i} ->
- PrelBase.True{-5E,p-}{i};
- PrelBase.False{-58,p-}{i} ->
- ds_dq7;
- }
-||||{-r3q,x-} ::
- PrelBase.Bool{-34,p-}
- -> PrelBase.Bool{-34,p-}
- -> PrelBase.Bool{-34,p-}
-{-# L #-}
-||||{-r3q,x-} =
- ||||_amR
-Rec {
-mAp{-r3r,x-} ::
- _forall_
- [t{-an5-} t{-an7-}]
- =>
- (t{-an5-} -> t{-an7-}) -> [t{-an5-}] -> [t{-an7-}]
-{-# L #-}
-mAp{-r3r,x-} =
- _/\_ t{-an5-} t{-an7-} ->
- _letrec_ {
- mAp_amZ ::
- (t{-an5-} -> t{-an7-}) -> [t{-an5-}] -> [t{-an7-}]
- {-# L #-}
- mAp_amZ =
- \ f_r3e ::
- t{-an5-} -> t{-an7-}
- {-# L #-}
- f_r3e ds_dqV ::
- [t{-an5-}]
- {-# 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 ->
- let {
- f_r3h ::
- t{-an5-} -> t{-an7-}
- {-# L #-}
- f_r3h =
- f_r3e } in
- let {
- ds_drl ::
- t{-an7-}
- {-# L #-}
- ds_drl =
- f_r3h
- x_r3j } in
- let {
- ds_drp ::
- [t{-an7-}]
- {-# L #-}
- ds_drp =
- mAp_amZ
- f_r3h xs_r3k
- } in
- PrelBase.:{-55,p-}{i}
- _@_ t{-an7-} ds_drl ds_drp;
- };
- } in
- mAp_amZ
-end Rec }
+++ /dev/null
---!!! ds029: pattern binding with guards (dubious but valid)
---
-
-module Test where
-
-f x = y
- where (y,z) | y < z = (0,1)
- | y > z = (1,2)
- | True = (2,3)
+++ /dev/null
-
-
-================================================================================
-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-}
-{-# 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-}
- {-# L #-}
- <_a137 =
- PrelBase.<{-rcJ,p-}
- _@_ t{-aY1-} d.Ord_aYk } in
- let {
- fromInt_a136 ::
- PrelBase.Int{-3g,p-} -> t{-aY1-}
- {-# 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-}
- {-# 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-}}
- {-# L #-}
- d.Ord_aYq =
- d.Ord_aYk } in
- let {
- >_a132 ::
- t{-aY1-} -> t{-aY1-} -> PrelBase.Bool{-34,p-}
- {-# L #-}
- >_a132 =
- PrelBase.>{-rcL,p-}
- _@_ t{-aY1-} d.Ord_aYq } in
- let {
- fromInt_a131 ::
- PrelBase.Int{-3g,p-} -> t{-aY1-}
- {-# 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-}
- {-# 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-}
- {-# 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};
- };
- };
- 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
+++ /dev/null
---!!! ds030: checks that types substituted into binders
---
-module Test where
-
-f x = case x of [] -> (3::Int) ; _ -> (4::Int)
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-{-# 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
-{-# L #-}
-lit_aKt =
- let {
- {-# L #-}
- ds_dLb =
- PrelBase.I#
- 4
- } in
- fromInt_aKw
- ds_dLb
-{-# 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;
- }
-end Rec }
+++ /dev/null
-module ShouldSucceed where
-
-foldPair :: (a->a->a,b->b->b) -> (a,b) -> [(a,b)] -> (a,b)
-foldPair fg ab [] = ab
-foldPair fg@(f,g) ab ((a,b):abs) = (f a u,g b v)
- where (u,v) = foldPair fg ab abs
-
+++ /dev/null
-ds031.hs:4:
- Warning: Possibly incomplete patterns
- in the definition of function `foldPair'
-
-
-================================================================================
-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-})
-{-# L #-}
-foldPair{-r3f,x-} =
- _/\_ a{-aB1-} b{-aB2-} ->
- _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-})
- {-# L #-}
- foldPair_aAY =
- \ fg_r3h ::
- (a{-aB1-} -> a{-aB1-} -> a{-aB1-}, b{-aB2-}
- -> b{-aB2-}
- -> b{-aB2-})
- {-# L #-}
- fg_r3h ab_r3j ::
- (a{-aB1-}, b{-aB2-})
- {-# L #-}
- ab_r3j ds_dFz ::
- [(a{-aB1-}, b{-aB2-})]
- {-# L #-}
- ds_dFz ->
- let {
- fail_dFA ::
- (a{-aB1-}, b{-aB2-})
- {-# L #-}
- fail_dFA =
- GHCerr.patError{-8r,p-}
- _@_ (a{-aB1-}, b{-aB2-})
- _string_ "ds031.hs:4|function `foldPair'" } in
- let {
- fail_dHs ::
- (a{-aB1-}, b{-aB2-})
- {-# 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 ->
- let {
- ab_r3q ::
- (a{-aB1-}, b{-aB2-})
- {-# L #-}
- ab_r3q =
- ab_r3j } in
- let {
- fg_r3m ::
- (a{-aB1-} -> a{-aB1-} -> a{-aB1-}, b{-aB2-}
- -> b{-aB2-}
- -> b{-aB2-})
- {-# L #-}
- fg_r3m =
- fg_r3h } in
- let {
- ds_dGR ::
- (a{-aB1-}, b{-aB2-})
- {-# L #-}
- ds_dGR =
- foldPair{-r3f,x-}
- _@_ a{-aB1-} _@_ b{-aB2-} fg_r3m ab_r3q abs_r3u } in
- let {
- u_aBw ::
- a{-aB1-}
- {-# L #-}
- u_aBw =
- case ds_dGR of { PrelTup.(,){-62,p-}{i} u_aBw v_aBx ->
- u_aBw;} } in
- let {
- v_aBx ::
- b{-aB2-}
- {-# L #-}
- v_aBx =
- case ds_dGR of { PrelTup.(,){-62,p-}{i} u_aBw v_aBx ->
- v_aBx;} } in
- let {
- u_r3w ::
- a{-aB1-}
- {-# L #-}
- u_r3w =
- u_aBw } in
- let {
- v_r3x ::
- b{-aB2-}
- {-# L #-}
- v_r3x =
- v_aBx } in
- let {
- ds_dGq ::
- a{-aB1-}
- {-# L #-}
- ds_dGq =
- f_r3n
- a_r3s u_r3w } in
- let {
- ds_dGu ::
- b{-aB2-}
- {-# L #-}
- ds_dGu =
- g_r3o
- b_r3t v_r3x
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ a{-aB1-} _@_ b{-aB2-} ds_dGq ds_dGu};};
- };}
- } in
- case ds_dFz of {
- PrelBase.:{-55,p-}{i} ds_dHA ds_dHz ->
- fail_dHs;
- PrelBase.[]{-5i,p-}{i} ->
- ab_r3j;
- };
- } in
- foldPair_aAY
-end Rec }
+++ /dev/null
---!!! recursive funs tangled in an AbsBind
-
-module ShouldSucceed where
-
-
-flatten :: Int -- Indentation
- -> Bool -- True => just had a newline
- -> Float -- Current seq to flatten
- -> [(Int,Float)]-- Work list with indentation
- -> String
-
-flatten n nlp 0.0 seqs = flattenS nlp seqs
-flatten n nlp 1.0 seqs = flatten n nlp 1.1 ((n,1.2) : seqs)
-
-flattenS :: Bool -> [(Int, Float)] -> String
-flattenS nlp [] = ""
-flattenS nlp ((col,seq):seqs) = flatten col nlp seq seqs
+++ /dev/null
-ds032.hs:12:
- Warning: Possibly incomplete patterns
- in the definition of function `flatten'
-
-
-================================================================================
-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-}
- {-# L #-}
- n_r3i nlp_r3k ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- nlp_r3k ds_d19G ::
- PrelBase.Float{-3c,p-}
- {-# L #-}
- ds_d19G seqs_r3n ::
- [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})]
- {-# L #-}
- seqs_r3n ->
- let {
- fail_d19H ::
- PrelBase.String{-rzM,p-}
- {-# L #-}
- fail_d19H =
- GHCerr.patError{-8r,p-}
- _@_ PrelBase.String{-rzM,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;
- _float_ 1.0000000000000000 ->
- let {
- seqs_r3u ::
- [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})]
- {-# L #-}
- seqs_r3u =
- seqs_r3n } in
- let {
- nlp_r3r ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- nlp_r3r =
- nlp_r3k } in
- let {
- n_r3p ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- n_r3p =
- n_r3i } in
- let { ds_d1at ::
- [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})]
- {-# L #-}
- ds_d1at =
- let {
- ds_d1aG ::
- (PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})
- {-# L #-}
- ds_d1aG =
- PrelTup.(,){-62,p-}{i}
- {_@_ PrelBase.Int{-3g,p-}
- _@_ PrelBase.Float{-3c,p-}
- n_r3p
- lit_a17K}
- } in
- PrelBase.:{-55,p-}{i}
- _@_ (PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-}) ds_d1aG seqs_r3u
- } in
- flatten{-r1,x-}
- n_r3p nlp_r3r lit_a17Q ds_d1at;
- ds_d1b0 ->
- fail_d19H;
- };}
-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-}
- {-# L #-}
- nlp_r3w ds_d1b6 ::
- [(PrelBase.Int{-3g,p-}, PrelBase.Float{-3c,p-})]
- {-# 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 ->
- let {
- nlp_r3z ::
- PrelBase.Bool{-34,p-}
- {-# L #-}
- nlp_r3z =
- nlp_r3w
- } in
- flatten{-r1,x-}
- col_r3B nlp_r3z seq_r3C seqs_r3D;};
- }
-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-}
-{-# 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-}
-{-# L #-}
-flattenS{-r3,x-} =
- flattenS_a10s
-end Rec }
+++ /dev/null
---!!! getting top-level dependencies right
---
-module Test where
-
-f1 x = g1 x
-g1 y = y
-
-g2 y = y
-f2 x = g2 x
-
-f3 x = g3 x
-g3 y = f3 y
-
-g4 y = f4 y
-f4 x = g4 x
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-ds_dsc ::
- _forall_
- [t{-anl-} t{-ann-}]
- =>
- (t{-anl-} -> t{-ann-}, t{-anl-} -> t{-ann-})
-{-# L #-}
-ds_dsc =
- _/\_ t{-anl-} t{-ann-} ->
- _letrec_ {
- g4_an6 ::
- t{-anl-} -> t{-ann-}
- {-# L #-}
- g4_an6 =
- \ y_r3w ::
- t{-anl-}
- {-# L #-}
- y_r3w ->
- f4_an7
- y_r3w;
- f4_an7 ::
- t{-anl-} -> t{-ann-}
- {-# L #-}
- f4_an7 =
- \ x_r3y ::
- t{-anl-}
- {-# L #-}
- x_r3y ->
- g4_an6
- 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-}
-{-# L #-}
-g4{-r3A,x-} =
- _/\_ t{-anl-} t{-ann-} ->
- case
- ds_dsc
- _@_ t{-anl-} _@_ t{-ann-}
- of {
- PrelTup.(,){-62,p-}{i} ds_dth ds_dti ->
- ds_dth;}
-f4{-r3z,x-} ::
- _forall_ [t{-anl-} t{-ann-}] => t{-anl-} -> t{-ann-}
-{-# L #-}
-f4{-r3z,x-} =
- _/\_ t{-anl-} t{-ann-} ->
- case
- ds_dsc
- _@_ t{-anl-} _@_ t{-ann-}
- 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-})
-{-# L #-}
-ds_dtM =
- _/\_ t{-anE-} t{-anG-} ->
- _letrec_ {
- f3_anp ::
- t{-anE-} -> t{-anG-}
- {-# L #-}
- f3_anp =
- \ x_r3s ::
- t{-anE-}
- {-# L #-}
- x_r3s ->
- g3_anq
- x_r3s;
- g3_anq ::
- t{-anE-} -> t{-anG-}
- {-# L #-}
- g3_anq =
- \ y_r3u ::
- t{-anE-}
- {-# L #-}
- y_r3u ->
- f3_anp
- 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-}
-{-# L #-}
-f3{-r3C,x-} =
- _/\_ t{-anE-} t{-anG-} ->
- case
- ds_dtM
- _@_ t{-anE-} _@_ t{-anG-}
- of {
- PrelTup.(,){-62,p-}{i} ds_duR ds_duS ->
- ds_duR;}
-g3{-r3B,x-} ::
- _forall_ [t{-anE-} t{-anG-}] => t{-anE-} -> t{-anG-}
-{-# L #-}
-g3{-r3B,x-} =
- _/\_ t{-anE-} t{-anG-} ->
- case
- ds_dtM
- _@_ t{-anE-} _@_ t{-anG-}
- of {
- PrelTup.(,){-62,p-}{i} ds_dvb ds_dva ->
- ds_dva;}
-end Rec }
-g2{-r3E,x-} ::
- _forall_ [t{-anO-}] => t{-anO-} -> t{-anO-}
-{-# 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-}
-{-# 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-}
-{-# 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-}
-{-# L #-}
-f1{-r3G,x-} =
- _/\_ t{-aoa-} -> \ x_r3k ::
- t{-aoa-}
- {-# L #-}
- x_r3k ->
- g1{-r3F,x-}
- _@_ t{-aoa-} x_r3k
-
-NOTE: Simplifier still going after 4 iterations; bailing out.
+++ /dev/null
---!!! mutually-recursive methods in an instance declaration
---
-module Test where
-
-class Foo a where
- op1 :: a -> a
- op2 :: a -> a
-
-instance Foo Int where
- op1 x = op2 x
- op2 y = op1 y
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-op1{-r3r,x-} ::
- _forall_
- [a{-r3p-}]
- =>
- {Foo{-r3s,x-} a{-r3p-}} -> a{-r3p-} -> a{-r3p-}
-{-# 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-}
-{-# L #-}
-op1_aqd =
- op1_aqm
-op1_an6 ::
- PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-}
-{-# L #-}
-op1_an6 =
- \ x_r3i ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- x_r3i ->
- op2_aq8
- x_r3i
-op1_aqm ::
- PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-}
-{-# L #-}
-op1_aqm =
- op1_an6
-op2_anj ::
- PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-}
-{-# L #-}
-op2_anj =
- \ y_r3m ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- y_r3m ->
- op1_aqd
- y_r3m
-op2_aqv ::
- PrelBase.Int{-3g,p-} -> PrelBase.Int{-3g,p-}
-{-# L #-}
-op2_aqv =
- op2_anj
-d.Foo_an3 ::
- {Foo{-r3s,x-} PrelBase.Int{-3g,p-}}
-{-# 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-}}
-{-# L #-}
-$d1{-rqE,x-} =
- d.Foo_an3
-end Rec }
+++ /dev/null
-data CList = CNil | CCons Int# CList
-
-mk :: Int# -> CList
-mk n = case (n ==# 0#) of
- 0# -> CNil
- _ -> CCons 1# (mk (n `minusInt#` 1#))
-
-clen :: CList -> Int#
-clen CNil = 0#
-clen (CCons _ cl) = 1# +# (clen cl)
-
-main = case len4_twice of
- 8# -> "bingo\n"
- _ -> "oops\n"
- where
- list4 = mk 4#
- len4 = clen list4
- len4_twice = len4 +# len4
+++ /dev/null
-
-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
+++ /dev/null
-{-
-From dmc@minster.york.ac.uk Tue Mar 10 17:15:20 1992
-Via: uk.ac.york.minster; Tue, 10 Mar 92 17:15:14 GMT
-Message-Id: <swordfish.700247842@minster.york.ac.uk>
-From: dmc@minster.york.ac.uk
-To: partain
-Date: 10 Mar 1992 17:17:21 GMT
-
-Will,
-
-I have just started using Haskell at York and have found a compilation
-error in the code below which disappears when the last line is
-commented out
--}
-
-module Test2 where
-
---brack :: (Eq a) => a -> a -> [a] -> ([a],[a])
---brack open close = brack' open close (1 :: Int)
-
-brack' :: (Eq a) => a -> a -> Int -> [a] -> ([a],[a])
-brack' open close 0 xs = ([],xs)
-brack' open close (n+1) [] = ([],[])
-brack' open close (n+1) (h:t) | h == open = ([],[])
-
-{-
-Is this something I have done wrong or a fault with the compiler?
-
-Cheers
-Dave
-
-
------------------------------------------------------------------------
-David Cattrall Telephone +44 904 432777
-Department of Computer Science
-University of York JANET: dmc@uk.ac.york.minster
-YORK Y01 5DD
-United Kingdom UUNET: uucp!ukc!minster!dmc
------------------------------------------------------------------------
--}
-
--- and this was Kevin's idea, subsequently...
-
-kh (n+2) x | x > n = x * 2
-kh (x+1) (m+1) = m
+++ /dev/null
-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''
-
-
-================================================================================
-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-}
-{-# 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-}
- {-# 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-}
- {-# L #-}
- >=_a1cv =
- PrelBase.>={-8Z,p-}
- _@_ t{-aYd-} d.Ord_aYu } in
- let {
- d.Num_aYw ::
- {PrelBase.Num{-2c,p-} t{-aYd-}}
- {-# L #-}
- d.Num_aYw =
- d.Num_aYs } in
- let {
- -_a1cu ::
- t{-aYd-} -> t{-aYd-} -> t{-aYd-}
- {-# L #-}
- -_a1cu =
- PrelBase.-{-817,p-}
- _@_ t{-aYd-} d.Num_aYw } in
- let {
- d.Ord_aYy ::
- {PrelBase.Ord{-2d,p-} t{-aYd-}}
- {-# L #-}
- d.Ord_aYy =
- d.Ord_aYu } in
- let {
- >_a1ct ::
- t{-aYd-} -> t{-aYd-} -> PrelBase.Bool{-34,p-}
- {-# L #-}
- >_a1ct =
- PrelBase.>{-rdf,p-}
- _@_ t{-aYd-} d.Ord_aYy } in
- let {
- d.Num_aYA ::
- {PrelBase.Num{-2c,p-} t{-aYd-}}
- {-# L #-}
- d.Num_aYA =
- d.Num_aYs } in
- let {
- *_a1cs ::
- t{-aYd-} -> t{-aYd-} -> t{-aYd-}
- {-# L #-}
- *_a1cs =
- PrelBase.*{-rd8,p-}
- _@_ t{-aYd-} d.Num_aYA } in
- let {
- lit_a1cr ::
- t{-aYd-}
- {-# L #-}
- lit_a1cr =
- lit_a1cw } in
- let {
- fromInt_a1cq ::
- PrelBase.Int{-3g,p-} -> t{-aYd-}
- {-# 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-}
- {-# L #-}
- >=_a1co =
- >=_a1cv } in
- let {
- -_a1cn ::
- t{-aYd-} -> t{-aYd-} -> t{-aYd-}
- {-# L #-}
- -_a1cn =
- -_a1cu } in
- let {
- lit_a1cm ::
- t{-aYd-}
- {-# L #-}
- lit_a1cm =
- lit_a1cp } in
- let {
- >=_a1cl ::
- t{-aYd-} -> t{-aYd-} -> PrelBase.Bool{-34,p-}
- {-# L #-}
- >=_a1cl =
- >=_a1cv } in
- let {
- -_a1ck ::
- t{-aYd-} -> t{-aYd-} -> t{-aYd-}
- {-# 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-}
- {-# L #-}
- fail_d1fO =
- case
- (\ ds_d1eg ::
- t{-aYd-}
- {-# L #-}
- ds_d1eg ->
- >=_a1co
- ds_d1eg lit_a1cp)
- ds_d1e9
- of {
- PrelBase.True{-5E,p-}{i} ->
- let {
- x_r3J ::
- t{-aYd-}
- {-# L #-}
- x_r3J =
- (\ ds_d1eG ::
- t{-aYd-}
- {-# L #-}
- ds_d1eG ->
- -_a1cn
- ds_d1eG lit_a1cp)
- ds_d1e9
- } 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;
- };
- 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-}])
-{-# 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-}
- {-# L #-}
- lit_a1h1 =
- lit_a19Y } in
- let {
- >=_a1h0 ::
- PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
- -> PrelBase.Bool{-34,p-}
- {-# L #-}
- >=_a1h0 =
- >=_a19X } in
- let {
- -_a1gZ ::
- PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
- {-# L #-}
- -_a1gZ =
- -_a19W } in
- let {
- d.Eq_aZC ::
- {PrelBase.Eq{-23,p-} a{-aYI-}}
- {-# L #-}
- d.Eq_aZC =
- d.Eq_aZs } in
- let {
- ==_a1gY ::
- a{-aYI-} -> a{-aYI-} -> PrelBase.Bool{-34,p-}
- {-# 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-}
- {-# L #-}
- ds_d1hB xs_r3n ::
- [a{-aYI-}]
- {-# 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} ->
- let {
- n_r3t ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- n_r3t =
- (\ ds_d1i8 ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- ds_d1i8 ->
- -_a19W
- ds_d1i8 lit_a19Y)
- ds_d1hB
- } 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;
- };}
-end Rec }
+++ /dev/null
---!!! AbsBinds with tyvars, no dictvars, but some dict binds
---
-module ShouldSucceed where
-
-f x y = (fst (g y x), x+(1::Int))
-g x y = (fst (f x y), y+(1::Int))
+++ /dev/null
-
-
-================================================================================
-Desugared:
-Rec {
-d.Num_aXF ::
- {PrelBase.Num{-2c,p-} PrelBase.Int{-3g,p-}}
-{-# 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-} ->
- _letrec_ {
- +_aZQ ::
- PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
- {-# L #-}
- +_aZQ =
- +_aZO;
- lit_aZP ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- lit_aZP =
- lit_aZM;
- f_aWT ::
- PrelBase.Int{-3g,p-}
- -> PrelBase.Int{-3g,p-}
- -> (b{-aXa-}, PrelBase.Int{-3g,p-})
- {-# L #-}
- f_aWT =
- \ x_r3e ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- x_r3e y_r3g ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- y_r3g ->
- let { ds_d12N ::
- b{-aXa-}
- {-# L #-}
- ds_d12N =
- let {
- ds_d133 ::
- (b{-aXa-}, PrelBase.Int{-3g,p-})
- {-# L #-}
- ds_d133 =
- g_aWU
- y_r3g x_r3e
- } in
- PrelTup.fst{-riN,p-}
- _@_ PrelBase.Int{-3g,p-} _@_ b{-aXa-} ds_d133
- } in
- let {
- ds_d12R ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- ds_d12R =
- +_aZO
- x_r3e lit_aZM
- } 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-})
- {-# L #-}
- g_aWU =
- \ x_r3j ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- x_r3j y_r3l ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- y_r3l ->
- let { ds_d13B ::
- b{-aXa-}
- {-# L #-}
- ds_d13B =
- let {
- ds_d13R ::
- (b{-aXa-}, PrelBase.Int{-3g,p-})
- {-# L #-}
- ds_d13R =
- f_aWT
- x_r3j y_r3l
- } in
- PrelTup.fst{-riN,p-}
- _@_ PrelBase.Int{-3g,p-} _@_ b{-aXa-} ds_d13R
- } in
- let {
- ds_d13F ::
- PrelBase.Int{-3g,p-}
- {-# L #-}
- ds_d13F =
- +_aZQ
- y_r3l lit_aZP
- } in
- PrelTup.(,){-62,p-}{i}
- {_@_ b{-aXa-} _@_ PrelBase.Int{-3g,p-} ds_d13B ds_d13F};
- } 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-})
-{-# 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-})
-{-# L #-}
-g{-r3n,x-} =
- _/\_ b{-aXa-} ->
- case
- ds_d11F
- _@_ b{-aXa-}
- of {
- PrelTup.(,){-62,p-}{i} ds_d14S ds_d14R ->
- ds_d14R;}
-end Rec }
-
-NOTE: Simplifier still going after 4 iterations; bailing out.
+++ /dev/null
---!!! Jon Hill reported a bug in desugaring this in 0.09
---!!! (recursive with n+k patts)
---
-takeList :: Int -> [a] -> [a]
-takeList 0 _ = []
-takeList (n+1) [] = []
-takeList (n+1) (x:xs) = x : takeList n xs
+++ /dev/null
-
-ds038.hs:4: Module Main must include a definition for `Main.main'
-
-
-Compilation had errors
+++ /dev/null
---!!! make sure correct type applications get put in
---!!! when (:) is saturated.
-
-module ShouldSucceed where
-
-
-f = (:)
+++ /dev/null
-
-
-================================================================================
-Desugared:
-{-# L #-}
-f = _/\_ t{-amG-} ->
- PrelBase.:
- _@_ t{-amG-}
+++ /dev/null
---!!! Another bug in overloaded n+k patts
---
-
-main _ = [AppendChan stdout (shows ((4::Int) ^^^^ (6::Int)) "\n")]
-
-(^^^^) :: (Num a, Integral b) => a -> b -> a
-x ^^^^ 0 = 1
-x ^^^^ (n+1) = f x n x
- where f _ 0 y = y
- f x n y = g x n where
- g x n | even n = g (x*x) (n `quot` 2)
- | otherwise = f x (n-1) (x*y)
-_ ^^^^ _ = error "(^^^^){Prelude}: negative exponent"
+++ /dev/null
-
-ds040.hs:4:
- Data constructor not in scope: `AppendChan'
-
-ds040.hs:4:
- Value not in scope: `stdout'
-
-
-Compilation had errors