http://www.perlmonks.org?node_id=346576


in reply to Re: Re: Apocalypse 12
in thread Apocalypse 12

So, on CPAN, we'll get Grammar::Juerd, Grammar::RandomPerlHacker, Grammar::Bleach, Grammar::Pony (might as well move them from ACME::), etc?

Considering the confusion I've seen after posting a few programming snippets that used the defined-or operator, I don't share your opinion. But time will tell.

Abigail

Replies are listed 'Best First'.
Re^2: Apocalypse 12
by adrianh (Chancellor) on Apr 20, 2004 at 15:58 UTC
    Considering the confusion I've seen after posting a few programming snippets that used the defined-or operator, I don't share your opinion.

    Would there have been less confusion if the snippet had something like use Grammar::DefinedOps «// //=»; at the top?

    The Lisp world copes reasonably well with macros. Pop-11, a nice language I spent several years using, also allowed people to create their own syntax. Nothing terrible happened.

    Yes, the ability to mess with the language at the syntactic level moves from the language developers to the language users. This leads to idiotic language variations that everybody ignores, and clever language variations that everybody uses. If Pop-11 is anything to go by the the most useful will get adopted into the core.

      Would there have been less confusion if the snippet had something like use Grammar::DefinedOps «// //=»; at the top?
      I strongly doubt that. It might be better if you just put a couple of lines of comments at the start, but that doesn't help you if you are on line 100, and the top has scrolled of the screen. It doesn't make programming any easier.
      The Lisp world copes reasonably well with macros.
      And so does C. Just look at the multitude of people who understand the sources of perl.

      Abigail

        If the only tool you have is a macro, everything starts to look like a macro argument.
        I strongly doubt that. It might be better if you just put a couple of lines of comments at the start, but that doesn't help you if you are on line 100, and the top has scrolled of the screen. It doesn't make programming any easier.

        How is this different from introducing refaddr to a module with use Scalar::Util qw(refaddr)? If people can understand that new subroutines can come from modules why should they have problems understanding that new syntax can come from modules? Lispers and Pop-11 coders don't appear to have any problems doing this.

        And so does C

        Comparing C and Lisp macros is hardly comparing like-with-like is it? :-)

        Just look at the multitude of people who understand the sources of perl.

        Perhaps if the Perl 5 lexer/parser/code-planter was designed in a different way more people would be able to understand it? Maybe if it was more modular and more exposed to the end user people would be able to tweak the bits they were interested in tweaking without having to understand all of the source?

Re: Re: Apocalypse 12
by Juerd (Abbot) on Apr 20, 2004 at 15:55 UTC

    So, on CPAN, we'll get Grammar::Juerd, Grammar::RandomPerlHacker, Grammar::Bleach, Grammar::Pony (might as well move them from ACME::), etc?

    I'm hoping for Dialect::. I want to call my dialect Dialect::Perlego. (Read it however you want. Perl-eg-o (Esperanto for great pearl), Perl-ego, or Per-Lego)

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