Re: Is the cosine page wrong?

2020-12-28 Thread ToddAndMargo via perl6-users

On 12/28/20 11:29 PM, Peter Scott wrote:

On 12/28/20 10:57 PM, ToddAndMargo via perl6-users wrote:

On 12/28/20 4:54 AM, Richard Hainsworth wrote:
So please take what I say now as a plea for you to adapt a little, 
not to get pissed off with us even though you do seem to have pissed 
some of us off.


You have very definite ideas about what the documentation should and 
shouldn't be. You have stated them over and over again. The Raku 
community at large - based on replies from multiple individuals over 
the years - disagrees with you.


The Raku community has come to the concensus that there is a 
distinction between Tutorials and Reference, and that the 
Documentation site should contain both. Tutorials define how to use 
some aspect of Raku, with example text and explanation. Reference 
tries to cover as much of the language as possible, covering all the 
methods/subs/names/types etc as possible. Reference is written for a 
person who already knows how to program and who uses Raku. The 
assumption is that if a person reading a reference does not 
understand some term, then s/he will search in the 
documentation on that term to understand it.


No set of documentation standards will please everyone - that's life. 
Even so, there ARE STILL areas of the Raku documentation that are 
lacking (just look at the issues on the Documentation repository, any 
of them raised by our indefatigable JJ).



Hi Richard,

When deciding to write a technical article, the
VERY FIRST thing you have to do is determine
your TARGET AUDIENCE.

In a single sentence, please state for me what
you believe the TARGET AUDIENCE is for the
documentation.


Richard stated the target audience for reference documentation quite 
clearly: Someone who already knows how to program and uses Raku. 
Multiple people have told you many times over several years that the 
purpose of reference documentation is to provide a complete description 
of the elements of a language expressed in concise formal notation, and 
is not to be confused with tutorials. Your condescending tone indicates 
you haven't listened and are still trying to convince them that they are 
wrong. It isn't going to work.



Peter,

I am, not being condescending.  If you sense anything,
it is frustration.

I will accept your target audience:

  "Someone who already knows how to program and
  uses 'Raku.'"

I will also accept that the documentation is not for me
or anyone else trying to learn Raku.  This is different
than any other programming language I have used, but
it is what it is.  Not my call.

And by your description of the target audience, I am
correct when I say the documentation is meant for
those that already know what they are doing.

   "language expressed in concise formal notation, and
   is not to be confused with tutorials"

Well now, they need to get on the same page as you:

https://docs.raku.org/language/classtut
"A tutorial about creating and using classes in Raku"

It is clearly stated that it is a tutorial, although
it is not.  It is what you describe  above.  This is
part of my frustration.

Please do not confuse frustration with condescension.

-T








Re: Is the cosine page wrong?

2020-12-28 Thread Peter Scott

On 12/28/20 10:57 PM, ToddAndMargo via perl6-users wrote:

On 12/28/20 4:54 AM, Richard Hainsworth wrote:
So please take what I say now as a plea for you to adapt a little, 
not to get pissed off with us even though you do seem to have pissed 
some of us off.


You have very definite ideas about what the documentation should and 
shouldn't be. You have stated them over and over again. The Raku 
community at large - based on replies from multiple individuals over 
the years - disagrees with you.


The Raku community has come to the concensus that there is a 
distinction between Tutorials and Reference, and that the 
Documentation site should contain both. Tutorials define how to use 
some aspect of Raku, with example text and explanation. Reference 
tries to cover as much of the language as possible, covering all the 
methods/subs/names/types etc as possible. Reference is written for a 
person who already knows how to program and who uses Raku. The 
assumption is that if a person reading a reference does not 
understand some term, then s/he will search in the 
documentation on that term to understand it.


No set of documentation standards will please everyone - that's life. 
Even so, there ARE STILL areas of the Raku documentation that are 
lacking (just look at the issues on the Documentation repository, any 
of them raised by our indefatigable JJ).



Hi Richard,

When deciding to write a technical article, the
VERY FIRST thing you have to do is determine
your TARGET AUDIENCE.

In a single sentence, please state for me what
you believe the TARGET AUDIENCE is for the
documentation.


Richard stated the target audience for reference documentation quite 
clearly: Someone who already knows how to program and uses Raku. 
Multiple people have told you many times over several years that the 
purpose of reference documentation is to provide a complete description 
of the elements of a language expressed in concise formal notation, and 
is not to be confused with tutorials. Your condescending tone indicates 
you haven't listened and are still trying to convince them that they are 
wrong. It isn't going to work.


Re: Is the cosine page wrong?

2020-12-28 Thread ToddAndMargo via perl6-users

On 12/28/20 4:54 AM, Richard Hainsworth wrote:
But they may be useful to someone. Even worse, it is not possible for me 
to find a collection of your keepers because they are in posts to this 
email list, and I am not going to search through thousands of emails for 
your keepers on something whose keywords I would need to guess at. So 
the form you have made the keepers available is not easily accessible.



Indeed.  Maybe in the future.

In the mean time, if you or anyone else on the
list thinks I may have a Keeper that might help
them, I would be more than glad to share it.
Just place "Ping Todd" in the subject line.




Re: Is the cosine page wrong?

2020-12-28 Thread ToddAndMargo via perl6-users

On 12/28/20 4:54 AM, Richard Hainsworth wrote:
So please take what I say now as a plea for you to adapt a little, not 
to get pissed off with us even though you do seem to have pissed some of 
us off.


You have very definite ideas about what the documentation should and 
shouldn't be. You have stated them over and over again. The Raku 
community at large - based on replies from multiple individuals over the 
years - disagrees with you.


The Raku community has come to the concensus that there is a distinction 
between Tutorials and Reference, and that the Documentation site should 
contain both. Tutorials define how to use some aspect of Raku, with 
example text and explanation. Reference tries to cover as much of the 
language as possible, covering all the methods/subs/names/types etc as 
possible. Reference is written for a person who already knows how to 
program and who uses Raku. The assumption is that if a person reading a 
reference does not understand some term, then s/he will search in the 
documentation on that term to understand it.


No set of documentation standards will please everyone - that's life. 
Even so, there ARE STILL areas of the Raku documentation that are 
lacking (just look at the issues on the Documentation repository, any of 
them raised by our indefatigable JJ).



Hi Richard,

When deciding to write a technical article, the
VERY FIRST thing you have to do is determine
your TARGET AUDIENCE.

In a single sentence, please state for me what
you believe the TARGET AUDIENCE is for the
documentation.

Many thanks,
-T



Re: Is the cosine page wrong?

2020-12-28 Thread ToddAndMargo via perl6-users

On 12/28/20 4:54 AM, Richard Hainsworth wrote:

Todd,

Some of what you have said in this email list over the years has been 
very valuable. You ask questions that get some very illuminating 
answers. I wrote a Module just for you (although I' still trying to get 
it to work on Windows) and it inspired me to look much more deeply at 
GTK::Simple, which I have just become the maintainer for.


So please take what I say now as a plea for you to adapt a little, not 
to get pissed off with us even though you do seem to have pissed some of 
us off.


You have very definite ideas about what the documentation should and 
shouldn't be. You have stated them over and over again. The Raku 
community at large - based on replies from multiple individuals over the 
years - disagrees with you.


The Raku community has come to the concensus that there is a distinction 
between Tutorials and Reference, and that the Documentation site should 
contain both. Tutorials define how to use some aspect of Raku, with 
example text and explanation. Reference tries to cover as much of the 
language as possible, covering all the methods/subs/names/types etc as 
possible. Reference is written for a person who already knows how to 
program and who uses Raku. The assumption is that if a person reading a 
reference does not understand some term, then s/he will search in the 
documentation on that term to understand it.


No set of documentation standards will please everyone - that's life. 
Even so, there ARE STILL areas of the Raku documentation that are 
lacking (just look at the issues on the Documentation repository, any of 
them raised by our indefatigable JJ).


However, the balances between prolixity and brevity, examples and 
assumption of knowledge, exhibited in the Raku Documentation do by and 
large reflect a community consensus.


It is polite in a community of rational human beings to accept what 
seems to be the general consensus, even if you do not agree with it. By 
continuing to demand your views about documentation should be accepted 
without any support from anyone else, is quite irritating. So please try 
to find a different way to express ways to improve the documentation 
that will not piss people off.


You have suggested in this email list a variety of 'keepers', which seem 
to be the way you document your use of Raku. However, these 'keeper' 
texts are full of spelling mistakes, indicating you do not use a 
spell-checker, and also are ambiguous or technically wrong. Personally, 
I have not found your keepers to have been any use at all. But they may 
be useful to someone. Even worse, it is not possible for me to find a 
collection of your keepers because they are in posts to this email list, 
and I am not going to search through thousands of emails for your 
keepers on something whose keywords I would need to guess at. So the 
form you have made the keepers available is not easily accessible.


In addition, the way the Raku community has evolved to work is to make 
changes to Documentation, whether Tutorials or Reference, by actually 
suggesting changes. If you look on the upper right of any primary 
document (the docs.raku.org site displays pages that are both 
automatically generated from primary documents, and the primary 
documents themselves - basically the documents referenced from the home 
page), you will see a Pencil icon. Click on that, and you will be taken 
to the github site and you can directly edit the document. The change is 
then submitted as a Pull Request, and it will be reviewed. If the change 
is seen to be reasonable, it is included.


In this way, every single member of the Raku Community has the ability 
to make or suggest a contribution.


However, a word of caution about human nature. If you go and try to 
completely change all the documentation to the way you want it, trashing 
everything that has already been contributed, it is extremely unlikely 
that your amendments will ever be accepted. Further, you run the risk 
that contributions with your name will never be considered by the Core 
Developers because they have rejected PRs you made before.


Contribute in a way that enhances the Documentation, and your work will 
be praised.


I hope whatever end of year, mid-winter or religious festival you 
celebrated was festive, even in our pandemic afflicted world, and I wish 
you a safe and productive CE 2021.


Regards,

Richard



Hi Richard,

Thank you for the insightful letter.  Please know that I do deeply 
appreciate the help people give me here and think the

world of everyone who helps me.  I have zero intention of
pissing anyone off.  That would be a very foolish move
on my part.

I do not believe the documentation should be completely
changed, but instead added to make things more
understandable.   I do believe the framework is generally
good.  I believe the documentation should be build on and
not trashed and redone.  I do apologize for any 
misconception/misunderstanding I may 

Re: I need help understanding ".contains" method construction

2020-12-28 Thread ToddAndMargo via perl6-users

On 12/28/20 7:11 AM, Parrot Raiser wrote:

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

2,3,4 and possibly even #5 relate to methods.

Simply referring to a method by name, like .rand invokes it directly.
Giving it a value (24.cos) is closer to #3 ("please give me this
value"), and it doesn't matter whether that's a literal or generated
from a variable of some sort.

" invocantn. One who calls upon or invokes."

It could be argued that the calling program is the invocant, but if a
process snoozes until something arrives in its in-box, then does an
action in response, it's a reasonable extension to call the
"something" an invocant. Think of dropping a coin into a soft-drink
machine; the coin invokes the can, even if the former owner of the
coin started the process.


Hi Parrot,

I feel a bit guilty as you put so much work and
thought into your response.  I still don't know
what you mean.

$A = 24.cos;
$B = .rand;

Who is invoking?  The "=" sign?  The "24"?
The ".cos" or ".rand"?  Or all of them.

I really do prefer the term "call".

