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, 18 Mar 2025 11:18:52 +0100	[thread overview]
Message-ID: <m2zfhiljzn.fsf@mac-03220211.irisa.fr> (raw)

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

Hello

Here is the latest OCaml Weekly News, for the week of March 11 to 18,
2025.

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

Upgrading Semgrep from OCaml 4 to OCaml 5 + dynamic_gc utility
Open source OCaml algotrading with longleaf 1.0.0
Neocaml - a TreeSitter-powered Emacs package for OCaml programming
Senior Software Engineer at Bloomberg. New York
Upcoming Cmdliner 2.0 changes that need your attention
Dune dev meeting
New release of Monolith (20250314)
dream_middleware_ext v0.1.0
Learn Programming with OCaml (new book)
Other OCaml News
Old CWN


Upgrading Semgrep from OCaml 4 to OCaml 5 + dynamic_gc utility
══════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/upgrading-semgrep-from-ocaml-4-to-ocaml-5-dynamic-gc-utility/16256/1>


Nat Mote announced
──────────────────

  I've written up my experience [upgrading Semgrep to OCaml 5]. The main
  barrier we faced was increased memory consumption, but I was able to
  tune the garbage collector to address this problem. We have also
  open-sourced the [utility I wrote] to adjust the `space_overhead' GC
  parameter based on heap size. We are looking forward to taking
  advantage of all the great new features in OCaml 5!


[upgrading Semgrep to OCaml 5]
<https://semgrep.dev/blog/2025/upgrading-semgrep-from-ocaml-4-to-ocaml-5/>

[utility I wrote] <https://github.com/semgrep/dynamic-gc>


Open source OCaml algotrading with longleaf 1.0.0
═════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/open-source-ocaml-algotrading-with-longleaf-1-0-0/16264/1>


adventure announced
───────────────────

  Recently, I have been working on a project called [longleaf] for
  algorithmic trading of US stocks with OCaml.  The project has reached
  a point where it may be interesting to others, so I thought I would
  share it here and write a simple README, although there could be a lot
  more documentation.  I would be curious to hear if anyone has any
  ideas for this!  If you try to use it or have any feedback or
  questions, feel free to leave a post here, make a github issue, or
  make a github discussion.

  In a nutshell, the idea is that strategies are functors that are
  instantiated with a "backend" for backtesting, live, or paper trading.
  That way, whether you are testing your strategy or running it live, it
  is exactly the same strategy other than how the execution of orders is
  handled.  In order to use it, you will need to set up some accounts
  and there are likely bugs.  Of course, if you use this program with
  real money and something bad happens, it is entirely your
  responsibility!

  [github]


[longleaf] <https://github.com/hesterjeng/longleaf>

[github] <https://github.com/hesterjeng/longleaf>


Neocaml - a TreeSitter-powered Emacs package for OCaml programming
══════════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/neocaml-a-treesitter-powered-emacs-package-for-ocaml-programming/16268/1>


Bozhidar Batsov announced
─────────────────────────

  In a different topics I wrote about about my recent work on neocaml,
  and I thought it might be a good idea to post something separately as
  well. Check out the project's GitHub [repo] and the short [blog post].

  Contributions and feedback are most welcome, and I hope `neocaml' will
  be useful to some of you either a tool or as a source of inspiration.


[repo] <https://github.com/bbatsov/neocaml>

[blog post]
<https://batsov.com/articles/2025/03/14/neocaml-a-new-emacs-package-for-ocaml-programming/>


Senior Software Engineer at Bloomberg. New York
═══════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/senior-software-engineer-at-bloomberg-new-york/16271/1>


Maxim Grankin announced
───────────────────────

  Hi everyone! 👋

  Bloomberg is looking for a full-time Senior Software Engineer in New
  York:

  • Gain experience applying functional programming to real production
    financial systems
  • Use OCaml to develop a robust template system to assist users in
    creating a wide range of financial instruments across various asset
    classes
  • Help shape the strategy for growth of OCaml at Bloomberg by
    contributing to the various OCaml infrastructure projects across the
    company
  • Opportunity to learn some of the financial domain that's at the core
    of the extensive derivative functionality

  Please see more details and/or apply at [(Senior Software Engineer -
  Functional Programming)].

  Feel free to reach out to me directly by email
  (mgrankin@bloomberg.net) if you have any questions. Thank you!


[(Senior Software Engineer - Functional Programming)]
<https://bloomberg.avature.net/careers/JobDetail?jobId=10730&qtvc=272d0d0846f74b19dc66d7fdc29cec05a0ad67e646ae6c1e1cb94f5ae1c9c4c2#>


Upcoming Cmdliner 2.0 changes that need your attention
══════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/upcoming-cmdliner-2-0-changes-that-need-your-attention/16211/2>


