> On 15 Oct 2015, at 12:57, Mark Overmeer <m...@overmeer.net> wrote:
> * Elizabeth Mattijsen (l...@dijkmat.nl) [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:) {} # 
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  :-)


Reply via email to