使用可能なさまざまな整数データ型、それらの型、関連するモジュール、およびリテラル構文の比較を次に示します。
let int : int = Pervasives.abs(42);
let int32 : int32 = Int32.abs(42l);
let int64 : int64 = Int64.abs(42L);
let nativeint : nativeint = Nativeint.abs(42n);
は自動的に開かれるため、上記Pervasivesのように機能を修飾する必要はありません。
ìntはネイティブに 32 ビット プラットフォームでは 31 ビット、64 ビット プラットフォームでは 63 ビットであり、int32、int64またはによって提供される正確な算術セマンティクスが必要でない限り、使用する型ですnativeint。In32、Int64、およびNativeintすべてに次の (または同様の) メモが含まれています。
パフォーマンスに関する注意: int32 型の値は int 型の値よりも多くのメモリ空間を占有し、int32 の算術演算は int の算術演算よりも一般に遅くなります。int32 は、アプリケーションが正確な 32 ビット演算を必要とする場合にのみ使用してください。
それがあなたの質問に答えることを願っています。
編集: BuckleScript を使用して JavaScript にコンパイルする場合、これは Reason では非常に一般的ですが、セマンティクスはわずかに異なります。
int32そしてint64同じように振る舞う
intのように振る舞うint32
nativeintはほとんどの場合 のように扱わfloatれますが、より整数のようになるいくつかの例外があります。
ソース: https://bucklescript.github.io/docs/en/difference-from-native-ocaml.html#integers