Commit 369746bf authored by sof's avatar sof
Browse files

[project @ 1997-07-26 23:33:04 by sof]

parent f1ab7d65
TOP = ..
include $(TOP)/mk/boilerplate.mk
SUBDIRS = should_fail should_compile
include $(TOP)/mk/target.mk
_interface_ Int10 1
_exports_
Int10 T1(C1) T2(T2C1 T2C2) T3(T3C1 T3C2 T3C3) T4(T4C1 T4C2 T4C3 T4C4) T5(T5C1 T5C2 T5C3 T5C4 T5C5) T6(T6C6) T7(T7C6 T7C7) ;
_declarations_
1 data T1 a = C1 a;
1 data T2 a b = T2C1 a | T2C2 b ;
1 data T3 a b c = T3C1 a | T3C2 b | T3C3 c ;
1 data T4 a b c d = T4C1 a | T4C2 b | T4C3 c | T4C4 d ;
1 data T5 a b c d e = T5C1 a | T5C2 b | T5C3 c | T5C4 d | T5C5 e ;
1 data T6 a = T6C6 a ;
1 data T7 a b = T7C6 a | T7C7 b ;
1 data T8 a b c = T8C1 a | T8C2 b | T8C3 c ;
1 data T9 a b c d = T9C1 a | T9C2 b | T9C3 c | T9C4 d ;
1 data T10 a b c d e = T10C1 a | T10C2 b | T10C3 c | T10C4 d | T10C5 e ;
TOP = ../../../..
include $(TOP)/mk/boilerplate.mk
HS_SRCS = $(wildcard *.hs)
SRC_RUNTEST_OPTS += -o1 $*.stdout -o2 $*.stderr -x 0
HC_OPTS += -noC -dcore-lint
rn017_HC_OPTS = -hi
%.o : %.hs
$(RUNTEST) $(HC) $(RUNTEST_OPTS) -- $(HC_OPTS) -c $< -o $@
all :: $(HS_OBJS)
include $(TOP)/mk/target.mk
_interface_ Rn016 1
_exports_
Rn016 K(op1 op2);
_instances_
instance {K PrelBase.Int} = $d1;
instance {K PrelBase.Bool} = $d2;
instance _forall_ [a] => {K [a]} = $d3;
_declarations_
1 $d1 _:_ {K PrelBase.Int} ;;
1 $d2 _:_ {K PrelBase.Bool} ;;
1 $d3 _:_ _forall_ [a] {K PrelList.[a]} ;;
1 class K a :: (* -> *) where { op1 :: a -> a ; op2 :: a -> a } ;
_interface_ Rn017 1
_exports_
Rn017 a b c Wibble(MkWibble) Wobble ;
_declarations_
1 data Wibble = MkWibble Wobble ;
1 data Wobble ;
1 a _:_ Int -> Int ;;
1 b _:_ Int -> Int ;;
1 c _:_ Int -> Int ;;
module Foo (f) where
-- export food
f x = x
--!!! weird patterns with no variables
1 = f 1
[] = f []
1 = f (f 1)
[] = f (f [])
--!!! rn005: simplest case: a few non-recursive bindings
module Test where
f = []
g x = x
h x y = x
i x y z = x
--!!! rn006: two sets of mutually-recursive blobs:
--!!! f, g, h are mut rec
--!!! i, j, k are mut rec
module Test where
f x = g x x
i x = j x x
g x y = h x x y
j x y = k x x y
h x y z = f z
k x y z = i z
NOTE: Simplifier still going after 4 iterations; bailing out.
module Imp10 where
import Int10
module Imp100 where
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
module Imp1000 where
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
module Imp500 where
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
import Int10
module Mod10 where
data T1 a = C1 a
data T2 a b = T2C1 a | T2C2 b
data T3 a b c = T3C1 a | T3C2 b | T3C3 c
data T4 a b c d = T4C1 a | T4C2 b | T4C3 c | T4C4 d
data T5 a b c d e = T5C1 a | T5C2 b | T5C3 c | T5C4 d | T5C5 e
data T6 a = T6C6 a
data T7 a b = T7C6 a | T7C7 b
data T8 a b c = T8C1 a | T8C2 b | T8C3 c
data T9 a b c d = T9C1 a | T9C2 b | T9C3 c | T9C4 d
data T10 a b c d e = T10C1 a | T10C2 b | T10C3 c | T10C4 d | T10C5 e
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment