From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17 via Mailbox Transport; Tue, 31 Jan 2023 06:45:59 +0000 Received: from Hermes.metastack.local (172.16.0.8) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17; Tue, 31 Jan 2023 06:45:59 +0000 Received: from exchange.romulus.metastack.com (172.16.0.21) by Hermes.metastack.local (172.16.0.8) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.2507.17 via Frontend Transport; Tue, 31 Jan 2023 06:45:59 +0000 Received: from romulus.metastack.com ([172.16.0.20]) by exchange.romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 30V6jEZo025523 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Tue, 31 Jan 2023 06:45:14 GMT Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by romulus.metastack.com (8.14.2/8.14.2) with ESMTP id 30V6j5fe025507 for ; Tue, 31 Jan 2023 06:45:05 GMT Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 31 Jan 2023 07:45:03 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 9CC55E745F; Tue, 31 Jan 2023 07:45:01 +0100 (CET) Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id A5613E743E for ; Tue, 31 Jan 2023 07:44:56 +0100 (CET) Received: from mx1.polytechnique.org ([129.104.30.34]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jan 2023 07:44:35 +0100 Received: from TM.local (unknown [109.190.253.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id B5B5156069E; Tue, 31 Jan 2023 07:44:32 +0100 (CET) From: Alan Schmitt To: lwn , cwn , "caml-list@inria.fr" Subject: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News Thread-Topic: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News Thread-Index: AQHZNT+teqfD6KXmHEqOrxN1Dt/nkw== Sender: "caml-list-request@inria.fr" X-MS-Exchange-MessageSentRepresentingType: 2 Date: Tue, 31 Jan 2023 06:44:31 +0000 Message-ID: Keywords: Sent to dra-news@metastack.com,MetaStack - Lists,MetaStack List-Help: List-Subscribe: List-Unsubscribe: Reply-To: Alan Schmitt Content-Language: en-GB X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Exchange-Organization-AuthSource: Hermes.metastack.local X-MS-Has-Attach: X-Auto-Response-Suppress: All X-MS-Exchange-Organization-Network-Message-Id: b7a1587e-fe7d-4888-9842-08db0356cfde X-MS-TNEF-Correlator: X-MS-Exchange-Organization-RecordReviewCfmType: 0 x-scanned-by: MIMEDefang 2.65 on 62.31.23.242 received-spf: None (mail2-relais-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@sympa.inria.fr) identity=helo; client-ip=128.93.162.160; receiver=mail2-relais-roc.national.inria.fr; envelope-from="caml-list-owner@inria.fr"; x-sender="postmaster@sympa.inria.fr"; x-conformance=spf_only x-ironport-av: E=Sophos;i="5.97,259,1669071600"; d="scan'208,217";a="46427459" x-spam-flag: Unsure, tests=bogofilter, spamicity=0.499493, queueID=68FA35606A8 x-ironport-anti-spam-filtered: true x-loop: caml-list@inria.fr x-no-archive: yes Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 OCaml Weekly News

OCaml Weekly News

Previous We= ek Up Next We= ek

Hello

Here is the latest OCaml Weekly News, for the week of January 24 to 31, = 2023.

Stramon 0.2.2 - Process behavior monitoring utility based on s= trace

Darren announced

I=92m happy to announce Stramon (right now mainly distributed as statically built binary here).

Stramon is primarily created to make usage of strace and the analysis of= strace output easier.

Stramon invokes strace underneath, analyzes the piped output and summari= zes the findings into a JSON file when the command finishes.

An example JSON created by running Firefox via Stramon can be seen here. (Network access section is trimmed.)

Diskuv OCaml 1.2.0 (Windows, MSVC)

jbeckford announced

There is a new release of the Diskuv OCaml installer available for Windo= ws users at https://github.com/diskuv/dkml-installer-ocaml/releases/tag/v1.2.0.= It contains critical changes that were blocking some Windows users from co= mpleting the install, and some performance improvements thanks in large part to @edwin. The release notes have been r= eproduced immediately below. It will be available using winget install Diskuv.OCaml in a week or so.

Upgrading? First uninstall the old Diskuv OCaml version using =93= Add or remove programs=94 in the Control Panel.

Callout to VirtualBox users: You=92ll need a workaround for a not-yet backported FMA fix by doing the following in a PowerShell ter= minal inside VirtualBox before running the installer:

mkdir "$env:ProgramData\DiskuvOCaml\conf\"
Set-Content -Path "$env:ProgramData\DiskuvOCaml\conf\ocamlcompiler.sex=
p" -Value "((feature_flag_imprecise_c99_float_ops))"

Critical changes:

  • Switch from the official MSYS2 msys2-base install, plus a = set of MSYS2 Internet updates, to a standalone msys2-dkml-base that has all the MSYS2 packages needed during installat= ion. That removes the Internet, GPG keys, proxies, etc. as a source of fail= ures during the MSYS2 sub-installation.
  • Special handling for Scoop package manager on Windows which coming= les a conflicting bash.exe and git.exe in the same directory. A prior scoop install git should no longer present a problem during in= stallation.
  • Fixed: No longer need to do opam pin remove ... to in= stall merlin and ocaml-lsp.

Performance improvements:

  • Plumb the number of cpus to the compiler jobs. [@edwin]
  • Skip o= ver cross-compiling support when no target ABIs specified.
  • Overall= shaved ~15 minutes from installation on a 3-CPU machine (80m instead of 95= m), with additional savings if you have more CPUs. Timings in https://gi= thub.com/diskuv/dkml-runtime-common/pull/1

Open source help wanted:

  • Byte-code only installation. That will be fast and simple and light, an= d is likely the best option for students. The existing installer already sh= ips with a functioning ocamlrun and standard library, and is =93component=94-based so= pieces can be added or removed. No Visual Studio, no MSYS2, no spending ti= me compiling code during installation. However a shim would need to be deve= loped so that ocaml, ocamlc, utop, etc. work witho= ut setting required OCaml environment variables. Almost all of this new byt= e-code only installation can be developed on macOS or Linux. If you would l= ike to contribute post your github username on https://github.com/diskuv/dkml-installer-ocaml/issues/35

Component upgrades:

  • Bump utop from 2.9.0 to 2.10.0.
  • ocur= rent ocaml/opam CI Docker image (a source of pins) updated from 2022-02-28 = to 2022-11-22; numerous pins updated.

Bug fixes:

  • dkml-runtime-common-native works with spaces in the Window= s home directory
  • Removed incorrect ptime.0.8.6 pin during dkml i= nit; now ptime.1.1.0

Doc fixes:

  • Create dune-project in Beyond Basics documentation alongsi= de existing dune init exe to adhere to Dune 3.x behavior. (Dune 3.6 was ad= ded in DKML 1.1.0)

Deprecations:

  • The dkml --build-type build type option will be removed ne= xt release. It was originally created for Linux builds (perf and AFL varian= ts), and can be resurrected and simplified if and when Linux support is add= ed.

Internal changes:

  • Added Jane Street=92s base package to global utop. In particular, base is now part of the dkml switch created durin= g installation. core is too expensive (52 packages) to install automaticall= y, but you can install utop and core in your own switch. For now this i= s not that useful. The lib/stublibs directory of the dkml switch needs t= o be in the PATH for #require "base";; to work in global utop. That would help readers of the Real World OCaml book. A future release w= ill automate the PATH change.
  • Removed digestif.1.1.2+msvc pin since MSVC change= s upstreamed to 1.1.3.
  • The bytecode *.bc embedded in the installer is compil= ed with 4.14.0 and its embedded runtime is also 4.14.0.
  • When using opam option setenv+=3D stop removing t= he environment file to force a rebuild of the environment.
  • Pin omd.1.3.1
  • Print timestamp for many loggi= ng operations to aid performance comparisons

Patches:

Simple installation of packages without network

Anthony Scemama announced

I have access to machines that don=92t allow me to download anything fro= m the web, so I had difficulties installing software with Opam. With the he= lp of Raja from OCamlPro, I came to a practical solution that solved my pro= blem, and I turned it into a script: https://github.com/scemama/= OpamPack It is a simple script that makes a tar.gz on your local machin= e with all the dependencies you need, and then you can copy the tar.gz o the remote isolated machine and install everything us= ing Opam without needing the network.

Old CWN

If you happen to miss a CWN, you can send me a message and I=92ll 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.