1: #line 1945 "./lpsrc/flx_regress.pak"
2:
3:
4:
5: header '#include <iostream>';
6:
7:
8: typeclass XEq[t] {
9: virtual fun xeq: t * t -> bool;
10: virtual fun xne: t * t -> bool;
11: }
12:
13: instance XEq[int] {
14: fun xeq: int * int -> bool = "$1==$2";
15: fun xne: int * int -> bool = "$1!=$2";
16: }
17:
18: module Joe[with XEq[int]] {
19: fun feq(x:int,y:int) => xeq(x,y);
20: }
21: print$ Joe::feq(1,2); endl;
22:
23: module Max[t with XEq[t]] {
24: fun feq(x:t,y:t) => xeq(x,y);
25: }
26: print$ Max::feq(1,1); endl;
27: