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