Why microhs uses combinators?
Haskell Community [Unofficial]
April 28, 2026
It’s correct that the use of combinators is mostly a historical accident.
But that said, I think it’s easier to translate lambda calculus to combinators and then have combinator interpreter. Combinators are very simple and easy to implement. The great advantage is that there are no variables, so there is no complicated handling of environments. You also get full laziness for free.
So unless I’m going to generate native code, I would use combinators again. I think it’s easier and as efficient. But I’m happy to be proven wrong. MicroHs is there for anyone to experiment with.
Discussion in the ATmosphere