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

Alan Schmitt alan.schmitt at polytechnique.org
Tue Sep 4 01:10:16 PDT 2018


Hello

Here is the latest OCaml Weekly News, for the week of August 28 to
September 04, 2018.

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

mwt initial release - Medium weight (preemptive) threads for Lwt
Interesting OCaml Articles
Good tool to find dead code?
FoCaLiZe 0.9.2 released
Introducing Sketch.sh: An interactive sketchbook for OCaml and ReasonML
HTTP/2 framing
Ocaml Github Pull Requests
Other OCaml News
Old CWN


――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


mwt initial release - Medium weight (preemptive) threads for Lwt
════════════════════════════════════════════════════════════════

  Archive:
  [https://discuss.ocaml.org/t/ann-mwt-initial-release-medium-weight-preemptive-threads-for-lwt/2489/1]


Hezekiah Carty announced
────────────────────────

  I'm happy to announce mwt 0.1.0, a library providing preemptive thread
  pools for use from Lwt.

  [mwt] supports interaction between Lwt and OCaml's native `Thread.t'
  threads. It is similar to `Lwt_preemptive', but with user-managed
  pools of threads. A program may create an arbitrary number of
  pools. Each thread in a pool has a (potentially unit/meaningless)
  state which persists for the life of the thread. This state can be
  useful, for example, when working with bindings to a C library which
  requires initialization, use and disposal of some value withing a
  single system thread.

  API documentation is available [here].




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


[mwt] https://github.com/hcarty/mwt

[here] https://hcarty.github.io/mwt/mwt/Mwt/index.html


Interesting OCaml Articles
══════════════════════════

  Archive:
  [https://discuss.ocaml.org/t/interesting-ocaml-articles/1867/29]


Yotam Barnoy announced
──────────────────────

  Two great OPAM articles by @Khady:

  [https://khady.info/opam-sandbox.html]
  [https://khady.info/opam-npm.html]




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Good tool to find dead code?
════════════════════════════

  Archive:
  [https://discuss.ocaml.org/t/good-tool-to-find-dead-code/2497/1]


Perry E. Metzger asked
──────────────────────

  I'm cleaning up an older piece of OCaml code as I work on it. The
  author included a huge personal library (basically their own giant
  stdlib++) and it isn't obvious what parts of it are and aren't
  relevant to the code I'm actually using.

  Are there any good tools for figuring out what code is and isn't live
  in a program?


Christian Lindig replied
────────────────────────

  I haven’t used it but this looks promising: [Dead Code Analyzer].


[Dead Code Analyzer] https://github.com/LexiFi/dead_code_analyzer


Guillaume Bury also replied
───────────────────────────

  There was a presentation at ICFP17 about a refactoring tool for ocaml
  :
  [https://icfp17.sigplan.org/event/ocaml-2017-papers-rotor-first-steps-towards-a-refactoring-tool-for-ocaml]




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


FoCaLiZe 0.9.2 released
═══════════════════════

  Archive:
  [https://sympa.inria.fr/sympa/arc/caml-list/2018-09/msg00000.html]


François Pessaux announced
──────────────────────────

  It is my pleasure to announce the new release for FoCaLiZe (the 0.9.2
  version).

  As for previous releases, some bugs have been fixed in the focalizec
  compiler.  This version introduces the Dedukti backend written by
  Raphaël Cauderlier, taking benefits from Zenon_modulo to ease proofs.
  The Coq backend now generates Coq code compatible with Coq 8.8. A
  complete description of changes / new features can in found in the
  CHANGES file of the distribution.  A complete description of changes /
  new features can in found in the CHANGES file of the distribution.

  The 0.9.2 release is available from [http://focalize.inria.fr] at
  [http://focalize.inria.fr/download/focalize-0.9.2.tgz] Uncompress,
  extract, then read the INSTALL file in the newly created directory
  focalize.0.9.2 and follow the simple instructions written there.


  A public GIT repository is also available on GitHub
  ([https://github.com/pessaux-f/focalize]), allowing to fetch the
  latest development state of FoCaLiZe. However, its content is not
  bullet-proof and may be unstable at some times. It reflects the
  real-time state of FoCaLiZe and may bring fixes and features not
  available in previous releases and that will be part of the next
  release.  To join people and discussions write to
  focalize-users at inria.fr.  Implementors also listen to suggestions (and
  compliments if some ^_^) at the mail address: focalize-devel at inria.fr.

  Enjoy.

  For the entire FoCaLiZe implementation group,

  François Pessaux.

  September 2018

  What is it FoCaLiZe ?
  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

  FoCaLiZe is an integrated development environment to write high
  integrity programs and systems. It provides a purely functional
  language to formally express specifications, describe the design and
  code the algorithms.  Within the functional language, FoCaLiZe
  provides a logical framework to express the properties of the code. A
  simple declarative language provides the natural expression of proofs
  of properties them from within the program source code.

  The FoCaLiZe compiler extracts statements and proof scripts from the
  source file, to pass them to the Zenon proof generator to produce Coq
  proof terms that are then formally verified.

  The FoCaLiZe compiler also generates the code corresponding to the
  program as an Objective Caml source file. This way, programs developed
  in FoCaLiZe can be efficiently compiled to native code on a large
  variety of architectures.

  Last but not least, FoCaLiZe automatically generates the documentation
  corresponding to the development, a requirement for high evaluation
  assurance.

  The FoCaLiZe system provides means for the developers to formally
  express their specifications and to go step by step (in an incremental
  approach) to design and implementation, while proving that their
  implementation meets its specification or design requirements. The
  FoCaLiZe language offers high level mechanisms such as inheritance,
  late binding, redefinition, parametrization, etc. Confidence in proofs
  submitted by developers or automatically generated ultimately relies
  on Coq formal proof verification.

  FoCaLiZe is a son of the previous Focal system. However, it is a
  completely new implementation with vastly revised syntax and
  semantics, featuring a rock-solid infrastructure and greatly improved
  capabilities.




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Introducing Sketch.sh: An interactive sketchbook for OCaml and ReasonML
═══════════════════════════════════════════════════════════════════════

  Archive:
  [https://discuss.ocaml.org/t/introducing-sketch-sh-an-interactive-sketchbook-for-ocaml-and-reasonml/2465/7]


Khoa Nguyen announced
─────────────────────

  Quick update: converting between ReasonML and OCaml has been deployed
  to main website. Now when changing language, the code will be
  converted automatically.




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


HTTP/2 framing
══════════════

  Archive: [https://discuss.ocaml.org/t/ann-http-2-framing/2515/1]


Anurag Soni announced
─────────────────────

  I have completed the implementation of parsers and serializers for
  HTTP/2 frame types. It uses Angstrom/Faraday for the
  implementation. My first goal was to just focus on a working
  implementation, so there will be room for improvement for the API when
  it comes to simplicity, good OCaml style and/or performance, so
  feedback is welcome about that.

  [https://github.com/anuragsoni/h2]




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


Ocaml Github Pull Requests
══════════════════════════

Gabriel Scherer and the editor compiled this list
─────────────────────────────────────────────────

  Here is a sneak peek at some potential future features of the Ocaml
  compiler, discussed by their implementers in these Github Pull
  Requests.

  • [Improve stdlib support for `bool']
  • [Improve stdlib support for `int']
  • [Private items in structures and signatures]




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


[Improve stdlib support for `bool']
https://github.com/ocaml/ocaml/pull/2010

[Improve stdlib support for `int']
https://github.com/ocaml/ocaml/pull/2011

[Private items in structures and signatures]
https://github.com/ocaml/ocaml/pull/2016


Other OCaml News
════════════════

From the ocamlcore planet blog
──────────────────────────────

  Here are links from many OCaml blogs aggregated at [OCaml Planet].

  • [Full Time: Compiler Engineer at Jane Street in New York & London]
  • [Full Time: Software Developer (Functional Programming) at Jane
    Street in New York, NY; London, UK; Hong Kong]




  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――


[OCaml Planet] http://ocaml.org/community/planet/

[Full Time: Compiler Engineer at Jane Street in New York & London]
http://jobs.github.com/positions/9e8ba450-e72e-11e7-926f-6ce07b7015c8

[Full Time: Software Developer (Functional Programming) at Jane Street
in New York, NY; London, UK; Hong Kong]
http://jobs.github.com/positions/0a9333c4-71da-11e0-9ac7-692793c00b45


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20180904/46bf5162/attachment-0001.html>
-------------- next part --------------
-- 
OpenPGP Key ID : 040D0A3B4ED2E5C7
Monthly Athmospheric CO₂, Mauna Loa Obs. 2018-07: 408.71, 2017-07: 407.07
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 528 bytes
Desc: not available
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20180904/46bf5162/attachment-0001.pgp>


More information about the caml-news-weekly mailing list