> 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.


Reply via email to