ну, и возвращаясь к тематике чата, можно ли сказать, что какая-то из этих архитектур лучше ложится на ФП?
Я бы рассмотрел верхний и нижный уровень IR. Для HIR полезным может быть комбинаторное описание вычислений. Тут можно делать улучшения чуть ли не на алгоритмическом уровне с помощью простых правил переписывания. Такие штуки известны еще со времен APL. А для LIR, думаю, тот же подход MLton с порождением SSA более предпочтителен, хотя и не отличается от императивных компиляторов, чем какие-то ФП-специфичные штуки. В принципе, графовое представление для IR — наиболее перспективно. Оно отражает параллелизм микроархитектуры. В той же старой книжке Харрисона и Филда наряду с разделом по редукции графов был раздел по dataflow-архитектурам. Но datalfow-языки начала 80-х (SISAL и прочие) не всегда и к ФП относят. Есть еще совсем академические разработки графового IR именно для ФП. Это VSDG. Штука весьма интересная, но, возможно, ее время еще не пришло.