I'd like to point out that Todd is from Perl 5, which doesn't distinguish
between subs and methods because its built-in OO is a minimalist hack. An
introduction to true objects might be in order.

On Tue, Sep 11, 2018 at 8:34 AM Simon Proctor <simon.proc...@gmail.com>
wrote:

> Also Todd I gave a talk on signatures types and multi methods at The Perl
> Conference this year.
>
> https://www.youtube.com/watch?v=Sy-qb5nXKyc&t=8606s
>
> That should be just before the start.
>
>
> https://www.slideshare.net/SimonProctor8/perl6-signatures-types-and-multicall
>
> Slides are here.
>
> Hope this helps.
>
> Simon
>
> On Tue, 11 Sep 2018 at 13:05 Simon Proctor <simon.proc...@gmail.com>
> wrote:
>
>> 1) why is it a "method" and not a "function"?
>>
>> methods are all on instance of a Class (or Role) they can locally access
>> the instances data via self or $ or ... see below.
>>
>> 1-1/2) why is there a color after a$?  What happens to $a?
>>
>> You can as an extra option give your instance object a different name,
>> you seperate that from the rest of the args with a :
>>
>> 2) What is an "invocant"?  Does it mean I can access it
>>     by placing it after something with a dot?  Sort of
>>     like
>>          contains("abc", "b")
>>          "abc".contians("b")
>>
>> The incovant is the object you invoke the method on. It's the thing that
>> gets assigned to self, $ (and whatever else you want to call it)
>>
>> 3) What makes the "invocant" special over the other second
>>     and third parameters?
>>
>> See about
>>
>>  > class Foo {
>>
>> 4) I see no class called "Foo" over on
>>     https://docs.perl6.org/type.html
>>
>> That's a class being defined for this example
>>
>> 5) Are they creating a new class?  If so, why?
>>
>> To make an example
>>
>>  >    method whoami($me:) {
>>
>> 6) where is @b and %c?
>>
>> In this case thet aren't being passed.
>>
>>
>>  >        "Well I'm class $me.^name(), of course!"
>>
>> 7) why is there a caret in front of "name"?
>>
>> There are certain Meta Object methods that are access with a ^ infront of
>> the name. I'd need to check the exact definition though.
>>
>> Please note the Perl5 docs have had decades of people working on them the
>> Perl6 ones.... less so. There's bound to be some difference in scope.
>>
>> On Tue, 11 Sep 2018 at 12:11 ToddAndMargo <toddandma...@zoho.com> wrote:
>>
>>> On 09/11/2018 03:30 AM, JJ Merelo wrote:
>>> > Also, "is no help whatsoever" is no help whatsoever. Saying what part
>>> of
>>> > it is not clear enough, or could be explained better, is.
>>> >
>>>
>>> Well now,
>>>
>>>  >  method ($a: @b, %c) {};       # first argument is the invocant
>>>
>>> 1) why is it a "method" and not a "function"?
>>>
>>> 1-1/2) why is there a color after a$?  What happens to $a?
>>>
>>> 2) What is an "invocant"?  Does it mean I can access it
>>>     by placing it after something with a dot?  Sort of
>>>     like
>>>          contains("abc", "b")
>>>          "abc".contians("b")
>>>
>>> 3) What makes the "invocant" special over the other second
>>>     and third parameters?
>>>
>>>  > class Foo {
>>>
>>> 4) I see no class called "Foo" over on
>>>     https://docs.perl6.org/type.html
>>>
>>> 5) Are they creating a new class?  If so, why?
>>>
>>>  >    method whoami($me:) {
>>>
>>> 6) where is @b and %c?
>>>
>>>  >        "Well I'm class $me.^name(), of course!"
>>>
>>> 7) why is there a caret in front of "name"?
>>>
>>>  >    }
>>>  >  }
>>>  >
>>>  >
>>>  >  say Foo.whoami; # OUTPUT: «Well I'm class Foo, of course!␤»
>>>
>>> 8) no clue how they got there
>>>
>>>
>>> JJ, have you ever used Perl 5's perldocs?  They are a bazillion
>>> times easier to understand than Perl 6's.
>>>
>>> Thank you for the help with this?
>>>
>>> -T
>>>
>> --
>> Simon Proctor
>> Cognoscite aliquid novum cotidie
>>
> --
> Simon Proctor
> Cognoscite aliquid novum cotidie
>


-- 
brandon s allbery kf8nh
allber...@gmail.com

Reply via email to