Help Wanted
Are you looking to help the OCaml ecosystem, but not sure where to start? This page should give you some ideas of where the community thinks work is needed.
It’s worth keeping in mind that making the ecosystem just a little more usable, especially at critical points, can have massive implications downstream.
Databases
Both Sequoia and ocaml-mysql are out of date and need to be updated to the latest versions of OCaml, to use dune etc.
Windows Support
- Diskuv Box:
Adding native Windows support requires getting rid of the usage of small bash utilities.
Diskuv Box
is a file utility working on replacing bash utilities with a cross-platform program so that OCaml can easily work on Windows. - DKML Installer - OCaml: a setup.exe for OCaml on Windows
and other platforms later. Needs help to:
- (small) provide a speedy sha256sum (ex. delegate to PowerShell / bundle binary) to verify downloaded contents. Currently bytecode version is very slow.
- (small) increase the Vagrant virtual machine tests to support more scenarios. Recent scenario is an installation path with a space in it (common on Windows); need more scenarios like that automatically tested.
- (medium) create a graphical installer Windows users are more familiar with. Currently setup.exe is a self-extracting console installer, and it fails when there is a process (ex. OCaml language server) in use that it is trying to replace.
- (large) allow MSYS2 CLANG64’s clang to be used rather than just the Microsoft Visual Studio compiler (MSVC). CLANG64 is compatible with MSVC, doesn’t require Administrator rights nor reboots (much easier install), and DKML already supports MSYS2. It is a “large” task because a few external packages may need some patching to work with clang.
Web and Networking
-
gRPC: no support. There is an issue in the official project. There is also a discussion on the OCaml discourse.
-
Elasticsearch (needs help): the de facto standard search solution. ocaml-elasticsearch is abandoned.
-
GraphQL client (needs help): Having ppx_graphql support the full GraphQL spec opens up the possibility to interact with many APIs that expose a GraphQL endpoint including Github.
GUI
- LablGTK3 (needs help): not yet feature
complete as GTK2 state, see
lablgtk3
branch.
Machine Learning
- OWL (needs help): OCaml’s equivalent to numpy, scipy and Pytorch/Tensorflow.
Cloud Technology
- Google Cloud Platform: no bindings.
- NATS/NATS Streaming: no bindings. Part of the Cloud Native Foundation and gaining increased adoption.