[Caml-list] Attn: Development Editor, Latest OCaml Weekly News

Alan Schmitt
2024-05-28T09:07:57Z

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

Hello

Here is the latest OCaml Weekly News, for the week of May 21 to 28,
2024.

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

odoc Documentation Improvements
Using OCaml on windows with WSL
binsec 0.9.1
UDP multicast examples using async and lwt
opam 2.1.6
Getting OCaml Through the Eye of a Needle
Merlin 5.0-502
Launching the First-Class Windows Project
Chennai OCaml meetup: June 2024
Caper 1.0
Ppxlib dev meetings
Tarides GitHub Sponsorship Page – Supporting the OCaml Community Together
Other OCaml News
Old CWN

odoc Documentation Improvements
═══════════════════════════════

Archive:
<https://discuss.ocaml.org/t/odoc-documentation-improvements/14674/1>

Christine announced
───────────────────

The `odoc' team is working to improve [the documentation], so we're
reaching out to the community to find out these things:
• Are you using `odoc'? If so, how do you use it? What are your
thoughts?
• What parts of the documentation have been helpful?
• What's missing?
• What suggestions do you have for improvement?
• What are you pain points for either/both the documentation or the
tool itself?

Your input is more valuable than I can express. Looking forward to
your answers!

[the documentation] <https://ocaml.github.io/odoc/>

Using OCaml on windows with WSL
═══════════════════════════════

Archive:
<https://discuss.ocaml.org/t/blog-using-ocaml-on-windows-with-wsl/14671/2>

Continuing this thread, Lukasz Stafiniak announced
──────────────────────────────────────────────────

I have a somewhat related blog post [How to update or install a new
Linux distribution on WSL].

[How to update or install a new Linux distribution on WSL]
<https://lukstafi.github.io/notes/WSL_install_new_distro.html>

binsec 0.9.1
════════════

Archive: <https://discuss.ocaml.org/t/ann-binsec-0-9-1/14677/1>

Frédéric Recoules announced
───────────────────────────

On behalf of the BINSEC team, I am glad to announce that version
`0.9.1' now lives in `Opam.'

As a short introduction, BINSEC is an open-source program analyzer
developed at [CEA List ] to help improve software security at the
binary level. It has been [successfully applied ] in a number of
security-related contexts, such as vulnerability finding, (malware)
deobfuscation, decompilation, formal verification of assembly code or
even binary-level formal verification.

The version `0.9' refactors the SMT solver API, enabling new kinds of
interaction (*incremental solving*) and paving the way to more support
to internal solver bindings ([bitwuzla], [bitwuzla-cxx], [z3]).

More information can be found on the [website ], including
[publications ], [tutorials ] or [contacts], but also the description
of [this release ] as well as [previous ones].

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

[successfully applied ] <https://binsec.github.io/achievements.html>

[bitwuzla] <https://opam.ocaml.org/packages/bitwuzla/>

[bitwuzla-cxx] <https://opam.ocaml.org/packages/bitwuzla-cxx/>

[z3] <https://opam.ocaml.org/packages/z3/>

[website ] <https://binsec.github.io/>

[publications ] <https://binsec.github.io/publications>

[tutorials ] <https://github.com/binsec/binsec/tree/master/doc>

[contacts] <https://binsec.github.io/#people>

[this release ]
<https://binsec.github.io/releases/binsec/2024/05/01/binsec-0.9.0.html>

[previous ones] <https://binsec.github.io/releases>

UDP multicast examples using async and lwt
══════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/blog-udp-multicast-examples-using-async-and-lwt/14678/1>

Foxder announced
────────────────

I am very new to OCaml and have been enjoying learning the language. I
was looking for examples of simple UDP multicast senders and receivers
and could not find any great ones (please let me know if I missed
some) so I went about creating some [examples] for myself and anyone
in the future.

I created examples using both `async' and `lwt' for concurrency. If
anyone has feedback, I would gladly take it to improve on the
examples.

• [Github Project]
• [Post]

[examples] <https://github.com/KFoxder/udp_multicast_examples>

[Github Project] <https://github.com/KFoxder/udp_multicast_examples>

[Post] <https://www.kevinfox.dev/udp-multicast>

opam 2.1.6
══════════

Archive: <https://discuss.ocaml.org/t/ann-opam-2-1-6/14683/1>

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

We are pleased to announce the minor release of [opam 2.1.6].

