On Tue, Dec 29, 2015 at 01:57:57AM -0800, Darren Duncan wrote:
> On that note, are there going to be Perl 6 versions 6.x.y where {x,y} are
> integers?  Will 6.0.0 be the first such one? -- Darren Duncan

This was the topic of my FOSDEM talk last year, and then again at YAPC::NA.

"Perl 6" is a language, not an implementation of that language.  Think of "Perl 
6" as being like "C", "C++", "Javascript", etc., where the language is separate 
from the (many) implementations of that language.

There are two key points to make:

1.  Language specification should follow implementations, not precede them.  
This has been found to be true for many programming languages, and it's the way 
things work in the Internet RFC/STD process.  An update to a language spec 
recognizes and ratifies the features that have been largely agreed upon by 
implementations and users, as opposed to prescribing what the next version of 
the language ought to look like.  First is rough consensus, then running code, 
and *then* formalization into a specification.

So, if language specification follows implementation, it's not possible for 
Rakudo or other implementations to use language version numbers as their 
primary versioning scheme.  To take an example from the C language:  My gcc 
compiler says it's version 5.2.1, but there's not a version "5.2.1" of the C 
Programming Language.  Similarly, one doesn't speak of the "C89", "C99", or 
"C11" release of GCC.

2.  It doesn't make a lot of sense to think of major/minor version numbers such 
as 6.x.y when discussing a language specification.  Compiler releases happen 
often, incorporating new features, bug fixes, and small incremental changes.  
Language specification changes tend to happen on longer timescales -- there's 
not really a notion of a "minor release" on such timescales.  So, the language 
specifications are being versioned as "6.a", "6.b", "6.c", etc., instead of a 
scheme incorporating minor version increments.

Yes, this separation of language specification and implementation can be 
unnerving to those that are so used to Perl 5's tight coupling of the two, 
including using a common "version number" for both.  But that tight coupling is 
partly what led to several of Perl 5's evolutionary dead ends and roadblocks, 
and we're trying to avoid repeating that mistake with Perl 6.

Hope this helps.

Pm


On Tue, Dec 29, 2015 at 01:57:57AM -0800, Darren Duncan wrote:
> On that note, are there going to be Perl 6 versions 6.x.y where {x,y} are
> integers?  Will 6.0.0 be the first such one? -- Darren Duncan
> 
> On 2015-12-29 12:51 AM, Tobias Leich wrote:
> >Hi, the first official Perl 6 (the language) release is not called 6.0.0, it 
> >is
> >called 6.c.
> >And this is what has been shipped with the Rakudo compiler release 2015.12.
> >
> >Cheers, Tobias
> >
> >Am 27.12.2015 um 20:33 schrieb webmind:
> >>Hiya,
> >>
> >>I'm a bit confused, there is a major release for Perl 6, but I know
> >>wonder if this is the 6.0.0 release or when this will be?
> >>
> >>Thanks
> >>
> >>web
> >>
> >
> >
> 

Reply via email to