There is nothing as scary to the average programmer (to the average human, really) as the single word “change.” Change means taking the time to learn a new way of doing things. Changes can be annoying: moving to a new home, finding the shelves reorganized at your neighborhood computer store, or ordering your favorite beer at your favorite pub only to be told they don’t make it anymore. But changes can also be good: a vacation on the beach, a promotion, a raise, finding the perfect shortcut to work that shaves 20 minutes off your commute. This book is all about change . . . the good kind.
Perl 6 isn’t far enough along to support a book on the level of Programming Perl. As development goes on, though, we’ve found that the accumulated lore of the past few years is quite an entry barrier for new people. This book is a snapshot of the current status, designed to ease that first step. It covers the project through Apocalypse 6 and the 0.0.10 release of Parrot. Because Perl 6 is rapidly changing, we’ll publish a revised edition of the book every year until Perl 6.0.0 is released.
This book has seven chapters:
Chapter 1 is a high-level overview of the project, with some history of how and why the project was started.
Chapter 2 provides more detail on life cycles within the project and how to get involved.
Chapter 3 explains some of the principles behind Perl 6 design work.
Chapter 4 is an introduction to Perl 6 syntax.
Chapter 5 explains the overall architecture of Parrot (the virtual machine that runs Perl 6).
Chapter 6 is an introduction to Parrot assembly language.
Chapter 7 is an introduction to Parrot’s Intermediate Code Compiler.
If you’re a Perl programmer who is completely new to Perl 6, you’ll be interested in this book to get an idea of what it’ll be like to work with Perl 6, why we’re making the changes we’re making, and how the project is going. You’ll want to read the first four chapters. If you think you might be interested in getting involved in implementation, read the rest as well.
If you’re already involved in the Perl 6 project, you’ll be interested in this book to see how all the pieces fit together, and you may want to use it as a reference while you’re working. If you’ve been involved only on the language side or the internals side, you’ll also get a chance to see what the other half is doing. In this way, the entire book is relevant to you.
If you’re not involved in Perl but just want to see what the “Perl 6” buzz is all about, you’ll want to read Chapter 1, Chapter 3, and Chapter 5. You’ll get an overview of what we’re doing and why, without all the nitty-gritty details.