In OCaml, there are different arithmetic operators for floats and integers. Additionally, these operators can only be used on 2 floats or 2 integers. Here are invalid expressions in OCaml
1.0 + 2.0
1 + 2.0
1 +. 2
1 +. 2.0
The correct expression for each of these respectively are
1. +. 2.
float_of_int 1 +. 2.
1 + 2
float_of_int 1 +. 2.
There is no automatic casting of integers to floats or vice-versa in OCaml. Everything is explicit. Here is a list of the integer and float operators
| Operation | Integer Operator | Float Operator | 
|---|---|---|
| Addition | a + b | c +. d | 
| Subtraction | a - b | c -. d | 
| Multiplication | a * b | c *. c | 
| Division | a / b | c /. d | 
| Modulus | a mod b | modfloat c d | 
| Exponentiation | N/a | c ** d | 
Where a and b are integers and c and d are floats.