2010-07-21 17:19:51 +02:00
|
|
|
const n:int = 42
|
|
|
|
|
|
|
|
fun inc(a:int) returns (o:int)
|
|
|
|
let
|
|
|
|
o = a + 1;
|
|
|
|
tel
|
|
|
|
|
|
|
|
fun f1(a:int^n) returns (o:int^n)
|
|
|
|
let
|
2011-03-21 20:45:48 +01:00
|
|
|
o = map<<n>> inc (map<<n>> inc (a));
|
2010-07-21 17:19:51 +02:00
|
|
|
tel
|
|
|
|
|
|
|
|
fun f2(a,b:int^n) returns (o:int^n)
|
|
|
|
let
|
2011-03-21 20:45:48 +01:00
|
|
|
o = map<<n>> (+) (map<<n>> inc (b), map<<n>> inc (a));
|
2010-07-21 17:19:51 +02:00
|
|
|
tel
|
|
|
|
|
|
|
|
fun f3(a,b:int^n) returns (o:int^n)
|
|
|
|
let
|
2011-03-21 20:45:48 +01:00
|
|
|
o = map<<n>> (+) (b, map<<n>> inc (a));
|
2012-07-17 17:57:04 +02:00
|
|
|
tel
|
|
|
|
|
|
|
|
node main() returns (o:int^n)
|
|
|
|
var t1,t2:int^n;
|
|
|
|
let
|
|
|
|
t1 = f1 (1^n);
|
|
|
|
t2 = f2(t1, 2^n);
|
|
|
|
o = f3(t1,t2);
|
|
|
|
tel
|