{- Computations -} new f : ^[Int ^Int] run f ?* [n r]= if (== n 0) then r! 1 else ( new r' : ^Int ( f! [(- n 1) r'] | r'? m = r! (* n m) ) ) run ( new r : ^Int val v=6 ( f! [v r] | r? wynik = printi! wynik) ) {- def silnia (n : Int) : Int = if (== n 0) then 1 else (* n (silnia (- n 1))) val v=29 run printi! (silnia v) -}