PTC and "SHOULD" vs "MUST"

# Peter Michaux (14 years ago)

harmony:proper_tail_calls

I notice that in the proper tail calls wiki page that a compliant interpreter "SHOULD implement a call in proper tail position as a PTC." In order for a programmer to use proper tail calls for arbitrarily deep recursion, the programmer needs a guarantee that the interpreter will use proper tail calls. This would mean the "SHOULD" needs to be a "MUST". Otherwise what does the proper tail calls proposal gain the programmer?

For example, R5RS has much stronger language compared with "SHOULD" about Scheme using proper tail calls.

"Implementations of Scheme are required to be properly tail recursive."

With that language the programmer using Scheme can then depend on that feature.

Peter

# Brendan Eich (14 years ago)

Thanks for catching this, it goes back to doku.php?id=strawman:proper_tail_calls&rev=1273414092 (first rev). Cc'ing Mark. I bet it is just a thinko for MUST and we can fix it quickly.

# David Herman (14 years ago)

Agreed. Should be "must."

# Mark S. Miller (14 years ago)

It wasn't just a thinko, but I'm actually happier with MUST. Fixed.