[Caml-list] Attn: Development Editor, Latest OCaml Weekly News

Alan Schmitt
2022-04-19T05:35:08Z

[-- Attachment #1.1: Type: text/plain, Size: 9483 bytes --]

Hello

Here is the latest OCaml Weekly News, for the week of April 12 to 19,
2022.

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

Lwt informal user survey
pyml_bindgen: a CLI app to generate Python bindings directly from OCaml value specifications
Creating a library for use from JS with js_of_ocaml
ocaml-lsp-server 1.11.0
OCaml summer school in Spain, call for industry speakers
Dune 3.1.0
Old CWN

Lwt informal user survey
════════════════════════

Archive: <https://discuss.ocaml.org/t/lwt-informal-user-survey/9666/1>

Raphaël Proust announced
────────────────────────

In order to make some decisions relating to the maintenance of Lwt,
I'd like to know a little bit more about how the library is used in
the wild. Do not hesitate to respond to the poll and/or as a message
in this thread, or even to contact me via other means in case discuss
is not your jam.

/Editor’s note: please follow the link above to reply to the survey./

pyml_bindgen: a CLI app to generate Python bindings directly from OCaml value specifications
════════════════════════════════════════════════════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-pyml-bindgen-a-cli-app-to-generate-python-bindings-directly-from-ocaml-value-specifications/8786/7>

Continuing this thread, Ryan Moore announced
────────────────────────────────────────────

I wrote a [blog post] providing an introduction to `pyml_bindgen'. It
gives an intro in a slightly different style as compared to the [docs]
and the [examples], and includes some of the latest features I've been
working on.

[blog post]
<https://www.tenderisthebyte.com/blog/2022/04/12/ocaml-python-bindgen/>

[docs] <https://mooreryan.github.io/ocaml_python_bindgen/>

[examples]
<https://github.com/mooreryan/ocaml_python_bindgen/tree/main/examples>

Creating a library for use from JS with js_of_ocaml
═══════════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/creating-a-library-for-use-from-js-with-js-of-ocaml/9523/5>

Deep in this thread, threepwood said
────────────────────────────────────

Cautionary note for anyone reading this in the future: dynamic imports
are asynchronous, and initializing the jsoo runtime takes some
milliseconds, so that if you just do:
┌────
│ import("ocaml/export.bc.js");
│ var x = mylib.myfunction();
└────
the second line will fail as `mylib' is not defined yet (at least this
is what I think is happening). You need to guarantee the module is
done initializing in some way or other.

Kim Nguyễn then said
────────────────────

`import' should return a promise of the loaded module. So you can just
`await' for it (if your current context allows you to write `await')
or just :
┌────
│ import("ocaml/export.bc.js").then ((_) => {
│
│ mylib.myfunction();
│
│ });
└────

ocaml-lsp-server 1.11.0
═══════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-ocaml-lsp-server-1-11-0/9677/1>

Rudi Grinberg announced
───────────────────────

On behalf of the ocamllsp team, I'm excited to announce the
availability of version 1.11.0. This release is an important milestone
for the project because it introduces integration with our favorite
build system. When you run dune in watch mode, you will now be able to
see build errors in the diagnostics panel of your editor. It's all
rather experimental for now, so your feedback and bug reports are
appreciated.

As usual, the full change log is below.

Happy hacking.

*1.11.0*

Features
╌╌╌╌╌╌╌╌

• Add support for dune in watch mode. The lsp server will now display
build errors in the diagnostics and offer promotion code actions.

• Re-introduce ocamlformat-rpc (#599, fixes #495)

Fixes
╌╌╌╌╌

• Fix workspace symbols that could have a wrong path in some cases
([#675])

[#675] <https://github.com/ocaml/ocaml-lsp/pull/671>

OCaml summer school in Spain, call for industry speakers
════════════════════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ocaml-summer-school-in-spain-call-for-industry-speakers/9685/1>

Roberto Blanco announced
────────────────────────

Dear all, Ricardo Rodríguez and I are organizing an introductory OCaml
course as part of the annual summer school of the University of
Zaragoza in Spain. (This is the oldest summer university in the
country, nearing its centennial anniversary!). The country's computing
programs are quite excellent, although we have found them to generally
not pay serious attention to modern functional programming. Our goal
is to use OCaml to begin to address this dearth.

In addition to the regular academic program we are planning a
satellite event open to the general public. This is meant to introduce
the OCaml ecosystem to a wider audience of students and academics, as
well as professionals. As part of this, we would like to hold a round
table discussion of industrial OCaml users to demonstrate the width
and depth of practical uses of the language. There will be time for
participants to present their work in more detail, if they wish to do
so.

If you may be interested in participating or have any questions, feel
free to write to me here or send email to either of us. The course is
currently in its planning stages; it is scheduled to take place in
early to mid July, in all likelihood in the city of Zaragoza and in
hybrid format. The OCaml Software Foundation is backing the initiative
and we thank them for their generous support.

Updated information about the course will be available on its website:
<https://webdiis.unizar.es/evpf/>

Dune 3.1.0
══════════

Archive: <https://discuss.ocaml.org/t/ann-dune-3-1-0/9690/1>

Rudi Grinberg announced
───────────────────────

On behalf of the dune team, I'm pleased to announce version
3.1.0. This release contains some small, but interesting features, and
some important quality of life bug fixes. I encourage everyone to
upgrade as soon as possible.

Happy Hacking.

*3.1.0 (15/04/2022)*

• Add `sourcehut' as an option for defining project sources in
dune-project files. For example, `(source (sourcehut
user/repo))'. (#5564, @rgrinberg)

• Add `dune coq top' command for running a Coq toplevel (#5457,
@rlepigre)

• Fix dune exec dumping database in wrong directory (#5544, @bobot)

• Always output absolute paths for locations in RPC reported
diagnostics (#5539, @rgrinberg)

• Add `(deps <deps>)' in ctype field (#5346, @bobot)

• Add `(include <file>)' constructor to dependency
specifications. This can be used to introduce dynamic dependencies
(#5442, @anmonteiro)

• Ensure that `dune describe' computes a transitively closed set of
libraries (#5395, @esope)

• Add direct dependencies to $ dune describe output (#5412, @esope)

• Show auto-detected concurrency on Windows too (#5502, @MisterDA)

• Fix operations that remove folders with absolute path. This happens
when using esy (#5507, @EduardoRFS)

• Dune will not fail if some directories are non-empty when
uninstalling. (#5543, fixes #5542, @nojb)

• `coqdep' now depends only on the filesystem layout of the .v files,
and not on their contents (#5547, helps with #5100, @ejgallego)

• The mdx stanza 0.2 can now be used with `(implicit_transitive_deps
false)' (#5558, fixes #5499, @emillon)

• Fix missing parenthesis in printing of corresponding terminal
command for `(with-outputs-to )' (#5551, fixes #5546, @Alizter)

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] <https://alan.petitepomme.net/cwn/>

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

[online] <http://lists.idyll.org/listinfo/caml-news-weekly/>

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

[-- Attachment #1.2: Type: text/html, Size: 20212 bytes --]

[-- Attachment #2: Type: text/plain, Size: 119 bytes --]

Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'INRIA.