(WIP) Frequently Asked Questions

This is a “wiki post” and can be edited by any user - click on the green button to the top right

Quick Links:

Common Tasks

What can I use to write a GUI?

What can I use to connect to a database?

How can I extend an existing module?

OCaml Language Improvements

What’s the status of modular implicits?

What’s the status of multicore (and algebraic effects)?


A comprehensive collection of links to useful libraries is available in awesome-ocaml maintained by @rizo .

Compiling to JavaScript and Web Development

There are two popular tools for compiling OCaml code into JavaScript.

The BuckleScript engine:

and the Ocsigen project which includes js_of_ocaml:

There are many libraries available for server-side web development as well:

Basis (or "Standard") Libraries

The basis library supplied by OCaml is designed for the compiler distribution. There are several community-maintained libraries that provide enhanced functionality.

Jane Street Core is a set of industrial-strength basis libraries that are designed to work well together.

Lwt is a popular library for user-level concurrency that can also compile to JavaScript:


Sure. This requires:

  • a faq to start things off (it can be posted here on this thread)
  • a maintainer or three willing to edit the post to keep it fresh
1 Like

OK. I can update the original post in this thread to make it the FAQ. We don’t have to pin it right now, of course, but I want to get some consensus that I’m answering the right questions, in the right way.

As for collaborating maintainers, I don’t know the mechanics of how that works, but I’m guessing someone with admin privileges can edit posts? I’m happy to work with anyone to maintain a useful FAQ.

Discourse supports Wiki Posts. You can specify the minimum trust level of a user to be allowed to edit the wiki. It has several limitations though.

Maybe interesting to start from somehting:

1 Like

FYI, I’ve added a few FAQs to the original post in this thread, and will keep an eye out for more. Suggestions welcome! I’m being a bit lazy and just pointing at the definitive threads for the topics rather than typing out the answers myself, though.

1 Like

Now that I think about it, this linking method could be advantageous. It means I don’t have to maintain a central repository of answers: anyone who wants to maintain an answer can keep it in their own thread, and I can just link to it. In other words, it spreads the work out to many threads, one per question.

Generally having a FAQ maintained as a Wiki has similar properties.


I agree that this linking method is a perfect way to keep track of “interesting” threads, and also makes a pretty decent replacement for some posts that were formerly pinned to Categories. I’m just back from vacation and going through the Category rearrangement as soon as I catch up on email :slight_smile:

1 Like

I’ve experimentally turned this post into a wiki post, which means that anyone can add interesting topics to the original one at the top. Beware of concurrent edits though, as I believe last-one wins in the Discourse implementation.

1 Like

@yawaramin I’ll promote this to a pinned topic and link it from the central FAQ that covers code of conduct and such. Are you ok with it remaining “owned” by you or should I transfer the posting name to discourse or similar. Thanks again for making this happen :slight_smile:

1 Like

Thanks! I am OK with being the ‘owner’, I keep an eye on the discussion topics via RSS so I’ll update it whenever I see a good FAQ candidate.