Dawn of War 3 made DoW 2 look like Game of the Decade by comparison. I hear they're making a DoW 4, and they're not even mentioning 3 when talking about the history.
State machines come to mind: a transition is just a function call. Unfortunately that's a general tail call, not always a recursive one, so no love from this library, and that's where "proper" TCO wins (or trampolines if $your_language lacks TCO)
Also it wouldn't help with Fibonacci, since while it's recursive, it's not tail-recursive (yes, it can be written that way, but I'm talking about the idiomatic naive definition).
Sun was pushing it as a way to script Java applets. Might have even worked out if LiveConnect (the interface layer between Java and JS) wasn't such buggy trash.
And if Java wouldn't have been such a big beast. The startup times for the runtime and memory usage were way too high for a good experience for most user's machines.
reply