OCaML is an amazing language to explore type arithmetic and type based programming. CaML in general is famous for its type flexibility.
Functional Programming
Is there a CaML worth exploring/using other than OCaml?
CaML is more functionally pure but I think OCaML is generally more useful. I'd suggest just focusing on OCaML.
Modules. I find they're a really great to organize code, and a lot of Ocaml code out in the wild use them.
If you want to read some monads in the wild, go check the code for Jane's Street "core_unix.command_unix"
Otherwise, GADT, but they are used sparingly because they make type inference undecidable
Ahh I see, so Monads are not that great for Ocaml then?
What's the best way to handle side effects? I suppose one way is to reduce the amount of code using them. Is there a better approach?
I would be lying if I said that I was a professional Ocaml developer.
I do definitely think the Jane's library is very hard to read... But that might be my inexperience
I personally think regular, procedural code is much easier to read ¯_(ツ)_/¯
I've never had a chance to try it, but formal verification with Coq always looked really interesting.