$
最近は、いそがしくてSICPの問題が解けていないんですが、ふつうのHaskellプログラミングを読んでいます。
ふつけるを読んでいて、入門Haskellにもでてきていたのですが、$というものの便利さに気づきました。
入門Haskellでは、$は何もしない関数として紹介されていたので、意味がわからなかったので、サンプルもスルーしていたみたいでした。
$は、右結合をもつ関数です。右結合をもち、何もしない関数。
どんな場面で便利かというと、例えば、こんなコード。
dol x = take 5 ( reverse ( replicate 100 x))
のような括弧が多いコードを
dol x = take 5 $ reverse $ replicate 100 x
のように、括弧を減らして読みやすくすることができます。
$は先ほど述べたように右結合の関数なので、右から関数が適用されていきます。
自分は、括弧がある程度多いと、なんとなくLispっぽく感じてしまうので、この$が大好きです。