Category:Perl 6: Difference between revisions
Content added Content deleted
(Todo) |
SqrtNegInf (talk | contribs) m (updated info for new release, link to 6pad) |
||
Line 15: | Line 15: | ||
{{language programming paradigm|object-oriented}} |
{{language programming paradigm|object-oriented}} |
||
{{language programming paradigm|generic}} |
{{language programming paradigm|generic}} |
||
{{infobox_begin}}[https://perl6.github.io/6pad/ Try this language on 6pad].{{infobox_end}} |
|||
Perl 6 is the up-and-coming little sister to Perl 5. |
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. |
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. |
||
Line 21: | Line 22: | ||
Damian Conway described the basic philosophy of Perl 6 as follows: |
Damian Conway described the basic philosophy of Perl 6 as follows: |
||
<blockquote>The Perl 6 design process is about keeping what works in Perl 5, fixing what doesn't, and adding what's missing. |
<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> |
||
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. |
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. |
||
The definition of Perl 6 is specified entirely by a test suite, so we could in theory have multiple implementations. |
The definition of Perl 6 is specified entirely by a test suite, so we could in theory have multiple implementations. |
||
The current version of the language is 6. |
The current version of the language is 6.d, 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. |
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, |
The only compiler implementing the full test suite, Rakudo, currently runs on either of two backends, MoarVM or JVM. |
||
Subsequent language revisions are planned |
Subsequent language revisions are planned for release on a roughly yearly cycle. |
||
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 --> |
<br clear=right><!-- Stop the category list and infobox from overlapping --> |