by Peter Seibel · 22 Jun 2009 · 1,201pp · 233,519 words
don't care and I want it to coerce for me at runtime and do whatever. I don't want to be too optimistic about Perl 6, but they're preaching a lot of things I want to see. But I don't think it'll ever come out. Seibel: Do you
by Federico Biancuzzi and Shane Warden · 21 Mar 2009 · 496pp · 174,084 words
certain 3.0 features to 2.6. At the same time, we’re not making 3.0 a total rewrite or a total redesign (unlike Perl 6 or, in the Python world, Zope 3), thereby minimizing the risk of accidentally dropping essential functionality. One trend I’ve noticed in the past four
…
from Unix (and sports perhaps the largest repository of libraries of any language in the CPAN). Many programmers anxiously await the long-developed revision of Perl 6, a language designed to last at least 20 years. The Language of Revolutions How do you define Perl? Larry Wall: Perl is an ongoing experiment
…
are allowed to change things and when you aren’t. These sorts of things have become increasingly important in the design of Perl, especially with Perl 6. At the same time, we want to try to keep the same feeling and, where possible, hide some of the high-falutin’ concepts so that
…
glued in data from various sources including databases. The extensions to do that were already there, or were easy to write. But Perl is also Perl 6, where we’re trying to fix everything that’s wrong with Perl 5 without breaking anything that’s right with Perl 5. We recognize that
…
going to do it anyway. We’re completely redesigning the language while keeping the same underlying design principles. Even in its current, partially implemented form, Perl 6 is already a spectacularly cool language in many people’s opinion, and when it’s done it will, hopefully, be both self-describing and self
…
if the answer had been yes to your question then Perl 1 would’ve been much more aimed toward the sort of language parsing that Perl 6 is now aimed at. But it wasn’t. Call it compartmentalization if you will, but the task that Perl 1 was trying to address was
…
communication forms. Larry: Certainly it does. That points out the notion of lexical scoping that is so important to the control of language diversity in Perl 6. It’s very important to us at every point in the lexical scope to know exactly which language we are speaking. Not so much because
…
that will actually do what they expect rather than what they don’t expect?” That process to the nth degree is, as you know, the Perl 6 design process. We’ve been in that mindset for the past few years. Can you give an example? Larry: In Perl 5, $var is a
…
reasons that’s not how Perl 5 does it. The documents go through contortions to explain why things aren’t the way people expect. In Perl 6, we decided it would be better to fix the language than fix the user. In Perl 5, various functions default to an argument of $_ (the
…
to memorize the list of functions that do so. If you don’t, you’re likely to falsely generalize that capability to all functions. In Perl 6, we chose to not have any functions default that way, so there is no longer any danger of false generalization. Instead there is some lightweight
…
right there in many programs; panicking users would backslash anything symbolic in a regex because they couldn’t remember which characters were actual metacharacters. In Perl 6, as we were refactoring the syntax of pattern matching we realized that the majority of the ASCII symbols were already metacharacters anyway, so we reserved
…
in the Perl space to actually have a successful experiment called Perl 5 that would allow us to try a different experiment that is called Perl 6. We’re actively looking to strike a different balance this time based on what we’ve learned. Certainly, many bad guesses were made, if not
…
language, that was probably the most important design goal of Perl 5: to allow anyone to extend the language via modules. From the viewpoint of Perl 6 hindsight, I botched the design of Perl 5 modules in various ways, but it was Good Enough, and CPAN was the result. I suppose I
…
—people asking for more discipline than was given by default. It became culturally acceptable to the point where we decided to just build it into Perl 6. That was kind of a small surprise. The biggest surprise to me came when we went to start redesigning Perl for
…
Perl 6. We asked for suggestions in the form of RFCs (Request For Change), and I expected to get maybe 20. We got 361. Part of the
…
heavily from existing languages. (We have since regretted some of that borrowed culture; in particular, regex syntax has only gotten cruftier over the years, and Perl 6 will remedy that, we hope.) To many people, Perl 5 looked like a revolutionary change from Perl 4, but in fact the implementation evolved through
…
“stackless” one. Perl 5 was also still very conservative in its backward compatibility; in fact, Perl 5 still runs most Perl 1 scripts correctly. With Perl 6 we’re finally making a major compatibility break, “throwing out the prototype,” as it were, and rapidly evolving the syntactic and semantic design while attempting
…
always been. This time, though, I’ve done a better job of involving the community in the incremental redesign process. When we first announced the Perl 6 effort, we got those 361 RFCs, and most of them assumed an incremental change from Perl 5 without any other changes. In a sense, the
…
Perl 6 design is simply the result of summing up, simplifying, unifying, and rationalizing those incremental suggestions, but the actual leap from Perl 5 to Perl 6 will certainly feel revolutionary to anyone who did not participate in the design process
…
. Yet most Perl 6 programs will look quite similar to what you’d write in Perl 5, because the underlying thought
…
process will be similar. At the same time, Perl 6 will also make it much easier to branch out into the functional or OO modes of thought, if that’s how you think. Some people
…
“edge” and being right a good part of the time. What’s your rationale behind the notion of potentially multiple competing or cooperating implementations of Perl 6? Larry: There are several parts to the rationale for that. We already mentioned that you want a large gene pool. A healthy gene pool requires
…
than the weaknesses of it. And certainly shared memory doesn’t seem to be a big problem for the ants. Does any particular implementation of Perl 6 constrain what happens at higher semantic levels? Larry: Well, even if you try to create a Newspeak, no language can exert absolute control over everything
…
. I really like the quote from you: “They say worse is better, but we’re just hoping for one better-is-better cycle here with Perl 6.” Larry: Right. That’s my current “edge” call. I hope you’re feeling edgy. Chapter 16. PostScript PostScript is a concatenative programming language most commonly
…
Italian print magazine Linux&C. Shane Warden has a decade of experience developing free software, including contributions to the Perl 5 core, the design of Perl 6, and the Parrot virtual machine. In his spare time, he runs the fiction division of independent publisher Onyx Neon Press. He is coauthor of The
by Mark Jason Dominus · 14 Mar 2005 · 525pp · 149,886 words
. Aptly named, this truly is a Perl book of a higher order, and essential reading for every serious Perl programmer. —Damian Conway, Co-designer of Perl 6 For Lorrie Higher-Order Perl Transforming Programs with Programs Mark-Jason Dominus Preface A well-known saying in the programming racket is that a good
…
People can be funny about syntax, and Perl programmers are even more obsessed with syntax than most people. When Larry Wall described the syntax of Perl 6 for the first time, people were up in arms because he was replacing the -> operator with . and the . operator with _. Even though there is only
by Kevin C. Baird · 1 Jun 2007 · 309pp · 65,118 words
things in terms of infinite series, such as the set of all integers. Haskell is the language used for Pugs, an implementation of the new Perl 6 language, which some people think is drawing more attention to Haskell than to Perl itself. Haskell has an interactive environment similar to Ruby’s irb
by Amy Brown and Greg Wilson · 24 May 2011 · 834pp · 180,700 words
as contractor for localization and release engineering. She previously designed and led the Pugs project, the first working Perl 6 implementation; she has also served in language design committees for Haskell, Perl 5, and Perl 6, and has made numerous contributions to CPAN and Hackage. She blogs at http://pugs.blogs.com/audreyt/. Huy
…
. 19.8.4. Optimize for Fun In my 2006 keynote for the CONISLI conference [Tan06], I summarized my experience leading a distributed team implementing the Perl 6 language into a few observations. Among them, Always have a Roadmap, Forgiveness > Permission, Remove deadlocks, Seek ideas, not consensus, and Sketch ideas with code are
…
. Drive Development with Story Tests Prior to joining Socialtext, I've advocated the "interleave tests with the specification" approach, as can be seen in the Perl 6 specification7, where we annotate the language specification with the official test suite. However, it was Ken Pier and Matt Heusser, the QA team for SocialCalc
by Steve McConnell · 8 Jun 2004 · 1,758pp · 342,766 words
Cocomo II (Boehm 2000), and "An Empirical Comparison of Seven Programming Languages" (Prechelt 2000). C 1 C++ 2.5 Fortran 95 2 Java 2.5 Perl 6 Python 6 Smalltalk 6 Microsoft Visual Basic 4.5 Some languages are better at expressing programming concepts than others. You can draw a parallel between
by VM (Vicky) Brasseur · 266pp · 79,297 words
://en.wikipedia.org/wiki/Linus_Torvalds; The inventor of Linux. [93] https://en.wikipedia.org/wiki/Larry_Wall; The inventor of rn, patch, Perl, and Perl 6. [94] https://en.wikipedia.org/wiki/Tim_Berners-Lee; The inventor of the World Wide Web. [95] https://en.wikipedia.org/wiki/Pastebin [96] https
by Benjamin C. Pierce · 4 Jan 2002 · 647pp · 43,757 words
evaluation, 109 partial function, 16 partial order, 17 partially abstract types, 406 Pascal, 11 pattern matching, 130–131 PCF, 143 Pebble, 465 Penn translation, 204 Perl, 6 permutation, 18 permutation lemma, 106 permutation rule for record subtyping, 184 performance issues, 201–202 pi-calculus, 51 Pict, 200, 356, 409 Pizza, 195 pointer
…
, 177, see also OCaml, Standard ML Modula-3, 7 NextGen, 196 Objective Caml, see OCaml OCaml, xvii, 7, 208, 231, 489 Pascal, 11 Pebble, 465 Perl, 6 Pict, 200, 356, 409 Pizza, 195 PolyJ, 195 Postscript, 6 Quest, 11, 409 Scheme, 2, 6, 8, 45 Simula, 11, 207 Smalltalk, 226 Standard ML