Suggestions from the OCaml Survey result

To be clear, I’m very much in favour of this (with my hat on as a busy professor type at Cambridge). I actually ended up deploying Jupyter notebooks for our course instead, and that eased a vast number of installation problems but at the expense of not having access to the full power of build tools.

All the attempts to build a Platform installer have stalled in the face of Windows support to date. The good news is that we’re targetting opam 2.2 (i.e. the next release after the current beta cycle is done) as the “Windows release”, where we will get proper upstream support (including opam and CI) for Windows. This in turn will fold in all the superb work @fdopen has done, and allow us to ship more official cross-platform installers suitable for use in (e.g.) a university environment.

I also have high hopes for the VS Code plugin we’ve been working on this year. Now that the basics are done, @rgrinberg and team have been looking into what more advanced UI integration might look like (for instance, an editor and lsp-integrated opam/dune ui is plausible to build). With this in mind, the workflow that @grayswandyr described can actually be compressed down to:

  1. install the OCaml plugin for your favorite editor among VS Code (or tracking-free variant)
  2. clone a teaching repo

There should be no need soon to install opam outside of the plugin (I’ve prototyped an opam tools plugin that I need to clean up for @rgrinberg that analyses a project and ensures that all the right tools are available in the local switch).

But… in order to deliver all this as a reliable binary installer, we really need Windows support. So that’s what the opam team is highly focussed on getting done as the sole purpose of opam 2.2. If we reject or delay other feature requests, it’s because we’re busy getting that done :slight_smile:

11 Likes

Can’t MS Windows new Linux support be of help there? Especially if students should install it themself.

We deliver a Ubuntu VirtualBox machine which have all set up. Then it work for our machines and students machines without bother about the set up.

Yes, I am curently looking into Emacs with lsp-support and opam/dune. It would be much easier if we got that working good, and would quickly be able to explain they set up. Yes, they can use MS VS Code if they want to.

Apologies for posting this link twice. Here is a summary and analysis of the survey results I wrote on behalf of the OCaml Software Foundation: https://www.dropbox.com/s/omba1d8vhljnrcn/OCaml-user-survey-2020.pdf?dl=0 Enjoy!

5 Likes

Maybe split up expert into expert ocaml users and expert compiler/language developers, in next year’s survey. Expert ocaml users may have used ocaml libraries for many users to build applications and other libraries, but may not be particularly interested in implementing programming languages themselves.

Here is an example of using sourcegraph, in case anyone wants to dive deeper:

https://sourcegraph.com/search?q=repo:ocaml/ocaml%24+or+repo:janestreet/base+or+repo:gitlab.com/tezos/tezos%24+or+repo:c-cube/ocaml-containers+or+repo:ocaml-batteries-team/batteries-included+or+repo:mirage/mirage%24+or+repo:ocsigen/lwt+or+repo:janestreet/async%24&patternType=literal