1: #line 2046 "./lpsrc/flx_regress.pak"
2:
3:
4:
5: module X {
6: open C_hack;
7: type pi = new int * int;
8: fun fst(x:pi):int => (_repr_ x).(0);
9: fun snd(x:pi):int => (_repr_ x).(1);
10: fun mkpi(x:int,y:int):pi=>_make_pi(x,y);
11:
12: type pif = new int * double;
13: fun fst(x:pif):int => (_repr_ x).(0);
14: fun snd(x:pif):double => (_repr_ x).(1);
15: fun mkpif(x:int,y:double):pif=>_make_pif(x,y);
16:
17: type ii = new int;
18: fun mkii(x:int):ii=> _make_ii x;
19: fun get(x:ii):int=>_repr_ x;
20: }
21:
22: open X;
23:
24: var x:pi = mkpi$ 1,2;
25: print$ str(fst x) + " " + str(snd x) + ";\n";
26:
27: var y:pif = mkpif$ 1,2.76;
28: print$ str(fst y) + " " + str(snd y) + ";\n";
29:
30: var z = mkii 99;
31: print$ get z; endl;
32:
33:
34: