Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Alan Schmitt <alan.schmitt@polytechnique.org>
To: "lwn" <lwn@lwn.net>, caml-list@inria.fr
Subject: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News
Date: Tue, 02 Apr 2024 16:31:22 +0200	[thread overview]
Message-ID: <m2plv7x2dh.fsf@mac-03220211.irisa.fr> (raw)

[-- Attachment #1: Type: text/plain, Size: 29707 bytes --]

Hello

Here is the latest OCaml Weekly News, for the week of March 26 to April
02, 2024.

Table of Contents
─────────────────

Odoc 3.0 planning
OCaml Platform Newsletter: February 2024
Your Feedback Needed on OCaml Home Page Wireframe!
OCaml Workshop 2024 at ICFP – announcement and call for proposals
down.0.2.0 and omod.0.4.0
stdlib-random 1.2
Other OCaml News
Old CWN


Odoc 3.0 planning
═════════════════

  Archive: <https://discuss.ocaml.org/t/odoc-3-0-planning/14360/1>


Jon Ludlam announced
────────────────────

  For many years we've had a team here at Tarides working away on Odoc,
  quietly adding new features, fixing bugs, speeding things up and
  generally enabling OCaml package mantainers to write good
  documentation. Up until recently, those improvements have mostly been
  incremental, but with the recent addition of some larger new features
  like search and source rendering we've found we need to think a bit
  more broadly and consider how these changes will fit into the larger
  ecosystem. We're also thinking of how to extend the abilities of Odoc
  to handle more structure in the documentation, with better support for
  images, an improved sidebar, and a better ability to link to the docs
  of other packages.

  We've therefore started the process that's going to lead to Odoc 3.0,
  which will involve not only work on odoc itself, but also on
  ocaml.org, the documentation pipeline that produces the docs for
  ocaml.org, dune, and odig. It's being done incrementally, so we've
  started with the core issues of how to structure your docs, how to do
  references both within the docs and across packages, what the output
  file structure will look like and how the breadcrumbs will reflect
  that. What we've posted so far is by no means the final version, and
  we'd love to get feedback on the suggestions we've got so far. Getting
  this right is surprisingly complicated, so the more people we have
  thinking about it, the better our chances of success!

  So if you're interested in writing or reading docs, I encourage you to
  head on over to [the discussion] we've just started on [ocaml/odoc]
  and join in the conversation!


[the discussion] <https://github.com/ocaml/odoc/discussions/1097>

[ocaml/odoc] <https://github.com/ocaml/odoc/>


OCaml Platform Newsletter: February 2024
════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ocaml-platform-newsletter-february-2024/14361/1>


Thibaut Mattio announced
────────────────────────

  Welcome to the tenth edition of the OCaml Platform newsletter!

  In this February 2024 edition, we are excited to bring you the latest
  on the OCaml Platform, continuing our tradition of highlighting recent
  developments as seen in [previous editions]. To understand the
  direction we're headed, especially regarding development workflows and
  user experience improvements, check out our [roadmap].

  *Highlights:*
  • The OCaml Platform tools have added support for OCaml 5.2. It's
    available in the temporary releases
    • [`Merlin 4.14-502~preview'] (@voodoos (Tarides))
    • [`Ocaml-lsp-server 1.18.0~5.2preview'] (@voodoos (Tarides))
    • [`Ppxlib 0.32.1~5.2preview'] (@NathanReb (partly funded by the
      OCaml Software Foundation)).

  *Releases:*
  • [UTop 2.14.0]
  • [Merlin 4.14]
  • [Dune 3.14.0]
  • [Ppxlib 0.31.2]
  • [Dune 3.13.1]


[previous editions] <https://discuss.ocaml.org/tag/platform-newsletter>

[roadmap] <https://ocaml.org/docs/platform-roadmap>

[`Merlin 4.14-502~preview']
<https://ocaml.org/p/merlin/4.14-502~preview>

[`Ocaml-lsp-server 1.18.0~5.2preview']
<https://ocaml.org/p/ocaml-lsp-server/1.18.0~5.2preview>

[`Ppxlib 0.32.1~5.2preview']
<https://ocaml.org/p/ppxlib/0.32.1~5.2preview>

[UTop 2.14.0] <https://ocaml.org/changelog/2024-02-27-utop-2.14.0>

[Merlin 4.14] <https://ocaml.org/changelog/2024-02-26-merlin-4.14>

[Dune 3.14.0] <https://ocaml.org/changelog/2024-02-12-dune.3.14.0>

[Ppxlib 0.31.2] <https://ocaml.org/changelog/2024-02-07-ppxlib-0.32.0>

[Dune 3.13.1] <https://ocaml.org/changelog/2024-02-05-dune-3.13.1>

*[Dune]* Exploring Package Management in Dune ([W4])
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  *Contributed by:* @rgrinberg (Tarides), @Leonidas-from-XIV (Tarides),
   @gridbugs (Tarides), @kit-ty-kate (Tarides), @Alizter

  *Why:* Unify OCaml tooling under a single command line for all
  development workflows. This addresses one of the most important pain
  points [reported by the community].

  *What:* Prototyping the integration of package management into Dune
  using opam as a library. We're introducing a `dune pkg lock' command
  to generate a lock file and enhancing `dune build' to handle
  dependencies in the lock file. More details in the [Dune RFC].

  *Activities:*
  • One of the main remaining blockers to make Dune package management
    usable in real world project is to make some of the low level
    dependencies, notably OCamlFind and the OCaml compiler,
    relocatable. – [ocaml/ocamlfind#72]
  • We experimented with a Coq-platform patch to make OCamlFind
    relocatable, but we faced issues with packages using `topkg' due to
    `ocamlbuild' build failures. This led to identifying an error with
    directory symlink handling in Dune [ocaml/dune#9873],
    [ocaml/dune#9937]
  • To track the buildability of opam packages with Dune package
    management, we worked on a GitHub action that effectively provides
    us with a dashboard of opam packages coverage on a select set of
    packages. The repository is available at
    [gridbugs/dune-pkg-dashboard].
  • Based on the findings from the above, several issues were opened on
    the Dune issue tracker. All the known issues are now tracked in the
    [Package Management MVP] milestone on Dune's issue tracker.
  • We also focused on improving features that were previously
    implemented. Noteworthy changes include the addition of [workspace
    package pins] and enhancements for correct path handling in packages
    – [ocaml/dune#9940]
  • Work included updates and refactorings to improve source fetching,
    particularly the removal of a rudimentary Git config parser in favor
    of using `git config' directly ([ocaml/dune#9905]), and enhancements
    to how Dune handles Git repositories, such as the checking out of
    Git repos via `rev_store' ([ocaml/dune#10060]).
  • Contributions also focused on refining and testing Dune's package
    handling, including a fix to ensure that opam's untar code is not
    used ([ocaml/dune#10085]), and improvements to Dune's handling of
    recursive submodules in Git repos ([ocaml/dune#10130]).


[W4] <https://ocaml.org/docs/platform-roadmap#w4-build-a-project>

[reported by the community]
<https://www.dropbox.com/s/omba1d8vhljnrcn/OCaml-user-survey-2020.pdf?dl=0>

[Dune RFC] <https://github.com/ocaml/dune/issues/7680>

[ocaml/ocamlfind#72] <https://github.com/ocaml/ocamlfind/pull/72>

[ocaml/dune#9873] <https://github.com/ocaml/dune/issues/9873>

[ocaml/dune#9937] <https://github.com/ocaml/dune/pull/9937>

[gridbugs/dune-pkg-dashboard]
<https://github.com/gridbugs/dune-pkg-dashboard>

[Package Management MVP]
<https://github.com/ocaml/dune/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Package+Management+MVP%22>

[workspace package pins] <https://github.com/ocaml/dune/pull/10072>

[ocaml/dune#9940] <https://github.com/ocaml/dune/pull/9940>

[ocaml/dune#9905] <https://github.com/ocaml/dune/pull/9905>

[ocaml/dune#10060] <https://github.com/ocaml/dune/pull/10060>

[ocaml/dune#10085] <https://github.com/ocaml/dune/pull/10085>

[ocaml/dune#10130] <https://github.com/ocaml/dune/pull/10130>


*[opam]* Native Support for Windows in opam 2.2 ([W5])
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  *Contributed by:* @rjbou (OCamlPro), @kit-ty-kate (Tarides), @dra27
   (Tarides), @AltGr (OCamlPro)

  *Why:* Enhance OCaml's viability on Windows by integrating native opam
  and `opam-repository' support, fostering a larger community, and more
  Windows-friendly packages.

  *What:* Releasing opam 2.2 with native Windows support, making the
   official `opam-repository' usable on Windows platforms.

  *Activities:*
  • Addressed the issue where the Windows loader would display blocking
    dialogue boxes upon failing to find DLLs, adhering to best practices
    by suppressing these dialogs, and opting for exit codes
    instead. This enhancement eliminates disruptive interruptions,
    ensuring a more seamless operation for automated tasks and CI
    environments. – [#5828]
  • Fixed shell detection issues when opam is invoked via Cygwin's
    `/usr/bin/env', enhancing compatibility and user experience for
    those utilising Cygwin alongside `cmd' or PowerShell. – [#5797]
  • Recommend Developer Mode on Windows. To optimise storage and align
    with best practices, Developer Mode is recommended for enabling
    symlink support. – [#5831]
  • Resolved issues related to environment variable handling,
    specifically fixing bugs where updates or additions to environment
    variables would incorrectly remove or alter them. – [#5837]
  • Addressed early loading of git location information, particularly
    benefiting Windows users by ensuring correct retrieval and
    application of git-related configurations. – [#5842]
  • Disabled ACL in Cygwin. By setting `noacl' in `/etc/fstab' for
    `/cygdrive' mount, this change avoids permission mismatch errors,
    enhancing reliability and usability for Cygwin users. – [#5796]
  • Introduced the ability to define the package manager path at
    initialisation, improving customisation and integration capabilities
    for Windows users. – [#5847]
  • Added `winsymlinks:native' to the Cygwin environment variable,
    improving compatibility within the Cygwin ecosystem. – [#5793]
  • Fixed script generation issues related to path quoting, ensuring
    smoother initialisation and setup processes, especially in
    mixed-environment scenarios like Cygwin. – [#5841]
  • Corrected the precedence and handling of `git-location'
    configurations during initialisation, streamlining Git integration
    and providing clearer control over Git settings. – [#5848]
  • Extended the use of eval-variables to internal Cygwin installations
    and adjusted the setup to better accommodate Windows-specific
    requirements, enhancing flexibility and system compiler
    integration. – [#5829]


[W5] <https://ocaml.org/docs/platform-roadmap#w5-manage-dependencies>

[#5828] <https://github.com/ocaml/opam/pull/5828>

[#5797] <https://github.com/ocaml/opam/pull/5797>

[#5831] <https://github.com/ocaml/opam/pull/5831>

[#5837] <https://github.com/ocaml/opam/pull/5837>

[#5842] <https://github.com/ocaml/opam/pull/5842>

[#5796] <https://github.com/ocaml/opam/pull/5796>

[#5847] <https://github.com/ocaml/opam/pull/5847>

[#5793] <https://github.com/ocaml/opam/pull/5793>

[#5841] <https://github.com/ocaml/opam/pull/5841>

[#5848] <https://github.com/ocaml/opam/pull/5848>

[#5829] <https://github.com/ocaml/opam/pull/5829>


*[​`odoc'​]* Unify OCaml.org and Local Package Documentation ([W25])
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  *Contributed by:* @jonludlam (Tarides), @julow (Tarides), @panglesd
   (Tarides), Luke Maurer (Jane Street)

  *Why:* Improving local documentation generation workflow will help
  package authors write better documentation for their packages, and
  consolidating the different `odoc' documentation generators will help
  make continuous improvements to `odoc' available to a larger audience.

  *What:* We will write conventions that drivers must follow to ensure
  that their output will be functional. Once established, we will update
  the Dune rules to follow these rules, access new `odoc' features
  (e.g., source rendering), and provide similar functionalities to
  docs.ocaml.org (a navigational sidebar, for instance). This will
  effectively make Dune usable to generate OCaml.org package
  documentation.

  *Activities:*
  • Work continued on the design for the new `odoc' drivers conventions
    shared by Dune and OCaml.org, and we plan to publish the RFC in
    March.
  • We also started comparing and prototyping various approaches to add
    sidebar support to `odoc'. Several prototypes have been developed
    and discussed with the team, and we will resume work on the sidebar
    implementation once the driver conventions have been adopted.


[W25]
<https://ocaml.org/docs/platform-roadmap#w25-generate-documentation>


*[​`odoc'​]* Add Search Capabilities to `odoc' ([W25])
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  *Contributed by:* @panglesd (Tarides), @EmileTrotignon (Tarides),
   @julow (Tarides), @jonludlam (Tarides)

  *Why:* Improve usability and navigability in OCaml packages
  documentation, both locally and on OCaml.org, by offering advanced
  search options like type-based queries.

  *What:* Implementing a search engine interface in `odoc', complete
  with a UI and a search index. Additionally, we're developing a default
  client-side search engine based on Sherlodoc.

  *Activities:*
  • The implementation and refinement of sherlodoc's integration with
    odoc were our major focuses, this included making sherlodoc pass
    opam CI on different architectures and adjusting the dune rules for
    better usability – [ocaml/dune#9956]
  • After the big sherlodoc PR was merged and sherlodoc released last
    month, work continued on refining the dune rules for sherlodoc and
    on adjusting the search bar's scope based on discussions with the
    team.
  • We implemented keyboard navigation in the search bar to improve its
    usability – [ocaml/odoc#1088]


[W25]
<https://ocaml.org/docs/platform-roadmap#w25-generate-documentation>

[ocaml/dune#9956] <https://github.com/ocaml/dune/pull/9956>

[ocaml/odoc#1088] <https://github.com/ocaml/odoc/pull/1088>


*[​`odoc'​]* Improving `odoc' Performance ([W25])
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  *Contributed by:* @jonludlam (Tarides), @julow (Tarides), @gpetiot
   (Tarides)

  *Why:* Address performance issues in `odoc', particularly for
  large-scale documentation, to enhance efficiency and user experience
  and unlock local documentation generation in large code bases.

  *What:* Profiling `odoc' to identify the main performance bottlenecks
   and optimising `odoc' with the findings.

  *Activities:*
  • Performance improvements were achieved by addressing issues with
    source location lookups for non-existent identifiers, significantly
    improving link time for large codebases.
  • Several PRs from the module-type-of work were opened, including
    fixes and tests aimed at enhancing `odoc''s handling of transitive
    library dependencies, shape lookup, and module-type-of expansions –
    [ocaml/odoc#1078], [ocaml/odoc#1081]
  • Improve the efficiency of finding `odoc' files in accessible paths,
    cutting the time to generate documentation by two in some of our
    tests – [ocaml/odoc#1075]


[W25]
<https://ocaml.org/docs/platform-roadmap#w25-generate-documentation>

[ocaml/odoc#1078] <https://github.com/ocaml/odoc/pull/1078>

[ocaml/odoc#1081] <https://github.com/ocaml/odoc/pull/1081>

[ocaml/odoc#1075] <https://github.com/ocaml/odoc/pull/1075>


*[Merlin]* Support for Project-Wide References in Merlin ([W19])
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  *Contributed by:* @voodoos (Tarides)

  *Why:* Enhance code navigation and refactoring for developers by
  providing project-wide reference editor features, aligning OCaml with
  the editor experience found in other languages.

  *What:* Introducing `ocamlmerlin server occurrences' and LSP
  `textDocument/references' support, extending compiler's Shapes for
  global occurrences and integrating these features in Dune, Merlin, and
  OCaml LSP.

  *Activities:*
  • Continued investigations and improvements on Dune rules to address
    configuration issues
  • After adding support for OCaml 5.2 to `merlin-lib', we've rebased
    the project-wide occurrences work over it.
  • We also started work with the Jane Stree team to test project wide
    references at scale in their monorepo. Following our initial
    integration, we focused on refining Merlin's indexing and occurrence
    query capabilities, including addressing bottlenecks and regressions
    in shape reductions – [ocaml/ocaml#13001]


[W19] <https://ocaml.org/docs/platform-roadmap#w19-navigate-code>

[ocaml/ocaml#13001] <https://github.com/ocaml/ocaml/pull/13001>


*[Merlin]* Improving Merlin's Performance ([W19])
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  *Contributed by:* @pitag (Tarides), @Engil (Tarides)

  *Why:* Some Merlin queries have been shown to scale poorly in large
  codebases, making the editor experience subpar. Users report that they
  sometimes must wait a few seconds to get the answer. This is obviously
  a major issue that hurts developer experience, so we're working on
  improving Merlin performance when it falls short.

  *What:* Developing benchmarking tools and optimising Merlin's
  performance through targeted improvements based on profiling and
  analysis of benchmark results.

  *Activities:*
  • In `merlin-lib', we've continued the work on a prototype to process
    the buffer in parallel with the query computation. Parallelism
    refers to OCaml 5 parallelism (domains).


[W19] <https://ocaml.org/docs/platform-roadmap#w19-navigate-code>


Your Feedback Needed on OCaml Home Page Wireframe!
══════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/your-feedback-needed-on-ocaml-home-page-wireframe/14366/1>


Claire Vandenberghe announced
─────────────────────────────

  I'm reaching out to ask for a few minutes of your time to review the
  wireframe designs for the OCaml Home, Industrial, and Academic pages.

  After conducting user interviews with OCaml enthusiasts, we've
  gathered valuable insights on what information newcomers find most
  helpful when visiting the OCaml home.

  As a result, we've been working on restructuring these three major
  pages to better cater to user needs.

  (*Please note that these wireframes primarily focus on navigation,
  layout, and content, rather than the User Interface (UI).*)

  Your feedback is crucial at this stage, so please feel free to leave
  comments directly on Figma, via email, or let's schedule a quick call
  to discuss. Thank you for taking part in this review.

  *Figma Link*:
  <https://www.figma.com/file/eLNSdvayxqvvfBsRsdbJXN/OCaml-Home-Page?type=design&node-id=5%3A2500&mode=design&t=hHclskuVpoOzKP2u-1>


OCaml Workshop 2024 at ICFP – announcement and call for proposals
═════════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ocaml-workshop-2024-at-icfp-announcement-and-call-for-proposals/14371/1>


Sonja Heinze announced
──────────────────────

  This year, [ICFP] (the International Conference on Functional
  Programming) is going to take place in beautiful Milan.

  <https://hackmd.io/_uploads/rJIS7LPAT.jpg>

  Such as every year since 2012, on the last day of that conference,
  i.e. on *September 7th (Saturday)*, we'll hold a workshop on
  OCaml. The workshop is intended to cover all different kinds of
  aspects of the OCaml programming language as well as the OCaml
  ecosystem and its community, such as scientific and/or
  research-oriented, engineering and/or user-oriented, as well as social
  and/or community-oriented.


[ICFP] <https://icfp24.sigplan.org/>

Call for talk proposals
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The [call for talk proposals] for the workshop is open.


[call for talk proposals]
<https://icfp24.sigplan.org/home/ocaml-2024#Call-for-Papers>

◊ Dates

  Here are the important dates:

  • Talk proposal submission deadline: May 30th (Thursday)
  • Author notification: July 4th (Thursday)
  • Workshop: September 7th (Saturday)


◊ Submissions

  Submissions are typically around 2 pages long (flexible), describing
  the motivations of the work and what the presentation would be about.

  We encourage everyone who might be interested in giving a talk to
  submit a proposal! We truly mean everyone, and also have strongly
  anyone in mind who belongs to a group that's traditionally
  underrepresented at OCaml workshops, e.g. due to your gender(s) or
  non-gender, where you're from or based or whatever other kinds of
  characteristics you might have. You should all be able to find all
  information you'll need to submit a proposal on the official [call for
  talk proposals]. However, if you have any question, don't hesitate to
  ask us.


  [call for talk proposals]
  <https://icfp24.sigplan.org/home/ocaml-2024#Call-for-Papers>


◊ Quota on accepted talks per affiliation

  Even though none of us is a fan of quotas, last year's workshop
  experimented with a quota of a maximum of four talks given by speakers
  with the same company/university/institute affiliation. In order to
  guarantee a coverage of a diverse range of topics and perspectives,
  we'll experiment with the same affiliation quota again.

  Do not hesitate to submit your talk proposal in any case: quotas, if
  needed, will be taken into account by the PC after reviewing all
  submissions, so there's no reason to self-select upfront.


About the workshop itself
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  So far, we've only talked about talk proposals and formalities. The
  really exciting part will be the workshop itself! It's going to be a
  whole-day workshop and, similarly to previous years, it's likely going
  to have four sessions of about four talks each. It's a rather informal
  and interactive environment, where people engage in all kinds of
  conversations about OCaml during the breaks and after the workshop.


◊ Hybrid attendance and cost for speakers

  We're aiming to make the workshop hybrid with the same streaming
  modalities as last year, meaning that *talks as well as participation
  can be either in-person or remote*, and *remote attendance will be
  free*. To promote a good atmosphere, communication and engagement, we
  prefer to have most talks in-person, but remote talks will be most
  welcome as well.

  We know that giving the talk in-person comes with an economic
  cost. We're very happy to announce that thanks to the [OCaml Software
  Foundation], *registration fees will be covered for speakers* in case
  they can't get them funded by other means (e.g. their employer).

  We will do our best to provide the best workshop experience possible
  for remote participants, within the constraints of the hybrid
  format. While attending in-person does come with advantages, it also
  comes with an environmental cost, and we strongly support
  transitioning to a less plane-intensive organization for conferences
  and community events :deciduous_tree: .


  [OCaml Software Foundation] <https://ocaml-sf.org/>


◊ Related events

  The day before the OCaml workshop, i.e. Sep 6th (Friday), is the day
  of the [ML workshop], with focus on more theoretical aspects of OCaml
  and the whole family of ML languages in general. The ML workshop [has
  already been announced on the OCaml discuss] and tends to be very
  interesting for OCaml lovers as well.

  We're looking forward to the the talk submissions and to the workshop!
  Let us know if you have any questions.  @Armael and @pitag


  [ML workshop] <https://icfp24.sigplan.org/home/mlworkshop-2024>

  [has already been announced on the OCaml discuss]
  <https://discuss.ocaml.org/t/call-for-presentations-ml-2024-acm-sigplan-ml-family-workshop/14284>


down.0.2.0 and omod.0.4.0
═════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-down-0-2-0-and-omod-0-4-0/14380/1>


Daniel Bünzli announced
───────────────────────

  It's my pleasure to announce new releases for [down] and [omod] which
  provide a nice `ocaml' toplevel user experience upgrade. Simply add to
  your `.ocamlinit':

  ┌────
  │ #use "down.top"
  │ #use "omod.top" 
  └────

  And enjoy all the benefits you can learn about in the [down manual]
  and in the [omod tutorial].

  These are mainly maintenance releases but if you ever though that down
  was a bit slow when pasting code, it now (well for almost two years…)
  implements [bracketed pastes]. Thanks to @emillon for the reference.


[down] <https://erratique.ch/software/down>

[omod] <https://erratique.ch/software/omod>

[down manual] <https://erratique.ch/software/down/doc/manual.html>

[omod tutorial] <https://erratique.ch/software/omod/doc/tutorial.html>

[bracketed pastes] <https://cirw.in/blog/bracketed-paste>


stdlib-random 1.2
═════════════════

  Archive: <https://discuss.ocaml.org/t/ann-stdlib-random-1-2/14381/1>


octachron announced
───────────────────

  The library `stdlib-random' is a small compatibility library that
  provides compiler-independent implementations of the PRNGs used in the
  history of the standard library `Random':

  • stdlib-random.v3: implement the PRNG used in OCaml 3.07 to 3.11
  • stdlib-random.v4: implement the PRNG used in OCaml 3.12 to 4.14
  • stdlib-random.v5: implement the PRNG currently used in OCaml 5
  • stdlib-random.v5o: implement the PRNG currently used in OCaml 5 in
    pure OCaml

  This library is targeted toward programs that need a deterministic and
  stable behaviour of the `Random' module across OCaml versions.

  The newly released version 1.2.0 updates all implementations to
  provide the new `int_in_range' function (and its `int32_in_range',
  `nativeint_in_range', `int64_in_range' variants) that will be
  available in OCaml 5.2.0.

  Note however that the implementations on the pre-OCaml 5 PRNGs are not
  optimal, since I prioritised the maintenance cost over performance,
  but that could be changed if required.


Other OCaml News
════════════════

>From the ocaml.org blog
───────────────────────

  Here are links from many OCaml blogs aggregated at [the ocaml.org
  blog].

  • [NetHSM: Bringing Open Source to the World of Hardware Security
    Modules]
  • [Frama-Clang v0.0.15 for Frama-C 28.0 Nickel]


[the ocaml.org blog] <https://ocaml.org/blog/>

[NetHSM: Bringing Open Source to the World of Hardware Security Modules]
<https://tarides.com/blog/2024-03-27-nethsm-bringing-open-source-to-the-world-of-hardware-security-modules>

[Frama-Clang v0.0.15 for Frama-C 28.0 Nickel]
<https://frama-c.com/fc-plugins/frama-clang.html>


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] <mailto:alan.schmitt@polytechnique.org>

[the archive] <https://alan.petitepomme.net/cwn/>

[RSS feed of the archives] <https://alan.petitepomme.net/cwn/cwn.rss>

[caml-list] <https://sympa.inria.fr/sympa/info/caml-list>

[Alan Schmitt] <https://alan.petitepomme.net/>


[-- Attachment #2: Type: text/html, Size: 41021 bytes --]

             reply	other threads:[~2024-04-02 14:31 UTC|newest]

Thread overview: 236+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02 14:31 Alan Schmitt [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-04-15  9:51 Alan Schmitt
2025-04-08 13:14 Alan Schmitt
2025-04-01  9:12 Alan Schmitt
2025-03-25  8:06 Alan Schmitt
2025-03-18 10:18 Alan Schmitt
2025-03-11 15:00 Alan Schmitt
2025-03-04 14:01 Alan Schmitt
2025-02-25 10:36 Alan Schmitt
2025-02-18 14:33 Alan Schmitt
2025-02-11  7:17 Alan Schmitt
2025-02-04 12:05 Alan Schmitt
2025-01-28 13:24 Alan Schmitt
2025-01-21 15:47 Alan Schmitt
2025-01-14  8:20 Alan Schmitt
2025-01-07 17:26 Alan Schmitt
2024-12-31  8:03 Alan Schmitt
2024-12-24  8:55 Alan Schmitt
2024-12-17 13:05 Alan Schmitt
2024-12-10 13:48 Alan Schmitt
2024-12-03 14:44 Alan Schmitt
2024-11-26  8:30 Alan Schmitt
2024-11-19  6:52 Alan Schmitt
2024-11-12 15:00 Alan Schmitt
2024-11-05 13:22 Alan Schmitt
2024-10-29 13:30 Alan Schmitt
2024-10-22 12:42 Alan Schmitt
2024-10-15 13:31 Alan Schmitt
2024-10-08 10:56 Alan Schmitt
2024-10-01 13:37 Alan Schmitt
2024-09-24 13:18 Alan Schmitt
2024-09-17 14:02 Alan Schmitt
2024-09-10 13:55 Alan Schmitt
2024-09-03  8:24 Alan Schmitt
2024-08-27  9:02 Alan Schmitt
2024-08-20  9:29 Alan Schmitt
2024-08-13 13:21 Alan Schmitt
2024-08-06  9:00 Alan Schmitt
2024-07-30 13:26 Alan Schmitt
2024-07-23 13:30 Alan Schmitt
2024-07-16  6:24 Alan Schmitt
2024-07-09  9:19 Alan Schmitt
2024-07-02  7:30 Alan Schmitt
2024-06-25 13:58 Alan Schmitt
2024-06-18 13:05 Alan Schmitt
2024-06-11 15:04 Alan Schmitt
2024-06-04 13:26 Alan Schmitt
2024-05-28  9:07 Alan Schmitt
2024-05-21 13:07 Alan Schmitt
2024-05-14 13:25 Alan Schmitt
2024-05-07  7:30 Alan Schmitt
2024-04-30  7:22 Alan Schmitt
2024-04-23 12:17 Alan Schmitt
2024-04-16 12:00 Alan Schmitt
2024-04-09  9:15 Alan Schmitt
2024-03-26  6:32 Alan Schmitt
2024-03-19 15:09 Alan Schmitt
2024-03-12 10:31 Alan Schmitt
2024-03-05 14:50 Alan Schmitt
2024-02-27 13:53 Alan Schmitt
2024-02-20  9:12 Alan Schmitt
2024-02-13  8:42 Alan Schmitt
2024-02-06 15:14 Alan Schmitt
2024-01-30 14:16 Alan Schmitt
2024-01-23  9:45 Alan Schmitt
2024-01-16 10:01 Alan Schmitt
2024-01-09 13:40 Alan Schmitt
2024-01-02  8:59 Alan Schmitt
2023-12-26 10:12 Alan Schmitt
2023-12-19 10:10 Alan Schmitt
2023-12-12 10:20 Alan Schmitt
2023-12-05 10:13 Alan Schmitt
2023-11-28  9:09 Alan Schmitt
2023-11-21  7:47 Alan Schmitt
2023-11-14 13:42 Alan Schmitt
2023-11-07 10:31 Alan Schmitt
2023-10-31 10:43 Alan Schmitt
2023-10-24  9:17 Alan Schmitt
2023-10-17  7:46 Alan Schmitt
2023-10-10  7:48 Alan Schmitt
2023-10-03 13:00 Alan Schmitt
2023-09-19  8:54 Alan Schmitt
2023-09-12 13:21 Alan Schmitt
2023-09-05  9:00 Alan Schmitt
2023-08-29 13:04 Alan Schmitt
2023-08-22  9:20 Alan Schmitt
2023-08-15 16:33 Alan Schmitt
2023-08-08  8:53 Alan Schmitt
2023-08-01  7:13 Alan Schmitt
2023-07-25  8:45 Alan Schmitt
2023-07-11  8:45 Alan Schmitt
2023-07-04  9:18 Alan Schmitt
2023-06-27  8:38 Alan Schmitt
2023-06-20  9:52 Alan Schmitt
2023-06-13  7:09 Alan Schmitt
2023-06-06 14:22 Alan Schmitt
2023-05-30 15:43 Alan Schmitt
2023-05-23  9:41 Alan Schmitt
2023-05-16 13:05 Alan Schmitt
2023-05-09 11:49 Alan Schmitt
2023-05-02  8:01 Alan Schmitt
2023-04-25  9:25 Alan Schmitt
2023-04-18  8:50 Alan Schmitt
2023-04-11 12:41 Alan Schmitt
2023-04-04  8:45 Alan Schmitt
2023-03-28  7:21 Alan Schmitt
2023-03-21 10:07 Alan Schmitt
2023-03-14  9:52 Alan Schmitt
2023-03-07  9:02 Alan Schmitt
2023-02-28 14:38 Alan Schmitt
2023-02-21 10:19 Alan Schmitt
2023-02-14  8:12 Alan Schmitt
2023-02-07  8:16 Alan Schmitt
2023-01-31  6:44 Alan Schmitt
2023-01-24  8:57 Alan Schmitt
2023-01-17  8:37 Alan Schmitt
2022-11-29 14:53 Alan Schmitt
2022-09-27  7:17 Alan Schmitt
2022-09-20 14:01 Alan Schmitt
2022-09-13  8:40 Alan Schmitt
2022-08-23  8:06 Alan Schmitt
2022-08-16  8:51 Alan Schmitt
2022-08-09  8:02 Alan Schmitt
2022-08-02  9:51 Alan Schmitt
2022-07-26 17:54 Alan Schmitt
2022-07-19  8:58 Alan Schmitt
2022-07-12  7:59 Alan Schmitt
2022-07-05  7:42 Alan Schmitt
2022-06-28  7:37 Alan Schmitt
2022-06-21  8:06 Alan Schmitt
2022-06-14  9:29 Alan Schmitt
2022-06-07 10:15 Alan Schmitt
2022-05-31 12:29 Alan Schmitt
2022-05-24  8:04 Alan Schmitt
2022-05-17  7:12 Alan Schmitt
2022-05-10 12:30 Alan Schmitt
2022-05-03  9:11 Alan Schmitt
2022-04-26  6:44 Alan Schmitt
2022-04-19  5:34 Alan Schmitt
2022-04-12  8:10 Alan Schmitt
2022-04-05 11:50 Alan Schmitt
2022-03-29  7:42 Alan Schmitt
2022-03-22 13:01 Alan Schmitt
2022-03-15  9:59 Alan Schmitt
2022-03-01 13:54 Alan Schmitt
2022-02-22 12:43 Alan Schmitt
2022-02-08 13:16 Alan Schmitt
2022-02-01 13:00 Alan Schmitt
2022-01-25 12:44 Alan Schmitt
2022-01-11  8:20 Alan Schmitt
2022-01-04  7:56 Alan Schmitt
2021-12-28  8:59 Alan Schmitt
2021-12-21  9:11 Alan Schmitt
2021-12-14 11:02 Alan Schmitt
2021-11-30 10:51 Alan Schmitt
2021-11-16  8:41 Alan Schmitt
2021-11-09 10:08 Alan Schmitt
2021-11-02  8:50 Alan Schmitt
2021-10-19  8:23 Alan Schmitt
2021-09-28  6:37 Alan Schmitt
2021-09-21  9:09 Alan Schmitt
2021-09-07 13:23 Alan Schmitt
2021-08-24 13:44 Alan Schmitt
2021-08-17  6:24 Alan Schmitt
2021-08-10 16:47 Alan Schmitt
2021-07-27  8:54 Alan Schmitt
2021-07-20 12:58 Alan Schmitt
2021-07-06 12:33 Alan Schmitt
2021-06-29 12:24 Alan Schmitt
2021-06-22  9:04 Alan Schmitt
2021-06-01  9:23 Alan Schmitt
2021-05-25  7:30 Alan Schmitt
2021-05-11 14:47 Alan Schmitt
2021-05-04  8:57 Alan Schmitt
2021-04-27 14:26 Alan Schmitt
2021-04-20  9:07 Alan Schmitt
2021-04-06  9:42 Alan Schmitt
2021-03-30 14:55 Alan Schmitt
2021-03-23  9:05 Alan Schmitt
2021-03-16 10:31 Alan Schmitt
2021-03-09 10:58 Alan Schmitt
2021-02-23  9:51 Alan Schmitt
2021-02-16 13:53 Alan Schmitt
2021-02-02 13:56 Alan Schmitt
2021-01-26 13:25 Alan Schmitt
2021-01-19 14:28 Alan Schmitt
2021-01-12  9:47 Alan Schmitt
2021-01-05 11:22 Alan Schmitt
2020-12-29  9:59 Alan Schmitt
2020-12-22  8:48 Alan Schmitt
2020-12-15  9:51 Alan Schmitt
2020-12-01  8:54 Alan Schmitt
2020-11-03 15:15 Alan Schmitt
2020-10-27  8:43 Alan Schmitt
2020-10-20  8:15 Alan Schmitt
2020-10-06  7:22 Alan Schmitt
2020-09-29  7:02 Alan Schmitt
2020-09-22  7:27 Alan Schmitt
2020-09-08 13:11 Alan Schmitt
2020-09-01  7:55 Alan Schmitt
2020-08-18  7:25 Alan Schmitt
2020-07-28 16:57 Alan Schmitt
2020-07-21 14:42 Alan Schmitt
2020-07-14  9:54 Alan Schmitt
2020-07-07 10:04 Alan Schmitt
2020-06-30  7:00 Alan Schmitt
2020-06-16  8:36 Alan Schmitt
2020-06-09  8:28 Alan Schmitt
2020-05-19  9:52 Alan Schmitt
2020-05-12  7:45 Alan Schmitt
2020-05-05  7:45 Alan Schmitt
2020-04-28 12:44 Alan Schmitt
2020-04-21  8:58 Alan Schmitt
2020-04-14  7:28 Alan Schmitt
2020-04-07  7:51 Alan Schmitt
2020-03-31  9:54 Alan Schmitt
2020-03-24  9:31 Alan Schmitt
2020-03-17 11:04 Alan Schmitt
2020-03-10 14:28 Alan Schmitt
2020-03-03  8:00 Alan Schmitt
2020-02-25  8:51 Alan Schmitt
2020-02-18  8:18 Alan Schmitt
2020-02-04  8:47 Alan Schmitt
2020-01-28 10:53 Alan Schmitt
2020-01-21 14:08 Alan Schmitt
2020-01-14 14:16 Alan Schmitt
2020-01-07 13:43 Alan Schmitt
2019-12-31  9:18 Alan Schmitt
2019-12-17  8:52 Alan Schmitt
2019-12-10  8:21 Alan Schmitt
2019-12-03 15:42 Alan Schmitt
2019-11-26  8:33 Alan Schmitt
2019-11-12 13:21 Alan Schmitt
2019-11-05  6:55 Alan Schmitt
2019-10-15  7:28 Alan Schmitt
2019-09-03  7:35 Alan Schmitt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2plv7x2dh.fsf@mac-03220211.irisa.fr \
    --to=alan.schmitt@polytechnique.org \
    --cc=caml-list@inria.fr \
    --cc=lwn@lwn.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox