O que impede o ghc de traduzir o Haskell em uma linguagem de programação concatenativa, como lógica combinatória, e simplesmente usar a alocação de pilha para tudo? Segundo a Wikipedia, a tradução do cálculo lambda para a lógica combinatória é trivial e também as linguagens de programação concatenativas podem contar apenas com uma pilha para alocação de memória. É possível fazer essa tradução e, assim, eliminar a coleta de lixo para idiomas como Haskell e ocaml? Existem desvantagens em fazer isso?
Edição: movido para aqui /programming/39440412/why-do-functional-programming-languages-require-garbage-collection