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, 06 May 2025 09:24:13 +0200	[thread overview]
Message-ID: <m2msbqcici.fsf@petitepomme.net> (raw)

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

Hello

Here is the latest OCaml Weekly News, for the week of April 29 to May
06, 2025.

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

Docfd 11.0.0: TUI multiline fuzzy document finder
opam 2.4.0~alpha1
Early work experimenting with zig as a cross-compiler for OCaml
Dune 3.18
A tool to reverse debug OCaml/other binary runs
opam 2.4.0~alpha2
(BER) MetaOCaml N153, for OCaml 5.3.0
Other OCaml News
Old CWN


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

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


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

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

  [Repo]


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

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.

  If you have used Recoll or other local document search engines before,
  then you can roughly think of this as Recoll-lite with TUI.


◊ Interactive use

  <https://us1.discourse-cdn.com/flex020/uploads/ocaml/original/2X/6/6e01a779f649ba35dec72595d3706847f87e1442.gif>


◊ Non-interactive use

  <https://us1.discourse-cdn.com/flex020/uploads/ocaml/original/2X/6/6d6984de3d73d0c949d06f1c8345ac9940d7f28e.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 3.0.0
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The last version announced here was 3.0.0. Docfd has since then
  undergone many improvements.

  Major changes:

  • Asynchronous UI
    • You can type and interact with UI without any blocking even if
      search is slow, and active search will be cancelled when
      appropriate
  • Scripting functionality in the form of a commands file
    • One-to-one correspondence to most UI interactions, allowing you to
      interact as normal, and save your interaction into a file to
      repeat the search steps later via `–commands-from`
  • Swapped to using SQLite as index DB format, which lowers the memory
    footprint significantly
    • For the sample of 1.4GB of PDFs used, earlier versions use around
      1.9GB of memory to store the index in-memory, while versions since
      9.0.0 use only 39MB of memory
  • Document indexing was reworked into a multistage pipeline to allow
    I/O tasks and computational tasks to run concurrently, which makes
    indexing a few times faster than older versions usually
  • Searching was also reworked into a pipeline for better work
    distribution across domains, improving search speed by 30% in the
    sample set of PDFs
  • Added `--open-with' to allow customising the command used to open a
    file based on file extension


opam 2.4.0~alpha1
═════════════════

  Archive: <https://discuss.ocaml.org/t/ann-opam-2-4-0-alpha1/16520/2>


Continuing this thread, Ryan Gibb announced
───────────────────────────────────────────

        :snowflake: Add *Nix support* for *external dependencies
        (depexts)* by adding support for stateless package
        managers ([#5982]). /Thanks to [@RyanGibb] for this
        contribution/

  I've written a small explainer of this at
  <https://ryan.freumh.org/opam-nix.html> and am happy to receive
  feedback on this mechanism!


[#5982] <https://github.com/ocaml/opam/issues/5982>

[@RyanGibb] <https://github.com/RyanGibb>


Early work experimenting with zig as a cross-compiler for OCaml
═══════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/early-work-experimenting-with-zig-as-a-cross-compiler-for-ocaml/16151/17>


Continuing this thread, Chris Armstrong announced
─────────────────────────────────────────────────

  I've written up a summary in a blog post of much of my progress I've
  described above:
  <https://www.chrisarmstrong.dev/posts/ocaml-cross-compilation-an-experiment>


Dune 3.18
═════════

  Archive: <https://discuss.ocaml.org/t/ann-dune-3-18/16428/3>


Etienne Marais announced
────────────────────────

  The Dune Team is glad to announce the release of Dune `3.18.2'.

  This version contains a fix to restore compatibility with the upcoming
  OCaml `5.4.0'.


Changelog
╌╌╌╌╌╌╌╌╌

◊ Fixed

  • fix compatibility with `ocaml.5.4.0' by avoiding shadowing sigwinch
    (@nojb, #11639)


A tool to reverse debug OCaml/other binary runs
═══════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-a-tool-to-reverse-debug-ocaml-other-binary-runs/16366/6>


Continuing this thread, Sid Kshatriya announced
───────────────────────────────────────────────

  BTW aarch64 support was released – forgot to mention it on this
  thread.


opam 2.4.0~alpha2
═════════════════

  Archive: <https://discuss.ocaml.org/t/ann-opam-2-4-0-alpha2/16609/1>


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

  Hi everyone,

  We are happy to announce the second alpha release of opam 2.4.0.

  This version is an alpha, we invite users to test it to spot
  previously unnoticed bugs as we head towards the stable release.


What’s new?
╌╌╌╌╌╌╌╌╌╌╌

  • :dragon_face: `opam switch create [name] <version>' will not include
    compiler packages flagged with `avoid-version~/~deprecated' in the
    generated invariant anymore. ([#6494]) This will allow opam to avoid
    the use of the `ocaml-system' package unless actually explicitly
    requested by the user. The opam experience when the `ocaml-system'
    compiler is used is known to be prone to a variety of bugs and
    configuration issues.  This alpha made this change in order to
    provide `opam switch create' with the same experience as `opam
    init', which will itself not choose `ocaml-system' anymore since the
    previous alpha1 release.

  • :window: Fallback to the existing Cygwin package manager if its
    upgrade failed to be fetched ([#6495], partial fix for [#6474])

  • :goggles: Fix various crashes and extreme performance issues when
    updating some opam repositories ([#6448])

  :open_book: You can read our [blog post] for more information, and for
  even more details you can take a look at the [release note] or the
  [changelog].


[#6494] <https://github.com/ocaml/opam/pull/6494>

[#6495] <https://github.com/ocaml/opam/issues/6495>

[#6474] <https://github.com/ocaml/opam/issues/6474>

[#6448] <https://github.com/ocaml/opam/issues/6448>

[blog post] <https://opam.ocaml.org/blog/opam-2-4-0-alpha2/>

[release note] <https://github.com/ocaml/opam/releases/tag/2.4.0-alpha2>

[changelog] <https://github.com/ocaml/opam/blob/2.4.0-alpha2/CHANGES>


Try it!
╌╌╌╌╌╌╌

  The upgrade instructions are unchanged:

  For Unix systems
  ┌────
  │ bash -c "sh <(curl -fsSL https://opam.ocaml.org/install.sh) --version 2.4.0~alpha2"
  └────
  or from PowerShell for Windows systems
  ┌────
  │ Invoke-Expression "& { $(Invoke-RestMethod https://opam.ocaml.org/install.ps1) } -Version 2.4.0~alpha2"
  └────
  Please report any issues to the [bug-tracker].

  Happy hacking, <> <> The opam team <> <> :camel:


[bug-tracker] <https://github.com/ocaml/opam/issues>


(BER) MetaOCaml N153, for OCaml 5.3.0
═════════════════════════════════════

  Archive:
  <https://inbox.ci.dev/caml-list/aBmw%2F+5a2x%2FaQN5m@Magus.localnet/T/#u>


Oleg announced
──────────────

  BER MetaOCaml (or, simply MetaOCaml, since there aren't any others)
  N153 is a strict superset of OCaml 5.3.0 for ``writing programs that
  generate programs''.  MetaOCaml adds to OCaml the type of code values
  (denoting ``program code'', or future-stage computations), and two
  basic constructs to build them: quoting and splicing. MetaOCaml also
  features cross-stage persistence, generating ordinary and
  mutually-recursive definitions, first-class pattern-matching and
  heterogeneous metaprogramming.

  The generated code can be printed, stored in a file – or compiled and
  linked-back to the running program, thus implementing run-time code
  optimization. A subset of the generated OCaml code can also be
  converted to C, via offshoring. (The generated C needs no particular
  runtime or GC.) A well-typed MetaOCaml program generates only
  well-scoped and well-typed programs: The generated code shall compile
  without type errors.  Staging-annotation–free MetaOCaml is identical
  to OCaml; MetaOCaml can link to any OCaml-compiled library (and vice
  versa).

  There aren't any notable new features to talk about. OCaml 5.x has
  changed AST (Parsetree) and Typedtree in significant ways, especially
  concerning functions. Adjusting MetaOCaml to those changes took some
  work. See also ChangeLog and NOTES.txt in the MetaOCaml distribution
  for more details.

  I'm very thankful to the OCaml team for merging the patch to the OCaml
  grammar concerning staging annotations. It has made maintaining
  MetaOCaml quite easier.

  MetaOCaml N153 should be available through OPAM, hopefully soon.  In
  the meanwhile, it is available as a set of patches to the OCaml 5.3.0
  distribution.  <https://okmij.org/ftp/ML/ber-metaocaml.tar.gz> See the
  INSTALL document in that archive. You need the source distribution of
  OCaml 5.3.0.


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

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

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

  • [Bstr, a synthetic library for bigstrings]


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

[Bstr, a synthetic library for bigstrings]
<https://blog.osau.re/articles/bstr.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 #2: Type: text/html, Size: 24193 bytes --]

             reply	other threads:[~2025-05-06  7:24 UTC|newest]

Thread overview: 239+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-06  7:24 Alan Schmitt [this message]
  -- strict thread matches above, loose matches on Subject: below --
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=m2msbqcici.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