Please do no feel frustrated though, in my Perl 5
days, I could never tell if I was being hosed
when I got told "it's lexiconical".  At least
"invokant" is a real word.

-T


Re: Checking for nil return

2020-12-28 Thread Brad Gilbert
The closest to null is actually an undefined type object

On Mon, Dec 28, 2020, 3:36 PM yary  wrote:

> Been thinking about this, and checked out the Rakudo repository to peek
> into the source.
>
> Allowing Failure as a return always makes sense to me– every block needs
> to be capable of passing along a failure, that's how the language is
> designed.
>
> On the other hand, Nil is not a Failure. Conceptually it is a lack of an
> answer, similar to SQL's null concept.
>
> What's the usefulness of having Nil skip return type checking-
> specifically Nil and not its Failure descendents?
>
> This example under https://docs.raku.org/type/Nil shows what I think is a
> less-than-awesome specification, and I am curious about the reasoning
> behind it being defined as valid
>
> sub a( --> Int:D ) { return Nil }
>
>
>
> -y
>
>
> On Sun, Dec 20, 2020 at 7:18 PM Brad Gilbert  wrote:
>
>> Nil is always a valid return value regardless of any check.
>>
>> This is because it is the base of all failures.
>>
>> On Sat, Dec 19, 2020, 8:17 PM yary  wrote:
>>
>>> Is this a known issue, or my misunderstanding?
>>>
>>> > subset non-Nil where * !=== Nil;
>>> (non-Nil)
>>> > sub out-check($out) returns non-Nil { return $out }
>>> 
>>> > out-check(44)
>>> 44
>>> > out-check(Nil)
>>> Nil
>>>
>>> ^ Huh, I expected an exception on "out-check(Nil)" saying the return
>>> value failed the "returns" constraint.
>>>
>>> The subtype works as I expect as an the argument check
>>>
>>> > sub in-check (non-Nil $in) { $in }
>>> 
>>> > in-check(33)
>>> 33
>>> > in-check(Nil)
>>> Constraint type check failed in binding to parameter '$in'; expected
>>> non-Nil but got Nil (Nil)
>>>   in sub in-check at  line 1
>>>   in block  at  line 1
>>>
>>> $ raku --version
>>> This is Rakudo version 2020.07 built on MoarVM version 2020.07
>>> implementing Raku 6.d.
>>>
>>> Is this my understanding of return type checking that's off, or a known
>>> issue, or something I should add to an issue tracker?
>>>
>>> -y
>>>
>>


Re: Checking for nil return

2020-12-28 Thread yary
Been thinking about this, and checked out the Rakudo repository to peek
into the source.

Allowing Failure as a return always makes sense to me– every block needs to
be capable of passing along a failure, that's how the language is designed.

On the other hand, Nil is not a Failure. Conceptually it is a lack of an
answer, similar to SQL's null concept.

What's the usefulness of having Nil skip return type checking- specifically
Nil and not its Failure descendents?

This example under https://docs.raku.org/type/Nil shows what I think is a
less-than-awesome specification, and I am curious about the reasoning
behind it being defined as valid

sub a( --> Int:D ) { return Nil }



-y


On Sun, Dec 20, 2020 at 7:18 PM Brad Gilbert  wrote:

> Nil is always a valid return value regardless of any check.
>
> This is because it is the base of all failures.
>
> On Sat, Dec 19, 2020, 8:17 PM yary  wrote:
>
>> Is this a known issue, or my misunderstanding?
>>
>> > subset non-Nil where * !=== Nil;
>> (non-Nil)
>> > sub out-check($out) returns non-Nil { return $out }
>> 
>> > out-check(44)
>> 44
>> > out-check(Nil)
>> Nil
>>
>> ^ Huh, I expected an exception on "out-check(Nil)" saying the return
>> value failed the "returns" constraint.
>>
>> The subtype works as I expect as an the argument check
>>
>> > sub in-check (non-Nil $in) { $in }
>> 
>> > in-check(33)
>> 33
>> > in-check(Nil)
>> Constraint type check failed in binding to parameter '$in'; expected
>> non-Nil but got Nil (Nil)
>>   in sub in-check at  line 1
>>   in block  at  line 1
>>
>> $ raku --version
>> This is Rakudo version 2020.07 built on MoarVM version 2020.07
>> implementing Raku 6.d.
>>
>> Is this my understanding of return type checking that's off, or a known
>> issue, or something I should add to an issue tracker?
>>
>> -y
>>
>


Re: Is the cosine page wrong?

2020-12-28 Thread Parrot Raiser
P.R. submitted for step #2

On 12/28/20, Richard Hainsworth  wrote:
> This seems to have been fixed already.
>
> The speed this problem was noted and fixed demonstrates (a) the
> importance given to documentation, and (b) the diligence of JJ.
>
> Kudos to JJ and those who helped fix the problem.
>
> Richard
>
> On 28/12/2020 15:35, Elizabeth Mattijsen wrote:
>> https://github.com/Raku/doc/issues/3753
>>
>>> On 28 Dec 2020, at 16:23, Parrot Raiser <1parr...@gmail.com> wrote:
>>>
>>> I just went to the page at docs.raku.org on multi-line comments, to
>>> suggest a couple of clarifying edits. The pencil icon invoked a 404
>>> from GitHub.
>>>
>>> When one goes to make a fix, and the fixer is broken, it's a bit
>>> recursive. Can anyone cure problem #1, so I can get to step #2? :-)*
>>>
>>> On 12/28/20, Elizabeth Mattijsen  wrote:
 ❤️

