HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
ocaml-community
utop
OCaml2014–2018
ocaml-community / utop

utop

Universal toplevel for OCaml

5Distinct people
6Mentions
0Explicit recommenders
932GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Universal toplevel for OCaml

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year6 dated mentions

Observed mentions: 2014-07-08 03:41:57 UTC to 2018-08-23 15:06:25 UTC.

0122014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202

What Hacker News says

6 sources
There is a work-in-progress second edition of "Real World OCaml" book [1], which has many small but vital updates corresponding to the modern state of OCaml and its infrastructure. Moreover, I recommend checking the Lwt [2] from the beginning for working with multithreading. OCaml Ctypes [3] library for creating FFI stubs without a single line of C and Cstruct [4] for working with C structures. If you want to interact with some Python code or script your OCaml program with Python - you can use Pyml [5] library. OCaml universe also has a good library for numbers crunching and scientific computing (including primitive Machine Learning) - Owl [6]. For writing OCaml instead of JavaScript, it is possible to use BuckleScript [7]. And if you are starting a new project in OCaml - I recommend using the most modern buildsystem - dune [8]. It is ver
Read the rest
y simple to use and with a less overhead than others. I found also Angrstrom [9] is very useful for implementing binary and text format parsers. Utop [10] and ocaml-jupyter [11] are the best choice for experimenting, browsing the API and testing some small things. [1] https://dev.realworldocaml.org/toc.html [2] https://ocsigen.org/lwt/manual/ [3] https://github.com/ocamllabs/ocaml-ctypes [4] https://github.com/mirage/ocaml-cstruct [5] https://github.com/thierry-martinez/pyml [6] https://github.com/owlbarn/owl [7] https://bucklescript.github.io/ [8] https://dune.readthedocs.io/en/latest/quick-start.html [9] https://github.com/inhabitedtype/angstrom [10] http://github.com/ocaml-community/utop [11] https://github.com/akabe/ocaml-jupyter
In Introduction to Functional Programming in OCaml
I'd say if you ever get the time again, give OCaml another look. The toolchain experience has been improving at a rapid pace! I started to explore OCaml again earlier this year and the day to day tooling around it has felt at par or better than my experience with other languages. Between Opam [1], Dune[2] and utop[3] the "new comer experience" has been really good so far. The editor integration with vim/emacs has been top notch, and visual studio code has turned into a really nice option as well for people who don't like vim/emacs. I'm sure there is still room for improvement, but i'd say its atleast heading in the right direction! [1] https://github.com/ocaml/opam [2] https://github.com/ocaml/dune [3] https://github.com/diml/utop [4] https://github.com/ocaml-ppx/ocamlformat
In State of Multicore OCaml [pdf]
OCaml is a great language. I'm so glad I was forced to learn at in university. Apart from the language itself, the ecosystem surrounding it is very mature as well. - OCamlbuild is the bee's knees. Configuring complex projects requires just one line in the Makefile - OPAM works wonderfully. No configuration required. Everything just works. - Merlin (https://github.com/the-lambda-church/merlin) is incredible. If you use Vim / Emacs, you owe it to yourself to set it up and have better syntax highlighting, indentation and type information right within your editor. - Approachable online guides to get started. RWO[1] is a fantastic resource and teaches you the good parts right from the start. - Utop (https://github.com/diml/utop) is a very modern, fully-featured REPL (almost as good as IPython) ---------- If you've been thinking of learning OCa
Read the rest
ml, here are a few useful resources - - Real World OCaml [RWO] - https://realworldocaml.org/ - Using, Understanding, and Unraveling the OCaml Language - http://caml.inria.fr/pub/docs/u3-ocaml/index.html - Developing applications with OCaml - http://caml.inria.fr/pub/docs/oreilly-book/html/index.html - System programming in OCaml - https://ocaml.github.io/ocamlunix/ocamlunix.html Lastly, if you are out of ideas on what to build with OCaml, try out these courses for some challenging programming assignments - Functional Programming (Princeton) : http://www.cs.princeton.edu/~dpw/courses/cos326-12/info.php - Programming Languages and Compilers (UIUC): https://courses.engr.illinois.edu/cs421/fa2014/
In OCaml 4.03.0 released (including flambda)
This is also great cheat sheet for someone still getting used to the OCaml syntax. I usually advise people to pretend that double semicolons don't exist for anything but the interactive top level. In source files, you can forget about double semis entirely as long as you just remember to always assign the result of an imperative statement to the dummy "_" name. let _ = print_string "hi" Then you can think of ;;<enter> as merely a fancy way of hitting the return key in the interactive REPL. There's also a way to use a different key mapping (control+enter) instead of ;; in utop, so there would be no reason to even acknowledge the existence of double semis. https://github.com/diml/utop/issues/131
In A brief introduction to OCaml
I've seen a ton of great improvements in tooling/ecosystem. - OPAM was already mentioned. - The OCaml to JS compiler has matured and gained a lot of use. Interestingly, I suspect that it can also be used to achieve different types of parallelism than the types that the stock OCaml compilers provide. https://github.com/ocsigen/js_of_ocaml - Merlin is also a fantastic autocompletion plugin for Vim/Emacs. https://github.com/the-lambda-church/merlin VimBox (shameless plug) uses Merlin and is configured to provide "intellisense" style completion (as you type) like Visual Studio. https://github.com/jordwalke/VimBox - utop is perhaps the best top level REPL that I've ever seen. https://github.com/diml/utop (edit: Regarding utop: Normally I dread using a REPL for a statically typed language, but utop actually makes the top level fun and interacti
Read the rest
ve. I actually look forward to using it!)
In OCaml for the Masses (2011)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.