From: nobu@... Date: 2020-06-11T01:15:26+00:00 Subject: [ruby-core:98725] [Ruby master Feature#16945] Enable TCO by use of special form Issue #16945 has been updated by nobu (Nobuyoshi Nakada). I thought that we had more discussions for tail-call syntax, but couldn't find others. ---------------------------------------- Feature #16945: Enable TCO by use of special form https://bugs.ruby-lang.org/issues/16945#change-86081 * Author: x3qt (Yury Polyakov) * Status: Open * Priority: Normal ---------------------------------------- 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. Example: ``` ruby def fact(n, acc = 1) return acc if n <= 1 recur(n - 1, n * acc) # recursive call with TCO enabled end ``` -- https://bugs.ruby-lang.org/ Unsubscribe: