I'm a big fan of segmented stacks (or 'split stacks'), where stack frames are heap allocated, You can write recursive functions with less worry, and you get better tracebacks than TCO.
Go is the most popular language with this feature, to my knowledge:
miniblog.
Related Posts
What are the most popular languages that have used an AST walker for their implementation?
I know Ruby used to do this, but there must be others.
(I'm interested in the lowest PL speed that users will tolerate if you have awesome features.)
I'm a big fan of segmented stacks (or 'split stacks'), where stack frames are heap allocated, You can write recursive functions with less worry, and you get better tracebacks than TCO.
Go is the most popular language with this feature, to my knowledge: https://dave.cheney.net/2013/06/02/why-is-a-goroutines-stack-infinite
I'd assumed that LLVM didn't support this, but gollvm handles it fine! https://groups.google.com/g/golang-nuts/c/ivOZ-j6Zt2c/m/BUBX2Td9BgAJ
Running a package manager host for a popular language is really expensive. TIL that Python costs several million dollars per year!