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, 04 Feb 2025 13:05:29 +0100	[thread overview]
Message-ID: <m2ed0dx6d2.fsf@mac-03220211.irisa.fr> (raw)

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

Hello

Here is the latest OCaml Weekly News, for the week of January 28 to
February 04, 2025.

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

Opam repository archive - clarification of the opam fields
Chúc mừng năm mới Ất Tỵ 2025!
Rewriting Slipshow in OCaml: The undo-able monad
Announcing climate.0.4.0
15th MirageOS retreat May 13th - 20th
Dune dev meeting
Other OCaml News
Old CWN


Opam repository archive - clarification of the opam fields
══════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/opam-repository-archive-clarification-of-the-opam-fields/16050/1>


Hannes Mehnert announced
────────────────────────

  Dear everyone,

  we had further discussions about the semantics of
  `x-maintenance-intent', and hope to clarify in this post. Also, we
  adapted the policy which is in the opam-repository git repository:
  <https://github.com/ocaml/opam-repository/blob/master/governance/policies/archiving.md>


x-maintenance-intent
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  We've had some further discussions on Phase 3 and the semantics of the
  `x-maintenance-intent' field.


◊ Goal

  Our aim is to be not disruptive for the common OCaml programmer or
  user. The opam-repository supports (from February 1st on) OCaml 4.08
  and greater. This means that if you install OCaml 4.08 you should be
  able to install all the packages that have ever been released with
  4.08 support.

  The revised semantics of "(latest)" is "the latest version of this
  package, so that every supported OCaml version will have an
  installation candidate".


  ◊ Example

    Let me give you an example, consider the package "basic" which
    exists in three versions:
    • basic.1.0.0 with the dependency "ocaml" {>= "4.05" & < "5"}
    • basic.1.0.1 with the dependency "ocaml" {>= "4.08" & < "5"}
    • basic.2.0.0 with the dependency "ocaml" {>= "4.14" & < "5"}

    Here, if the `x-maintenance-intent: [ "(latest)" ]' is present, we
    will only (try to) archive basic.1.0.0 – since 1.0.1 is needed for
    OCaml 4.08 .. 4.13.


◊ Default value

  The default value of `x-maintenance-intent' will for now be `"(any)"'
  - so all versions are kept. In the future, we may change this default
  to `"(latest)"', but will announce this ahead of the change with
  plenty of time.

  This default value is agreed on by the non-disruptive agreement to
  cause the least trouble.


x-maintained
╌╌╌╌╌╌╌╌╌╌╌╌

  In addition to the `x-maintenance-intent' - which covers the semantics
  of all versions of an opam package, we support another field,
  `x-maintained: BOOL'. This is an overwrite for a specific opam package
  version, and allows to declare whether it is maintained or not.

  It is useful in the setting where you've lots of pre-releases that are
  no longer maintained and you like to state this without writing a
  global intent for the opam package (e.g. for the OCaml compiler
  packages, the alpha, beta, and rc versions). Here, `x-maintained:
  false' is a nice setting. NB: earlier we proposed `flags: deprecated'
  - but we stay away from the flags, since there may be packages that
  are deprecated but still maintained (opam prints a warning if you
  install a package with the deprecated flag).

  If you have a private project and depend on a specific version of an
  opam package, you can as well PR the `x-maintained: true' field for
  that opam file (please specify when, who, and why). This will ensure
  that this opam file stays in the opam repository.


Phase 3
╌╌╌╌╌╌╌

  In Phase 3, we will consider all packages marked with
  `x-maintenance-intent' (the versions not matching the intent) and
  `x-maintained: false' to be archived.

  We plan to ensure that (a) all supported OCaml versions will retain an
  installation candidate (b) all reverse dependencies will still be
  installable. As a note, if you have an availability condition (some
  version will only work on some OS), we won't take that into
  consideration – you will need to specify the `x-maintenance-intent' to
  cover your versions.

  Our plan is to publish the list of packages to be archived by February
  15th on this discourse. It is likely we'll have candidate lists PRed
  to the [opam-repository-archive] earlier. We have lots of ideas and
  plans for CI systems to give feedback which opam versions are falling
  into the maintenance intent when you open a PR to the opam-repository
  (but we're not there yet).


[opam-repository-archive]
<https://github.com/ocaml/opam-repository-archive>


Future
╌╌╌╌╌╌

  As noted above, the default value of `x-maintenance-intent' may change
  in time. If this is decided, we will announce this with plenty of time
  before.

  Also, at some point in the future we will bump the OCaml lower bound
  (from February 1st it is 4.08).


Action
╌╌╌╌╌╌

  For the smooth shrinking of the opam-repository, please don't hesitate
  to fill in your x-maintenance-intent (especially "(none)" and
  "(latest)" are fine and safe choices).

  If you want to contribute more, the opam-repository needs help for
  triaging and merging PRs - why not become a maintainer? See the old
  but still valid ['call for new opam-repository maintainers'] if you're
  interested.


['call for new opam-repository maintainers']
<https://discuss.ocaml.org/t/call-for-new-opam-repository-maintainers/12041>


Chúc mừng năm mới Ất Tỵ 2025!
═════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/chuc-m-ng-nam-m-i-t-t-2025/16055/1>


sanette announced
─────────────────

  Happy Vietnamese (and Chinese too) New Year!

  It's the year of the snake, no its has nothing to do with `python',
  but why not play [Snóke] ;)

  Happy OCaml snaky year to all

  <https://us1.discourse-cdn.com/flex020/uploads/ocaml/optimized/2X/7/724ead058962d131571f612fa8939f1847758c7e_2_1146x1000.png>


