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: 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] Using OCaml on windows with WSL ═══════════════════════════════ Archive: 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] binsec 0.9.1 ════════════ Archive: 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 ] [successfully applied ] [bitwuzla] [bitwuzla-cxx] [z3] [website ] [publications ] [tutorials ] [contacts] [this release ] [previous ones] UDP multicast examples using async and lwt ══════════════════════════════════════════ Archive: 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] [Github Project] [Post] opam 2.1.6 ══════════ Archive: 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] [ocaml/opam-repository#23789] [release blog post] Getting OCaml Through the Eye of a Needle ═════════════════════════════════════════ Archive: Koala announced ─────────────── Over at lobste.rs there is some discussion on the following blog post: 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: Merlin 5.0-502 ══════════════ Archive: vds announced ───────────── We are pleased to announce the release of [merlin 5.0-502 ]! [merlin 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] [issue tracker] 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] [#1560] [#1734] [#1661] [#1746] [#1754] [#1753] [#1756] Launching the First-Class Windows Project ═════════════════════════════════════════ Archive: 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: As always, happy to receive questions and feedback. Chennai OCaml meetup: June 2024 ═══════════════════════════════ Archive: 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: Looking forward to seeing some of you there! Caper 1.0 ═════════ Archive: 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] [BPF Exam] Ppxlib dev meetings ═══════════════════ Archive: 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: 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]() for more details. Thank for your support, Thomas, on behalf of the Tarides Team [Tarides] [https://github.com/sponsors/tarides] [Daniel] [Antonio] [Leandro] [Robur] [Tarides] [GitHub Sponsorship page] 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] [From Computer to Production With Nix] [Melange 4.0 is here] [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] [the archive] [RSS feed of the archives] [caml-list] [Alan Schmitt]