Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Alan Schmitt <alan.schmitt@polytechnique.org>
To: "lwn" <lwn@lwn.net>, caml-list@inria.fr
Subject: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News
Date: Tue, 14 Oct 2025 11:56:44 +0200	[thread overview]
Message-ID: <m2qzv5st5v.fsf@mac-03220211.irisa.fr> (raw)

[-- Attachment #1: Type: text/plain, Size: 22935 bytes --]

Hello

Here is the latest OCaml Weekly News, for the week of October 07 to 14,
2025.

Table of Contents
─────────────────

opam-publish 2.7.0
OCaml.org: Introducing Backstage OCaml - Separate Feeds for Stable and Experimental Features
LexiFi at FUN OCaml 2025
Introducing `oui'
OCaml 5.4.0 released
OCaml compiler office hours
tutorial about compiling ocaml-5 on a ChromBook with Crostini
dune-release-action: Automate your opam package releases with GitHub Actions
Other OCaml News
Old CWN


opam-publish 2.7.0
══════════════════

  Archive: <https://discuss.ocaml.org/t/ann-opam-publish-2-7-0/17358/1>


Kate announced
──────────────

  Hi everyone,

  We are happy to announce the release of opam-publish 2.7.0 (and
  2.6.0), which together brought the ability to more easily publish your
  releases automatically, thanks to @filipeom:

  • A new `OPAM_PUBLISH_GH_TOKEN' environment variable and `--token'
    argument are now available to pass the GitHub token

  • SSH keys aren't used to push the branch to the user's fork
    anymore. Instead the token we already require is used.

  • If undefined, the git config variables `user.name' and `user.email'
    are automatically filled with the github username and
    username@opam-publish as a backup

  An example of the new automated setup can be found in [this CI job].

  Other minor changes include:

  • The addition of a message after the PR is open, to notify users that
    they can re-run opam-publish to update the PR. *Thanks to
    @punchagan*

  • The switch from `lwt_ssl' to `tls-lwt' which avoid one dependency
    and avoid depending on the system libssl

  Happy publishing!

  <> <> The opam team <> <> :camel:


[this CI job]
<https://github.com/formalsec/smtml/commit/3c98cc024583e69b87c6d63a233abff149471399>


OCaml.org: Introducing Backstage OCaml - Separate Feeds for Stable and Experimental Features
════════════════════════════════════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ocaml-org-introducing-backstage-ocaml-separate-feeds-for-stable-and-experimental-features/17359/1>


Sabine Schmaltz announced
─────────────────────────

  We're pleased to announce that OCaml.org now has dedicated RSS feeds
  and pages for stable and experimental announcements, introduced in [PR
  #3278]!

  *What's new:*

  • *OCaml Changelog* at [ocaml.org/changelog] — Official stable release
     announcements and updates from the OCaml compiler, OCaml
     infrastructure, and the OCaml Platform Tools

  • *Backstage OCaml* at [ocaml.org/backstage] — Updates on experimental
     releases, work-in-progress, and opportunities to contribute to the
     development of the OCaml Platform and its infrastructure

  This separation helps keep the main changelog focused on
  production-ready releases while providing a dedicated space for those
  interested in experimental work, early testing, and contributing to
  OCaml's development.

  Both pages have their own RSS feeds, so you can subscribe to whichever
  matches your needs—or both!

  We welcome your feedback as we continue improving OCaml.org.


[PR #3278] <https://github.com/ocaml/ocaml.org/pull/3278>

[ocaml.org/changelog] <https://ocaml.org/changelog>

[ocaml.org/backstage] <https://ocaml.org/backstage>


LexiFi at FUN OCaml 2025
════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/lexifi-at-fun-ocaml-2025/17363/1>


Nicolas Ojeda Bar announced
───────────────────────────

  Dear OCaml enthusiasts,

  LexiFi participated in this year's [FUN OCaml] that took place in
  Warsaw this past September 15 and 16. The event was a great success,
  thanks to the efforts of the organizers and the other
  participants. Hopefully the event will continue to take place and
  develop in the future.

  LexiFi both sponsored and contributed (two) presentations to the
  event: a 30-minute retrospective on 25 years of using OCaml at LexiFi,
  and a 2-hour workshop on implementing a toy version of our
  type-reflection extension to the compiler.

  If you are interested, we wrote a short blog post
  <https://www.lexifi.com/blog/ocaml/fun-ocaml-2025/> where you will
  find the slides and the video for the 30-minute presentation, as well
  as the code and the slides for the 2-hour workshop (the video
  recording for this part is not yet available).

  Enjoy!

  Best wishes, Nicolas


[FUN OCaml] <https://fun-ocaml.com>


Introducing `oui'
═════════════════

  Archive: <https://discuss.ocaml.org/t/introducing-oui/17364/1>


Nathan Rebours announced
────────────────────────

  At [OCamlPro] we're happy to announce our new ongoing project funded
  by the [CEA-List]: ocaml-universal-installer or `oui'!

  `oui''s goal is to help teams developping applications in OCaml to
  package them for their users outside the OCaml World by building
  binary installers for all major platforms: Linux, Windows and macOS.

  `oui' builds standalone installers: you just need to download and run
  the file. No need to install OCaml, Opam and to compile anything on
  the target system anymore.

  The tool will be used to package and distribute [Frama-C] and its
  plugins to non opam users.

  It is still in development but we'd like to present it to the
  community with the hope that it will prove helpful to you as well.


[OCamlPro] <https://ocamlpro.com/>

[CEA-List] <https://list.cea.fr/en/>

[Frama-C] <https://frama-c.com/>

How it works
╌╌╌╌╌╌╌╌╌╌╌╌

  You take care of building your application and provide `oui' the list
  of your binaries and extra files you'd like installed alongside them
  and it will assemble an installer from those.

  It uses different tools and build different types of installers for
  all three main platfoms:
  • on Linux, we build self extracting archives using [makeself].
  • on Windows, we build MSI using the [Wix6 toolset]
  • on macOS, we build regular OSX installers using
    `pkgbuild~/~productbuild'

  We started `oui' on top of an older but very similar project:
  `opam-wix'. `opam-wix' was an opam plugin used to build a Windows MSI
  from a locally installed opam package. This feature, though not the
  core focus of the early development, is still available via `opam-oui'
  and will be extended with the ability to build installers for the
  other supported platforms.


[makeself] <https://makeself.io/>

[Wix6 toolset] <https://wixtoolset.org/>


A tool for the community
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Though it is initially developped for Frama-C's distribution, both the
  CEA-List and ourselves at OCamlPro would like to make `oui' a
  community tool that can help open source OCaml developpers ship their
  applications easily.

  The goal of this early announcement is to gather data and feedback on
  other use cases for binary installers across the OCaml Ecosystem to
  help us shape `oui' into the right tool from the start.

  This is an ongoing project, if you'd like to follow the development,
  it is publicly hosted [here].


[here] <https://github.com/OCamlPro/ocaml-universal-installer>


OCaml 5.4.0 released
════════════════════

  Archive: <https://discuss.ocaml.org/t/ocaml-5-4-0-released/17365/1>


octachron announced
───────────────────

  We have the pleasure of celebrating the birthdays of Camille
  Saint-Saëns and Karl Schwarzschild by announcing the release of OCaml
  version 5.4.0.

  Some of the highlights of OCaml 5.4.0 are:


Labelled tuples
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  It is now possible to add labels on tuple fields

  ┌────
  │ let ( * ) (x,~dx) (y, ~dy) =
  │   x*.y, ~dx:(x *. dy +. y *. dx )
  └────

  Those labeled tuples are equivalent to SML records: they are an
  ordered and structurally-typed variants of records. In particular this
  implies that partial pattern matching on tuples is only possible for
  labelled tuples with a known type:

  ┌────
  │ type t = float * dx:float
  │ let v (x_and_dx:t) = let (x,..) = x_and_dx in x
  └────

  Those types are mostly intended for local types where previous code
  was using tuples.


Array literal syntax support for immutable arrays and ~floatarray~s
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The array literal syntax is now shared by array-like primitive types,
  like `'a array', `floatarray' and immutable array `iarray'. For
  instance, this code

  ┌────
  │ let x = Float.Array.of_list [0.;1.;2.]
  └────

  can now be written

  ┌────
  │ let x : floatarray = [|0.; 1.; 2.|]
  └────

  This also supported in patterns

  ┌────
  │ let one = match x with
  │   | [|_;y;_|] -> Some y
  │   | _ -> None
  └────

  However array indexing still needs to go through user-defined indexing
  operators

  ┌────
  │ let (.$()) = Float.Array.get
  │ let (.$()<-) = Float.Array.set
  │ let () = x.$(0) <- x.$(1)
  └────


Immutable arrays
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Along with shared array literals, OCaml 5.4 adds support for immutable
  arrays.

  ┌────
  │ let v: int iarray = [| 0; 1; 2 |]
  └────

  Immutable arrays are covariant in the type of their elements, it is
  thus possible to coerce immutable arrays with no costs at runtime:

  ┌────
  │ let i1: _ iarray = [|object method m = 0 end|]
  │ let i2 = ( i1 :> < > iarray)
  └────


Atomic record fields
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

    It is now possible to mark a field of a record as atomic. Atomic
  operations on those fields require to use the new `Atomic.Loc'
  submodule after accessing the location with the `[%atomic.loc ...]'
  builtin extension. For instance,

  ┌────
  │ type 'a mpsc_list = { mutable head:'a list; mutable tail: 'a list [@atomic] }
  │ 
  │ let rec push t x =
  │   let before = Atomic.Loc.get [%atomic.loc t.tail] in
  │   let after = x :: before in
  │   if not (Atomic.Loc.compare_and_set [%atomic.loc t.tail] before after) then
  │     push t x
  │   ...
  └────
  Moreover, it is forbidden to pattern match on atomic fields:

  ┌────
  │ let f { head; tail } = tail
  └────

  ┌────
  │ Error: Atomic fields (here tail) are forbidden in patterns,
  │        as it is difficult to reason about when the atomic read
  │        will happen during pattern matching: the field may be read
  │        zero, one or several times depending on the patterns around it.
  └────

  in order to make all reads on those atomic fields explicit.


Four new standard library modules: Pair, Pqueue, Repr, and Iarray
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The standard library has been extended with four new modules:

  • Pair: functions for working on pairs

  ┌────
  │ let ones = Pair.map_fst succ (0,1)
  └────

  • Pqueue: priority queues, generic or not

  ┌────
  │ module Int_pqueue = Pqueue.MakeMin(Int)
  │ let q = Int_pqueue.of_list [4;0;5;7]
  │ let some_zero = Int_pqueue.pop_min q
  └────

  • Repr: physical and structural equality, comparison function, more
    generically all functions dependent on the memory representation of
    values.

  ┌────
  │ let f = Repr.phys_equal (ref 0) (ref 0)
  └────

  • Iarray: functions on immutable arrays

  ┌────
  │ let a = Iarray.init 10 Fun.id
  │ let b = Iarray.map succ a
  └────


Restored "memory cleanup upon exit" mode
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  This mode allows to restart many time the OCaml runtime in C-driven
  programs that interact with OCaml libraries. It is also useful to
  reduce noise when tracking memory leaks in C code running the OCaml
  runtime. To get around cancellation issues, the restored mode
  currently assumes that all domains are joined before exiting the OCaml
  runtime.


A new section in the reference manual on profiling OCaml programs on Linux and macOS
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  A new section in the [reference manual] explains how to use OS
  specific profiling tools to profile native OCaml programs.


[reference manual] <https://ocaml.org/manual/profil.html>


A lot of incremental changes:
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  • Many runtime and code generation improvements
  • More than thirty new standard library functions
  • Nearly a dozen improved error messages
  • Around fifty bug fixes

  Please report any unexpected behaviours on the [OCaml issue tracker]
  and post any questions or comments you might have on our [discussion
  forums].

  The full list of changes can be found in the full changelog. /Editor
  note: please follow the archive link above for the installation
  instructions and the full changelog/

  Happy hacking, Florian Angeletti for the OCaml team.


[OCaml issue tracker] <https://github.com/ocaml/ocaml/issues>

[discussion forums] <https://discuss.ocaml.org>


OCaml compiler office hours
═══════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ocaml-compiler-office-hours/17230/16>


Continuing this thread, gasche announced
────────────────────────────────────────

  The meeting went well – see the [collaborative pad] for notes.

  I propose to have another meeting about a month from now:

  on *November 7th* at *15:30–17:00* UTC

  (I picked a different time slot from the current one, that also looks
  reasonable given previous poll results. If extra people would like to
  join, please feel free to participate to the time-slot poll in [the
  first post] so that I can tell when are good meeting times.)

  @giltho thanks for noticing the language issue on the online-meeting
  service I proposed; this is a new issue that looks like it comes from
  a version upgrade, it of course had a fine English interface when I
  adopted the service. Let's keep jitsi.meet for now.


[collaborative pad] <https://codimd.math.cnrs.fr/nuew1gMsROCAy_klt_TkJg>

[the first post]
<https://discuss.ocaml.org/t/ocaml-compiler-office-hours/17230>


tutorial about compiling ocaml-5 on a ChromBook with Crostini
═════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-tutorial-about-compiling-ocaml-5-on-a-chrombook-with-crostini/17368/1>


Florent Monnier announced
─────────────────────────

  Hello dear list, I wrote another mini-tutorial to explain how to
  compile ocaml-5 on a chromebook with crostini:
  [http://decapode314.free.fr/ocaml2/tut/tut-ocaml-5/tut-ocaml-5.html]
  The trick to compile ocaml-5 in this environement was the same than to
  compile ocaml-4 in the same environement because `ln -s' doesn't seem
  to produce the expected result.  At the beginning I edited the
  `Makefile' to replace the `ln -s' commands by `cp' commands, but an
  easier way is to use the `make' feature that permits you to change the
  value of one of the variable from the command line which invokes
  `make', like this `make LN=cp'.

  With this trick everything was producing the expected `ocaml' `tools'
  with ocaml-4, but with ocaml-5, I have only been able to get
  `ocamlnat' and `ocamlopt' tools (which is enough.)

  `ocamlopt' was installed as expected by the `make install' command,
  but `ocamlnat' had to be copied by hand.

  If the command `ocaml' produces an error (`cannot execute'), in
  scripts I can still replace:
  ┌────
  │ #!/usr/bin/env ocaml
  └────
  by:
  ┌────
  │ #!/usr/bin/env ocamlnat
  └────
  By defining the same environement variables than `opam' I can get two
  different ocaml version usable at the same time, one 4 version, and a
  5 version, next to each other at the same time, without using `opam'
  because `opam' grew up a lot, and in crostini environement we quickly
  lack of space.

  PS: If someone want to help finding how to get the `ocaml' and
  `ocamlc' commands functioning, the help will be wellcome, and I will
  update this mini-tutorial.


[http://decapode314.free.fr/ocaml2/tut/tut-ocaml-5/tut-ocaml-5.html]
<http://decapode314.free.fr/ocaml2/tut/tut-ocaml-5/tut-ocaml-5.html>


dune-release-action: Automate your opam package releases with GitHub Actions
════════════════════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-dune-release-action-automate-your-opam-package-releases-with-github-actions/17380/1>


David Sancho announced
──────────────────────

  Hi everyone 👋

  I'm excited to share a new GitHub Action I've been working on:
  *dune-release-action*

  If you maintain OCaml packages, you know the drill: every release
  involves a ritual of commands and manual steps. You need to:

  1. Ensure your CHANGES.md is properly formatted
  2. Tag your release
  3. Run `dune-release' `lint + distrib + submit'
  4. Create a GitHub release with the correct changelog section
  5. Check the opam-repository's PR
  6. Oh shit, github token is expired
  7. Create new token without expiration (??)
  8. Retry

  For me, was following this guide
  <https://gist.github.com/anmonteiro/abd9275456888740758aa9f772d1992a>
  by @anmonteiro, but it typically took around an hour per release.


dune-release-action
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  `dune-release-action' automates the entire release workflow in GitHub
  Actions. Push a git tag, and the action runs dune-release for you
  with:

  • Handles all the `dune-release' orchestration
  • Validates your changelog format (right tag exists, etc)
  • Creates a GitHub release with proper description (from your
    changelog section (!!))
  • Submits a PR to opam-repository

  ┌────
  │ name: Release
  │ 
  │ on:
  │   push:
  │     tags:
  │       - '*'
  │ 
  │ permissions:
  │   contents: write
  │   pull-requests: write
  │ 
  │ jobs:
  │   release:
  │     runs-on: ubuntu-latest
  │     steps:
  │       - uses: actions/checkout@v4
  │         with:
  │           fetch-depth: 0
  │ 
  │       - uses: ocaml/setup-ocaml@v3
  │         with:
  │           ocaml-compiler: 5.3.0
  │ 
  │       - run: opam install dune-release -y
  │ 
  │       - uses: davesnx/dune-release-action@v1
  │         with:
  │           package-name: 'your-package'
  │           github-token: ${{ secrets.GH_TOKEN }}
  └────

  This is very much a one-day half vibe-coded project and it's hard to
  test in many use cases, I'm sure there are edge cases and workflows I
  haven't considered.

  • *Repository*: <https://github.com/davesnx/dune-release-action>
  • *Documentation*:
     <https://github.com/davesnx/dune-release-action/blob/main/README.md>

  Looking forward to hearing your thoughts!


Other OCaml News
════════════════

>From the ocaml.org blog
───────────────────────

  Here are links from many OCaml blogs aggregated at [the ocaml.org
  blog].

  • [OCaml 5.4 Release: New Features, Fixes, and More!]
  • [Docker base image build rate]
  • [LexiFi at FUN OCaml 2025]
  • [Upcoming OCaml Events]
  • [Updating OCaml CI systems to FreeBSD 14.3]


[the ocaml.org blog] <https://ocaml.org/blog/>

[OCaml 5.4 Release: New Features, Fixes, and More!]
<https://tarides.com/blog/2025-10-10-ocaml-5-4-release-new-features-fixes-and-more>

[Docker base image build rate]
<https://www.tunbury.org/2025/10/10/docker-base-images/>

[LexiFi at FUN OCaml 2025]
<https://www.lexifi.com/blog/ocaml/fun-ocaml-2025/>

[Upcoming OCaml Events] <https://ocaml.org/events>

[Updating OCaml CI systems to FreeBSD 14.3]
<https://www.tunbury.org/2025/10/07/freebsd-14.3/>


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
  to the [caml-list].

  [Alan Schmitt]


[send me a message] <mailto:alan.schmitt@polytechnique.org>

[the archive] <https://alan.petitepomme.net/cwn/>

[RSS feed of the archives] <https://alan.petitepomme.net/cwn/cwn.rss>

[caml-list] <https://sympa.inria.fr/sympa/info/caml-list>

[Alan Schmitt] <https://alan.petitepomme.net/>


[-- Attachment #2: Type: text/html, Size: 39872 bytes --]

             reply	other threads:[~2025-10-14  9:56 UTC|newest]

Thread overview: 262+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-14  9:56 Alan Schmitt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-10-07 12:22 Alan Schmitt
2025-09-30 13:12 Alan Schmitt
2025-09-23 13:23 Alan Schmitt
2025-09-16 11:52 Alan Schmitt
2025-09-09 12:30 Alan Schmitt
2025-09-02 12:23 Alan Schmitt
2025-08-26 12:34 Alan Schmitt
2025-08-19 12:20 Alan Schmitt
2025-08-12 15:32 Alan Schmitt
2025-08-05  8:17 Alan Schmitt
2025-07-29  9:36 Alan Schmitt
2025-07-22 12:07 Alan Schmitt
2025-07-15 17:14 Alan Schmitt
2025-07-08 12:45 Alan Schmitt
2025-07-01 11:16 Alan Schmitt
2025-06-24 14:02 Alan Schmitt
2025-06-17  6:44 Alan Schmitt
2025-06-10 13:36 Alan Schmitt
2025-06-03  9:19 Alan Schmitt
2025-05-27  9:22 Alan Schmitt
2025-05-20 11:52 Alan Schmitt
2025-05-13  9:40 Alan Schmitt
2025-05-06  7:24 Alan Schmitt
2025-04-29  8:39 Alan Schmitt
2025-04-22 11:50 Alan Schmitt
2025-04-15  9:51 Alan Schmitt
2025-04-08 13:14 Alan Schmitt
2025-04-01  9:12 Alan Schmitt
2025-03-25  8:06 Alan Schmitt
2025-03-18 10:18 Alan Schmitt
2025-03-11 15:00 Alan Schmitt
2025-03-04 14:01 Alan Schmitt
2025-02-25 10:36 Alan Schmitt
2025-02-18 14:33 Alan Schmitt
2025-02-11  7:17 Alan Schmitt
2025-02-04 12:05 Alan Schmitt
2025-01-28 13:24 Alan Schmitt
2025-01-21 15:47 Alan Schmitt
2025-01-14  8:20 Alan Schmitt
2025-01-07 17:26 Alan Schmitt
2024-12-31  8:03 Alan Schmitt
2024-12-24  8:55 Alan Schmitt
2024-12-17 13:05 Alan Schmitt
2024-12-10 13:48 Alan Schmitt
2024-12-03 14:44 Alan Schmitt
2024-11-26  8:30 Alan Schmitt
2024-11-19  6:52 Alan Schmitt
2024-11-12 15:00 Alan Schmitt
2024-11-05 13:22 Alan Schmitt
2024-10-29 13:30 Alan Schmitt
2024-10-22 12:42 Alan Schmitt
2024-10-15 13:31 Alan Schmitt
2024-10-08 10:56 Alan Schmitt
2024-10-01 13:37 Alan Schmitt
2024-09-24 13:18 Alan Schmitt
2024-09-17 14:02 Alan Schmitt
2024-09-10 13:55 Alan Schmitt
2024-09-03  8:24 Alan Schmitt
2024-08-27  9:02 Alan Schmitt
2024-08-20  9:29 Alan Schmitt
2024-08-13 13:21 Alan Schmitt
2024-08-06  9:00 Alan Schmitt
2024-07-30 13:26 Alan Schmitt
2024-07-23 13:30 Alan Schmitt
2024-07-16  6:24 Alan Schmitt
2024-07-09  9:19 Alan Schmitt
2024-07-02  7:30 Alan Schmitt
2024-06-25 13:58 Alan Schmitt
2024-06-18 13:05 Alan Schmitt
2024-06-11 15:04 Alan Schmitt
2024-06-04 13:26 Alan Schmitt
2024-05-28  9:07 Alan Schmitt
2024-05-21 13:07 Alan Schmitt
2024-05-14 13:25 Alan Schmitt
2024-05-07  7:30 Alan Schmitt
2024-04-30  7:22 Alan Schmitt
2024-04-23 12:17 Alan Schmitt
2024-04-16 12:00 Alan Schmitt
2024-04-09  9:15 Alan Schmitt
2024-04-02 14:31 Alan Schmitt
2024-03-26  6:32 Alan Schmitt
2024-03-19 15:09 Alan Schmitt
2024-03-12 10:31 Alan Schmitt
2024-03-05 14:50 Alan Schmitt
2024-02-27 13:53 Alan Schmitt
2024-02-20  9:12 Alan Schmitt
2024-02-13  8:42 Alan Schmitt
2024-02-06 15:14 Alan Schmitt
2024-01-30 14:16 Alan Schmitt
2024-01-23  9:45 Alan Schmitt
2024-01-16 10:01 Alan Schmitt
2024-01-09 13:40 Alan Schmitt
2024-01-02  8:59 Alan Schmitt
2023-12-26 10:12 Alan Schmitt
2023-12-19 10:10 Alan Schmitt
2023-12-12 10:20 Alan Schmitt
2023-12-05 10:13 Alan Schmitt
2023-11-28  9:09 Alan Schmitt
2023-11-21  7:47 Alan Schmitt
2023-11-14 13:42 Alan Schmitt
2023-11-07 10:31 Alan Schmitt
2023-10-31 10:43 Alan Schmitt
2023-10-24  9:17 Alan Schmitt
2023-10-17  7:46 Alan Schmitt
2023-10-10  7:48 Alan Schmitt
2023-10-03 13:00 Alan Schmitt
2023-09-19  8:54 Alan Schmitt
2023-09-12 13:21 Alan Schmitt
2023-09-05  9:00 Alan Schmitt
2023-08-29 13:04 Alan Schmitt
2023-08-22  9:20 Alan Schmitt
2023-08-15 16:33 Alan Schmitt
2023-08-08  8:53 Alan Schmitt
2023-08-01  7:13 Alan Schmitt
2023-07-25  8:45 Alan Schmitt
2023-07-11  8:45 Alan Schmitt
2023-07-04  9:18 Alan Schmitt
2023-06-27  8:38 Alan Schmitt
2023-06-20  9:52 Alan Schmitt
2023-06-13  7:09 Alan Schmitt
2023-06-06 14:22 Alan Schmitt
2023-05-30 15:43 Alan Schmitt
2023-05-23  9:41 Alan Schmitt
2023-05-16 13:05 Alan Schmitt
2023-05-09 11:49 Alan Schmitt
2023-05-02  8:01 Alan Schmitt
2023-04-25  9:25 Alan Schmitt
2023-04-18  8:50 Alan Schmitt
2023-04-11 12:41 Alan Schmitt
2023-04-04  8:45 Alan Schmitt
2023-03-28  7:21 Alan Schmitt
2023-03-21 10:07 Alan Schmitt
2023-03-14  9:52 Alan Schmitt
2023-03-07  9:02 Alan Schmitt
2023-02-28 14:38 Alan Schmitt
2023-02-21 10:19 Alan Schmitt
2023-02-14  8:12 Alan Schmitt
2023-02-07  8:16 Alan Schmitt
2023-01-31  6:44 Alan Schmitt
2023-01-24  8:57 Alan Schmitt
2023-01-17  8:37 Alan Schmitt
2022-11-29 14:53 Alan Schmitt
2022-09-27  7:17 Alan Schmitt
2022-09-20 14:01 Alan Schmitt
2022-09-13  8:40 Alan Schmitt
2022-08-23  8:06 Alan Schmitt
2022-08-16  8:51 Alan Schmitt
2022-08-09  8:02 Alan Schmitt
2022-08-02  9:51 Alan Schmitt
2022-07-26 17:54 Alan Schmitt
2022-07-19  8:58 Alan Schmitt
2022-07-12  7:59 Alan Schmitt
2022-07-05  7:42 Alan Schmitt
2022-06-28  7:37 Alan Schmitt
2022-06-21  8:06 Alan Schmitt
2022-06-14  9:29 Alan Schmitt
2022-06-07 10:15 Alan Schmitt
2022-05-31 12:29 Alan Schmitt
2022-05-24  8:04 Alan Schmitt
2022-05-17  7:12 Alan Schmitt
2022-05-10 12:30 Alan Schmitt
2022-05-03  9:11 Alan Schmitt
2022-04-26  6:44 Alan Schmitt
2022-04-19  5:34 Alan Schmitt
2022-04-12  8:10 Alan Schmitt
2022-04-05 11:50 Alan Schmitt
2022-03-29  7:42 Alan Schmitt
2022-03-22 13:01 Alan Schmitt
2022-03-15  9:59 Alan Schmitt
2022-03-01 13:54 Alan Schmitt
2022-02-22 12:43 Alan Schmitt
2022-02-08 13:16 Alan Schmitt
2022-02-01 13:00 Alan Schmitt
2022-01-25 12:44 Alan Schmitt
2022-01-11  8:20 Alan Schmitt
2022-01-04  7:56 Alan Schmitt
2021-12-28  8:59 Alan Schmitt
2021-12-21  9:11 Alan Schmitt
2021-12-14 11:02 Alan Schmitt
2021-11-30 10:51 Alan Schmitt
2021-11-16  8:41 Alan Schmitt
2021-11-09 10:08 Alan Schmitt
2021-11-02  8:50 Alan Schmitt
2021-10-19  8:23 Alan Schmitt
2021-09-28  6:37 Alan Schmitt
2021-09-21  9:09 Alan Schmitt
2021-09-07 13:23 Alan Schmitt
2021-08-24 13:44 Alan Schmitt
2021-08-17  6:24 Alan Schmitt
2021-08-10 16:47 Alan Schmitt
2021-07-27  8:54 Alan Schmitt
2021-07-20 12:58 Alan Schmitt
2021-07-06 12:33 Alan Schmitt
2021-06-29 12:24 Alan Schmitt
2021-06-22  9:04 Alan Schmitt
2021-06-01  9:23 Alan Schmitt
2021-05-25  7:30 Alan Schmitt
2021-05-11 14:47 Alan Schmitt
2021-05-04  8:57 Alan Schmitt
2021-04-27 14:26 Alan Schmitt
2021-04-20  9:07 Alan Schmitt
2021-04-06  9:42 Alan Schmitt
2021-03-30 14:55 Alan Schmitt
2021-03-23  9:05 Alan Schmitt
2021-03-16 10:31 Alan Schmitt
2021-03-09 10:58 Alan Schmitt
2021-02-23  9:51 Alan Schmitt
2021-02-16 13:53 Alan Schmitt
2021-02-02 13:56 Alan Schmitt
2021-01-26 13:25 Alan Schmitt
2021-01-19 14:28 Alan Schmitt
2021-01-12  9:47 Alan Schmitt
2021-01-05 11:22 Alan Schmitt
2020-12-29  9:59 Alan Schmitt
2020-12-22  8:48 Alan Schmitt
2020-12-15  9:51 Alan Schmitt
2020-12-01  8:54 Alan Schmitt
2020-11-03 15:15 Alan Schmitt
2020-10-27  8:43 Alan Schmitt
2020-10-20  8:15 Alan Schmitt
2020-10-06  7:22 Alan Schmitt
2020-09-29  7:02 Alan Schmitt
2020-09-22  7:27 Alan Schmitt
2020-09-08 13:11 Alan Schmitt
2020-09-01  7:55 Alan Schmitt
2020-08-18  7:25 Alan Schmitt
2020-07-28 16:57 Alan Schmitt
2020-07-21 14:42 Alan Schmitt
2020-07-14  9:54 Alan Schmitt
2020-07-07 10:04 Alan Schmitt
2020-06-30  7:00 Alan Schmitt
2020-06-16  8:36 Alan Schmitt
2020-06-09  8:28 Alan Schmitt
2020-05-19  9:52 Alan Schmitt
2020-05-12  7:45 Alan Schmitt
2020-05-05  7:45 Alan Schmitt
2020-04-28 12:44 Alan Schmitt
2020-04-21  8:58 Alan Schmitt
2020-04-14  7:28 Alan Schmitt
2020-04-07  7:51 Alan Schmitt
2020-03-31  9:54 Alan Schmitt
2020-03-24  9:31 Alan Schmitt
2020-03-17 11:04 Alan Schmitt
2020-03-10 14:28 Alan Schmitt
2020-03-03  8:00 Alan Schmitt
2020-02-25  8:51 Alan Schmitt
2020-02-18  8:18 Alan Schmitt
2020-02-04  8:47 Alan Schmitt
2020-01-28 10:53 Alan Schmitt
2020-01-21 14:08 Alan Schmitt
2020-01-14 14:16 Alan Schmitt
2020-01-07 13:43 Alan Schmitt
2019-12-31  9:18 Alan Schmitt
2019-12-17  8:52 Alan Schmitt
2019-12-10  8:21 Alan Schmitt
2019-12-03 15:42 Alan Schmitt
2019-11-26  8:33 Alan Schmitt
2019-11-12 13:21 Alan Schmitt
2019-11-05  6:55 Alan Schmitt
2019-10-15  7:28 Alan Schmitt
2019-09-03  7:35 Alan Schmitt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2qzv5st5v.fsf@mac-03220211.irisa.fr \
    --to=alan.schmitt@polytechnique.org \
    --cc=caml-list@inria.fr \
    --cc=lwn@lwn.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox