1: #line 565 "./lpsrc/flx_regress.pak" 2: //Check polymorphism 3: #import <flx.flxh> 4: 5: proc f[k] (z:k, pr:k->void) { 6: fun diag[t] (x:t):t*t = { return x,x; } 7: fun prj1[t1,t2] (x:t1,y:t2):t1 = { return x; } 8: fun prj2[t1,t2] (x:t1,y:t2):t2 = { return y; } 9: pr (prj1(diag z)); endl; 10: } 11: 12: // eta expansion 13: proc pr(x:int) { fprint (cout,x); } 14: f[int] (1, the pr);
1: 1