Continuing this thread, Daniel Bünzli announced
───────────────────────────────────────────────

  Other [changes] you may want to pay attention to is that cmdliner 2.0
  will:

  1. Remove deprecated identifiers.
  2. Make the [`Arg.conv'] type abstract[^1].

  If you happen to be walking around your `cmdliner' usage or making a
  new cli these days, pay particular attention to 2. as the concrete
  type has been deprecated since 2017 but sadly it was never possible to
  make it a visible deprecation (OCaml compiler help us! :man_bowing:).

  Note that both 1. and 2. can be resolved now by using cmdliner.1.3.0,
  there are a few [instructions here]. It's no guaranteed, but if you
  are on `opam' I may have filed an issue in your issue tracker
  :waving_hand:.

  P.S. I think there's not a single occurence where I did not eventually
  regret making a public type concrete.

  [^1]: So that completion behaviours can be defined at that level;
  aswell as the documentation metavariable which you could specify with
  `Arg.conv' constructors for ages but would simply be dropped to return
  the concrete pair.


[changes] <https://github.com/dbuenzli/cmdliner/issues/206>

[`Arg.conv']
<https://erratique.ch/software/cmdliner/doc/Cmdliner/Arg/index.html#type-conv>

[instructions here] <https://github.com/dbuenzli/cmdliner/issues/206>


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

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


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

  Hi!  The next Dune Dev Meeting will be on *Wednesday, March, 19th at
  16:00 CET*. This is going to be a one-hour-long meeting.

  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 :+1:

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

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


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

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

[google calendar]
<https://calendar.google.com/calendar/u/0/embed?src=c_5cd698df6784e385b1cdcdc1dbca18c061faa96959a04781566d304dc9ec7319@group.calendar.google.com>

[dune wiki on GitHub] <https://github.com/ocaml/dune/wiki>


New release of Monolith (20250314)
══════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-new-release-of-monolith-20250314/16303/1>


François Pottier announced
──────────────────────────

  I am pleased to announce a new "Pi Day" release of Monolith.

  Monolith is an OCaml library that helps perform black-box testing of
  OCaml libraries, either via purely random testing, or via grey-box
  fuzzing.

  This new release adds new command-line options to the executable
  program that Monolith produces by default. Furthermore, it extends
  Monolith's API with a new function, `run', so the user can invoke
  Monolith's engine as part of their own application, without letting
  Monolith parse the command line. These improvements make it easier to
  use a Monolith-based test as part of a continuous integration (CI)
  system. Thanks to Gabriel Scherer for suggesting these improvements.

  ┌────
  │ opam update
  │ opam install monolith.20250314
  └────

  Happy testing!


dream_middleware_ext v0.1.0
═══════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-dream-middleware-ext-v0-1-0/16306/1>


Geoffrey Borough announced
──────────────────────────

  A collection of middleware utilities for Dream framework, Initial
  release v0.1.0

  Currently supporting the following functionalities:

  CORS: Cross-Origin Resource Sharing

  Delay: simulates delayed request

  Rate Limiter: supports Fixed Window and Token Bucket algorithms

  Traffic Filter: supports IP, header and cookie based traffic filters

  • Project page: <https://github.com/axons-talent/dream_middleware_ext>
  • Documentation:
    <https://axons-talent.github.io/dream_middleware_ext/dream_middleware_ext>


Learn Programming with OCaml (new book)
═══════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/learn-programming-with-ocaml-new-book/16111/13>


Continuing this thread, Jean Christophe Filliatre announced
───────────────────────────────────────────────────────────

  [A preliminary EPUB version of the book] is now available. Feedback is
  most welcome (preferably by [submitting an issue here]).

  Big thanks to @Chet_Murthy who spent weeks working this out from our
  LaTeX sources.


[A preliminary EPUB version of the book]
<https://usr.lmf.cnrs.fr/lpo/lpo.epub>

[submitting an issue here]
<https://github.com/backtracking/learn-programming-with-ocaml/issues>


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

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

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

  • [OCaml’s Standard Library (`Stdlib')]
  • [neocaml: a new Emacs package for OCaml programming]
  • [We're Moving Ocsigen from Lwt to Eio!]
  • [Finding Signal in the Noise with In Young Cho]


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

[OCaml’s Standard Library (`Stdlib')]
<https://batsov.com/articles/2025/03/14/ocaml-s-standard-library/>

[neocaml: a new Emacs package for OCaml programming]
<https://batsov.com/articles/2025/03/14/neocaml-a-new-emacs-package-for-ocaml-programming/>

[We're Moving Ocsigen from Lwt to Eio!]
<https://tarides.com/blog/2025-03-13-we-re-moving-ocsigen-from-lwt-to-eio>

[Finding Signal in the Noise with In Young Cho]
<https://signals-threads.simplecast.com/episodes/finding-signal-in-the-noise-with-in-young-cho-qBmfD9v_>


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

             reply	other threads:[~2025-03-18 10:19 UTC|newest]

Thread overview: 236+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-18 10:18 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-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-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=m2zfhiljzn.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