5 ms·
Some years ago I also wanted to make ocaml my primary language, but rapidly encountered problems: difficulty to install (on Linux due to the requirement of a ve
by raphinou 1y ago
Some years ago I also wanted to make ocaml my primary language, but rapidly encountered problems: difficulty to install (on Linux due to the requirement of a very unusual tool which name and function I forgot), no response from community regarding how to solve that problem, no solid postgresql driver, ....
Wanting to use a functional language I pivoted to fsharp, which was not the expected choice for me as I use Linux exclusively. I have been happy with this choice, it has even become my preferred language. The biggest problem for me was the management of the fsharp community, the second class citizen position of fsharp in the DotNet ecosystem, and Microsoft's action screwing the goodwill of the dev community (eg hot reload episode). I feel this hampered the growth of the fsharp community.
I'm now starting to use rust, and the contrast on these points couldn't be bigger.
Edit: downvoters, caring to share why? I thought sharing my experience would have been appreciated. Would like to know why I was wrong.
- johnisgood 1y ago> difficulty to install Use opam: https://opam.ocaml.org https://opam.ocaml.org or https://opam.ocaml.org/doc/Install.html https://opam.ocaml.org/doc/Install.html. Additionally, see: https://ocaml.org/install#linux_mac_bsd https://ocaml.org/install#linux_mac_bsd and https://ocaml.org/docs/set-up-editor https://ocaml.org/docs/set-up-editor. It is easy to set up with Emacs, for example. VSCodium has OCaml extension as well. All you need for the OCaml compiler is opam, it handles all the packages and the compiler. For your project, use dune: https://dune.readthedocs.io/en/stable/quick-start.html https://dune.readthedocs.io/en/stable/quick-start.html.
- Milpotel 1y ago"use opam" is always the answer but in reality its the worst package manager ever. I've never seen so many packages fail to install, so many broken dependencies and miscompilations that resulted in segfaults due to wrong dependencies. I just gave up with Ocaml due to the crappy ecosystem, although I could have lived with the other idiosyncrasies.
- nukifw 1y agoThere is a lot of work on Dune Package Management that will fix some legacy issues related to OPAM, https://dune.readthedocs.io/en/stable/tutorials/dune-package-management/setup.html https://dune.readthedocs.io/en/stable/tutorials/dune-package... !! Stay tuned!
- johnisgood 1y agoDune is not a dependency manager, it is a build tool. Opam is the dependency manager. By default, Dune doesn't fetch dependencies, opam does that. That said, Dune does use opam, yeah.
- nukifw 1y agoAnd the next milestone of Dune is to become an alternative package manager via Dune package Management, using a store in a "nixish" way.
- johnisgood 1y agoI suppose it is still going to use opam internally, right?
- yawaramin 1y agoNo, it is doing its own package management implementation.
- johnisgood 1y agoSo dune is going to replace opam? Where can I read more about this if so?
- yawaramin 1y agohttps://discuss.ocaml.org/t/dune-package-management-update/16477 https://discuss.ocaml.org/t/dune-package-management-update/1...
- davidwritesbugs 1y agoI abandoned ocaml just because I couldn't get a stepping debugger to work. Can't remember the exact issues but I tried to install in vscode to no avail & I've no interest in emacs