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, 23 Jun 2026 12:07:47 +0200	[thread overview]
Message-ID: <m2bjd1h8ng.fsf@petitepomme.net> (raw)


[-- Attachment #1.1.1: Type: text/plain, Size: 14647 bytes --]

Hello

Here is the latest OCaml Weekly News, for the week of June 16 to 23,
2026.

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

Docfd 13.0.0: TUI multiline fuzzy document finder
google-drive-ocamlfuse 0.9.0
OCaml 5.5.0 released
Old CWN


Docfd 13.0.0: TUI multiline fuzzy document finder
═════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-docfd-13-0-0-tui-multiline-fuzzy-document-finder/18259/1>


Darren announced
────────────────

  Hi all, I am happy to announce the release of Docfd 13.0.0.

  [Repo] - [Online Demo]

  (Try typing `/list file' to get started in demo, `x/' to clear
  search. Documentation still WIP.)


[Repo] <https://github.com/darrenldl/docfd>

[Online Demo] <https://demo.docfd.sh/>

What Docfd is
╌╌╌╌╌╌╌╌╌╌╌╌╌

  Think interactive grep for text files, PDFs, DOCXs, etc, but
  word/token based instead of regex and line based, so you can search
  across lines easily.

  Docfd aims to provide good UX via integration with common text editors
  and PDF viewers, so you can jump directly to a search result with a
  single key press.

  *Interactive use*

  <https://github.com/darrenldl/docfd/raw/main/demo-vhs-gifs/repo.gif>

  *Non-interactive use*

  <https://github.com/darrenldl/docfd/raw/main/demo-vhs-gifs/repo-non-interactive.gif>


Features
╌╌╌╌╌╌╌╌

  • Multithreaded indexing and searching
  • Multiline fuzzy search of multiple files
  • Content view pane that shows the snippet surrounding the search
    result selected
  • Text editor and PDF viewer integration
  • Editable command history - rewrite/plan your actions in text editor
  • Search scope narrowing - limit scope of next search based on current
    search results
  • Clipboard integration


Changes since 11.0.0
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Docfd has come a long way since last announcement here, I recommend
  checking out the [changelog] if you're interested in the improvements
  and new features.


[changelog] <https://github.com/darrenldl/docfd/blob/main/CHANGELOG.md>


google-drive-ocamlfuse 0.9.0
════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-google-drive-ocamlfuse-0-9-0/18263/1>


Alessandro Strada announced
───────────────────────────

  Hi everyone,

  I’m happy to announce that `google-drive-ocamlfuse' 0.9.0 is now
  available on opam.

  This release migrates from `libfuse' 2 to `libfuse' 3, allowing the
  package to be installed on modern Linux distributions that no longer
  provide `libfuse' 2.

  ┌────
  │ opam update
  │ opam install google-drive-ocamlfuse
  └────

  Repositories:

  • [`google-drive-ocamlfuse']
  • [`ocamlfuse'] — OCaml bindings for `libfuse'

  Best, Alessandro


[`google-drive-ocamlfuse']
<https://github.com/astrada/google-drive-ocamlfuse>

[`ocamlfuse'] <https://github.com/astrada/ocamlfuse>


OCaml 5.5.0 released
════════════════════

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


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

  We have the pleasure of celebrating the birthday of Blaise Pascal by
  announcing the release of OCaml version 5.5.0.

  Some of the highlights in OCaml 5.5.0 are:


Module-dependent Functions
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Modules can now be used as function arguments in a form of lightweight
  functors.

  For instance, we can define a function for printing a map generated by
  the `Map.Make' functor:

  ┌────
  │ let pp_map (module M: Map.S) pp_key pp_v ppf set =
  │   if M.is_empty set then
  │     Format.fprintf ppf "ø"
  │   else
  │    let pp_sep ppf () = Format.fprintf ppf ",@ " in
  │    let pp_binding ppf (k,v) =
  │      Format.fprintf ppf "@[%a@ =@ %a@]" pp_key k pp_v v
  │    in
  │    Format.fprintf ppf "@[{@ %a@ }@]"
  │      (Format.pp_print_seq ~pp_sep pp_binding) (M.to_seq set)
  └────

  We can then apply this function on a string map
  ┌────
  │ module String_map = Map.Make(String)
  └────
  with
  ┌────
  │ let () =
  │   let m = String_map.of_list ["Zero", "Zero"; "One", "Un"] in
  │   let pp_str = Format.pp_print_string in
  │   Format.printf "%a@."
  │   (pp_map (module String_map) pp_str pp_str) m
  └────

  Compared to first-class modules, the type of the function `pp_map'
  ┌────
  │ type 'a printer = Format.formatter -> 'a -> unit
  │ val pp_map: (module M: Map.S) -> M.key printer -> 'a printer -> 'a M.t printer
  └────
  is dependent over the value of the module `S', and thus the function
  can only applied over a statically known module:
  ┌────
  │ let f (): (module Map.S) =
  │   if Random.bool () then
  │     (module Map.Make(Int))
  │   else
  │     (module Map.Make(Float))
  │ let fail = pp_map (f ())
  └────
  ┌────
  │  Error: This expression has type
  │          (module M : Map.S) ->
  │          (Format.formatter -> M.key -> unit) ->
  │          (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a M.t -> unit
  │        but an expression was expected of type (module Map.S) -> 'b
  │        The module M would escape its scope
  │ This function is module-dependent. The dependency is preserved
  │ when the function is passed a static module argument (module M : S)
  │ or (module M). Its argument here is not static, so the type-checker
  │ tried instead to change the function type to be non-dependent.
  └────


Relocatable Compiler
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  A compiler installation can now be moved or copied with no risk of
  hard-to-debug errors due to mixing incompatible bytecode runtime
  interpreters.

  In practice, this means that creating a local switch when there is a
  global switch with the same compiler version and configuration
  available can be done by cloning the global switch rather than
  recompiling the whole compiler.

  This should considerably reduce the time required to create new local
  opam switches out-of-the-box.


Polymorphic Functions as Function Arguments
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Higher-rank polymorphic functions can now be defined directly by using
  an explicit type annotation in a function argument

  ┌────
  │ let apply_map (map: 'a 'b. ('a -> 'b) -> 'a list -> 'b list) =
  │   map string_of_int [1;2;3], map List.singleton ["x"; "y"]
  │ let _ = apply_map List.map
  └────

  Previously defining such a function required going through either a
  record or an object with a polymorphic field or methods

  ┌────
  │ type map = { map: 'a 'b. ('a -> 'b) -> 'a list -> 'b list }
  │ let apply_map {map} =
  │   map string_of_int [1;2;3], map List.singleton ["x"; "y"]
  └────


Search and Replace Substring Functions
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The `String' module has been extended with many functions for
  searching and replacing substrings inside a string.

  ┌────
  │ let _true = String.includes ~affix:"aba" "abbaba"
  │ let sentence = String.replace_all ~sub:"𝄽" ~by:"word" "A 𝄽 is re𝄽ed"
  └────

  The substring search is using the 2-way string matching algorithm
  which has the advantage of requiring constant space memory overhead
  independently of the needle size.


Generalised Local Definitions
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  It is now always possible to define locally a type, a class, a module
  type or any kind of item that can be defined globally:

  ┌────
  │ let mandelbrot n x =
  │   let type t = Converge | Escape of int in
  │   ...
  │   match orbit n x with
  │   | Converge -> 0
  │   | Exit_at n -> colorize n
  └────


External Types
╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  When interfacing with foreign function libraries, it is now possible
  to define external type

  ┌────
  │ type int_gmp = external "mpz_t"
  │ type float_gmp = external "mpf_t"
  └────

  Compared to an abstract type definition, the external type name
  "mpz_t" (resp. `mpf_t') makes the type distinguishable from any
  non-abstract types or external types with a different name.

  In particular, this makes FFI types better behaved when combined with
  Generalised Abstract Data Types (GADTs). For instance, The typechecker
  is able to prove that

  ┌────
  │ let ok: (int_gmp,[` A] ) Type.eq -> _ = function _ -> .
  └────

  is a total function because the external type `int_gmp' is not
  compatible with a polymorphic variant type.


Warning: Abstract types in the current module
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The astute reader has probably noticed in the definition above that,
  in OCaml 5.4.0, the typechecker does accept

  ┌────
  │ type int_gmp
  │ let ok: (int_gmp, [` A] ) Type.eq -> _ = function _ -> .
  └────
  as total.

  Indeed until OCaml 5.5.0, abstract types defined in the current module
  ┌────
  │ type a
  │ type b
  └────

  were considered as unique and provably different

  ┌────
  │ let f: 'x. (a,b) Type.eq -> 'x = function _ -> .
  └────

  However, this special rule for local definition of abstract types was
  very brittle. As soon as one moved outside of the current module, it
  was no longer possible to prove that the types were different.

  ┌────
  │ module M = struct
  │   type a
  │   type b
  │ end
  │ let fail: 'x. (M.a,M.b) Type.eq -> 'x = function _ -> .
  └────
  ┌────
  │ Error: This match case could not be refuted.
  │        Here is an example of a value that would reach it: Equal
  └────

  This special typechecking rule has been removed in OCaml 5.5.0. If you
  were relying on it, for instance, because you used an abstract type as
  type-level label in a GADTs, you can change your abstract type
  definition to a possibly private abbreviation of a polymorphic variant

  ┌────
  │ type a = private [`A]
  │ type b = [`B]
  └────
  or a (possibly private) sum type

  ┌────
  │ type a = A
  │ type b = private B
  └────

  If you were using an abstract type as both a type-level label and a
  FFI type, you can now use an external type definition which will give
  you a provably distinct type even outside of the current module.


