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

Alan Schmitt
2021-03-23T09:05:36Z

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

Hello

Here is the latest OCaml Weekly News, for the week of March 16 to 23,
2021.

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

findlib-1.9.1
Conformist 0.2.1
Compiler Explorer now supports OCaml 4.12.0
Annoucement of OFLAT, a web-based platform to support courses on Formal Languages and Automata Theory
Old CWN

findlib-1.9.1
═════════════

Archive:
<https://sympa.inria.fr/sympa/arc/caml-list/2021-03/msg00014.html>

Gerd Stolpmann announced
────────────────────────

a couple of installation problems slipped into findlib-1.9, mostly
missing files in the release tarball, but also a FreeBSD
incompatibility. For that reason, there is now findlib-1.9.1 fixing
the problems (so far known, and I hope we caught them all).

Same link as before:

<http://projects.camlcity.org/projects/findlib.html>

Conformist 0.2.1
════════════════

Archive: <https://discuss.ocaml.org/t/ann-conformist-0-2-1/7482/1>

jerben announced
────────────────

I am happy to announce the release of conformist 0.2.1.

[Conformist] deals with schema definition and validation. It supports
decoding to bridge the gap between runtime types and static types
without ppx.

┌────
│ type occupation =
│ | Mathematician
│ | Engineer
│
│ type user =
│ { occupation : occupation
│ ; email : string
│ ; birthday : int * int * int
│ ; nr_of_siblings : int
│ ; comment : string option
│ ; wants_premium : bool
│ }
│
│ let user occupation email birthday nr_of_siblings comment wants_premium =
│ { occupation; email; birthday; nr_of_siblings; comment; wants_premium }
│ ;;
│
│ let occupation_decoder = function
│ | "mathematician" -> Ok Mathematician
│ | "engineer" -> Ok Engineer
│ | _ -> Error "Unknown occupation provided"
│ ;;
│
│ let occupation_encoder = function
│ | Mathematician -> "mathematician"
│ | Engineer -> "engineer"
│ ;;
│
│ let user_schema =
│ Conformist.(
│ make
│ Field.
│ [ custom
│ occupation_decoder
│ occupation_encoder
│ "occupation"
│ ~meta:()
│ ; string "email"
│ ; date "birthday"
│ ; int ~default:0 "nr_of_siblings"
│ ; optional (string "comment")
│ ; bool "wants_premium"
│ ]
│ user)
│ ;;
│
│ let input =
│ [ "occupation", [ "engineer" ]
│ ; "email", [ "test@example.com" ]
│ ; "birthday", [ "2020-12-01" ]
│ ; "nr_of_siblings", [ "3" ]
│ ; "comment", [ "hello" ]
│ ; "wants_premium", [ "true" ]
│ ]
│
│ let user =
│ Conformist.decode Schema.user_schema input
│
│ let validation_errors =
│ Conformist.validate Schema.user_schema input
└────

The `user_schema' and the `user' create function are guaranteed to be
in sync at compile time.

[Conformist] <https://github.com/oxidizing/conformist>

Compiler Explorer now supports OCaml 4.12.0
═══════════════════════════════════════════

Archive:
<https://discuss.ocaml.org/t/ann-compiler-explorer-now-supports-ocaml-4-12-0/7479/3>

Continuing this thread, Sora Morimoto announced
───────────────────────────────────────────────

Today we deployed 4.12.0 flambda. It must already be available!

Annoucement of OFLAT, a web-based platform to support courses on Formal Languages and Automata Theory
═════════════════════════════════════════════════════════════════════════════════════════════════════

Archive:
<https://sympa.inria.fr/sympa/arc/caml-list/2021-03/msg00026.html>

Antonio Ravara announced
────────────────────────

<http://ctp.di.fct.unl.pt/FACTOR/OFLAT/>

To support students’ autonomous work on topics related with Formal
Languages and Automata Theory (FLAT), interactive tools that allow
them to experiment with examples and solve exercises are very
important - several studies demonstrate this.

There are applications with this aim. While some are impressively
complete, but are mainly Desktop applications (like JFLAP), others
that can be used via a web browser are under-developed. Moreover,
these applications are often not fully interactive - illustrations or
even step-by-step execution is key to understand the algorithms - and,
due to the programming languages used, implement the concepts in a way
quite distant from the textbook Mathematical definitions. Code that
implements closely the definitions is also a relevant pedagogical
tool.

With three concerns in mind - availability in mobile devices,
interactive run of the algorithms (or at least presenting clear
explanations), and code following closely the definitions - we
developed OFLAT, a web-based tool to represent and illustrate
graphically classical mechanisms and algorithms of Formal Languages
and Automata Theory. It includes not only exercises evaluated
automatically and providing feedback, but also allows students to
create their own exercises. An integration with a grading platform
like Learn-OCaml is underway.

The tool is implemented in OCaml and is organised in two parts: a
library - OCamlFLAT - which concentrates the logic of FLAT concepts,
and the interactive applicational part - OFLAT. To run on browsers,
the application uses the OCaml to Javascript translator
Js_of_OCaml. To implement the interactive graphics, it uses Cytoscape,
a Javascript library for graphs. All code is available in the Git of
the project: <https://gitlab.com/releaselab/leaf/OCamlFlat>,
<https://gitlab.com/releaselab/leaf/OFLAT>.

The development of new functionalities is ongoing (we're now working
more animations and on Context-Free Grammar and Pushdown Automata).
Comments most welcome.

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 #2: Type: text/html, Size: 21239 bytes --]