Setting up a new OCaml environment in 2026 is not yet a fluid experience

Sorry; I was responding to specifics in this thread rather than making a universal statement. I’ll be more careful next time.

Use whatever software and environments you wish!

1 Like

FWIW the open source C# (which you can reasonably assume is mostly Windows) of this ocean of windows boxes as measured by github is marginally higher than OCaml.

So they know that “currency” too.

But if your initial user experience is not up to a certain level I wouldn’t expect hearing from them.

2 Likes

The OCaml environment is/was mostly unfriendly towards Windows. Expecting Windows devs to jump in and contribute to a project that’s basically Unix emulation, thus unfamiliar, is a bit much.

I don’t think Windows devs are to blame for the current state of OCaml on Windows.

If anything, the current state of OCaml on Windows is what’s preventing Windows devs to contribute.

4 Likes

I don’t think playing the blame game is helpful here (in either direction). In open source projects complicated cross-platform support never just works magically, there are always errors and mountains of work going on behind the scenes to fix them. This is same for Node.js, Python, Racket, and other platforms. What you are seeing in OCaml is just a small community without deep pockets, but willing to work slowly towards improving the situation.

Again, there’s no magical solution here, just perseverance. It’s not for everyone, but it’s also not gatekeeping or elitism, sorry.

8 Likes

The more interesting thing is that the cousin of both C# and OCaml, F# , which started on Windows, seems to offer a great experience on Linux and MacOS.

If one is looking for a complete cross platform OCaml right now, F# + dotnet works much better.

1 Like

Indeed. Anedoctically I was in contact last year with someone who had prototyped an app in F# and was considering perhaps moving to OCaml. Given the setting in which they were operating (PLM systems), I prudently indicated that there would be quite a few tradeoffs to consider before doing so :–)

2 Likes

My Road to Erlang mention, referring to the state of things in 1998:

There was also the worry that Windows seemed to be a “barely there” platform in the eyes of all three language maintainers. The OCaml interpreter had a beautiful interactive shell under MacOS, but the Windows version was–or should have been–a great embarrassment to everyone involved.

1 Like

However isn’t Windows an embarrassment in itself :winking_face_with_tongue: ?
When I write this (with the help of an untrusty LLM) I don’t really feel well :–)

:: Update %PATH% in registry
reg load HKLM\Offline %MOUNT%\Windows\System32\config\SYSTEM
set key="HKLM\Offline\ControlSet001\Control\Session Manager\Environment"
for /f "tokens=2*" %%A in ('reg query %key% /v Path') do set value=%%B
:: Avoid %SystemRoot% expansion
setlocal enabledelayedexpansion
set value=!value!;%%systemroot%%\System32\powershell
reg add !key! /v Path /t REG_EXPAND_SZ /d "!value!" /f
endlocal