develooper Front page | perl.perl6.language | Postings from July 2005

Re: User-defined infix subs/methods?

Thread Previous | Thread Next
From:
Larry Wall
Date:
July 13, 2005 09:34
Subject:
Re: User-defined infix subs/methods?
Message ID:
20050713162828.GA3078@wall.org
On Wed, Jul 13, 2005 at 05:10:14PM +0200, Michele Dondi wrote:
: On Tue, 12 Jul 2005, Larry Wall wrote:
: 
: >Good, I'd forgotten about that.  Which means that it's even harder
: >for someone to compile a module in a "strange" dialect, since they'd
: >essentially have to write their own version of "use" that forces
: >recompilation ("reuse", if you will).  And the harder we make it to
: >write "reuse", the better.
: 
: IIUC this will introduce a certain degree of asymmetry though, in that in 
: some sense p6 will be extremely generous in giving users the ability to 
: use whatever dialect/syntax modification they like in their programs but 
: just at the same time it will try to make it hard for them to do so when 
: refactoring code into suitable modules. Ain't it so?

Well, yes and no.

No, it just means you need to make sure you copy the "pedigree"
into the new module, if you want the same language.  Since we have
policy modules, this could be as simple as copying a single "use
MyLanguage;".  I don't mind making some of the pedigree information
indirect like that, as long as the indirection itself is explicit.
But I will always resist any proposal to move pedigree information
out into the implicit environment.  That would be as useful as URI
you don't know the root of.  It would be a good way to fragment the
Perl community into a tower of babble.

That being said, yes, it will make refactoring harder to the extent
you've mixed the language pedigree in with the actual code you're
trying to refactor.  But then, detangling that sort of mixup is
precisely what refactoring is all about, ain't it?

Larry

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About