> On May 19, 2019, at 04:51, Makarius <makar...@sketis.net> wrote:
> 
> On 19/05/2019 05:57, Matthew Fernandez wrote:
>> 
>> Some time ago I proposed PolyML switch to building with the C++11 standard 
>> [0]. The main blocking issue that surfaced was Isabelle supporting Ubuntu 
>> 12.04 which ships without a C++11-enlightened compiler. In January 2019, 
>> Makarius bumped the supported Linux release to Ubuntu 14.04 [1] which has a 
>> C++11 compiler. Are there any remaining issues preventing a migration to 
>> C++11? Do people feel strongly for or against this? The immediate benefits 
>> are similar to what I listed in my original posting:
> 
> First note that I am presently busy with the Isabelle2019 release (and
> will be on travel after its launch in a few weeks).
> 
> 
> For Isabelle technology (which also includes Poly/ML), I am generally in
> favour to use what is both "current" and "stable" -- the precise meaning
> of that is up to judgment by experts, but I am not an export of C++.
> 
> This often means to use the latest release version, but sometimes latest
> -1. (Current examples for -1 in Isabelle: scala, Haskell stack; latest:
> java-11, although some users might prefer -1 here.)

For some context, the ISO C++ standards are C++98, C++03, C++11, C++14, C++17 
and the forthcoming C++20. If you do not set the C++ standard via command line 
flags (-std= for GCC and Clang, /std: for MSVC), you get whatever version of 
the standard that compiler release decided was a sensible default. This is the 
situation PolyML is currently in. The standards are roughly backwards 
compatible, so in practice this means if you don’t explicitly set a standard 
you’re stuck with the ad hoc subset of commonly implemented features prior to 
1998. IMHO C++11 is the first version of the standard that brings some 
well-needed sanity to the language. In particular, threading and locks are in 
the standard, obviating the need for libraries to write their own abstraction 
layer over POSIX/Windows. The features added by C++14 and C++17 are less 
revolutionary and unlikely to be of immediate use to PolyML.

> BTW, for Poly/ML on Windows, there is still a slightly odd situation
> that its canonical build process is stuck with a very old version of g++
> on MingW:
> http://isabelle.in.tum.de/repos/isabelle/file/acc1749c2be9/Admin/polyml/INSTALL-MinGW
> 
> I would like to see this bumped eventually, independently of the C++11
> question.

If I understand the version numbering correctly, those MinGW versions are 
derived from GCC 4.9.3 which supports C++11.
_______________________________________________
polyml mailing list
polyml@inf.ed.ac.uk
http://lists.inf.ed.ac.uk/mailman/listinfo/polyml

Reply via email to