> On 15 Oct 2015, at 12:57, Mark Overmeer <[email protected]> wrote:
>
> * Elizabeth Mattijsen ([email protected]) [151015 10:43]:
>> FWIW, I’m with FROGGS on this.
>> use variables :D;
>
> In the first response to this message, Moritz spoke about
> use invocant :D;
> and use parameters :D;
>
> Three different things?
There are actually 4 different default setters:
use variables :D; # works, e.g. ‘my Int $a = 42’
use attributes :D; # works, e.g. ‘has Int $.a = 42’
use invocant :D; # parses, does not work yet, e.g. method a(Int:) {} #
Int:D:
use parameters :D; # parses, does not work yet, e.g. sub a(Int $a) {} # Int: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.
>
> It is.
>
>> 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.
>
> Much better, of course. Programming languages are used by people
> of different taste. Some may find "much better" enough, other people
> want more.
And sometimes less is more :-)
Liz