One of the advantages of TCE in Logo (in combination with turtle graphics) is that you can teach the concept of recursion in a gradual and intuitive manner. You can start with drawing a circle, using recursion to make an infinite loop, stopping it manually after a while:
to circle
fd 3
rt 7
circle
end
Add a parameter, and get a spiral. The turtle winds its way off the screen, and again the student can stop the program manually:
to spiral :x
fd :x
rt 30
spiral (:x + 1)
end
Introduce a base-case, and now the program stops itself at a desired size:
to spiral :x
if (:x = 30) [ stop ]
fd :x
rt 30
spiral (:x + 1)
end
Small, unsurprising steps building up an intuitive grasp of a useful concept.
TCE can also improve the economy of the language, reducing the number of "primitive" control flow concepts that need to be provided out of the box. Since Logo has no "special forms" and is not eagerly evaluated like a Lisp, it's easy to make new control constructs without needing to teach any magic:
to while :cond :proc
unless run :cond [ stop ]
run :proc
while :cond :proc
end
Little things matter.