Open jonahbeckford opened 1 year ago
Nice work all around!
1) There will, but the online is updated immediately and more regularly, so this benefits users without waiting. 2) I'll leave @yminsky to answer about Async, but I can confirm that we will have a good eio Windows backend (based on IOCP) and that there does exist an eio-async bridge. 3) GitHub Actions and ocaml-ci. The former does have Windows, and the latter -- I'll need to ask @dra27
ocaml-ci doesn't yet, but it should start to fall into place when the opam 2.2 alpha comes out later this/next month. There're still some problems we're having with the Windows Docker-based obuilder backend, but I don't have the details.
Thanks from me too for this! Exciting stuff.
FWIW, the build-expense cost of installing Core seems like a reasonable reason to avoid it, but I don't think the lack of a Windows port of Async is, really. Core doesn't really tie you to Async any more than Base does.
I'd love to see a Windows backend for Async, but it's not something we've had much internal need to work on. That said, we'd be excited to help and advise anyone who wanted to push in this direction. I think architecturally there's not much preventing the creation of such a back-end. We already have Async working with Javascript, which is at least as foreign of an environment as Windows!
I received an issue a while back (https://github.com/diskuv/dkml-installer-ocaml/issues/11) to support
base
inutop
for the Diskuv OCaml distribution (Windows, MSVC). I've also seen the same thread pop up in discuss.ocaml.org ... I presume people are reading Real World OCaml, but it didn't work so well on Windows.Things have changed with the v0.15.x releases.
To simplify reading Real World OCaml I am automatically installing
base
in the Diskuv OCaml installer so that it is accessible fromutop
. I will also be installing a shim forutop
so that the stublibs forbase
are accessible. That means, immediately after installation, a Windows user will be able to openutop
in the Command Prompt or Power Shell, then do a#require "base";;
, and they'll be able to follow along with thebase
portions of Real World OCaml.That won't help them with
core
; that is too costly to install for every user, and more importantly I don't think it wise for a Windows user today to get too used to Jane Street libraries beyondbase
.async
, among other things, does not have a Windows implementation. But they can always create a switch (dkml init ; opam install utop core
) if they needcore
.Key questions:
async
is one example of a critical Jane Street library that isn't supported on Windows. But perhaps there will be an OCaml 5 eio backend forasync
that will work on Windows.Thanks!