Why OCaml?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern API for authentication & user identity.
  • LearnThisRepo.com - Learn 300+ open source libraries for free using AI.
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • ionide-vscode-fsharp

    VS Code plugin for F# development

    The DarkLang project was originally written in OCaml and was recently ported to F# (https://blog.darklang.com/new-backend-fsharp/)

    > How much work would it take in term of code rewriting?

    There are definitely code changes required, but I think those are quite manageable as concepts mostly map 1:1 from OCaml to F#.

    > can it compile to native code?

    Yup, https://learn.microsoft.com/en-us/dotnet/core/deploying/nati...

    > how good is the language support experience in vscode?

    Pretty good, https://ionide.io

    (but I personally prefer JetBrains Rider)

    > any reason not to do it?

    Compilation speed, some OCaml language features?

  • eioio

    Effects-based direct-style IO for multicore OCaml

    Here's an example using OCaml 5 to run multiple fibers concurrently (look - no monads!):

    https://github.com/ocaml-multicore/eio#fibers

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • opam-monorepo

    Assemble dune workspaces to build your project and its dependencies as a whole

    Re: dependency management and build tooling: these days I'm using opam-monorepo (https://github.com/tarides/opam-monorepo, previously known as duniverse) to manage dependencies and it's working out pretty well for me. It vendors all dependencies into a node_modules-like directory inside the projects and writes an opam-compatible lockfile, and it builds all the dependencies using dune. For the most widely used packages that don't already use dune it uses an overlay containing dune ports at https://github.com/dune-universe/opam-overlays.

  • opam-overlays

    An opam remote with the various Dune modified repositories in this org

    Re: dependency management and build tooling: these days I'm using opam-monorepo (https://github.com/tarides/opam-monorepo, previously known as duniverse) to manage dependencies and it's working out pretty well for me. It vendors all dependencies into a node_modules-like directory inside the projects and writes an opam-compatible lockfile, and it builds all the dependencies using dune. For the most widely used packages that don't already use dune it uses an overlay containing dune ports at https://github.com/dune-universe/opam-overlays.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts