Tail Call Optimization

This cluster discusses tail-call optimization (TCO), its role in enabling efficient recursion without stack overflow, comparisons to iteration/loops, and the lack of TCO in many mainstream programming languages like Python.

➡️ Stable 0.6x Programming Languages
6,312
Comments
20
Years Active
5
Top Authors
#1490
Topic ID

Activity Over Time

2007
11
2008
50
2009
205
2010
213
2011
245
2012
186
2013
271
2014
326
2015
320
2016
411
2017
411
2018
370
2019
337
2020
359
2021
557
2022
495
2023
485
2024
438
2025
604
2026
18

Keywords

e.g TFTP IMHO OP CPU cl.html FIVE MTA HTTP TCE recursion tail optimization recursive elimination function loop code map lua

Sample Comments

scythe Oct 25, 2009 View on HN

There's more to tail-call optimization than simply imitating iteration using recursion.

hydroxideOH- Mar 8, 2021 View on HN

Recursion doesn't use more space than iteration in languages with tail call optimization

rheide Oct 23, 2011 View on HN

Not implementing proper tail recursion in Python considered harmful.

lysium Nov 19, 2017 View on HN

Don't forget tail recursion!

blasdel Jun 13, 2009 View on HN

Yes, but in language implementations without TCO, it's just recursion.

finitocom Nov 17, 2012 View on HN

How does tail-recursion fit into this discussion of infinite recursion?

crimsonalucard Sep 23, 2014 View on HN

That's not tail recursion! It's tree recursion.

oldsecondhand Dec 28, 2023 View on HN

In a language with tail-call optimization, it won't.

rs86 Jun 16, 2017 View on HN

Why does it prohibit recursion? Tail call optimization can prevent stack overflow

smithjchris Dec 4, 2009 View on HN

99% of programmers don't know what a tail call is, so why do you need them?