Category:Perl 6: Difference between revisions

Content added Content deleted
m (Added link for Mono)
(Edited to reflect current reality)
Line 15: Line 15:
{{language programming paradigm|object-oriented}}
{{language programming paradigm|object-oriented}}
{{language programming paradigm|generic}}
{{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. In development since 2000, Perl 6 still lacks a complete implementation of its specification, the [http://perlcabal.org/syn/ Synopses]. However, more than one implementation is getting close to that goal.
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. In development since 2000, Perl 6 still lacks a complete implementation of its specification, the [http://perlcabal.org/syn/ Synopses].


Damian Conway described the basic philosophy of Perl 6 as follows:
Damian Conway described the basic philosophy of Perl 6 as follows:
Line 23: Line 23:
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.
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.


There are several different implementations of Perl 6. They vary widely in design goals, degree of completeness, and current development activity. At present, the implementations closest to matching the specification are [[Pugs]], written in [[Haskell]] and primarily of historical interest, [[Rakudo]], built on the [http://www.parrot.org Parrot] virtual machine, and [[Niecza]], built on the .NET/[http://mono-project.com/ Mono] platform.
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]].


<br clear=right><!-- Stop the category list and infobox from overlapping -->
<br clear=right><!-- Stop the category list and infobox from overlapping -->