1: #line 2087 "./lpsrc/flx_regress.pak"
2:
3:
4:
5: ctypes int, long, float;
6:
7: typedef fun uncurry(t:TYPE):TYPE =>
8: typematch t with
9: | ?head -> ?tail => head * uncurry tail
10: | _ => t
11: endmatch
12: ;
13:
14: typedef f123 = int -> (long -> float);
15:
16: typedef f567 = uncurry f123;
17:
18: var x: f567 = 1, (2L, 3.0f);
19:
20: typedef list = 1 + int * list;
21:
22: typedef fun lst(t1:TYPE, t2:TYPE ):TYPE=> 1 + t1 * lst (t2,t1);
23:
24: var y1: lst (int,long);
25: var y2: 1 + int * (1 + long * x) as x;
26: y1 = y2;
27: