Java has already done what Larry Wall was hoping for from Perl 6
Larry Wall says that version 6 of Perl will hopefully become a root language that will lead to many other languages:
If you allow a language to mutate its own grammar within a lexical scope, how do you keep track of that cleanly? Perl 5 discovered one really bad way to do it, namely source filters, but even so we ended up with Perl dialects such as Perligata and Klingon. What would it be like if we actually did it right?
Doing it right involves treating the evolution of the language as a pragmatic scope, or as a set of pragmatic scopes. You have to be able to name your dialect, kind of like a URL, so there needs to be a universal root language, and ways of warping that universal root language into whatever dialect you like. This is actually near the heart of the vision for Perl 6. We don’t see Perl 6 as a single language, but as the root for a family of related languages. As a family, there are shared cultural values that can be passed back and forth among sibling languages as well as to the descendants.
Poor Larry Wall. Everybody seems to like him. I’ve never heard anyone say anything bad about him. Yet the beginning of work on Perl 6 was announced in 2002. This project remains vaporware. Larry Wall has mentioned it in every interview for the last 7 years. Now it is 2009 and Perl 6 has still not yet been released to the public. And in the meantime, the world of computing has changed a great deal.
Larry Wall is a deep thinker. And he has been developing a deep philosophy of computer languages. Yet the world of Java has, quite surprisingly, opened up and become a world of many languages: Groovy, JavaFX, JRuby, hecl, Jython, etc. No one would have guessed, in 2002, how much Java was going to open up. But while Larry Wall has been thinking about Perl 6, the Java community went ahead and created the reality that he was merely thinking about: “So there needs to be a universal root language… [and] shared cultural values that can be passed back and forth among sibling languages as well as to the descendants.”
May 18th, 2009 at 9:59 pm
[...] so one can always get the right level abstraction for a given project. I think this is part of what Larry Wall was talking about: Doing it right involves treating the evolution of the language as a pragmatic scope, or as a set [...]