3 ms·
> I think it's a bit weak for "programming in the large" Really have to disagree with this one, for programming in the large the best tool you have is modulari
by yawaramin 7y ago
> I think it's a bit weak for "programming in the large"
Really have to disagree with this one, for programming in the large the best tool you have is modularization, and OCaml's module implementation is second to none.
> (cumbersome types,
This is usually an indication of trying to program OCaml 'like Haskell' or some other language, instead of learning the OCaml way.
> typeclasses,
Matter of opinion but I honestly think not having return-type polymorphism, and having a slightly more explicit model, actually works in OCaml's favour–faster compile times, more explicit type errors, less 'magical-looking' code that's easier to follow.
> lack of type annotations sometimes hurts)
Sometimes–but the idiom is very much to put type annotations in separate interface files, which I think is the best of both worlds–implementations look clutter-free and almost dynamic; and interfaces are explicitly typed and documented.
> Last I checked, the default lib was still very poor,
I encourage checking again, the default standard library has received a lot of updates. Of course there may be a difference of philosophy here, the OCaml standard library is not Go-style. In other words, it's not going to ship a JSON decoder and an HTTP server. But very high-quality packages are available on OPAM nowadays so IMHO this is not really a big deal.
> Multicore I guess I can forgive,
OK, great! ;-)
> What's an example of a recent codebase written in "modern" OCaml / Reason?
Well I'm working on an OCaml/Reason web framework written in a pretty modern OCaml style: https://github.com/yawaramin/re-web https://github.com/yawaramin/re-web