this post was submitted on 04 Mar 2024
        
      
      949 points (97.4% liked)
      Programmer Humor
    38919 readers
  
      
      45 users here now
      Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
        founded 6 years ago
      
      MODERATORS
      
    you are viewing a single comment's thread
view the rest of the comments
    view the rest of the comments
 
          
          
I thought Tail recursion just gets turned into an iterative loop by the compiler? Hence why you won’t get a stack overflow. And since in procedural languages you can just use a loop in place of a tail recursive function you would never run into this problem, right? At least this is how it was taught to me when I was learning about it in lisp.
Yes you still need the loop part I skipped over that one, only focussing on the "why no return address on the stack" part. It's what you need to focus on to see whether a recursive call is in a tail position and if it is the compiler does the rest no need to worry about that part.