OCaml Weekly News
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
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!
Using OCaml on windows with WSL
Continuing this thread, Lukasz Stafiniak announced
I have a somewhat related blog post How to update or install a new Linux distribution on WSL.
binsec 0.9.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.
UDP multicast examples using async and lwt
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.
opam 2.1.6
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.
Getting OCaml Through the Eye of a Needle
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
vds announced
We are pleased to announce the release of 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!
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)
Launching the First-Class Windows Project
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
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
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.
Ppxlib dev meetings
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
andppx_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
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
Other OCaml News
From the ocaml.org blog
Here are links from many OCaml blogs aggregated at the ocaml.org blog.
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.