- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Haskell ++演算子 右結合)
Haskellの++演算子の名前と結合の仕組みについて
このQ&Aのポイント
- Haskellで++演算子についての名前と結合の仕組みについて調べました。
- 通常のHaskellプログラミングの文献やインターネットで読み方が書かれていないため、ルールについて調査しました。
- ++演算子は右結合であり、模範解答と私の考え方についても説明しました。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(++)に限らず,この手のものにはとくに読み方なんぞは 決まってません. そのまま「プラスプラス」しかないでしょう. ghciで :i (++) とすれば (++) :: [a] -> [a] -> [a] -- Defined in GHC.Base infixr 5 ++ と返ってくるので (++)は 右結合・優先順位5です 「ふつける」のサイトの正誤表には何かないのですか? Preludeでの定義は (++) :: [a] -> [a] -> [a] (++) [] ys = ys (++) (x:xs) ys = x : xs ++ ys (++)に関しては右だろうが左だろうが結果は変わらないのですが あえて右にしてるのは,演算の効率性でしょう この定義では 第一引数のリストが長いほど再帰呼び出しの回数が増えるのは自明です. 左結合にすると第一引数が長くなる傾向になりますので.
お礼
正誤表はあったのか?解りません。 疑問点がわかればそれで良いと思います。