News for hackers. Stuff that matters.
Re:Perl 6 Grammars – not only for parsing by python_padawan on Tuesday November 23, 2010 @04:34PM (#1935464)
Congratulations, Perl 6 developers. You are beginning to catch up with Django. (See http://docs.djangoproject.com/en/dev/intro/tutorial03/ if you think I'm being sarcastic.)

Once upon a time, Perl was the de facto language for web development. Then there was a bit of falling out between the web-centric folks and the server-centric folks; resulting in PHP. Perl, as a language for web-development, never really recovered.

I find it kind of sad that it took over a decade and a half-hearted attempt at rewriting the language before the server-centric folks are even beginning to understand what the web-centric folks were talking about. :-/

Re:Perl 6 Grammars – not only for parsing by chromatic on Tuesday November 23, 2010 @05:53PM (#1935712)
Assume I'm barely competent at both Perl and Python. Can you explain how looping over repeated regular expressions is more powerful and useful than core language support for grammars and arbitrary tree transformations?

(I approve of Python's named captures, though even Perl 5 has had those for almost three years now.)

... over a decade and a half-hearted attempt at rewriting the language...

In truth, the Perl 6 redesign began a few months after Python 3000, in July 2000.

Re:Perl 6 Grammars – not only for parsing by cookietime on Wednesday November 24, 2010 @09:51AM (#1937475)
Perhaps you could provide an example of a situation where grammars and arbitrary tree transformations are more useful than looping over repeated regular expressions?

If you want others to see the utility of these Perl 6 features, they're going to need side-by-side syntax-highlighted clear-as-day examples. Otherwise it's just, "must be some weird Perl 6 feature -- the way I'm doing it in blub works fine for me".

Re:Perl 6 Grammars – not only for parsing by chromatic on Wednesday November 24, 2010 @02:10PM (#1938242)
Perhaps you could provide an example of a situation where grammars and arbitrary tree transformations are more useful than looping over repeated regular expressions?

Any parsing operation which needs to keep in mind state.

Re:Perl 6 Grammars – not only for parsing by cookietime on Thursday November 25, 2010 @02:12AM (#1939588)
That sounds like a good brief description of an example, but like I said, for people to get that "a ha" moment, it's got to be written up so it can be presented right there in front of them.

My current language is already fairly useful for "Any parsing operation which needs to keep in mind state" ... if you want users to look at Perl 6, then it's going to take concrete written-out examples. No in-jokes or historical anecdotes; just actually show how Perl 6 does it better. Over and over, until it sinks in.

People who don't already know Perl 6 are not going to just take your word for it. They need to be shown easy-to-follow examples of Perl 6 solving problems that are more difficult to solve in their current language.

Re:Perl 6 Grammars – not only for parsing by eru on Tuesday November 23, 2010 @06:11PM (#1935775)
Oh, Python 3000 is now around ten years old? How time flies by..
Re:Perl 6 Grammars – not only for parsing by hippich on Tuesday November 23, 2010 @05:24PM (#1935632)
I can't say anything about Perl 6, I never really used it yet.

I can say about Perl 5 - check out Catalyst framework. I am pretty sure (if you throw away all prejudices) you will like it. Especially, check their chained actions.

This is web side. Can't say anything about server side, since I am using perl for web projects.

Re:Perl 6 Grammars – not only for parsing by davidw on Wednesday November 24, 2010 @02:55AM (#1936806)
PHP was its own, independent effort. It doesn't really have anything to do with Perl. People migrated to it because it was easier to deploy (just put it on the web server), and probably easier to write for many people.
Re:Perl 6 Grammars – not only for parsing by whiskeyjack on Wednesday November 24, 2010 @10:31AM (#1937600)
PHP was originally a layer over Perl. It's in the first paragraph of the history.

It doesn't NOW have anything to do with Perl... but it's pretty easy to see some of that history in the code.

Re:Perl 6 Grammars – not only for parsing by davidw on Wednesday November 24, 2010 @10:40AM (#1937627)
The post I was responding too makes it sound like PHP was some sort of fork of Perl, which is most certainly not the case.

You're right of course that there are some things that were borrowed.

Re:Perl 6 Grammars – not only for parsing by scott_s on Tuesday November 23, 2010 @02:54PM (#1935085)
It would be wonderful if someone more familiar with Perl 6 could give a code break-down of what is going on.
Re:Perl 6 Grammars – not only for parsing by Natsu on Tuesday November 23, 2010 @03:51PM (#1935308)
I only know Perl 5, but I can figure out enough of it to give an educated guess. It seems like he's using the token returned by the grammar to select a method of the same name. So when he gets the token e404, he'll call the method e404 which does a make "404: Not found"

The grammar is something new in Perl 6, but it looks like there are a bunch of regexes that match different tokens. That makes me wonder how well it handles a buggy, ambiguous grammar, where the regexes overlap and something could be parsed as a token of two or more types. First rule wins?

Guess I should read some of chromatic's book over Thanksgiving so I'd understand more of this...

Re:Perl 6 Grammars – not only for parsing by colomon on Tuesday November 23, 2010 @04:15PM (#1935397)
Yes, using

    Mysite.parse($req, :actions(Mysite::Actions.new))
says "Parse $req using grammar Mysite and actions Mysite::Actions.new." When a token is found, the action method with the same name is called. As I understand it, the idea with separating token and action like that is one grammar can be associated with more than one set of actions.