[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