Skip to main content

Questions tagged [tail-call]

Filter by
Sorted by
Tagged with
3 votes
3 answers
1k views

I'm currently reading through Structure and Interpretation of Computer Programs (SICP). During the course of that book, the lesson of "you can optimize recursive procedures by writing them as ...
J. Mini's user avatar
  • 1,015
3 votes
2 answers
2k views

I've recently gotten into functional programming. I asked a question earlier over here "'Remembering' values in functional programming" and learned a lot of things I hadn't even realized I wanted to ...
Ucenna's user avatar
  • 1,312
0 votes
0 answers
76 views

Simply put, what happens when I have a delegate, that delegate contains a method with a tail call request, and then I call it from a non-tail position? If I called the method directly, it would ...
Telastyn's user avatar
  • 110k
3 votes
3 answers
855 views

Short question is: what can qualify for potential tail call recursion optimization (TCO) or tail recursion elimination (TRE) if the compiler or interpreter supports it. The summary of this question ...
nonopolarity's user avatar
  • 1,837
2 votes
1 answer
336 views

I've heard some people in my university discuss the tail call optimisation in ML as if it were a special version tail call optimisation. Does the ML (SML/F#) implementations of tco in these languages ...
calben's user avatar
  • 611
2 votes
2 answers
645 views

Is it theoretically possible to transform every kind of general-recursion into tail-recursion? Are they equivalent for example from a lambda-calculus point of view? That's a debate between me and an ...
user131411's user avatar
1 vote
1 answer
1k views

I am trying to learn continuations and use them to implement coroutines in Scheme. I have two procedures (coroutines) a and b, and I switch between them in the following way: ;; c is a continuation. ...
Giorgio's user avatar
  • 19.8k
4 votes
1 answer
799 views

I am trying to write a tail-recursive implementation of the function take-while in Scheme (but this exercise can be done in another language as well). My first attempt was (define (take-while p xs) ...
Giorgio's user avatar
  • 19.8k
14 votes
4 answers
3k views

Every single time there's a discussion about a new programming language targetting the JVM, there are inevitably people saying things like: "The JVM doesn't support tail-call optimization, so I ...
Cedric Martin's user avatar
4 votes
1 answer
4k views

Ok, Python doesn't have tail call optimization. But for those who think better recursively than "looply", whats the best practices to write code?? 1000 stack calls are enough for many cases, but ...
Lucas Ribeiro's user avatar
24 votes
3 answers
4k views

We all know and love that function calls are usually implemented using the stack; there are frames, return addresses, parameters, the whole lot. However, the stack is an implementation detail: ...
Lorenzo Dematté's user avatar
50 votes
9 answers
68k views

Question What are the possible ways to solve a stack overflow caused by an recursive algorithm? Example I'm trying to solve Project Euler problem 14 and decided to try it with a recursive algorithm....
Lernkurve's user avatar
  • 847
20 votes
2 answers
2k views

The definition of a Y combinator in F# is let rec y f x = f (y f) x f expects to have as a first argument some continuation for the recursive subproblems. Using the y f as a continuation, we see ...
nicolas's user avatar
  • 349
38 votes
4 answers
11k views

Clojure does not perform tail call optimization on its own: when you have a tail recursive function and you want to have it optimized, you have to use the special form recur. Similarly, if you have ...
Andrea's user avatar
  • 5,425