NB. Laboratory Experiment 9 Software NB. a recursive function to sum the integers 1 to n sum =: monad define if. 0 = y. do. 0 else. y. + sum y. - 1 end. ) traced_sum =: monad define entering y. if. 0 = y. do. leaving 0 else. leaving y. + traced_sum y. - 1 end. ) NB. an iterative function to sum the integers 1 to n sum_iter =: monad def 'sum_iter_helper y. , 0 1' sum_iter_helper =: monad define 'n acc i' =. y. if. i <: n do. sum_iter_helper n , (acc + i) , i + 1 else. acc end. ) traced_sum_iter =: monad def 'traced_sum_iter_helper y. , 0 1' traced_sum_iter_helper =: monad define entering y. 'n acc i' =. y. if. i <: n do. traced_sum_iter_helper n , (acc + i) , i + 1 else. leaving acc end. ) compiled_sum =: monad def 'compiled_sum_iter y. , 0 1' compiled_sum_iter =: monad define 'n acc i' =. y. while. i <: n do. acc =. acc + i i =. i + 1 end. acc )