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

Alan Schmitt alan.schmitt at polytechnique.org
Tue Oct 11 05:55:35 PDT 2016


Hello,

Here is the latest OCaml Weekly News, for the week of October 04 to 11, 2016.

1) BAP 1.0.0
2) Encoding "links" with the type system
3) Blockchains in OCaml
4) Other OCaml News

========================================================================
1) BAP 1.0.0
Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2016-10/msg00012.html>
------------------------------------------------------------------------
** Continuing this thread, Anil Madhavapeddy announced:

This has now been merged into OPAM repository and so should be available without
the remote repository soon.

I just wanted to thank Ivan for going through a huge amount of testing effort
before submitting the PR, as can be seen here:
<https://github.com/ocaml/opam-repository/pull/7521>

If anyone finds any issues after the merge, please do feel free to raise an
issue on <https://github.com/ocaml/opam-repository/issues>
      
========================================================================
2) Encoding "links" with the type system
Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2016-10/msg00019.html>
------------------------------------------------------------------------
** Andre Nathan continued this thread:

This is an interesting way to derive the GADT, at least for me, as I
have never did any logic programming. The resulting API is a bit easier
to use than the one from Jeremy's idea, at least for my use case.

I'm using this idea to experiment with a type-safe SQL query builder,
which so far looks like this:

  from Team.table
    |> belonging_to Team.owner   Here
    |> having_one Project.leader Here
    |> select
        |> fields [field User.id; field User.name] (Next Here)
        |> fields [field Team.id; field Team.name] (Next (Next Here))
        |> fields [all Project.table]              Here

This generates the following query:

  SELECT
    users.id, users.name,
    teams.id, teams.name,
    projects.*
  FROM
    teams
  LEFT JOIN
    users ON users.id = teams.owner_id
  LEFT JOIN
    projects ON projects.leader_id = users.id

I'm not sure if this will ever be of use in practice, as the Next/Here
stuff might be too complicated for users, but overall I'm quite happy
with the result and what I've learned, though of course it's far from
complete (e.g. no support for WHERE clauses).
      
** Daniel Bünzli then said:

You may be interested in looking at this 

<http://okmij.org/ftp/meta-programming/#QUEL>
      
========================================================================
3) Blockchains in OCaml
Archive: <https://sympa.inria.fr/sympa/arc/caml-list/2016-10/msg00021.html>
------------------------------------------------------------------------
** Arthur Breitman announced:

Since blockchains tend to be a hot topic these days*, I am pleased to announce
that OCaml is also present in this domain with the Tezos project.

Tezos is a cryptographic ledger (in the same vein as Bitcoin or Ethereum)
written from scratch entirely in OCaml, in partnership with OCamlPro.

We are lucky to rely on some great OCaml libraries like Irmin and Lwt, and have
contributed some libraries of our own like ocplib-json-typed (for reliable
manipulation of JSON values) and ocplib-resto (for type safe HTTP/JSON RPCs).

Tezos is a self-amending ledger. While other protocols achieve consensus about
the state of their transactions, Tezos reaches a meta-consensus about its own
protocol. This allows us to gradually build governance rules into the ledger by
letting the participants choose under which condition the protocol may be
amended.

We start with a simple voting procedure to accept or reject a proposed patch to
a set of OCaml modules representing the protocol. Over time, complex rules can
evolve. For instance, we may introduce a form of constitutionalism by having the
protocol require and enforce that any proposed modification be formally verified
and guaranteed to preserve specific properties.

If you find this intriguing and enjoy working in OCaml, please reach out: we're
hiring! If you lean on the academic side and have experience with formal
verification, reach out as well! We'd be interested in proving the correctness
of some aspects of the protocol or sponsoring research in the field in general
(within our modest means).

Best,
Arthur

* perhaps hotter than it ought to be but, past the hype, there remains substance
      
========================================================================
4) Other OCaml News
------------------------------------------------------------------------
** From the ocamlcore planet blog:

Here are links from many OCaml blogs aggregated at OCaml Planet,
<http://ocaml.org/community/planet/>.

Five stages of accepting constructive mathematics
 <http://math.andrej.com/2016/10/10/five-stages-of-accepting-constructive-mathematics/>

Forge migration to a new host, delayed
 <http://forge.ocamlcore.org/forum/forum.php?forum_id=943>

Forge migration to a new host during the weekend 
 <http://forge.ocamlcore.org/forum/forum.php?forum_id=942>

Conversion operations of the lambda-calculus 
 <http://blog.shaynefletcher.org/2016/10/conversion-operations-of-lambda-calculus.html>
      
========================================================================
Old cwn
------------------------------------------------------------------------

If you happen to miss a CWN, you can send me a message
(alan.schmitt at polytechnique.org) and I'll mail it to you, or go take a look at
the archive (<http://alan.petitepomme.net/cwn/>) or the RSS feed of the
archives (<http://alan.petitepomme.net/cwn/cwn.rss>). If you also wish
to receive it every week by mail, you may subscribe online at
<http://lists.idyll.org/listinfo/caml-news-weekly/> .

========================================================================

-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Monthly Athmospheric CO₂, Mauna Loa Obs. 2016-09: 401.03, 2015-09: 397.63
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 454 bytes
Desc: not available
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20161011/1075943c/attachment.pgp>


More information about the caml-news-weekly mailing list