[cwn] Attn: Development Editor, Latest OCaml Weekly News
Alan Schmitt
alan.schmitt at polytechnique.org
Tue Jul 16 06:56:28 PDT 2019
Hello
Here is the latest OCaml Weekly News, for the week of July 09 to
16,
2019.
Table of Contents
─────────────────
Interesting OCaml Articles
opam 2.0.5 release
Fourth edition of the OCaml MOOC
Dune 2.0.0 coming soon!
OCaml Users and Developers Workshop 2019: Call for participation
Other OCaml News
Old CWN
Interesting OCaml Articles
══════════════════════════
Archive:
<https://discuss.ocaml.org/t/interesting-ocaml-articles/1867/45>
Deep in this thread, Ryan Slade said
────────────────────────────────────
AFAIK this is implemented in OCaml:
<https://medium.com/darklang/how-dark-deploys-code-in-50ms-771c6dd60671>
opam 2.0.5 release
══════════════════
Archive:
<https://discuss.ocaml.org/t/ann-opam-2-0-5-release/4081/1>
R. Boujbel announced
────────────────────
We are pleased to announce the minor release of [opam 2.0.5].
This new version contains mainly build updates & lint fixes. You
can
find more information in this [blog post].
[opam 2.0.5] <https://github.com/ocaml/opam/releases/tag/2.0.5>
[blog post] <https://opam.ocaml.org/blog/opam-2-0-5>
Replying to questions regarding Windows support, David Allsopp
said
───────────────────────────────────────────────────────────────────
There is already a very good fork of opam for Windows [here]. My
work
has been on changes to upstream opam to improve the native
experience. The `2.0' branch of opam builds on Windows, but the
resulting binaries are not terribly useful (you can't get past
`opam
init'). The `master' branch of opam now contains sufficient
support to
pass the testsuite (I haven't yet ported the regression testing
framework, although I don't see why that fundamentally shouldn't
be
passing too). At present I'm making a final push to complete the
shell
integration parts of `opam init' and `opam env', at which point
we can
upgrade the `ocaml-base-compiler' packages in opam-repository
with
Windows build instructions.
After that, there's a quartet of features which benefit opam in
general, but are specifically useful for Windows:
• a replacement of base packages with base constraints, which is
in
progress in [#3894]. This actually provides a much more
elegant
solution to system compiler upgrades; for Windows, it's
original was
that it permits upgrading and pinning FlexDLL, which is a C
dependency of the Windows ports of OCaml.
• the introduction of a new predicate to limit automatic
selection of
packages by the solver, which will mean, amongst other things,
that
`opam install ocaml' will never select a variant or trunk
compiler
(not started yet, although the semantics of it are more
complicated
than the implementation). For Windows, it will mean that the
switch
will not randomly try to change the C compiler the switch is
based
on (i.e. switch Windows port).
• build environments, which generalise the present "system"
build
environment. For Unix (well, and Windows 10), this would
include
having a Docker container associated with a switch and, for
Windows,
would also permit using separate Cygwin/MSYS and eventually
WSL
installations for package building. In general, it would also
permit
switches to have different depexts installed, since you'd no
longer
have to be tied to what's installed on your actual system
(that's
not started yet, either)
• package parameters. There have been various proposals on this
before
(including the one referenced above, which is actually
superseded by
the new predicate). I have a (new) prototype implementation
which
allows specifying things like flambda (and so, for Windows,
some of
the port selection information) as part of `opam install',
`opam
reinstall' or `opam switch create'. There's a bit of tightrope
to
walk with this one, as changes here need to remain compatible
with
an opam 2.0 mainline repository.
It's not clear exactly what's going to land in opam 2.1, which
is
trying to head towards beta soon and 2.2 which should be
relatively
hot on its tail later in the year. I would add that
reimplementing
tools in OCaml, while a highly worthy endeavour, merely
transforms the
nature of the shell problem!
[here]
<https://fdopen.github.io/opam-repository-mingw/installation/>
[#3894] <https://github.com/ocaml/opam/pull/3894>
Perry E. Metzger announced
──────────────────────────
MacPorts has been updated to the new version of opam as of a few
moments ago; it may take a couple of hours for mirrors to
synchronize.
Marek Kubica then said
──────────────────────
Same with homebrew, it was merged 20h ago and binaries should be
built
sometime.
Fourth edition of the OCaml MOOC
════════════════════════════════
Archive:
<https://sympa.inria.fr/sympa/arc/caml-list/2019-07/msg00022.html>
Yann Régis-Gianas announced
───────────────────────────
Dear OCaml hackers and enthusiasts,
the fourth edition of the OCaml MOOC will start in September.
Please,
take a minute to spread the word around you!
Three possible actions:
1. Convince everyone you know to register at
<https://tinyurl.com/ocamooc4>
2. Print, post and share our flyer <https://bit.ly/2YrSVLF>
3. Post the announcement message which is pasted at the end of
this
email.
By the way, we would like to thank the sponsors of the OCaml
Software
Foundation for their support. Without it, the OCaml MOOC would
not
exist.
Thank you all for your help!
Roberto Di Cosmo, Yann Régis-Gianas and Ralf Treinen.
Learn functional programming with the OCaml programming language
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Registrations are open!
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Functional programming is attracting interest from a broad range
of
developers because it allows to write expressive, concise and
elegant
programs.
The course "Introduction to Functional programming using the
OCaml
language" introduces gradually the central notions of functional
programming, via a set of video courses that are complemented by
a
rich set of interesting exercises that you can perform fully in
your
browser… Yes, this means you can start learning functional
programming
without any hassle: nothing to install, nothing to tune up! The
programming environment is just one click away!
During the course, you will discover powerful mechanisms that
allow to
build and manipulate complex data structures in a clean and
efficient
way. And you will see how functions play a central role, as
first-class values that can be freely used in any place where an
_expression_ can appear.
Registrations are already open at
<https://www.fun-mooc.fr/courses/course-v1:parisdiderot+56002+session04/about>
The course will start on September 22th 2019, and will run for
six
weeks.
Your expected effort is between 2 and 6 hours per week,
depending on
your background, including the time spent watching the short
video
sequences of the course, that total approximately an hour per
week.
This may seem a significant effort, but at the end of the course
you
will have actually learned a lot: the final programming project
will
confirm that you acquired a good mastery of functional
programming and
the ability to develop medium sized programs with ease.
Thousands of learners attended the first two runs of this course
in
2015, 2016 and 2018, and the many that completed it were
extremely
satisfied.
To introduce you to functional programming, we have chosen to
use the
OCaml programming language. OCaml is a rich, elegant, efficient
programming language that reconciles the conciseness and
flexibility
of untyped programming languages (like Python, for example) with
the
safety of strongly typed programming languages (like Java, for
example), and that has a vibrant user community.
Docker, Facebook, Microsoft, JaneStreet, Bloomberg are some big
names
in industry that adopted OCaml to develop cutting edge
applications.
The research community uses OCaml for writing tools like the
proof
assistant Coq, the Coccinelle program transformer, the Frama-C
code
analyser, or the Astree static analyser. Several start ups use
OCaml
to obtain tenfold gains in productivity and stability of their
code
base. Recently, Tezos, one of the most innovative blockchains,
has
developed its entire software stack using OCaml to get high
insurance
about the execution of smart contracts.
Once you have started mastering functional programming using
OCaml, we
are sure that other programming languages will never look the
same to
you again.
This course will be held in English, but subtitles are already
available in English, in Portuguese and in French.
Prerequisites
╌╌╌╌╌╌╌╌╌╌╌╌╌
To take full advantage of this course you should have already
some
basic knowledge of computer programming, in particular you
should
already know how to write simple computer programs in some
programming
language. For instance, you should know concepts like variables
(or
identifiers), functions (or procedures, methods), conditionals,
and
loops.
Dune 2.0.0 coming soon!
═══════════════════════
Archive:
<https://discuss.ocaml.org/t/dune-2-0-0-coming-soon/4102/1>
Jérémie Dimino announced
────────────────────────
As we are preparing the Dune 2.0.0 release, we wanted to share a
few
words about it. Most of it is straightforward. One notable
change is
that Dune 2 will require a recent version of OCaml to build
itself,
however it will still be able to build projects using older
compilers
and will still be installable in older opam switches. We will
also
provide one additional year of support for Dune 1.
<https://dune.build/blog/dune-2-coming-soon/>
OCaml Users and Developers Workshop 2019: Call for participation
════════════════════════════════════════════════════════════════
Archive:
<https://sympa.inria.fr/sympa/arc/caml-list/2019-07/msg00024.html>
David Allsopp announced
───────────────────────
It is my pleasure to invite participation in the OCaml Users and
Developers Workshop 2019, which is again co-located with ICFP
and will
be held on Friday 23rd August, 2019 in Berlin, Germany.
<http://ocaml.org/meetings/ocaml/2019/>
Early bird registration deadline: July 18th, 2019
The OCaml Users and Developers Workshop brings together the
OCaml
community, including users of OCaml in industry, academia,
hobbyists
and the free software community. Previous editions have been
co-located with ICFP since 2012 in Copenhagen, Boston,
Gothenburg,
Nara, Oxford and last year in St Louis, following OCaml Meetings
in
Paris in 2010 and 2011.
<https://icfp19.sigplan.org/home/ocaml-2019>
Registration for the workshop day is required, but *not for the
entire
conference*. There are several talks with an OCaml flavour in
the ML
Workshop, which is the previous day (August 22nd). Note that
although
the precise talk schedule is not yet finalised (it should be by
the
end of this week), once registered for the day, it is possible
to move
between workshops.
Programme
╌╌╌╌╌╌╌╌╌
We have accepted 10 talks (full details of which are both on the
SIGPLAN website and also shortly on ocaml.org) and there is an
additional talk on recent developments and plans for the
compiler from
Xavier Leroy. The programme covers recent developments and plans
in
tooling, several interesting experience reports and other
applications
of OCaml.
Program Committee
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
David Allsopp, University of Cambridge, UK
Raja Boujbel, OCamlPro, France
Timothy Bourke, INRIA, France
Simon Cruanes, Aesthetic Integration, USA
Emilio Jésus Gallego Arias, MINES ParisTech, France
Thomas Gazagnaire, Tarides, France
Ivan Gotovchits, CMU, USA
Hannes Mehnert, robur.io, Germany
Igor Pikovets, Ahrefs, Singapore
Thomas Refis, Jane Street Europe, UK
KC Sivaramakrishan, IIT Madras, India
Questions and contact
╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌
Please send any questions to the chair: David Allsopp
<David.Allsopp at cl.cam.ac.uk>
Other OCaml News
════════════════
From the ocamlcore planet blog
──────────────────────────────
Here are links from many OCaml blogs aggregated at [OCaml
Planet].
• [OCaml Developer at Ahrefs Pte Ltd (Full-time)]
• [opam 2.0.5 release]
• [opam 2.0.5 release]
• [The Alt-Ergo SMT Solver’s results in the SMT-COMP 2019]
• [Of Pythons and Camels]
[OCaml Planet] <http://ocaml.org/community/planet/>
[OCaml Developer at Ahrefs Pte Ltd (Full-time)]
<https://functionaljobs.com/jobs/9173-ocaml-developer-at-ahrefs-pte-ltd>
[opam 2.0.5 release]
<http://www.ocamlpro.com/2019/07/11/opam-2-0-5-release/>
[opam 2.0.5 release] <https://opam.ocaml.org/blog/opam-2-0-5/>
[The Alt-Ergo SMT Solver’s results in the SMT-COMP 2019]
<http://www.ocamlpro.com/2019/07/09/alt-ergo-participation-to-the-smt-comp-2019/>
[Of Pythons and Camels]
<https://blog.janestreet.com/of-pythons-and-camels/>
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/20190716/e50fa9b7/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://lists.idyll.org/pipermail/caml-news-weekly/attachments/20190716/e50fa9b7/attachment-0001.pgp>
More information about the caml-news-weekly
mailing list