3 ms·
Yes, it uses ML-style type inference, but that doesn't mean you are literally unable to annotate types, and the compiler is absolutely still doing type checking
by Gene_Parmesan 4y ago
Yes, it uses ML-style type inference, but that doesn't mean you are literally unable to annotate types, and the compiler is absolutely still doing type checking. I'm sure people like Jane Street annotate everything.
In addition, perhaps a small point relative to the first, but in Ocaml, the arithmetic operators perform no type inference; there's a separate operator for float-addition versus int-addition, and so on. This somewhat limits your exposure to potential automatic type conversions.
- mgaunard 4y agoThat is not the idiomatic way to use OCaml, so I wouldn't assume they do that.
- LeonidasXIV 4y agoWriting `mli` files is pretty much idiomatic or at the very least, not unusual.
- mgaunard 4y agoOnly for the public API boundary.
- SonOfLilit 4y agoAt least in similar languages like Haskell, what you do is let the compiler infer types and then press an IDE key combination to write out those inferred types as part of your code so you would get an error if you ever accidentally change the types.