GC improvements
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  Some of the ongoing work to improve the pacing of the garbage
  collector has been integrated in OCaml 5.5.0, two of the important
  changes in OCaml 5.5 GC are

  • the addition of a sweep-only phase at the start of major GC
  • the addition of an idle phase to smooth the behaviour of the GC at
    the start.


Many incremental changes
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  • The Windows implementation is no more reliant on Winpthreads
  • Around 60 new standard library functions
  • Around 90 various improvements
  • A dozen of documentation updates
  • Around 40 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.

  Happy hacking, Florian Angeletti for the OCaml team.

  —


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

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


Installation Instructions
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The base compiler can be installed as an opam switch with the
  following commands:

  ┌────
  │ opam update
  │ opam switch create 5.5.0
  └────

  The source code for the release is also directly available on:

  • [GitHub]
  • [OCaml archives at Inria]


[GitHub]
<https://github.com/ocaml/ocaml/releases/download/5.5.0/ocaml-5.5.0.tar.gz>

[OCaml archives at Inria]
<https://caml.inria.fr/pub/distrib/ocaml-5.5/ocaml-5.5.0.tar.gz>

◊ Fine-Tuned Compiler Configuration

  If you want to tweak the configuration of the compiler, you can switch
  to the option variant with:

  ┌────
  │ opam update
  │ opam switch create <switch_name> ocaml-variants.5.5.0+options <option_list>
  └────

  where `<option_list>' is a space separated list of `ocaml-option-*'
  packages. For instance, for a `flambda' and `no-flat-float-array'
  switch:

  ┌────
  │ opam switch create 5.5.0+flambda+nffa ocaml-variants.5.5.0+options ocaml-option-flambda ocaml-option-no-flat-float-array
  └────

  /Editor’s note: please read the post for the full changelog./


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: 38793 bytes --]

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 568 bytes --]

             reply	other threads:[~2026-06-23 10:08 UTC|newest]

Thread overview: 298+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-23 10:07 Alan Schmitt [this message]
  -- strict thread matches above, loose matches on Subject: below --
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=m2bjd1h8ng.fsf@petitepomme.net \
    --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