Skip to content

Commit

Permalink
[scrape.yml] New OCaml Planet blog posts and videos (#2675)
Browse files Browse the repository at this point in the history
Co-authored-by: cuihtlauac <[email protected]>
  • Loading branch information
github-actions[bot] and cuihtlauac authored Aug 31, 2024
1 parent 2936911 commit eb070dd
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
22 changes: 22 additions & 0 deletions data/planet/janestreet/icfp-2024.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: ICFP 2024
description: "It\u2019s no secret that Jane Street is an active participant in the
programming languagecommunity, and we\u2019re excited to be attending ICFP 2024,
theInternational ..."
url: https://blog.janestreet.com/icfp-2024-index/
date: 2024-08-29T00:00:00-00:00
preview_image: https://blog.janestreet.com/icfp-2024-index/ICFP-2024.png
authors:
- Jane Street Tech Blog
source:
---

<p>It’s no secret that Jane Street is an active participant in the programming language
community, and we’re excited to be attending <a href="https://icfp24.sigplan.org/">ICFP 2024</a>, the
International Conference on Functional Programming, in Milan next week! Most members of
our OCaml Language team will be there, and as usual, we look forward to sharing our work
with the wider community. Please see below for a full list of papers and talks that Jane
Street folk are involved in. Note that a lot of these are collaborations of one kind or
another with researchers outside of Jane Street.</p>


Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: 'The Biggest Functional Programming Conference of the Year: What are we Bringing
to ICFP?'
description: "Feeling fashionable? Milan is calling! ICFP 2024 will be held in the
Italian fashion capital from 2-7 September, and there is something\u2026"
url: https://tarides.com/blog/2024-08-30-the-biggest-functional-programming-conference-of-the-year-what-are-we-bringing-to-icfp
date: 2024-08-30T00:00:00-00:00
preview_image: https://tarides.com/static/630fcacdeae8d5c05e1ea8690d0388f9/42dbc/Milan-icfp1.jpg
authors:
- Tarides
source:
---

<p>Feeling fashionable? Milan is calling! ICFP 2024 will be held in the Italian fashion capital from 2-7 September, and there is something there for everyone to enjoy. The <a href="https://icfp24.sigplan.org/">ACM SIGPLAN International Conference on Functional Programming</a> is a yearly highlight with various keynotes, tutorials, and tracks to discover.</p>
<p>Can't wait for September 2nd? Check out the talks we're bringing to the conference this year and get a taste of what's to come!</p>
<h2 style="position:relative;"><a href="https://tarides.com/feed.xml#tarides-talks" aria-label="tarides talks permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Tarides Talks</h2>
<p>We are excited about all the talks at the OCaml Workshop this year, and it's great to see such a variety of topics being presented. You can browse all the accepted papers on the OCaml track of the <a href="https://icfp24.sigplan.org/home/ocaml-2024#event-overview">ICFP website</a>. This year, Tarides team members will give five talks at the OCaml workshop and one at the ML workshop, so let's dive into the topics!</p>
<h3 style="position:relative;"><a href="https://tarides.com/feed.xml#wasm_of_ocaml-at-the-ml-workshop-by-j%C3%A9r%C3%B4me-vouillon" aria-label="wasm_of_ocaml at the ml workshop by jérôme vouillon permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://icfp24.sigplan.org/details/mlworkshop-2024-papers/10/Wasm_of_ocaml">Wasm_of_ocaml at the ML Workshop</a> by Jérôme Vouillon</h3>
<p>Jérôme Vouillon will be presenting on the fork of the well-loved <a href="https://github.com/ocsigen/js_of_ocaml">Js_of_ocaml</a> compiler, <a href="https://github.com/ocaml-wasm/wasm_of_ocaml">Wasm_of_ocaml</a>, which translates OCaml bytecode to WebAssembly (Wasm) rather than to JavaScript. Wasm is a low-level virtual machine that is both platform- and language-independent and is attractive to developers as a portable compilation target deployable on a wide variety of platforms. Wasm_of_ocaml is already fairly mature, having been successfully used on large programs.</p>
<p>Curious about what this means for OCaml users? Jérôme's talk will give you an overview of the compiler's features, including that it's highly compatible with Js_of_ocaml (one can compile existing programs with minimal changes) and offers a performance boost over the same (2x or more!). In addition, the talk will give you some background to Wasm_of_ocaml's design, the implementation of its runtime environment, how it interacts with JavaScript APIs, how we can take advantage of JavaScript to implement functionalities that are currently unavailable in Wasm, and share some benchmarks to give you an idea of how the compiler performs. Check out Jérôme's talk in the ML track for all this and more!</p>
<h3 style="position:relative;"><a href="https://tarides.com/feed.xml#first-class-windows-building-a-roadmap-for-ocaml-on-windows-by-sudha-parimala-benjamin-canou-pierre-boutillier-and-david-allsopp" aria-label="first class windows building a roadmap for ocaml on windows by sudha parimala benjamin canou pierre boutillier and david allsopp permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://icfp24.sigplan.org/details/ocaml-2024-papers/14/First-Class-Windows-Building-a-Roadmap-for-OCaml-on-Windows">First-Class Windows: Building a Roadmap for OCaml on Windows</a> by Sudha Parimala, Benjamin Canou, Pierre Boutillier, and David Allsopp</h3>
<p>The goal of the First-Class Windows team (which we discuss more in <a href="https://tarides.com/blog/2024-05-22-launching-the-first-class-windows-project/">our blog post introducing the project</a> is to bring support for the Windows platform up-to-par with Tier-1 platforms like Linux and macOS. Reaching this milestone will require planning, collaboration, and iterative change. Still, we expect the process will significantly enhance the OCaml experience for many users.
Check out the talk at the OCaml Workshop track at ICFP to learn all about the project's background, the current state of OCaml on Windows, the launch of the Windows Working Group, what information they are gathering, and where the project is heading.</p>
<p>Most importantly, the talk will unveil the new roadmap, which outlines the plan for addressing the pain points and improving OCaml on Windows. The roadmap is intended as a living, collaborative document. Join the talk to be part of the discussion and improve OCaml on Windows!</p>
<h3 style="position:relative;"><a href="https://tarides.com/feed.xml#project-wide-occurrences-for-ocaml-a-progress-report-by-ulysse-g%C3%A9rard" aria-label="project wide occurrences for ocaml a progress report by ulysse gérard permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://icfp24.sigplan.org/details/ocaml-2024-papers/3/Project-wide-occurrences-for-OCaml-a-progress-report">Project-Wide Occurrences for OCaml: A Progress Report</a> by Ulysse Gérard</h3>
<p>Our next talk will be great news for anyone who writes programs for OCaml! Good editor tooling is indispensable when writing programs, and different language servers provide a variety of features.</p>
<p>Before the <a href="https://tarides.com/blog/2024-05-15-the-ocaml-5-2-release-features-and-fixes/">OCaml 5.2</a> update, the main language servers were limited to providing occurrences inside the active buffer. After the update with the latest <a href="https://github.com/ocaml/dune">Dune</a>, <a href="https://github.com/ocaml/merlin">Merlin</a>, and <a href="https://github.com/ocaml/ocaml-lsp"><code>ocaml-lsp</code></a> servers, users can take advantage of a new feature enabling project-wide usages search. It allows users to list all the occurrences of a given value, type, or module, quickly navigating between each instance.</p>
<p>The team prioritised three key areas when developing the feature: correctness, exhaustivity, and performance. Correctness refers to the tool's ability to list the occurrences of a value without including false positives; exhaustivity refers to the fact that it needs to list <em>all</em> occurrences and perform the way it yields these results in a reasonable amount of time.</p>
<p>Come to the talk for a demonstration of the powerful new search features available in OCaml! Learn about the project's design and implementation, the challenges they encountered (including some noteworthy patches to the compiler, Dune, Merlin, and <code>ocaml-lsp</code>!), and improvements planned for the future.</p>
<h3 style="position:relative;"><a href="https://tarides.com/feed.xml#picos--interoperable-effects-based-concurrency-by-vesa-karvonen" aria-label="picos interoperable effects based concurrency by vesa karvonen permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://icfp24.sigplan.org/details/ocaml-2024-papers/5/Picos-Interoperable-effects-based-concurrency">Picos – Interoperable Effects-Based Concurrency</a> by Vesa Karvonen</h3>
<p>Picos is an ongoing project created to allow users to mix and match effects-based concurrent programming libraries and async I/Os. OCaml 5 introduced support for parallelism and effects, which enables the implementation of direct-style cooperative concurrency libraries like <a href="https://github.com/ocaml-multicore/eio">Eio</a>. In fact, many such libraries have been created, including <a href="https://github.com/c-cube/moonpool">Moonpool</a>, <a href="https://github.com/ocaml-multicore/domainslib">Domainslib</a>, <a href="https://github.com/robur-coop/miou">Miou</a>, and more!</p>
<p>The current difficulty is that all of these libraries are incompatible, meaning that a program that uses one cannot directly use another. This also means that, theoretically, libraries would need to provide an ever-increasing number of backends to ensure their users could combine them with the effects-based scheduler of their choice. This constant game of catch-up isn't desirable for developers or users of these libraries, and Picos aims to solve this problem.</p>
<p>Picos is an interface that enables interoperability between different libraries, created to provide users with greater flexibility and choice. Vesa's talk will introduce the nature of the problem, technical details of how Picos is implemented, details about its performance, and a vision for the future of schedulers in OCaml with Picos.</p>
<h3 style="position:relative;"><a href="https://tarides.com/feed.xml#opam-22-and-beyond-by-raja-boujbel-kate-deplaix-and-david-allsopp" aria-label="opam 22 and beyond by raja boujbel kate deplaix and david allsopp permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://icfp24.sigplan.org/details/ocaml-2024-papers/10/Opam-2-2-and-beyond">Opam 2.2 and Beyond</a> by Raja Boujbel, Kate Deplaix, and David Allsopp</h3>
<p>The hardworking team behind <a href="https://opam.ocaml.org/blog/opam-2-2-0/"><code>opam</code> 2.2</a> are excited to present the update and share the new features! The update's main feature is native Windows support, something many community members have been looking forward to. With the project commencing in 2014, it has taken a significant amount of work and a long time to reach this important milestone – a process you can learn all about in their upcoming talk!</p>
<p>The talk will give listeners an opportunity to understand all the different elements that came together to bring native Windows support to OCaml, along with some of the other new features added in <code>opam</code> 2.2. This includes often overlooked aspects of releases like bug fixes and functional testing for stability.</p>
<p>Additionally, the talk presents insights into the maintenance of <code>opam</code> and moving towards a new release cycle, hinting at what the future will bring. If you're at all curious about <code>opam</code> and how maintainers bring new features to users, this is the talk for you!</p>
<h3 style="position:relative;"><a href="https://tarides.com/feed.xml#saturn-a-library-of-verified-concurrent-data-structures-for-ocaml-5-by-cl%C3%A9ment-allain-vesa-karvonen-carine-morel" aria-label="saturn a library of verified concurrent data structures for ocaml 5 by clément allain vesa karvonen carine morel permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a><a href="https://icfp24.sigplan.org/details/ocaml-2024-papers/12/Saturn-a-library-of-verified-concurrent-data-structures-for-OCaml-5">Saturn: A Library of Verified Concurrent Data Structures for OCaml 5</a> by Clément Allain, Vesa Karvonen, Carine Morel</h3>
<p>This talk presents a useful new OCaml 5 library that offers a collection of ready-made efficient concurrent data structures that are well-tested, benchmarked, and, in part, formally verified.</p>
<p>Parallel programs are complex, and sharing data between multiple threads presents a well-known difficulty. Using locks is a known way of managing this complexity, but it is not always the best option, potentially introducing unsatisfactory performance and liveness issues. In such cases, lock-free implementations may be preferable, but their complexity can make them hard to design. <a href="https://github.com/ocaml-multicore/saturn">Saturn</a> saves the OCaml 5 developer the trouble of designing their own lock-based or lock-free data structures by providing them with a selection of standard ready-to-use structures.</p>
<p>Join the talk to hear all about the library's design and details about the benchmarks, tests, and formal verification the team has done. You can look forward to a technical deep dive full of details about what creating parallel programs in OCaml really involves!</p>
<h2 style="position:relative;"><a href="https://tarides.com/feed.xml#until-next-time" aria-label="until next time permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Until Next Time!</h2>
<p>If you're attending ICFP this year, come and find us! We would love to chat with you about everything OCaml and functional programming. To stay up-to-date, you should follow us on <a href="https://www.linkedin.com/company/tarides">LinkedIn</a> and <a href="https://twitter.com/tarides_">X</a>. We look forward to hearing from you!</p>
<blockquote>
<p>Tarides champions open-source development. We create and maintain key features of the OCaml language in collaboration with the OCaml community. To learn more about how you can support our open-source work, discover our <a href="https://github.com/sponsors/tarides">page on GitHub</a>.</p>
</blockquote>
<blockquote>
<p>We are always happy to discuss commercial opportunities around OCaml. We provide core services, including training, tailor-made tools, and secure solutions. <a href="https://tarides.com/contact/">Contact us today</a> to learn more about how Tarides can help your teams realise their vision.</p>
</blockquote>

0 comments on commit eb070dd

Please sign in to comment.