TYPE a = a1 : INT a2 : STR a3 : INT-seq a4 : STR-set ; b = INT + STR + a; ENDTYPE =head1 teste do tplus aaaa <- < a(11,"elefantes",<1,2,3,4,5>, {"str" ++ itoa(x)}) | x <- inseg(30) > ; pp(aaaa); bbbb <- < tplus(z,a1,333)| z <- aaaa >; pp(bbbb); aaa <- a(12,"asdasd asdasdasd",<1,2,3,4,5>, {}) ; pp(aaa); aaa1 <- tplus(aaa,a2,"wwww"); pp(aaa1); aaa2 <- tplus(aaa1,a3,<3,2>); pp(aaa2); pp(aaa); pp(p3(aaa)); =cut ; Teste dos functores: fg(x1)= x1.+ 33 ; aaa1 <- a(12,"asdasd asdasdasd",<1,2,3,4,5>, {"rui","aninhas","miguel"}) ; bbb1 <- b(1,12); bbb2 <- b(2,"nada"); d<- fprod()(<2,3,4>) ; e<- fprod()(aaa1); f<- fprod() ( < 2,3>) ; g <- cotup()(bbb1); h <- fadd()(bbb1); i <- cotup()(bbb2); j <- fadd()(bbb2); k <- cotup()(<2,"batata">); l <- fadd()(<2,"batata">); m <- tup()(2); n<- fprod()(aaa1); aaaa <- < a(11,"elefantes",<1,2,3,4,5>, {"str" ++ itoa(x)}) | x <- inseg(30) > ; o<- fprod()-seq (aaaa); TYPE a = a1:INT a2:STR ; b = INT * STR ; c = INT + INT + STR ; d = INT * INT * STR ; e = d * c ; ENDTYPE f1(x)= x .+ 3 ; f2(x)= x .+ 33 ; f3(x)= x ++ "e mesmo" ++ x ; a1 <- a(12,"a1"); b1 <- b(12,"a1"); c1 <- c(1,12); c2 <- c(2,222222); c3 <- c(3,"c3"); d1 <- d(12,333333,"d1"); e1 <- e(d1,c3); m <- (f1 _x_ f2 _x_ f3)(d1); n <- (f1 _x_ f2 _x_ f3)(<12,13,"batata">); o <- (f1×f3)(a1); /* using a non ascii char × (alt shit w) */ p <- ((f1 × f2 × f3) × (f1 _+_ f2 _+_ f3))(e1);