Category:Perl 6: Difference between revisions
(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 --> |
Revision as of 04:03, 8 December 2018
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Garbage collected: | Yes |
---|---|
Parameter passing methods: | By reference, By value |
Type safety: | Safe, Unsafe |
Type strength: | Gradual |
Type compatibility: | Nominative, Duck |
Type checking: | Dynamic, Static |
Lang tag(s): | perl6 |
See Also: |
|
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. The first official release was at Christmas of 2015.
Damian Conway described the basic philosophy of Perl 6 as follows:
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.
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 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. The only compiler implementing the full test suite, Rakudo, currently runs on either of two backends, MoarVM or JVM. Subsequent language revisions are planned for release on a roughly yearly cycle.
Todo
Subcategories
This category has the following 4 subcategories, out of 4 total.
@
- Perl 6 examples needing attention (empty)
- Perl 6 Implementations (5 P)
- Perl 6 User (25 P)
P
- Perl 6 related (5 P)
- Garbage collection/Yes
- Parameter passing/By reference
- Parameter passing/By value
- Typing/Safe
- Typing/Unsafe
- Typing/Gradual
- Typing/Compatibility/Nominative, Duck
- Typing/Checking/Dynamic
- Typing/Checking/Static
- Programming Languages
- Programming paradigm/Dynamic
- Programming paradigm/Imperative
- Programming paradigm/Procedural
- Programming paradigm/Reflective
- Programming paradigm/Functional
- Programming paradigm/Object-oriented
- Programming paradigm/Generic