diff options
Diffstat (limited to 'testsuite/tests/ghc-regress/typecheck/should_compile/tc042.hs')
-rw-r--r-- | testsuite/tests/ghc-regress/typecheck/should_compile/tc042.hs | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/testsuite/tests/ghc-regress/typecheck/should_compile/tc042.hs b/testsuite/tests/ghc-regress/typecheck/should_compile/tc042.hs deleted file mode 100644 index 58a120c13b..0000000000 --- a/testsuite/tests/ghc-regress/typecheck/should_compile/tc042.hs +++ /dev/null @@ -1,73 +0,0 @@ --- !!! a file mailed us by Ryzard Kubiak. This provides a good test of the code --- !!! handling type signatures and recursive data types. - -module ShouldSucceed where - -data Boolean = FF | TT -data Pair a b = Mkpair a b -data List alpha = Nil | Cons alpha (List alpha) -data Nat = Zero | Succ Nat -data Tree t = Leaf t | Node (Tree t) (Tree t) - -idb :: Boolean -> Boolean -idb x = x - - -swap :: Pair a b -> Pair b a -swap t = case t of - Mkpair x y -> Mkpair y x - -neg :: Boolean -> Boolean -neg b = case b of - FF -> TT - TT -> FF - -nUll :: List alpha -> Boolean -nUll l = case l of - Nil -> TT - Cons y ys -> FF - -idl :: List a -> List a -idl xs = case xs of - Nil -> Nil - Cons y ys -> Cons y (idl ys) - -add :: Nat -> Nat -> Nat -add a b = case a of - Zero -> b - Succ c -> Succ (add c b) - -app :: List alpha -> List alpha -> List alpha -app xs zs = case xs of - Nil -> zs - Cons y ys -> Cons y (app ys zs) - -lEngth :: List a -> Nat -lEngth xs = case xs of - Nil -> Zero - Cons y ys -> Succ(lEngth ys) - -before :: List Nat -> List Nat -before xs = case xs of - Nil -> Nil - Cons y ys -> case y of - Zero -> Nil - Succ n -> Cons y (before ys) - -rEverse :: List alpha -> List alpha -rEverse rs = case rs of - Nil -> Nil - Cons y ys -> app (rEverse ys) (Cons y Nil) - - -flatten :: Tree alpha -> List alpha -flatten t = case t of - Leaf x -> Cons x Nil - Node l r -> app (flatten l) (flatten r) - -sUm :: Tree Nat -> Nat -sUm t = case t of - Leaf t -> t - Node l r -> add (sUm l) (sUm r) - - |