This opam release consists of backported fixes, of which the main ones
are:
• Warn users when `GNU patch' cannot be found. This is required for
opam-repository maintainers to go forward in implementing
[ocaml/opam-repository#23789] so that there are as little breakage
as possible.
• Improve depexts handling on Gentoo, NetBSD and OpenBSD.

You’ll find more information in the [release blog post].

To upgrade simply run:
┌────
│ bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh) --version 2.1.6"
└────

or upgrade your distribution of choice if their opam package is
up-to-date.

[opam 2.1.6] <https://github.com/ocaml/opam/releases/tag/2.1.6>

[ocaml/opam-repository#23789]
<https://github.com/ocaml/opam-repository/issues/23789>

[release blog post] <https://opam.ocaml.org/blog/opam-2-1-6>

Getting OCaml Through the Eye of a Needle
═════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/blog-getting-ocaml-through-the-eye-of-a-needle/14684/1>

Koala announced
───────────────

Over at lobste.rs there is some discussion on the following blog post:
<https://hypirion.com/musings/getting-ocaml-through-the-eye-of-a-needle>

Basically it’s about the ups and downs when using and installing Ocaml
packages. Personally, I’ve had similar experiences, but this article
is really well written. The author shows great technical knowledge and
I think he tries to be fair.

What do you think?

Discussion on lobste.rs:
<https://lobste.rs/s/nihkwe/getting_ocaml_through_eye_needle>

Merlin 5.0-502
══════════════

Archive: <https://discuss.ocaml.org/t/ann-merlin-5-0-502/14685/1>

vds announced
─────────────

We are pleased to announce the release of [merlin 5.0-502 ]!

[merlin 5.0-502 ] <https://github.com/ocaml/merlin/releases/tag/5.0-502>

Support for OCaml 5.2
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

This release brings official support for [OCaml 5.2]. Substantial
backend changes were required to adapt to this release, especially for
features such as occurrences and get-documentation. Do not hesitate to
report any suspicious behavior in the [issue tracker]!

[OCaml 5.2] <https://discuss.ocaml.org/t/ocaml-5-2-0-released/14638/6>

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

Other changes
╌╌╌╌╌╌╌╌╌╌╌╌╌

This release also fixes a handful of issues:
• Destruct: Removal of residual patterns ([#1737], fixes [#1560])
• Destruct: Do not erase fields' names when destructing punned record
fields ([#1734], fixes [#1661])
• Ignore SIGPIPE in the Merlin server process ([#1746])
• Fix lexing of quoted strings in comments ([#1754], fixes [#1753])
• Improve cursor position detection in longidents ([#1756])

[#1737] <https://github.com/ocaml/merlin/pull/1737>

[#1560] <https://github.com/ocaml/merlin/issues/1560>

[#1734] <https://github.com/ocaml/merlin/pull/1734>

[#1661] <https://github.com/ocaml/merlin/issues/1661>

[#1746] <https://github.com/ocaml/merlin/pull/1746>

[#1754] <https://github.com/ocaml/merlin/pull/1754>

[#1753] <https://github.com/ocaml/merlin/issues/1753>

[#1756] <https://github.com/ocaml/merlin/pull/1756>

Launching the First-Class Windows Project
═════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/launching-the-first-class-windows-project/14687/1>

Sudha Parimala announced
────────────────────────

I'm excited to introduce the First-Class Windows Project, which aims
to make OCaml more accessible by enhancing the developer experience on
Windows to match that of Linux and macOS. Our goal is to create a
roadmap outlining the steps needed to fully support OCaml on Windows.

Check our blog post for details:
<https://tarides.com/blog/2024-05-22-launching-the-first-class-windows-project/>

As always, happy to receive questions and feedback.

Chennai OCaml meetup: June 2024
═══════════════════════════════

Archive:
<https://discuss.ocaml.org/t/chennai-ocaml-meetup-june-2024/14695/1>

Sudha Parimala announced
────────────────────────

Hi all! We're hosting an OCaml meetup at the Tarides Chennai
offices. We have some interesting talks followed by informal
conversations over food.

@kayceesrk will be speaking about Concurrent Programming with Effect
Handlers. We have an open slot for another talk, please get in touch
if you'd like to present something.

People of all backgrounds and level of OCaml welcome. RSVP at the
following link:
<https://www.meetup.com/chennai-ocaml-meetup/events/301193020/?utm_medium=referral&utm_campaign=share-btn_savedevents_share_modal&utm_source=link>

Looking forward to seeing some of you there!

Caper 1.0
═════════

Archive: <https://discuss.ocaml.org/t/ann-caper-1-0/14696/1>

niksu announced
───────────────

[Caper] has now reached *v1.0*, some 5+ years after development first
started.

Caper is a tool for understanding and processing “pcap expressions”
(also known as /tcpdump filters/) which are used for network packet
analysis. It is entirely written in OCaml and includes pcap analysis
logic, a from-scratch BPF compiler, and conversion to/from English
expressions.

You can use Caper online through the [BPF Exam] site.

Caper’s README describes motivation, building, and usage examples, and
its CHANGELOG describes recent updates.

A huge thanks goes to Caper’s contributors. Further contributions and
feedback are welcome – a list of contribution ideas is included on
Caper’s web page.

[Caper] <http://caper.cs.iit.edu/>

[BPF Exam] <https://www.tcpdump.org/bpfexam/>

Ppxlib dev meetings
═══════════════════

Archive: <https://discuss.ocaml.org/t/ppxlib-dev-meetings/12441/22>

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

Our next meeting is scheduled on Tuesday May 28th at 6:00PM CET.

I'll post the google meet link here on the day of the meeting.

In the meantime, here is the meeting agenda so far:

• 5.2 Release
‣ Released during compiler's beta, went smoothly
• 5.3 trunk support
‣ Reused the work from @hhugo and adapted it
‣ We have an open PR with 5.3 support that needs review
‣ External contributors already started adding support for new
features: @nojb added support for the effects patterns and an
internal change to location reports
‣ How to maintain trunk support on our main branch
• `ppx_deriving' and `ppx_deriving_yojson' ppxlib ports
‣ PRs open for the release of both
‣ A few bug fixes were required but it should be good to go now
• 5.2 internal AST bump
‣ Now that the 5.2 support has been released, we can discuss the
plan for this