> On 28 Dec 2020, at 13:54, Richard Hainsworth 
> wrote:
>
> Todd,
>
> Some of what you have said in this email list over the years has been
> very
> valuable. You ask questions that get some very illuminating answers. I
> wrote a Module just for you (although I' still trying to get it to work
> on
> Windows) and it inspired me to look much more deeply at GTK::Simple,
> which
> I have just become the maintainer for.
>
> So please take what I say now as a plea for you to adapt a little, not
> to
> get pissed off with us even though you do seem to have pissed some of
> us
> off.
>
> You have very definite ideas about what the documentation should and
> shouldn't be. You have stated them over and over again. The Raku
> community
> at large - based on replies from multiple individuals over the years -
> disagrees with you.
>
> The Raku community has come to the concensus that there is a
> distinction
> between Tutorials and Reference, and that the Documentation site
> should
> contain both. Tutorials define how to use some aspect of Raku, with
> example text and explanation. Reference tries to cover as much of the
> language as possible, covering all the methods/subs/names/types etc as
> possible. Reference is written for a person who already knows how to
> program and who uses Raku. The assumption is that if a person reading
> a
> reference does not understand some term, then s/he will search in the
> documentation on that term to understand it.
>
> No set of documentation standards will please everyone - that's life.
> Even
> so, there ARE STILL areas of the Raku documentation that are lacking
> (just
> look at the issues on the Documentation repository, any of them raised
> by
> our indefatigable JJ).
>
> However, the balances between prolixity and brevity, examples and
> assumption of knowledge, exhibited in the Raku Documentation do by and
> large reflect a community consensus.
>
> It is polite in a community of rational human beings to accept what
> seems
> to be the general consensus, even if you do not agree with it. By
> continuing to demand your views about documentation should be accepted
> without any support from anyone else, is quite irritating. So please
> try
> to find a different way to express ways to improve the documentation
> that
> will not piss people off.
>
> You have suggested in this email list a variety of 'keepers', which
> seem
> to be the way you document your use of Raku. However, these 'keeper'
> texts
> are full of spelling mistakes, indicating you do not use a
> spell-checker,
> and also are ambiguous or technically wrong. Personally, I have not
> found
> your keepers to have been any use at all. But they may be useful to
> someone. Even worse, it is not possible for me to find a collection of
> your keepers because they are in posts to this email list, and I am
> not
> going to search through thousands of emails for your keepers on
> something
> whose keywords I would need to guess at. So the form you have made the
> keepers available is not easily accessible.
>
> In addition, the way the Raku community has evolved to work is to make
> changes to Documentation, whether Tutorials or Reference, by actually
> suggesting changes. If you look on the upper right of any primary
> document
> (the docs.raku.org site displays pages that are both automatically
> generated from primary documents, and the primary documents themselves
> -
> basically the documents referenced from the home page), you will see a
> Pencil icon. Click on that, and you will be taken to the github site
> and
> you can directly edit the document. The change is then submitted as a
> Pull
> Request, and it will be reviewed. If the change is seen to be
> reasonable,
> it is included.
>
> In this way, every 

Re: Is the cosine page wrong?

2020-12-28 Thread Richard Hainsworth

This seems to have been fixed already.

The speed this problem was noted and fixed demonstrates (a) the 
importance given to documentation, and (b) the diligence of JJ.


Kudos to JJ and those who helped fix the problem.

Richard

On 28/12/2020 15:35, Elizabeth Mattijsen wrote:

https://github.com/Raku/doc/issues/3753


On 28 Dec 2020, at 16:23, Parrot Raiser <1parr...@gmail.com> wrote:

I just went to the page at docs.raku.org on multi-line comments, to
suggest a couple of clarifying edits. The pencil icon invoked a 404
from GitHub.

When one goes to make a fix, and the fixer is broken, it's a bit
recursive. Can anyone cure problem #1, so I can get to step #2? :-)*

On 12/28/20, Elizabeth Mattijsen  wrote:

❤️


On 28 Dec 2020, at 13:54, Richard Hainsworth 
wrote:

Todd,

Some of what you have said in this email list over the years has been very
valuable. You ask questions that get some very illuminating answers. I
wrote a Module just for you (although I' still trying to get it to work on
Windows) and it inspired me to look much more deeply at GTK::Simple, which
I have just become the maintainer for.

So please take what I say now as a plea for you to adapt a little, not to
get pissed off with us even though you do seem to have pissed some of us
off.

You have very definite ideas about what the documentation should and
shouldn't be. You have stated them over and over again. The Raku community
at large - based on replies from multiple individuals over the years -
disagrees with you.

The Raku community has come to the concensus that there is a distinction
between Tutorials and Reference, and that the Documentation site should
contain both. Tutorials define how to use some aspect of Raku, with
example text and explanation. Reference tries to cover as much of the
language as possible, covering all the methods/subs/names/types etc as
possible. Reference is written for a person who already knows how to
program and who uses Raku. The assumption is that if a person reading a
reference does not understand some term, then s/he will search in the
documentation on that term to understand it.

No set of documentation standards will please everyone - that's life. Even
so, there ARE STILL areas of the Raku documentation that are lacking (just
look at the issues on the Documentation repository, any of them raised by
our indefatigable JJ).

However, the balances between prolixity and brevity, examples and
assumption of knowledge, exhibited in the Raku Documentation do by and
large reflect a community consensus.

It is polite in a community of rational human beings to accept what seems
to be the general consensus, even if you do not agree with it. By
continuing to demand your views about documentation should be accepted
without any support from anyone else, is quite irritating. So please try
to find a different way to express ways to improve the documentation that
will not piss people off.

You have suggested in this email list a variety of 'keepers', which seem
to be the way you document your use of Raku. However, these 'keeper' texts
are full of spelling mistakes, indicating you do not use a spell-checker,
and also are ambiguous or technically wrong. Personally, I have not found
your keepers to have been any use at all. But they may be useful to
someone. Even worse, it is not possible for me to find a collection of
your keepers because they are in posts to this email list, and I am not
going to search through thousands of emails for your keepers on something
whose keywords I would need to guess at. So the form you have made the
keepers available is not easily accessible.

