[cwn] Attn: Development Editor, Latest OCaml Weekly News

Alan Schmitt alan.schmitt at polytechnique.org
Tue Apr 6 02:42:02 PDT 2021


Hello

Here is the latest OCaml Weekly News, for the week of March 30 to April
06, 2021.

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

Ecosystem Engineer and Technical Writer positions
Release of cohttp 4.0.0
Timere-parse 0.0.2, natural language parsing of date, time and duration
agrid 0.1
State of OCaml and web assembly
containers 3.3
New OCaml books?
Old CWN


Ecosystem Engineer and Technical Writer positions
═════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/job-ecosystem-engineer-and-technical-writer-positions/7571/1>


Celine announced
────────────────

  [Tarides] is hiring an [Ecosystem Engineer] and a [Technical Writer].

  Tarides is a tech startup based in Paris and founded in 2018. We
  develop a software infrastructure platform to deploy secure,
  distributed applications with strict resource contraints and
  low-latency performance requirements.

  We welcome applications from people of all backgrounds. We are working
  hard to create a representative, inclusive and friendly team, because
  we know that different experiences, perspectives and backgrounds make
  for a better place.

  Please, don't hesitate to contact me if you have any question, I'll be
  more than happy to reply! :)


[Tarides] <https://tarides.com/>

[Ecosystem Engineer] <https://tarides.com/jobs/ecosystem-engineer>

[Technical Writer] <https://tarides.com/jobs/technical-writer>


Release of cohttp 4.0.0
═══════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-release-of-cohttp-4-0-0/7537/2>


Continuing this thread, Calascibetta Romain said
────────────────────────────────────────────────

        The work on the new conduit is steadily progressing and
        will be integrated in a new major release of cohttp in the
        future, once we will be confident that the API is
        settled. If you want to try using it immediately, then it
        is available as the [mimic ] library in ocaml-git.

  I just take the opportunity to show up a tutorial about `mimic' which
  is now available into the distribution of it: see [here]. Thanks for
  your work about the release process.


[mimic ] <https://github.com/mirage/ocaml-git/tree/master/src/mimic>

[here] <https://mirage.github.io/ocaml-git/mimic/index.html>


Timere-parse 0.0.2, natural language parsing of date, time and duration
═══════════════════════════════════════════════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/ann-timere-parse-0-0-2-natural-language-parsing-of-date-time-and-duration/7532/2>


Continuing this thread, Darren said
───────────────────────────────────

  The demo site has been updated to use Timere-parse, you can now try
  interacting with `Timere_parse.timere' in web browser at
  <https://daypack-dev.github.io/timere-parse-demo/>


agrid 0.1
═════════

  Archive: <https://discuss.ocaml.org/t/ann-agrid-0-1/7587/1>


zapashcanon announced
─────────────────────

  I'm pleased to announce the first release of [agrid].

  Agrid stands for *Adjustable Grid*. Adjustable grids are basically two
  dimensional arrays whose width/height can be changed by adding or
  removing row/column at either end (one at a time).

  Here's a very short example :

  ┌────
  │ let () =
  │   let grid = Agrid.of_list [[1; 2]; [3; 4]] in
  │   let grid = Agrid.snoc_row grid (Flex_array.of_list [5; 6]) in
  │   Agrid.pp Format.pp_print_int Format.std_formatter grid
  │   (* prints:
  │    * 1; 2
  │    * 3; 4
  │    * 5; 6
  │    *)
  └────

  It's based on the great [flex-array] library by [Jean-Christophe
  Filliâtre] and is mainly a wrapper around it to make it easier for the
  special case of two dimensional arrays.

  It's been developped at [OCamlPro] while working on [mosaic] when we
  wanted to ease the dataset input process, switching from a basic
  textarea based input to something which looks like a spreadsheet (this
  work is not yet published on the online version).


[agrid] <https://ocamlpro.github.io/agrid>

[flex-array] <https://github.com/backtracking/flex-array>

[Jean-Christophe Filliâtre] <https://www.lri.fr/~filliatr/>

[OCamlPro] <https://www.ocamlpro.com/>

[mosaic] <https://mosaic.univ-lyon1.fr/>


