Week 8: what’s everyone hacking on this week?

After a reminder by Xavier, I just freshened up my PR to add a ppx for Zarith: https://github.com/ocaml/Zarith/pull/4

I also finally made my PR for Lwt_fmt: https://github.com/ocsigen/lwt/pull/548

This week, I’m going to tinker with Functoria again, starting with https://github.com/mirage/functoria/pull/104


Tonight, I had some fun writing a skeleton for a strongly-typed library for small tensors (dimension ≤ 4, rank≤2, square matrices ) inspired from GLSL convention: https://github.com/Octachron/phantom_algebra (see also the example. The advantage of those small tensors is that every function can be typed explicitely and precisely without too much trouble.

1 Like

Just finished making a website for Logarion using Logarion. I think I’ll skip version 0.3 (even though there was a release candidate), as I’ve added some features and changed core behaviour. Most importantly 0.4 adds static generation.

I’ve also started a mailing list for it, which I’d like to test…

I tried to install opam-publish, to add my package to OPAM, but got a lot of dependency errors. Will try to manually add it soon.

SirCmpwn, developer of Sway (an i3-compatible wayland compositor) and wlroots (a compositor library; see also the white paper) recently started a series of blogposts explaining how to build a wayland compositor from scratch, using wlroots.

I thought it would be the right time and a good occasion for me to try and get acquainted with wlroots. I’m therefore planning on implementing these blogposts in OCaml, writing OCaml bindings for the parts of wlroots that are needed.

For tonight, I’ve only been mostly working on the setup, using ctypes with stubs generation and dune. https://github.com/ocaml/dune/issues/135 seems to indicate that there’s no built-in support for this in dune yet, but @jeremiedimino points to async_ssl, and indeed I could setup stubgen by mostly copy-pasting bits and pieces from async_ssl jbuild files (and it seems to be working… for now!).

Git repo (hopefully with more things soon!): https://github.com/Armael/ocaml-mcwayface


I’m hoping to get a proper release of ezgzip submitted to opam this week. The library provides simple string -> string (de)compression for gzip and zlib blobs. It’s currently based on camlzip’s zlib bindings though it would be fun to go pure OCaml one day.

I helped a colleague setup support for Menhir’s new error messages (see “Error handling: the new way” in the Menhir manual) for their parser – VooDooS/mlts#2. Currently I do this by copy-pasting codes from other projects I worked on which use the same plumbing (funtal, sourir), but of course it would be nicer to package this into reusable bits. For some parts (a myocamlbuild plugin) it is clear how to package it for reuse, but for others (the runtime code) it’s a bit less clear.

I’m trying to wrap my thoughts around implementing a git-rev-parse library on top of ocaml-git. If that thing already exists, tell me ;-). Otherwise, nothing to see here yet, because the first to do is understand how ocaml-git works.

1 Like

Bit of a hat-trick this week, started working on BiMap for ocaml-containers.

1 Like

This week? Still working on a major revision to my OMake library to facilitate using it to build arbitrary OPAM packages (not necessarily OCaml libraries). Also, delivering it with an OPAM package.