In addition, the way the Raku community has evolved to work is to make
changes to Documentation, whether Tutorials or Reference, by actually
suggesting changes. If you look on the upper right of any primary document
(the docs.raku.org site displays pages that are both automatically
generated from primary documents, and the primary documents themselves -
basically the documents referenced from the home page), you will see a
Pencil icon. Click on that, and you will be taken to the github site and
you can directly edit the document. The change is then submitted as a Pull
Request, and it will be reviewed. If the change is seen to be reasonable,
it is included.

In this way, every single member of the Raku Community has the ability to
make or suggest a contribution.

However, a word of caution about human nature. If you go and try to
completely change all the documentation to the way you want it, trashing
everything that has already been contributed, it is extremely unlikely
that your amendments will ever be accepted. Further, you run the risk that
contributions with your name will never be considered by the Core
Developers because they have rejected PRs you made before.

Contribute in a way that enhances the Documentation, and your work will be
praised.

I hope whatever end of year, mid-winter or religious festival you
celebrated was festive, even in our 

Re: Is the cosine page wrong?

2020-12-28 Thread Elizabeth Mattijsen
https://github.com/Raku/doc/issues/3753

> On 28 Dec 2020, at 16:23, Parrot Raiser <1parr...@gmail.com> wrote:
> 
> I just went to the page at docs.raku.org on multi-line comments, to
> suggest a couple of clarifying edits. The pencil icon invoked a 404
> from GitHub.
> 
> When one goes to make a fix, and the fixer is broken, it's a bit
> recursive. Can anyone cure problem #1, so I can get to step #2? :-)*
> 
> On 12/28/20, Elizabeth Mattijsen  wrote:
>> ❤️
>> 
>>> On 28 Dec 2020, at 13:54, Richard Hainsworth 
>>> wrote:
>>> 
>>> Todd,
>>> 
>>> Some of what you have said in this email list over the years has been very
>>> valuable. You ask questions that get some very illuminating answers. I
>>> wrote a Module just for you (although I' still trying to get it to work on
>>> Windows) and it inspired me to look much more deeply at GTK::Simple, which
>>> I have just become the maintainer for.
>>> 
>>> So please take what I say now as a plea for you to adapt a little, not to
>>> get pissed off with us even though you do seem to have pissed some of us
>>> off.
>>> 
>>> You have very definite ideas about what the documentation should and
>>> shouldn't be. You have stated them over and over again. The Raku community
>>> at large - based on replies from multiple individuals over the years -
>>> disagrees with you.
>>> 
>>> The Raku community has come to the concensus that there is a distinction
>>> between Tutorials and Reference, and that the Documentation site should
>>> contain both. Tutorials define how to use some aspect of Raku, with
>>> example text and explanation. Reference tries to cover as much of the
>>> language as possible, covering all the methods/subs/names/types etc as
>>> possible. Reference is written for a person who already knows how to
>>> program and who uses Raku. The assumption is that if a person reading a
>>> reference does not understand some term, then s/he will search in the
>>> documentation on that term to understand it.
>>> 
>>> No set of documentation standards will please everyone - that's life. Even
>>> so, there ARE STILL areas of the Raku documentation that are lacking (just
>>> look at the issues on the Documentation repository, any of them raised by
>>> our indefatigable JJ).
>>> 
>>> However, the balances between prolixity and brevity, examples and
>>> assumption of knowledge, exhibited in the Raku Documentation do by and
>>> large reflect a community consensus.
>>> 
>>> It is polite in a community of rational human beings to accept what seems
>>> to be the general consensus, even if you do not agree with it. By
>>> continuing to demand your views about documentation should be accepted
>>> without any support from anyone else, is quite irritating. So please try
>>> to find a different way to express ways to improve the documentation that
>>> will not piss people off.
>>> 
>>> You have suggested in this email list a variety of 'keepers', which seem
>>> to be the way you document your use of Raku. However, these 'keeper' texts
>>> are full of spelling mistakes, indicating you do not use a spell-checker,
>>> and also are ambiguous or technically wrong. Personally, I have not found
>>> your keepers to have been any use at all. But they may be useful to
>>> someone. Even worse, it is not possible for me to find a collection of
>>> your keepers because they are in posts to this email list, and I am not
>>> going to search through thousands of emails for your keepers on something
>>> whose keywords I would need to guess at. So the form you have made the
>>> keepers available is not easily accessible.
>>> 
>>> In addition, the way the Raku community has evolved to work is to make
>>> changes to Documentation, whether Tutorials or Reference, by actually
>>> suggesting changes. If you look on the upper right of any primary document
>>> (the docs.raku.org site displays pages that are both automatically
>>> generated from primary documents, and the primary documents themselves -
>>> basically the documents referenced from the home page), you will see a
>>> Pencil icon. Click on that, and you will be taken to the github site and
>>> you can directly edit the document. The change is then submitted as a Pull
>>> Request, and it will be reviewed. If the change is seen to be reasonable,
>>> it is included.
>>> 
>>> In this way, every single member of the Raku Community has the ability to
>>> make or suggest a contribution.
>>> 
>>> However, a word of caution about human nature. If you go and try to
>>> completely change all the documentation to the way you want it, trashing
>>> everything that has already been contributed, it is extremely unlikely
>>> that your amendments will ever be accepted. Further, you run the risk that
>>> contributions with your name will never be considered by the Core
>>> Developers because they have rejected PRs you made before.
>>> 
>>> Contribute in a way that enhances the Documentation, and your work will be
>>> praised.
>>> 
>>> I hope whatever end of year, 

Re: Is the cosine page wrong?

2020-12-28 Thread Parrot Raiser
I just went to the page at docs.raku.org on multi-line comments, to
suggest a couple of clarifying edits. The pencil icon invoked a 404
from GitHub.

