in reply to Re^2: A wholly inadequate reply to an Anonymous Monk in thread A wholly inadequate reply to an Anonymous Monk
Yes you are writing about Perl 6, Speaking about Perl 6 etc. My point was not about that. But rather about explaining people why building a Grammar engine for Perl 6 is so difficult, as I understand that has roots in the mutable aspects of Perl 6 Grammar.
You are doing a great job, absolutely no doubts about that. But in this world you have to blow your own trumpet. Giving people a feel of(Technical matters of the compiler, not features of the language) will do a lot of help.
Re^4: A wholly inadequate reply to an Anonymous Monk
by TimToady (Parson) on Apr 23, 2010 at 17:33 UTC
|
So you want a simple explanation of why it's complex, eh?
If you don't mind complex explanations of the complexity, those can be found in the apocalypses and synopses. And some of my talks have been about why the parser is complex. I generally run out of time in such talks... :-)
For a more academic view of the complexity of what we're trying to do, here are some other people trying to do (some of) the same things with a different language, Fortress:
"Growing a Syntax".
It's easy to argue that we could have done this or that differently, and spend even more energy arguing whether those things were actually possible at the time or would have simply resulted in other dystopias. But the fact is that, within the constraints of health, sanity, and politics, we took the best shot at it we knew how, and our decisions, right or wrong, have put us where we are today, with a great deal of improvement in both Perl 5 and Perl 6 over the last ten years, in absolute terms.
It's the relative worth of Perl with respect to other languages, and the perceptions and misperceptions of that worth, and the perceptions and misperceptions of other people's perceptions and misperceptions, that drives people's fears.
And "Fear is the mind killer."
So I simply say, "Don't do that." Regardless of our mistakes and our perceived mistakes, the Perl 5 and Perl 6 communities will both continue to prosper, because we have iron-willed people who are not going to give up. You can't change the past. You can't even change the future, in the sense that you can only change the present one moment at a time, stubbornly, until the future unwinds itself into the stories of our lives. My father always used to say "It's not what you do, it's what you do next." So let's all look toward the future, and keep on doing the next thing, and the next, and the next.
| [reply] |
|
because we have iron-willed people who are not going to give up.
Memento mori!
| [reply] |
|
| [reply] |
|
|
Re^4: A wholly inadequate reply to an Anonymous Monk
by pmichaud (Scribe) on Apr 23, 2010 at 18:09 UTC
|
My point was not about that. But rather about explaining people why building a Grammar engine for Perl 6 is so difficult, as I understand that has roots in the mutable aspects of Perl 6 Grammar.
Okay then - restricting myself to my 2009 list above - these are the ones that cover why the grammar engine for Perl 6 is so difficult/special/unique/important:
- Perl 6 Advent Calendar (specifically Day 24: The Perl 6 standard grammar, Day 21: Grammars and Actions, and Day 10: A Regex Story)
- Practically all of Larry Wall's keynote addresses and invited talks
- Chris Dolan, Using Rakudo grammars, Frozen Perl 2009
- Patrick Michaud, Building Compilers with the Parrot Compiler Toolkit, Nordic Perl Workshop 2009
- Patrick Michaud, Hacking Rakudo Perl, Nordic Perl Workshop, 2009
- Patrick Michaud, Perl 6 regexes and grammars, YAPC::NA 2009
- Patrick Michaud, Hacking Rakudo Perl, YAPC::NA 2009
- Morris Siegel, Enhancing Perl 6 pattern-matching with ideas from Snobol4, YAPC::NA 2009
- Larry Wall and Damian Conway, Perl 6 Update, OSCON 2009
- Patrick Michaud, Building Compilers with the Parrot Compiler Toolkit, OSCON 2009
- Damian Conway, Perl 6 update, YAPC::EU 2009
Not from my earlier list, we should probably include (still in 2009):
And, of course, I've been talking and giving grammar engine specific talks since YAPC::NA in 2005, because (as chromatic++ said in the other thread) that's what ends up being important to completing a Perl 6 implementation.
... in this world you have to blow your own trumpet.
See the lists above for the concerts you missed in 2009. :-)
Giving people a feel of(Technical matters of the compiler, not features of the language) will do a lot of help.
Part of what makes Perl 6 so special is that the technical matters of the compiler are features of the language. That's what makes it possible to write Perl 6 (as well as many other languages) in Perl 6, and have operator overloading, and metaoperators, and macros, etc. That's why almost every talk about "how to build a language using Parrot / Perl 6" or "Perl 6 regular expressions" ultimately ends up demonstrating the underlying complexity of the grammar engine.
Pm
| [reply] |
|
|