[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