Enable TCO by use of special form
I would like to propose to create some way to enable TCO in ruby by use of special form, like (recur)[[https://clojure.org/reference/special_forms#recur]].
AFAIK TCO is not enabled by default because it messes with stack traces, so by implementing some special form we will avoid changing default behavior and provide opportunity to use it at the same time.
def fact(n, acc = 1) return acc if n <= 1 recur(n - 1, n * acc) # recursive call with TCO enabled end
Updated by x3qt (Yury Polyakov) 10 months ago
shyouhei (Shyouhei Urabe) wrote in #note-4:
Tell us how is it better than #12543, which is receiving negative feedbacks?
foo() then return
Syntax proposed in #12543 does not look good to me, specifically because it is not a single word and using already existing constructions, so can be confusing because it is a special meaning.