TYPE Point = XX:INT YY:INT; CPoint = Lb1:STR P:Point; Transf = Lb2:STR Q:Point T: (INT --> INT); ENDTYPE ;test ; comp <- _comp; ; id(x) = x; succ(x) = x .+ 1; pp0 <- Point(0,0); pp1 <- Point(5,10); cc1 <- CPoint("relative origin",pp1); tt0 <- Transf("origin",pp0, lambda(x) . (x .* x) .+ 7); tt1 <- Transf("origin",pp1, succ); out-Point(pp0); ; o erro e aqui pp(prod(id, curry(out_)(Point)) (out-CPoint(cc1))); ;(id _*_ out-Point) (out-CPoint(cc1));