Category:Perl 6: Difference between revisions

update to 2016
(Edited to reflect current reality)
(update to 2016)
Line 15:
{{language programming paradigm|object-oriented}}
{{language programming paradigm|generic}}
Perl 6 is the up-and-coming little sister to Perl 5. Though it resembles previous versions of [[Perl]] to no small degree, Perl 6 is substantially a new language; by design, it isn't backwards-compatible with Perl 5. InThe developmentfirst sinceofficial 2000,release Perlwas 6at still lacks a complete implementationChristmas of its specification, the [http://perlcabal.org/syn/ Synopses]2015.
 
Damian Conway described the basic philosophy of Perl 6 as follows:
Line 21:
<blockquote>The Perl 6 design process is about keeping what works in Perl 5, fixing what doesn't, and adding what's missing. That means there will be a few fundamental changes to the language, a large number of extensions to existing features, and a handful of completely new ideas. These modifications, enhancements, and innovations will work together to make the future Perl even more insanely great -- without, we hope, making it even more greatly insane.</blockquote>
 
Major new features include multiple dispatch, declarative classes, grammars, formal parameters to subroutines, type constraints on variables, lazy evaluation, junctions, meta-operators, and the ability to change Perl's syntax at will with hygienic macros and user-defined operators.
 
The definition of Perl 6 is specified entirely by a test suite, so we could in theory have multiple implementations.
There are several different partial implementations of Perl 6. They vary widely in design goals, degree of completeness, and current development activity. At present, the implementation closest to matching the specification is [[Rakudo]].
The current version of the language is 6.c (short for 6.christmas), as defined by the test suite known as "roast" (Repository Of All Spec Tests). Compiler releases have date-based versions, and these are typically used in Rosetta Code entries for the "works with" fields. The only compiler implementing the full test suite, rakudo, currently runs on either MoarVM or JVM. Subsequent language revisions are planned (with provisional names of "Diwali", "Eid", and other such celebrations), but these will only come out once a year or so. In 2016 we are primarily working on performance and documentation of the stable 6.c version.
 
<br clear=right><!-- Stop the category list and infobox from overlapping -->
Anonymous user