# .plan-26-20: Putting OxCaml in a box and OCaml in orbit (again)

*2026-05-17 — note*


I've had a heads-down week spent consolidating my OCaml trees (pun intended) so
that deploying [OxCaml](https://anil.recoil.org/projects/oxcaml) is easier. We've started generating test
[TESSERA](https://anil.recoil.org/projects/tessera) embeddings for a forthcoming v1.1 model [using OxCaml](https://www.tunbury.org/2026/03/13/oxcaml-inference/)
and so it's quite important to get my [monorepo](https://anil.recoil.org/notes/aoah-2025) under control.

## OxCaml in a box

One concrete output comes from my investigations about how [native system packages for OxCaml](https://anil.recoil.org/notes/oxcaml-packages)
could work.  I had to root around a bunch of instructions on various distro wikis to figure out how system
packagers work these days, but now `apt install oxcaml-compiler` on Debian/Ubuntu, as well as the
other commands for Fedora, Arch and Homebrew, all work from one [installer script](https://tangled.org/anil.recoil.org/oxcaml-pkgs).

All this trouble is necessary because of how staggeringly complex adding
relocatability to a build system is. The master of builds, [David Allsopp](https://www.dra27.uk), has been
kindly assisting me as I explore this integration in
[oi](https://github.com/avsm/oi). I'm almost ready to start talking about oi as this relocatability for oxcaml is the last thing on my list before a preview release\!

## OCaml in orbit, again

I've also been helping [Thomas Gazagnaire](https://github.com/samoht) with [Borealis](https://gazagnaire.org/blog/2026-05-14-borealis.html), the
pure-OCaml CCSDS stack now [flying in low earth orbit](https://anil.recoil.org/notes/2026w18). It
hit the [front page of Hacker News](https://news.ycombinator.com/item?id=48147058) mid-week, which
is always fun.

<a href="https://gazagnaire.org/drafts/46f8e325a7fc.html"> <figure class="image-center"><img src="/images/borealis-clustergate2-boot.webp" alt="OCaml running in space: the proof's in the VT220 console" title="OCaml running in space: the proof's in the VT220 console" loading="lazy" srcset="/images/borealis-clustergate2-boot.768.webp 768w, /images/borealis-clustergate2-boot.640.webp 640w, /images/borealis-clustergate2-boot.480.webp 480w, /images/borealis-clustergate2-boot.320.webp 320w, /images/borealis-clustergate2-boot.1024.webp 1024w"><figcaption>OCaml running in space: the proof's in the VT220 console</figcaption></figure> </a>

I was quite surprised to see in the [discussion](https://news.ycombinator.com/item?id=48148343) that
another group ran [OCaml on the GHGSat satellites back in 2016](https://lambda-diode.com/static/data/GHGSat_OCaml.pdf):

> OCaml was very much part of the GHG measurements. On the satellite it was
> controlling the cameras, acquiring the images, losslessly compressing them,
> encrypting them and transferring them to the platform controller using a
> clunky but mandated CSP-based file tranfer protocol. On the ground, OCaml was
> running almost the entire data processing chain, including spectroscopy,
> image corrections, retrievals and post-retrieval ad hoc bias corrections, as
> well as simulations.
> 
> I simply used an `mmap()`'d Bigarrays to do parallel processing (back then
> OCaml wasn't multi-core.) At a later stage I replaced a few bits of code
> (e.g. some sparse matrix routines) with Fortran. The only processing-related
> part that wasn't OCaml (besides the shells scripts to glue the things
> together) was the image alignment algorithm which was written by someone else
> in C++. I even had a job scheduling system written in OCaml.
> 
> <cite>\-- [rho-soul-kg-m3, HN, May 2026](https://news.ycombinator.com/item?id=48148560)</cite>

So this turned into a nice chat on HN about many of the advances since [OCaml 5.0](https://anil.recoil.org/papers/2020-icfp-retropar)
that make this sort of usecase much easier.

## Digesting AI disclosure feedback

I also posted [an update](https://anil.recoil.org/notes/opam-ai-disclosure-update) digesting the
public and private feedback on my [voluntary AI disclosure proposal](https://anil.recoil.org/notes/opam-ai-disclosure) from a few months ago.

I'm not entirely convinced myself this will see any adoption, but I felt I had
to make the effort.  I do believe that the three concrete steps I proposed
might be useful (promoting maintenance-intent to a first-class opam field,
better tooling for filtering/merging multiple opam repositories, and revisiting
a [vouching-based reputation](https://blog.tangled.org/vouching/) system).

## In memorium: Peter G. Neumann

I was extremely sad to hear that Peter passed on Sunday at the age of 93. I worked with him extensively in early days of [CTSRD](https://www.cl.cam.ac.uk/research/security/ctsrd/) and [MRC2](https://www.darpa.mil/research/programs/mission-oriented-resilient-clouds) which funded a lot of our work on [MirageOS](https://anil.recoil.org/projects/unikernels). Peter was the loveliest, most supportive and eternally jolly collaborator, and visiting him in SRI was [always joyful](https://bsky.app/profile/anil.recoil.org/post/3mm4uq5z5722z) and quirky.

The NYT did a lovely [obituary](https://www.nytimes.com/2026/05/17/obituaries/peter-g-neumann-dead.html), and I'm going to spend some time finding secondary sources to refresh his [Wikipedia page](https://en.wikipedia.org/wiki/Peter_G._Neumann). If you have any good secondary sources you'd like included please do let me know\!
Synopsis: Consolidating my OCaml trees for easier OxCaml deployment, shipping native system packages for OxCaml which then got into space, and remembering Peter Neumann
Words: 601

## Related

- [Building OxCaml packages for Debian, Fedora, Homebrew and Arch](https://anil.recoil.org/notes/oxcaml-packages) (note, 2026-05-17)
- [Voluntary AI disclosure proposal for OCaml: update 1](https://anil.recoil.org/notes/opam-ai-disclosure-update) (note, 2026-05-14)
- [.plan-26-18: From tropical forest protection to oi swallowing its oxcaml tail](https://anil.recoil.org/notes/2026w18) (note, 2026-05-03)
- [A Proposal for Voluntary AI Disclosure in OCaml Code](https://anil.recoil.org/notes/opam-ai-disclosure) (note, 2026-04-03)
- [2025 Advent of Agentic Humps: Building a useful O(x)Caml library every day](https://anil.recoil.org/notes/aoah-2025) (note, 2025-12-26)
- [OxCaml Labs](https://anil.recoil.org/projects/oxcaml) (project, 2025-01-01)
- [TESSERA, a pixelwise geospatial foundation model](https://anil.recoil.org/projects/tessera) (project, 2025-01-01)
- [Retrofitting parallelism onto OCaml](https://anil.recoil.org/papers/2020-icfp-retropar) (paper, 2020-08-01)
- [Unikernels](https://anil.recoil.org/projects/unikernels) (project, 2010-01-01)

---
Canonical: https://anil.recoil.org/notes/2026w20
Type: note
Tags: ocaml, oxcaml, oi, space, ai, packaging
