(Форт и регистры)
В классических фортах-то понятно: пока типизация динамическая, от присутствия стека никак нельзя избавиться, ведь он нужен, потому что рантайм не знает, что может быть с содержимым стека дальше. Статическая проверка типов как раз может дать знание, что с чем будет, кто кого кому передаёт и т. д., и потому можно распределить переменные более оптимально.
Разница с размещением обычного фортовского стека частично в регистрах будет ещё и в том, что (1) регистры будут не обязательно строго соответствовать конкретным уровням стека всё время и (2) если данные не занимают одинаковое место, мы сможем экономить его (в динамическом языке придётся данные держать или в виде условно вариантной записи (и нам придётся выделять условно
sizeof(double) даже для представления одного символа ASCII), или в виде тега-с-указателем (это ровно как вариантная запись, но вместо настоящих данных указатель на них куда-то в хип), и тогда нам придётся всё время выделять и освобождать память в хипе, а статическая типизация позволила бы держать в регистрах непосредственно сами данные и одновременно же без оверхеда.
Ровно это я имел в виду, а то, что это наверняка не в духе форта, я готов признать.