Haskell のように関数を適用するのではなく、関数名の連結は関数の合成と同じであるというのが本来の考え方である連結言語の基礎を学んでいます。
Joy、Forth、または Factor は後置、つまりスタック ベースを意味しますが、Om などの前置連結言語もいくつかあります。
Haskell バリアントは、合成の優先順位 (現在は 9) を関数適用の優先順位 (現在は 10) と交換する (または等しくする) だけで、理論的には連結言語になるのではないかと思います。
Haskell の値が引数のない関数にすぎない場合、関数の適用が関数の合成と異なるのはなぜですか?, 関数の適用は、引数のない関数で合成することと同じではありませんか?.
新しい合成演算子と適用演算子を異なる優先順位で定義し、括弧のない単純な連結が合成であると仮定することにより、連結構文を Haskell 構文に変換するインタープリターまたはプリコンパイラーを簡単な方法で作成することは可能でしょうか? これは単なる構文の問題だと思いますが、私は間違っていますか? Haskell で括弧や $ 演算子を使用しなければならない多くのケースを避けることができます。それとも、構文や優先順位だけでなく、もっと根本的な問題なのでしょうか?
ヒント: Haskell のすべての関数と演算子が接頭辞であると仮定すると、この演習では、中置記法とあらゆる種類の「構文糖衣」について忘れることができます。