OCaml Weekly News
Hello
Here is the latest OCaml Weekly News, for the week of September 25 to October 02, 2018.
Table of Contents
Dune 1.3.0
Rudi Grinberg announced
It is my pleasure to announce the release of Dune 1.3.0. This release does not contain many features, but it does contain a few important bug fixes. Everyone is encouraged to upgrade.
Happy Hacking.
1.3.0 (23/09/2018)
- Support colors on Windows (#1290, @diml)
- Allow
dune.configurator
andbase
to be used together (#1291, fix #1167, @diml) - Support interrupting and restarting builds on file changes (#1246, @kodek16)
- Fix findlib-dynload support with byte mode only (#1295, @bobot)
- Make
dune rules -m
output a valid makefile (#1293, @diml) - Expand variables in
(targets ..)
field (#1301, #1320, fix #1189, @nojb, @rgrinberg, @diml) - Fix a race condition on Windows that was introduced in 1.2.0 (#1304, fix #1303, @diml)
- Fix the generation of .merlin files to account for private modules (@rgrinberg, fix #1314)
- Exclude the local opam switch directory (
_opam
) from the list of watched directories (#1315, @dysinger) - Fix compilation of the module generated for
findlib.dynload
(#1317, fix #1310, @diml) - Lift restriction on
copy_files
andcopy_files#
stanzas that files to be copied should be in a subdirectory of the current directory. (#1323, fix #911, @nojb)
llpp v29
moosotc announced
New version of llpp (tagged v29) is now available at:
Blurb
llpp is a graphical PDF pager, which aims to superficially resemble less(1)
Links
Changes (relative to v28(aka llipposuction))
- Make things build with macOS 10.14
- Ensure that things build/work with mupdf 1.14.0-rc1
- Cosmetics
Jupyter – a better UTop?
nil announced
I recently figured out how to get an alternative REPL which has some things that UTop doesn't. It's the Jupyter console, which runs in a terminal (and is less well-known than the Jupyter notebook).
Here's how to set it up:
- install jupyter by a method that works for your OS.
opam install jupyter
- set up ocaml as a kernel for jupyter, as explained in the package doc:
jupyter kernelspec install --name ocaml-jupyter "$(opam config var share)/jupyter"
- in
jupyter kernelspec list
find the new kernel directory and edit the JSON file there, for instance to include a custom.ocamlinit
. In mine I added#use topfind;;
- enable vi edit mode by
echo "c.ZMQTerminalInteractiveShell.editing_mode='vi'" >> ~/.jupyter/jupyter_console_config.py
(entirely non optional ;) )
Then start your new REPL by jupyter console --kernel=ocaml-jupyter
. Thanks to
the cool ocaml jupyter package it will
use Merlin to autocomplete and it will have a vi
mode!
You can also use various editor plugins to send code cells to the kernel
directly from an editing buffer. Right now, it's missing the
UTop.set_create_implicits
but that not a huge problem. Overall, pretty neat in
my book!
Carmelo Piccione replied
Interesting!
As a (k)ubuntu linux user at least, I had to add --user
to step #3 to avoid running as sudo
. I also had to manually create the ~/.jupyter
directory before running the echo
command.
ocamlearlybird 0.1.0 - make OCaml debugging less sucks
Archive: https://discuss.ocaml.org/t/ann-ocamlearlybird-0-1-0-make-ocaml-debugging-less-sucks/2646/1
文宇祥 announced
I'm happy to announce the first release of ocamlearlybird.
ocamlearlybird
is a debug adapter purely written in OCaml. Currently it has these features:
- Auto discover sources heuristically
- Line breakpoints and column breakpoints
- Basic
next
,step in
,step out
andcontinue
commands - Inspect stack frames, local variables, closure variables and global variables
You can use ocamlearlybird
in VS Code by install ocaml-debugger extension.
Enjoy!
Christian Lindig asked and 文宇祥 replied
> Could you talk a bit about how it works?
It use env CAML_DEBUG_SOCKET and debugger.h to talk to the debugger in vm.
> Does it work with native code?
It only work with bytecode with debug information - compiled with -g option.
> How does it hook into the execution of a program?
Mostly same as the ocamldebug's implementation
Ocaml Github Pull Requests
Gabriel Scherer and the editor compiled this list
Here is a sneak peek at some potential future features of the Ocaml compiler, discussed by their implementers in these Github Pull Requests.
Other OCaml News
From the ocamlcore planet blog
Here are links from many OCaml blogs aggregated at OCaml Planet.
- Full Time: Software Developer (Functional Programming) at Jane Street in New York, NY; London, UK; Hong Kong
- Full Time: Compiler Engineer at Jane Street in New York & London
- Coq 8.8.2 is out
Old CWN
If you happen to miss a CWN, you can send me a message and I'll mail it to you, or go take a look at the archive or the RSS feed of the archives.
If you also wish to receive it every week by mail, you may subscribe online.