When one goes to make a fix, and the fixer is broken, it's a bit
recursive. Can anyone cure problem #1, so I can get to step #2? :-)*

On 12/28/20, Elizabeth Mattijsen  wrote:
> ❤️
>
>> On 28 Dec 2020, at 13:54, Richard Hainsworth 
>> wrote:
>>
>> Todd,
>>
>> Some of what you have said in this email list over the years has been very
>> valuable. You ask questions that get some very illuminating answers. I
>> wrote a Module just for you (although I' still trying to get it to work on
>> Windows) and it inspired me to look much more deeply at GTK::Simple, which
>> I have just become the maintainer for.
>>
>> So please take what I say now as a plea for you to adapt a little, not to
>> get pissed off with us even though you do seem to have pissed some of us
>> off.
>>
>> You have very definite ideas about what the documentation should and
>> shouldn't be. You have stated them over and over again. The Raku community
>> at large - based on replies from multiple individuals over the years -
>> disagrees with you.
>>
>> The Raku community has come to the concensus that there is a distinction
>> between Tutorials and Reference, and that the Documentation site should
>> contain both. Tutorials define how to use some aspect of Raku, with
>> example text and explanation. Reference tries to cover as much of the
>> language as possible, covering all the methods/subs/names/types etc as
>> possible. Reference is written for a person who already knows how to
>> program and who uses Raku. The assumption is that if a person reading a
>> reference does not understand some term, then s/he will search in the
>> documentation on that term to understand it.
>>
>> No set of documentation standards will please everyone - that's life. Even
>> so, there ARE STILL areas of the Raku documentation that are lacking (just
>> look at the issues on the Documentation repository, any of them raised by
>> our indefatigable JJ).
>>
>> However, the balances between prolixity and brevity, examples and
>> assumption of knowledge, exhibited in the Raku Documentation do by and
>> large reflect a community consensus.
>>
>> It is polite in a community of rational human beings to accept what seems
>> to be the general consensus, even if you do not agree with it. By
>> continuing to demand your views about documentation should be accepted
>> without any support from anyone else, is quite irritating. So please try
>> to find a different way to express ways to improve the documentation that
>> will not piss people off.
>>
>> You have suggested in this email list a variety of 'keepers', which seem
>> to be the way you document your use of Raku. However, these 'keeper' texts
>> are full of spelling mistakes, indicating you do not use a spell-checker,
>> and also are ambiguous or technically wrong. Personally, I have not found
>> your keepers to have been any use at all. But they may be useful to
>> someone. Even worse, it is not possible for me to find a collection of
>> your keepers because they are in posts to this email list, and I am not
>> going to search through thousands of emails for your keepers on something
>> whose keywords I would need to guess at. So the form you have made the
>> keepers available is not easily accessible.
>>
>> In addition, the way the Raku community has evolved to work is to make
>> changes to Documentation, whether Tutorials or Reference, by actually
>> suggesting changes. If you look on the upper right of any primary document
>> (the docs.raku.org site displays pages that are both automatically
>> generated from primary documents, and the primary documents themselves -
>> basically the documents referenced from the home page), you will see a
>> Pencil icon. Click on that, and you will be taken to the github site and
>> you can directly edit the document. The change is then submitted as a Pull
>> Request, and it will be reviewed. If the change is seen to be reasonable,
>> it is included.
>>
>> In this way, every single member of the Raku Community has the ability to
>> make or suggest a contribution.
>>
>> However, a word of caution about human nature. If you go and try to
>> completely change all the documentation to the way you want it, trashing
>> everything that has already been contributed, it is extremely unlikely
>> that your amendments will ever be accepted. Further, you run the risk that
>> contributions with your name will never be considered by the Core
>> Developers because they have rejected PRs you made before.
>>
>> Contribute in a way that enhances the Documentation, and your work will be
>> praised.
>>
>> I hope whatever end of year, mid-winter or religious festival you
>> celebrated was festive, even in our pandemic afflicted world, and I wish
>> you a safe and productive CE 2021.
>>
>> Regards,
>>
>> Richard
>>
>> On 28/12/2020 11:55, ToddAndMargo via 

Re: I need help understanding ".contains" method construction

2020-12-28 Thread Parrot Raiser
"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"

2,3,4 and possibly even #5 relate to methods.

Simply referring to a method by name, like .rand invokes it directly.
Giving it a value (24.cos) is closer to #3 ("please give me this
value"), and it doesn't matter whether that's a literal or generated
from a variable of some sort.

" invocantn. One who calls upon or invokes."

It could be argued that the calling program is the invocant, but if a
process snoozes until something arrives in its in-box, then does an
action in response, it's a reasonable extension to call the
"something" an invocant. Think of dropping a coin into a soft-drink
machine; the coin invokes the can, even if the former owner of the
coin started the process.


On 12/28/20, ToddAndMargo via perl6-users  wrote:
> 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
>
>
>
>


Re: Is the cosine page wrong?

2020-12-28 Thread Elizabeth Mattijsen
❤️

