[cwn] Attn: Development Editor, Latest OCaml Weekly News
Alan Schmitt
alan.schmitt at polytechnique.org
Tue May 30 08:43:22 PDT 2023
Hello
Here is the latest OCaml Weekly News, for the week of May 23 to 30,
2023.
Table of Contents
─────────────────
ML’23: ACM SIGPLAN ML Family Workshop — Call for presentations
OCaml Workshop 2023 – presentation deadline on June 1st, online attendance option
A Roadmap for the OCaml Platform - Seeking Your Feedback
new release: tiny_httpd 0.13
Old CWN
ML’23: ACM SIGPLAN ML Family Workshop — Call for presentations
══════════════════════════════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/ml23-acm-sigplan-ml-family-workshop-call-for-presentations/12224/1>
Guillaume Munch-Maccagnoni announced
────────────────────────────────────
We are happy to invite submissions to the *ML Family Workshop 2023*:
Higher-order, Typed, Inferred, Strict: ACM SIGPLAN ML Family Workshop
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Co-located with [ICFP]
*Date*: September 8, 2023 (Friday)
*Location*: Seattle, WA, USA (day after main ICFP)
[Call for presentations]
ML (originally, “Meta Language”) is a family of programming languages
that includes dialects known as Standard ML, OCaml, and F#, among
others. The development of these languages has inspired a large amount
of computer science research, both practical and theoretical.
The ML Family Workshop is an established informal workshop aiming to
recognize the entire extended ML family and to provide the forum to
present and discuss common issues: all aspects of the design,
semantics, theory, application, implementation, and teaching of the
members of the ML family. We also encourage presentations from related
languages (such as Haskell, Scala, Rust, Nemerle, Links, Koka, F*,
Eff, ATS, etc), to promote the exchange of ideas and experience. The
ML family workshop will be held in close coordination with the OCaml
Users and Developers Workshop.
We plan the workshop to be an in-person event with remote
participation (streamed live). Speakers are generally expected to
present in person (we will work to make remote presentations
possible).
We solicit proposals for contributed talks, in PDF format, with a
short summary at the beginning and the indication of the submission
category: Research Presentations, Experience Reports, Demos, and
Informed Positions. The point of the submission should be clear from
its first two pages (PC members are not obligated to read any
further.) We particularly encourage talks about works in progress,
presentations of negative results (things that were expected to but
did not quite work out) and informed positions.
See the [full call for presentations] for submission instructions.
• Deadline for talk proposals: *Thursday, June 1, 2023*
• Notification of acceptance: *Thursday, July 6, 2023*
• Workshop: *Friday, September 8, 2023*
[ICFP] <https://icfp23.sigplan.org/>
[Call for presentations]
<https://icfp23.sigplan.org/home/mlworkshop-2023>
[full call for presentations]
<https://icfp23.sigplan.org/home/mlworkshop-2023#Call-for-Presentations>
Program Committee
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
• Lars Bergstrom, Google, USA
• Martin Elsman, University of Copenhagen, Denmark
• Matthew Fluet, Rochester Institute of Technology, USA
• Jacques Garrigue, Nagoya University, Japan
• Oleg Kiselyov, Tohoku University, Japan (Chair)
• Julia Lawall, Inria Paris, France
• Andrey Mokhov, Jane Street, UK
• Benoît Montagu, Inria Rennes, France
• Guillaume Munch-Maccagnoni, Inria Rennes, France
• Matija Pretnar, University of Ljubljana, Slovenia
• Andreas Rossberg, Germany
• Gabriel Scherer, Inria Saclay, France
OCaml Workshop 2023 – presentation deadline on June 1st, online attendance option
═════════════════════════════════════════════════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/ocaml-workshop-2023-presentation-deadline-on-june-1st-online-attendance-option/12226/1>
gasche announced
────────────────
The OCaml Workshop is happening every year, co-located with the ICFP
conference (the main academic conference on functional programming).
This year the meeting will happen in Seattle on *Saturday September
9th*. It should be hybrid: it will be possible to attend and even give
talks remotely.
To get a sense of the OCaml Workshop style, topics and content,
ocaml.org has a page about previous editions, with the list of talks
and links to the descriptions and talk recordings when available:
[OCaml Workshops].
The deadline for submitting a talk proposal is **June 1st**, coming
soon. Please consider submitting a proposal to present your OCaml work
at the workshop!
• [Call for presentations] (description of the expected format, etc.)
• [Submission website for talk proposals] – please read the “Call for
presentations” first.
A major change compared to previous editions of the workshop is that
**online attendance should be free**. (The cost is decided by the ICFP
organizers, and it is still possible that this would change before the
workshop.) Everyone is of course welcome to attend remotely, anywhere
on earth. We are very excited that this could be the most accessible
OCaml workshop, reaching the broadest possible audience.
[OCaml Workshops] <https://ocaml.org/community#workshops>
[Call for presentations]
<https://icfp23.sigplan.org/home/ocaml-2023#Call-for-Presentations>
[Submission website for talk proposals]
<https://icfp23-ocaml.hotcrp.com/>
A Roadmap for the OCaml Platform - Seeking Your Feedback
════════════════════════════════════════════════════════
Archive:
<https://discuss.ocaml.org/t/a-roadmap-for-the-ocaml-platform-seeking-your-feedback/12238/1>
Thibaut Mattio announced, spawning a big thread
───────────────────────────────────────────────
Three years ago, @avsm and the OCaml Platform team presented a
[roadmap for the OCaml Platform]. The vision we had of the Platform in
2020 was one of a seamless editor integration, where users could open
their editors and instantly be productive with OCaml.
While there’s still a long road ahead to achieve this vision, we’ve
made a lot of progress. The tooling landscape and developer experience
with OCaml have changed quite a lot in the past 3 years and we’ve made
significant progress on all the tools of the Platform:
• Dune is now the primary build system used by OCaml developers, with
65% of packages on the opam repository using Dune as their build
system.
• Ppxlib has become the best way to write PPX and most PPX have been
migrated to Ppxlib. To get a sense of the effort that went into
this, you can read the updates from [2019], [2020], [2021].
• We’ve built a [Language Server Protocol (LSP) server] for OCaml,
that powers the [OCaml VSCode extension] which has now been
downloaded 100K times.
• We’ve built an RPC protocol in Dune that was [released in Dune 3.0]
and another one [for OCamlFormat]. These protocols are integrated
with OCaml LSP to support some of its features.
• [Odoc 2.0.0 was released] with a complete re-write of the language
model to make the generated documentation more accurate, and also
comes with a new rendering layer to allowing output in different
formats including HTML, LaTex and manpage. Odoc is also now used to
generate the [documentation of every OCaml package on ocaml.org].
• [Opam 2.1.0 was released] with significant improvements like the
integrated depext system and the generation of lock files.
• We [re-implemented the way we locate OCaml terms] in Merlin which
greatly improved the accuracy of the `locate` query and paved the
way for the work on [project-wide references]. To achieve this, we
[added a new representation of the module structure] in the OCaml
compiler called “Shapes”. Shapes are now used in Merlin, but also
enable features in other Platform tools, like [linking to source
code in Odoc].
In the meantime, things have also changed for the broader OCaml
ecosystem. OCaml 5 was [released] with support for [shared memory
parallelism] and [effect handlers]; and we saw a [new version of
OCaml.org going live] with a [centralised package documentation], a
[job board], an [interactive playground], and more.
Following the [three priorities we adopted in 2022], we now want to
intensify our efforts on prototyping new workflows for OCaml
development. It is time to reflect back on everything we’ve done and
lay down a roadmap for the next three years.
In the past few months, we’ve been working on establishing a vision
for the future of the OCaml Platform. We reviewed as much community
feedback as possible, organised discussions with the maintainers of
the Platform tools, met with industrial users of OCaml to understand
their needs and pain points, and we collectively thought of what the
ideal developer experience with OCaml ought to be.
We want the OCaml Platform to be driven by the community. So today,
I’m excited to share the first parts of the roadmap to start
collecting feedback and iterating on them.
You can see the work-in-progress roadmap [on GitHub]. The repository
currently contains two documents:
• *Design Principles*: The principles that will guide the desired
OCaml developer experience.
• *Users*: The different user personas within the OCaml ecosystem
serve as a guide for the roadmap, ensuring that it addresses the
unique requirements of each archetype.
Feel free to read through them and share your thoughts, in particular:
• Do you agree with the Principles of the Platform?
• Do you see yourself represented in the Users?
Once we’ve iterated on the feedback and are ready to adopt these
high-level guidelines, we’ll refine the developer workflows we aim to
build in the coming years. Similarly to the first sections, we’ll post
them on Discuss to discuss them with the community and ultimately
adopt a first version of the Platform roadmap.
I’m looking forward to everyone’s feedback and building this roadmap
together!
[roadmap for the OCaml Platform]
<https://watch.ocaml.org/w/2KbfRNv2oLtkKXkbd5u9F1>
[2019]
<https://discuss.ocaml.org/t/update-on-the-big-ppx-refactoring-project/4428>
[2020] <https://discuss.ocaml.org/t/ppx-omp-2-0-0-and-next-steps/6231>
[2021]
<https://discuss.ocaml.org/t/an-update-on-the-state-of-the-ppx-ecosystem-and-ppxlib-s-transition/8200>
[Language Server Protocol (LSP) server]
<https://discuss.ocaml.org/t/ann-ocaml-lsp-preview/4876>
[OCaml VSCode extension]
<https://marketplace.visualstudio.com/items?itemName=ocamllabs.ocaml-platform>
[released in Dune 3.0] <https://discuss.ocaml.org/t/ann-dune-3-0-0/9374>
[for OCamlFormat] <https://github.com/ocaml-ppx/ocamlformat/pull/1586>
[Odoc 2.0.0 was released]
<https://discuss.ocaml.org/t/ann-release-of-odoc-2-0-0/8582>
[documentation of every OCaml package on ocaml.org]
<https://ocaml.org/packages>
[Opam 2.1.0 was released]
<https://discuss.ocaml.org/t/ann-opam-2-1-0/8255>
[re-implemented the way we locate OCaml terms]
<https://github.com/ocaml/merlin/pull/1431>
[project-wide references]
<https://github.com/voodoos/merlin-occurrences-switch>
[added a new representation of the module structure]
<https://github.com/ocaml/ocaml/pull/10825>
[linking to source code in Odoc]
<https://github.com/ocaml/odoc/pull/909>
[released] <https://discuss.ocaml.org/t/ocaml-5-0-0-is-out/10974>
[shared memory parallelism]
<https://v2.ocaml.org/releases/5.0/manual/parallelism.html>
[effect handlers]
<https://v2.ocaml.org/releases/5.0/manual/effects.html>
[new version of OCaml.org going live]
<https://discuss.ocaml.org/t/v3-ocaml-org-we-are-live/9747>
[centralised package documentation] <https://ocaml.org/packages>
[job board] <https://ocaml.org/jobs>
[interactive playground] <https://ocaml.org/play>
[three priorities we adopted in 2022]
<https://discuss.ocaml.org/t/ocaml-org-recapping-2022-and-queries-on-the-fediverse/11099>
[on GitHub] <https://github.com/tarides/ocaml-platform-roadmap>
new release: tiny_httpd 0.13
════════════════════════════
Archive:
<https://discuss.ocaml.org/t/ann-new-release-tiny-httpd-0-13/12268/1>
Simon Cruanes announced
───────────────────────
I’m happy to announce that [tiny_httpd] got a new [release](
<https://github.com/c-cube/tiny_httpd/releases/tag/v0.13> ).
Tiny_httpd is a small and reasonably simple HTTP 1.1 server that
relies on threads (or a thread pool) rather than async/cooperative
multitasking. It’s perhaps a bit reactionary[^1] but it can be quite
useful to add an embedded web UI/web server to existing code (think
adding a httpd to ocamlopt or Coq or BAP or…). However, tiny_httpd
does come with a basic type-safe router, HTML combinators, [SSE]
endpoints, a packing tool for assets, streaming interface (with
chunking) to read/write long bodies in constant memory, and an
optional deflate middleware based on camlzip.
[^1]: 👴📢💪️☁️
[tiny_httpd] <https://github.com/c-cube/tiny_httpd>
[SSE]
<https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events>
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
[online].
[Alan Schmitt]
[send me a message] <mailto:alan.schmitt at polytechnique.org>
[the archive] <https://alan.petitepomme.net/cwn/>
[RSS feed of the archives] <https://alan.petitepomme.net/cwn/cwn.rss>
[online] <http://lists.idyll.org/listinfo/caml-news-weekly/>
[Alan Schmitt] <https://alan.petitepomme.net/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20230530/10c67e5a/attachment-0001.html>
More information about the caml-news-weekly
mailing list