From: Alan Schmitt <alan.schmitt@polytechnique.org> To: "lwn" <lwn@lwn.net>, "cwn" <cwn@lists.idyll.org>, caml-list@inria.fr, comp@lists.orbitalfox.eu Subject: [Caml-list] Attn: Development Editor, Latest OCaml Weekly News Date: Tue, 21 Jul 2020 16:42:16 +0200 Message-ID: <871rl5aq0n.fsf@m4x.org> (raw) [-- Attachment #1: Type: text/plain, Size: 7349 bytes --] Hello Here is the latest OCaml Weekly News, for the week of July 14 to 21, 2020. Table of Contents ───────────────── Dune-release: version 1.4.0 released Using AF_XDP sockets for high-performance packet processing in OCaml Ubase 0.03 clangml 4.2.0: OCaml bindings for Clang API (for C and C++ parsing) Old CWN Dune-release: version 1.4.0 released ════════════════════════════════════ Archive: [https://discuss.ocaml.org/t/dune-release-version-1-4-0-released/6103/1] Sonja Heinze announced ────────────────────── This post is about [dune-release], a tool that helps users release their packages to Opam in a fast and organized manner. You can install it via `opam install dune-release'. On behalf of the dune-release team at Tarides, I'm happy to announce the new dune-release [1.4.0 release]. The release includes two new subcommands described below and a variety of bug fixes and user experience improvements. In particular, we've put some work into improving the error handling and reporting. One of the new subcommands is `dune-release config' , which inspects and edits dune-release's global configuration, such as git related, opam related and github related data. For example, if you insert a typo when being asked for your github id during your first release with dune-release, you can correct it comfortably with that new subcommand. The other new subcommand is `dune-release delegate-info', which helps users with an alternative release workflow to integrate dune-release into it: imagine you want to use dune-release only for a couple of things, such as tagging the distribution and creating the distribution tarball and the documentation. In that case, now you can integrate the work done by dune-release into your individual release workflow by accessing the path to the created tarball etc via `dune-release delegate-info'. It forms part of the broader change in progress described in the following post: [https://discuss.ocaml.org/t/replacing-dune-release-delegates/4767] [dune-release] https://github.com/ocamllabs/dune-release/#readme [1.4.0 release] https://github.com/ocamllabs/dune-release/releases/tag/1.4.0 Using AF_XDP sockets for high-performance packet processing in OCaml ════════════════════════════════════════════════════════════════════ Archive: [https://discuss.ocaml.org/t/using-af-xdp-sockets-for-high-performance-packet-processing-in-ocaml/6106/1] suttonshire announced ───────────────────── I just wanted to share a fun result from a project I've been hacking on. [ocaml-xsk] is a binding to AF_XDP interface of libbpf. AF_XDP is an address family in Linux for high-performance packet processing. With an AF_XDP socket a packet bypasses most of the kernel networking stack and is passed directly to userspace program. Depending on the configuration packets can be passed from the NIC without any data copies on either Rx or Tx. If you're interested in this kind of stuff here are a couple very useful resources: • [https://github.com/torvalds/linux/blob/master/Documentation/networking/af_xdp.rst] • [https://github.com/xdp-project/xdp-tutorial/tree/master/advanced03-AF_XDP] The cool part is that without installing large dependencies like DPDK you can get packets into your program basically as fast as your NIC can provide them! It turns out this is true even if your program is written in OCaml. Using ocaml-xsk I could receive or transmit 64 byte UDP packets at 14.8M packets per second. This is the limit for a 10Gb/s NIC. I'm still trying to figure out the best interface for AF_XDP. There are several resources to manage, and simple receive and transmit operations actually require a few steps. But it's encouraging know OCaml doesn't get in the way of packet throughput. [ocaml-xsk] https://github.com/suttonshire/ocaml-xsk Ubase 0.03 ══════════ Archive: [https://discuss.ocaml.org/t/ann-ubase-0-03/6115/1] sanette announced ───────────────── I'm happy to announce the release of [ubase], a tiny library whose only purpose is to remove diacritics (accents, etc.) from utf8-encoded strings using the latin alphabet. It was created after the discussion: [https://discuss.ocaml.org/t/simplify-roman-utf8/4398]. It's now available from `opam': `opam install ubase' This also installs an executable that you may use in a shell, for instance: ┌──── │ $ ubase "et grønt træ" │ et gront trae │ │ $ ubase Anh xin lỗi các em bé vì đã đề tặng cuốn sách này cho một ông người lớn. │ Anh xin loi cac em be vi da de tang cuon sach nay cho mot ong nguoi lon. └──── More info [here]. [ubase] https://github.com/sanette/ubase [here] https://sanette.github.io/ubase/ clangml 4.2.0: OCaml bindings for Clang API (for C and C++ parsing) ═══════════════════════════════════════════════════════════════════ Archive: [https://discuss.ocaml.org/t/ann-clangml-4-2-0-ocaml-bindings-for-clang-api-for-c-and-c-parsing/6123/1] Thierry Martinez announced ────────────────────────── We are happy to announce the new clangml 4.2.0 release. Clangml provides bindings for all versions of Clang, from 3.4 to the not yet released 10.0.1. The library can be installed via opam: `opam install clangml' The documentation is online: [https://memcad.gitlabpages.inria.fr/clangml/] This new release improves C++ support, including C++20 specific constructs. All Clang C/C++ attributes should now be supported. You may have a look to the interface of the new auto-generated module [`Attributes']. There is now a lazy version of the AST (`Clang.Lazy.Ast'): this is useful to explore large ASTs efficiently (note that Clang parsing itself can still be slow; the lazy part only concerns the conversion into the `Clang.Lazy.Ast' datatypes). [`Attributes'] https://memcad.gitlabpages.inria.fr/clangml/doc/clangml/Clang__/Attributes/ 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@polytechnique.org [the archive] http://alan.petitepomme.net/cwn/ [RSS feed of the archives] http://alan.petitepomme.net/cwn/cwn.rss [online] http://lists.idyll.org/listinfo/caml-news-weekly/ [Alan Schmitt] http://alan.petitepomme.net/ [-- Attachment #2: Type: text/html, Size: 18807 bytes --]
next prev reply index Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-03 7:35 Alan Schmitt 2019-10-15 7:28 Alan Schmitt 2019-11-05 6:55 Alan Schmitt 2019-11-12 13:21 Alan Schmitt 2019-11-26 8:33 Alan Schmitt 2019-12-03 15:43 Alan Schmitt 2019-12-10 8:21 Alan Schmitt 2019-12-17 8:52 Alan Schmitt 2019-12-31 9:18 Alan Schmitt 2020-01-07 13:43 Alan Schmitt 2020-01-14 14:17 Alan Schmitt 2020-01-21 14:09 Alan Schmitt 2020-01-28 10:54 Alan Schmitt 2020-02-04 8:47 Alan Schmitt 2020-02-18 8:18 Alan Schmitt 2020-02-25 8:51 Alan Schmitt 2020-03-03 8:00 Alan Schmitt 2020-03-10 14:29 Alan Schmitt 2020-03-17 11:04 Alan Schmitt 2020-03-24 9:31 Alan Schmitt 2020-03-31 9:55 Alan Schmitt 2020-04-07 7:51 Alan Schmitt 2020-04-14 7:28 Alan Schmitt 2020-04-21 8:58 Alan Schmitt 2020-04-28 12:45 Alan Schmitt 2020-05-05 7:45 Alan Schmitt 2020-05-12 7:46 Alan Schmitt 2020-05-19 9:53 Alan Schmitt 2020-06-09 8:29 Alan Schmitt 2020-06-16 8:36 Alan Schmitt 2020-06-30 7:00 Alan Schmitt 2020-07-07 10:05 Alan Schmitt 2020-07-14 9:55 Alan Schmitt 2020-07-21 14:43 Alan Schmitt [this message] 2020-07-28 16:58 Alan Schmitt 2020-08-18 7:26 Alan Schmitt 2020-09-01 7:55 Alan Schmitt 2020-09-08 13:11 Alan Schmitt 2020-09-22 7:27 Alan Schmitt 2020-09-29 7:02 Alan Schmitt 2020-10-06 7:22 Alan Schmitt 2020-10-20 8:16 Alan Schmitt 2020-10-27 8:44 Alan Schmitt 2020-11-03 15:16 Alan Schmitt 2020-12-01 8:55 Alan Schmitt 2020-12-15 9:51 Alan Schmitt 2020-12-22 8:49 Alan Schmitt 2020-12-29 10:00 Alan Schmitt 2021-01-05 11:22 Alan Schmitt 2021-01-12 9:47 Alan Schmitt 2021-01-19 14:28 Alan Schmitt
Reply instructions: You may reply publically 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=871rl5aq0n.fsf@m4x.org \ --to=alan.schmitt@polytechnique.org \ --cc=caml-list@inria.fr \ --cc=comp@lists.orbitalfox.eu \ --cc=cwn@lists.idyll.org \ --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
caml-list - the Caml user's mailing list Archives are clonable: git clone --mirror https://inbox.ocaml.org/caml-list AGPL code for this site: git clone https://public-inbox.org/ public-inbox