RosettaCodeData/Task/Loops-For/Dodo0/loops-for.dodo0

35 lines
632 B
Plaintext

fun for -> var, test, body, return # define a for loop using recursion
(
test(var) -> continue
if (continue) ->
(
body(var) -> var
for (var, test, body, return)
)
|
return(var)
)
| for
fun upToFive (-> index, return) '<='(index, 5, return) | upToFive
for (1, upToFive) -> index, return
(
fun countTheStars -> stars, return
(
'count'(stars) -> n
'<'(n, index, return) # continue until n = index
)
| countTheStars
for ("*", countTheStars) -> prefix, return
'str'(prefix, "*", return)
| stars
println(stars) ->
'inc'(index, return)
)
| result
exit()