in reply to Re^2: Smart match in p5
in thread Smart match in p5

I know that idiom plays a large part of understanding a language, but I feel like neither of those examples are particularly self-documenting or literate.

Saying "Given X, when A, B, C, do T" does not roll off the tongue. It doesn't express any particular relationship between X and the list. It doesn't help me understand what the when operator does. Are we iterating? Triggering? You said "smart matching," but uh, that still leaves my uninitiated brain lost. Also, "when" connotates time or passive reaction to me, not compliance or active processing.

"Given X, if it matches any of A, B, C, do T" is a step up. Going from a complicated concept of "does whatever you want" to a more specific concept of "performs this particular comparison" is a shift toward self-documentary or literate programming.

As you can see, I am very dubious of the value of Perl6, and this sort of divergence from pragmatic programming to ethereal ivory-tower philosophizing just doesn't get me any closer to enjoying the changes in the language. The language should express generic problem-solving succinctly, but not so tersely it cannot be understood concretely.

--
[ e d @ h a l l e y . c c ]

Replies are listed 'Best First'.
Re^4: Smart match in p5
by Juerd (Abbot) on Mar 14, 2005 at 18:37 UTC

    Let's discuss that in a separate thread. Do note that switch/case (just spelled differently in Perl) is much requested and exists in many languages. See the link to S04 to see the table of how matches operate. If you don't know what S04 is, then you should indeed read it before questioning the use of what it describes.

    Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }