From Fedora Project Wiki
m (internal link cleaning)
 
(28 intermediate revisions by 3 users not shown)
Line 9: Line 9:
== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
[http://www.rakudo.org Rakudo] is an implementation of the Perl 6 specification for the [http://www.parrot.org/ Parrot virtual machine], currently in development.
The Rakudo Star releases includes the Rakudo compiler, modules, Blizkost and documentation.[http://www.rakudo.org Rakudo] is an implementation of the [http://perlcabal.org/syn/ Perl 6 specification] for the [http://www.parrot.org/ Parrot virtual machine]. The package <code>rakudo-star</code> replace the package [[Features/Rakudo_Perl_6|rakudo]] from Fedora 12.


== Owners ==
== Owners ==
<!--This should link to your home wiki page so we know who you are-->
<!--This should link to your home wiki page so we know who you are-->
* Name: [[User:Gerd| Gerd Pokorra]], [[User:Cwickert| Christoph Wickert]]
* Name: [[User:Gerd| Gerd Pokorra]], [[User:Cwickert| Christoph Wickert]], [[User:Mmaslano| Marcela Mašláňová]]


<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
* email: <gerd@fedoraproject.org>, <cwickert@fedoraproject.org>
* email: <gerd@fedoraproject.org>, <cwickert@fedoraproject.org>, <mmaslano@fedoraproject.org>


== Current status ==
== Current status ==
* Targeted release: [[Releases/14 | Fedora 14 ]]  
* Targeted release: [[Releases/14 | Fedora 14 ]]  
* Last updated: 2010-07-06
* Last updated: 2010-11-20
* Percentage of completion: 60%
* Percentage of completion: 100%
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
** 2009-08-11: put a Rakudo package with stripped shared objects in Fedora 11 and 12
** 2009-08-11: put a Rakudo package with stripped shared objects in Fedora 11 and 12
** 2010-06-15: [http://www.parrot.org/news/2010/Parrot-2.5.0 Parrot 2.5.0 "Cheops" released]
** 2010-06-19: Patrick Michaud announced ''Rakudo *'' for July 29
** 2010-06-17: Rakudo 2010.06 (#30 "Kiew") released
** 2010-07-20: [http://www.parrot.org/news/2010/Parrot-2.6.0 Parrot 2.6.0 "Red-rumped" released] (get necessary dependency)
** 2010-06-19: Patrick Michaud announced "Rakudo *" for July 29
** 2010-07-23: [http://www.rakudo.org/node/74 Rakudo 2010.07] (#31 "Atlanta") released
** 2010-07-29: the first verion of rakudo-star (2010.07) is released
** 2010-08-15: build new rakudo packages with new source from rakudo-star release for Fedora 13, 14 and 15
** 2010-08-17: open [https://bugzilla.redhat.com/show_bug.cgi?id=624660 review request for rakudo-star]; a [http://koji.fedoraproject.org/koji/taskinfo?taskID=2406663 successful scratch build] is done
** 2010-08-18: [http://www.parrot.org/news/parrot-2.7.0-australian-king-released Parrot 2.7.0 "Australian King" released]
** 2010-08-26: [http://www.rakudo.org/announce/rakudo-star/2010.08 Rakudo Star 2010.08] released; this is the version that will go in Fedora 14 Beta
** 2010-09-08: parrot-2.7.0-1.fc14 pushed to stable; Rakudo Star is reviewed; SCM admin request is done
** 2010-09-09: Rakudo Star 2010.08 is in Fedora 15 and the update stream of Fedora 14
** 2010-11-02: Fedora 14 come out with Rakudo Star 2010.09 in the Everything repository


== Detailed Description ==
== Detailed Description ==
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
Perl 6 is a major revision to the [[Perl]] programming language, which introduces elements of many modern and historical languages. There are currently multiple implementation projects of Perl 6 underway, the most actively developed one is [http://www.rakudo.org Rakudo], which is based on the Parrot virtual machine.
Perl 6 is a major revision to the [[Perl]] programming language, which introduces elements of many modern and historical languages. There are currently multiple implementation projects of Perl 6 underway, the most actively developed one is [http://www.rakudo.org Rakudo], which is based on the Parrot virtual machine.
Rakudo Star holds a series of complete Perl 6 environments for example:
* Some random libraries
* Documentation
Changes and improvements that can already be tested with the Atlanta release:
* Rakudo now properly constructs closures in most instances.
* Undefined objects can now autovivify into arrays or hashes when subscripted with .[ ] or .{ } .
* Arrays can now handle infinite ranges.
* Generic, multi-level Whatever-currying now works, e.g. (1, 1, *+* ... *).
* The REPL shell now remembers lexical declarations in susbsequent lines.
* The open() subroutine now returns a Failure instead of throwing a fatal exception.
* Rakudo now provides $*ARGFILES for reading from files specified on the command line.
* Added $*PERL, moved %*VM to $*VM.
* Simple binding operators := and ::= now work.
* Simple feed operators <== and ==> now work.


== Benefit to Fedora ==
== Benefit to Fedora ==
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new feature, what capabilities does it bring? Why will Fedora become a better distribution or project because of this feature?-->
Providing Perl 6 support makes Fedora an attractive platform for developers. Rakudo will enable developers to write new applications or port existing ones. By offering Perl 6 at the current state Fedora once again proves it's foundations ''Features'' and ''First''
Providing Perl 6 support makes Fedora an attractive platform for developers. Rakudo will enable developers to write new applications or port existing ones. By offering Perl 6 at the current state Fedora once again proves its foundations: ''Features'' and ''First''.
 
Make Fedora fit for Perl 6 Modules.


== Scope ==
== Scope ==
Line 66: Line 92:
== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
<!-- What other packages (RPMs) depend on this package?  Are there changes outside the developers' control on which completion of this feature depends?  In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?  Other upstream projects like the kernel (if this is not a kernel feature)? -->
* Parrot >= 2.6: Parrot 2.6.0 will be released on July 20, will be in Fedora >= 12)  
* Parrot >= 2.7: Parrot 2.7.0 will be released on August 18, will be in Fedora >= 13)  
* Rakudo: <s>[https://bugzilla.redhat.com/show_bug.cgi?id=498390 Review]</s>
* Rakudo Star: <s>[https://bugzilla.redhat.com/show_bug.cgi?id=624660 Review]</s>
(Note that the base parrot rpm is required at runtime.)
(Note that the base parrot rpm is required at runtime.)


Line 83: Line 109:
* [http://www.uni-siegen.de/zimt/kontakt/mitarbeiter/pokorra/perl/install.pdf Installation of Rakudo in Fedora and Windows] (by Gerd, German, sorry)
* [http://www.uni-siegen.de/zimt/kontakt/mitarbeiter/pokorra/perl/install.pdf Installation of Rakudo in Fedora and Windows] (by Gerd, German, sorry)
* [http://en.oreilly.com/oscon2009/public/schedule/detail/8582 Hacking Rakudo Perl] by [http://www.pmichaud.com/ Patrick Michaud]
* [http://en.oreilly.com/oscon2009/public/schedule/detail/8582 Hacking Rakudo Perl] by [http://www.pmichaud.com/ Patrick Michaud]
* [http://conferences.yapceurope.org/ye2010/talk/2928 ‎Rakudo Star - A usable Perl 6 release‎] by [http://www.pmichaud.com/ Patrick Michaud]
* [http://conferences.yapceurope.org/ye2010/talk/2927 ‎Not Quite Perl (NQP) - A lightweight Perl 6‎] by [http://www.pmichaud.com/ Patrick Michaud]
* [http://conferences.yapceurope.org/ye2010/schedule YAPC::EU 2010 - The Renaissance of Perl - Schedule]


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
Fedora comes with Rakudo Perl, an implementation of the Perl 6 specification based on the Parrot virtual machine, which enables developers to write new applications or port existing ones to Perl 6. To install rakudo, use the '''Add/Remove Software'''  tool or run:
Fedora comes with Rakudo Perl, an implementation of the Perl 6 specification based on the Parrot virtual machine, which enables developers to write new applications or port existing ones to Perl 6. To install Rakudo *, use the '''Add/Remove Software'''  tool or run:
  su -c 'yum install rakudo'
  su -c 'yum install rakudo-star'
For information of command line options run:
For information of command line options run:
  man perl6
  man perl6
Line 97: Line 126:




[[Category:FeatureReadyForWrangler]]
[[Category:FeatureAcceptedF14]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->

Latest revision as of 14:05, 18 September 2016


Rakudo *

Summary

The Rakudo Star releases includes the Rakudo compiler, modules, Blizkost and documentation.Rakudo is an implementation of the Perl 6 specification for the Parrot virtual machine. The package rakudo-star replace the package rakudo from Fedora 12.

Owners

  • email: <gerd@fedoraproject.org>, <cwickert@fedoraproject.org>, <mmaslano@fedoraproject.org>

Current status

  • Targeted release: Fedora 14
  • Last updated: 2010-11-20
  • Percentage of completion: 100%
    • 2009-08-11: put a Rakudo package with stripped shared objects in Fedora 11 and 12
    • 2010-06-19: Patrick Michaud announced Rakudo * for July 29
    • 2010-07-20: Parrot 2.6.0 "Red-rumped" released (get necessary dependency)
    • 2010-07-23: Rakudo 2010.07 (#31 "Atlanta") released
    • 2010-07-29: the first verion of rakudo-star (2010.07) is released
    • 2010-08-15: build new rakudo packages with new source from rakudo-star release for Fedora 13, 14 and 15
    • 2010-08-17: open review request for rakudo-star; a successful scratch build is done
    • 2010-08-18: Parrot 2.7.0 "Australian King" released
    • 2010-08-26: Rakudo Star 2010.08 released; this is the version that will go in Fedora 14 Beta
    • 2010-09-08: parrot-2.7.0-1.fc14 pushed to stable; Rakudo Star is reviewed; SCM admin request is done
    • 2010-09-09: Rakudo Star 2010.08 is in Fedora 15 and the update stream of Fedora 14
    • 2010-11-02: Fedora 14 come out with Rakudo Star 2010.09 in the Everything repository

Detailed Description

Perl 6 is a major revision to the Perl programming language, which introduces elements of many modern and historical languages. There are currently multiple implementation projects of Perl 6 underway, the most actively developed one is Rakudo, which is based on the Parrot virtual machine.

Rakudo Star holds a series of complete Perl 6 environments for example:

  • Some random libraries
  • Documentation

Changes and improvements that can already be tested with the Atlanta release:

  • Rakudo now properly constructs closures in most instances.
  • Undefined objects can now autovivify into arrays or hashes when subscripted with .[ ] or .{ } .
  • Arrays can now handle infinite ranges.
  • Generic, multi-level Whatever-currying now works, e.g. (1, 1, *+* ... *).
  • The REPL shell now remembers lexical declarations in susbsequent lines.
  • The open() subroutine now returns a Failure instead of throwing a fatal exception.
  • Rakudo now provides $*ARGFILES for reading from files specified on the command line.
  • Added $*PERL, moved %*VM to $*VM.
  • Simple binding operators := and ::= now work.
  • Simple feed operators <== and ==> now work.

Benefit to Fedora

Providing Perl 6 support makes Fedora an attractive platform for developers. Rakudo will enable developers to write new applications or port existing ones. By offering Perl 6 at the current state Fedora once again proves its foundations: Features and First.

Make Fedora fit for Perl 6 Modules.

Scope

  • Package reviews
  • Continuous updates each month

How To Test

  • Test that rakudo builds on the parrot RPMs provided in Fedora.
  • Use the test suite included in Rakudo to verify that it actually works:
    • make test will run a suite of tests, designed to make sure that the Rakudo compiler is basically working and that it's capable of running a simple test harness.
    • make spectest will import relevant portions of the official Perl 6 test suite from the Pugs repository and run all of the tests that are currently known to pass.

User Experience

Rakudo will enable developers to write new applications or port existing ones to Perl 6. Although Perl 6 is still in development and no official release date has been set, the specification is feature complete and mature. Rakudo has released 19 stable releases so far. Both parrot and rakudo do one stable release each month and developers will get them easily without hassle on a regular schedule.

Dependencies

  • Parrot >= 2.7: Parrot 2.7.0 will be released on August 18, will be in Fedora >= 13)
  • Rakudo Star: Review

(Note that the base parrot rpm is required at runtime.)

Contingency Plan

None necessary, revert to previous release behaviour.

Documentation

Release Notes

Fedora comes with Rakudo Perl, an implementation of the Perl 6 specification based on the Parrot virtual machine, which enables developers to write new applications or port existing ones to Perl 6. To install Rakudo *, use the Add/Remove Software tool or run:

su -c 'yum install rakudo-star'

For information of command line options run:

man perl6
man rakudo

Comments and Discussion