On 12/26/20 2:50 PM, Ralph Mellor wrote:
Is this .self with a better name?
No.

I know you've been progressing in your understanding of
OO in general, and Raku's in particular, since you wrote
this email. So I won't explain it for now, but rather just try
to confirm you now know what that bit of code is doing.

So, would you say you now understand that `.value` is a
method call on an "invocant" that is either explicitly written
to the left of the `.` or is implicitly whatever the current topic
is where the `.value` appears?

No idea since you hinted to a newbie like myself.

I do know that .value comes from the class definition

https://github.com/rakudo/rakudo/blob/5df809e29cd2e7ae496a33013b27d2f7b52c7f7d/src/Perl6/bootstrap.c/BOOTSTRAP.nqp#L3427

3427: Str.HOW.add_attribute(Str, BOOTSTRAPATTR.new(:name<$!value>, :type(str), :box_target(1), :package(Str)));

And I would not say it was a method call.  I would say
it is a "class" from

https://github.com/rakudo/rakudo/blob/5df809e29cd2e7ae496a33013b27d2f7b52c7f7d/src/Perl6/bootstrap.c/BOOTSTRAP.nqp#L19

19: my class BOOTSTRAPATTR {


So I still find the word "invocant" a bit bizarre.

    https://www.merriam-webster.com/dictionary/invocant
    Definition of invocant
       : one that invokes

    https://www.merriam-webster.com/dictionary/invokes
    Definition of invoke

    transitive verb
       1a : to petition for help or support
       b  : to appeal to or cite as authority
       2  : to call forth by incantation : conjure
       3  : to make an earnest request for : solicit
       4  : to put into effect or operation : implement
       5  : bring about, cause

So from "context", what I pick up is that

  1. it is an awful term to have used

  2. that
        24.cos
     either the 24 appeals/requests to cos to do something
     making the 24 the invocant,
  or
     .cos is the invocant and takes the 24 and appeals to
     the code inside the method to "bring about" something.
     The 24 may or may not be needed for the appeal, as
     in ".rand"

So it is better to just tell me and not hint around.
I do appreciate your efforts a lot though.  Who
"executes what" who be a better tactic.

-T



Reply via email to