What do you call "stackless"? That's usually the property of an interpreter or a VM, not of a language.
Or do you mean all languages that don't explicitly use a stack (like Perl, Python, Ruby...)?
Anyway, there's also a (currently broken) parrot implementation of forth, which is explicitly stack based. So I guess your question should be answered with "yes" ;-). | [reply] |
yes, that was a rather vague question.
When I said stackless versus stack, I wasnt referring to a stack as a data structure (as used in forth/factor/joy), but in the sense of stackless python which is not actually stackless, but separates the frame stack from the C stack.
Now practically what that means for me is continuations in the language as opposed to a library like Contize which allows for succinct web programming. The stackless python homepage mentions other benefits.
| [reply] |
Well, parrot uses CPS (continuation passing style) for control flow, and I'm pretty sure it's stackless in the sense that a call to HLL function doesn't imply a function call (which would use the stack) in the vm. So it's easy to implement language-level coroutines efficiently.
| [reply] |