gasche asked and zapashcanon replied
────────────────────────────────────

        Out of curiosity: In a spreadsheet, I would assume that
        inserting/removing rows or columns in the middle is also a
        useful operation. Would you be able to add this operation?

  It's not really a spreadsheet, it's more something [like this]. I
  don't think it would be really useful in the case of mosaic because
  for big inputs, users are more likely to import the data from a file.

  Anyway, it's possible to add this operation, but I can't think of an
  efficient way to do it. I'll think about it and may add such an
  operation. Actually, if it's added to flex-array, it would be trivial
  to add it to agrid, so I'll probably try to add it there.


[like this] <https://www.zapashcanon.fr/~leo/atable/>


State of OCaml and web assembly
═══════════════════════════════

  Archive:
  <https://discuss.ocaml.org/t/state-of-ocaml-and-web-assembly/2725/15>


Deep in this thread, Emilio Jesús Gallego Arias announced
─────────────────────────────────────────────────────────

  Yup, we didn't make it yet the "official" release, but it has been
  used by quite a few people to avoid lack of tail-call optimization in
  jsoo, live versions:
  • <https://jscoq.github.io/wa/>
  • <https://jscoq.github.io/wa/scratchpad.html>

  It literally flies.

  I guess @corwin-of-amber is the right person to comment more on his
  superb efforts.


Shachar Itzhaky then added
──────────────────────────

  Hi there @camarick; ocaml-wasm is very much bleeding-edge but it
  already works surprisingly well and I have used it to run Coq,
  esp. for the purpose of making the interactive version of Vols. I,II
  from the Software Foundations textbook (see
  <https://jscoq.github.io/ext/sf> and
  <https://jscoq.github.io/ext/sf/tools/jscoq-tester.html>).

  Of course @ejgallego is exaggerating when he says that it flies, it
  still runs OCaml bytecode in interpreted mode on top of the WASM
  JIT. Performance is pretty reasonable still, except in the case some
  intensive Coq tactics (in which case this is a third level of
  interpreter… :man_facepalming: ). The main gap right now is the
  standard libraries `str', `unix', and `threads', for which I have
  compiled empty stubs, because dynamic loading of libraries in WASI is
  still immature. I *have* been able to compile `num' and it works
  correctly because it does not depend on anything else. I am currently
  investigating how to build `zarith' (which requires `gmp') because Coq
  8.13 depends on it.

  So yeah, this is not at all the coveted WASM backend for `ocamlc', but
  it's one existing solution and you can hack on it right now. Any help
  or comments are welcome!


containers 3.3
══════════════

  Archive: <https://discuss.ocaml.org/t/ann-containers-3-3/7594/1>


Simon Cruanes announced
───────────────────────

  I'm glad to announce the release of containers 3.3. Containers is an
  extension to OCaml's standard library that strives to be compatible
  with it, with more features and a few additional modules to get
  dynamic arrays, heaps, S-expression parser/printer, etc.

  In this release, we have new support for parsing/printing canonical
  S-expressions (a simple binary-safe format), a code-generation module
  for bitfields, and many improvements to existing modules in particular
  in the interface between maps/set/hashtbl and iterators.

  More details [in the github release].

  Many thanks to the contributors, in particular @Fardale for his work
  on CI and auto-doc-generation.


[in the github release]
<https://github.com/c-cube/ocaml-containers/releases/tag/v3.3>


New OCaml books?
════════════════

  Archive: <https://discuss.ocaml.org/t/new-ocaml-books/5789/6>


Deep in this thread, Damien Guichard announced
──────────────────────────────────────────────

  I’m also working on a free culture book. The preview is at
  <https://damien-guichard.developpez.com/downloads/Algorithmic-with-OCaml.pdf>

  It’s under CC-BY-SA.

  Planned chapters include : Records, Type polymorphism, Modules as
  functions, Conceptual graphs.

  The reason why i don't contribute to @dmbaturin's effort is that my
  main topic is algorithmic, ocaml is more a good way than a goal.


Damien Guichard later added
───────────────────────────

  Sorry, you have to be a member of <https://www.developpez.com/> to
  access this link.

  Here is my 2nd try. I hope you don't need to be a member of
  <https://www.aeriesguard.com/> this time.
  <https://www.aeriesguard.com/media/get/504bfbe34d3f517c8acf37ffbe200f84698aca0c/Algorithmic-with-_OCaml.pdf>


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 at 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/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20210406/27e76406/attachment-0001.html>


More information about the caml-news-weekly mailing list