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.
I've never had a chance to try it, but formal verification with Coq always looked really interesting.
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 ¯_(ツ)_/¯