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, 29 Sep 2026 09:10:38 +0200 [thread overview]
Message-ID: <m2jyo4h6s1.fsf@mac-03220211.irisa.fr> (raw)
[-- Attachment #1.1.1: Type: text/plain, Size: 19371 bytes --]
Hello
Here is the latest OCaml Weekly News, for the week of September 22 to
29, 2026.
Table of Contents
─────────────────
2nd release elm_playground (a game engine for beginners)
moonpool 0.12
tw 1.1.0, Tailwind CSS in OCaml
Cascade: A Typed CSS Toolkit in OCaml
ppx_deriving_{yaml,ezjsonm,yamlx} 0.5.0
kqueue-ml 0.5.0
Windtrap: one library for all your OCaml tests
Ocsigen Server 8.0.0
Old CWN
2nd release elm_playground (a game engine for beginners)
════════════════════════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/ann-2nd-release-elm-playground-a-game-engine-for-beginners/18552/1>
Yoann Padioleau announced
─────────────────────────
It is my pleasure, again, to announce the second release of
`elm_playground', an OCaml package that allows you to easily create
/pictures/, /animations/, and even /video games/ in a portable way
using an API that really simplifies how to view the computer and its
devices (the screen, keyboard, and mouse). The library offers a native
backend to run the games from a terminal and a web backend to run the
games in your browser.
This is a port of the excellent Elm playground package
<https://github.com/evancz/elm-playground> to OCaml.
You can install it via OPAM via
`opam install elm_playground; opam install elm_playground_native'.
The main changes are most of the bugs in the first release have been
fixed (mostly by Claude Code), and that now the native and web backend
are fully working on all the examples and games. Here is for instance
how to play Tetris compiled by jsoo:
<https://aryx.github.io/ocaml-elm-playground/games/Tetris.html>
Here are a few examples of code using the library.
First a “picture” app:
┌────
│ (* from https://elm-lang.org/examples/picture *)
│ open Playground
│
│ let app =
│ picture [
│ rectangle brown 40. 200.
│ |> move_down 80.;
│ circle green 100.
│ |> move_up 100.;
│ ]
│
│ let main = Playground_platform.run_app app
└────
<https://us1.discourse-cdn.com/flex020/uploads/ocaml/optimized/2X/7/76fc1990fe116911097764df986f64fed41c28a4_2_470x500.png>
Then an “animation” app:
┌────
│ (* from https://elm-lang.org/examples/animation *)
│ open Playground
│
│ let view time = [
│ octagon darkGray 36.
│ |> move_left 100.
│ |> rotate (spin 3. time);
│ octagon darkGray 36.
│ |> move_right 100.
│ |> rotate (spin 3. time);
│ rectangle red 300. 80.
│ |> move_up (wave 50. 54. 2. time)
│ |> rotate (zigzag (-. 2.) 2. 8. time);
│ ]
│
│ let app =
│ animation view
│
│ let main = Playground_platform.run_app app
└────
<https://us1.discourse-cdn.com/flex020/uploads/ocaml/optimized/2X/e/e91563cbb6a0863570bbb19b057f5e8dae7164bf_2_470x500.png>
And finally a “game” app:
┌────
│ (* from https://elm-lang.org/examples/mouse *)
│ open Playground
│
│ let view _computer (x, y) = [
│ square blue 40.
│ |> move x y
│ ]
│
│ let update computer (x, y) =
│ (x +. to_x computer.keyboard, y +. to_y computer.keyboard)
│
│ let app =
│ game view update (0., 0.)
│
│ let main = Playground_platform.run_app app
└────
<https://us1.discourse-cdn.com/flex020/uploads/ocaml/optimized/2X/2/24e8ffe672cda66c6a49e02013347cda0640f771_2_470x500.png>
Note that you can write more complex games. For example here is a
screenshot of a toy tetris app:
<https://us1.discourse-cdn.com/flex020/uploads/ocaml/original/2X/4/4ded1d55c9994935c5ec3786ae549ba3a71b8eb6.png>
For more information, follow the README at
<https://github.com/aryx/ocaml-elm-playground>
See also the code of some classic examples and try them online thx to
jsoo: <https://aryx.github.io/ocaml-elm-playground/games/>
moonpool 0.12
═════════════
Archive: <https://discuss.ocaml.org/t/ann-moonpool-0-12/18553/1>
Simon Cruanes announced
───────────────────────
Howdy, I just released moonpool 0.12, now coming to an opam repository
near you.
Moonpool (first announced [here]) is a threadpool library for OCaml 5,
leveraging domains to actually go brrrrrrr on multiple cores. The
(still unique‽) design of moonpool allows the user to create multiple
pools, whose cumulative size exceeds
`Domain.recommended_domain_count()' without slowdown. It does that by
using… threads… instead of domains. Yep.
Anyway there's a whole bunch of bugfixes (including one to correct
pathological memory usage in #45, big up @gasche as usual
:heart_hands:), support for `ambient-context', some cleanup, dscheck
for tests, etc.
Cheerios on you and your cereal bowls
[here] <https://discuss.ocaml.org/t/ann-moonpool-0-1/12387>
tw 1.1.0, Tailwind CSS in OCaml
═══════════════════════════════
Archive:
<https://discuss.ocaml.org/t/ann-tw-1-1-0-tailwind-css-in-ocaml/18554/1>
Thomas Gazagnaire announced
───────────────────────────
I am happy to announce the release of [tw] 1.1.0 (available on brew
already and soon in [opam]).
┌────
│ $ brew install samoht/tap/tw
│ $ opam install tw.1.1.0
└────
`tw' is an implementation of [Tailwind CSS v4] in pure OCaml. This is
the first version I would advise people to use: the previous ones only
partially supported some features, and it was unclear where things
were breaking. The 1.1.0 release now covers /all/ the Tailwind v4
utilities, variants and official plugins, and more importantly it
comes with a proper, mechanical way to check that its output has no
visual difference from Tailwind's.
`tw' now comes with a CLI that is a drop-in replacement for the
Tailwind CLI. It builds whole Tailwind projects from their CSS
entrypoint (`tw -i src/app.css -o dist/app.css'), including `@theme',
`@source', `@apply', custom utilities and variants, and the typography
and forms plugins, *without Node.js*. It works for any project
configured in CSS, whatever language generates the HTML.
If you are using OCaml you can directly use an OCaml API with
[Tw_html] that lets you build HTML components carrying their own
styles. It exposes [htmlit]'s API but attaches `tw' classes to every
node so you can query what CSS a given HTML fragment needs to be
displayed.
You can read more about the process to get to this release in my [blog
post]. Feedback greatly appreciated in the [issue tracker] or in DMs!
[tw] <https://github.com/samoht/tw/>
[opam] <https://github.com/ocaml/opam-repository/pull/30790>
[Tailwind CSS v4] <https://tailwindcss.com/>
[Tw_html] <https://github.com/samoht/tw/blob/main/lib/html/tw_html.mli>
[htmlit] <https://github.com/dbuenzli/htmlit>
[blog post]
<https://gazagnaire.org/blog/2026-09-23-tailwind-parity.html>
[issue tracker] <https://github.com/samoht/tw/issues>
Cascade: A Typed CSS Toolkit in OCaml
═════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/cascade-a-typed-css-toolkit-in-ocaml/18383/6>
Continuing this thread, Thomas Gazagnaire announced
───────────────────────────────────────────────────
I am happy to announce the release of `cascade' 1.2.1 in `opam' and
Homebrew. It mostly contains (many) bug fixes, a lot of them found by
rendering stylesheets in headless Chrome and comparing the pixels.
If you shipped minified CSS built with 1.1.0, please regenerate it and
check the difference:
┌────
│ $ cascade diff --diff=canonical old.css new.css
└────
If you want to check pixel-level differences of the rendering on a
given page, you can now use:
┌────
│ $ cascade diff --browser --html page.html a.css b.css
└────
This new command helped to identify and fix numerous issues; hence the
(way too long) list of fixes in [CHANGES.md].
[CHANGES.md]
<https://github.com/samoht/cascade/blob/main/CHANGES.md#120>
ppx_deriving_{yaml,ezjsonm,yamlx} 0.5.0
═══════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/ann-ppx-deriving-yaml-ezjsonm-yamlx-0-5-0/18556/1>
Patrick Ferris announced
────────────────────────
Hello!
I'm happy to announce the release of `ppx_deriving_yaml' and
`ppx_deriving_ezjsonm' version `0.5.0' alongside the first release of
`ppx_deriving_yamlx' which uses [YAMLx] as a backend (thank you to
@raphael-proust and @mjambon for their work and input). All three
derivers use the same core codec with each specialising to their
particular representation.
This release also contains a bug fix for deriving `_ array' types
which was completely broken (so broken, your code wouldn't compile).
[YAMLx] <https://github.com/mjambon/yamlx>
Installing
╌╌╌╌╌╌╌╌╌╌
┌────
│ opam update
│ opam install ppx_deriving_yaml
│ opam install ppx_deriving_ezjsonm
│ opam install ppx_deriving_yamlx
└────
Documentation
╌╌╌╌╌╌╌╌╌╌╌╌╌
Please find the documentation on ocaml.org, for example [docs for
ppx_deriving_yamlx].
Happy deriving :two_hump_camel:
[docs for ppx_deriving_yamlx]
<https://ocaml.org/p/ppx_deriving_yamlx/latest/doc/index.html>
kqueue-ml 0.5.0
═══════════════
Archive: <https://discuss.ocaml.org/t/ann-kqueue-ml-0-5-0/17835/2>
Continuing this thread, Anurag Soni announced
─────────────────────────────────────────────
I've published a couple of new releases since 0.5.
• Added support for `EVFILT_USER' and `EVFILT_SIGNAL'
• Change the interface for registering events to avoid needing to
allocate a record
The new update can be found on [opam]
[opam] <https://opam.ocaml.org/packages/kqueue/kqueue.0.7.0/>
Windtrap: one library for all your OCaml tests
══════════════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/ann-windtrap-one-library-for-all-your-ocaml-tests/18561/1>
Thibaut Mattio announced
────────────────────────
Hi everyone!
I'm happy to announce the release of [Windtrap], a testing framework
for OCaml that brings the different testing methods of the ecosystem
into one library:
• Unit tests, with an Alcotest-like API.
• Expect and snapshot tests, with a companion PPX compatible with
`ppx_expect' and `ppx_inline_test', but usable without it.
• Property tests as seen in [QCheck], with a library of textbook laws
(round trips, orders, associativity, and more).
• Stateful and differential tests, as seen in [qcheck-stm] and
[Monolith], on one domain or several.
• Test coverage (as with [Bisect_ppx]) and mutation testing (as with
[mutaml]).
Every kind of test composes with the others into one suite and one
output, and the library has *no dependencies* beyond OCaml (the
optional PPX uses ppxlib).
Here's a small suite that tests the standard library with a unit test,
a property stated as a textbook law, and a stateful test of `Stack'
against a list:
┌────
│ open Windtrap
│
│ (* A reference for Stack: a list, its top first. *)
│ module Model = struct
│ type t = int list ref
│
│ let create () = ref []
│ let push x m = m := x :: !m
│ let length m = List.length !m
│
│ let pop m =
│ match !m with
│ | [] -> raise Stack.Empty
│ | x :: rest ->
│ m := rest;
│ x
│ end
│
│ let stack = abstract "s" ~pp:(fun ppf m -> Testable.pp (list int) ppf !m)
│
│ let lists =
│ group "list"
│ [
│ test "rev reverses a list" (fun () ->
│ equal (list int) [ 3; 2; 1 ] (List.rev [ 1; 2; 3 ]));
│ prop "rev is an involution" (Gen.list Gen.int)
│ (Law.involutive (list int) List.rev);
│ ]
│
│ let stacks =
│ group "stack"
│ [
│ stateful "behaves like a list"
│ [
│ command "create" (Gen.unit @-> makes stack) Model.create Stack.create;
│ command "push"
│ (Gen.int @-> stack ^-> returns unit)
│ Model.push Stack.push;
│ command "pop" (stack ^-> returns int) Model.pop Stack.pop;
│ command "length" (stack ^-> returns int) Model.length Stack.length;
│ ];
│ ]
│
│ let () = exit (run "stdlib" [ lists; stacks ])
└────
We built Windtrap at [Invariant] as part of our work on making code
written by agents more trustworthy. Agents replicate what they find in
a repository, so a project full of strong tests gets more of
them. Windtrap comes with an [agent skill] that guides agents towards
the right kind of test, but we care just as much about humans, and put
a lot of effort into making the API and output ergonomic and
delightful.
You can read more about it in the [announcement post]. It walks
through an example suite, what a failure looks like, coverage and
mutation testing, and an experiment where we used Windtrap to test the
OCaml standard library.
To install it (when [the PR] is merged on opam-repository):
┌────
│ opam install windtrap ppx_windtrap
└────
The [manual] (written by agents with my guidance, I hope you'll find
the writing voice bearable, but if enough people complain I'll look
into rewriting it by hand) has one page per kind of test. Feedback is
very welcome, here or on the [issue tracker].
Happy hacking!
—
[Windtrap] <https://github.com/invariant-hq/windtrap>
[QCheck] <https://github.com/c-cube/qcheck>
[qcheck-stm] <https://github.com/ocaml-multicore/multicoretests>
[Monolith] <https://gitlab.inria.fr/fpottier/monolith>
[Bisect_ppx] <https://github.com/aantron/bisect_ppx>
[mutaml] <https://github.com/jmid/mutaml>
[Invariant] <https://invarianthq.dev/>
[agent skill]
<https://github.com/invariant-hq/windtrap/blob/main/SKILL.md>
[announcement post] <https://invarianthq.dev/blog/announcing-windtrap/>
[the PR] <https://github.com/ocaml/opam-repository/pull/30817>
[manual] <https://github.com/invariant-hq/windtrap/tree/main/doc/manual>
[issue tracker] <https://github.com/invariant-hq/windtrap/issues>
Acknowledgments
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Windtrap builds on ideas and code from several OCaml projects:
• *[Alcotest]* by Thomas Gazagnaire: test structure and runner design.
• *Craig Ferguson's Alcotest PRs* ([#294], [#247]): API design,
subcomponent diffing.
• *[QCheck2]* by Simon Cruanes et al.: generator design and integrated
shrinking.
• *[Monolith]* by François Pottier, and *[qcheck-stm]* by Jan
Midtgaard et al.: stateful testing against a reference, on one
domain or several.
• *[ppx_expect]* and *[ppx_inline_test]* by Jane Street: expect test
paradigm and dune integration, and ppx_expect's test corpus.
• *[Bisect_ppx]* by Anton Bachin et al.: coverage instrumentation and
runtime.
• *[mutaml]* by Jan Midtgaard: mutation testing for OCaml as a PPX.
• *[mtime]* by Daniel Bünzli: the monotonic clock.
[Alcotest] <https://github.com/mirage/alcotest>
[#294] <https://github.com/mirage/alcotest/pull/294>
[#247] <https://github.com/mirage/alcotest/pull/247>
[QCheck2] <https://github.com/c-cube/qcheck>
[Monolith] <https://gitlab.inria.fr/fpottier/monolith>
[qcheck-stm] <https://github.com/ocaml-multicore/multicoretests>
[ppx_expect] <https://github.com/janestreet/ppx_expect>
[ppx_inline_test] <https://github.com/janestreet/ppx_inline_test>
[Bisect_ppx] <https://github.com/aantron/bisect_ppx>
[mutaml] <https://github.com/jmid/mutaml>
[mtime] <https://erratique.ch/software/mtime>
Ocsigen Server 8.0.0
════════════════════
Archive:
<https://discuss.ocaml.org/t/ann-ocsigen-server-8-0-0/18564/1>
Vincent Balat announced
───────────────────────
Hi everyone!
Ocsigen Server 8.0.0 is out, the web server written in OCaml, usable
as an executable or as a library. Some highlights:
• *One command, no config file*: `ocsigenserver ./public' serves a
directory, and `ocsigenserver --reverse-proxy
http://localhost:9000' puts a proxy in front of your app, with
compression and security headers already on.
• *Static files* now answer conditional requests (ETag, 304) and byte
ranges, so seeking in a video or resuming a download just works.
• *zstd compression*, on a new bytesrw backend.
• A new *Securityheaders* extension.
• Access logs in the standard *Combined Log Format*, readable by the
usual tools.
• The public modules were renamed (`Ocsigen.Server', `Ocsigen.Config',
…). The new `ocsigenserver-compat' package keeps the old names, so
existing code still builds.
`opam install ocsigenserver'
A release of Eliom and other projects compatible with this version
will follow in a few weeks.
All the details are in the blog post:
<https://ocsigen.org/blog/posts/ocsigenserver-8.0.0.html>
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 #1.1.2: Type: text/html, Size: 37671 bytes --]
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 568 bytes --]
next reply other threads:[~2026-09-29 7:10 UTC|newest]
Thread overview: 312+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 7:10 Alan Schmitt [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-09-22 7:41 Alan Schmitt
2026-09-15 8:08 Alan Schmitt
2026-09-08 13:20 Alan Schmitt
2026-09-01 9:14 Alan Schmitt
2026-08-25 7:36 Alan Schmitt
2026-08-18 6:56 Alan Schmitt
2026-08-11 12:25 Alan Schmitt
2026-08-04 7:44 Alan Schmitt
2026-07-28 12:44 Alan Schmitt
2026-07-21 16:02 Alan Schmitt
2026-07-14 7:16 Alan Schmitt
2026-07-07 13:29 Alan Schmitt
2026-06-30 13:25 Alan Schmitt
2026-06-23 10:07 Alan Schmitt
2026-06-16 10:51 Alan Schmitt
2026-06-09 7:39 Alan Schmitt
2026-06-02 9:01 Alan Schmitt
2026-05-26 7:36 Alan Schmitt
2026-05-19 8:52 Alan Schmitt
2026-05-12 7:28 Alan Schmitt
2026-05-05 9:35 Alan Schmitt
2026-04-28 7:59 Alan Schmitt
2026-04-21 9:34 Alan Schmitt
2026-04-14 9:50 Alan Schmitt
2026-04-07 9:32 Alan Schmitt
2026-03-31 6:10 Alan Schmitt
2026-03-24 9:58 Alan Schmitt
2026-03-17 14:39 Alan Schmitt
2026-03-10 13:30 Alan Schmitt
2026-03-03 13:54 Alan Schmitt
2026-02-24 13:36 Alan Schmitt
2026-02-17 13:47 Alan Schmitt
2026-02-10 10:36 Alan Schmitt
2026-02-03 10:04 Alan Schmitt
2026-01-27 12:41 Alan Schmitt
2026-01-20 9:19 Alan Schmitt
2026-01-13 8:27 Alan Schmitt
2026-01-06 13:14 Alan Schmitt
2025-12-30 9:33 Alan Schmitt
2025-12-23 11:00 Alan Schmitt
2025-12-16 13:30 Alan Schmitt
2025-12-09 15:04 Alan Schmitt
2025-12-02 10:39 Alan Schmitt
2025-11-25 13:49 Alan Schmitt
2025-11-18 14:01 Alan Schmitt
2025-11-11 9:49 Alan Schmitt
2025-11-04 13:21 Alan Schmitt
2025-10-28 13:30 Alan Schmitt
2025-10-21 9:17 Alan Schmitt
2025-10-14 9:56 Alan Schmitt
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=m2jyo4h6s1.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