Line 38: | Line 38: | ||
* Some random libraries | * Some random libraries | ||
* Documentation | * Documentation | ||
Changes and improvents 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 == |
Revision as of 11:03, 23 July 2010
Rakudo *
Summary
Rakudo is an implementation of the Perl 6 specification for the Parrot virtual machine, in rapid development. Rakudo Star is the first production release of Rakudo.
Owners
- Name: Gerd Pokorra, Christoph Wickert
- email: <gerd@fedoraproject.org>, <cwickert@fedoraproject.org>
Current status
- Targeted release: Fedora 14
- Last updated: 2010-07-23
- Percentage of completion: 70%
- 2009-08-11: put a Rakudo package with stripped shared objects in Fedora 11 and 12
- 2010-06-15: Parrot 2.5.0 "Cheops" released
- 2010-06-17: Rakudo 2010.06 (#30 "Kiew") released
- 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: [http://www.rakudo.org/node/74 Rakudo 2010.07 (#31 "Atlanta") released
- 2010-07-23: new basic Parrot packages are in Fedora
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 improvents 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.6: Parrot 2.6.0 will be released on July 20, will be in Fedora >= 12)
- Rakudo:
Review
(Note that the base parrot rpm is required at runtime.)
Contingency Plan
None necessary, revert to previous release behaviour.
Documentation
- Wikipedia: Perl 6 and Rakudo Perl
- Official Perl 6 Documentation
- Perl 6 on the Perl Foundation Homepage
- Rakudo Homepage
- Rakudo Documentation
- Installation of Rakudo in Fedora and Windows (by Gerd, German, sorry)
- Hacking Rakudo Perl by Patrick Michaud
- Rakudo Star - A usable Perl 6 release by Patrick Michaud
- Not Quite Perl (NQP) - A lightweight Perl 6 by Patrick Michaud
- YAPC::EU 2010 - The Renaissance of Perl - Schedule
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'
For information of command line options run:
man perl6 man rakudo
Comments and Discussion