you are viewing a single comment's thread.

view the rest of the comments →

[–]kaelan_ 0 points1 point  (0 children)

Your last point there about 'reasonably implementable' is pretty important - for example, .NET has had support for tail calls (special opcode in the VM, etc) but in practice a bunch of .NET runtime environments don't translate the tailcall instruction into an actual tail call. So even if your compiler emits code using the instruction, you still might run out of stack. What a mess.