[Snóke] <https://github.com/sanette/snoke>


Rewriting Slipshow in OCaml: The undo-able monad
════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/blog-rewriting-slipshow-in-ocaml-the-undo-able-monad/16069/1>


Paul-Elliot announced
─────────────────────

  Hello OCamlers,

  I have recently rewritten [Slipshow]'s engine from JavaScript to
  OCaml.  It turns out this rewriting was very satisfying, and many
  niceties came out of it.  I have written a blog post about a
  specifically interesting one: the use of custom `let' operators with
  the "undo-able" monad. I hope you enjoy the read!

  The blog post: [How I fixed Slipshow's worst flaw using OCaml and a
  monad].


[Slipshow] <https://github.com/panglesd/slipshow/>

[How I fixed Slipshow's worst flaw using OCaml and a monad]
<https://choum.net/panglesd/undo-monad/>


Announcing climate.0.4.0
════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/announcing-climate-0-4-0/16084/1>


Steve Sherratt announced
────────────────────────

  [Climate] is a declarative command-line parser for OCaml. This release
  is mostly focused on improving `--help' messages and allowing the
  colours of help messages to be configured.


[Climate] <https://github.com/gridbugs/climate>

Added
╌╌╌╌╌

  • Allow help messages colours to be configured ([#7])
  • Proof of concept of manpage generation (disabled in release as it's
    very incomplete) ([#11])


[#7] <https://github.com/gridbugs/climate/pull/7>

[#11] <https://github.com/gridbugs/climate/pull/11>


Changed
╌╌╌╌╌╌╌

  • Changed default help message colour scheme to be more colour-blind
    readable
  and more visible on light and dark terminals ([#7])
  • Changed description of `--help' argument.


[#7] <https://github.com/gridbugs/climate/pull/7>


Fixes
╌╌╌╌╌

  • Remove superfluous style reset escape sequences ([#7])
  • Don't apply formatting to trailing spaces in argument names in help
    messages ([#8])
  • Print a readable error when the argument spec is invalid ([#10])


[#7] <https://github.com/gridbugs/climate/pull/7>

[#8] <https://github.com/gridbugs/climate/pull/8>

[#10] <https://github.com/gridbugs/climate/pull/10>


15th MirageOS retreat May 13th - 20th
═════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-15th-mirageos-retreat-may-13th-20th/16085/1>


Hannes Mehnert announced
────────────────────────

  Dear everybody,

  we'll have another MirageOS retreat in May 2025 (13th - 20th). Happy
  to see lots of old and new faces there.

  Please jump to <https://retreat.mirageos.org> for further details, and
  sign up and spread the word :)

  Don't hesitate to ask questions in this topic.


Dune dev meeting
════════════════

  Archive: <https://discuss.ocaml.org/t/ann-dune-dev-meeting/14994/22>


Etienne Marais announced
────────────────────────

  Hi Dune enthusiasts :smile:,

  We will hold the regular Dune Dev Meeting on **Wednesday, February,
  5th at 9:00** CET. As usual, the session will be one hour long.

  Whether you are a maintainer, a regular contributor, a new joiner or
  just curious, you are welcome to join: these discussions are opened!
  The goal of these meetings is to provide a place to discuss the
  ongoing work together and synchronize with the Dune developers!
  :ok_hand:


:calendar: Agenda
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  The agenda is available on the[ meeting dedicated page]. Feel free to
  ask if you want to add more items in it.


[ meeting dedicated page]
<https://github.com/ocaml/dune/wiki/dev-meeting-2025-02-05>


:computer: Links
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌

  • Meeting link:[ zoom]
  • Calendar event:[ google calendar]
  • Wiki with information and previous notes:[ GitHub Wiki]


[ zoom]
<https://us06web.zoom.us/j/85096877776?pwd=cWNhU1dHQ1ZNSjZuOUZCQ0h2by9Udz09>

[ google calendar]
<https://calendar.google.com/calendar/embed?src=c_5cd698df6784e385b1cdcdc1dbca18c061faa96959a04781566d304dc9ec7319%40group.calendar.google.com>

[ GitHub Wiki] <https://github.com/ocaml/dune/wiki#dev-meetings>


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

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

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

  • [How we accidentally built a better build system for OCaml]
  • [Tarides: 2024 in Review]


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

[How we accidentally built a better build system for OCaml]
<https://blog.janestreet.com/how-we-accidentally-built-a-better-build-system-for-ocaml-index/>

[Tarides: 2024 in Review]
<https://tarides.com/blog/2025-01-20-tarides-2024-in-review>


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: 24660 bytes --]

             reply	other threads:[~2025-02-04 12:05 UTC|newest]

Thread overview: 236+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-04 12:05 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-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-04-02 14:31 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=m2ed0dx6d2.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