88221
タイトルのようにOCamlで自分が定義した演算子の結合性を質問したいと思います。

ためしたこと：

```

    let (^-^) a b = a - b;;
    3 ^-^ 2 ^-^ 1;;
    - : int = 2
    
```

ここは右結合ですね、

補充：

```

    let (||>) a b = a - b;;
    3 ||> 2 ||> 1;;
    - : int = 0
    
```

なぜここでは左結合になるでしょう？

どんなルールで結合性が決まるのですか？
CC BY-SA 4.0
2022-04-08T03:11:37.753
88219
2022-04-08T04:30:52.973
2022-04-08T03:16:47.597
41314
41314
question
ocaml
OCamlで自分が定義した演算子の結合性は？
定義した演算子の名前がどの記号から始まるかによって、優先度と結合性が変わります。詳しくは OCaml のマニュアルをご覧ください:
<https://ocaml.org/manual/expr.html#ss%3Aprecedence-and-associativity>

今回の場合だと、`(^-^)` は `^` から始まるので右結合、`(||>)` は `|` から始まるので左結合です。
CC BY-SA 4.0
2022-04-08T04:30:52.973
88221
2022-04-08T04:30:52.973
19110
88219
answer