2

かっこをそのまま使用する必要があるかもしれませんが、Haskell に存在するドル記号などの演算子は、コードをクリーンアップして読みやすさを向上させると思わずにはいられません。

それに続くすべてのシンボルに優先/バインドするものを探しています。

putStrLn (show $ 1 + 1)
putStrLn $ show (1 + 1)
putStrLn $ show $ 1 + 1

スレッド演算子について知っています。これらは非常に便利で、確かに可読性が向上しますが、実際には括弧の数は減りません。ほとんどの場合、それらは関数合成 (Haskell . 演算子) に似ているように見えます。

4

2 に答える 2

9

この$演算子は、バインディングの優先順位が低いことに依存しています。実際には、最も低い.

Clojure、Scheme、Lisp はユーザー定義の優先順位や固定性をサポートしていないため、これらの構文構造を Haskell のように定義することはできません。

于 2012-05-27T23:37:35.240 に答える
3

そのような機能はないと思いますが、マクロを使えば作成できるかもしれません。リーダー マクロ (Clojure には存在しない) がなければ、最も外側の括弧のペアを削除することはできませんが、内側の括弧はすべて削除できます。マクロの作成方法を学んだばかりなので、あとで勇気があればやってみようと思います。:)

Clojure 構文をサポートするエディターを使用すると、読みやすさが大幅に向上します。私は個人的に emacs や SLIME などを使用していますが、(特に Paredit では) 括弧がほとんど表示されません。

于 2012-05-27T23:40:01.603 に答える