> On 15 Oct 2015, at 11:06, Tobias Leich <em...@froggs.de> wrote: > Am 15.10.2015 um 10:47 schrieb Smylers: >> Moritz Lenz writes: >> >>> On 10/13/2015 10:52 AM, Richard Hainsworth wrote: >>> >>>> Following on the :D not :D thread, something odd stuck out. >>>> >>>> On 10/13/2015 03:17 PM, Moritz Lenz wrote: >>>>> We have 390+ modules, and hand-waving away all trouble of >>>>> maintaining them seems a bit lofty. >>>> Surely, the idea of keeping the release number below 1.0 is to warn >>>> early adopter developers that code is subject to change and thus in >>>> need of maintenance? >>> ... a large percentage of the module updates are done by group of >>> maybe five to a dozen volunteers. ... 5 people updating 70% of 390 >>> modules. Modules they are usually not all that familiar with, and >>> usually don't have direct access. So they need to go through the pull >>> request dance, waiting for reaction from the maintainer. In short, it >>> sucks. >> Thanks for the explanation, Moritz. That does make sense. >> >> I'm still a _little_ uneasy because that sounds a bit like the >> explanation of why Makefiles have to use tab characters: >> >> I just did something simple with the pattern newline-tab. It worked, >> it stayed. And then a few weeks later I had a user population of about >> a dozen, most of them friends, and I didn't want to screw up my >> embedded base. The rest, sadly, is history. >> >> — Stuart Feldman http://stackoverflow.com/a/1765566/1366011 >> >> Though the important difference is that invisible whitespace characters >> that some editors don't even let you type are particularly >> beginner-hostile, whereas allowing undef arguments where they don't make >> sense (and hence where callers don't generally try supplying undef) is >> something that many Perl 5 programs have been doing for years with no >> widespread harm. >> >> Cheers >> >> Smylers > Btw, In my opinion the current model about :D etc is very correct. I > don't see any need to change the > defaults as how type objects or their definedness is implementet. > Changing for example the params > to mean Int:D by default when one writes Int is something you have to > explain a lot. And in fact it is a lie. > There are some basic rules about Perl 6 like TIMTOWTDI and DRY, but > there is also a rule about "All is > fair if you predeclare". But if I don't predeclare that I mean Int:D by > writing Int, then the compiler is > not allowed to change the meaning of what I wrote.
FWIW, I’m with FROGGS on this. Because Perl 6 has gradual typing. Going automatically from Int to Int:D, doesn’t feel gradual for me. If you want this behaviour in your code, it is as easy as adding a: use variables :D; at the top of the scope of your code, and then you’re set. I admit it feels a *little* like the “use strict” boilerplate of Perl 5. On the other hand, I think by just specifying a type *without* smiley, is already so much better than the situation in Perl 5 that the lacking strictness of :D will not be needed much to catch programming / garbage in type of errors anyway. Liz