この質問の後、私は何を考えるべきかわかりません。
OCaml では、-1.0**2.0 のようなことをすると (浮動小数点数が必要なので)、1.00 が得られます。操作の標準的な順序によると、結果は -1 になるはずです (Python の場合と同様)。
OCaml での演算子の優先順位の理由や明確な定義を見つけることができませんでした...
これは型システムのせいですか?または、下に pow のバインディングがあるという事実ですか?
この質問の後、私は何を考えるべきかわかりません。
OCaml では、-1.0**2.0 のようなことをすると (浮動小数点数が必要なので)、1.00 が得られます。操作の標準的な順序によると、結果は -1 になるはずです (Python の場合と同様)。
OCaml での演算子の優先順位の理由や明確な定義を見つけることができませんでした...
これは型システムのせいですか?または、下に pow のバインディングがあるという事実ですか?
あなたが引用したまさにそのページが言っているように、「単項演算子 - (通常は「マイナス」と読む) が動作する順序はしばしば問題になります。」-- それは、Excel と bc が O'CAML と同じ優先度を持つとして引用していますが、「書かれたまたは印刷された数学では」Python と同じように機能するとも述べています。したがって、本質的に、この特定の問題については普遍的なコンセンサスはありません。
演算子の優先順位は、OCaml では構文指向です。つまり、関数識別子の最初の文字 (および単項かバイナリか) が、固定されたシーケンスに従って演算子の優先順位を決定します。これを、関数識別子を形成するために使用される文字に関係なく、関数定義で演算子の優先順位を指定できる Haskell などの言語と比較してください。