> On 28 Dec 2020, at 13:54, Richard Hainsworth  wrote:
> 
> Todd,
> 
> Some of what you have said in this email list over the years has been very 
> valuable. You ask questions that get some very illuminating answers. I wrote 
> a Module just for you (although I' still trying to get it to work on Windows) 
> and it inspired me to look much more deeply at GTK::Simple, which I have just 
> become the maintainer for.
> 
> So please take what I say now as a plea for you to adapt a little, not to get 
> pissed off with us even though you do seem to have pissed some of us off.
> 
> You have very definite ideas about what the documentation should and 
> shouldn't be. You have stated them over and over again. The Raku community at 
> large - based on replies from multiple individuals over the years - disagrees 
> with you.
> 
> The Raku community has come to the concensus that there is a distinction 
> between Tutorials and Reference, and that the Documentation site should 
> contain both. Tutorials define how to use some aspect of Raku, with example 
> text and explanation. Reference tries to cover as much of the language as 
> possible, covering all the methods/subs/names/types etc as possible. 
> Reference is written for a person who already knows how to program and who 
> uses Raku. The assumption is that if a person reading a reference does not 
> understand some term, then s/he will search in the documentation on that term 
> to understand it.
> 
> No set of documentation standards will please everyone - that's life. Even 
> so, there ARE STILL areas of the Raku documentation that are lacking (just 
> look at the issues on the Documentation repository, any of them raised by our 
> indefatigable JJ).
> 
> However, the balances between prolixity and brevity, examples and assumption 
> of knowledge, exhibited in the Raku Documentation do by and large reflect a 
> community consensus.
> 
> It is polite in a community of rational human beings to accept what seems to 
> be the general consensus, even if you do not agree with it. By continuing to 
> demand your views about documentation should be accepted without any support 
> from anyone else, is quite irritating. So please try to find a different way 
> to express ways to improve the documentation that will not piss people off.
> 
> You have suggested in this email list a variety of 'keepers', which seem to 
> be the way you document your use of Raku. However, these 'keeper' texts are 
> full of spelling mistakes, indicating you do not use a spell-checker, and 
> also are ambiguous or technically wrong. Personally, I have not found your 
> keepers to have been any use at all. But they may be useful to someone. Even 
> worse, it is not possible for me to find a collection of your keepers because 
> they are in posts to this email list, and I am not going to search through 
> thousands of emails for your keepers on something whose keywords I would need 
> to guess at. So the form you have made the keepers available is not easily 
> accessible.
> 
> In addition, the way the Raku community has evolved to work is to make 
> changes to Documentation, whether Tutorials or Reference, by actually 
> suggesting changes. If you look on the upper right of any primary document 
> (the docs.raku.org site displays pages that are both automatically generated 
> from primary documents, and the primary documents themselves - basically the 
> documents referenced from the home page), you will see a Pencil icon. Click 
> on that, and you will be taken to the github site and you can directly edit 
> the document. The change is then submitted as a Pull Request, and it will be 
> reviewed. If the change is seen to be reasonable, it is included.
> 
> In this way, every single member of the Raku Community has the ability to 
> make or suggest a contribution.
> 
> However, a word of caution about human nature. If you go and try to 
> completely change all the documentation to the way you want it, trashing 
> everything that has already been contributed, it is extremely unlikely that 
> your amendments will ever be accepted. Further, you run the risk that 
> contributions with your name will never be considered by the Core Developers 
> because they have rejected PRs you made before.
> 
> Contribute in a way that enhances the Documentation, and your work will be 
> praised.
> 
> I hope whatever end of year, mid-winter or religious festival you celebrated 
> was festive, even in our pandemic afflicted world, and I wish you a safe and 
> productive CE 2021.
> 
> Regards,
> 
> Richard
> 
> On 28/12/2020 11:55, ToddAndMargo via perl6-users wrote:
>> On 12/25/20 8:10 AM, Ralph Mellor wrote:
 On 12/23/20 4:28 PM, Ralph Mellor wrote:
   > If a method does not explicitly specify its invocant type, it is set
   > to the type of the enclosing class.
 
 But it does not specify an invocant.  It just leaves it blank
>>> 
>>> This is how it works in Raku source code. If there's 

Re: Is the cosine page wrong?

2020-12-28 Thread Richard Hainsworth

Todd,

Some of what you have said in this email list over the years has been 
very valuable. You ask questions that get some very illuminating 
answers. I wrote a Module just for you (although I' still trying to get 
it to work on Windows) and it inspired me to look much more deeply at 
GTK::Simple, which I have just become the maintainer for.


So please take what I say now as a plea for you to adapt a little, not 
to get pissed off with us even though you do seem to have pissed some of 
us off.


You have very definite ideas about what the documentation should and 
shouldn't be. You have stated them over and over again. The Raku 
community at large - based on replies from multiple individuals over the 
years - disagrees with you.


The Raku community has come to the concensus that there is a distinction 
between Tutorials and Reference, and that the Documentation site should 
contain both. Tutorials define how to use some aspect of Raku, with 
example text and explanation. Reference tries to cover as much of the 
language as possible, covering all the methods/subs/names/types etc as 
possible. Reference is written for a person who already knows how to 
program and who uses Raku. The assumption is that if a person reading a 
reference does not understand some term, then s/he will search in the 
documentation on that term to understand it.


No set of documentation standards will please everyone - that's life. 
Even so, there ARE STILL areas of the Raku documentation that are 
lacking (just look at the issues on the Documentation repository, any of 
them raised by our indefatigable JJ).


However, the balances between prolixity and brevity, examples and 
assumption of knowledge, exhibited in the Raku Documentation do by and 
large reflect a community consensus.


It is polite in a community of rational human beings to accept what 
seems to be the general consensus, even if you do not agree with it. By 
continuing to demand your views about documentation should be accepted 
without any support from anyone else, is quite irritating. So please try 
to find a different way to express ways to improve the documentation 
that will not piss people off.


You have suggested in this email list a variety of 'keepers', which seem 
to be the way you document your use of Raku. However, these 'keeper' 
texts are full of spelling mistakes, indicating you do not use a 
spell-checker, and also are ambiguous or technically wrong. Personally, 
I have not found your keepers to have been any use at all. But they may 
be useful to someone. Even worse, it is not possible for me to find a 
collection of your keepers because they are in posts to this email list, 
and I am not going to search through thousands of emails for your 
keepers on something whose keywords I would need to guess at. So the 
form you have made the keepers available is not easily accessible.


In addition, the way the Raku community has evolved to work is to make 
changes to Documentation, whether Tutorials or Reference, by actually 
suggesting changes. If you look on the upper right of any primary 
document (the docs.raku.org site displays pages that are both 
automatically generated from primary documents, and the primary 
documents themselves - basically the documents referenced from the home 
page), you will see a Pencil icon. Click on that, and you will be taken 
to the github site and you can directly edit the document. The change is 
then submitted as a Pull Request, and it will be reviewed. If the change 
is seen to be reasonable, it is included.


In this way, every single member of the Raku Community has the ability 
to make or suggest a contribution.


However, a word of caution about human nature. If you go and try to 
completely change all the documentation to the way you want it, trashing 
everything that has already been contributed, it is extremely unlikely 
that your amendments will ever be accepted. Further, you run the risk 
that contributions with your name will never be considered by the Core 
Developers because they have rejected PRs you made before.


Contribute in a way that enhances the Documentation, and your work will 
be praised.


I hope whatever end of year, mid-winter or religious festival you 
celebrated was festive, even in our pandemic afflicted world, and I wish 
you a safe and productive CE 2021.


Regards,

Richard

On 28/12/2020 11:55, ToddAndMargo via perl6-users wrote:

On 12/25/20 8:10 AM, Ralph Mellor wrote:

On 12/23/20 4:28 PM, Ralph Mellor wrote:
  > If a method does not explicitly specify its invocant type, it is 
set

  > to the type of the enclosing class.

But it does not specify an invocant.  It just leaves it blank


This is how it works in Raku source code. If there's no signature at 
all,
or if the invocant is blank, or if the invocant's type is not 
specified, its

type is the type of the class which encloses or composes the method
(or `Mu` for a mainline `my` method).





Hi Ralph,

What is used in the 

Re: Is the cosine page wrong?

2020-12-28 Thread ToddAndMargo via perl6-users

On 12/25/20 8:10 AM, Ralph Mellor wrote:

On 12/23/20 4:28 PM, Ralph Mellor wrote:
  > If a method does not explicitly specify its invocant type, it is set
  > to the type of the enclosing class.

But it does not specify an invocant.  It just leaves it blank


This is how it works in Raku source code. If there's no signature at all,
or if the invocant is blank, or if the invocant's type is not specified, its
type is the type of the class which encloses or composes the method
(or `Mu` for a mainline `my` method).

Presuming the same for the doc maintains consistency between what
signatures look in Raku source code, and what they look like in doc.

Raku is explicitly designed with context in mind as an essential
driver for its design, and for comprehending code.

This may not work for you. But it's presumably ideal for newbies
and experts that take cues from context -- which is to say almost
all of those who I would expect to ever enjoy working with Raku.

That's not to say you can't do the work to improve things from
your perspective. Provided you don't make things worse for those
who appreciate the language (and the doc) presuming that Raku
devs will in general be happy to take context into account, you are
of course free to do, and advocate, as you wish.


  > So, the doc is fine as is for the invocant.

I was not asking if you could pick it up by context with
other things written on the page.  I was specifically asking
about the definition line.


I wasn't saying you *could* pick it up from context.

I was implying you *should* pick it up from context.

I presumed you care to learn what makes Raku Raku, including
contextual clues to which attention *must* be paid when one is
comprehending code, and which cues are also readily available
for comprehending the doc.

The context is there; why *not* pay attention to it? Why *not* learn
how Raku code works? And if you learn how Raku signatures work,
which isn't difficult, why *not* apply the exact same rules to the doc?

Imo introducing redundancy often makes sense for tutorials, but less
often, imo, for reference doc. In particular, I see blank invocants in a
method signature as an ideal way to convey that a method's invocant
type is determined by its context.


Once you learn to read them, the definition lines can be really useful.


Yes. And you have now presumbly both learned how to read the type of
the invocant if it's blank, and learned that it's a really easy rule to learn.


My problem is that they are often incorrect, which put a hammer into learning 
them.


I hear that.

But the response to that issue should be to correct the errors.

Manually adding redundant information will inevitably *increase*
the number of errors unless it's automated. It may also *reduce*
the doc's usability for those who do not benefit from the redundancy.

If you are willing to write good automation code to solve this doc
problem, and design doc changes to minimize the harm done for
those who do not benefit from the redundancy, and do the work
to gain consensus that the work you prepare to make this change
should be applied, and commit to doing the work to make sure it
gets properly applied, then I definitely wouldn't stand in your way,
even if I think it would be a mistake to apply such a change.

Or, if you are *not* willing to do that work, you can presumably just
acknowledge that you could resolve the problem you thought you
saw by no longer seeing it as a problem, but rather just something
you have come to learn along the way.


  > The returned value is a cosine, which, per the linked doc,
  > is a real number. The doc could perhaps show a return value
  > of Real:D.

I like it!


To be clear, I'm not saying the doc *should* show that return value.

Just that it *could*, and that *perhaps* that would be appropriate,
in contrast to my opinion about the invocant type.


This look right to me (but keep in mind I don't know what I am doing)
  method cos( Cool:D: --> Real:D )


As I hopefully made clear at the start of this email, redundantly explicitly
specifying the invocant in the signature despite it being already explicitly
specified by the enclosing context seems ill-advised to me, but if you do
the work to introduce automation of its insertion, you should be able to
make it optional, and that would work fine for me if other documenters
agree it's an acceptable thing to introduce.

love, raiph

On Thu, Dec 24, 2020 at 2:42 AM Todd Chester via perl6-users
 wrote:







Going back to the original question,

should not the doc page say?

   method cos( Cool:D: --> Cool:D )



On 12/23/20 4:28 PM, Ralph Mellor wrote:
  > If a method does not explicitly specify its invocant type, it is set
  > to the type of the enclosing class.

But it does not specify an invocant.  It just leaves it blank
  >
  > The `cos` method is declared in the `Cool` class, so that is its
  > invocant type.
  >
  > The doc shows that it's declared in the `Cool` class.
  >
  > So, the doc