1: #line 530 "./lpsrc/flx_regress.pak"
2:
3:
4:
5:
6:
7: typedef fun pair (t:TYPE):TYPE => t * t;
8: typedef Pair[t] = t * t;
9: typedef PAIR = fun (t:TYPE):TYPE =>Pair[t];
10:
11: var x: pair int;
12:
13: fun f[t,u:TYPE->TYPE] (x: u t)=>x;
14:
15: var k1 = f[int, the pair] (1,1);
16: var k2 = f[int, (fun (t:TYPE):TYPE =>Pair[t] ) ] (1,2);
17: var k3 = f[int, the PAIR] (1,3);
18: var k4 = f[int, the Pair] (1,4);
19:
20: print k1.(0); print ","; print k1.(1); endl;
21: print k2.(0); print ","; print k2.(1); endl;
22: print k3.(0); print ","; print k3.(1); endl;
23: print k4.(0); print ","; print k4.(1); endl;
1: 1,1
2: 1,2
3: 1,3
4: 1,4