Project

General

Profile

Actions

Feature #16945

closed

Enable TCO by use of special form

Added by x3qt (Jury Paliakou) almost 4 years ago. Updated almost 3 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:98703]

Description

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:

def fact(n, acc = 1)
  return acc if n <= 1
  recur(n - 1, n * acc) # recursive call with TCO enabled
end

Related issues 1 (1 open0 closed)

Is duplicate of Ruby master - Feature #12543: explicit tail call syntax: foo() then returnAssignedmatz (Yukihiro Matsumoto)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0