>>107

>>75の理由で引くつもりは無いので、Haskellについては的外れだろうが推す。

第一、再帰が難しいと言うが、複雑度合いで行けば再帰よりループの方が複雑だ。
一般にループは末尾再帰と同程度の複雑さとされる。
論理的思考を教えるのにスタックを消費するからってのは考えないで良いなら、再帰の方が単純。

0からnまでの合計
Python
def mysum(n):
a = 0
for i in range(n + 1):
a += i

return a

Haskell
mysum 0 = 0
mysum n = n + mysum (n - 1)