If you'd like to bring something else up please answer in this thread
so we can add it to the agenda.

You are also welcome to attend the meeting, whether you have something
to bring to our attention, would like to contribute to the project or
are just interested in ppxlib and ppx in general.

Tarides GitHub Sponsorship Page – Supporting the OCaml Community Together
═════════════════════════════════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/tarides-github-sponsorship-page-supporting-the-ocaml-community-together/14705/1>

Thomas Gazagnaire announced
───────────────────────────

I am happy to share that [Tarides] now has a GitHub Sponsorship page,
live here [https://github.com/sponsors/tarides]! 🎉 As a part of the
vibrant OCaml community, Tarides is dedicated to supporting both the
projects and the individuals who make this ecosystem thrive.

*Why GitHub Sponsorship?*

The OCaml community is filled with many talented individual
contributors and collectives who deserve your support, such as
[Daniel], [Antonio], [Leandro], [Robur] and many others. We encourage
you to sponsor them directly to support their work.

But now, you can also sponsor [Tarides]! Creating a GitHub Sponsorship
page is an important step for us, aimed at sustaining projects that
currently lack direct, stable revenue sources. While we are thankful
for long-term sponsors such as Jane Street and Tezos, we want to
diversify our open-source funding stream to ensure the long-term
stability and sustainability of core infrastructure projects we are
working on for the community.

*What Can You Expect?*

On our sponsorship page, you’ll find detailed information about our
ongoing projects, including:

• *OCaml Compiler*: Maintaining ease of use, correctness, and
performance of the compiler(s).
• *OCaml Platform*: Ensuring core tools evolve and are compatible with
new OCaml releases.
• *OCaml.org*: Maintaining the central knowledge base for the OCaml
community.
• *Advanced Projects*: Such as MirageOS, Irmin and Eio.

Your support will directly contribute to the sustainability of these
projects and allow us to continue our work and maintain these
libraries and tools.

*How You Can Help*

We invite you to visit our [GitHub Sponsorship page] to learn more
about our projects and how you can get involved. We welcome any
suggestions or comments on how we can improve and better serve the
community.

*Commercial Support*

While this annoucement is about the ongoing maintenance of our core
open-source projects, we are also available to organize training,
develop custom extensions, or provide long-term commercial support for
these projects. [Get in touch](<mailto:contact@tarides.com>) for more
details.

Thank for your support, Thomas, on behalf of the Tarides Team

[Tarides] <https://tarides.com>

[https://github.com/sponsors/tarides]
<https://github.com/sponsors/tarides>

[Daniel] <https://github.com/sponsors/dbuenzli>

[Antonio] <https://github.com/sponsors/anmonteiro>

[Leandro] <https://github.com/sponsors/leostera>

[Robur] <https://robur.coop/Donate>

[Tarides] <https://github.com/sponsors/tarides>

[GitHub Sponsorship page] <https://github.com/sponsors/tarides>

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

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

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

• [From Computer to Production With Nix]
• [Melange 4.0 is here]
• [Launching the First-Class Windows Project]

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

[From Computer to Production With Nix]
<https://priver.dev/blog/nix/from-computer-to-production-with-nix/>

[Melange 4.0 is here] <https://melange.re/blog/posts/melange-4-is-here>

[Launching the First-Class Windows Project]
<https://tarides.com/blog/2024-05-22-launching-the-first-class-windows-project>

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