Could this be any more obscure?

Hi All,

Over on
     https://docs.perl6.org/routine/words
I see

    multi method words(Str:D $input: $limit =3D Inf --> Positional)

HOW IN THE WORLD did they convert `$limit =3D Inf` into an
array index!?!?!

https://docs.perl6.org/type/Num#Inf
And `Inf` means a number larger than Perl can handle or Infinity.
What does that have to do with ANYTHING!?

Yours in confusion,
-T

And the worst part is that I know how to use "words" and use it
frequently.  And the documentation is a nightmare to understand.

Link to Positional:
https://docs.perl6.org/type/Positional
    Role for objects which support indexing them using
    postcircumfix:=C2=AB[ ]=C2=BB (usually list-like objects).
    Example types with Positional role include List,
    Array, Range, and Buf.

I like him using `Str:D $input:` rather than just `Str:D:`
and it is more intuitive
0
ToddAndMargo
9/26/2018 6:57:03 AM
perl.perl6.users 1545 articles. 0 followers. Follow

154 Replies
413 Views

Similar Articles

[PageSpeed] 47

> Il giorno 26 set 2018, alle ore 08:57, Todd Chester <ToddAndMargo@zoho.com=
> ha scritto:
>=20
> Hi All,
>=20
> Over on
>    https://docs.perl6.org/routine/words
> I see
>=20
>   multi method words(Str:D $input: $limit =3D Inf --> Positional)

$input is the method invocant (hence the =E2=80=9C:=E2=80=9D) constrained to=
 a defined string object.

$limit is the number of words (chunks separated by whitespace) you may want f=
rom $input

- -> constrains the return type to an object that consumes the role of Posit=
ional


> HOW IN THE WORLD did they convert `$limit =3D Inf` into an
> array index!?!?

I think $limit is the number of words you want, not an array index.

> https://docs.perl6.org/type/Num#Inf
> And `Inf` means a number larger than Perl can handle or Infinity.
> What does that have to do with ANYTHING!?

I think the method returns a lazy Seq, so no limits.

> Yours in confusion,
> -T
>=20
> And the worst part is that I know how to use "words" and use it
> frequently.  And the documentation is a nightmare to understand.
>=20
> Link to Positional:
> https://docs.perl6.org/type/Positional
>   Role for objects which support indexing them using
>   postcircumfix:=C2=AB[ ]=C2=BB (usually list-like objects).
>   Example types with Positional role include List,
>   Array, Range, and Buf.
>=20
> I like him using `Str:D $input:` rather than just `Str:D:`
> and it is more intuitive
0
ale
9/26/2018 8:05:18 AM
--000000000000c800fc0576c6ef90
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

You're imposing a shape on this, then getting angry at us when it turns out
to be wrong. I'm sorry nobody could read your mind ahead of time to find
out the "proper" way to shape it.

$limit sets a limit on how many words it will make. Inf means there's no
limit. Your assumption that it must be some kind of array index doesn't
make a lot of sense; this doesn't index at all, it splits at whitespace
until it's got the number of chunks you told it to make, indexing the
result is your problem. Small pieces of functionality, not "god functions"
that try to do everything you can possibly think of.

On Wed, Sep 26, 2018 at 2:57 AM Todd Chester <ToddAndMargo@zoho.com> wrote:

> Hi All,
>
> Over on
>      https://docs.perl6.org/routine/words
> I see
>
>     multi method words(Str:D $input: $limit =3D Inf --> Positional)
>
> HOW IN THE WORLD did they convert `$limit =3D Inf` into an
> array index!?!?!
>
> https://docs.perl6.org/type/Num#Inf
> And `Inf` means a number larger than Perl can handle or Infinity.
> What does that have to do with ANYTHING!?
>
> Yours in confusion,
> -T
>
> And the worst part is that I know how to use "words" and use it
> frequently.  And the documentation is a nightmare to understand.
>
> Link to Positional:
> https://docs.perl6.org/type/Positional
>     Role for objects which support indexing them using
>     postcircumfix:=C2=AB[ ]=C2=BB (usually list-like objects).
>     Example types with Positional role include List,
>     Array, Range, and Buf.
>
> I like him using `Str:D $input:` rather than just `Str:D:`
> and it is more intuitive
>


--=20
brandon s allbery kf8nh
allbery.b@gmail.com

--000000000000c800fc0576c6ef90
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">You&#39;re imposing a shape on this, then getting angry at=
 us when it turns out to be wrong. I&#39;m sorry nobody could read your min=
d ahead of time to find out the &quot;proper&quot; way to shape it.<div><br=
></div><div>$limit sets a limit on how many words it will make. Inf means t=
here&#39;s no limit. Your assumption that it must be some kind of array ind=
ex doesn&#39;t make a lot of sense; this doesn&#39;t index at all, it split=
s at whitespace until it&#39;s got the number of chunks you told it to make=
, indexing the result is your problem. Small pieces of functionality, not &=
quot;god functions&quot; that try to do everything you can possibly think o=
f.</div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 2=
6, 2018 at 2:57 AM Todd Chester &lt;<a href=3D"mailto:ToddAndMargo@zoho.com=
">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">Hi All,<br>
<br>
Over on<br>
=C2=A0 =C2=A0 =C2=A0<a href=3D"https://docs.perl6.org/routine/words" rel=3D=
"noreferrer" target=3D"_blank">https://docs.perl6.org/routine/words</a><br>
I see<br>
<br>
=C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt; Positi=
onal)<br>
<br>
HOW IN THE WORLD did they convert `$limit =3D Inf` into an<br>
array index!?!?!<br>
<br>
<a href=3D"https://docs.perl6.org/type/Num#Inf" rel=3D"noreferrer" target=
=3D"_blank">https://docs.perl6.org/type/Num#Inf</a><br>
And `Inf` means a number larger than Perl can handle or Infinity.<br>
What does that have to do with ANYTHING!?<br>
<br>
Yours in confusion,<br>
-T<br>
<br>
And the worst part is that I know how to use &quot;words&quot; and use it<b=
r>
frequently.=C2=A0 And the documentation is a nightmare to understand.<br>
<br>
Link to Positional:<br>
<a href=3D"https://docs.perl6.org/type/Positional" rel=3D"noreferrer" targe=
t=3D"_blank">https://docs.perl6.org/type/Positional</a><br>
=C2=A0 =C2=A0 Role for objects which support indexing them using<br>
=C2=A0 =C2=A0 postcircumfix:=C2=AB[ ]=C2=BB (usually list-like objects).<br=
>
=C2=A0 =C2=A0 Example types with Positional role include List,<br>
=C2=A0 =C2=A0 Array, Range, and Buf.<br>
<br>
I like him using `Str:D $input:` rather than just `Str:D:`<br>
and it is more intuitive<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--000000000000c800fc0576c6ef90--
0
allbery
9/26/2018 2:21:10 PM
`$limit` isn't an array index.

It's an argument that is passed on to the Iterator that tells it to stop
when it has produced that many values.

(Also it returns a `Seq`, not a `Positional` [fixed])

You can think of it as the following:

    'abc def'.words.head( $limit );

`words` does something more like this though:

    sub words ( Str:D $input, $limit =3D Inf --> Seq ) {
        gather {
            my $count =3D 0;
            my $prev-ws =3D -1;

            loop {
                # stop if $limit has been reached
                last if ++$count > $limit;  #        <------------------- $=
limit

                # index of whitespace
                my $next-ws =3D $input.index( ' ', $prev-ws + 1 );

                # run after each iteration
                NEXT $prev-ws =3D $next-ws;

                with $next-ws {  # index found a space

                    # skip two whitespaces in a row
                    next if $prev-ws+1 =3D=3D $next-ws;

                    # give the next value
                    take substr( $input, $prev-ws+1, $next-ws - $prev-ws - =
1 );

                } else { # index didn't find a space

                    # stop if the last character was a space
                    last if $prev-ws+1 >=3D $input.chars;

                    # give the last value
                    take substr( $input, $prev-ws+1 );

                    # end of sequence
                    last;
                }
            }
        }
    }

    say words('abc def ghi jkl mno pqr stu vwx yz', 3).perl;
    # ("abc", "def", "ghi").Seq
On Wed, Sep 26, 2018 at 1:57 AM Todd Chester <ToddAndMargo@zoho.com> wrote:
>
> Hi All,
>
> Over on
>      https://docs.perl6.org/routine/words
> I see
>
>     multi method words(Str:D $input: $limit =3D Inf --> Positional)
>
> HOW IN THE WORLD did they convert `$limit =3D Inf` into an
> array index!?!?!
>
> https://docs.perl6.org/type/Num#Inf
> And `Inf` means a number larger than Perl can handle or Infinity.
> What does that have to do with ANYTHING!?
>
> Yours in confusion,
> -T
>
> And the worst part is that I know how to use "words" and use it
> frequently.  And the documentation is a nightmare to understand.
>
> Link to Positional:
> https://docs.perl6.org/type/Positional
>     Role for objects which support indexing them using
>     postcircumfix:=C2=AB[ ]=C2=BB (usually list-like objects).
>     Example types with Positional role include List,
>     Array, Range, and Buf.
>
> I like him using `Str:D $input:` rather than just `Str:D:`
> and it is more intuitive
0
b2gills
9/26/2018 3:29:31 PM
--000000000000f546cd0576c9d2b6
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 8:58 AM Todd Chester <ToddAndMargo@zoho.com> wrote:

> Hi All,
>
> Over on
>      https://docs.perl6.org/routine/words
> I see
>
>     multi method words(Str:D $input: $limit = Inf --> Positional)
>
> HOW IN THE WORLD did they convert `$limit = Inf` into an
> array index!?!?!
>

  It's not.  It's a limit:

eirik@greencat[19:41:18]~$ perl6 -e '.say for "foo bar baz qux".words(2)'
foo
bar
eirik@greencat[19:41:29]~$

  I see from your other email that you're using square brackets.  That's
what makes a zero-based index:

eirik@greencat[19:41:29]~$ perl6 -e '.say for "foo bar baz qux".words[2]'
baz
eirik@greencat[19:43:00]~$

  But this index is not an argument to the words method.  It is an argument
to the .[ ] postcircumfix.

  That these are different things is perhaps more easily seen when they're
both present:

eirik@greencat[19:45:54]~$ perl6 -e '.say for "foo bar baz
qux".words(3)[*-1]'
baz
eirik@greencat[19:45:59]~$

  Here, it may be clearer that the $limit is 3, and the index is *-1.


Eirik

--000000000000f546cd0576c9d2b6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">On Wed,=
 Sep 26, 2018 at 8:58 AM Todd Chester &lt;<a href=3D"mailto:ToddAndMargo@zo=
ho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br><div class=3D"gmail_quote">=
<blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-=
left:1px solid rgb(204,204,204);padding-left:1ex">Hi All,<br>
<br>
Over on<br>
=C2=A0 =C2=A0 =C2=A0<a href=3D"https://docs.perl6.org/routine/words" rel=3D=
"noreferrer" target=3D"_blank">https://docs.perl6.org/routine/words</a><br>
I see<br>
<br>
=C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt; Positi=
onal)<br>
<br>
HOW IN THE WORLD did they convert `$limit =3D Inf` into an<br>
array index!?!?!<br></blockquote><div><br></div><div>=C2=A0 It&#39;s not.=
=C2=A0 It&#39;s a limit:</div><div><br></div><div>eirik@greencat[19:41:18]~=
$ perl6 -e &#39;.say for &quot;foo bar baz qux&quot;.words(2)&#39;<br>foo<b=
r>bar</div><div>eirik@greencat[19:41:29]~$ <br></div><div><br></div><div>=
=C2=A0 I see from your other email that you&#39;re using square brackets.=
=C2=A0 That&#39;s what makes a zero-based index:</div><div><br></div><div>e=
irik@greencat[19:41:29]~$ perl6 -e &#39;.say for &quot;foo bar baz qux&quot=
;.words[2]&#39;<br>baz<br>eirik@greencat[19:43:00]~$ <br><br></div><div>=C2=
=A0 But this index is not an argument to the words method.=C2=A0 It is an a=
rgument to the .[ ] postcircumfix.</div><div><br></div><div>=C2=A0 That the=
se are different things is perhaps more easily seen when they&#39;re both p=
resent:</div><div><br></div><div>eirik@greencat[19:45:54]~$ perl6 -e &#39;.=
say for &quot;foo bar baz qux&quot;.words(3)[*-1]&#39;<br>baz<br>eirik@gree=
ncat[19:45:59]~$</div><div><br></div><div>=C2=A0 Here, it may be clearer th=
at the $limit  is 3, and the index is *-1.<br></div><div><br></div><div><br=
></div><div>Eirik<br></div></div></div></div></div></div>

--000000000000f546cd0576c9d2b6--
0
sidhekin
9/26/2018 5:47:51 PM
On 9/26/18 7:21 AM, Brandon Allbery wrote:
> You're imposing a shape on this, then getting angry at us when it turns 
> out to be wrong. I'm sorry nobody could read your mind ahead of time to 
> find out the "proper" way to shape it.

Hi Brandon,

Uh Oh !  Better fix this.  I am not angry.  I am frustrated.  It
would be really foolish of me to get angry at those who are
extremely gracious in helping me sort these things out.  That
would be cutting my nose off to spite my face.  I do apologize
if I am coming off as anything other than trying to learn.

-T
0
ToddAndMargo
9/26/2018 9:03:36 PM
>> On Wed, Sep 26, 2018 at 2:57 AM Todd Chester <ToddAndMargo@zoho.com=20
>>     multi method words(Str:D $input: $limit =3D Inf --> Positional)


On 9/26/18 7:21 AM, Brandon Allbery wrote:

> $limit sets a limit on how many words it will make. Inf means there's n=
o=20
> limit. Your assumption that it must be some kind of array index doesn't=
=20
> make a lot of sense; this doesn't index at all, it splits at whitespace=
=20
> until it's got the number of chunks you told it to make, indexing the=20
> result is your problem. Small pieces of functionality, not "god=20
> functions" that try to do everything you can possibly think of.

Hi Brandon,

So, "$limit =3D Inf" means that I can put an infinite number of
stuff in the [] or ()

    p6 '"a b c d e".words(3)[2,4].say;'
    (c Nil)

    $ p6 '"a b c d e".words(3).say;'
    (a b c)


I really think that could be written better.

First off the parameter is not a "limit".  It is
a selection.

And second, "Inf" is a "type", meaning "infinity" or larger
than Perl's memory allocation can handle.  It is confusing
to use it to state that there can be any number of selections
in the parameter.

    $ p6 '"a b c d e".words()[2,4,1,3,3,3,3,20].say;'
    (c e b d d d d Nil)

It also does not tell that the parameter(s) is/are integers
or what happens if you supply a sting (error) or a real (it
truncates):

     $ p6 '"a b c d e".words()["a"].say;'
     Cannot convert string to number: base-10 number must begin
     with valid digits or '.' in '=E2=8F=8Fa' (indicated by =E2=8F=8F)
     in block <unit> at -e line 1

    $ p6 '"a b c d e".words()[ 2.5 ].say;'
    c

Third, it does not state the difference between using () and [].
Or how to mix and match them.

    $ p6 '"a b c d e".words(3).say;'
    (a b c)

Where (3) gives you the first three words

-T
0
ToddAndMargo
9/26/2018 9:18:56 PM
--000000000000bba69e0576ccd14a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

No, that's not it either. words is "split at whitespace until you've made
$limit chunks". It doesn't know or care what you do afterward with the Seq.
And the [] are afterward, they apply to the Seq, not to words() which
doesn't even know about them.

On Wed, Sep 26, 2018 at 5:19 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> >> On Wed, Sep 26, 2018 at 2:57 AM Todd Chester <ToddAndMargo@zoho.com
> >>     multi method words(Str:D $input: $limit =3D Inf --> Positional)
>
>
> On 9/26/18 7:21 AM, Brandon Allbery wrote:
>
> > $limit sets a limit on how many words it will make. Inf means there's n=
o
> > limit. Your assumption that it must be some kind of array index doesn't
> > make a lot of sense; this doesn't index at all, it splits at whitespace
> > until it's got the number of chunks you told it to make, indexing the
> > result is your problem. Small pieces of functionality, not "god
> > functions" that try to do everything you can possibly think of.
>
> Hi Brandon,
>
> So, "$limit =3D Inf" means that I can put an infinite number of
> stuff in the [] or ()
>
>     p6 '"a b c d e".words(3)[2,4].say;'
>     (c Nil)
>
>     $ p6 '"a b c d e".words(3).say;'
>     (a b c)
>
>
> I really think that could be written better.
>
> First off the parameter is not a "limit".  It is
> a selection.
>
> And second, "Inf" is a "type", meaning "infinity" or larger
> than Perl's memory allocation can handle.  It is confusing
> to use it to state that there can be any number of selections
> in the parameter.
>
>     $ p6 '"a b c d e".words()[2,4,1,3,3,3,3,20].say;'
>     (c e b d d d d Nil)
>
> It also does not tell that the parameter(s) is/are integers
> or what happens if you supply a sting (error) or a real (it
> truncates):
>
>      $ p6 '"a b c d e".words()["a"].say;'
>      Cannot convert string to number: base-10 number must begin
>      with valid digits or '.' in '=E2=8F=8Fa' (indicated by =E2=8F=8F)
>      in block <unit> at -e line 1
>
>     $ p6 '"a b c d e".words()[ 2.5 ].say;'
>     c
>
> Third, it does not state the difference between using () and [].
> Or how to mix and match them.
>
>     $ p6 '"a b c d e".words(3).say;'
>     (a b c)
>
> Where (3) gives you the first three words
>
> -T
>


--=20
brandon s allbery kf8nh
allbery.b@gmail.com

--000000000000bba69e0576ccd14a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">No, that&#39;s not it either. words is &quot;split at whit=
espace until you&#39;ve made $limit chunks&quot;. It doesn&#39;t know or ca=
re what you do afterward with the Seq. And the [] are afterward, they apply=
 to the Seq, not to words() which doesn&#39;t even know about them.</div><b=
r><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 at 5:19 =
PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@z=
oho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&gt;&gt; On =
Wed, Sep 26, 2018 at 2:57 AM Todd Chester &lt;<a href=3D"mailto:ToddAndMarg=
o@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0multi method words(Str:D $input: $limit =3D Inf=
 --&gt; Positional)<br>
<br>
<br>
On 9/26/18 7:21 AM, Brandon Allbery wrote:<br>
<br>
&gt; $limit sets a limit on how many words it will make. Inf means there&#3=
9;s no <br>
&gt; limit. Your assumption that it must be some kind of array index doesn&=
#39;t <br>
&gt; make a lot of sense; this doesn&#39;t index at all, it splits at white=
space <br>
&gt; until it&#39;s got the number of chunks you told it to make, indexing =
the <br>
&gt; result is your problem. Small pieces of functionality, not &quot;god <=
br>
&gt; functions&quot; that try to do everything you can possibly think of.<b=
r>
<br>
Hi Brandon,<br>
<br>
So, &quot;$limit =3D Inf&quot; means that I can put an infinite number of<b=
r>
stuff in the [] or ()<br>
<br>
=C2=A0 =C2=A0 p6 &#39;&quot;a b c d e&quot;.words(3)[2,4].say;&#39;<br>
=C2=A0 =C2=A0 (c Nil)<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
=C2=A0 =C2=A0 (a b c)<br>
<br>
<br>
I really think that could be written better.<br>
<br>
First off the parameter is not a &quot;limit&quot;.=C2=A0 It is<br>
a selection.<br>
<br>
And second, &quot;Inf&quot; is a &quot;type&quot;, meaning &quot;infinity&q=
uot; or larger<br>
than Perl&#39;s memory allocation can handle.=C2=A0 It is confusing<br>
to use it to state that there can be any number of selections<br>
in the parameter.<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words()[2,4,1,3,3,3,3,20].say=
;&#39;<br>
=C2=A0 =C2=A0 (c e b d d d d Nil)<br>
<br>
It also does not tell that the parameter(s) is/are integers<br>
or what happens if you supply a sting (error) or a real (it<br>
truncates):<br>
<br>
=C2=A0 =C2=A0 =C2=A0$ p6 &#39;&quot;a b c d e&quot;.words()[&quot;a&quot;].=
say;&#39;<br>
=C2=A0 =C2=A0 =C2=A0Cannot convert string to number: base-10 number must be=
gin<br>
=C2=A0 =C2=A0 =C2=A0with valid digits or &#39;.&#39; in &#39;=E2=8F=8Fa&#39=
; (indicated by =E2=8F=8F)<br>
=C2=A0 =C2=A0 =C2=A0in block &lt;unit&gt; at -e line 1<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words()[ 2.5 ].say;&#39;<br>
=C2=A0 =C2=A0 c<br>
<br>
Third, it does not state the difference between using () and [].<br>
Or how to mix and match them.<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
=C2=A0 =C2=A0 (a b c)<br>
<br>
Where (3) gives you the first three words<br>
<br>
-T<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--000000000000bba69e0576ccd14a--
0
allbery
9/26/2018 9:22:16 PM
--000000000000a66f050576ccef76
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

You can set a limit to the number of items (words) you want to retrieve:
you will get only the first $limit words.

If you don't supply any limit, Inf can be thought as the default value for
the number of items, i.e. there is no limit and the routine will return as
many words as it can from the source input.


Le mer. 26 sept. 2018 =C3=A0 23:19, ToddAndMargo <ToddAndMargo@zoho.com> a
=C3=A9crit :

> >> On Wed, Sep 26, 2018 at 2:57 AM Todd Chester <ToddAndMargo@zoho.com
> >>     multi method words(Str:D $input: $limit =3D Inf --> Positional)
>
>
> On 9/26/18 7:21 AM, Brandon Allbery wrote:
>
> > $limit sets a limit on how many words it will make. Inf means there's n=
o
> > limit. Your assumption that it must be some kind of array index doesn't
> > make a lot of sense; this doesn't index at all, it splits at whitespace
> > until it's got the number of chunks you told it to make, indexing the
> > result is your problem. Small pieces of functionality, not "god
> > functions" that try to do everything you can possibly think of.
>
> Hi Brandon,
>
> So, "$limit =3D Inf" means that I can put an infinite number of
> stuff in the [] or ()
>
>     p6 '"a b c d e".words(3)[2,4].say;'
>     (c Nil)
>
>     $ p6 '"a b c d e".words(3).say;'
>     (a b c)
>
>
> I really think that could be written better.
>
> First off the parameter is not a "limit".  It is
> a selection.
>
> And second, "Inf" is a "type", meaning "infinity" or larger
> than Perl's memory allocation can handle.  It is confusing
> to use it to state that there can be any number of selections
> in the parameter.
>
>     $ p6 '"a b c d e".words()[2,4,1,3,3,3,3,20].say;'
>     (c e b d d d d Nil)
>
> It also does not tell that the parameter(s) is/are integers
> or what happens if you supply a sting (error) or a real (it
> truncates):
>
>      $ p6 '"a b c d e".words()["a"].say;'
>      Cannot convert string to number: base-10 number must begin
>      with valid digits or '.' in '=E2=8F=8Fa' (indicated by =E2=8F=8F)
>      in block <unit> at -e line 1
>
>     $ p6 '"a b c d e".words()[ 2.5 ].say;'
>     c
>
> Third, it does not state the difference between using () and [].
> Or how to mix and match them.
>
>     $ p6 '"a b c d e".words(3).say;'
>     (a b c)
>
> Where (3) gives you the first three words
>
> -T
>

--000000000000a66f050576ccef76
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>You can set a limit to the number of items (words) yo=
u want to retrieve: you will get only the first $limit words.</div><div><br=
></div><div>If you don&#39;t supply any limit, Inf can be thought as the de=
fault value for the number of items, i.e. there is no limit and the routine=
 will return as many words as it can from the source input.</div><div><br><=
/div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr">Le=C2=A0mer. 26 =
sept. 2018 =C3=A0=C2=A023:19, ToddAndMargo &lt;<a href=3D"mailto:ToddAndMar=
go@zoho.com">ToddAndMargo@zoho.com</a>&gt; a =C3=A9crit=C2=A0:<br></div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex">&gt;&gt; On Wed, Sep 26, 2018 at 2:57 AM Todd C=
hester &lt;<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">ToddA=
ndMargo@zoho.com</a> <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0multi method words(Str:D $input: $limit =3D Inf=
 --&gt; Positional)<br>
<br>
<br>
On 9/26/18 7:21 AM, Brandon Allbery wrote:<br>
<br>
&gt; $limit sets a limit on how many words it will make. Inf means there&#3=
9;s no <br>
&gt; limit. Your assumption that it must be some kind of array index doesn&=
#39;t <br>
&gt; make a lot of sense; this doesn&#39;t index at all, it splits at white=
space <br>
&gt; until it&#39;s got the number of chunks you told it to make, indexing =
the <br>
&gt; result is your problem. Small pieces of functionality, not &quot;god <=
br>
&gt; functions&quot; that try to do everything you can possibly think of.<b=
r>
<br>
Hi Brandon,<br>
<br>
So, &quot;$limit =3D Inf&quot; means that I can put an infinite number of<b=
r>
stuff in the [] or ()<br>
<br>
=C2=A0 =C2=A0 p6 &#39;&quot;a b c d e&quot;.words(3)[2,4].say;&#39;<br>
=C2=A0 =C2=A0 (c Nil)<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
=C2=A0 =C2=A0 (a b c)<br>
<br>
<br>
I really think that could be written better.<br>
<br>
First off the parameter is not a &quot;limit&quot;.=C2=A0 It is<br>
a selection.<br>
<br>
And second, &quot;Inf&quot; is a &quot;type&quot;, meaning &quot;infinity&q=
uot; or larger<br>
than Perl&#39;s memory allocation can handle.=C2=A0 It is confusing<br>
to use it to state that there can be any number of selections<br>
in the parameter.<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words()[2,4,1,3,3,3,3,20].say=
;&#39;<br>
=C2=A0 =C2=A0 (c e b d d d d Nil)<br>
<br>
It also does not tell that the parameter(s) is/are integers<br>
or what happens if you supply a sting (error) or a real (it<br>
truncates):<br>
<br>
=C2=A0 =C2=A0 =C2=A0$ p6 &#39;&quot;a b c d e&quot;.words()[&quot;a&quot;].=
say;&#39;<br>
=C2=A0 =C2=A0 =C2=A0Cannot convert string to number: base-10 number must be=
gin<br>
=C2=A0 =C2=A0 =C2=A0with valid digits or &#39;.&#39; in &#39;=E2=8F=8Fa&#39=
; (indicated by =E2=8F=8F)<br>
=C2=A0 =C2=A0 =C2=A0in block &lt;unit&gt; at -e line 1<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words()[ 2.5 ].say;&#39;<br>
=C2=A0 =C2=A0 c<br>
<br>
Third, it does not state the difference between using () and [].<br>
Or how to mix and match them.<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
=C2=A0 =C2=A0 (a b c)<br>
<br>
Where (3) gives you the first three words<br>
<br>
-T<br>
</blockquote></div>

--000000000000a66f050576ccef76--
0
perl6
9/26/2018 9:30:39 PM
On 9/26/18 10:47 AM, The Sidhekin wrote:
> On Wed, Sep 26, 2018 at 8:58 AM Todd Chester <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     Hi All,
>=20
>     Over on
>     https://docs.perl6.org/routine/words
>     I see
>=20
>      =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --> =
Positional)
>=20
>     HOW IN THE WORLD did they convert `$limit =3D Inf` into an
>     array index!?!?!
>=20
>=20
>  =C2=A0 It's not.=C2=A0 It's a limit:
>=20
> eirik@greencat[19:41:18]~$ perl6 -e '.say for "foo bar baz qux".words(2=
)'
> foo
> bar
> eirik@greencat[19:41:29]~$
>=20
>  =C2=A0 I see from your other email that you're using square brackets. =
=20
> That's what makes a zero-based index:
>=20
> eirik@greencat[19:41:29]~$ perl6 -e '.say for "foo bar baz qux".words[2=
]'
> baz
> eirik@greencat[19:43:00]~$
>=20
>  =C2=A0 But this index is not an argument to the words method.=C2=A0 It=
 is an=20
> argument to the .[ ] postcircumfix.
>=20
>  =C2=A0 That these are different things is perhaps more easily seen whe=
n=20
> they're both present:
>=20
> eirik@greencat[19:45:54]~$ perl6 -e '.say for "foo bar baz=20
> qux".words(3)[*-1]'
> baz
> eirik@greencat[19:45:59]~$
>=20
>  =C2=A0 Here, it may be clearer that the $limit is 3, and the index is =
*-1.
>=20
>=20
> Eirik


Hi Eirik,

Thank you for the explanation.

I think I did  not make myself clear.  I do know how to
use the function and I use it all the time.

What I don't understand is:

      multi method words(Str:D $input: $limit =3D Inf --> Positional)

Specifically "$limit =3D Inf".  Why are we using "$limit" instead
of "$selection" and why are we throwing "Inf" into the mix
as it is a "type".  "Types" are written like "Str:D" and come
before the variable, not after.  (I know the ":D" means "defined".)

And where is it stated what goes in the () and what goes
in the []?

Yours in frustration,
-T
0
ToddAndMargo
9/26/2018 9:38:57 PM
--0000000000002a5c410576cd2327
Content-Type: text/plain; charset="UTF-8"

What do you believe your $selection should mean?

And I'm trying to figure out how to explain $limit since the one everyone
else has used apparently means nothing whatsoever. Unless you've just been
ignoring those as irrelevant, because it's not whatever you mean by
"$selection" that nobody else can figure out.

Or is this still "words, and every other function that produces a list, is
obviously also what indexes a list, therefore you pass into it the index
you want from it"? How do you understand map() or grep() to work, if
words() has to produce not a list but a specific item from that list? Call
it once for every word in the list?

On Wed, Sep 26, 2018 at 5:39 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 10:47 AM, The Sidhekin wrote:
> > On Wed, Sep 26, 2018 at 8:58 AM Todd Chester <ToddAndMargo@zoho.com
> > <mailto:ToddAndMargo@zoho.com>> wrote:
> >
> >     Hi All,
> >
> >     Over on
> >     https://docs.perl6.org/routine/words
> >     I see
> >
> >          multi method words(Str:D $input: $limit = Inf --> Positional)
> >
> >     HOW IN THE WORLD did they convert `$limit = Inf` into an
> >     array index!?!?!
> >
> >
> >    It's not.  It's a limit:
> >
> > eirik@greencat[19:41:18]~$ perl6 -e '.say for "foo bar baz
> qux".words(2)'
> > foo
> > bar
> > eirik@greencat[19:41:29]~$
> >
> >    I see from your other email that you're using square brackets.
> > That's what makes a zero-based index:
> >
> > eirik@greencat[19:41:29]~$ perl6 -e '.say for "foo bar baz
> qux".words[2]'
> > baz
> > eirik@greencat[19:43:00]~$
> >
> >    But this index is not an argument to the words method.  It is an
> > argument to the .[ ] postcircumfix.
> >
> >    That these are different things is perhaps more easily seen when
> > they're both present:
> >
> > eirik@greencat[19:45:54]~$ perl6 -e '.say for "foo bar baz
> > qux".words(3)[*-1]'
> > baz
> > eirik@greencat[19:45:59]~$
> >
> >    Here, it may be clearer that the $limit is 3, and the index is *-1.
> >
> >
> > Eirik
>
>
> Hi Eirik,
>
> Thank you for the explanation.
>
> I think I did  not make myself clear.  I do know how to
> use the function and I use it all the time.
>
> What I don't understand is:
>
>       multi method words(Str:D $input: $limit = Inf --> Positional)
>
> Specifically "$limit = Inf".  Why are we using "$limit" instead
> of "$selection" and why are we throwing "Inf" into the mix
> as it is a "type".  "Types" are written like "Str:D" and come
> before the variable, not after.  (I know the ":D" means "defined".)
>
> And where is it stated what goes in the () and what goes
> in the []?
>
> Yours in frustration,
> -T
>


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

--0000000000002a5c410576cd2327
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">What do you believe your $selection should mean?<div><br><=
/div><div>And I&#39;m trying to figure out how to explain $limit since the =
one everyone else has used apparently means nothing whatsoever. Unless you&=
#39;ve just been ignoring those as irrelevant, because it&#39;s not whateve=
r you mean by &quot;$selection&quot; that nobody else can figure out.</div>=
<div><br></div><div>Or is this still &quot;words, and every other function =
that produces a list, is obviously also what indexes a list, therefore you =
pass into it the index you want from it&quot;? How do you understand map() =
or grep() to work, if words() has to produce not a list but a specific item=
 from that list? Call it once for every word in the list?</div></div><br><d=
iv class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 at 5:39 PM T=
oddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.=
com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26/18 10:47=
 AM, The Sidhekin wrote:<br>
&gt; On Wed, Sep 26, 2018 at 8:58 AM Todd Chester &lt;<a href=3D"mailto:Tod=
dAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">=
ToddAndMargo@zoho.com</a>&gt;&gt; wrote:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Hi All,<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Over on<br>
&gt;=C2=A0 =C2=A0 =C2=A0<a href=3D"https://docs.perl6.org/routine/words" re=
l=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/routine/words</a>=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0I see<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input: $li=
mit =3D Inf --&gt; Positional)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0HOW IN THE WORLD did they convert `$limit =3D Inf` =
into an<br>
&gt;=C2=A0 =C2=A0 =C2=A0array index!?!?!<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 It&#39;s not.=C2=A0 It&#39;s a limit:<br>
&gt; <br>
&gt; eirik@greencat[19:41:18]~$ perl6 -e &#39;.say for &quot;foo bar baz qu=
x&quot;.words(2)&#39;<br>
&gt; foo<br>
&gt; bar<br>
&gt; eirik@greencat[19:41:29]~$<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 I see from your other email that you&#39;re using square =
brackets.=C2=A0 <br>
&gt; That&#39;s what makes a zero-based index:<br>
&gt; <br>
&gt; eirik@greencat[19:41:29]~$ perl6 -e &#39;.say for &quot;foo bar baz qu=
x&quot;.words[2]&#39;<br>
&gt; baz<br>
&gt; eirik@greencat[19:43:00]~$<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 But this index is not an argument to the words method.=C2=
=A0 It is an <br>
&gt; argument to the .[ ] postcircumfix.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 That these are different things is perhaps more easily se=
en when <br>
&gt; they&#39;re both present:<br>
&gt; <br>
&gt; eirik@greencat[19:45:54]~$ perl6 -e &#39;.say for &quot;foo bar baz <b=
r>
&gt; qux&quot;.words(3)[*-1]&#39;<br>
&gt; baz<br>
&gt; eirik@greencat[19:45:59]~$<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Here, it may be clearer that the $limit is 3, and the ind=
ex is *-1.<br>
&gt; <br>
&gt; <br>
&gt; Eirik<br>
<br>
<br>
Hi Eirik,<br>
<br>
Thank you for the explanation.<br>
<br>
I think I did=C2=A0 not make myself clear.=C2=A0 I do know how to<br>
use the function and I use it all the time.<br>
<br>
What I don&#39;t understand is:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt;=
 Positional)<br>
<br>
Specifically &quot;$limit =3D Inf&quot;.=C2=A0 Why are we using &quot;$limi=
t&quot; instead<br>
of &quot;$selection&quot; and why are we throwing &quot;Inf&quot; into the =
mix<br>
as it is a &quot;type&quot;.=C2=A0 &quot;Types&quot; are written like &quot=
;Str:D&quot; and come<br>
before the variable, not after.=C2=A0 (I know the &quot;:D&quot; means &quo=
t;defined&quot;.)<br>
<br>
And where is it stated what goes in the () and what goes<br>
in the []?<br>
<br>
Yours in frustration,<br>
-T<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000002a5c410576cd2327--
0
allbery
9/26/2018 9:45:03 PM
On 9/26/18 2:45 PM, Brandon Allbery wrote:
> And I'm trying to figure out how to explain $limit since the one 
> everyone else has used apparently means nothing whatsoever. Unless 
> you've just been ignoring those as irrelevant, because it's not whatever 
> you mean by "$selection" that nobody else can figure out.

I know how to use the function and use it all the time.

multi method words(Str:D $input: $limit = Inf --> Positional)

Why are they using the word "limit" and the type "Inf"?

And how is this suppose to explain how to actually use the method?

The only thing I have come up with so far is that they are
trying to tell you that there is an infinite number of
selections.  Again, not telling you how to use the method.
0
ToddAndMargo
9/26/2018 10:09:18 PM
--0000000000007fe4800576cd8693
Content-Type: text/plain; charset="UTF-8"

I told you that. Others told you that. You ignored it and asked the same
question again, because what we said that exlains what words() is doing
doesn't fit how you've decided words() must work.

No amount of documentation can fix "I think the accelerator is the brake
pedal, and if it's not then you broke it".

On Wed, Sep 26, 2018 at 6:09 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 2:45 PM, Brandon Allbery wrote:
> > And I'm trying to figure out how to explain $limit since the one
> > everyone else has used apparently means nothing whatsoever. Unless
> > you've just been ignoring those as irrelevant, because it's not whatever
> > you mean by "$selection" that nobody else can figure out.
>
> I know how to use the function and use it all the time.
>
> multi method words(Str:D $input: $limit = Inf --> Positional)
>
> Why are they using the word "limit" and the type "Inf"?
>
> And how is this suppose to explain how to actually use the method?
>
> The only thing I have come up with so far is that they are
> trying to tell you that there is an infinite number of
> selections.  Again, not telling you how to use the method.
>


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

--0000000000007fe4800576cd8693
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I told you that. Others told you that. You ignored it and =
asked the same question again, because what we said that exlains what words=
() is doing doesn&#39;t fit how you&#39;ve decided words() must work.<div><=
br></div><div>No amount of documentation can fix &quot;I think the accelera=
tor is the brake pedal, and if it&#39;s not then you broke it&quot;.</div><=
/div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 a=
t 6:09 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAnd=
Margo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/=
26/18 2:45 PM, Brandon Allbery wrote:<br>
&gt; And I&#39;m trying to figure out how to explain $limit since the one <=
br>
&gt; everyone else has used apparently means nothing whatsoever. Unless <br=
>
&gt; you&#39;ve just been ignoring those as irrelevant, because it&#39;s no=
t whatever <br>
&gt; you mean by &quot;$selection&quot; that nobody else can figure out.<br=
>
<br>
I know how to use the function and use it all the time.<br>
<br>
multi method words(Str:D $input: $limit =3D Inf --&gt; Positional)<br>
<br>
Why are they using the word &quot;limit&quot; and the type &quot;Inf&quot;?=
<br>
<br>
And how is this suppose to explain how to actually use the method?<br>
<br>
The only thing I have come up with so far is that they are<br>
trying to tell you that there is an infinite number of<br>
selections.=C2=A0 Again, not telling you how to use the method.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000007fe4800576cd8693--
0
allbery
9/26/2018 10:12:48 PM
On 9/26/18 3:12 PM, Brandon Allbery wrote:
> I told you that. Others told you that. You ignored it and asked the same 
> question again, because what we said that exlains what words() is doing 
> doesn't fit how you've decided words() must work.
> 
> No amount of documentation can fix "I think the accelerator is the brake 
> pedal, and if it's not then you broke it".

I don't mean to frustrate you.

I am trying to come up with an understandable method of
writing out the multi method that I can add constructive
comments to the documentation as an RFE, rather than just
grumbling at its obscurity.

I use words all the time.  I never would have figured it out
from

     multi method words(Str:D $input: $limit = Inf --> Positional)

Do your really think any beginner would be able to figure out
"words" from the above?

-T

Some of us actually do RTFM.
0
ToddAndMargo
9/26/2018 10:21:24 PM
--000000000000420c5c0576cdb35b
Content-Type: text/plain; charset="UTF-8"

I question "actually do RTFM", because you apparently think words() has to
not only explain in complete detail what "Positional" means, but also must
be rewritten to perform the Positional role itself via a $selection
parameter instead of letting the Positional role do the job for which it
exists.

On Wed, Sep 26, 2018 at 6:22 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 3:12 PM, Brandon Allbery wrote:
> > I told you that. Others told you that. You ignored it and asked the same
> > question again, because what we said that exlains what words() is doing
> > doesn't fit how you've decided words() must work.
> >
> > No amount of documentation can fix "I think the accelerator is the brake
> > pedal, and if it's not then you broke it".
>
> I don't mean to frustrate you.
>
> I am trying to come up with an understandable method of
> writing out the multi method that I can add constructive
> comments to the documentation as an RFE, rather than just
> grumbling at its obscurity.
>
> I use words all the time.  I never would have figured it out
> from
>
>      multi method words(Str:D $input: $limit = Inf --> Positional)
>
> Do your really think any beginner would be able to figure out
> "words" from the above?
>
> -T
>
> Some of us actually do RTFM.
>


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

--000000000000420c5c0576cdb35b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I question &quot;actually do RTFM&quot;, because you appar=
ently think words() has to not only explain in complete detail what &quot;P=
ositional&quot; means, but also must be rewritten to perform the Positional=
 role itself via a $selection parameter instead of letting the Positional r=
ole do the job for which it exists.</div><br><div class=3D"gmail_quote"><di=
v dir=3D"ltr">On Wed, Sep 26, 2018 at 6:22 PM ToddAndMargo &lt;<a href=3D"m=
ailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div>=
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex">On 9/26/18 3:12 PM, Brandon Allbery wrote:<b=
r>
&gt; I told you that. Others told you that. You ignored it and asked the sa=
me <br>
&gt; question again, because what we said that exlains what words() is doin=
g <br>
&gt; doesn&#39;t fit how you&#39;ve decided words() must work.<br>
&gt; <br>
&gt; No amount of documentation can fix &quot;I think the accelerator is th=
e brake <br>
&gt; pedal, and if it&#39;s not then you broke it&quot;.<br>
<br>
I don&#39;t mean to frustrate you.<br>
<br>
I am trying to come up with an understandable method of<br>
writing out the multi method that I can add constructive<br>
comments to the documentation as an RFE, rather than just<br>
grumbling at its obscurity.<br>
<br>
I use words all the time.=C2=A0 I never would have figured it out<br>
from<br>
<br>
=C2=A0 =C2=A0 =C2=A0multi method words(Str:D $input: $limit =3D Inf --&gt; =
Positional)<br>
<br>
Do your really think any beginner would be able to figure out<br>
&quot;words&quot; from the above?<br>
<br>
-T<br>
<br>
Some of us actually do RTFM.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--000000000000420c5c0576cdb35b--
0
allbery
9/26/2018 10:25:19 PM
--0000000000000f5cd10576cdc87d
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 6:13 PM Brandon Allbery <allbery.b@gmail.com> wrote:

> On Wed, Sep 26, 2018 at 6:09 PM ToddAndMargo <ToddAndMargo@zoho.com>
> wrote:
>
>> multi method words(Str:D $input: $limit = Inf --> Positional)
>>
>
"a b c d".words(3);
(a b c)
passing the $limit parameter in with 3, limits the number of words returned
to 3.

"a b c d".words(2);
(a b)
Passing a $limit of 2, limits the words returned to 2.

If you *don't* set $limit at all, it gets set to its default, Inf, or all
the words.  It just never stops because there is no limit.
"a b c d".words();
(a b c d)

The () are optional since you aren't passing in any parameters, so you can
also just say
"a b c d".words;
(a b c d)

You can store that in a variable
my @x = "a b c d".words;

Once you've got that in a variable, as described in detail on the page
about Positional, you can access parts of it with the [] operator, for
example, the word in the '2' position (the third word counting from 0) is
@x[2]
c

What looks a little weird is that you don't need @x at all.  You can just
call the [] operator directly on the return value from words

"a b c d".words()[2]
c

and of course, you can omit the () since you aren't passing in parameters,
so this is the same thing

"a b c d".words[2]
c

Curt

--0000000000000f5cd10576cdc87d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed=
, Sep 26, 2018 at 6:13 PM Brandon Allbery &lt;<a href=3D"mailto:allbery.b@g=
mail.com" target=3D"_blank">allbery.b@gmail.com</a>&gt; wrote:</div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed,=
 Sep 26, 2018 at 6:09 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zo=
ho.com" target=3D"_blank">ToddAndMargo@zoho.com</a>&gt; wrote:</div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">
multi method words(Str:D $input: $limit =3D Inf --&gt; Positional)<br></blo=
ckquote></div></blockquote><div><br></div><div>&quot;a b c d&quot;.words(3)=
;<br></div><div>(a b c)</div><div><div>passing the $limit parameter in with=
 3, limits the number of words returned to 3.</div></div><div><br></div><di=
v>&quot;a b c d&quot;.words(2);</div><div>(a b)</div><div>Passing a $limit =
of 2, limits the words returned to 2.</div><div><br></div><div>If you *don&=
#39;t* set $limit at all, it gets set to its default, Inf, or all the words=
..=C2=A0 It just never stops because there is no limit.</div><div>&quot;a b =
c d&quot;.words();</div><div>(a b c d)</div><div><br></div><div>The () are =
optional since you aren&#39;t passing in any parameters, so you can also ju=
st say</div><div>&quot;a b c d&quot;.words;</div><div>(a b c d)</div><div><=
br></div><div>You can store that in a variable</div><div>my @x =3D &quot;a =
b c d&quot;.words;</div><div><br></div><div>Once you&#39;ve got that in a v=
ariable, as described in detail on the page about Positional, you can acces=
s parts of it with the [] operator, for example, the word in the &#39;2&#39=
; position (the third word counting from 0) is=C2=A0</div><div>@x[2]<br></d=
iv><div>c</div><div><br></div><div>What looks a little weird is that you do=
n&#39;t need=C2=A0@x at all.=C2=A0 You can just call the [] operator direct=
ly on the return value from words</div><div><br></div><div>&quot;a b c d&qu=
ot;.words()[2]</div><div>c</div><div><br></div><div>and of course, you can =
omit the () since you aren&#39;t passing in parameters, so this is the same=
 thing</div><div><br></div><div>&quot;a b c d&quot;.words[2]</div><div>c</d=
iv><div><br></div><div>Curt</div><div><br></div></div></div>

--0000000000000f5cd10576cdc87d--
0
curt
9/26/2018 10:31:08 PM
--000000000000c0105b0576cea7d2
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> What I don't understand is:
>
>       multi method words(Str:D $input: $limit = Inf --> Positional)
>
> Specifically "$limit = Inf".  Why are we using "$limit" instead
> of "$selection"
>

  Perhaps this would be easier if you explain where you're getting
"$selection", and what you think it is.

And where is it stated what goes in the () and what goes
> in the []?
>

  The () is part of a method call syntax; method arguments go there:
https://docs.perl6.org/language/syntax#Subroutine_calls

  The [] is a postcircumfix operator; index arguments go there:
https://docs.perl6.org/language/operators#postcircumfix_[_]


Eirik

--000000000000c0105b0576cea7d2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr">On Wed, Sep 26, 2018 at =
11:40 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndM=
argo@zoho.com</a>&gt; wrote:<br><div class=3D"gmail_quote"><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex">What I don&#39;t understand is:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt;=
 Positional)<br>
<br>
Specifically &quot;$limit =3D Inf&quot;.=C2=A0 Why are we using &quot;$limi=
t&quot; instead<br>
of &quot;$selection&quot; <br></blockquote><div>=C2=A0</div><div>=C2=A0 Per=
haps this would be easier if you explain where you&#39;re getting &quot;$se=
lection&quot;, and what you think it is.</div><div><br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
 rgb(204,204,204);padding-left:1ex">
And where is it stated what goes in the () and what goes<br>
in the []?<br></blockquote><div><br></div><div>=C2=A0 The () is part of a m=
ethod call syntax; method arguments go there: <a href=3D"https://docs.perl6=
..org/language/syntax#Subroutine_calls">https://docs.perl6.org/language/synt=
ax#Subroutine_calls</a><br></div><div><br></div><div>=C2=A0 The [] is a pos=
tcircumfix operator; index arguments go there: <a href=3D"https://docs.perl=
6.org/language/operators#postcircumfix_[_]">https://docs.perl6.org/language=
/operators#postcircumfix_[_]</a></div><div><br></div><div><br></div><div>Ei=
rik<br></div></div></div></div></div>

--000000000000c0105b0576cea7d2--
0
sidhekin
9/26/2018 11:33:41 PM
On 9/26/18 4:33 PM, The Sidhekin wrote:
> On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     What I don't understand is:
>=20
>      =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D I=
nf --> Positional)
>=20
>     Specifically "$limit =3D Inf".=C2=A0 Why are we using "$limit" inst=
ead
>     of "$selection"
>=20
>  =C2=A0 Perhaps this would be easier if you explain where you're gettin=
g=20
> "$selection", and what you think it is.

$ p6 '"a b c d e".words[ 2, 4 ].say;'
(c e)

or

$ p6 '"a b c d e".words()[ 2, 4 ].say;'
(c e)

I am selecting the 2nd and 4th word starting from zero.  Inside
the brackets I am asking it to select th e 2nd and 4th words for me.

I am NOT asking it to limit my request to Infinity.



>=20
>     And where is it stated what goes in the () and what goes
>     in the []?
>=20
>=20
>  =C2=A0 The () is part of a method call syntax; method arguments go the=
re:=20
> https://docs.perl6.org/language/syntax#Subroutine_calls

Where does it state that

$ p6 '"a b c d e".words(3).say;'
(a b c)

means the first three words, starting at zero?


>  =C2=A0 The [] is a postcircumfix operator; index arguments go there:=20
> https://docs.perl6.org/language/operators#postcircumfix_[_]

Where does

     multi method words(Str:D $input: $limit =3D Inf --> Positional)

state that I can do such?

I ask this because not all methods will take []


$ p6 '"a b c d e".contains( "a","b" ).say;'
Cannot convert string to number: base-10 number must begin with valid=20
digits or '.' in '=E2=8F=8Fb' (indicated by =E2=8F=8F)
   in block <unit> at -e line 1

$ p6 '"a b c d e".contains( 1, 3 ).say;'
Ambiguous call to 'contains(Str: Int, Int)'; these signatures all match:
:(Str:D: Cool:D $needle, Cool:D $pos, *%_)
:(Str:D: Cool:D $needle, Cool:D $pos, *%_)
   in block <unit> at -e line 1


Also, where is it stated that

    $ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
    (c Nil)

will send the first three words to [2,4] ?

Thank you for helping me with this!

-T
0
ToddAndMargo
9/27/2018 12:48:22 AM
--00000000000063b81f0576cfcb1b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

For each instance you are using [], it is the same as assigning to a
variable, then calling [] on it.

$ p6 '"a b c d e".words(3).say;'
(a b c)

same as

my @x =3D "a b c d e".words(3);
@x.say

$ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
(c Nil)

same as

my @x =3D '"a b c d e".words(3);  # same as @x =3D 'a', 'b', 'c';
@x[2,4].say;
(c, Nil)

The methods don't take [].  You are calling [] on the thing that the
methods return.


On Wed, Sep 26, 2018 at 8:49 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 4:33 PM, The Sidhekin wrote:
> > On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo <ToddAndMargo@zoho.com
> > <mailto:ToddAndMargo@zoho.com>> wrote:
> >
> >     What I don't understand is:
> >
> >            multi method words(Str:D $input: $limit =3D Inf --> Position=
al)
> >
> >     Specifically "$limit =3D Inf".  Why are we using "$limit" instead
> >     of "$selection"
> >
> >    Perhaps this would be easier if you explain where you're getting
> > "$selection", and what you think it is.
>
> $ p6 '"a b c d e".words[ 2, 4 ].say;'
> (c e)
>
> or
>
> $ p6 '"a b c d e".words()[ 2, 4 ].say;'
> (c e)
>
> I am selecting the 2nd and 4th word starting from zero.  Inside
> the brackets I am asking it to select th e 2nd and 4th words for me.
>
> I am NOT asking it to limit my request to Infinity.
>
>
>
> >
> >     And where is it stated what goes in the () and what goes
> >     in the []?
> >
> >
> >    The () is part of a method call syntax; method arguments go there:
> > https://docs.perl6.org/language/syntax#Subroutine_calls
>
> Where does it state that
>
> $ p6 '"a b c d e".words(3).say;'
> (a b c)
>
> means the first three words, starting at zero?
>
>
> >    The [] is a postcircumfix operator; index arguments go there:
> > https://docs.perl6.org/language/operators#postcircumfix_[_]
>
> Where does
>
>      multi method words(Str:D $input: $limit =3D Inf --> Positional)
>
> state that I can do such?
>
> I ask this because not all methods will take []
>
>
> $ p6 '"a b c d e".contains( "a","b" ).say;'
> Cannot convert string to number: base-10 number must begin with valid
> digits or '.' in '=E2=8F=8Fb' (indicated by =E2=8F=8F)
>    in block <unit> at -e line 1
>
> $ p6 '"a b c d e".contains( 1, 3 ).say;'
> Ambiguous call to 'contains(Str: Int, Int)'; these signatures all match:
> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
>    in block <unit> at -e line 1
>
>
> Also, where is it stated that
>
>     $ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
>     (c Nil)
>
> will send the first three words to [2,4] ?
>
> Thank you for helping me with this!
>
> -T
>

--00000000000063b81f0576cfcb1b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">For each instance you are using [], it is the same as assi=
gning to a variable, then calling [] on it.<div><br></div><div>$ p6 &#39;&q=
uot;a b c d e&quot;.words(3).say;&#39;<br>(a b c)<br></div><div><br></div><=
div>same as</div><div><br></div><div>my @x =3D &quot;a b c d e&quot;.words(=
3);</div><div>@x.say<br></div><div><br></div><div>$ p6 &#39;&quot;a b c d e=
&quot;.words(3)[ 2, 4 ].say;&#39;<br>(c Nil)<br></div><div><br></div><div>s=
ame as</div><div><br></div><div>my=C2=A0@x =3D &#39;&quot;a b c d e&quot;.w=
ords(3);=C2=A0 # same as=C2=A0@x =3D &#39;a&#39;, &#39;b&#39;, &#39;c&#39;;=
</div><div>@x[2,4].say;<br></div><div>(c, Nil)</div><div><br></div><div>The=
 methods don&#39;t take [].=C2=A0 You are calling [] on the thing that the =
methods return.</div><div><br></div></div><br><div class=3D"gmail_quote"><d=
iv dir=3D"ltr">On Wed, Sep 26, 2018 at 8:49 PM ToddAndMargo &lt;<a href=3D"=
mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex">On 9/26/18 4:33 PM, The Sidhekin wrote:<br>
&gt; On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo &lt;<a href=3D"mailto:To=
ddAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">=
ToddAndMargo@zoho.com</a>&gt;&gt; wrote:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0What I don&#39;t understand is:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $inp=
ut: $limit =3D Inf --&gt; Positional)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Specifically &quot;$limit =3D Inf&quot;.=C2=A0 Why =
are we using &quot;$limit&quot; instead<br>
&gt;=C2=A0 =C2=A0 =C2=A0of &quot;$selection&quot;<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Perhaps this would be easier if you explain where you&#39=
;re getting <br>
&gt; &quot;$selection&quot;, and what you think it is.<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words[ 2, 4 ].say;&#39;<br>
(c e)<br>
<br>
or<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words()[ 2, 4 ].say;&#39;<br>
(c e)<br>
<br>
I am selecting the 2nd and 4th word starting from zero.=C2=A0 Inside<br>
the brackets I am asking it to select th e 2nd and 4th words for me.<br>
<br>
I am NOT asking it to limit my request to Infinity.<br>
<br>
<br>
<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0And where is it stated what goes in the () and what=
 goes<br>
&gt;=C2=A0 =C2=A0 =C2=A0in the []?<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 The () is part of a method call syntax; method arguments =
go there: <br>
&gt; <a href=3D"https://docs.perl6.org/language/syntax#Subroutine_calls" re=
l=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/language/syntax#S=
ubroutine_calls</a><br>
<br>
Where does it state that<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
(a b c)<br>
<br>
means the first three words, starting at zero?<br>
<br>
<br>
&gt;=C2=A0 =C2=A0 The [] is a postcircumfix operator; index arguments go th=
ere: <br>
&gt; <a href=3D"https://docs.perl6.org/language/operators#postcircumfix_[_]=
" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/language/oper=
ators#postcircumfix_[_]</a><br>
<br>
Where does<br>
<br>
=C2=A0 =C2=A0 =C2=A0multi method words(Str:D $input: $limit =3D Inf --&gt; =
Positional)<br>
<br>
state that I can do such?<br>
<br>
I ask this because not all methods will take []<br>
<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.contains( &quot;a&quot;,&quot;b&quot; ).say=
;&#39;<br>
Cannot convert string to number: base-10 number must begin with valid <br>
digits or &#39;.&#39; in &#39;=E2=8F=8Fb&#39; (indicated by =E2=8F=8F)<br>
=C2=A0 =C2=A0in block &lt;unit&gt; at -e line 1<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.contains( 1, 3 ).say;&#39;<br>
Ambiguous call to &#39;contains(Str: Int, Int)&#39;; these signatures all m=
atch:<br>
:(Str:D: Cool:D $needle, Cool:D $pos, *%_)<br>
:(Str:D: Cool:D $needle, Cool:D $pos, *%_)<br>
=C2=A0 =C2=A0in block &lt;unit&gt; at -e line 1<br>
<br>
<br>
Also, where is it stated that<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words(3)[ 2, 4 ].say;&#39;<br=
>
=C2=A0 =C2=A0 (c Nil)<br>
<br>
will send the first three words to [2,4] ?<br>
<br>
Thank you for helping me with this!<br>
<br>
-T<br>
</blockquote></div>

--00000000000063b81f0576cfcb1b--
0
curt
9/27/2018 12:55:15 AM
--000000000000da6d100576cfd46f
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 8:49 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

>
> $ p6 '"a b c d e".words[ 2, 4 ].say;'
> (c e)
>
> or
>
> $ p6 '"a b c d e".words()[ 2, 4 ].say;'
> (c e)
>
> I am selecting the 2nd and 4th word starting from zero.  Inside
> the brackets I am asking it to select th e 2nd and 4th words for me.
>
> I am NOT asking it to limit my request to Infinity.
>
>
Correct. You put them inside the [ ]. They belong to the [ ] role of
Positional.
The words function knows nothing whatsoever about this. It belongs to
Positional.

If you put it inside the parentheses instead of the brackets, it belongs to
the Callable, and will be given to words(). Now it is applied as the $limit
on how many times to split the string.

Where does it state that
>
> $ p6 '"a b c d e".words(3).say;'
> (a b c)
>
> means the first three words, starting at zero?
>

At least three of us have told you that this is $limit, because it is in
the parentheses instead of in the brackets.
But you want words() to have a $selection there instead, so words() can be
a list for you instead of letting the list be a list.
Why is it so important that words() pretend to be a list, when we have
lists that know how to be lists?
Why is it so important that you not have to find out what a list is, but
instead that words() must pretend that it is a list?

Nobody understands why you insist that lists are wired into the functions
that produce them and can't possibly know that they can be indexed. And
that we must document every function that produces a listas actally itself
being a list, including magical $selection parameters, when that is what
lists are for. What do you think lists are for, if words() and lines() have
to be fake lists to work instead of producing real lists?

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

--000000000000da6d100576cfd46f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26=
, 2018 at 8:49 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com"=
>ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x"><br>
$ p6 &#39;&quot;a b c d e&quot;.words[ 2, 4 ].say;&#39;<br>
(c e)<br>
<br>
or<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words()[ 2, 4 ].say;&#39;<br>
(c e)<br>
<br>
I am selecting the 2nd and 4th word starting from zero.=C2=A0 Inside<br>
the brackets I am asking it to select th e 2nd and 4th words for me.<br>
<br>
I am NOT asking it to limit my request to Infinity.<br>
<br></blockquote><div><br></div><div>Correct. You put them inside the [ ]. =
They belong to the [ ] role of Positional.</div><div>The words function kno=
ws nothing whatsoever about this. It belongs to Positional.=C2=A0</div><div=
><br></div><div>If you put it inside the parentheses instead of the bracket=
s, it belongs to the Callable, and will be given to words(). Now it is appl=
ied as the $limit on how many times to split the string.</div><div><br></di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:=
1px #ccc solid;padding-left:1ex">Where does it state that<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
(a b c)<br>
<br>
means the first three words, starting at zero?<br></blockquote><div><br></d=
iv><div>At least three of us have told you that this is $limit, because it =
is in the parentheses instead of in the brackets.</div><div>But you want wo=
rds() to have a $selection there instead, so words() can be a list for you =
instead of letting the list be a list.</div><div>Why is it so important tha=
t words() pretend to be a list, when we have lists that know how to be list=
s?</div><div>Why is it so important that you not have to find out what a li=
st is, but instead that words() must pretend that it is a list?</div><div><=
br></div><div>Nobody understands why you insist that lists are wired into t=
he functions that produce them and can&#39;t possibly know that they can be=
 indexed. And that we must document every function that produces a listas a=
ctally itself being a list, including magical $selection parameters, when t=
hat is what lists are for. What do you think lists are for, if words() and =
lines() have to be fake lists to work instead of producing real lists?</div=
></div><div><br></div>-- <br><div dir=3D"ltr" class=3D"gmail_signature" dat=
a-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div=
>brandon s allbery kf8nh</div><div><a href=3D"mailto:allbery.b@gmail.com" t=
arget=3D"_blank">allbery.b@gmail.com</a></div></div></div></div></div></div=
>

--000000000000da6d100576cfd46f--
0
allbery
9/27/2018 12:57:53 AM
On 9/26/18 5:55 PM, Curt Tilmes wrote:
> For each instance you are using [], it is the same as assigning to a=20
> variable, then calling [] on it.
>=20
> $ p6 '"a b c d e".words(3).say;'
> (a b c)
>=20
> same as
>=20
> my @x =3D "a b c d e".words(3);
> @x.say
>=20
> $ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
> (c Nil)
>=20
> same as
>=20
> my=C2=A0@x =3D '"a b c d e".words(3);=C2=A0 # same as=C2=A0@x =3D 'a', =
'b', 'c';
> @x[2,4].say;
> (c, Nil)
>=20
> The methods don't take [].=C2=A0 You are calling [] on the thing that t=
he=20
> methods return.

Yes, I know.  And it is human readable too.  It is one of the
many reasons I adore Perl 6.

Where in
    multi method words(Str:D $input: $limit =3D Inf --> Positional)
does it state that "words" will do that?  Not all methods will.
So it need to be stated when they will.

If
    multi method words(Str:D $input: $limit =3D Inf --> Positional)
is written incorrectly or incompletely, and it is not just me
being dense, how would you rewrite the line?
0
ToddAndMargo
9/27/2018 1:01:22 AM
You're still missing that the words method doesn't "take the [2,4]". The
operation that [2,4] does takes place after the words() thing has
already done its work.

You could actually say that every method takes [0]. Try it!

Your confusion looks a bit similar to seeing

=C2=A0=C2=A0=C2=A0 multi sub exp(Cool:D $pow, Cool:D $base?)

and the example code

=C2=A0=C2=A0=C2=A0 say exp(2, 10) + 5

and then asking "where in the multi sub exp in the docs does it say that
i can add 5?"

They are separate things that work together.

The return value of words being Positional means mainly that it gives
you something you can use [ ] on.

The part of words where it says $limit =3D Inf means that if no number is
passed there, that the value Inf is used. Inf is not a Type, and even
though you can put a type on the right side of an assignment, it will
"just" be used as a value.

I'm not sure why you wrote "I am NOT asking it to limit my request to
Infinity.", maybe if you explain that a little more we can figure out
better what's confusing you.


> Where does
>
> =C2=A0=C2=A0=C2=A0 multi method words(Str:D $input: $limit =3D Inf --> =
Positional)
>
> state that I can do such?
>
> I ask this because not all methods will take []
>
>
> $ p6 '"a b c d e".contains( "a","b" ).say;'
> Cannot convert string to number: base-10 number must begin with valid
> digits or '.' in '=E2=8F=8Fb' (indicated by =E2=8F=8F)
> =C2=A0 in block <unit> at -e line 1
>
> $ p6 '"a b c d e".contains( 1, 3 ).say;'
> Ambiguous call to 'contains(Str: Int, Int)'; these signatures all match=
:
> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
> =C2=A0 in block <unit> at -e line 1


You aren't using [] there, you're just putting the strings and numbers
inside the (), which is the difference that people are trying to
explain, but not finding the right words to make you understand. Can you
help us by explaining how you get from "every method takes [ ]" to "i'll
try it with ()"? Perhaps some place wrongly claimed that () and [] are
the same? That might require a bit of re-wording in the docs, then.

Hope any of that helps
=C2=A0 - Timo
0
timo
9/27/2018 1:03:04 AM
--00000000000044c5350576cff411
Content-Type: text/plain; charset="UTF-8"

On Thu, Sep 27, 2018 at 3:03 AM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 5:55 PM, Curt Tilmes wrote:
> > You are calling [] on the thing that the methods return.
>
> Yes, I know.  And it is human readable too.  It is one of the
> many reasons I adore Perl 6.
>
> Where in
>     multi method words(Str:D $input: $limit = Inf --> Positional)
> does it state that "words" will do that?


  "words" doesn't do that.  Read it again: "You are calling []".  "You".
Not "words".


Eirik

--00000000000044c5350576cff411
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Thu, Sep 27, 2018 at 3:03 AM ToddAndMargo &lt;<a href=
=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br><=
div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26/18 5:55 PM=
, Curt Tilmes wrote:<br>&gt; You are calling [] on the thing that the metho=
ds return.<br>
<br>
Yes, I know.=C2=A0 And it is human readable too.=C2=A0 It is one of the<br>
many reasons I adore Perl 6.<br>
<br>
Where in<br>
=C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt; Positi=
onal)<br>
does it state that &quot;words&quot; will do that?</blockquote><div><br></d=
iv><div>=C2=A0 &quot;words&quot; doesn&#39;t do that.=C2=A0 Read it again: =
&quot;You are calling []&quot;.=C2=A0 &quot;You&quot;.=C2=A0 Not &quot;word=
s&quot;.</div><div><br></div><div><br></div><div>Eirik<br></div></div></div=
>

--00000000000044c5350576cff411--
0
sidhekin
9/27/2018 1:06:40 AM
--00000000000045b9c40576cffade
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 9:03 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> Where in
>     multi method words(Str:D $input: $limit = Inf --> Positional)
> does it state that "words" will do that?  Not all methods will.
> So it need to be stated when they will.\
>

In the part that says "Positional". You have already been told this.

Someone please create one page with all of perl 6 documentation in it, so
the documentation for words() includes the documentation for Positional
includes the documentation for methods includes the documntation explaining
how perl 6 works etc. Obviously this is the only way to "properly" document
anything, you must include all of the documentation for perl 6 on every
page because CALL FOUL if you expect someone to go see what a Positional
is, or the notion that a Positional might be capable of accepting a []
method call, or someone might pass this method a Str so we'd better explain
what a Str is, etc.

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

--00000000000045b9c40576cffade
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26=
, 2018 at 9:03 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com"=
>ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1e=
x">Where in<br>
=C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt; Positi=
onal)<br>
does it state that &quot;words&quot; will do that?=C2=A0 Not all methods wi=
ll.<br>
So it need to be stated when they will.\<br></blockquote><div><br></div><di=
v>In the part that says &quot;Positional&quot;. You have already been told =
this.</div><div><br></div><div>Someone please create one page with all of p=
erl 6 documentation in it, so the documentation for words() includes the do=
cumentation for Positional includes the documentation for methods includes =
the documntation explaining how perl 6 works etc. Obviously this is the onl=
y way to &quot;properly&quot; document anything, you must include all of th=
e documentation for perl 6 on every page because CALL FOUL if you expect so=
meone to go see what a Positional is, or the notion that a Positional might=
 be capable of accepting a [] method call, or someone might pass this metho=
d a Str so we&#39;d better explain what a Str is, etc.</div><div><br></div>=
</div>-- <br><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"g=
mail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div>brandon s allbe=
ry kf8nh</div><div><a href=3D"mailto:allbery.b@gmail.com" target=3D"_blank"=
>allbery.b@gmail.com</a></div></div></div></div></div></div>

--00000000000045b9c40576cffade--
0
allbery
9/27/2018 1:08:21 AM
On 9/26/2018 3:21 PM, ToddAndMargo wrote:
>
> I use words all the time.  I never would have figured it out
> from
>
>     multi method words(Str:D $input: $limit = Inf --> Positional)
>
> Do your really think any beginner would be able to figure out
> "words" from the above?

If the beginner had studied the metasyntax of function prototypes, 
probably.  But this is not necessarily for beginners, this is reference 
documentation, which has to serve a purpose unencumbered by pedagogical 
weight.  This documentation is not a tutorial, it is autogenerated.  You 
are relatively unique in insisting that the reference documentation also 
function as a beginners' roadmap, so you are going to experience this 
kind of frustration repeatedly.

I taught Perl 5 trainings for many years in addition to authoring books, 
videos, and courses on same, and the difference between what is best for 
learning and what is best for reference is stark.  I heard about people 
who claim to have taught themselves Perl 5 from the Camel instead of the 
Llama, but they are few and far between, and in any case, most of the 
Camel contains exposition, if dense. You're looking just at something 
corresponding to the list of functions.  I honestly think you'll get 
further forcing yourself to plow through the new Learning Perl 6 book 
than these random access forays into reference specs.  brian just spent 
two years of intense effort arranging it to fit precisely the graduated 
path your questions tell me you need.
0
peter
9/27/2018 1:12:36 AM
--0000000000005742360576d02197
Content-Type: text/plain; charset="UTF-8"

Additionally: Perl 5 docs don't run into this because perl 5 has only 3
types: scalar, list, hash.

Perl 6 has lots of types, each of which has its own behavior. We use roles
to package up common behaviors. Positional is the role for "can be indexed"
/ "understands []". Don't just assume you know what Positional is because
you know its English meaning; look at what it actually does, and you will
find the [] documentation.

On Wed, Sep 26, 2018 at 9:13 PM Peter Scott <peter@psdt.com> wrote:

> On 9/26/2018 3:21 PM, ToddAndMargo wrote:
> >
> > I use words all the time.  I never would have figured it out
> > from
> >
> >     multi method words(Str:D $input: $limit = Inf --> Positional)
> >
> > Do your really think any beginner would be able to figure out
> > "words" from the above?
>
> If the beginner had studied the metasyntax of function prototypes,
> probably.  But this is not necessarily for beginners, this is reference
> documentation, which has to serve a purpose unencumbered by pedagogical
> weight.  This documentation is not a tutorial, it is autogenerated.  You
> are relatively unique in insisting that the reference documentation also
> function as a beginners' roadmap, so you are going to experience this
> kind of frustration repeatedly.
>
> I taught Perl 5 trainings for many years in addition to authoring books,
> videos, and courses on same, and the difference between what is best for
> learning and what is best for reference is stark.  I heard about people
> who claim to have taught themselves Perl 5 from the Camel instead of the
> Llama, but they are few and far between, and in any case, most of the
> Camel contains exposition, if dense. You're looking just at something
> corresponding to the list of functions.  I honestly think you'll get
> further forcing yourself to plow through the new Learning Perl 6 book
> than these random access forays into reference specs.  brian just spent
> two years of intense effort arranging it to fit precisely the graduated
> path your questions tell me you need.
>


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

--0000000000005742360576d02197
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Additionally: Perl 5 docs don&#39;t run into this because =
perl 5 has only 3 types: scalar, list, hash.<div><br></div><div>Perl 6 has =
lots of types, each of which has its own behavior. We use roles to package =
up common behaviors. Positional is the role for &quot;can be indexed&quot; =
/ &quot;understands []&quot;. Don&#39;t just assume you know what Positiona=
l is because you know its English meaning; look at what it actually does, a=
nd you will find the [] documentation.<br></div></div><br><div class=3D"gma=
il_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 at 9:13 PM Peter Scott &lt;=
<a href=3D"mailto:peter@psdt.com">peter@psdt.com</a>&gt; wrote:<br></div><b=
lockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px =
#ccc solid;padding-left:1ex">On 9/26/2018 3:21 PM, ToddAndMargo wrote:<br>
&gt;<br>
&gt; I use words all the time.=C2=A0 I never would have figured it out<br>
&gt; from<br>
&gt;<br>
&gt; =C2=A0=C2=A0=C2=A0 multi method words(Str:D $input: $limit =3D Inf --&=
gt; Positional)<br>
&gt;<br>
&gt; Do your really think any beginner would be able to figure out<br>
&gt; &quot;words&quot; from the above?<br>
<br>
If the beginner had studied the metasyntax of function prototypes, <br>
probably.=C2=A0 But this is not necessarily for beginners, this is referenc=
e <br>
documentation, which has to serve a purpose unencumbered by pedagogical <br=
>
weight.=C2=A0 This documentation is not a tutorial, it is autogenerated.=C2=
=A0 You <br>
are relatively unique in insisting that the reference documentation also <b=
r>
function as a beginners&#39; roadmap, so you are going to experience this <=
br>
kind of frustration repeatedly.<br>
<br>
I taught Perl 5 trainings for many years in addition to authoring books, <b=
r>
videos, and courses on same, and the difference between what is best for <b=
r>
learning and what is best for reference is stark.=C2=A0 I heard about peopl=
e <br>
who claim to have taught themselves Perl 5 from the Camel instead of the <b=
r>
Llama, but they are few and far between, and in any case, most of the <br>
Camel contains exposition, if dense. You&#39;re looking just at something <=
br>
corresponding to the list of functions.=C2=A0 I honestly think you&#39;ll g=
et <br>
further forcing yourself to plow through the new Learning Perl 6 book <br>
than these random access forays into reference specs.=C2=A0 brian just spen=
t <br>
two years of intense effort arranging it to fit precisely the graduated <br=
>
path your questions tell me you need.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000005742360576d02197--
0
allbery
9/27/2018 1:19:13 AM
--000000000000b7a9950576d02246
Content-Type: text/plain; charset="UTF-8"

On Thu, Sep 27, 2018 at 2:49 AM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 4:33 PM, The Sidhekin wrote:
> > On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo <ToddAndMargo@zoho.com
> > <mailto:ToddAndMargo@zoho.com>> wrote:
>


> >     And where is it stated what goes in the () and what goes
> >     in the []?
> >
> >
> >    The () is part of a method call syntax; method arguments go there:
> > https://docs.perl6.org/language/syntax#Subroutine_calls
>
> Where does it state that
>
> $ p6 '"a b c d e".words(3).say;'
> (a b c)
>
> means the first three words, starting at zero?
>

  https://docs.perl6.org/routine/words#class_Str says it returns "the same
as a call to $input.comb( / \S+ /, $limit ) would".

  https://docs.perl6.org/routine/comb#class_Str says it "returns a list of
non-overlapping matches limited to at most $limit matches".

  It doesn't say it returns the first such matches; maybe it should.

  It doesn't say "starting at zero", but then, why should it?  The first
three wouldn't be the first three if it skipped any, right?


>
> >    The [] is a postcircumfix operator; index arguments go there:
> > https://docs.perl6.org/language/operators#postcircumfix_[_]
>
> Where does
>
>      multi method words(Str:D $input: $limit = Inf --> Positional)
>
> state that I can do such?
>

  It doesn't.  https://docs.perl6.org/language/operators#postcircumfix_[_]
does.


> I ask this because not all methods will take []
>

  Sure they will.  They might give you runtime errors, if the method
doesn't (at runtime) return something that does Positional, but they will
all take it.


> Also, where is it stated that
>
>     $ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
>     (c Nil)
>
> will send the first three words to [2,4] ?
>

  It doesn't.  It shouldn't: There's no "sending".

  https://docs.perl6.org/language/operators#postcircumfix_[_] tells you it
calls postcircumfix:<[ ]> with a first argument of what the returned (the
first three words) and the remaining positional arguments 2, 4.


Eirik

--000000000000b7a9950576d02246
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div di=
r=3D"ltr">On Thu, Sep 27, 2018 at 2:49 AM ToddAndMargo &lt;<a href=3D"mailt=
o:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br><div class=
=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px =
0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 9/26/=
18 4:33 PM, The Sidhekin wrote:<br>
&gt; On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo &lt;<a href=3D"mailto:To=
ddAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">=
ToddAndMargo@zoho.com</a>&gt;&gt; wrote:<br></blockquote><div>=C2=A0</div><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex">&gt;=C2=A0 =C2=A0 =C2=A0An=
d where is it stated what goes in the () and what goes<br>
&gt;=C2=A0 =C2=A0 =C2=A0in the []?<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 The () is part of a method call syntax; method arguments =
go there: <br>
&gt; <a href=3D"https://docs.perl6.org/language/syntax#Subroutine_calls" re=
l=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/language/syntax#S=
ubroutine_calls</a><br>
<br>
Where does it state that<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
(a b c)<br>
<br>
means the first three words, starting at zero?<br></blockquote><div><br></d=
iv>=C2=A0 <a href=3D"https://docs.perl6.org/routine/words#class_Str">https:=
//docs.perl6.org/routine/words#class_Str</a> says it returns &quot;the same=
 as a call to <code>$input.comb( / \S+ /, $limit )</code> would&quot;.</div=
><div class=3D"gmail_quote"><br></div><div class=3D"gmail_quote">=C2=A0 <a =
href=3D"https://docs.perl6.org/routine/comb#class_Str">https://docs.perl6.o=
rg/routine/comb#class_Str</a> says it &quot;returns a list of non-overlappi=
ng matches limited to at most <code>$limit</code> matches&quot;.</div><div =
class=3D"gmail_quote"><br></div><div class=3D"gmail_quote">=C2=A0 It doesn&=
#39;t say it returns the first such matches; maybe it should.</div><div cla=
ss=3D"gmail_quote"><br></div><div class=3D"gmail_quote">=C2=A0 It doesn&#39=
;t say &quot;starting at zero&quot;, but then, why should it?=C2=A0 The fir=
st three wouldn&#39;t be the first three if it skipped any, right?<br></div=
><div class=3D"gmail_quote"><br></div><div class=3D"gmail_quote">=C2=A0<blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">
&gt;=C2=A0 =C2=A0 The [] is a postcircumfix operator; index arguments go th=
ere: <br>
&gt; <a href=3D"https://docs.perl6.org/language/operators#postcircumfix_[_]=
" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/language/oper=
ators#postcircumfix_[_]</a><br>
<br>
Where does<br>
<br>
=C2=A0 =C2=A0 =C2=A0multi method words(Str:D $input: $limit =3D Inf --&gt; =
Positional)<br>
<br>
state that I can do such?<br></blockquote><div><br></div><div>=C2=A0 It doe=
sn&#39;t.=C2=A0 <a href=3D"https://docs.perl6.org/language/operators#postci=
rcumfix_[_]" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/la=
nguage/operators#postcircumfix_[_]</a> does.<br></div><div>=C2=A0</div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex">
I ask this because not all methods will take []<br></blockquote><div><br></=
div><div>=C2=A0 Sure they will.=C2=A0 They might give you runtime errors, i=
f the method doesn&#39;t (at runtime) return something that does Positional=
, but they will all take it.<br></div><div>=C2=A0</div><blockquote class=3D=
"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(2=
04,204,204);padding-left:1ex">
Also, where is it stated that<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words(3)[ 2, 4 ].say;&#39;<br=
>
=C2=A0 =C2=A0 (c Nil)<br>
<br>
will send the first three words to [2,4] ?<br></blockquote><div><br></div><=
div>=C2=A0 It doesn&#39;t.=C2=A0 It shouldn&#39;t: There&#39;s no &quot;sen=
ding&quot;.</div><div><br></div><div>=C2=A0 <a href=3D"https://docs.perl6.o=
rg/language/operators#postcircumfix_[_]" rel=3D"noreferrer" target=3D"_blan=
k">https://docs.perl6.org/language/operators#postcircumfix_[_]</a> tells yo=
u it calls postcircumfix:&lt;[ ]&gt; with a first argument of what the retu=
rned (the first three words) and the remaining positional arguments 2, 4.<b=
r></div><div><br></div><div><br></div><div>Eirik<br></div></div></div></div=
></div></div></div>

--000000000000b7a9950576d02246--
0
sidhekin
9/27/2018 1:19:39 AM
On 9/26/18 6:18 PM, Curt Tilmes wrote:>
 >      > The methods don't take [].  You are calling [] on the thing 
that the
 >      > methods return.

>> 
>>     Yes, I know.  And it is human readable too.  It is one of the
>>     many reasons I adore Perl 6.
>> 
>>     Where in
>>          multi method words(Str:D $input: $limit = Inf --> Positional)
>>     does it state that "words" will do that?  Not all methods will.
>>     So it need to be stated when they will.
>> 
>>



 > The part where it says "--> Positional" says the thing that gets
 > returned is Positional.
 >
 > A Positional thing has all sorts of methods and operators you can use,
 > including []
 >
 > Not all methods will, of course.  Only those that say "--> Positional"
 > return a Positional that acts like that.
 >
 > Curt

Hi Curt,

Perfect! Thank you!

So all methods that respond with --> Positional will accept []

Awesome!

-T
0
ToddAndMargo
9/27/2018 1:31:29 AM
On 9/26/18 6:06 PM, The Sidhekin wrote:
> On Thu, Sep 27, 2018 at 3:03 AM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     On 9/26/18 5:55 PM, Curt Tilmes wrote:
>      > You are calling [] on the thing that the methods return.
>=20
>     Yes, I know.=C2=A0 And it is human readable too.=C2=A0 It is one of=
 the
>     many reasons I adore Perl 6.
>=20
>     Where in
>      =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --> =
Positional)
>     does it state that "words" will do that?
>=20
>=20
>  =C2=A0 "words" doesn't do that.=C2=A0 Read it again: "You are calling =
[]". =20
> "You".=C2=A0 Not "words".
>=20

Hi Eirik

Curt explained it.  All methods that respond with --> Positional
will accept []

Light bulb moment.

Thank you for the help!

-T
0
ToddAndMargo
9/27/2018 1:33:01 AM
--00000000000089a7610576d05d88
Content-Type: text/plain; charset="UTF-8"

On Thu, Sep 27, 2018 at 3:14 AM Peter Scott <peter@psdt.com> wrote:

> On 9/26/2018 3:21 PM, ToddAndMargo wrote:
> > Do your really think any beginner would be able to figure out
> > "words" from the above?
>
> If the beginner had studied the metasyntax of function prototypes,
> probably.


  Yeah, that's where a beginner needs to begin, in order to learn Perl6
from the docs.

  Syntax, metasyntax, all sorts of basics ...


> I heard about people
> who claim to have taught themselves Perl 5 from the Camel instead of the
> Llama, but they are few and far between, and in any case, most of the
> Camel contains exposition, if dense.


  I learned Perl 5 from the man pages.  It was more fun than efficient, but
I could easily afford it: It was not (at the time) my job. :)

  But we're not all wired the same way.  This endeavour looks to me neither
fun nor efficient.


Eirik

--00000000000089a7610576d05d88
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Thu, Sep 27, 2018 at 3:14 AM Peter Scott &lt;<a href=3D=
"mailto:peter@psdt.com">peter@psdt.com</a>&gt; wrote:<br><div class=3D"gmai=
l_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;borde=
r-left:1px #ccc solid;padding-left:1ex">On 9/26/2018 3:21 PM, ToddAndMargo =
wrote:<br>&gt; Do your really think any beginner would be able to figure ou=
t<br>
&gt; &quot;words&quot; from the above?<br>
<br>
If the beginner had studied the metasyntax of function prototypes, <br>
probably.</blockquote><div><br></div><div>=C2=A0 Yeah, that&#39;s where a b=
eginner needs to begin, in order to learn Perl6 from the docs.</div><div><b=
r></div><div>=C2=A0 Syntax, metasyntax, all sorts of basics ...<br></div><d=
iv>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex">I heard about people <br>
who claim to have taught themselves Perl 5 from the Camel instead of the <b=
r>
Llama, but they are few and far between, and in any case, most of the <br>
Camel contains exposition, if dense.</blockquote><div><br></div><div>=C2=A0=
 I learned Perl 5 from the man pages.=C2=A0 It was more fun than efficient,=
 but I could easily afford it: It was not (at the time) my job. :)<br></div=
><div><br></div><div>=C2=A0 But we&#39;re not all wired the same way.=C2=A0=
 This endeavour looks to me neither fun nor efficient.</div><div><br></div>=
<div><br></div><div>Eirik<br></div></div></div>

--00000000000089a7610576d05d88--
0
sidhekin
9/27/2018 1:36:06 AM
On 9/26/18 6:08 PM, Brandon Allbery wrote:
> In the part that says "Positional". You have already been told this.

Hi Brandon,

Sorry for the frustration.  It did not sink in until Curt explained
it to me.

I did look up Positional before posting this.  It did not
sink in either.

https://docs.perl6.org/type/Positional
    Role for objects which support indexing them using
    postcircumfix:=C2=AB[ ]=C2=BB (usually list-like objects). Example
    types with Positional role include List, Array, Range,
    and Buf.

    Returns the type constraint for elements of the positional
    container. Defaults to Mu.


Thank you for all the help with this.


-T
0
ToddAndMargo
9/27/2018 1:37:26 AM
On 9/26/18 6:03 PM, Timo Paulssen wrote:
> You're still missing that the words method doesn't "take the [2,4]". Th=
e
> operation that [2,4] does takes place after the words() thing has
> already done its work.
>=20
> You could actually say that every method takes [0]. Try it!
>=20
> Your confusion looks a bit similar to seeing
>=20
>  =C2=A0=C2=A0=C2=A0 multi sub exp(Cool:D $pow, Cool:D $base?)
>=20
> and the example code
>=20
>  =C2=A0=C2=A0=C2=A0 say exp(2, 10) + 5
>=20
> and then asking "where in the multi sub exp in the docs does it say tha=
t
> i can add 5?"
>=20
> They are separate things that work together.
>=20
> The return value of words being Positional means mainly that it gives
> you something you can use [ ] on.
>=20
> The part of words where it says $limit =3D Inf means that if no number =
is
> passed there, that the value Inf is used. Inf is not a Type, and even
> though you can put a type on the right side of an assignment, it will
> "just" be used as a value.
>=20
> I'm not sure why you wrote "I am NOT asking it to limit my request to
> Infinity.", maybe if you explain that a little more we can figure out
> better what's confusing you.
>=20
>=20
>> Where does
>>
>>  =C2=A0=C2=A0=C2=A0 multi method words(Str:D $input: $limit =3D Inf --=
> Positional)
>>
>> state that I can do such?
>>
>> I ask this because not all methods will take []
>>
>>
>> $ p6 '"a b c d e".contains( "a","b" ).say;'
>> Cannot convert string to number: base-10 number must begin with valid
>> digits or '.' in '=E2=8F=8Fb' (indicated by =E2=8F=8F)
>>  =C2=A0 in block <unit> at -e line 1
>>
>> $ p6 '"a b c d e".contains( 1, 3 ).say;'
>> Ambiguous call to 'contains(Str: Int, Int)'; these signatures all matc=
h:
>> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
>> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
>>  =C2=A0 in block <unit> at -e line 1
>=20
>=20
> You aren't using [] there, you're just putting the strings and numbers
> inside the (), which is the difference that people are trying to
> explain, but not finding the right words to make you understand. Can yo=
u
> help us by explaining how you get from "every method takes [ ]" to "i'l=
l
> try it with ()"? Perhaps some place wrongly claimed that () and [] are
> the same? That might require a bit of re-wording in the docs, then.
>=20
> Hope any of that helps
>  =C2=A0 - Timo
>=20

Hi Timo,

Curt explained it to me.

Your explanation was marvelous written.  That takes
talent!  I feel a little bit guilty not stopping
you sooner.

Okay, guilt over.  Would you take a swipe at "$limit =3D Inf"

Many thanks,
-T
0
ToddAndMargo
9/27/2018 1:40:22 AM
On 9/26/18 6:19 PM, The Sidhekin wrote:
> On Thu, Sep 27, 2018 at 2:49 AM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     On 9/26/18 4:33 PM, The Sidhekin wrote:
>      > On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo
>     <ToddAndMargo@zoho.com <mailto:ToddAndMargo@zoho.com>
>      > <mailto:ToddAndMargo@zoho.com <mailto:ToddAndMargo@zoho.com>>> w=
rote:
>=20
>      >=C2=A0 =C2=A0 =C2=A0And where is it stated what goes in the () an=
d what goes
>      >=C2=A0 =C2=A0 =C2=A0in the []?
>      >
>      >
>      >=C2=A0 =C2=A0 The () is part of a method call syntax; method argu=
ments go
>     there:
>      > https://docs.perl6.org/language/syntax#Subroutine_calls
>=20
>     Where does it state that
>=20
>     $ p6 '"a b c d e".words(3).say;'
>     (a b c)
>=20
>     means the first three words, starting at zero?
>=20
>=20
> https://docs.perl6.org/routine/words#class_Str says it returns "the sam=
e=20
> as a call to |$input.comb( / \S+ /, $limit )| would".
>=20
> https://docs.perl6.org/routine/comb#class_Str says it "returns a list o=
f=20
> non-overlapping matches limited to at most |$limit| matches".
>=20
>  =C2=A0 It doesn't say it returns the first such matches; maybe it shou=
ld.
>=20
>  =C2=A0 It doesn't say "starting at zero", but then, why should it?=C2=A0=
 The=20
> first three wouldn't be the first three if it skipped any, right?
>=20
>      >=C2=A0 =C2=A0 The [] is a postcircumfix operator; index arguments=
 go there:
>      > https://docs.perl6.org/language/operators#postcircumfix_[_]
>=20
>     Where does
>=20
>      =C2=A0 =C2=A0 =C2=A0multi method words(Str:D $input: $limit =3D In=
f --> Positional)
>=20
>     state that I can do such?
>=20
>=20
>  =C2=A0 It doesn't.=20
> https://docs.perl6.org/language/operators#postcircumfix_[_] does.
>=20
>     I ask this because not all methods will take []
>=20
>=20
>  =C2=A0 Sure they will.=C2=A0 They might give you runtime errors, if th=
e method=20
> doesn't (at runtime) return something that does Positional, but they=20
> will all take it.
>=20
>     Also, where is it stated that
>=20
>      =C2=A0 =C2=A0 $ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
>      =C2=A0 =C2=A0 (c Nil)
>=20
>     will send the first three words to [2,4] ?
>=20
>=20
>  =C2=A0 It doesn't.=C2=A0 It shouldn't: There's no "sending".
>=20
> https://docs.perl6.org/language/operators#postcircumfix_[_] tells you i=
t=20
> calls postcircumfix:<[ ]> with a first argument of what the returned=20
> (the first three words) and the remaining positional arguments 2, 4.
>=20
>=20
> Eirik

Hi Eirek,

Curt Explained it to me.  Thank you for all the help!

The only thing I am hanging on is "$limit =3D Inf"

-T

--=20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Computers are like air conditioners.
They malfunction when you open windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
ToddAndMargo
9/27/2018 1:41:35 AM
--00000000000043f5400576d087cf
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 9:40 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

>  Would you take a swipe at "$limit = Inf"
>

In the signature like that it is just a default.  If you pass in a $limit
parameter, that gets used like
"a b c d e".words(3) sets $limit to 3, limiting words() to 3 words.

If you don't pass anything in, it gets the default value, in this case Inf,
which is greater than the greatest integer.

If you called "a b c d e".words(Inf) it would be the same thing as not
passing any anything.

If the signature said "$limit = 3", then the default would be 3, and calling
"a b c d e".words() or "a b c d e".words would be the same as saying "a b c
d e".words(3)

Inf is kind of special because no matter how many words get parsed out, it
will keep going.  The limit will
never read Inf because Inf is infinite!

It makes a great default, because we don't want to ever stop sending more
words if you didn't specify a limit.

Curt

--00000000000043f5400576d087cf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed=
, Sep 26, 2018 at 9:40 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@z=
oho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex">=C2=A0Would you take a swipe at &quot;$limit =3D Inf&quot;<br></=
blockquote><div><br></div><div>In the signature like that it is just a defa=
ult.=C2=A0 If you pass in a $limit parameter, that gets used like</div><div=
>&quot;a b c d e&quot;.words(3) sets $limit to 3, limiting words() to 3 wor=
ds.</div><div><br></div><div>If you don&#39;t pass anything in, it gets the=
 default value, in this case Inf, which is greater than the greatest intege=
r.</div><div><br></div><div>If you called &quot;a b c d e&quot;.words(Inf) =
it would be the same thing as not passing any anything.</div><div><br></div=
><div>If the signature said &quot;$limit =3D 3&quot;, then the default woul=
d be 3, and calling</div><div>&quot;a b c d e&quot;.words() or &quot;a b c =
d e&quot;.words would be the same as saying &quot;a b c d e&quot;.words(3)<=
/div><div><br></div><div>Inf is kind of special because no matter how many =
words get parsed out, it will keep going.=C2=A0 The limit will</div><div>ne=
ver read Inf because Inf is infinite!</div><div><br></div><div>It makes a g=
reat default, because we don&#39;t want to ever stop sending more words if =
you didn&#39;t specify a limit.</div><div><br></div><div>Curt</div><div><br=
></div></div></div>

--00000000000043f5400576d087cf--
0
curt
9/27/2018 1:47:46 AM
On 9/26/18 5:57 PM, Brandon Allbery wrote:
> On Wed, Sep 26, 2018 at 8:49 PM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>=20
>     $ p6 '"a b c d e".words[ 2, 4 ].say;'
>     (c e)
>=20
>     or
>=20
>     $ p6 '"a b c d e".words()[ 2, 4 ].say;'
>     (c e)
>=20
>     I am selecting the 2nd and 4th word starting from zero.=C2=A0 Insid=
e
>     the brackets I am asking it to select th e 2nd and 4th words for me=
=2E
>=20
>     I am NOT asking it to limit my request to Infinity.
>=20
>=20
> Correct. You put them inside the [ ]. They belong to the [ ] role of=20
> Positional.
> The words function knows nothing whatsoever about this. It belongs to=20
> Positional.
>=20
> If you put it inside the parentheses instead of the brackets, it belong=
s=20
> to the Callable, and will be given to words(). Now it is applied as the=
=20
> $limit on how many times to split the string.
>=20
>     Where does it state that
>=20
>     $ p6 '"a b c d e".words(3).say;'
>     (a b c)
>=20
>     means the first three words, starting at zero?
>=20
>=20
> At least three of us have told you that this is $limit, because it is i=
n=20
> the parentheses instead of in the brackets.
> But you want words() to have a $selection there instead, so words() can=
=20
> be a list for you instead of letting the list be a list.
> Why is it so important that words() pretend to be a list, when we have =

> lists that know how to be lists?
> Why is it so important that you not have to find out what a list is, bu=
t=20
> instead that words() must pretend that it is a list?
>=20
> Nobody understands why you insist that lists are wired into the=20
> functions that produce them and can't possibly know that they can be=20
> indexed. And that we must document every function that produces a lista=
s=20
> actally itself being a list, including magical $selection parameters,=20
> when that is what lists are for. What do you think lists are for, if=20
> words() and lines() have to be fake lists to work instead of producing =

> real lists?

Hi Brandon,

Curt explained it to me.

To go along with what you stated

     $ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
     (c Nil)

"words" is returning the first three words delimited
by whitespace.  [2,4] is request the individual words
in positions 2 and 4 starting at 0.  The "Nil" is because
there are only three words after requesting the (3).

Thank you for all the help with this!

-T
0
ToddAndMargo
9/27/2018 1:48:42 AM
On 9/26/18 6:31 PM, ToddAndMargo wrote:
> On 9/26/18 6:18 PM, Curt Tilmes wrote:>
>  >=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 > The methods don't take [].=C2=A0 You=
 are calling [] on the thing=20
> that the
>  >=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 > methods return.
>=20
>>>
>>> =C2=A0=C2=A0=C2=A0 Yes, I know.=C2=A0 And it is human readable too.=C2=
=A0 It is one of the
>>> =C2=A0=C2=A0=C2=A0 many reasons I adore Perl 6.
>>>
>>> =C2=A0=C2=A0=C2=A0 Where in
>>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 multi method words(S=
tr:D $input: $limit =3D Inf --> Positional)
>>> =C2=A0=C2=A0=C2=A0 does it state that "words" will do that?=C2=A0 Not=
 all methods will.
>>> =C2=A0=C2=A0=C2=A0 So it need to be stated when they will.
>>>
>>>
>=20
>=20
>=20
>  > The part where it says "--> Positional" says the thing that gets
>  > returned is Positional.
>  >
>  > A Positional thing has all sorts of methods and operators you can us=
e,
>  > including []
>  >
>  > Not all methods will, of course.=C2=A0 Only those that say "--> Posi=
tional"
>  > return a Positional that acts like that.
>  >
>  > Curt
>=20
> Hi Curt,
>=20
> Perfect! Thank you!
>=20
> So all methods that respond with --> Positional will accept []
>=20
> Awesome!
>=20
> -T



I do believe the reason I spaced on this was that when I see "-->"
what goes through my head is "this is the value(s) returned".
I had not idea it would reflect backwards and affect the method.

There should be a better way of stating this.
0
ToddAndMargo
9/27/2018 1:50:34 AM
On 9/26/18 6:47 PM, Curt Tilmes wrote:
> In the signature like that it is just a default.=C2=A0 If you pass in a=
=20
> $limit parameter, that gets used like
> "a b c d e".words(3) sets $limit to 3, limiting words() to 3 words.

Oh I get it now.  I was thinking it had to do with the list.

And do I presume correctly that the "inf" is short hand for saying
as many words as you want.

And where is it stated that an empty () defaults to all of them
and not to none of them?

There has got to be a better way of writing this stuff up.
0
ToddAndMargo
9/27/2018 1:53:04 AM
On 9/26/18 3:25 PM, Brandon Allbery wrote:
> I question "actually do RTFM", because you apparently think words() has 
> to not only explain in complete detail what "Positional" means, but also 
> must be rewritten to perform the Positional role itself via a $selection 
> parameter instead of letting the Positional role do the job for which it 
> exists.

Brandon,

Reading and understanding are two different things.

I presume you have P5's perldocs installed.  Pick
out any functions (perldoc -f name) and take
a look at how extraordinarily simple their explanations
are to understand.  You almost never have to ask for help.
 From my two postings on "words" you can tell the difference
in understanding.

When documenting things, you always start simple and then
work your way up to the complex.

     multi method words(Str:D $input: $limit = Inf --> Positional)

is not simple.

When I program, typically I have open my code editor, a
terminal for testing the code, another terminal for
testing one liners, and a web browser up with the documents
in several tabs.

Perl's routine documents are really, really difficult
for a beginner to understand (as opposed to what I am
use to in perldocs).  Think of it this way.  If I knew
enough to understand the above cryptology, why would I
need to go back and read it?  I would already know it.

Thank you all for all the help with this.  I know I
am a bit slow.

If I have a free moment soon, I will write up a perldocs
type explanation for words and submit it as an RFE to
add to the documentation.  I will submit it here first
to reduce the dripping egg on my face if I get anything wrong.

-T
0
ToddAndMargo
9/27/2018 2:03:15 AM
--0000000000005b46f30576d0c241
Content-Type: text/plain; charset="UTF-8"

It doesn't. It just improves error messages.

words() produces a list-like thing; that's what really matters, because
list-like things do the Positional role. Declaring it up front lets Perl 6
give you an error message early if you use the result in the wrong way or
if the actual implementation of words() doesn't produce something that does
the Positional role.

pyanfar Z$ 6 'say (sub { [5] })()[0]'
5

I didn't declare the anonymous sub as producing a Positional; it just
returns a List. I then invoke it with (), and apply [] to the resulting
List. It's the fact that it produced a List that matters; any List or Seq
or Array or Buf, etc. can be []-ed,because they all do the Positional role
that defines [].


On Wed, Sep 26, 2018 at 9:51 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 6:31 PM, ToddAndMargo wrote:
> > On 9/26/18 6:18 PM, Curt Tilmes wrote:>
> >  >      > The methods don't take [].  You are calling [] on the thing
> > that the
> >  >      > methods return.
> >
> >>>
> >>>     Yes, I know.  And it is human readable too.  It is one of the
> >>>     many reasons I adore Perl 6.
> >>>
> >>>     Where in
> >>>          multi method words(Str:D $input: $limit = Inf --> Positional)
> >>>     does it state that "words" will do that?  Not all methods will.
> >>>     So it need to be stated when they will.
> >>>
> >>>
> >
> >
> >
> >  > The part where it says "--> Positional" says the thing that gets
> >  > returned is Positional.
> >  >
> >  > A Positional thing has all sorts of methods and operators you can use,
> >  > including []
> >  >
> >  > Not all methods will, of course.  Only those that say "--> Positional"
> >  > return a Positional that acts like that.
> >  >
> >  > Curt
> >
> > Hi Curt,
> >
> > Perfect! Thank you!
> >
> > So all methods that respond with --> Positional will accept []
> >
> > Awesome!
> >
> > -T
>
>
>
> I do believe the reason I spaced on this was that when I see "-->"
> what goes through my head is "this is the value(s) returned".
> I had not idea it would reflect backwards and affect the method.
>
> There should be a better way of stating this.
>


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

--0000000000005b46f30576d0c241
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">It doesn&#39;t. It just improves error me=
ssages.<div><br><div>words() produces a list-like thing; that&#39;s what re=
ally matters, because list-like things do the Positional role. Declaring it=
 up front lets Perl 6 give you an error message early if you use the result=
 in the wrong way or if the actual implementation of words() doesn&#39;t pr=
oduce something that does the Positional role.</div></div><div><br></div><d=
iv><div>pyanfar Z$ 6 &#39;say (sub { [5] })()[0]&#39;</div><div>5</div></di=
v><div><br></div><div>I didn&#39;t declare the anonymous sub as producing a=
 Positional; it just returns a List. I then invoke it with (), and apply []=
 to the resulting List. It&#39;s the fact that it produced a List that matt=
ers; any List or Seq or Array or Buf, etc. can be []-ed,because they all do=
 the Positional role that defines [].</div><div><br></div></div></div><br><=
div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 at 9:51 PM =
ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho=
..com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26/18 6:31=
 PM, ToddAndMargo wrote:<br>
&gt; On 9/26/18 6:18 PM, Curt Tilmes wrote:&gt;<br>
&gt;=C2=A0 &gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &gt; The methods don&#39;t ta=
ke [].=C2=A0 You are calling [] on the thing <br>
&gt; that the<br>
&gt;=C2=A0 &gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &gt; methods return.<br>
&gt; <br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 Yes, I know.=C2=A0 And it is human readable=
 too.=C2=A0 It is one of the<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 many reasons I adore Perl 6.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 Where in<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 multi method =
words(Str:D $input: $limit =3D Inf --&gt; Positional)<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 does it state that &quot;words&quot; will d=
o that?=C2=A0 Not all methods will.<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 So it need to be stated when they will.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 &gt; The part where it says &quot;--&gt; Positional&quot; says t=
he thing that gets<br>
&gt;=C2=A0 &gt; returned is Positional.<br>
&gt;=C2=A0 &gt;<br>
&gt;=C2=A0 &gt; A Positional thing has all sorts of methods and operators y=
ou can use,<br>
&gt;=C2=A0 &gt; including []<br>
&gt;=C2=A0 &gt;<br>
&gt;=C2=A0 &gt; Not all methods will, of course.=C2=A0 Only those that say =
&quot;--&gt; Positional&quot;<br>
&gt;=C2=A0 &gt; return a Positional that acts like that.<br>
&gt;=C2=A0 &gt;<br>
&gt;=C2=A0 &gt; Curt<br>
&gt; <br>
&gt; Hi Curt,<br>
&gt; <br>
&gt; Perfect! Thank you!<br>
&gt; <br>
&gt; So all methods that respond with --&gt; Positional will accept []<br>
&gt; <br>
&gt; Awesome!<br>
&gt; <br>
&gt; -T<br>
<br>
<br>
<br>
I do believe the reason I spaced on this was that when I see &quot;--&gt;&q=
uot;<br>
what goes through my head is &quot;this is the value(s) returned&quot;.<br>
I had not idea it would reflect backwards and affect the method.<br>
<br>
There should be a better way of stating this.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000005b46f30576d0c241--
0
allbery
9/27/2018 2:04:16 AM
On 9/26/18 2:30 PM, Laurent Rosenfeld via perl6-users wrote:
> You can set a limit to the number of items (words) you want to retrieve: 
> you will get only the first $limit words.
> 
> If you don't supply any limit, Inf can be thought as the default value 
> for the number of items, i.e. there is no limit and the routine will 
> return as many words as it can from the source input.
> 

Hi Laurent,

yes, I now understand.  Curt explained it beautifully and Timo
wrote and excellent explanation too.  Yours was very easy to undestand 
too.  That takes some doing when the audience is me.

:-)


Thank you for all the help with this!

-T
0
ToddAndMargo
9/27/2018 2:07:01 AM
--00000000000082217f0576d0d0f2
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 10:04 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> I presume you have P5's perldocs installed.  Pick
> out any functions (perldoc -f name) and take
> a look at how extraordinarily simple their explanations
> are to understand.  You almost never have to ask for help.
>  From my two postings on "words" you can tell the difference
> in understanding.
>

Perl 5 barely has types, so there's nothing to document.

Perl 6 has a whole bunch of types. You will need to learn to look up any
type that you do not already know.

English is not a programming language, so it will not help you with
understanding what Positional is. Or Callable. Or Mix, or any of the other
types and roles in Perl 6. Perl 5 has none of these, so it is never a
problem in Perl 5. Instead you have to memorize a bunch of weird special
case rules for the things Perl 5 does know about -- and perldoc expects you
to have done so. You don't notice because you've already memorized them.

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

--00000000000082217f0576d0d0f2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26=
, 2018 at 10:04 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com=
">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_=
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
ex">I presume you have P5&#39;s perldocs installed.=C2=A0 Pick<br>
out any functions (perldoc -f name) and take<br>
a look at how extraordinarily simple their explanations<br>
are to understand.=C2=A0 You almost never have to ask for help.<br>
=C2=A0From my two postings on &quot;words&quot; you can tell the difference=
<br>
in understanding.<br></blockquote><div><br></div><div>Perl 5 barely has typ=
es, so there&#39;s nothing to document.</div><div><br></div><div>Perl 6 has=
 a whole bunch of types. You will need to learn to look up any type that yo=
u do not already know.</div><div><br></div><div>English is not a programmin=
g language, so it will not help you with understanding what Positional is. =
Or Callable. Or Mix, or any of the other types and roles in Perl 6. Perl 5 =
has none of these, so it is never a problem in Perl 5. Instead you have to =
memorize a bunch of weird special case rules for the things Perl 5 does kno=
w about -- and perldoc expects you to have done so. You don&#39;t notice be=
cause you&#39;ve already memorized them.</div></div><div><br></div>-- <br><=
div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature=
"><div dir=3D"ltr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div>=
<div><a href=3D"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gma=
il.com</a></div></div></div></div></div></div>

--00000000000082217f0576d0d0f2--
0
allbery
9/27/2018 2:08:15 AM
On 9/26/18 7:04 PM, Brandon Allbery wrote:
> It doesn't. It just improves error messages.
> 
> words() produces a list-like thing; that's what really matters, because 
> list-like things do the Positional role. Declaring it up front lets Perl 
> 6 give you an error message early if you use the result in the wrong way 
> or if the actual implementation of words() doesn't produce something 
> that does the Positional role.
> 
> pyanfar Z$ 6 'say (sub { [5] })()[0]'
> 5
> 
> I didn't declare the anonymous sub as producing a Positional; it just 
> returns a List. I then invoke it with (), and apply [] to the resulting 
> List. It's the fact that it produced a List that matters; any List or 
> Seq or Array or Buf, etc. can be []-ed,because they all do the 
> Positional role that defines [].

Uhhh okay.
0
ToddAndMargo
9/27/2018 2:09:14 AM
On 9/26/18 3:31 PM, Curt Tilmes wrote:
>=20
>=20
> On Wed, Sep 26, 2018 at 6:13 PM Brandon Allbery <allbery.b@gmail.com=20
> <mailto:allbery.b@gmail.com>> wrote:
>=20
>     On Wed, Sep 26, 2018 at 6:09 PM ToddAndMargo <ToddAndMargo@zoho.com=

>     <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>         multi method words(Str:D $input: $limit =3D Inf --> Positional)=

>=20
>=20
> "a b c d".words(3);
> (a b c)
> passing the $limit parameter in with 3, limits the number of words=20
> returned to 3.
>=20
> "a b c d".words(2);
> (a b)
> Passing a $limit of 2, limits the words returned to 2.
>=20
> If you *don't* set $limit at all, it gets set to its default, Inf, or=20
> all the words.=C2=A0 It just never stops because there is no limit.
> "a b c d".words();
> (a b c d)
>=20
> The () are optional since you aren't passing in any parameters, so you =

> can also just say
> "a b c d".words;
> (a b c d)
>=20
> You can store that in a variable
> my @x =3D "a b c d".words;
>=20
> Once you've got that in a variable, as described in detail on the page =

> about Positional, you can access parts of it with the [] operator, for =

> example, the word in the '2' position (the third word counting from 0) =
is
> @x[2]
> c
>=20
> What looks a little weird is that you don't need=C2=A0@x at all.=C2=A0 =
You can=20
> just call the [] operator directly on the return value from words
>=20
> "a b c d".words()[2]
> c
>=20
> and of course, you can omit the () since you aren't passing in=20
> parameters, so this is the same thing
>=20
> "a b c d".words[2]
> c
>=20
> Curt
>=20


Perfect!  Thank you!

--=20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Computers are like air conditioners.
They malfunction when you open windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
ToddAndMargo
9/27/2018 2:10:58 AM
--000000000000b83b8d0576d0dc71
Content-Type: text/plain; charset="UTF-8"

That's not helping. What didn't you understand? Are you still expecting
that it is words() that must know all the details of what a list is,
because a list can't know what itself is?

On Wed, Sep 26, 2018 at 10:09 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 7:04 PM, Brandon Allbery wrote:
> > It doesn't. It just improves error messages.
> >
> > words() produces a list-like thing; that's what really matters, because
> > list-like things do the Positional role. Declaring it up front lets Perl
> > 6 give you an error message early if you use the result in the wrong way
> > or if the actual implementation of words() doesn't produce something
> > that does the Positional role.
> >
> > pyanfar Z$ 6 'say (sub { [5] })()[0]'
> > 5
> >
> > I didn't declare the anonymous sub as producing a Positional; it just
> > returns a List. I then invoke it with (), and apply [] to the resulting
> > List. It's the fact that it produced a List that matters; any List or
> > Seq or Array or Buf, etc. can be []-ed,because they all do the
> > Positional role that defines [].
>
> Uhhh okay.
>


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

--000000000000b83b8d0576d0dc71
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">That&#39;s not helping. What didn&#39;t you understand? Ar=
e you still expecting that it is words() that must know all the details of =
what a list is, because a list can&#39;t know what itself is?</div><br><div=
 class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 at 10:09 PM To=
ddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.c=
om</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26/18 7:04 P=
M, Brandon Allbery wrote:<br>
&gt; It doesn&#39;t. It just improves error messages.<br>
&gt; <br>
&gt; words() produces a list-like thing; that&#39;s what really matters, be=
cause <br>
&gt; list-like things do the Positional role. Declaring it up front lets Pe=
rl <br>
&gt; 6 give you an error message early if you use the result in the wrong w=
ay <br>
&gt; or if the actual implementation of words() doesn&#39;t produce somethi=
ng <br>
&gt; that does the Positional role.<br>
&gt; <br>
&gt; pyanfar Z$ 6 &#39;say (sub { [5] })()[0]&#39;<br>
&gt; 5<br>
&gt; <br>
&gt; I didn&#39;t declare the anonymous sub as producing a Positional; it j=
ust <br>
&gt; returns a List. I then invoke it with (), and apply [] to the resultin=
g <br>
&gt; List. It&#39;s the fact that it produced a List that matters; any List=
 or <br>
&gt; Seq or Array or Buf, etc. can be []-ed,because they all do the <br>
&gt; Positional role that defines [].<br>
<br>
Uhhh okay.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--000000000000b83b8d0576d0dc71--
0
allbery
9/27/2018 2:11:40 AM
On 9/26/18 7:08 PM, Brandon Allbery wrote:
> English is not a programming language, so it will not help you with 
> understanding what Positional is. Or Callable. Or Mix, or any of the 
> other types and roles in Perl 6. Perl 5 has none of these, so it is 
> never a problem in Perl 5. Instead you have to memorize a bunch of weird 
> special case rules for the things Perl 5 does know about -- and perldoc 
> expects you to have done so. You don't notice because you've already 
> memorized them.

Not an excuse for poor explanations.  Perdocs leaves you knowing
how to "use" the functions.  Perl 6's does not, unless you
already know how to use it, then your don't need it.

So rather than grumbling about it, I am going to start
trying to be part of the solution, rather than just
grumble about the problem.

This is my latest:

     A booboo and an rfe in contains documentation
     https://github.com/perl6/doc/issues/2334

Thank you for all the help with this.

-T
0
ToddAndMargo
9/27/2018 2:14:50 AM
--0000000000007fc9ec0576d0ee41
Content-Type: text/plain; charset="UTF-8"

Actually, let's try a simpler one:

pyanfar Z$ 6 'say ([5])[0]'
5

The list [5] understands Positional, and therefore knows about what to do
with the [0]. The parentheses are only because [5][0] looks a bit strange;
but that one works the same way.

The same is true of the list that words() produces. words() doesn't need to
know that, it just gives you a list. Positional describes the "indexable"
attribute of a list.
(If you look up List in the type documentation, you will see other roles
like Iterable that lists know about.)

On Wed, Sep 26, 2018 at 10:11 PM Brandon Allbery <allbery.b@gmail.com>
wrote:

> That's not helping. What didn't you understand? Are you still expecting
> that it is words() that must know all the details of what a list is,
> because a list can't know what itself is?
>
> On Wed, Sep 26, 2018 at 10:09 PM ToddAndMargo <ToddAndMargo@zoho.com>
> wrote:
>
>> On 9/26/18 7:04 PM, Brandon Allbery wrote:
>> > It doesn't. It just improves error messages.
>> >
>> > words() produces a list-like thing; that's what really matters, because
>> > list-like things do the Positional role. Declaring it up front lets
>> Perl
>> > 6 give you an error message early if you use the result in the wrong
>> way
>> > or if the actual implementation of words() doesn't produce something
>> > that does the Positional role.
>> >
>> > pyanfar Z$ 6 'say (sub { [5] })()[0]'
>> > 5
>> >
>> > I didn't declare the anonymous sub as producing a Positional; it just
>> > returns a List. I then invoke it with (), and apply [] to the resulting
>> > List. It's the fact that it produced a List that matters; any List or
>> > Seq or Array or Buf, etc. can be []-ed,because they all do the
>> > Positional role that defines [].
>>
>> Uhhh okay.
>>
>
>
> --
> brandon s allbery kf8nh
> allbery.b@gmail.com
>


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

--0000000000007fc9ec0576d0ee41
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Actually, let&#39;s try a simpler one:<di=
v><br></div><div><div>pyanfar Z$ 6 &#39;say ([5])[0]&#39;=C2=A0</div><div>5=
</div></div><div><br></div><div>The list [5] understands Positional, and th=
erefore knows about what to do with the [0]. The parentheses are only becau=
se [5][0] looks a bit strange; but that one works the same way.</div><div><=
br></div><div>The same is true of the list that words() produces. words() d=
oesn&#39;t need to know that, it just gives you a list. Positional describe=
s the &quot;indexable&quot; attribute of a list.</div><div>(If you look up =
List in the type documentation, you will see other roles like Iterable that=
 lists know about.)</div></div></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr">On Wed, Sep 26, 2018 at 10:11 PM Brandon Allbery &lt;<a href=3D"m=
ailto:allbery.b@gmail.com">allbery.b@gmail.com</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex"><div dir=3D"ltr">That&#39;s not helping. What di=
dn&#39;t you understand? Are you still expecting that it is words() that mu=
st know all the details of what a list is, because a list can&#39;t know wh=
at itself is?</div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, =
Sep 26, 2018 at 10:09 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zo=
ho.com" target=3D"_blank">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex">On 9/26/18 7:04 PM, Brandon Allbery wrote:<br>
&gt; It doesn&#39;t. It just improves error messages.<br>
&gt; <br>
&gt; words() produces a list-like thing; that&#39;s what really matters, be=
cause <br>
&gt; list-like things do the Positional role. Declaring it up front lets Pe=
rl <br>
&gt; 6 give you an error message early if you use the result in the wrong w=
ay <br>
&gt; or if the actual implementation of words() doesn&#39;t produce somethi=
ng <br>
&gt; that does the Positional role.<br>
&gt; <br>
&gt; pyanfar Z$ 6 &#39;say (sub { [5] })()[0]&#39;<br>
&gt; 5<br>
&gt; <br>
&gt; I didn&#39;t declare the anonymous sub as producing a Positional; it j=
ust <br>
&gt; returns a List. I then invoke it with (), and apply [] to the resultin=
g <br>
&gt; List. It&#39;s the fact that it produced a List that matters; any List=
 or <br>
&gt; Seq or Array or Buf, etc. can be []-ed,because they all do the <br>
&gt; Positional role that defines [].<br>
<br>
Uhhh okay.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"m_-5398328503543746666gmail_signature" data-smartmail=3D"gmail_si=
gnature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div>brandon s allbery kf8n=
h</div><div><a href=3D"mailto:allbery.b@gmail.com" target=3D"_blank">allber=
y.b@gmail.com</a></div></div></div></div></div>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000007fc9ec0576d0ee41--
0
allbery
9/27/2018 2:16:38 AM
--0000000000009ebefa0576d0f269
Content-Type: text/plain; charset="UTF-8"

No, perldoc only "tells you everything" if you already know perl 5. You do,
so you don't see this.

On Wed, Sep 26, 2018 at 10:15 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 7:08 PM, Brandon Allbery wrote:
> > English is not a programming language, so it will not help you with
> > understanding what Positional is. Or Callable. Or Mix, or any of the
> > other types and roles in Perl 6. Perl 5 has none of these, so it is
> > never a problem in Perl 5. Instead you have to memorize a bunch of weird
> > special case rules for the things Perl 5 does know about -- and perldoc
> > expects you to have done so. You don't notice because you've already
> > memorized them.
>
> Not an excuse for poor explanations.  Perdocs leaves you knowing
> how to "use" the functions.  Perl 6's does not, unless you
> already know how to use it, then your don't need it.
>
> So rather than grumbling about it, I am going to start
> trying to be part of the solution, rather than just
> grumble about the problem.
>
> This is my latest:
>
>      A booboo and an rfe in contains documentation
>      https://github.com/perl6/doc/issues/2334
>
> Thank you for all the help with this.
>
> -T
>


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

--0000000000009ebefa0576d0f269
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">No, perldoc only &quot;tells you everything&quot; if you a=
lready know perl 5. You do, so you don&#39;t see this.</div><br><div class=
=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 at 10:15 PM ToddAndM=
argo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>=
&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 =
0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26/18 7:08 PM, Bra=
ndon Allbery wrote:<br>
&gt; English is not a programming language, so it will not help you with <b=
r>
&gt; understanding what Positional is. Or Callable. Or Mix, or any of the <=
br>
&gt; other types and roles in Perl 6. Perl 5 has none of these, so it is <b=
r>
&gt; never a problem in Perl 5. Instead you have to memorize a bunch of wei=
rd <br>
&gt; special case rules for the things Perl 5 does know about -- and perldo=
c <br>
&gt; expects you to have done so. You don&#39;t notice because you&#39;ve a=
lready <br>
&gt; memorized them.<br>
<br>
Not an excuse for poor explanations.=C2=A0 Perdocs leaves you knowing<br>
how to &quot;use&quot; the functions.=C2=A0 Perl 6&#39;s does not, unless y=
ou<br>
already know how to use it, then your don&#39;t need it.<br>
<br>
So rather than grumbling about it, I am going to start<br>
trying to be part of the solution, rather than just<br>
grumble about the problem.<br>
<br>
This is my latest:<br>
<br>
=C2=A0 =C2=A0 =C2=A0A booboo and an rfe in contains documentation<br>
=C2=A0 =C2=A0 =C2=A0<a href=3D"https://github.com/perl6/doc/issues/2334" re=
l=3D"noreferrer" target=3D"_blank">https://github.com/perl6/doc/issues/2334=
</a><br>
<br>
Thank you for all the help with this.<br>
<br>
-T<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000009ebefa0576d0f269--
0
allbery
9/27/2018 2:17:45 AM
On 9/26/18 7:11 PM, Brandon Allbery wrote:
> That's not helping. What didn't you understand?

>>  It just improves error messages.

My understanding it that if it uses "--Positinal"
I can use []
0
ToddAndMargo
9/27/2018 2:18:12 AM
On 9/26/18 7:17 PM, Brandon Allbery wrote:
> No, perldoc only "tells you everything" if you already know perl 5. You 
> do, so you don't see this.

perldocs is wonderful for the beginner.  It is the ONLY thing
I miss in Perl 6.

I like Perl 5; I adore Perl 6.  I especially love the
clean up of sub declarations (I write in Top Down) and
the clean up of regex's.

Start simple, work up to the complex.  I am starting
to contribute to help this along.  My beginners
status is perfect for this as I don't miss what other think
they see because they already know what it is suppose to say.

Oh ya, and in Perl 6 EVERYTHING starts counting from zero,
unlike Perl 5 (p5's m/ starts at $1).  No guess work and one
liners to figure it out.
0
ToddAndMargo
9/27/2018 2:24:23 AM
On 9/26/18 6:36 PM, The Sidhekin wrote:
> On Thu, Sep 27, 2018 at 3:14 AM Peter Scott <peter@psdt.com=20
> <mailto:peter@psdt.com>> wrote:
>=20
>     On 9/26/2018 3:21 PM, ToddAndMargo wrote:
>      > Do your really think any beginner would be able to figure out
>      > "words" from the above?
>=20
>     If the beginner had studied the metasyntax of function prototypes,
>     probably.
>=20
>=20
>  =C2=A0 Yeah, that's where a beginner needs to begin, in order to learn=
 Perl6=20
> from the docs.
>=20
>  =C2=A0 Syntax, metasyntax, all sorts of basics ...
>=20
>     I heard about people
>     who claim to have taught themselves Perl 5 from the Camel instead o=
f
>     the
>     Llama, but they are few and far between, and in any case, most of t=
he
>     Camel contains exposition, if dense.
>=20
>=20
>  =C2=A0 I learned Perl 5 from the man pages.=C2=A0 It was more fun than=
 efficient,=20
> but I could easily afford it: It was not (at the time) my job. :)
>=20
>  =C2=A0 But we're not all wired the same way.=C2=A0 This endeavour look=
s to me=20
> neither fun nor efficient.
>=20
>=20
> Eirik


Oh my goodness, did you guys ever use "perl monks".  They don't
usually answer follow up questions and the format is
excruciatingly difficult to write or follow things in.



--=20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Computers are like air conditioners.
They malfunction when you open windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0
ToddAndMargo
9/27/2018 2:27:04 AM
--00000000000023f5550576d11505
Content-Type: text/plain; charset="UTF-8"

And again: this is only because you know perl 5. People are not born
knowing perl 5; to someone who doesn't know it, perldoc raises the same
kinds of questions you have been asking, and the answers have to be found
in perlsyn or perldata, etc. Which is exactly what you have been
complaining about with respect to perl 6 doing the same kind of thing.

On Wed, Sep 26, 2018 at 10:25 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 7:17 PM, Brandon Allbery wrote:
> > No, perldoc only "tells you everything" if you already know perl 5. You
> > do, so you don't see this.
>
> perldocs is wonderful for the beginner.  It is the ONLY thing
> I miss in Perl 6.
>
> I like Perl 5; I adore Perl 6.  I especially love the
> clean up of sub declarations (I write in Top Down) and
> the clean up of regex's.
>
> Start simple, work up to the complex.  I am starting
> to contribute to help this along.  My beginners
> status is perfect for this as I don't miss what other think
> they see because they already know what it is suppose to say.
>
> Oh ya, and in Perl 6 EVERYTHING starts counting from zero,
> unlike Perl 5 (p5's m/ starts at $1).  No guess work and one
> liners to figure it out.
>


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

--00000000000023f5550576d11505
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">And again: this is only because you know perl 5. People ar=
e not born knowing perl 5; to someone who doesn&#39;t know it, perldoc rais=
es the same kinds of questions you have been asking, and the answers have t=
o be found in perlsyn or perldata, etc. Which is exactly what you have been=
 complaining about with respect to perl 6 doing the same kind of thing.</di=
v><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed, Sep 26, 2018 at 1=
0:25 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMa=
rgo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26=
/18 7:17 PM, Brandon Allbery wrote:<br>
&gt; No, perldoc only &quot;tells you everything&quot; if you already know =
perl 5. You <br>
&gt; do, so you don&#39;t see this.<br>
<br>
perldocs is wonderful for the beginner.=C2=A0 It is the ONLY thing<br>
I miss in Perl 6.<br>
<br>
I like Perl 5; I adore Perl 6.=C2=A0 I especially love the<br>
clean up of sub declarations (I write in Top Down) and<br>
the clean up of regex&#39;s.<br>
<br>
Start simple, work up to the complex.=C2=A0 I am starting<br>
to contribute to help this along.=C2=A0 My beginners<br>
status is perfect for this as I don&#39;t miss what other think<br>
they see because they already know what it is suppose to say.<br>
<br>
Oh ya, and in Perl 6 EVERYTHING starts counting from zero,<br>
unlike Perl 5 (p5&#39;s m/ starts at $1).=C2=A0 No guess work and one<br>
liners to figure it out.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--00000000000023f5550576d11505--
0
allbery
9/27/2018 2:27:26 AM
--0000000000006be8ea0576d11aaf
Content-Type: text/plain; charset="UTF-8"

I often feel like perlmonks is about 80% of what's wrong with perl 5 these
days.

On Wed, Sep 26, 2018 at 10:27 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 6:36 PM, The Sidhekin wrote:
> > On Thu, Sep 27, 2018 at 3:14 AM Peter Scott <peter@psdt.com
> > <mailto:peter@psdt.com>> wrote:
> >
> >     On 9/26/2018 3:21 PM, ToddAndMargo wrote:
> >      > Do your really think any beginner would be able to figure out
> >      > "words" from the above?
> >
> >     If the beginner had studied the metasyntax of function prototypes,
> >     probably.
> >
> >
> >    Yeah, that's where a beginner needs to begin, in order to learn Perl6
> > from the docs.
> >
> >    Syntax, metasyntax, all sorts of basics ...
> >
> >     I heard about people
> >     who claim to have taught themselves Perl 5 from the Camel instead of
> >     the
> >     Llama, but they are few and far between, and in any case, most of the
> >     Camel contains exposition, if dense.
> >
> >
> >    I learned Perl 5 from the man pages.  It was more fun than efficient,
> > but I could easily afford it: It was not (at the time) my job. :)
> >
> >    But we're not all wired the same way.  This endeavour looks to me
> > neither fun nor efficient.
> >
> >
> > Eirik
>
>
> Oh my goodness, did you guys ever use "perl monks".  They don't
> usually answer follow up questions and the format is
> excruciatingly difficult to write or follow things in.
>
>
>
> --
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Computers are like air conditioners.
> They malfunction when you open windows
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>


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

--0000000000006be8ea0576d11aaf
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I often feel like perlmonks is about 80% of what&#39;s wro=
ng with perl 5 these days.</div><br><div class=3D"gmail_quote"><div dir=3D"=
ltr">On Wed, Sep 26, 2018 at 10:27 PM ToddAndMargo &lt;<a href=3D"mailto:To=
ddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc s=
olid;padding-left:1ex">On 9/26/18 6:36 PM, The Sidhekin wrote:<br>
&gt; On Thu, Sep 27, 2018 at 3:14 AM Peter Scott &lt;<a href=3D"mailto:pete=
r@psdt.com" target=3D"_blank">peter@psdt.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:peter@psdt.com" target=3D"_blank">peter@p=
sdt.com</a>&gt;&gt; wrote:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0On 9/26/2018 3:21 PM, ToddAndMargo wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; Do your really think any beginner would be ab=
le to figure out<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; &quot;words&quot; from the above?<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0If the beginner had studied the metasyntax of funct=
ion prototypes,<br>
&gt;=C2=A0 =C2=A0 =C2=A0probably.<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Yeah, that&#39;s where a beginner needs to begin, in orde=
r to learn Perl6 <br>
&gt; from the docs.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Syntax, metasyntax, all sorts of basics ...<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0I heard about people<br>
&gt;=C2=A0 =C2=A0 =C2=A0who claim to have taught themselves Perl 5 from the=
 Camel instead of<br>
&gt;=C2=A0 =C2=A0 =C2=A0the<br>
&gt;=C2=A0 =C2=A0 =C2=A0Llama, but they are few and far between, and in any=
 case, most of the<br>
&gt;=C2=A0 =C2=A0 =C2=A0Camel contains exposition, if dense.<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 I learned Perl 5 from the man pages.=C2=A0 It was more fu=
n than efficient, <br>
&gt; but I could easily afford it: It was not (at the time) my job. :)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 But we&#39;re not all wired the same way.=C2=A0 This ende=
avour looks to me <br>
&gt; neither fun nor efficient.<br>
&gt; <br>
&gt; <br>
&gt; Eirik<br>
<br>
<br>
Oh my goodness, did you guys ever use &quot;perl monks&quot;.=C2=A0 They do=
n&#39;t<br>
usually answer follow up questions and the format is<br>
excruciatingly difficult to write or follow things in.<br>
<br>
<br>
<br>
-- <br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
Computers are like air conditioners.<br>
They malfunction when you open windows<br>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000006be8ea0576d11aaf--
0
allbery
9/27/2018 2:28:55 AM
On 9/26/18 7:01 PM, Curt Tilmes wrote:
>=20
>     And where is it stated that an empty () defaults to all of them
>     and not to none of them?
>=20
>=20
> empty() says set everything to defaults
>=20
> If you have
> sub foo($x =3D 3) { say $x }
>=20
> and call foo(2), $x will be set to 2 and it will print out 2.
>=20
> If you don't pass in $x, saying just foo()=C2=A0 or even just foo by it=
self,=20
> it is exactly the same
> as saying foo(3).=C2=A0 You just get the default and it prints 3.
>=20
> foo(3)
> foo()
> foo
>=20
> are all the same.
>=20
> If I have=C2=A0 sub foo($x =3D Inf) (say $x)
> I'm just making the default parameter Inf instead of 3
>=20
>  =C2=A0 =C2=A0 And where is it stated that an empty () defaults to all =
of them
>  =C2=A0 =C2=A0 and not to none of them?
>=20
> It tells you right in the signature what the default is.=C2=A0 It says =

> "$limit =3D Inf", Inf is
> an infinite number of words, i.e. all of them.=C2=A0 If it said "$limit=
 =3D 0",=20
> then the default would
> be 0, or none of them.=C2=A0 That isn't what it states.
>=20
> words(Inf)
> words()
> words
>=20
> are all the same.
>=20
> Curt
>=20

Beautifully written.  Thank you Curt.
0
ToddAndMargo
9/27/2018 2:29:18 AM
On 9/26/18 7:28 PM, Curt Tilmes wrote:
>=20
>=20
> On Wed, Sep 26, 2018 at 10:19 PM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>=20
>     My understanding it that if it uses "--Positinal"
>     I can use []
>=20
>=20
> Yes.=C2=A0 Everything described here: https://docs.perl6.org/type/Posit=
ional
>=20
> You can also call .elems to see how many elements there are and=20
> .AT-POS() (same as []), .EXISTS-POS() to see if an element exists, etc.=

>=20
> "a b c d e".words.elems
> 5
> "a b c d e".words(3).elems
> 3
> "a b c d e".words.AT-POS(2)
> c
> "a b c d e".words(3).EXISTS-POS(4)
> False
>=20
> Curt

Thank you!
0
ToddAndMargo
9/27/2018 2:30:31 AM
--000000000000ea9c100576d16c6c
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 26, 2018 at 10:30 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

>
> > You can also call .elems to see how many elements there are and
> > .AT-POS() (same as []), .EXISTS-POS() to see if an element exists, etc.
>

One small correction before the nit-pickers jump on me...
..AT-POS() isn't *really* the same as [] -- [] is much smarter and can do
more stuff...  One of
the things it can do is the same as .AT-POS().

Curt

--000000000000ea9c100576d16c6c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Wed=
, Sep 26, 2018 at 10:30 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@=
zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex"><br>
&gt; You can also call .elems to see how many elements there are and <br>
&gt; .AT-POS() (same as []), .EXISTS-POS() to see if an element exists, etc=
..<br></blockquote><div><br></div><div>One small correction before the nit-p=
ickers jump on me...</div><div>.AT-POS() isn&#39;t *really* the same as [] =
-- [] is much smarter and can do more stuff...=C2=A0 One of</div><div>the t=
hings it can do is the same as .AT-POS().</div><div><br></div><div>Curt</di=
v><div>=C2=A0</div></div></div>

--000000000000ea9c100576d16c6c--
0
curt
9/27/2018 2:51:59 AM
On 9/26/18 7:28 PM, Brandon Allbery wrote:
> I often feel like perlmonks is about 80% of what's wrong with perl 5 
> these days.

And they are  G-R-O-U-C-H-Y  too!!!
0
ToddAndMargo
9/27/2018 3:13:25 AM
--0000000000001cfd8c0576d48a71
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El mi=C3=A9., 26 sept. 2018 a las 23:31, Laurent Rosenfeld via perl6-users =
(<
perl6-users@perl.org>) escribi=C3=B3:

> You can set a limit to the number of items (words) you want to retrieve:
> you will get only the first $limit words.
>
> If you don't supply any limit, Inf can be thought as the default value fo=
r
> the number of items, i.e. there is no limit and the routine will return a=
s
> many words as it can from the source input.
>

And this is one of the things I love Perl 6 for, its consistency. Infinity
is literally no limit. Using it meaning "no limit" is genius. Not "0 in
this case means no limit" or "-1 means no limit" or "this constant meaning
unavailable" or whatever. Infinity has no limit, we use them as a parameter
to imply that argument has no limit.

Cheers

JJ

--0000000000001cfd8c0576d48a71
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">El mi=
=C3=A9., 26 sept. 2018 a las 23:31, Laurent Rosenfeld via perl6-users (&lt;=
<a href=3D"mailto:perl6-users@perl.org">perl6-users@perl.org</a>&gt;) escri=
bi=C3=B3:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
..8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>You=
 can set a limit to the number of items (words) you want to retrieve: you w=
ill get only the first $limit words.</div><div><br></div><div>If you don&#3=
9;t supply any limit, Inf can be thought as the default value for the numbe=
r of items, i.e. there is no limit and the routine will return as many word=
s as it can from the source input.</div></div></blockquote><div><br></div><=
/div><div>And this is one of the things I love Perl 6 for, its consistency.=
 Infinity is literally no limit. Using it meaning &quot;no limit&quot; is g=
enius. Not &quot;0 in this case means no limit&quot; or &quot;-1 means no l=
imit&quot; or &quot;this constant meaning unavailable&quot; or whatever. In=
finity has no limit, we use them as a parameter to imply that argument has =
no limit.</div><div><br></div><div>Cheers</div><div><br></div><div>JJ<br></=
div></div>

--0000000000001cfd8c0576d48a71--
0
jjmerelo
9/27/2018 6:34:52 AM
--000000000000b745870576d4a391
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El jue., 27 sept. 2018 a las 3:19, Brandon Allbery (<allbery.b@gmail.com>)
escribi=C3=B3:

> Additionally: Perl 5 docs don't run into this because perl 5 has only 3
> types: scalar, list, hash.
>
> Perl 6 has lots of types, each of which has its own behavior. We use role=
s
> to package up common
>

_and_ roles _and_ contexts.

behaviors. Positional is the role for "can be indexed" / "understands []".
> Don't just assume you know what Positional is because you know its Englis=
h
> meaning; look at what it actually does, and you will find the []
> documentation.
>

Right: https://docs.perl6.org/type/Positional Just type "Positional" into
the search box, and scroll down to where it says "Roles".

Cheers

JJ

--000000000000b745870576d4a391
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div d=
ir=3D"ltr">El jue., 27 sept. 2018 a las 3:19, Brandon Allbery (&lt;<a href=
=3D"mailto:allbery.b@gmail.com">allbery.b@gmail.com</a>&gt;) escribi=C3=B3:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr=
">Additionally: Perl 5 docs don&#39;t run into this because perl 5 has only=
 3 types: scalar, list, hash.<div><br></div><div>Perl 6 has lots of types, =
each of which has its own behavior. We use roles to package up common </div=
></div></blockquote><div><br></div><div>_and_ roles _and_ contexts.</div><d=
iv> <br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px=
 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D=
"ltr"><div>behaviors. Positional is the role for &quot;can be indexed&quot;=
 / &quot;understands []&quot;. Don&#39;t just assume you know what Position=
al is because you know its English meaning; look at what it actually does, =
and you will find the [] documentation.<br></div></div></blockquote></div><=
div><br></div><div>Right: <a href=3D"https://docs.perl6.org/type/Positional=
">https://docs.perl6.org/type/Positional</a> Just type &quot;Positional&quo=
t; into the search box, and scroll down to where it says &quot;Roles&quot;.=
 <br></div><div><br></div><div>Cheers</div><div><br></div><div>JJ<br></div>=
</div></div>

--000000000000b745870576d4a391--
0
jjmerelo
9/27/2018 6:42:01 AM
--0000000000003ba3650576d4cfa6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El jue., 27 sept. 2018 a las 3:51, ToddAndMargo (<ToddAndMargo@zoho.com>)
escribi=C3=B3:

> On 9/26/18 6:31 PM, ToddAndMargo wrote:
> > On 9/26/18 6:18 PM, Curt Tilmes wrote:>
> >  >      > The methods don't take [].  You are calling [] on the thing
> > that the
> >  >      > methods return.
> >
> >>>
> >>>     Yes, I know.  And it is human readable too.  It is one of the
> >>>     many reasons I adore Perl 6.
> >>>
> >>>     Where in
> >>>          multi method words(Str:D $input: $limit =3D Inf --> Position=
al)
> >>>     does it state that "words" will do that?  Not all methods will.
> >>>     So it need to be stated when they will.
> >>>
> >>>
> >
> >
> >
> >  > The part where it says "--> Positional" says the thing that gets
> >  > returned is Positional.
> >  >
> >  > A Positional thing has all sorts of methods and operators you can us=
e,
> >  > including []
> >  >
> >  > Not all methods will, of course.  Only those that say "--> Positiona=
l"
> >  > return a Positional that acts like that.
> >  >
> >  > Curt
> >
> > Hi Curt,
> >
> > Perfect! Thank you!
> >
> > So all methods that respond with --> Positional will accept []
> >
> > Awesome!
> >
> > -T
>
>
>
> I do believe the reason I spaced on this was that when I see "-->"
> what goes through my head is "this is the value(s) returned".
> I had not idea it would reflect backwards and affect the method.
>

It does not.

    say "Flim Flam Flum".words[2] # OUTPUT: =C2=ABFlum=E2=90=A4=C2=BB

is exactly the same as

    say "Flim Flam Flum".words()[2] # OUTPUT: =C2=ABFlum=E2=90=A4=C2=BB

And exactly the same as

    say "Flim Flam Flum".words(Inf)[2] # OUTPUT: =C2=ABFlum=E2=90=A4=C2=BB

And exactly the same as

    my @flim-flam-flum =3D "Flim Flam Flum".words; # @flim-flam-flum carrie=
s
an @, ergo it's a Positional
    say @flim-flam-flum[2] # OUTPUT: =C2=ABFlum=E2=90=A4=C2=BB

In Perl 6 you can chain calls, that's what is meant by postcircumfix, it
means you can put the operator like thing (in this case, []) _behind_
(post) the thing you are calling, plus you are putting the arguments
_inside_ the operator (that's the circumfix part). You can also do

    say "Flim Flam Flum".words[1,2][0] # OUTPUT: =C2=ABFlam=E2=90=A4=C2=BB

You are first post-circumfixing [] over the return value of words, getting
2 elements in a Positional (an List in this case, Positional is a Role, not
a Class), and them post-circumfixing again getting the first of these two
elements. You can do this to exhaustion, as long as it's an object method
or a post-circumfix operator, chaining the one after the other. None of
them is "reflecting" on anything, you are just chaining calls, which is a
nice and compact thing to do.

Cheers
--=20
JJ

--0000000000003ba3650576d4cfa6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div di=
r=3D"ltr"><div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"l=
tr">El jue., 27 sept. 2018 a las 3:51, ToddAndMargo (&lt;<a href=3D"mailto:=
ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt;) escribi=C3=B3:<br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left:1px solid rgb(204,204,204);padding-left:1ex">On 9/26/18 6:31 PM, To=
ddAndMargo wrote:<br>
&gt; On 9/26/18 6:18 PM, Curt Tilmes wrote:&gt;<br>
&gt;=C2=A0 &gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &gt; The methods don&#39;t ta=
ke [].=C2=A0 You are calling [] on the thing <br>
&gt; that the<br>
&gt;=C2=A0 &gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &gt; methods return.<br>
&gt; <br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 Yes, I know.=C2=A0 And it is human readable=
 too.=C2=A0 It is one of the<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 many reasons I adore Perl 6.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 Where in<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 multi method =
words(Str:D $input: $limit =3D Inf --&gt; Positional)<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 does it state that &quot;words&quot; will d=
o that?=C2=A0 Not all methods will.<br>
&gt;&gt;&gt; =C2=A0=C2=A0=C2=A0 So it need to be stated when they will.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 &gt; The part where it says &quot;--&gt; Positional&quot; says t=
he thing that gets<br>
&gt;=C2=A0 &gt; returned is Positional.<br>
&gt;=C2=A0 &gt;<br>
&gt;=C2=A0 &gt; A Positional thing has all sorts of methods and operators y=
ou can use,<br>
&gt;=C2=A0 &gt; including []<br>
&gt;=C2=A0 &gt;<br>
&gt;=C2=A0 &gt; Not all methods will, of course.=C2=A0 Only those that say =
&quot;--&gt; Positional&quot;<br>
&gt;=C2=A0 &gt; return a Positional that acts like that.<br>
&gt;=C2=A0 &gt;<br>
&gt;=C2=A0 &gt; Curt<br>
&gt; <br>
&gt; Hi Curt,<br>
&gt; <br>
&gt; Perfect! Thank you!<br>
&gt; <br>
&gt; So all methods that respond with --&gt; Positional will accept []<br>
&gt; <br>
&gt; Awesome!<br>
&gt; <br>
&gt; -T<br>
<br>
<br>
<br>
I do believe the reason I spaced on this was that when I see &quot;--&gt;&q=
uot;<br>
what goes through my head is &quot;this is the value(s) returned&quot;.<br>
I had not idea it would reflect backwards and affect the method.<br></block=
quote><div><br></div><div>It does not. <br></div><br clear=3D"all"></div>=
=C2=A0=C2=A0=C2=A0 say &quot;Flim Flam Flum&quot;.words[2] # OUTPUT: =C2=AB=
Flum=E2=90=A4=C2=BB</div><div dir=3D"ltr"><br></div><div>is exactly the sam=
e as <br></div><div>=C2=A0</div><div>=C2=A0=C2=A0=C2=A0 say &quot;Flim Flam=
 Flum&quot;.words()[2] # OUTPUT: =C2=ABFlum=E2=90=A4=C2=BB</div><div><br></=
div><div>And exactly the same as</div><div><br></div><div>=C2=A0=C2=A0=C2=
=A0 say &quot;Flim Flam Flum&quot;.words(Inf)[2] # OUTPUT: =C2=ABFlum=E2=90=
=A4=C2=BB</div><div><br></div><div>And exactly the same as</div><div><br></=
div><div>=C2=A0 =C2=A0 my @flim-flam-flum =3D &quot;Flim Flam Flum&quot;.wo=
rds; # @flim-flam-flum carries an @, ergo it&#39;s a Positional<br></div><d=
iv>=C2=A0=C2=A0=C2=A0 say @flim-flam-flum[2] # OUTPUT: =C2=ABFlum=E2=90=A4=
=C2=BB <br></div><div><br></div><div>In Perl 6 you can chain calls, that&#3=
9;s what is meant by postcircumfix, it means you can put the operator like =
thing (in this case, []) _behind_ (post) the thing you are calling, plus yo=
u are putting the arguments _inside_ the operator (that&#39;s the circumfix=
 part). You can also do</div><div><br></div><div>=C2=A0=C2=A0=C2=A0 say &qu=
ot;Flim Flam Flum&quot;.words[1,2][0] # OUTPUT: =C2=ABFlam=E2=90=A4=C2=BB</=
div><div><br></div><div>You are first post-circumfixing [] over the return =
value of words, getting 2 elements in a Positional (an List in this case, P=
ositional is a Role, not a Class), and them post-circumfixing again getting=
 the first of these two elements. You can do this to exhaustion, as long as=
 it&#39;s an object method or a post-circumfix operator, chaining the one a=
fter the other. None of them is &quot;reflecting&quot; on anything, you are=
 just chaining calls, which is a nice and compact thing to do.</div><div><b=
r></div><div>Cheers<br></div><div dir=3D"ltr">-- <br><div dir=3D"ltr" class=
=3D"gmail_signature">JJ</div></div></div></div></div></div></div>

--0000000000003ba3650576d4cfa6--
0
jjmerelo
9/27/2018 6:54:11 AM
--0000000000005d6db60576d575ec
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

> I am NOT asking it to limit my request to Infinity.

Yes you are, implicitly. If you don't pass any parameter for $limit, $limit
will take the default value supplied by the signature, i.e. Inf.



Le jeu. 27 sept. 2018 =C3=A0 02:48, ToddAndMargo <ToddAndMargo@zoho.com> a
=C3=A9crit :

> On 9/26/18 4:33 PM, The Sidhekin wrote:
> > On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo <ToddAndMargo@zoho.com
> > <mailto:ToddAndMargo@zoho.com>> wrote:
> >
> >     What I don't understand is:
> >
> >            multi method words(Str:D $input: $limit =3D Inf --> Position=
al)
> >
> >     Specifically "$limit =3D Inf".  Why are we using "$limit" instead
> >     of "$selection"
> >
> >    Perhaps this would be easier if you explain where you're getting
> > "$selection", and what you think it is.
>
> $ p6 '"a b c d e".words[ 2, 4 ].say;'
> (c e)
>
> or
>
> $ p6 '"a b c d e".words()[ 2, 4 ].say;'
> (c e)
>
> I am selecting the 2nd and 4th word starting from zero.  Inside
> the brackets I am asking it to select th e 2nd and 4th words for me.
>
> I am NOT asking it to limit my request to Infinity.
>
>
>
> >
> >     And where is it stated what goes in the () and what goes
> >     in the []?
> >
> >
> >    The () is part of a method call syntax; method arguments go there:
> > https://docs.perl6.org/language/syntax#Subroutine_calls
>
> Where does it state that
>
> $ p6 '"a b c d e".words(3).say;'
> (a b c)
>
> means the first three words, starting at zero?
>
>
> >    The [] is a postcircumfix operator; index arguments go there:
> > https://docs.perl6.org/language/operators#postcircumfix_[_]
>
> Where does
>
>      multi method words(Str:D $input: $limit =3D Inf --> Positional)
>
> state that I can do such?
>
> I ask this because not all methods will take []
>
>
> $ p6 '"a b c d e".contains( "a","b" ).say;'
> Cannot convert string to number: base-10 number must begin with valid
> digits or '.' in '=E2=8F=8Fb' (indicated by =E2=8F=8F)
>    in block <unit> at -e line 1
>
> $ p6 '"a b c d e".contains( 1, 3 ).say;'
> Ambiguous call to 'contains(Str: Int, Int)'; these signatures all match:
> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
> :(Str:D: Cool:D $needle, Cool:D $pos, *%_)
>    in block <unit> at -e line 1
>
>
> Also, where is it stated that
>
>     $ p6 '"a b c d e".words(3)[ 2, 4 ].say;'
>     (c Nil)
>
> will send the first three words to [2,4] ?
>
> Thank you for helping me with this!
>
> -T
>

--0000000000005d6db60576d575ec
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>&gt;=20
I am NOT asking it to limit my request to Infinity. <br></div><div><br></di=
v><div>Yes you are, implicitly. If you don&#39;t pass any parameter for $li=
mit, $limit will take the default value supplied by the signature, i.e. Inf=
..</div><div><br></div><div><br></div></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr">Le=C2=A0jeu. 27 sept. 2018 =C3=A0=C2=A002:48, ToddAndMargo =
&lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; =
a =C3=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26/18 4:33=
 PM, The Sidhekin wrote:<br>
&gt; On Wed, Sep 26, 2018 at 11:40 PM ToddAndMargo &lt;<a href=3D"mailto:To=
ddAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">=
ToddAndMargo@zoho.com</a>&gt;&gt; wrote:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0What I don&#39;t understand is:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $inp=
ut: $limit =3D Inf --&gt; Positional)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Specifically &quot;$limit =3D Inf&quot;.=C2=A0 Why =
are we using &quot;$limit&quot; instead<br>
&gt;=C2=A0 =C2=A0 =C2=A0of &quot;$selection&quot;<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Perhaps this would be easier if you explain where you&#39=
;re getting <br>
&gt; &quot;$selection&quot;, and what you think it is.<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words[ 2, 4 ].say;&#39;<br>
(c e)<br>
<br>
or<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words()[ 2, 4 ].say;&#39;<br>
(c e)<br>
<br>
I am selecting the 2nd and 4th word starting from zero.=C2=A0 Inside<br>
the brackets I am asking it to select th e 2nd and 4th words for me.<br>
<br>
I am NOT asking it to limit my request to Infinity.<br>
<br>
<br>
<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0And where is it stated what goes in the () and what=
 goes<br>
&gt;=C2=A0 =C2=A0 =C2=A0in the []?<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 The () is part of a method call syntax; method arguments =
go there: <br>
&gt; <a href=3D"https://docs.perl6.org/language/syntax#Subroutine_calls" re=
l=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/language/syntax#S=
ubroutine_calls</a><br>
<br>
Where does it state that<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.words(3).say;&#39;<br>
(a b c)<br>
<br>
means the first three words, starting at zero?<br>
<br>
<br>
&gt;=C2=A0 =C2=A0 The [] is a postcircumfix operator; index arguments go th=
ere: <br>
&gt; <a href=3D"https://docs.perl6.org/language/operators#postcircumfix_[_]=
" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/language/oper=
ators#postcircumfix_[_]</a><br>
<br>
Where does<br>
<br>
=C2=A0 =C2=A0 =C2=A0multi method words(Str:D $input: $limit =3D Inf --&gt; =
Positional)<br>
<br>
state that I can do such?<br>
<br>
I ask this because not all methods will take []<br>
<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.contains( &quot;a&quot;,&quot;b&quot; ).say=
;&#39;<br>
Cannot convert string to number: base-10 number must begin with valid <br>
digits or &#39;.&#39; in &#39;=E2=8F=8Fb&#39; (indicated by =E2=8F=8F)<br>
=C2=A0 =C2=A0in block &lt;unit&gt; at -e line 1<br>
<br>
$ p6 &#39;&quot;a b c d e&quot;.contains( 1, 3 ).say;&#39;<br>
Ambiguous call to &#39;contains(Str: Int, Int)&#39;; these signatures all m=
atch:<br>
:(Str:D: Cool:D $needle, Cool:D $pos, *%_)<br>
:(Str:D: Cool:D $needle, Cool:D $pos, *%_)<br>
=C2=A0 =C2=A0in block &lt;unit&gt; at -e line 1<br>
<br>
<br>
Also, where is it stated that<br>
<br>
=C2=A0 =C2=A0 $ p6 &#39;&quot;a b c d e&quot;.words(3)[ 2, 4 ].say;&#39;<br=
>
=C2=A0 =C2=A0 (c Nil)<br>
<br>
will send the first three words to [2,4] ?<br>
<br>
Thank you for helping me with this!<br>
<br>
-T<br>
</blockquote></div>

--0000000000005d6db60576d575ec--
0
perl6
9/27/2018 7:40:40 AM
In Perl 6 most normal operators are subroutines:

    @a[1..3]
    &postcircumfix:=C2=AB [  ] =C2=BB( @a,    1..3 ) # same as above

Since they are just subroutines they often just call something else.

    # an overly simplified version
    sub postcircumfix:=C2=AB [  ] =C2=BB ( @array, **@indicies ) {
        gather {
            for @indicies -> $index {
                take @array.AT-POS( $index )
            }
        }
    }

When you define such a subroutine for the first time, it modifies the parse=
r.

In the case of &postcircumfix:=C2=AB [  ] =C2=BB, it can take ANY VALUE as =
its
first argument.
On `Positional` arguments it calls `.AT-POS`.
If it isn't `Positional`, it will pretend that it is a list of one value.

   1[0];   # pretend that `1` is the same as `(1,)`

This means it can be found everywhere throughout the language.

---

We do not want to describe every bit of the language that interacts
with the `.words` method.
This is because that would be the entire language on one page.

When you talked about [], this is inadvertently what you asked for.

---

In the case of the `.words()` document we say that it is called on
`Str` and returns a `Seq`.
(The docs were wrong about it returning a `Positional`)

We document that it returns the parts of the string that aren't whitespace.

We document that you can give a limit to how many values it returns.
(arguably, this isn't needed because you can just call `.head($limit)` inst=
ead)

If we changed it to `selection` it would make it seem more complicated
than it really is.
Selection could mean that it could select the second and third values.
`.words()` doesn't do that.

The closest synonyms would be:
    cap
    maximum
    upper bound
    cutoff point
    farthest point
    end
    max count

We do not document every single operator that operates on a `Seq`, on that =
page.
(Almost every single one of them.)
Again, [] is one of them.

We do not document on that page all of the methods of `Seq`.
(There is a page specifically for that)

On Wed, Sep 26, 2018 at 9:18 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:
>
> On 9/26/18 7:11 PM, Brandon Allbery wrote:
> > That's not helping. What didn't you understand?
>
> >>  It just improves error messages.
>
> My understanding it that if it uses "--Positinal"
> I can use []
0
b2gills
9/27/2018 5:20:08 PM
On 9/26/18 11:34 PM, JJ Merelo wrote:
>=20
>=20
> El mi=C3=A9., 26 sept. 2018 a las 23:31, Laurent Rosenfeld via perl6-us=
ers=20
> (<perl6-users@perl.org <mailto:perl6-users@perl.org>>) escribi=C3=B3:
>=20
>     You can set a limit to the number of items (words) you want to
>     retrieve: you will get only the first $limit words.
>=20
>     If you don't supply any limit, Inf can be thought as the default
>     value for the number of items, i.e. there is no limit and the
>     routine will return as many words as it can from the source input.
>=20
>=20
> And this is one of the things I love Perl 6 for, its consistency.=20
> Infinity is literally no limit. Using it meaning "no limit" is genius. =

> Not "0 in this case means no limit" or "-1 means no limit" or "this=20
> constant meaning unavailable" or whatever. Infinity has no limit, we us=
e=20
> them as a parameter to imply that argument has no limit.
>=20
> Cheers
>=20
> JJ


Hi JJ,

The more I learn about Perl 6, the more I prefer it over Perl 5.

To your list, I might add, everything starts counting from zero
(Perl5 m/ starts at $1).  So no guessing!

My problem with the default set to Inf is that Inf means a number
too large for the numbers of bits allocated to the variable to
handle.

RTFM: https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29-In=
f
      The value Inf is an instance of Num and represents value that's
      too large to represent in 64-bit double-precision floating
      point number (roughly, above 1.7976931348623158e308 for
      positive Inf and below -1.7976931348623157e308 for negative Inf)
      as well as returned from certain operations as defined by the
      IEEE 754-2008 standard.

So how am I suppose to enter that as a value?  What it really means
is "all of them".  "Inf" is just a poor way of stating "all words"
as the default.  "A tremendously large numbers of words" is just
a weird way of saying "all of them".

And yes, I am blanking on how to best clean that up. We have no
value (that I know of) for "all".

-T
0
ToddAndMargo
9/28/2018 5:31:20 PM
--000000000000fc8f570576f1e765
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

We're going to have a problem if "infinity" is not allowed in the presence
of some programmers. "All values" can mean too many things in too many
situations. And I don't think using * works here, quite, precisely because
it can mean too many things.

On Fri, Sep 28, 2018 at 1:32 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/26/18 11:34 PM, JJ Merelo wrote:
> >
> >
> > El mi=C3=A9., 26 sept. 2018 a las 23:31, Laurent Rosenfeld via perl6-us=
ers
> > (<perl6-users@perl.org <mailto:perl6-users@perl.org>>) escribi=C3=B3:
> >
> >     You can set a limit to the number of items (words) you want to
> >     retrieve: you will get only the first $limit words.
> >
> >     If you don't supply any limit, Inf can be thought as the default
> >     value for the number of items, i.e. there is no limit and the
> >     routine will return as many words as it can from the source input.
> >
> >
> > And this is one of the things I love Perl 6 for, its consistency.
> > Infinity is literally no limit. Using it meaning "no limit" is genius.
> > Not "0 in this case means no limit" or "-1 means no limit" or "this
> > constant meaning unavailable" or whatever. Infinity has no limit, we us=
e
> > them as a parameter to imply that argument has no limit.
> >
> > Cheers
> >
> > JJ
>
>
> Hi JJ,
>
> The more I learn about Perl 6, the more I prefer it over Perl 5.
>
> To your list, I might add, everything starts counting from zero
> (Perl5 m/ starts at $1).  So no guessing!
>
> My problem with the default set to Inf is that Inf means a number
> too large for the numbers of bits allocated to the variable to
> handle.
>
> RTFM: https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29-In=
f
>       The value Inf is an instance of Num and represents value that's
>       too large to represent in 64-bit double-precision floating
>       point number (roughly, above 1.7976931348623158e308 for
>       positive Inf and below -1.7976931348623157e308 for negative Inf)
>       as well as returned from certain operations as defined by the
>       IEEE 754-2008 standard.
>
> So how am I suppose to enter that as a value?  What it really means
> is "all of them".  "Inf" is just a poor way of stating "all words"
> as the default.  "A tremendously large numbers of words" is just
> a weird way of saying "all of them".
>
> And yes, I am blanking on how to best clean that up. We have no
> value (that I know of) for "all".
>
> -T
>


--=20
brandon s allbery kf8nh
allbery.b@gmail.com

--000000000000fc8f570576f1e765
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">We&#39;re going to have a problem if &quot;infinity&quot; =
is not allowed in the presence of some programmers. &quot;All values&quot; =
can mean too many things in too many situations. And I don&#39;t think usin=
g * works here, quite, precisely because it can mean too many things.<br></=
div><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Fri, Sep 28, 2018 at=
 1:32 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndM=
argo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/2=
6/18 11:34 PM, JJ Merelo wrote:<br>
&gt; <br>
&gt; <br>
&gt; El mi=C3=A9., 26 sept. 2018 a las 23:31, Laurent Rosenfeld via perl6-u=
sers <br>
&gt; (&lt;<a href=3D"mailto:perl6-users@perl.org" target=3D"_blank">perl6-u=
sers@perl.org</a> &lt;mailto:<a href=3D"mailto:perl6-users@perl.org" target=
=3D"_blank">perl6-users@perl.org</a>&gt;&gt;) escribi=C3=B3:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0You can set a limit to the number of items (words) =
you want to<br>
&gt;=C2=A0 =C2=A0 =C2=A0retrieve: you will get only the first $limit words.=
<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0If you don&#39;t supply any limit, Inf can be thoug=
ht as the default<br>
&gt;=C2=A0 =C2=A0 =C2=A0value for the number of items, i.e. there is no lim=
it and the<br>
&gt;=C2=A0 =C2=A0 =C2=A0routine will return as many words as it can from th=
e source input.<br>
&gt; <br>
&gt; <br>
&gt; And this is one of the things I love Perl 6 for, its consistency. <br>
&gt; Infinity is literally no limit. Using it meaning &quot;no limit&quot; =
is genius. <br>
&gt; Not &quot;0 in this case means no limit&quot; or &quot;-1 means no lim=
it&quot; or &quot;this <br>
&gt; constant meaning unavailable&quot; or whatever. Infinity has no limit,=
 we use <br>
&gt; them as a parameter to imply that argument has no limit.<br>
&gt; <br>
&gt; Cheers<br>
&gt; <br>
&gt; JJ<br>
<br>
<br>
Hi JJ,<br>
<br>
The more I learn about Perl 6, the more I prefer it over Perl 5.<br>
<br>
To your list, I might add, everything starts counting from zero<br>
(Perl5 m/ starts at $1).=C2=A0 So no guessing!<br>
<br>
My problem with the default set to Inf is that Inf means a number<br>
too large for the numbers of bits allocated to the variable to<br>
handle.<br>
<br>
RTFM: <a href=3D"https://docs.perl6.org/type/Num#index-entry-Inf_%28definit=
ion%29-Inf" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/typ=
e/Num#index-entry-Inf_%28definition%29-Inf</a><br>
=C2=A0 =C2=A0 =C2=A0 The value Inf is an instance of Num and represents val=
ue that&#39;s<br>
=C2=A0 =C2=A0 =C2=A0 too large to represent in 64-bit double-precision floa=
ting<br>
=C2=A0 =C2=A0 =C2=A0 point number (roughly, above 1.7976931348623158e308 fo=
r<br>
=C2=A0 =C2=A0 =C2=A0 positive Inf and below -1.7976931348623157e308 for neg=
ative Inf)<br>
=C2=A0 =C2=A0 =C2=A0 as well as returned from certain operations as defined=
 by the<br>
=C2=A0 =C2=A0 =C2=A0 IEEE 754-2008 standard.<br>
<br>
So how am I suppose to enter that as a value?=C2=A0 What it really means<br=
>
is &quot;all of them&quot;.=C2=A0 &quot;Inf&quot; is just a poor way of sta=
ting &quot;all words&quot;<br>
as the default.=C2=A0 &quot;A tremendously large numbers of words&quot; is =
just<br>
a weird way of saying &quot;all of them&quot;.<br>
<br>
And yes, I am blanking on how to best clean that up. We have no<br>
value (that I know of) for &quot;all&quot;.<br>
<br>
-T<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--000000000000fc8f570576f1e765--
0
allbery
9/28/2018 5:37:03 PM
--000000000000cea5b10576f1f99d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 28, 2018 at 1:32 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> So how am I suppose to enter that as a value?


You can enter it as just plain Inf, or, if you are up to it, my preferred
form:  =E2=88=9E



> What it really means is "all of them".


It means infinite.

For the .words() method, you can pass in an optional $limit parameter.

If you pass in a 0, you don't get any words.  If you pass in a 2, you get 2
words,
if you pass in =E2=88=9E, or Inf, or the limit is 'infinity'.  It doesn't s=
top
early.  Since that
is so often the case, it is the default, so if you don't say to limit the
words
before the end, you just get all of them.

"Inf" is just a poor way of stating "all words"
> as the default.  "A tremendously large numbers of words" is just
> a weird way of saying "all of them".
>

An infinite limit isn't "a very large number".  It is special.  You can
never
reach that limit, no matter how many words you parse.

And yes, I am blanking on how to best clean that up. We have no
> value (that I know of) for "all".'
>

Indeed we do, we have a special value just for that -- Inf or =E2=88=9E.

Curt

--000000000000cea5b10576f1f99d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><br><br=
><div class=3D"gmail_quote"><div dir=3D"ltr">On Fri, Sep 28, 2018 at 1:32 P=
M ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zo=
ho.com</a>&gt; wrote:</div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex=
">
So how am I suppose to enter that as a value? </blockquote><div><br></div><=
div>You can enter it as just plain Inf, or, if you are up to it, my preferr=
ed form:=C2=A0 =E2=88=9E<br></div><div><br></div><div>=C2=A0</div><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">What it really means is &quot;all =
of them&quot;.=C2=A0</blockquote><div><br></div><div>It means infinite.</di=
v><div><br></div><div>For the .words() method, you can pass in an optional =
$limit parameter.</div><div><br></div><div>If you pass in a 0, you don&#39;=
t get any words.=C2=A0 If you pass in a 2, you get 2 words,</div><div>if yo=
u pass in=C2=A0=E2=88=9E, or Inf, or the limit is &#39;infinity&#39;.=C2=A0=
 It doesn&#39;t stop early.=C2=A0 Since that</div><div>is so often the case=
, it is the default, so if you don&#39;t say to limit the words=C2=A0</div>=
<div>before the end, you just get all of them.</div><div><br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex"> &quot;Inf&quot; is just a poor w=
ay of stating &quot;all words&quot;<br>
as the default.=C2=A0 &quot;A tremendously large numbers of words&quot; is =
just<br>
a weird way of saying &quot;all of them&quot;.<br></blockquote><div><br></d=
iv><div>An infinite limit isn&#39;t &quot;a very large number&quot;.=C2=A0 =
It is special.=C2=A0 You can never</div><div>reach that limit, no matter ho=
w many words you parse.</div><div><br></div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)=
;padding-left:1ex">
And yes, I am blanking on how to best clean that up. We have no<br>
value (that I know of) for &quot;all&quot;.&#39;<br></blockquote><div><br><=
/div><div>Indeed we do, we have a special value just for that -- Inf or=C2=
=A0=E2=88=9E.</div><div><br></div><div>Curt</div><div><br></div></div></div=
></div></div></div>

--000000000000cea5b10576f1f99d--
0
curt
9/28/2018 5:42:00 PM
On 9/28/18 10:42 AM, Curt Tilmes wrote:
> Indeed we do, we have a special value just for that -- Inf or=C2=A0=E2=88=
=9E.

Inf or =E2=88=9E still means (to me) a number too large to represent.
But, I can't think of another way to say "all of them".
0
ToddAndMargo
9/28/2018 6:56:53 PM
--0000000000008bde3f0576f38bf6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 28, 2018 at 2:57 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/28/18 10:42 AM, Curt Tilmes wrote:
> > Indeed we do, we have a special value just for that -- Inf or =E2=88=9E=
..
>
> Inf or =E2=88=9E still means (to me) a number too large to represent.
> But, I can't think of another way to say "all of them".
>

So if I was to ask you what limit I should use to make an iterator that
created all of the numbers?

I could set the limit at 2:  1..2 and you would get 2 numbers.
I could set the limit at 1000: 1..1000 and you would get 1000 numbers.

If you wanted all the numbers, where would you stop?  What limit would you
use?

We use =E2=88=9E  :   Try this   .say for 1..=E2=88=9E
It will give you all the numbers starting with 1 that Perl is capable of
making (it may take a while...)

Exactly the same for .words.

You can say .words(2) and you get at most 2 words, the limit is 2.
You can say .words(1000) and you get at most 1000 words, the limit is 1000.
(Note you can get less that 1000 -- it isn't saying how many words, it
isn't a count.  It is a limit.  it is setting the limit it won't go past.)

If you don't want it to stop, you say .words(=E2=88=9E) or .words(Inf), or,=
 since
an infinite limit is the default, just .words() or .words.
and it won't stop no matter how many it has already given you until it
reaches the end.

Curt

--0000000000008bde3f0576f38bf6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Fri, Se=
p 28, 2018 at 2:57 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.=
com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-lef=
t:1ex">On 9/28/18 10:42 AM, Curt Tilmes wrote:<br>
&gt; Indeed we do, we have a special value just for that -- Inf or=C2=A0=E2=
=88=9E.<br>
<br>
Inf or =E2=88=9E still means (to me) a number too large to represent.<br>
But, I can&#39;t think of another way to say &quot;all of them&quot;.<br></=
blockquote><div><br></div><div>So if I was to ask you what limit I should u=
se to make an iterator that created all of the numbers?<br></div><div><br><=
/div><div>I could set the limit at 2:=C2=A0 1..2 and you would get 2 number=
s.</div><div>I could set the limit at 1000: 1..1000 and you would get 1000 =
numbers.</div><div><br></div><div>If you wanted all the numbers, where woul=
d you stop?=C2=A0 What limit would you use?</div><div><br></div><div>We use=
=C2=A0<span style=3D"color:rgb(80,0,80)">=E2=88=9E=C2=A0 :=C2=A0 =C2=A0Try =
this=C2=A0 =C2=A0.say for 1..</span><span style=3D"color:rgb(80,0,80)">=E2=
=88=9E</span></div><div><span style=3D"color:rgb(80,0,80)">It will give you=
 all the numbers starting with 1 that Perl is capable of making (it may tak=
e a while...)</span></div><div><span style=3D"color:rgb(80,0,80)"><br></spa=
n></div><div>Exactly the same for .words.</div><div><br></div><div>You can =
say .words(2) and you get at most 2 words, the limit is 2.</div><div>You ca=
n say .words(1000) and you get at most 1000 words, the limit is 1000.</div>=
<div>(Note you can get less that 1000 -- it isn&#39;t saying how many words=
, it isn&#39;t a count.=C2=A0 It is a limit.=C2=A0 it is setting the limit =
it won&#39;t go past.)</div><div><br></div><div>If you don&#39;t want it to=
 stop, you say .words(<span style=3D"color:rgb(80,0,80)">=E2=88=9E) or .wor=
ds(Inf), or, since an infinite limit is the defa</span><span style=3D"color=
:rgb(80,0,80)">ult, just .words() or .words.</span></div><div><span style=
=3D"color:rgb(80,0,80)">and it won&#39;t stop no matter how many it has alr=
eady given you until it reaches the end.</span></div><div><span style=3D"co=
lor:rgb(80,0,80)"><br></span></div><div><span style=3D"color:rgb(80,0,80)">=
Curt</span></div><div><span style=3D"color:rgb(80,0,80)"><br></span></div><=
/div></div>

--0000000000008bde3f0576f38bf6--
0
curt
9/28/2018 7:34:21 PM
On 9/28/18 12:34 PM, Curt Tilmes wrote:
>=20
> On Fri, Sep 28, 2018 at 2:57 PM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     On 9/28/18 10:42 AM, Curt Tilmes wrote:
>      > Indeed we do, we have a special value just for that -- Inf or=C2=
=A0=E2=88=9E.
>=20
>     Inf or =E2=88=9E still means (to me) a number too large to represen=
t.
>     But, I can't think of another way to say "all of them".
>=20
>=20
> So if I was to ask you what limit I should use to make an iterator that=
=20
> created all of the numbers?
>=20
> I could set the limit at 2:=C2=A0 1..2 and you would get 2 numbers.
> I could set the limit at 1000: 1..1000 and you would get 1000 numbers.
>=20
> If you wanted all the numbers, where would you stop?=C2=A0 What limit w=
ould=20
> you use?
>=20
> We use =E2=88=9E=C2=A0 :=C2=A0 =C2=A0Try this=C2=A0 =C2=A0.say for 1..=E2=
=88=9E
> It will give you all the numbers starting with 1 that Perl is capable o=
f=20
> making (it may take a while...)
>=20
> Exactly the same for .words.
>=20
> You can say .words(2) and you get at most 2 words, the limit is 2.
> You can say .words(1000) and you get at most 1000 words, the limit is 1=
000.
> (Note you can get less that 1000 -- it isn't saying how many words, it =

> isn't a count.=C2=A0 It is a limit.=C2=A0 it is setting the limit it wo=
n't go past.)
>=20
> If you don't want it to stop, you say .words(=E2=88=9E) or .words(Inf),=
 or,=20
> since an infinite limit is the default, just .words() or .words.
> and it won't stop no matter how many it has already given you until it =

> reaches the end.
>=20
> Curt
>=20


Hi Curt,

I absolutely understand.  I just don't like the wording of Inf
in this case.

https://en.wikipedia.org/wiki/Infinity
    Infinity (symbol: =E2=88=9E) is a concept describing something
    without any bound or larger than any natural number.

"without any bound" is what it is being used for here.
I see it as "larger than any natural number".  So I
am probably the one at fault.

"Except" this is where I got Perl's definition of it:

https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29-Inf
      The value Inf is an instance of Num and represents value that's
      too large to represent in 64-bit double-precision floating
      point number

So the manual is describing it as "larger than any natural
[Perl] number", not as "without any bound" .

Time for an RFE on
https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29-Inf
to add "without any bound" to the verbiage.

Yes I am picking nits.

-T
0
ToddAndMargo
9/28/2018 9:11:50 PM
On 9/28/18 10:37 AM, Brandon Allbery wrote:
> We're going to have a problem if "infinity" is not allowed in the=20
> presence of some programmers. "All values" can mean too many things in =

> too many situations. And I don't think using * works here, quite,=20
> precisely because it can mean too many things.

Agreed.

I think the issue is with the wording of Inf:

https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29-Inf
      The value Inf is an instance of Num and represents value that's
      too large to represent in 64-bit double-precision floating
      point number

Looking at
https://en.wikipedia.org/wiki/Infinity
    Infinity (symbol: =E2=88=9E) is a concept describing something
    without any bound or larger than any natural number.

"without any bound" is what Inf is being used for here.
I see it as "larger than any natural number".  So I
am probably the one at fault.

When I read the manual, Perl Speak over rules common speak.
So I was taking Inf's Perl defination literally.

Proposed change for your criticism:

      The value Inf (Infinity) represents "without bound" or
      "no limit" (meaning "all possible values") when used
      as an argument.

      Inf when used as an instance of Num and represents a
      value that's too large to represent in 64-bit double-precision
      floating point number

What do you think?

-T
0
ToddAndMargo
9/28/2018 10:45:06 PM
On 9/28/18 3:45 PM, ToddAndMargo wrote:
>=20
>  =C2=A0=C2=A0=C2=A0=C2=A0 The value Inf (Infinity) represents "without =
bound" or
>  =C2=A0=C2=A0=C2=A0=C2=A0 "no limit" (meaning "all possible values") wh=
en used
>  =C2=A0=C2=A0=C2=A0=C2=A0 as an argument.


Better written would be:

        When used as an argument, the value Inf (Infinity)
        represents "without bound" or "no limit", meaning
        "all possible values".
0
ToddAndMargo
9/28/2018 10:48:43 PM
On 9/27/18 12:40 AM, Laurent Rosenfeld via perl6-users wrote:
>  > I am NOT asking it to limit my request to Infinity.
> 
> Yes you are, implicitly. If you don't pass any parameter for $limit, 
> $limit will take the default value supplied by the signature, i.e. Inf.

True, but that is not what the manual says Inf is.  Lower in this
thread I made a suggest addition to the wording of Inf.  Would
you mind looking at it and offering your criticism?
0
ToddAndMargo
9/28/2018 10:50:31 PM
--00000000000001b29d0576f6512c
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

It only means that in some cases. Consider if you are writing code that
places items in a grid, and you support Inf as a grid coordinate meaning
"not on the grid" which might be represented differently or which might
place it at whatever edge of the grid is relevant (without forcing you to
know the size of the grid, so it's more useful in a general library).

There's no "think simple" that covers all the use cases. And "if it's not
think simple, then remove it" means you do extra work for no good reason
except to make the documentation happy.

On Fri, Sep 28, 2018 at 6:46 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/28/18 10:37 AM, Brandon Allbery wrote:
> > We're going to have a problem if "infinity" is not allowed in the
> > presence of some programmers. "All values" can mean too many things in
> > too many situations. And I don't think using * works here, quite,
> > precisely because it can mean too many things.
>
> Agreed.
>
> I think the issue is with the wording of Inf:
>
> https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29-Inf
>       The value Inf is an instance of Num and represents value that's
>       too large to represent in 64-bit double-precision floating
>       point number
>
> Looking at
> https://en.wikipedia.org/wiki/Infinity
>     Infinity (symbol: =E2=88=9E) is a concept describing something
>     without any bound or larger than any natural number.
>
> "without any bound" is what Inf is being used for here.
> I see it as "larger than any natural number".  So I
> am probably the one at fault.
>
> When I read the manual, Perl Speak over rules common speak.
> So I was taking Inf's Perl defination literally.
>
> Proposed change for your criticism:
>
>       The value Inf (Infinity) represents "without bound" or
>       "no limit" (meaning "all possible values") when used
>       as an argument.
>
>       Inf when used as an instance of Num and represents a
>       value that's too large to represent in 64-bit double-precision
>       floating point number
>
> What do you think?
>
> -T
>


--=20
brandon s allbery kf8nh
allbery.b@gmail.com

--00000000000001b29d0576f6512c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">It only means that in some cases. Consider if you are writ=
ing code that places items in a grid, and you support Inf as a grid coordin=
ate meaning &quot;not on the grid&quot; which might be represented differen=
tly or which might place it at whatever edge of the grid is relevant (witho=
ut forcing you to know the size of the grid, so it&#39;s more useful in a g=
eneral library).<div><br></div><div>There&#39;s no &quot;think simple&quot;=
 that covers all the use cases. And &quot;if it&#39;s not think simple, the=
n remove it&quot; means you do extra work for no good reason except to make=
 the documentation happy.</div></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr">On Fri, Sep 28, 2018 at 6:46 PM ToddAndMargo &lt;<a href=3D"mailt=
o:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #c=
cc solid;padding-left:1ex">On 9/28/18 10:37 AM, Brandon Allbery wrote:<br>
&gt; We&#39;re going to have a problem if &quot;infinity&quot; is not allow=
ed in the <br>
&gt; presence of some programmers. &quot;All values&quot; can mean too many=
 things in <br>
&gt; too many situations. And I don&#39;t think using * works here, quite, =
<br>
&gt; precisely because it can mean too many things.<br>
<br>
Agreed.<br>
<br>
I think the issue is with the wording of Inf:<br>
<br>
<a href=3D"https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29=
-Inf" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/type/Num#=
index-entry-Inf_%28definition%29-Inf</a><br>
=C2=A0 =C2=A0 =C2=A0 The value Inf is an instance of Num and represents val=
ue that&#39;s<br>
=C2=A0 =C2=A0 =C2=A0 too large to represent in 64-bit double-precision floa=
ting<br>
=C2=A0 =C2=A0 =C2=A0 point number<br>
<br>
Looking at<br>
<a href=3D"https://en.wikipedia.org/wiki/Infinity" rel=3D"noreferrer" targe=
t=3D"_blank">https://en.wikipedia.org/wiki/Infinity</a><br>
=C2=A0 =C2=A0 Infinity (symbol: =E2=88=9E) is a concept describing somethin=
g<br>
=C2=A0 =C2=A0 without any bound or larger than any natural number.<br>
<br>
&quot;without any bound&quot; is what Inf is being used for here.<br>
I see it as &quot;larger than any natural number&quot;.=C2=A0 So I<br>
am probably the one at fault.<br>
<br>
When I read the manual, Perl Speak over rules common speak.<br>
So I was taking Inf&#39;s Perl defination literally.<br>
<br>
Proposed change for your criticism:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 The value Inf (Infinity) represents &quot;without boun=
d&quot; or<br>
=C2=A0 =C2=A0 =C2=A0 &quot;no limit&quot; (meaning &quot;all possible value=
s&quot;) when used<br>
=C2=A0 =C2=A0 =C2=A0 as an argument.<br>
<br>
=C2=A0 =C2=A0 =C2=A0 Inf when used as an instance of Num and represents a<b=
r>
=C2=A0 =C2=A0 =C2=A0 value that&#39;s too large to represent in 64-bit doub=
le-precision<br>
=C2=A0 =C2=A0 =C2=A0 floating point number<br>
<br>
What do you think?<br>
<br>
-T<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--00000000000001b29d0576f6512c--
0
allbery
9/28/2018 10:52:41 PM
--0000000000009927120576f655c9
Content-Type: text/plain; charset="UTF-8"

On Fri, Sep 28, 2018 at 6:49 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/28/18 3:45 PM, ToddAndMargo wrote:
> >
> >       The value Inf (Infinity) represents "without bound" or
> >       "no limit" (meaning "all possible values") when used
> >       as an argument.
>
>
> Better written would be:
>
>         When used as an argument, the value Inf (Infinity)
>         represents "without bound" or "no limit", meaning
>         "all possible values".
>

It doesn't really mean "all possible values".  It means a number that is
higher than any expressible number.

If you say 1000..Inf, it means numbers that start at 1000, and go up
forever, never ending.

It doesn't include things like 50, or 172, or 42, etc.  It certainly
doesn't mean "all possible values".

For words(Inf), it means you keep making words forever, but that isn't
because infinity is "all possible values", it is because you never reach
infinity.

Curt

--0000000000009927120576f655c9
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Fri=
, Sep 28, 2018 at 6:49 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@z=
oho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex">On 9/28/18 3:45 PM, ToddAndMargo wrote:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 The value Inf (Infinity) represents &qu=
ot;without bound&quot; or<br>
&gt;=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 &quot;no limit&quot; (meaning &quot;all=
 possible values&quot;) when used<br>
&gt;=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0 as an argument.<br>
<br>
<br>
Better written would be:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 When used as an argument, the value Inf (Infini=
ty)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 represents &quot;without bound&quot; or &quot;n=
o limit&quot;, meaning<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 &quot;all possible values&quot;.<br></blockquot=
e><div><br></div><div>It doesn&#39;t really mean &quot;all possible values&=
quot;.=C2=A0 It means a number that is higher than any expressible number.<=
/div><div><br></div><div>If you say 1000..Inf, it means numbers that start =
at 1000, and go up forever, never ending.</div><div><br></div><div>It doesn=
&#39;t include things like 50, or 172, or 42, etc.=C2=A0 It certainly doesn=
&#39;t mean &quot;all possible values&quot;.</div><div><br></div><div>For w=
ords(Inf), it means you keep making words forever, but that isn&#39;t becau=
se infinity is &quot;all possible values&quot;, it is because you never rea=
ch infinity.</div><div><br></div><div>Curt</div><div>=C2=A0</div></div></di=
v>

--0000000000009927120576f655c9--
0
curt
9/28/2018 10:54:01 PM
On 9/28/18 3:54 PM, Curt Tilmes wrote:
> When used as an argument, the value Inf (Infinity)
>  =C2=A0 =C2=A0 =C2=A0 =C2=A0 represents "without bound" or "no limit"

Thank you!

How about just:

      When used as an argument, the value Inf (Infinity)
      represents "without bound" or "no limit".

That would have certainly tipped me off

-T
0
ToddAndMargo
9/28/2018 11:22:25 PM
--000000000000872b8c0576f6ec67
Content-Type: text/plain; charset="UTF-8"

On Fri, Sep 28, 2018 at 7:23 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> How about just:
>
>       When used as an argument, the value Inf (Infinity)
>       represents "without bound" or "no limit".
>
> That would have certainly tipped me off
>

I think you are trying to tie its meaning as an argument to the value
itself.  That isn't really how it works.
Inf is just the value higher than any other value.

Its interpretation as an argument is dependent on the routine it is an
argument to.

For .words($limit), you could say that passing in Inf for a $llimit (the
default) would keep making words with no limit.

In some other method,  it could have some other meaning.

I could say for my foo($x) function that passing in $x=Inf causes it to
throw an Exception (or even  print out "yowza" or whatever.)  That's up to
the way I want to use it for my function.

For a limit, it makes sense that if you count up to a value, that passing
in Inf for that value would mean that you never reach it, since it the
value is infinite.

Curt

--000000000000872b8c0576f6ec67
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Fri=
, Sep 28, 2018 at 7:23 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@z=
oho.com" target=3D"_blank">ToddAndMargo@zoho.com</a>&gt; wrote:</div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">
How about just:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 When used as an argument, the value Inf (Infinity)<br>
=C2=A0 =C2=A0 =C2=A0 represents &quot;without bound&quot; or &quot;no limit=
&quot;.<br>
<br>
That would have certainly tipped me off<br></blockquote><div><br></div><div=
>I think you are trying to tie its meaning as an argument to the value itse=
lf.=C2=A0 That isn&#39;t really how it works.</div><div>Inf is just the val=
ue higher than any other value.</div><div><br></div><div>Its interpretation=
 as an argument is dependent on the routine it is an argument to.</div><div=
><br></div><div>For .words($limit), you could say that passing in Inf for a=
 $llimit (the default) would keep making words with no limit.</div><div><br=
></div><div>In some other method,=C2=A0=C2=A0it could have some other meani=
ng.</div><div><br></div><div>I could say for my foo($x) function that passi=
ng in $x=3DInf causes it to throw an Exception (or even=C2=A0 print out &qu=
ot;yowza&quot; or whatever.)=C2=A0 That&#39;s up to the way I want to use i=
t for my function.</div><div><br></div><div>For a limit, it makes sense tha=
t if you count up to a value, that passing in Inf for that value would mean=
 that you never reach it, since it the value is infinite.</div><div><br></d=
iv><div>Curt</div><div><br></div></div></div>

--000000000000872b8c0576f6ec67--
0
curt
9/28/2018 11:36:13 PM
On 9/28/18 4:36 PM, Curt Tilmes wrote:
>=20
>=20
> On Fri, Sep 28, 2018 at 7:23 PM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     How about just:
>=20
>      =C2=A0 =C2=A0 =C2=A0 When used as an argument, the value Inf (Infi=
nity)
>      =C2=A0 =C2=A0 =C2=A0 represents "without bound" or "no limit".
>=20
>     That would have certainly tipped me off
>=20
>=20
> I think you are trying to tie its meaning as an argument to the value=20
> itself.=C2=A0 That isn't really how it works.
> Inf is just the value higher than any other value.
>=20
> Its interpretation as an argument is dependent on the routine it is an =

> argument to.
>=20
> For .words($limit), you could say that passing in Inf for a $llimit (th=
e=20
> default) would keep making words with no limit.
>=20
> In some other method,=C2=A0=C2=A0it could have some other meaning.
>=20
> I could say for my foo($x) function that passing in $x=3DInf causes it =
to=20
> throw an Exception (or even=C2=A0 print out "yowza" or whatever.)=C2=A0=
 That's up=20
> to the way I want to use it for my function.
>=20
> For a limit, it makes sense that if you count up to a value, that=20
> passing in Inf for that value would mean that you never reach it, since=
=20
> it the value is infinite.
>=20
> Curt
>=20

Hmmmm. More thinking required.

Thank you!
0
ToddAndMargo
9/28/2018 11:42:40 PM
On Fri, Sep 28, 2018 at 03:50:31PM -0700, ToddAndMargo wrote:
: On 9/27/18 12:40 AM, Laurent Rosenfeld via perl6-users wrote:
: > > I am NOT asking it to limit my request to Infinity.
: >
: >Yes you are, implicitly. If you don't pass any parameter for
: >$limit, $limit will take the default value supplied by the
: >signature, i.e. Inf.
: 
: True, but that is not what the manual says Inf is.  Lower in this
: thread I made a suggest addition to the wording of Inf.  Would
: you mind looking at it and offering your criticism?

Why do you want to burden the definition of what something *is* with
all the things you can *do* with it?  The former is tractable, while
the latter is not.

It seems to me that you are applying a different standard to human and
computer languages here.  In both human and computer languages, what
something *is* has little to do with what something *does*.  These are
different abstraction levels.  You're fine with this in English, so
trying to flatten out all the abstraction levels is tending to work
against your understanding of computer languages here, I suspect.

The word "knife" is a noun, but if I "knife" someone, I'm using a noun
(what the word is) as a verb (what the word can do).  Human language is
full of these borrowings of abstraction level, so much so that linguists
even have a name for them in general, the "emic vs etic" distinction.
In non-linguistic terms, "what you said vs what you really meant".
What it is, vs what it does.

Originally these were coined on the phonetic vs phonemic level, so we
see lots of places in English where the phonetics don't match up with
how they are used:

    The prince made some prints.

Here you pronounce those words identically on a phonetic level, but on
a higher phonemic level (or even on a morphophonemic level), "prince" is
only one morpheme, while "prints" is two morphemes "print" and the plural
"s".  But this etic/emic distinction works at higher levels as well:

    Here's a you-can-even-use-a-sentence-as-an-adjective example.

Here the etic description of "you-can-even-use-a-sentence-as-an-adjective"
is that of a sentence.  That's what it *is*.  But language is flexible
enough that I can choose (emically) to slot the whole sentence in as
a adjective.  That's what the sentence can *do*.  (Or that's what you
can do with a sentence, if you prefer.)  The fact that you can do this
takes nothing away from what a sentence *is*, because that's at a lower
abstraction level.

Going up the linguistic stack even further, every time you read a metaphor
in a poem (or in a newspaper article for that matter), you are using
your knowledge of English to realize that the poet (or reporter) is
relying on you, the Gentle Reader, to realize that the writer is
using a metaphor.  A metaphor is when you say one thing but mean
something else by it.  The words of a metaphor are what it "is", but
the meaning it produces in your brain is what it "does".

The fact that the $limit is using a particular value with a particular
representation in memory ("what the manual says Inf is") has almost
nothing to do with how we choose to use it metaphorically in an interface,
except insofar as it's extremely convenient to have a floating-point value
that happens to compare as larger than any integer you want to name.
That comparison is a thing that Inf can *do*, which is the abstraction level on
which the $limit API is working.  The fact that it can be used this way
is not at all contradictory to the description of what the Inf value *is*.

But the description of what it can do really belongs on the many places
where it can be used in various metaphorical ways, not in the definition
of what it is.  The floating-point Inf value really has no clue whatsoever
about all the ways it might be used.  It probably doesn't even realize
it can be compared with an integer.  :)

Larry
0
larry
9/29/2018 1:28:02 AM
Kudos to the Benevolent Dictator!

I'll have to loop over this a few times, but it's a blast...

Mark

-----Original Message-----
From: Larry Wall <larry@wall.org>=20
Sent: Friday, September 28, 2018 21:28
To: ToddAndMargo <ToddAndMargo@zoho.com>
Cc: perl6-users@perl.org
Subject: Re: Could this be any more obscure?

On Fri, Sep 28, 2018 at 03:50:31PM -0700, ToddAndMargo wrote:
: On 9/27/18 12:40 AM, Laurent Rosenfeld via perl6-users wrote:
: > > I am NOT asking it to limit my request to Infinity.
: >
: >Yes you are, implicitly. If you don't pass any parameter for
: >$limit, $limit will take the default value supplied by the
: >signature, i.e. Inf.
:=20
: True, but that is not what the manual says Inf is.  Lower in this
: thread I made a suggest addition to the wording of Inf.  Would
: you mind looking at it and offering your criticism?

Why do you want to burden the definition of what something *is* with all th=
e things you can *do* with it?  The former is tractable, while the latter i=
s not.

It seems to me that you are applying a different standard to human and comp=
uter languages here.  In both human and computer languages, what something =
*is* has little to do with what something *does*.  These are different abst=
raction levels.  You're fine with this in English, so trying to flatten out=
 all the abstraction levels is tending to work against your understanding o=
f computer languages here, I suspect.

The word "knife" is a noun, but if I "knife" someone, I'm using a noun (wha=
t the word is) as a verb (what the word can do).  Human language is full of=
 these borrowings of abstraction level, so much so that linguists even have=
 a name for them in general, the "emic vs etic" distinction.
In non-linguistic terms, "what you said vs what you really meant".
What it is, vs what it does.

Originally these were coined on the phonetic vs phonemic level, so we see l=
ots of places in English where the phonetics don't match up with how they a=
re used:

    The prince made some prints.

Here you pronounce those words identically on a phonetic level, but on a hi=
gher phonemic level (or even on a morphophonemic level), "prince" is only o=
ne morpheme, while "prints" is two morphemes "print" and the plural "s".  B=
ut this etic/emic distinction works at higher levels as well:

    Here's a you-can-even-use-a-sentence-as-an-adjective example.

Here the etic description of "you-can-even-use-a-sentence-as-an-adjective"
is that of a sentence.  That's what it *is*.  But language is flexible enou=
gh that I can choose (emically) to slot the whole sentence in as a adjectiv=
e.  That's what the sentence can *do*.  (Or that's what you can do with a s=
entence, if you prefer.)  The fact that you can do this takes nothing away =
from what a sentence *is*, because that's at a lower abstraction level.

Going up the linguistic stack even further, every time you read a metaphor =
in a poem (or in a newspaper article for that matter), you are using your k=
nowledge of English to realize that the poet (or reporter) is relying on yo=
u, the Gentle Reader, to realize that the writer is using a metaphor.  A me=
taphor is when you say one thing but mean something else by it.  The words =
of a metaphor are what it "is", but the meaning it produces in your brain i=
s what it "does".

The fact that the $limit is using a particular value with a particular repr=
esentation in memory ("what the manual says Inf is") has almost nothing to =
do with how we choose to use it metaphorically in an interface, except inso=
far as it's extremely convenient to have a floating-point value that happen=
s to compare as larger than any integer you want to name.
That comparison is a thing that Inf can *do*, which is the abstraction leve=
l on which the $limit API is working.  The fact that it can be used this wa=
y is not at all contradictory to the description of what the Inf value *is*=
..

But the description of what it can do really belongs on the many places whe=
re it can be used in various metaphorical ways, not in the definition of wh=
at it is.  The floating-point Inf value really has no clue whatsoever about=
 all the ways it might be used.  It probably doesn't even realize it can be=
 compared with an integer.  :)

Larry
0
mark
9/29/2018 1:49:30 AM
--0000000000004b724a0576f8cf15
Content-Type: text/plain; charset="UTF-8"

I'm not sure it's any better than my attempt; it has that "people's eyes
will glaze over" feel to it.

On Fri, Sep 28, 2018 at 9:50 PM Mark Devine <mark@markdevine.com> wrote:

> Kudos to the Benevolent Dictator!
>
> I'll have to loop over this a few times, but it's a blast...
>
> Mark
>
> -----Original Message-----
> From: Larry Wall <larry@wall.org>
> Sent: Friday, September 28, 2018 21:28
> To: ToddAndMargo <ToddAndMargo@zoho.com>
> Cc: perl6-users@perl.org
> Subject: Re: Could this be any more obscure?
>
> On Fri, Sep 28, 2018 at 03:50:31PM -0700, ToddAndMargo wrote:
> : On 9/27/18 12:40 AM, Laurent Rosenfeld via perl6-users wrote:
> : > > I am NOT asking it to limit my request to Infinity.
> : >
> : >Yes you are, implicitly. If you don't pass any parameter for
> : >$limit, $limit will take the default value supplied by the
> : >signature, i.e. Inf.
> :
> : True, but that is not what the manual says Inf is.  Lower in this
> : thread I made a suggest addition to the wording of Inf.  Would
> : you mind looking at it and offering your criticism?
>
> Why do you want to burden the definition of what something *is* with all
> the things you can *do* with it?  The former is tractable, while the latter
> is not.
>
> It seems to me that you are applying a different standard to human and
> computer languages here.  In both human and computer languages, what
> something *is* has little to do with what something *does*.  These are
> different abstraction levels.  You're fine with this in English, so trying
> to flatten out all the abstraction levels is tending to work against your
> understanding of computer languages here, I suspect.
>
> The word "knife" is a noun, but if I "knife" someone, I'm using a noun
> (what the word is) as a verb (what the word can do).  Human language is
> full of these borrowings of abstraction level, so much so that linguists
> even have a name for them in general, the "emic vs etic" distinction.
> In non-linguistic terms, "what you said vs what you really meant".
> What it is, vs what it does.
>
> Originally these were coined on the phonetic vs phonemic level, so we see
> lots of places in English where the phonetics don't match up with how they
> are used:
>
>     The prince made some prints.
>
> Here you pronounce those words identically on a phonetic level, but on a
> higher phonemic level (or even on a morphophonemic level), "prince" is only
> one morpheme, while "prints" is two morphemes "print" and the plural "s".
> But this etic/emic distinction works at higher levels as well:
>
>     Here's a you-can-even-use-a-sentence-as-an-adjective example.
>
> Here the etic description of "you-can-even-use-a-sentence-as-an-adjective"
> is that of a sentence.  That's what it *is*.  But language is flexible
> enough that I can choose (emically) to slot the whole sentence in as a
> adjective.  That's what the sentence can *do*.  (Or that's what you can do
> with a sentence, if you prefer.)  The fact that you can do this takes
> nothing away from what a sentence *is*, because that's at a lower
> abstraction level.
>
> Going up the linguistic stack even further, every time you read a metaphor
> in a poem (or in a newspaper article for that matter), you are using your
> knowledge of English to realize that the poet (or reporter) is relying on
> you, the Gentle Reader, to realize that the writer is using a metaphor.  A
> metaphor is when you say one thing but mean something else by it.  The
> words of a metaphor are what it "is", but the meaning it produces in your
> brain is what it "does".
>
> The fact that the $limit is using a particular value with a particular
> representation in memory ("what the manual says Inf is") has almost nothing
> to do with how we choose to use it metaphorically in an interface, except
> insofar as it's extremely convenient to have a floating-point value that
> happens to compare as larger than any integer you want to name.
> That comparison is a thing that Inf can *do*, which is the abstraction
> level on which the $limit API is working.  The fact that it can be used
> this way is not at all contradictory to the description of what the Inf
> value *is*.
>
> But the description of what it can do really belongs on the many places
> where it can be used in various metaphorical ways, not in the definition of
> what it is.  The floating-point Inf value really has no clue whatsoever
> about all the ways it might be used.  It probably doesn't even realize it
> can be compared with an integer.  :)
>
> Larry
>


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

--0000000000004b724a0576f8cf15
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I&#39;m not sure it&#39;s any better than my attempt; it h=
as that &quot;people&#39;s eyes will glaze over&quot; feel to it.</div><br>=
<div class=3D"gmail_quote"><div dir=3D"ltr">On Fri, Sep 28, 2018 at 9:50 PM=
 Mark Devine &lt;<a href=3D"mailto:mark@markdevine.com">mark@markdevine.com=
</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Kudos to the Benevo=
lent Dictator!<br>
<br>
I&#39;ll have to loop over this a few times, but it&#39;s a blast...<br>
<br>
Mark<br>
<br>
-----Original Message-----<br>
From: Larry Wall &lt;<a href=3D"mailto:larry@wall.org" target=3D"_blank">la=
rry@wall.org</a>&gt; <br>
Sent: Friday, September 28, 2018 21:28<br>
To: ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_bl=
ank">ToddAndMargo@zoho.com</a>&gt;<br>
Cc: <a href=3D"mailto:perl6-users@perl.org" target=3D"_blank">perl6-users@p=
erl.org</a><br>
Subject: Re: Could this be any more obscure?<br>
<br>
On Fri, Sep 28, 2018 at 03:50:31PM -0700, ToddAndMargo wrote:<br>
: On 9/27/18 12:40 AM, Laurent Rosenfeld via perl6-users wrote:<br>
: &gt; &gt; I am NOT asking it to limit my request to Infinity.<br>
: &gt;<br>
: &gt;Yes you are, implicitly. If you don&#39;t pass any parameter for<br>
: &gt;$limit, $limit will take the default value supplied by the<br>
: &gt;signature, i.e. Inf.<br>
: <br>
: True, but that is not what the manual says Inf is.=C2=A0 Lower in this<br=
>
: thread I made a suggest addition to the wording of Inf.=C2=A0 Would<br>
: you mind looking at it and offering your criticism?<br>
<br>
Why do you want to burden the definition of what something *is* with all th=
e things you can *do* with it?=C2=A0 The former is tractable, while the lat=
ter is not.<br>
<br>
It seems to me that you are applying a different standard to human and comp=
uter languages here.=C2=A0 In both human and computer languages, what somet=
hing *is* has little to do with what something *does*.=C2=A0 These are diff=
erent abstraction levels.=C2=A0 You&#39;re fine with this in English, so tr=
ying to flatten out all the abstraction levels is tending to work against y=
our understanding of computer languages here, I suspect.<br>
<br>
The word &quot;knife&quot; is a noun, but if I &quot;knife&quot; someone, I=
&#39;m using a noun (what the word is) as a verb (what the word can do).=C2=
=A0 Human language is full of these borrowings of abstraction level, so muc=
h so that linguists even have a name for them in general, the &quot;emic vs=
 etic&quot; distinction.<br>
In non-linguistic terms, &quot;what you said vs what you really meant&quot;=
..<br>
What it is, vs what it does.<br>
<br>
Originally these were coined on the phonetic vs phonemic level, so we see l=
ots of places in English where the phonetics don&#39;t match up with how th=
ey are used:<br>
<br>
=C2=A0 =C2=A0 The prince made some prints.<br>
<br>
Here you pronounce those words identically on a phonetic level, but on a hi=
gher phonemic level (or even on a morphophonemic level), &quot;prince&quot;=
 is only one morpheme, while &quot;prints&quot; is two morphemes &quot;prin=
t&quot; and the plural &quot;s&quot;.=C2=A0 But this etic/emic distinction =
works at higher levels as well:<br>
<br>
=C2=A0 =C2=A0 Here&#39;s a you-can-even-use-a-sentence-as-an-adjective exam=
ple.<br>
<br>
Here the etic description of &quot;you-can-even-use-a-sentence-as-an-adject=
ive&quot;<br>
is that of a sentence.=C2=A0 That&#39;s what it *is*.=C2=A0 But language is=
 flexible enough that I can choose (emically) to slot the whole sentence in=
 as a adjective.=C2=A0 That&#39;s what the sentence can *do*.=C2=A0 (Or tha=
t&#39;s what you can do with a sentence, if you prefer.)=C2=A0 The fact tha=
t you can do this takes nothing away from what a sentence *is*, because tha=
t&#39;s at a lower abstraction level.<br>
<br>
Going up the linguistic stack even further, every time you read a metaphor =
in a poem (or in a newspaper article for that matter), you are using your k=
nowledge of English to realize that the poet (or reporter) is relying on yo=
u, the Gentle Reader, to realize that the writer is using a metaphor.=C2=A0=
 A metaphor is when you say one thing but mean something else by it.=C2=A0 =
The words of a metaphor are what it &quot;is&quot;, but the meaning it prod=
uces in your brain is what it &quot;does&quot;.<br>
<br>
The fact that the $limit is using a particular value with a particular repr=
esentation in memory (&quot;what the manual says Inf is&quot;) has almost n=
othing to do with how we choose to use it metaphorically in an interface, e=
xcept insofar as it&#39;s extremely convenient to have a floating-point val=
ue that happens to compare as larger than any integer you want to name.<br>
That comparison is a thing that Inf can *do*, which is the abstraction leve=
l on which the $limit API is working.=C2=A0 The fact that it can be used th=
is way is not at all contradictory to the description of what the Inf value=
 *is*.<br>
<br>
But the description of what it can do really belongs on the many places whe=
re it can be used in various metaphorical ways, not in the definition of wh=
at it is.=C2=A0 The floating-point Inf value really has no clue whatsoever =
about all the ways it might be used.=C2=A0 It probably doesn&#39;t even rea=
lize it can be compared with an integer.=C2=A0 :)<br>
<br>
Larry<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--0000000000004b724a0576f8cf15--
0
allbery
9/29/2018 1:51:13 AM
--_000_MWHPR02MB2751861C91CB0A39EE424DF5A0ED0MWHPR02MB2751namp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SSBndWVzcyBJ4oCZbSBleHRyYSBpbXByZXNzZWQgd2l0aCBlc290ZXJpYyBsaW5ndWlzdGljIHJl
ZmVyZW5jZXMuICBZb3VyIHJlcGxpZXMgd2VyZSBjb25jaXNlIGFuZCBJIHVuZGVyc3Rvb2QgdGhl
bSBwcmV0dHkgcXVpY2tseS4NCg0KTWFyaw0KDQoNCkZyb206IEJyYW5kb24gQWxsYmVyeSA8YWxs
YmVyeS5iQGdtYWlsLmNvbT4NClNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDI4LCAyMDE4IDIxOjUx
DQpUbzogTWFyayBEZXZpbmUgPG1hcmtAbWFya2RldmluZS5jb20+DQpDYzogbGFycnlAd2FsbC5v
cmc7IFRvZGRBbmRNYXJnbyA8VG9kZEFuZE1hcmdvQHpvaG8uY29tPjsgcGVybDYtdXNlcnMgPHBl
cmw2LXVzZXJzQHBlcmwub3JnPg0KU3ViamVjdDogUmU6IENvdWxkIHRoaXMgYmUgYW55IG1vcmUg
b2JzY3VyZT8NCg0KSSdtIG5vdCBzdXJlIGl0J3MgYW55IGJldHRlciB0aGFuIG15IGF0dGVtcHQ7
IGl0IGhhcyB0aGF0ICJwZW9wbGUncyBleWVzIHdpbGwgZ2xhemUgb3ZlciIgZmVlbCB0byBpdC4N
Cg0KT24gRnJpLCBTZXAgMjgsIDIwMTggYXQgOTo1MCBQTSBNYXJrIERldmluZSA8bWFya0BtYXJr
ZGV2aW5lLmNvbTxtYWlsdG86bWFya0BtYXJrZGV2aW5lLmNvbT4+IHdyb3RlOg0KS3Vkb3MgdG8g
dGhlIEJlbmV2b2xlbnQgRGljdGF0b3IhDQoNCkknbGwgaGF2ZSB0byBsb29wIG92ZXIgdGhpcyBh
IGZldyB0aW1lcywgYnV0IGl0J3MgYSBibGFzdC4uLg0KDQpNYXJrDQoNCi0tLS0tT3JpZ2luYWwg
TWVzc2FnZS0tLS0tDQpGcm9tOiBMYXJyeSBXYWxsIDxsYXJyeUB3YWxsLm9yZzxtYWlsdG86bGFy
cnlAd2FsbC5vcmc+Pg0KU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMjgsIDIwMTggMjE6MjgNClRv
OiBUb2RkQW5kTWFyZ28gPFRvZGRBbmRNYXJnb0B6b2hvLmNvbTxtYWlsdG86VG9kZEFuZE1hcmdv
QHpvaG8uY29tPj4NCkNjOiBwZXJsNi11c2Vyc0BwZXJsLm9yZzxtYWlsdG86cGVybDYtdXNlcnNA
cGVybC5vcmc+DQpTdWJqZWN0OiBSZTogQ291bGQgdGhpcyBiZSBhbnkgbW9yZSBvYnNjdXJlPw0K
DQpPbiBGcmksIFNlcCAyOCwgMjAxOCBhdCAwMzo1MDozMVBNIC0wNzAwLCBUb2RkQW5kTWFyZ28g
d3JvdGU6DQo6IE9uIDkvMjcvMTggMTI6NDAgQU0sIExhdXJlbnQgUm9zZW5mZWxkIHZpYSBwZXJs
Ni11c2VycyB3cm90ZToNCjogPiA+IEkgYW0gTk9UIGFza2luZyBpdCB0byBsaW1pdCBteSByZXF1
ZXN0IHRvIEluZmluaXR5Lg0KOiA+DQo6ID5ZZXMgeW91IGFyZSwgaW1wbGljaXRseS4gSWYgeW91
IGRvbid0IHBhc3MgYW55IHBhcmFtZXRlciBmb3INCjogPiRsaW1pdCwgJGxpbWl0IHdpbGwgdGFr
ZSB0aGUgZGVmYXVsdCB2YWx1ZSBzdXBwbGllZCBieSB0aGUNCjogPnNpZ25hdHVyZSwgaS5lLiBJ
bmYuDQo6DQo6IFRydWUsIGJ1dCB0aGF0IGlzIG5vdCB3aGF0IHRoZSBtYW51YWwgc2F5cyBJbmYg
aXMuICBMb3dlciBpbiB0aGlzDQo6IHRocmVhZCBJIG1hZGUgYSBzdWdnZXN0IGFkZGl0aW9uIHRv
IHRoZSB3b3JkaW5nIG9mIEluZi4gIFdvdWxkDQo6IHlvdSBtaW5kIGxvb2tpbmcgYXQgaXQgYW5k
IG9mZmVyaW5nIHlvdXIgY3JpdGljaXNtPw0KDQpXaHkgZG8geW91IHdhbnQgdG8gYnVyZGVuIHRo
ZSBkZWZpbml0aW9uIG9mIHdoYXQgc29tZXRoaW5nICppcyogd2l0aCBhbGwgdGhlIHRoaW5ncyB5
b3UgY2FuICpkbyogd2l0aCBpdD8gIFRoZSBmb3JtZXIgaXMgdHJhY3RhYmxlLCB3aGlsZSB0aGUg
bGF0dGVyIGlzIG5vdC4NCg0KSXQgc2VlbXMgdG8gbWUgdGhhdCB5b3UgYXJlIGFwcGx5aW5nIGEg
ZGlmZmVyZW50IHN0YW5kYXJkIHRvIGh1bWFuIGFuZCBjb21wdXRlciBsYW5ndWFnZXMgaGVyZS4g
IEluIGJvdGggaHVtYW4gYW5kIGNvbXB1dGVyIGxhbmd1YWdlcywgd2hhdCBzb21ldGhpbmcgKmlz
KiBoYXMgbGl0dGxlIHRvIGRvIHdpdGggd2hhdCBzb21ldGhpbmcgKmRvZXMqLiAgVGhlc2UgYXJl
IGRpZmZlcmVudCBhYnN0cmFjdGlvbiBsZXZlbHMuICBZb3UncmUgZmluZSB3aXRoIHRoaXMgaW4g
RW5nbGlzaCwgc28gdHJ5aW5nIHRvIGZsYXR0ZW4gb3V0IGFsbCB0aGUgYWJzdHJhY3Rpb24gbGV2
ZWxzIGlzIHRlbmRpbmcgdG8gd29yayBhZ2FpbnN0IHlvdXIgdW5kZXJzdGFuZGluZyBvZiBjb21w
dXRlciBsYW5ndWFnZXMgaGVyZSwgSSBzdXNwZWN0Lg0KDQpUaGUgd29yZCAia25pZmUiIGlzIGEg
bm91biwgYnV0IGlmIEkgImtuaWZlIiBzb21lb25lLCBJJ20gdXNpbmcgYSBub3VuICh3aGF0IHRo
ZSB3b3JkIGlzKSBhcyBhIHZlcmIgKHdoYXQgdGhlIHdvcmQgY2FuIGRvKS4gIEh1bWFuIGxhbmd1
YWdlIGlzIGZ1bGwgb2YgdGhlc2UgYm9ycm93aW5ncyBvZiBhYnN0cmFjdGlvbiBsZXZlbCwgc28g
bXVjaCBzbyB0aGF0IGxpbmd1aXN0cyBldmVuIGhhdmUgYSBuYW1lIGZvciB0aGVtIGluIGdlbmVy
YWwsIHRoZSAiZW1pYyB2cyBldGljIiBkaXN0aW5jdGlvbi4NCkluIG5vbi1saW5ndWlzdGljIHRl
cm1zLCAid2hhdCB5b3Ugc2FpZCB2cyB3aGF0IHlvdSByZWFsbHkgbWVhbnQiLg0KV2hhdCBpdCBp
cywgdnMgd2hhdCBpdCBkb2VzLg0KDQpPcmlnaW5hbGx5IHRoZXNlIHdlcmUgY29pbmVkIG9uIHRo
ZSBwaG9uZXRpYyB2cyBwaG9uZW1pYyBsZXZlbCwgc28gd2Ugc2VlIGxvdHMgb2YgcGxhY2VzIGlu
IEVuZ2xpc2ggd2hlcmUgdGhlIHBob25ldGljcyBkb24ndCBtYXRjaCB1cCB3aXRoIGhvdyB0aGV5
IGFyZSB1c2VkOg0KDQogICAgVGhlIHByaW5jZSBtYWRlIHNvbWUgcHJpbnRzLg0KDQpIZXJlIHlv
dSBwcm9ub3VuY2UgdGhvc2Ugd29yZHMgaWRlbnRpY2FsbHkgb24gYSBwaG9uZXRpYyBsZXZlbCwg
YnV0IG9uIGEgaGlnaGVyIHBob25lbWljIGxldmVsIChvciBldmVuIG9uIGEgbW9ycGhvcGhvbmVt
aWMgbGV2ZWwpLCAicHJpbmNlIiBpcyBvbmx5IG9uZSBtb3JwaGVtZSwgd2hpbGUgInByaW50cyIg
aXMgdHdvIG1vcnBoZW1lcyAicHJpbnQiIGFuZCB0aGUgcGx1cmFsICJzIi4gIEJ1dCB0aGlzIGV0
aWMvZW1pYyBkaXN0aW5jdGlvbiB3b3JrcyBhdCBoaWdoZXIgbGV2ZWxzIGFzIHdlbGw6DQoNCiAg
ICBIZXJlJ3MgYSB5b3UtY2FuLWV2ZW4tdXNlLWEtc2VudGVuY2UtYXMtYW4tYWRqZWN0aXZlIGV4
YW1wbGUuDQoNCkhlcmUgdGhlIGV0aWMgZGVzY3JpcHRpb24gb2YgInlvdS1jYW4tZXZlbi11c2Ut
YS1zZW50ZW5jZS1hcy1hbi1hZGplY3RpdmUiDQppcyB0aGF0IG9mIGEgc2VudGVuY2UuICBUaGF0
J3Mgd2hhdCBpdCAqaXMqLiAgQnV0IGxhbmd1YWdlIGlzIGZsZXhpYmxlIGVub3VnaCB0aGF0IEkg
Y2FuIGNob29zZSAoZW1pY2FsbHkpIHRvIHNsb3QgdGhlIHdob2xlIHNlbnRlbmNlIGluIGFzIGEg
YWRqZWN0aXZlLiAgVGhhdCdzIHdoYXQgdGhlIHNlbnRlbmNlIGNhbiAqZG8qLiAgKE9yIHRoYXQn
cyB3aGF0IHlvdSBjYW4gZG8gd2l0aCBhIHNlbnRlbmNlLCBpZiB5b3UgcHJlZmVyLikgIFRoZSBm
YWN0IHRoYXQgeW91IGNhbiBkbyB0aGlzIHRha2VzIG5vdGhpbmcgYXdheSBmcm9tIHdoYXQgYSBz
ZW50ZW5jZSAqaXMqLCBiZWNhdXNlIHRoYXQncyBhdCBhIGxvd2VyIGFic3RyYWN0aW9uIGxldmVs
Lg0KDQpHb2luZyB1cCB0aGUgbGluZ3Vpc3RpYyBzdGFjayBldmVuIGZ1cnRoZXIsIGV2ZXJ5IHRp
bWUgeW91IHJlYWQgYSBtZXRhcGhvciBpbiBhIHBvZW0gKG9yIGluIGEgbmV3c3BhcGVyIGFydGlj
bGUgZm9yIHRoYXQgbWF0dGVyKSwgeW91IGFyZSB1c2luZyB5b3VyIGtub3dsZWRnZSBvZiBFbmds
aXNoIHRvIHJlYWxpemUgdGhhdCB0aGUgcG9ldCAob3IgcmVwb3J0ZXIpIGlzIHJlbHlpbmcgb24g
eW91LCB0aGUgR2VudGxlIFJlYWRlciwgdG8gcmVhbGl6ZSB0aGF0IHRoZSB3cml0ZXIgaXMgdXNp
bmcgYSBtZXRhcGhvci4gIEEgbWV0YXBob3IgaXMgd2hlbiB5b3Ugc2F5IG9uZSB0aGluZyBidXQg
bWVhbiBzb21ldGhpbmcgZWxzZSBieSBpdC4gIFRoZSB3b3JkcyBvZiBhIG1ldGFwaG9yIGFyZSB3
aGF0IGl0ICJpcyIsIGJ1dCB0aGUgbWVhbmluZyBpdCBwcm9kdWNlcyBpbiB5b3VyIGJyYWluIGlz
IHdoYXQgaXQgImRvZXMiLg0KDQpUaGUgZmFjdCB0aGF0IHRoZSAkbGltaXQgaXMgdXNpbmcgYSBw
YXJ0aWN1bGFyIHZhbHVlIHdpdGggYSBwYXJ0aWN1bGFyIHJlcHJlc2VudGF0aW9uIGluIG1lbW9y
eSAoIndoYXQgdGhlIG1hbnVhbCBzYXlzIEluZiBpcyIpIGhhcyBhbG1vc3Qgbm90aGluZyB0byBk
byB3aXRoIGhvdyB3ZSBjaG9vc2UgdG8gdXNlIGl0IG1ldGFwaG9yaWNhbGx5IGluIGFuIGludGVy
ZmFjZSwgZXhjZXB0IGluc29mYXIgYXMgaXQncyBleHRyZW1lbHkgY29udmVuaWVudCB0byBoYXZl
IGEgZmxvYXRpbmctcG9pbnQgdmFsdWUgdGhhdCBoYXBwZW5zIHRvIGNvbXBhcmUgYXMgbGFyZ2Vy
IHRoYW4gYW55IGludGVnZXIgeW91IHdhbnQgdG8gbmFtZS4NClRoYXQgY29tcGFyaXNvbiBpcyBh
IHRoaW5nIHRoYXQgSW5mIGNhbiAqZG8qLCB3aGljaCBpcyB0aGUgYWJzdHJhY3Rpb24gbGV2ZWwg
b24gd2hpY2ggdGhlICRsaW1pdCBBUEkgaXMgd29ya2luZy4gIFRoZSBmYWN0IHRoYXQgaXQgY2Fu
IGJlIHVzZWQgdGhpcyB3YXkgaXMgbm90IGF0IGFsbCBjb250cmFkaWN0b3J5IHRvIHRoZSBkZXNj
cmlwdGlvbiBvZiB3aGF0IHRoZSBJbmYgdmFsdWUgKmlzKi4NCg0KQnV0IHRoZSBkZXNjcmlwdGlv
biBvZiB3aGF0IGl0IGNhbiBkbyByZWFsbHkgYmVsb25ncyBvbiB0aGUgbWFueSBwbGFjZXMgd2hl
cmUgaXQgY2FuIGJlIHVzZWQgaW4gdmFyaW91cyBtZXRhcGhvcmljYWwgd2F5cywgbm90IGluIHRo
ZSBkZWZpbml0aW9uIG9mIHdoYXQgaXQgaXMuICBUaGUgZmxvYXRpbmctcG9pbnQgSW5mIHZhbHVl
IHJlYWxseSBoYXMgbm8gY2x1ZSB3aGF0c29ldmVyIGFib3V0IGFsbCB0aGUgd2F5cyBpdCBtaWdo
dCBiZSB1c2VkLiAgSXQgcHJvYmFibHkgZG9lc24ndCBldmVuIHJlYWxpemUgaXQgY2FuIGJlIGNv
bXBhcmVkIHdpdGggYW4gaW50ZWdlci4gIDopDQoNCkxhcnJ5DQoNCg0KLS0NCmJyYW5kb24gcyBh
bGxiZXJ5IGtmOG5oDQphbGxiZXJ5LmJAZ21haWwuY29tPG1haWx0bzphbGxiZXJ5LmJAZ21haWwu
Y29tPg0K

--_000_MWHPR02MB2751861C91CB0A39EE424DF5A0ED0MWHPR02MB2751namp_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws
IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJ
Zm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQph
OmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xv
cjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2aXNpdGVkLCBzcGFuLk1z
b0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgljb2xvcjpwdXJw
bGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLm1zb25vcm1hbDAsIGxpLm1zb25v
cm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1hbDsNCgltc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGluOw0KCW1zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBpbjsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZv
bnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCnNwYW4uRW1haWxTdHlsZTE4DQoJe21z
by1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5z
LXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxl
LXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0K
QHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdpbjoxLjBpbiAx
LjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24x
O30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRz
IHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtp
ZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1h
cCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRp
Zl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVlIiB2bGluaz0icHVy
cGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5J
IGd1ZXNzIEnigJltIGV4dHJhIGltcHJlc3NlZCB3aXRoIGVzb3RlcmljIGxpbmd1aXN0aWMgcmVm
ZXJlbmNlcy4mbmJzcDsgWW91ciByZXBsaWVzIHdlcmUgY29uY2lzZSBhbmQgSSB1bmRlcnN0b29k
IHRoZW0gcHJldHR5IHF1aWNrbHkuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPk1hcms8bzpwPjwv
bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48Yj5Gcm9tOjwvYj4gQnJhbmRvbiBBbGxiZXJ5ICZsdDthbGxiZXJ5LmJAZ21haWwuY29t
Jmd0OyA8YnI+DQo8Yj5TZW50OjwvYj4gRnJpZGF5LCBTZXB0ZW1iZXIgMjgsIDIwMTggMjE6NTE8
YnI+DQo8Yj5Ubzo8L2I+IE1hcmsgRGV2aW5lICZsdDttYXJrQG1hcmtkZXZpbmUuY29tJmd0Ozxi
cj4NCjxiPkNjOjwvYj4gbGFycnlAd2FsbC5vcmc7IFRvZGRBbmRNYXJnbyAmbHQ7VG9kZEFuZE1h
cmdvQHpvaG8uY29tJmd0OzsgcGVybDYtdXNlcnMgJmx0O3Blcmw2LXVzZXJzQHBlcmwub3JnJmd0
Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogQ291bGQgdGhpcyBiZSBhbnkgbW9yZSBvYnNjdXJl
PzxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48
L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSdtIG5vdCBzdXJlIGl0J3MgYW55IGJl
dHRlciB0aGFuIG15IGF0dGVtcHQ7IGl0IGhhcyB0aGF0ICZxdW90O3Blb3BsZSdzIGV5ZXMgd2ls
bCBnbGF6ZSBvdmVyJnF1b3Q7IGZlZWwgdG8gaXQuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBGcmksIFNlcCAyOCwgMjAxOCBhdCA5OjUwIFBNIE1hcmsg
RGV2aW5lICZsdDs8YSBocmVmPSJtYWlsdG86bWFya0BtYXJrZGV2aW5lLmNvbSI+bWFya0BtYXJr
ZGV2aW5lLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2tx
dW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtw
YWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDow
aW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+S3Vkb3MgdG8gdGhlIEJlbmV2b2xlbnQgRGljdGF0
b3IhPGJyPg0KPGJyPg0KSSdsbCBoYXZlIHRvIGxvb3Agb3ZlciB0aGlzIGEgZmV3IHRpbWVzLCBi
dXQgaXQncyBhIGJsYXN0Li4uPGJyPg0KPGJyPg0KTWFyazxicj4NCjxicj4NCi0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tPGJyPg0KRnJvbTogTGFycnkgV2FsbCAmbHQ7PGEgaHJlZj0ibWFpbHRv
OmxhcnJ5QHdhbGwub3JnIiB0YXJnZXQ9Il9ibGFuayI+bGFycnlAd2FsbC5vcmc8L2E+Jmd0Ow0K
PGJyPg0KU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgMjgsIDIwMTggMjE6Mjg8YnI+DQpUbzogVG9k
ZEFuZE1hcmdvICZsdDs8YSBocmVmPSJtYWlsdG86VG9kZEFuZE1hcmdvQHpvaG8uY29tIiB0YXJn
ZXQ9Il9ibGFuayI+VG9kZEFuZE1hcmdvQHpvaG8uY29tPC9hPiZndDs8YnI+DQpDYzogPGEgaHJl
Zj0ibWFpbHRvOnBlcmw2LXVzZXJzQHBlcmwub3JnIiB0YXJnZXQ9Il9ibGFuayI+cGVybDYtdXNl
cnNAcGVybC5vcmc8L2E+PGJyPg0KU3ViamVjdDogUmU6IENvdWxkIHRoaXMgYmUgYW55IG1vcmUg
b2JzY3VyZT88YnI+DQo8YnI+DQpPbiBGcmksIFNlcCAyOCwgMjAxOCBhdCAwMzo1MDozMVBNIC0w
NzAwLCBUb2RkQW5kTWFyZ28gd3JvdGU6PGJyPg0KOiBPbiA5LzI3LzE4IDEyOjQwIEFNLCBMYXVy
ZW50IFJvc2VuZmVsZCB2aWEgcGVybDYtdXNlcnMgd3JvdGU6PGJyPg0KOiAmZ3Q7ICZndDsgSSBh
bSBOT1QgYXNraW5nIGl0IHRvIGxpbWl0IG15IHJlcXVlc3QgdG8gSW5maW5pdHkuPGJyPg0KOiAm
Z3Q7PGJyPg0KOiAmZ3Q7WWVzIHlvdSBhcmUsIGltcGxpY2l0bHkuIElmIHlvdSBkb24ndCBwYXNz
IGFueSBwYXJhbWV0ZXIgZm9yPGJyPg0KOiAmZ3Q7JGxpbWl0LCAkbGltaXQgd2lsbCB0YWtlIHRo
ZSBkZWZhdWx0IHZhbHVlIHN1cHBsaWVkIGJ5IHRoZTxicj4NCjogJmd0O3NpZ25hdHVyZSwgaS5l
LiBJbmYuPGJyPg0KOiA8YnI+DQo6IFRydWUsIGJ1dCB0aGF0IGlzIG5vdCB3aGF0IHRoZSBtYW51
YWwgc2F5cyBJbmYgaXMuJm5ic3A7IExvd2VyIGluIHRoaXM8YnI+DQo6IHRocmVhZCBJIG1hZGUg
YSBzdWdnZXN0IGFkZGl0aW9uIHRvIHRoZSB3b3JkaW5nIG9mIEluZi4mbmJzcDsgV291bGQ8YnI+
DQo6IHlvdSBtaW5kIGxvb2tpbmcgYXQgaXQgYW5kIG9mZmVyaW5nIHlvdXIgY3JpdGljaXNtPzxi
cj4NCjxicj4NCldoeSBkbyB5b3Ugd2FudCB0byBidXJkZW4gdGhlIGRlZmluaXRpb24gb2Ygd2hh
dCBzb21ldGhpbmcgKmlzKiB3aXRoIGFsbCB0aGUgdGhpbmdzIHlvdSBjYW4gKmRvKiB3aXRoIGl0
PyZuYnNwOyBUaGUgZm9ybWVyIGlzIHRyYWN0YWJsZSwgd2hpbGUgdGhlIGxhdHRlciBpcyBub3Qu
PGJyPg0KPGJyPg0KSXQgc2VlbXMgdG8gbWUgdGhhdCB5b3UgYXJlIGFwcGx5aW5nIGEgZGlmZmVy
ZW50IHN0YW5kYXJkIHRvIGh1bWFuIGFuZCBjb21wdXRlciBsYW5ndWFnZXMgaGVyZS4mbmJzcDsg
SW4gYm90aCBodW1hbiBhbmQgY29tcHV0ZXIgbGFuZ3VhZ2VzLCB3aGF0IHNvbWV0aGluZyAqaXMq
IGhhcyBsaXR0bGUgdG8gZG8gd2l0aCB3aGF0IHNvbWV0aGluZyAqZG9lcyouJm5ic3A7IFRoZXNl
IGFyZSBkaWZmZXJlbnQgYWJzdHJhY3Rpb24gbGV2ZWxzLiZuYnNwOyBZb3UncmUgZmluZSB3aXRo
DQogdGhpcyBpbiBFbmdsaXNoLCBzbyB0cnlpbmcgdG8gZmxhdHRlbiBvdXQgYWxsIHRoZSBhYnN0
cmFjdGlvbiBsZXZlbHMgaXMgdGVuZGluZyB0byB3b3JrIGFnYWluc3QgeW91ciB1bmRlcnN0YW5k
aW5nIG9mIGNvbXB1dGVyIGxhbmd1YWdlcyBoZXJlLCBJIHN1c3BlY3QuPGJyPg0KPGJyPg0KVGhl
IHdvcmQgJnF1b3Q7a25pZmUmcXVvdDsgaXMgYSBub3VuLCBidXQgaWYgSSAmcXVvdDtrbmlmZSZx
dW90OyBzb21lb25lLCBJJ20gdXNpbmcgYSBub3VuICh3aGF0IHRoZSB3b3JkIGlzKSBhcyBhIHZl
cmIgKHdoYXQgdGhlIHdvcmQgY2FuIGRvKS4mbmJzcDsgSHVtYW4gbGFuZ3VhZ2UgaXMgZnVsbCBv
ZiB0aGVzZSBib3Jyb3dpbmdzIG9mIGFic3RyYWN0aW9uIGxldmVsLCBzbyBtdWNoIHNvIHRoYXQg
bGluZ3Vpc3RzIGV2ZW4gaGF2ZSBhIG5hbWUgZm9yIHRoZW0gaW4gZ2VuZXJhbCwgdGhlDQogJnF1
b3Q7ZW1pYyB2cyBldGljJnF1b3Q7IGRpc3RpbmN0aW9uLjxicj4NCkluIG5vbi1saW5ndWlzdGlj
IHRlcm1zLCAmcXVvdDt3aGF0IHlvdSBzYWlkIHZzIHdoYXQgeW91IHJlYWxseSBtZWFudCZxdW90
Oy48YnI+DQpXaGF0IGl0IGlzLCB2cyB3aGF0IGl0IGRvZXMuPGJyPg0KPGJyPg0KT3JpZ2luYWxs
eSB0aGVzZSB3ZXJlIGNvaW5lZCBvbiB0aGUgcGhvbmV0aWMgdnMgcGhvbmVtaWMgbGV2ZWwsIHNv
IHdlIHNlZSBsb3RzIG9mIHBsYWNlcyBpbiBFbmdsaXNoIHdoZXJlIHRoZSBwaG9uZXRpY3MgZG9u
J3QgbWF0Y2ggdXAgd2l0aCBob3cgdGhleSBhcmUgdXNlZDo8YnI+DQo8YnI+DQombmJzcDsgJm5i
c3A7IFRoZSBwcmluY2UgbWFkZSBzb21lIHByaW50cy48YnI+DQo8YnI+DQpIZXJlIHlvdSBwcm9u
b3VuY2UgdGhvc2Ugd29yZHMgaWRlbnRpY2FsbHkgb24gYSBwaG9uZXRpYyBsZXZlbCwgYnV0IG9u
IGEgaGlnaGVyIHBob25lbWljIGxldmVsIChvciBldmVuIG9uIGEgbW9ycGhvcGhvbmVtaWMgbGV2
ZWwpLCAmcXVvdDtwcmluY2UmcXVvdDsgaXMgb25seSBvbmUgbW9ycGhlbWUsIHdoaWxlICZxdW90
O3ByaW50cyZxdW90OyBpcyB0d28gbW9ycGhlbWVzICZxdW90O3ByaW50JnF1b3Q7IGFuZCB0aGUg
cGx1cmFsICZxdW90O3MmcXVvdDsuJm5ic3A7IEJ1dCB0aGlzIGV0aWMvZW1pYyBkaXN0aW5jdGlv
biB3b3Jrcw0KIGF0IGhpZ2hlciBsZXZlbHMgYXMgd2VsbDo8YnI+DQo8YnI+DQombmJzcDsgJm5i
c3A7IEhlcmUncyBhIHlvdS1jYW4tZXZlbi11c2UtYS1zZW50ZW5jZS1hcy1hbi1hZGplY3RpdmUg
ZXhhbXBsZS48YnI+DQo8YnI+DQpIZXJlIHRoZSBldGljIGRlc2NyaXB0aW9uIG9mICZxdW90O3lv
dS1jYW4tZXZlbi11c2UtYS1zZW50ZW5jZS1hcy1hbi1hZGplY3RpdmUmcXVvdDs8YnI+DQppcyB0
aGF0IG9mIGEgc2VudGVuY2UuJm5ic3A7IFRoYXQncyB3aGF0IGl0ICppcyouJm5ic3A7IEJ1dCBs
YW5ndWFnZSBpcyBmbGV4aWJsZSBlbm91Z2ggdGhhdCBJIGNhbiBjaG9vc2UgKGVtaWNhbGx5KSB0
byBzbG90IHRoZSB3aG9sZSBzZW50ZW5jZSBpbiBhcyBhIGFkamVjdGl2ZS4mbmJzcDsgVGhhdCdz
IHdoYXQgdGhlIHNlbnRlbmNlIGNhbiAqZG8qLiZuYnNwOyAoT3IgdGhhdCdzIHdoYXQgeW91IGNh
biBkbyB3aXRoIGEgc2VudGVuY2UsIGlmIHlvdSBwcmVmZXIuKSZuYnNwOyBUaGUgZmFjdA0KIHRo
YXQgeW91IGNhbiBkbyB0aGlzIHRha2VzIG5vdGhpbmcgYXdheSBmcm9tIHdoYXQgYSBzZW50ZW5j
ZSAqaXMqLCBiZWNhdXNlIHRoYXQncyBhdCBhIGxvd2VyIGFic3RyYWN0aW9uIGxldmVsLjxicj4N
Cjxicj4NCkdvaW5nIHVwIHRoZSBsaW5ndWlzdGljIHN0YWNrIGV2ZW4gZnVydGhlciwgZXZlcnkg
dGltZSB5b3UgcmVhZCBhIG1ldGFwaG9yIGluIGEgcG9lbSAob3IgaW4gYSBuZXdzcGFwZXIgYXJ0
aWNsZSBmb3IgdGhhdCBtYXR0ZXIpLCB5b3UgYXJlIHVzaW5nIHlvdXIga25vd2xlZGdlIG9mIEVu
Z2xpc2ggdG8gcmVhbGl6ZSB0aGF0IHRoZSBwb2V0IChvciByZXBvcnRlcikgaXMgcmVseWluZyBv
biB5b3UsIHRoZSBHZW50bGUgUmVhZGVyLCB0byByZWFsaXplDQogdGhhdCB0aGUgd3JpdGVyIGlz
IHVzaW5nIGEgbWV0YXBob3IuJm5ic3A7IEEgbWV0YXBob3IgaXMgd2hlbiB5b3Ugc2F5IG9uZSB0
aGluZyBidXQgbWVhbiBzb21ldGhpbmcgZWxzZSBieSBpdC4mbmJzcDsgVGhlIHdvcmRzIG9mIGEg
bWV0YXBob3IgYXJlIHdoYXQgaXQgJnF1b3Q7aXMmcXVvdDssIGJ1dCB0aGUgbWVhbmluZyBpdCBw
cm9kdWNlcyBpbiB5b3VyIGJyYWluIGlzIHdoYXQgaXQgJnF1b3Q7ZG9lcyZxdW90Oy48YnI+DQo8
YnI+DQpUaGUgZmFjdCB0aGF0IHRoZSAkbGltaXQgaXMgdXNpbmcgYSBwYXJ0aWN1bGFyIHZhbHVl
IHdpdGggYSBwYXJ0aWN1bGFyIHJlcHJlc2VudGF0aW9uIGluIG1lbW9yeSAoJnF1b3Q7d2hhdCB0
aGUgbWFudWFsIHNheXMgSW5mIGlzJnF1b3Q7KSBoYXMgYWxtb3N0IG5vdGhpbmcgdG8gZG8gd2l0
aCBob3cgd2UgY2hvb3NlIHRvIHVzZSBpdCBtZXRhcGhvcmljYWxseSBpbiBhbiBpbnRlcmZhY2Us
IGV4Y2VwdCBpbnNvZmFyIGFzIGl0J3MgZXh0cmVtZWx5IGNvbnZlbmllbnQNCiB0byBoYXZlIGEg
ZmxvYXRpbmctcG9pbnQgdmFsdWUgdGhhdCBoYXBwZW5zIHRvIGNvbXBhcmUgYXMgbGFyZ2VyIHRo
YW4gYW55IGludGVnZXIgeW91IHdhbnQgdG8gbmFtZS48YnI+DQpUaGF0IGNvbXBhcmlzb24gaXMg
YSB0aGluZyB0aGF0IEluZiBjYW4gKmRvKiwgd2hpY2ggaXMgdGhlIGFic3RyYWN0aW9uIGxldmVs
IG9uIHdoaWNoIHRoZSAkbGltaXQgQVBJIGlzIHdvcmtpbmcuJm5ic3A7IFRoZSBmYWN0IHRoYXQg
aXQgY2FuIGJlIHVzZWQgdGhpcyB3YXkgaXMgbm90IGF0IGFsbCBjb250cmFkaWN0b3J5IHRvIHRo
ZSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBJbmYgdmFsdWUgKmlzKi48YnI+DQo8YnI+DQpCdXQg
dGhlIGRlc2NyaXB0aW9uIG9mIHdoYXQgaXQgY2FuIGRvIHJlYWxseSBiZWxvbmdzIG9uIHRoZSBt
YW55IHBsYWNlcyB3aGVyZSBpdCBjYW4gYmUgdXNlZCBpbiB2YXJpb3VzIG1ldGFwaG9yaWNhbCB3
YXlzLCBub3QgaW4gdGhlIGRlZmluaXRpb24gb2Ygd2hhdCBpdCBpcy4mbmJzcDsgVGhlIGZsb2F0
aW5nLXBvaW50IEluZiB2YWx1ZSByZWFsbHkgaGFzIG5vIGNsdWUgd2hhdHNvZXZlciBhYm91dCBh
bGwgdGhlIHdheXMgaXQgbWlnaHQgYmUgdXNlZC4mbmJzcDsNCiBJdCBwcm9iYWJseSBkb2Vzbid0
IGV2ZW4gcmVhbGl6ZSBpdCBjYW4gYmUgY29tcGFyZWQgd2l0aCBhbiBpbnRlZ2VyLiZuYnNwOyA6
KTxicj4NCjxicj4NCkxhcnJ5PG86cD48L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiciBjbGVhcj0iYWxsIj4NCjxvOnA+PC9vOnA+PC9wPg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj4tLSA8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0K
PGRpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+YnJhbmRvbiBzIGFsbGJl
cnkga2Y4bmg8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxhIGhyZWY9Im1haWx0bzphbGxiZXJ5LmJAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+
YWxsYmVyeS5iQGdtYWlsLmNvbTwvYT48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_MWHPR02MB2751861C91CB0A39EE424DF5A0ED0MWHPR02MB2751namp_--
0
mark
9/29/2018 1:56:44 AM
On 9/28/18 6:28 PM, Larry Wall wrote:
> On Fri, Sep 28, 2018 at 03:50:31PM -0700, ToddAndMargo wrote:
> : On 9/27/18 12:40 AM, Laurent Rosenfeld via perl6-users wrote:
> : > > I am NOT asking it to limit my request to Infinity.
> : >
> : >Yes you are, implicitly. If you don't pass any parameter for
> : >$limit, $limit will take the default value supplied by the
> : >signature, i.e. Inf.
> :
> : True, but that is not what the manual says Inf is.  Lower in this
> : thread I made a suggest addition to the wording of Inf.  Would
> : you mind looking at it and offering your criticism?
>=20
> Why do you want to burden the definition of what something *is* with
> all the things you can *do* with it?  The former is tractable, while
> the latter is not.
>=20
> It seems to me that you are applying a different standard to human and
> computer languages here.  In both human and computer languages, what
> something *is* has little to do with what something *does*.  These are
> different abstraction levels.  You're fine with this in English, so
> trying to flatten out all the abstraction levels is tending to work
> against your understanding of computer languages here, I suspect.
>=20
> The word "knife" is a noun, but if I "knife" someone, I'm using a noun
> (what the word is) as a verb (what the word can do).  Human language is=

> full of these borrowings of abstraction level, so much so that linguist=
s
> even have a name for them in general, the "emic vs etic" distinction.
> In non-linguistic terms, "what you said vs what you really meant".
> What it is, vs what it does.
>=20
> Originally these were coined on the phonetic vs phonemic level, so we
> see lots of places in English where the phonetics don't match up with
> how they are used:
>=20
>      The prince made some prints.
>=20
> Here you pronounce those words identically on a phonetic level, but on
> a higher phonemic level (or even on a morphophonemic level), "prince" i=
s
> only one morpheme, while "prints" is two morphemes "print" and the plur=
al
> "s".  But this etic/emic distinction works at higher levels as well:
>=20
>      Here's a you-can-even-use-a-sentence-as-an-adjective example.
>=20
> Here the etic description of "you-can-even-use-a-sentence-as-an-adjecti=
ve"
> is that of a sentence.  That's what it *is*.  But language is flexible
> enough that I can choose (emically) to slot the whole sentence in as
> a adjective.  That's what the sentence can *do*.  (Or that's what you
> can do with a sentence, if you prefer.)  The fact that you can do this
> takes nothing away from what a sentence *is*, because that's at a lower=

> abstraction level.
>=20
> Going up the linguistic stack even further, every time you read a metap=
hor
> in a poem (or in a newspaper article for that matter), you are using
> your knowledge of English to realize that the poet (or reporter) is
> relying on you, the Gentle Reader, to realize that the writer is
> using a metaphor.  A metaphor is when you say one thing but mean
> something else by it.  The words of a metaphor are what it "is", but
> the meaning it produces in your brain is what it "does".
>=20
> The fact that the $limit is using a particular value with a particular
> representation in memory ("what the manual says Inf is") has almost
> nothing to do with how we choose to use it metaphorically in an interfa=
ce,
> except insofar as it's extremely convenient to have a floating-point va=
lue
> that happens to compare as larger than any integer you want to name.
> That comparison is a thing that Inf can *do*, which is the abstraction =
level on
> which the $limit API is working.  The fact that it can be used this way=

> is not at all contradictory to the description of what the Inf value *i=
s*.
>=20
> But the description of what it can do really belongs on the many places=

> where it can be used in various metaphorical ways, not in the definitio=
n
> of what it is.  The floating-point Inf value really has no clue whatsoe=
ver
> about all the ways it might be used.  It probably doesn't even realize
> it can be compared with an integer.  :)
>=20
> Larry
>=20


Hi Larry,

I really enjoyed the read.  Thank you!

Now in my personal life, I am really guilty of telling
bad jokes:

     Two guys walked into a bar.
     A third guy ducked.

This goes to your beautifully written example of the
writer expecting the reader to realize he is using a
metaphor.  It is up to the "victim" of my bad joke to
realize that "bar" has two meanings: a place
where alcoholic beverages are sold and a metal rod.

In programming and in other things mathematical, you
expect definitions to be literal.  You do not expect
metaphors.  The "literal" definition of Infinity is
what made me realize what was happening.  I will
explain more in a follow paragraphs.

Now I do adore the "words" method and use it frequently.
When I went to the manual to see if there was any other way
to use it, I was astonished at how they got from point A
to point B.  This is because I took the definition of Inf
in the manual literally.

Now look up the definition of Infinity, which is to
be taken literally

    https://en.wikipedia.org/wiki/Infinity
       Infinity (symbol: =E2=88=9E) is a concept describing something
       without any bound or larger than any natural number.

When I read the above, it dawned on me what they were trying
to accomplish by using "Inf" as an argument: Infinity literally
means "Without bound" or "no limit".  That made the light bulb go
off.  "That is what they are getting at and why they used it."

So the literal definition of Infinity was what made me understand
the "metaphor" that you speak of.  This is not a problem
with metaphors: this is poor wording.

The ONLY thing I do not like about Perl 6 is the routines
section of the documentation.  The documentation should be
written as a spoken language dictionary.  This is what the
word means and this is how it is used in context.

Now from your former creation, Perl 5, the "perldoc -f xxx"
gives a wonderful and concise definition of a function.
I hardly ever had to ask for help figuring them out.  In
your current wonderful clean up of Perl, EVEN when I know
how to use a method/sub, I can not understand the documentation.

I wrote you off line a while back asking you about a memory
issue with Perl 6 that a mentor over on the Perl 5 group
had pointed out.  This mentor took apart the one line definition of
"words" like this:

      >  multi method words(Str:D $input: $limit =3D Inf --> Positional)

      That's a multi-method using a definite string named $input
      as invocant, taking an optional,second argument named limit
      whose default value is 'no limit' ('infinity') and returning
      something which can be indexed.

      A 'definite string' means "a string and not a Str type object".

     'Multi-method' means one can have any number of method named
      words with different signatures, different number of arguments
      or different argument types, eg,

      multi method words(Str:U: -->Positional)
      [possibly, this may be grammatically wrong]

      and a words implementation is chosen and runtime based on
      the number and types of argument which were passed.

      In practice, this means that, in Perl 6, "function call
      overhead" is something to worry about which will make
      people who think every problem should be solved by employing
      the proper, unstructured sequence of 15 million steps very
      happy.

He doesn't even write in Perl 6 and he gave an explanation 20 times
more understandable than the Perl 6 docs.

He also took a swipe at Perl 6 (he is a Perl 5 die hard adn
thinks Perl6 is Java):

      It has been said that Perl 5 is supposed to make simple
      things simple and complicated ones possible. Judging from
      this short journey to the Perl 6 syntaxverse, this language
      seems to be based on the much more popular philosophy of
      making the simple things complicated and the complicated
      ones impossible.

He has a point, but only in the documentation.

I have programmed in Perl 5 and Perl 6 and I think Perl 6 is
far easier to write in that Perl 5, especially since I write
in Top Down and you wonderfully cleaned up the insane
subroutine headers.  Many things are far easier to use in
Perl 6 than 5.  And I really appreciate you starting everything
counting from zero too.  No guessing if things are $1 or $0.

I think maybe the issue with the routines documentation is that
whoever wrote it did not see it as a beginner would see it
and saw what he expected to see and not what was actually there.
This is why I am trying to poke in some perdocs style prose
into the documentation with RFE's.  I am trying to be part of the
solution instead of always gripping about the problem.

I do believe the confusion caused by the "words" documentation
would be clean up by inserting the following:

Proposed addition to "words":

      "$limits" is an optional argument.  When left empty, the
      value defaults to Inf (Infinity), meaning "without bound"
      or "no limit"

Proposed addition to "Inf":

      The value Inf (Infinity) represents "without bound" or
      "no limit" (meaning "all possible values") when used
      as an argument.

      Inf when used as an instance of Num and represents a
      value that's too large to represent in 64-bit double-precision
      floating point number

Oh my goodness gracious did you top yourself with Perl 6.  I love
it.  You are some kind of freaking genius that only occurs in humans=20
every 100 years of so.  You do not want newcomers running screaming
in terror when they first see the documentation: "make simple things
complicated and the complicated ones impossible."

Was his criticism of Perl6's memory management justified?

Yes, I do tend to run on.

Question for you, in keeping with your beautiful subroutine
headers, when an argument is optional, it would be a lot
clearer if you used the "?":

       $limit? =3D Inf --> Positional

Love the term "syntaxverse".

I hope you are still speaking to me,

Yours in confusion,
-T

     A duck walked into a bar.
     Said to the bartender "pour me a drink
     and put it on my bill".
0
ToddAndMargo
9/29/2018 5:52:51 AM
--000000000000007c520576fdbf1e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi

El s=C3=A1b., 29 sept. 2018 a las 7:53, ToddAndMargo (<ToddAndMargo@zoho.co=
m>)
escribi=C3=B3:

> Proposed addition to "words":
>
>       "$limits" is an optional argument.  When left empty, the
>       value defaults to Inf (Infinity), meaning "without bound"
>       or "no limit"
>
>
Inf means without bonds _always_. It says so in the wikipedia definition
you have used above.

Proposed addition to "Inf":
>
>       The value Inf (Infinity) represents "without bound" or
>       "no limit" (meaning "all possible values") when used
>       as an argument.
>

It means that when used as an argument, and when it's not used an argument,
as in, that is what it is. It means without bonds when assigned to a
variable, and when you see it sitting pretty in the middle of a long
sentence. It _means_ that.


>       Inf when used as an instance of Num and represents a
>       value that's too large to represent in 64-bit double-precision
> s      floating point number
>

Not "when". Inf _is_ a Num. And it does not represent that. You can
represent any number with double or simple precision, only, well, you'll
lose some precision.


> Oh my goodness gracious did you top yourself with Perl 6.  I love
> it.  You are some kind of freaking genius that only occurs in humans
> every 100 years of so.  You do not want newcomers running screaming
> in terror when they first see the documentation: "make simple things
> complicated and the complicated ones impossible."
>

As in inserting a symbol like Infinity into a language so that when you
want to use it as a loop bookend it never ends, no matter what happens? Or
using Inf exactly by its meaning, "larger than anything". How do you do
that in other languages? You do all kind of things. You can have a special
constant, use 0 or -1 as limit (or some other impossible number which you
have to interpret ad hoc), or simply have different signatures for with or
without limits. How's that any simpler than using Infinity meaning no
limits, and always meaning no limits?
Perl 6 makes writing programs meaningful and expressive. That's achieved
through clever language design, such as this simple thing.

Cheers

JJ

--000000000000007c520576fdbf1e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi<br><div><br><div class=3D"gmail_quote"><div dir=3D"ltr"=
>El s=C3=A1b., 29 sept. 2018 a las 7:53, ToddAndMargo (&lt;<a href=3D"mailt=
o:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt;) escribi=C3=B3:<br><=
/div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex">Proposed addition to &quot;words&quot;:=
<br>
<br>
=C2=A0 =C2=A0 =C2=A0 &quot;$limits&quot; is an optional argument.=C2=A0 Whe=
n left empty, the<br>
=C2=A0 =C2=A0 =C2=A0 value defaults to Inf (Infinity), meaning &quot;withou=
t bound&quot;<br>
=C2=A0 =C2=A0 =C2=A0 or &quot;no limit&quot;<br>
<br></blockquote><div><br></div><div>Inf means without bonds _always_. It s=
ays so in the wikipedia definition you have used above.<br></div><div> <br>=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex">
Proposed addition to &quot;Inf&quot;:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 The value Inf (Infinity) represents &quot;without boun=
d&quot; or<br>
=C2=A0 =C2=A0 =C2=A0 &quot;no limit&quot; (meaning &quot;all possible value=
s&quot;) when used<br>
=C2=A0 =C2=A0 =C2=A0 as an argument.<br></blockquote><div>=C2=A0</div><div>=
It means that when used as an argument, and when it&#39;s not used an argum=
ent, as in, that is what it is. It means without bonds when assigned to a v=
ariable, and when you see it sitting pretty in the middle of a long sentenc=
e. It _means_ that.</div><div><br></div><blockquote class=3D"gmail_quote" s=
tyle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
=C2=A0 =C2=A0 =C2=A0 Inf when used as an instance of Num and represents a<b=
r>
=C2=A0 =C2=A0 =C2=A0 value that&#39;s too large to represent in 64-bit doub=
le-precision<br>
s=C2=A0 =C2=A0 =C2=A0 floating point number<br></blockquote><div><br></div>=
<div>Not &quot;when&quot;. Inf _is_ a Num. And it does not represent that. =
You can represent any number with double or simple precision, only, well, y=
ou&#39;ll lose some precision. <br></div><div> <br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
<br>
Oh my goodness gracious did you top yourself with Perl 6.=C2=A0 I love<br>
it.=C2=A0 You are some kind of freaking genius that only occurs in humans <=
br>
every 100 years of so.=C2=A0 You do not want newcomers running screaming<br=
>
in terror when they first see the documentation: &quot;make simple things<b=
r>
complicated and the complicated ones impossible.&quot;<br></blockquote><div=
><br></div><div>As in inserting a symbol like Infinity into a language so t=
hat when you want to use it as a loop bookend it never ends, no matter what=
 happens? Or using Inf exactly by its meaning, &quot;larger than anything&q=
uot;. How do you do that in other languages? You do all kind of things. You=
 can have a special constant, use 0 or -1 as limit (or some other impossibl=
e number which you have to interpret ad hoc), or simply have different sign=
atures for with or without limits. How&#39;s that any simpler than using In=
finity meaning no limits, and always meaning no limits?</div><div>Perl 6 ma=
kes writing programs meaningful and expressive. That&#39;s achieved through=
 clever language design, such as this simple thing.</div><div><br></div><di=
v>Cheers</div><div><br></div><div>JJ</div></div><br></div></div>

--000000000000007c520576fdbf1e--
0
jjmerelo
9/29/2018 7:44:31 AM
On 9/29/18 12:44 AM, JJ Merelo wrote:
>=20
>      =C2=A0 =C2=A0 =C2=A0 Inf when used as an instance of Num and repre=
sents a
>      =C2=A0 =C2=A0 =C2=A0 value that's too large to represent in 64-bit=
 double-precision
>     s=C2=A0 =C2=A0 =C2=A0 floating point number
>=20
>=20
> Not "when". Inf _is_ a Num. And it does not represent that. You can=20
> represent any number with double or simple precision, only, well, you'l=
l=20
> lose some precision.


Very well stated.

In the above, I was quoting the manual for Inf.  I do not even think it
should be in there.  I will post an RFE in a few minutes
0
ToddAndMargo
9/30/2018 2:14:55 AM
--000000000000e980da057712463b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

the words method is extracting items from an input string. The $limit
parameter tells the words method to extract not more than $limit items from
the string. Setting the default to Inf only tells the  method to extract as
many items as it can from the input (i.e. to process the whole string),
without any limit. But since the input string cannot be infinite, the
number of items will also not be infinite. So, the Inf default for $limit
just states that there is no limit, but you'll never get an infinity of
items from a non-infinite string.



Le ven. 28 sept. 2018 =C3=A0 19:31, ToddAndMargo <ToddAndMargo@zoho.com> a
=C3=A9crit :

> On 9/26/18 11:34 PM, JJ Merelo wrote:
> >
> >
> > El mi=C3=A9., 26 sept. 2018 a las 23:31, Laurent Rosenfeld via perl6-us=
ers
> > (<perl6-users@perl.org <mailto:perl6-users@perl.org>>) escribi=C3=B3:
> >
> >     You can set a limit to the number of items (words) you want to
> >     retrieve: you will get only the first $limit words.
> >
> >     If you don't supply any limit, Inf can be thought as the default
> >     value for the number of items, i.e. there is no limit and the
> >     routine will return as many words as it can from the source input.
> >
> >
> > And this is one of the things I love Perl 6 for, its consistency.
> > Infinity is literally no limit. Using it meaning "no limit" is genius.
> > Not "0 in this case means no limit" or "-1 means no limit" or "this
> > constant meaning unavailable" or whatever. Infinity has no limit, we us=
e
> > them as a parameter to imply that argument has no limit.
> >
> > Cheers
> >
> > JJ
>
>
> Hi JJ,
>
> The more I learn about Perl 6, the more I prefer it over Perl 5.
>
> To your list, I might add, everything starts counting from zero
> (Perl5 m/ starts at $1).  So no guessing!
>
> My problem with the default set to Inf is that Inf means a number
> too large for the numbers of bits allocated to the variable to
> handle.
>
> RTFM: https://docs.perl6.org/type/Num#index-entry-Inf_%28definition%29-In=
f
>       The value Inf is an instance of Num and represents value that's
>       too large to represent in 64-bit double-precision floating
>       point number (roughly, above 1.7976931348623158e308 for
>       positive Inf and below -1.7976931348623157e308 for negative Inf)
>       as well as returned from certain operations as defined by the
>       IEEE 754-2008 standard.
>
> So how am I suppose to enter that as a value?  What it really means
> is "all of them".  "Inf" is just a poor way of stating "all words"
> as the default.  "A tremendously large numbers of words" is just
> a weird way of saying "all of them".
>
> And yes, I am blanking on how to best clean that up. We have no
> value (that I know of) for "all".
>
> -T
>

--000000000000e980da057712463b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>the words method is extracting items from an input st=
ring. The $limit parameter tells the words method to extract not more than =
$limit items from the string. Setting the default to Inf only tells the=C2=
=A0 method to extract as many items as it can from the input (i.e. to proce=
ss the whole string), without any limit. But since the input string cannot =
be infinite, the number of items will also not be infinite. So, the Inf def=
ault for $limit just states that there is no limit, but you&#39;ll never ge=
t an infinity of items from a non-infinite string.</div><div><br></div><div=
><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr">Le=C2=A0ve=
n. 28 sept. 2018 =C3=A0=C2=A019:31, ToddAndMargo &lt;<a href=3D"mailto:Todd=
AndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; a =C3=A9crit=C2=A0:<br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left=
:1px #ccc solid;padding-left:1ex">On 9/26/18 11:34 PM, JJ Merelo wrote:<br>
&gt; <br>
&gt; <br>
&gt; El mi=C3=A9., 26 sept. 2018 a las 23:31, Laurent Rosenfeld via perl6-u=
sers <br>
&gt; (&lt;<a href=3D"mailto:perl6-users@perl.org" target=3D"_blank">perl6-u=
sers@perl.org</a> &lt;mailto:<a href=3D"mailto:perl6-users@perl.org" target=
=3D"_blank">perl6-users@perl.org</a>&gt;&gt;) escribi=C3=B3:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0You can set a limit to the number of items (words) =
you want to<br>
&gt;=C2=A0 =C2=A0 =C2=A0retrieve: you will get only the first $limit words.=
<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0If you don&#39;t supply any limit, Inf can be thoug=
ht as the default<br>
&gt;=C2=A0 =C2=A0 =C2=A0value for the number of items, i.e. there is no lim=
it and the<br>
&gt;=C2=A0 =C2=A0 =C2=A0routine will return as many words as it can from th=
e source input.<br>
&gt; <br>
&gt; <br>
&gt; And this is one of the things I love Perl 6 for, its consistency. <br>
&gt; Infinity is literally no limit. Using it meaning &quot;no limit&quot; =
is genius. <br>
&gt; Not &quot;0 in this case means no limit&quot; or &quot;-1 means no lim=
it&quot; or &quot;this <br>
&gt; constant meaning unavailable&quot; or whatever. Infinity has no limit,=
 we use <br>
&gt; them as a parameter to imply that argument has no limit.<br>
&gt; <br>
&gt; Cheers<br>
&gt; <br>
&gt; JJ<br>
<br>
<br>
Hi JJ,<br>
<br>
The more I learn about Perl 6, the more I prefer it over Perl 5.<br>
<br>
To your list, I might add, everything starts counting from zero<br>
(Perl5 m/ starts at $1).=C2=A0 So no guessing!<br>
<br>
My problem with the default set to Inf is that Inf means a number<br>
too large for the numbers of bits allocated to the variable to<br>
handle.<br>
<br>
RTFM: <a href=3D"https://docs.perl6.org/type/Num#index-entry-Inf_%28definit=
ion%29-Inf" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/typ=
e/Num#index-entry-Inf_%28definition%29-Inf</a><br>
=C2=A0 =C2=A0 =C2=A0 The value Inf is an instance of Num and represents val=
ue that&#39;s<br>
=C2=A0 =C2=A0 =C2=A0 too large to represent in 64-bit double-precision floa=
ting<br>
=C2=A0 =C2=A0 =C2=A0 point number (roughly, above 1.7976931348623158e308 fo=
r<br>
=C2=A0 =C2=A0 =C2=A0 positive Inf and below -1.7976931348623157e308 for neg=
ative Inf)<br>
=C2=A0 =C2=A0 =C2=A0 as well as returned from certain operations as defined=
 by the<br>
=C2=A0 =C2=A0 =C2=A0 IEEE 754-2008 standard.<br>
<br>
So how am I suppose to enter that as a value?=C2=A0 What it really means<br=
>
is &quot;all of them&quot;.=C2=A0 &quot;Inf&quot; is just a poor way of sta=
ting &quot;all words&quot;<br>
as the default.=C2=A0 &quot;A tremendously large numbers of words&quot; is =
just<br>
a weird way of saying &quot;all of them&quot;.<br>
<br>
And yes, I am blanking on how to best clean that up. We have no<br>
value (that I know of) for &quot;all&quot;.<br>
<br>
-T<br>
</blockquote></div>

--000000000000e980da057712463b--
0
perl6
9/30/2018 8:14:15 AM
--000000000000ae9c8205771262f0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users (<
perl6-users@perl.org>) escribi=C3=B3:

> the words method is extracting items from an input string. The $limit
> parameter tells the words method to extract not more than $limit items fr=
om
> the string. Setting the default to Inf only tells the  method to extract =
as
> many items as it can from the input (i.e. to process the whole string),
> without any limit. But since the input string cannot be infinite, the
> number of items will also not be infinite. So, the Inf default for $limit
> just states that there is no limit, but you'll never get an infinity of
> items from a non-infinite string.
>

There's no Inf default now in the definition (after latest code changes),
and it's been changed in the documentation accordingly. It's left in the
examples, however (since that "default" is in the code too, and is tested
in roast), but that can be eliminated if it leads to confusion.

Cheers

JJ

--000000000000ae9c8205771262f0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">El dom=
.., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users (&lt;<a hre=
f=3D"mailto:perl6-users@perl.org">perl6-users@perl.org</a>&gt;) escribi=C3=
=B3:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;=
border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div>the word=
s method is extracting items from an input string. The $limit parameter tel=
ls the words method to extract not more than $limit items from the string. =
Setting the default to Inf only tells the=C2=A0 method to extract as many i=
tems as it can from the input (i.e. to process the whole string), without a=
ny limit. But since the input string cannot be infinite, the number of item=
s will also not be infinite. So, the Inf default for $limit just states tha=
t there is no limit, but you&#39;ll never get an infinity of items from a n=
on-infinite string.</div></div></blockquote></div><div><br></div><div style=
=3D"text-align:left">There&#39;s no Inf default now in the definition (afte=
r latest code changes), and it&#39;s been changed in the documentation acco=
rdingly. It&#39;s left in the examples, however (since that &quot;default&q=
uot; is in the code too, and is tested in roast), but that can be eliminate=
d if it leads to confusion.<br></div><div style=3D"text-align:left"><br></d=
iv><div style=3D"text-align:left">Cheers</div><div style=3D"text-align:left=
"><br></div><div style=3D"text-align:left">JJ<br></div></div>

--000000000000ae9c8205771262f0--
0
jjmerelo
9/30/2018 8:21:57 AM
On 9/30/18 1:21 AM, JJ Merelo wrote:
>=20
>=20
> El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users=20
> (<perl6-users@perl.org <mailto:perl6-users@perl.org>>) escribi=C3=B3:
>=20
>     the words method is extracting items from an input string. The
>     $limit parameter tells the words method to extract not more than
>     $limit items from the string. Setting the default to Inf only tells=

>     the=C2=A0 method to extract as many items as it can from the input =
(i.e.
>     to process the whole string), without any limit. But since the inpu=
t
>     string cannot be infinite, the number of items will also not be
>     infinite. So, the Inf default for $limit just states that there is
>     no limit, but you'll never get an infinity of items from a
>     non-infinite string.
>=20
>=20
> There's no Inf default now in the definition (after latest code=20
> changes), and it's been changed in the documentation accordingly. It's =

> left in the examples, however (since that "default" is in the code too,=
=20
> and is tested in roast), but that can be eliminated if it leads to=20
> confusion.
>=20
> Cheers
>=20
> JJ


Hi JJ,

I am confused.  I thought that

      $limit =3D Inf
used in

      multi method words(Str:D $input: $limit =3D Inf --> Seq)
meant that the default was "Inf"

Also, it is not stated that $limit is optional.  I would
propose adding a "?" to the end of $limit:

      multi method words(Str:D $input : $limit? =3D Inf --> Seq)

This would keep with the subroutine rules for the declarations
of optional variables.

-T
0
ToddAndMargo
9/30/2018 9:17:30 AM
On 9/26/18 7:27 PM, Brandon Allbery wrote:
> And again: this is only because you know perl 5. People are not born=20
> knowing perl 5; to someone who doesn't know it, perldoc raises the same=
=20
> kinds of questions you have been asking, and the answers have to be=20
> found in perlsyn or perldata, etc. Which is exactly what you have been =

> complaining about with respect to perl 6 doing the same kind of thing.

Geez Louise Bradley!  The above is a really bad argument!

"perldocs -f xxx" is a bazillion times easier to understand
than Perl 6's manual, regardless if you know Perl 5 or not.

And, by the way, I wonder just how may are coming to Perl 6
without ANY Perl 5 experience?

In every instance I can look up, perldocs puts Perl 6's
documentation to shame.

A simple comparison: which one leaves you knowing how to use
the function and which one leaves you wondering "What the h***???"

$ perldoc -f join
     join EXPR,LIST
             Joins the separate strings of LIST into a single string with=

             fields separated by the value of EXPR, and returns that new
             string. Example:

                my $rec =3D join(':',=20
$login,$passwd,$uid,$gid,$gcos,$home,$shell);

             Beware that unlike "split", "join" doesn't take a pattern
             as its first argument. Compare "split".



https://docs.perl6.org/routine/join#(List)_routine_join

     (List) routine join

     Defined as:

     sub    join($separator, *@list --> Str:D)
     method join(List:D: $separator --> Str:D)

     Treats the elements of the list as strings, interleaves
     them with $separator and concatenates everything into a
     single string.

     Example:

     join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=BB

     Note that the method form does not flatten sublists:

     say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=BB=



Oh and what the &*@% is a "*@list"?  And why does the sub have one
and the method does not?  They are suppose to be identical.

-T
0
ToddAndMargo
9/30/2018 9:31:32 AM
--000000000000612df505771371d5
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

There is no need for a question mark after the $limit parameter, since
supplying a default value for a parameter is sufficient to make this
parameter optional.



Le dim. 30 sept. 2018 =C3=A0 11:17, ToddAndMargo <ToddAndMargo@zoho.com> a
=C3=A9crit :

> On 9/30/18 1:21 AM, JJ Merelo wrote:
> >
> >
> > El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users
> > (<perl6-users@perl.org <mailto:perl6-users@perl.org>>) escribi=C3=B3:
> >
> >     the words method is extracting items from an input string. The
> >     $limit parameter tells the words method to extract not more than
> >     $limit items from the string. Setting the default to Inf only tells
> >     the  method to extract as many items as it can from the input (i.e.
> >     to process the whole string), without any limit. But since the inpu=
t
> >     string cannot be infinite, the number of items will also not be
> >     infinite. So, the Inf default for $limit just states that there is
> >     no limit, but you'll never get an infinity of items from a
> >     non-infinite string.
> >
> >
> > There's no Inf default now in the definition (after latest code
> > changes), and it's been changed in the documentation accordingly. It's
> > left in the examples, however (since that "default" is in the code too,
> > and is tested in roast), but that can be eliminated if it leads to
> > confusion.
> >
> > Cheers
> >
> > JJ
>
>
> Hi JJ,
>
> I am confused.  I thought that
>
>       $limit =3D Inf
> used in
>
>       multi method words(Str:D $input: $limit =3D Inf --> Seq)
> meant that the default was "Inf"
>
> Also, it is not stated that $limit is optional.  I would
> propose adding a "?" to the end of $limit:
>
>       multi method words(Str:D $input : $limit? =3D Inf --> Seq)
>
> This would keep with the subroutine rules for the declarations
> of optional variables.
>
> -T
>

--000000000000612df505771371d5
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>There is no need for a question mark after the $limit=
 parameter, since supplying a default value for a parameter is sufficient t=
o make this parameter optional.</div><div><br></div><div><br></div></div><b=
r><div class=3D"gmail_quote"><div dir=3D"ltr">Le=C2=A0dim. 30 sept. 2018 =
=C3=A0=C2=A011:17, ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com=
">ToddAndMargo@zoho.com</a>&gt; a =C3=A9crit=C2=A0:<br></div><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex">On 9/30/18 1:21 AM, JJ Merelo wrote:<br>
&gt; <br>
&gt; <br>
&gt; El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users =
<br>
&gt; (&lt;<a href=3D"mailto:perl6-users@perl.org" target=3D"_blank">perl6-u=
sers@perl.org</a> &lt;mailto:<a href=3D"mailto:perl6-users@perl.org" target=
=3D"_blank">perl6-users@perl.org</a>&gt;&gt;) escribi=C3=B3:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0the words method is extracting items from an input =
string. The<br>
&gt;=C2=A0 =C2=A0 =C2=A0$limit parameter tells the words method to extract =
not more than<br>
&gt;=C2=A0 =C2=A0 =C2=A0$limit items from the string. Setting the default t=
o Inf only tells<br>
&gt;=C2=A0 =C2=A0 =C2=A0the=C2=A0 method to extract as many items as it can=
 from the input (i.e.<br>
&gt;=C2=A0 =C2=A0 =C2=A0to process the whole string), without any limit. Bu=
t since the input<br>
&gt;=C2=A0 =C2=A0 =C2=A0string cannot be infinite, the number of items will=
 also not be<br>
&gt;=C2=A0 =C2=A0 =C2=A0infinite. So, the Inf default for $limit just state=
s that there is<br>
&gt;=C2=A0 =C2=A0 =C2=A0no limit, but you&#39;ll never get an infinity of i=
tems from a<br>
&gt;=C2=A0 =C2=A0 =C2=A0non-infinite string.<br>
&gt; <br>
&gt; <br>
&gt; There&#39;s no Inf default now in the definition (after latest code <b=
r>
&gt; changes), and it&#39;s been changed in the documentation accordingly. =
It&#39;s <br>
&gt; left in the examples, however (since that &quot;default&quot; is in th=
e code too, <br>
&gt; and is tested in roast), but that can be eliminated if it leads to <br=
>
&gt; confusion.<br>
&gt; <br>
&gt; Cheers<br>
&gt; <br>
&gt; JJ<br>
<br>
<br>
Hi JJ,<br>
<br>
I am confused.=C2=A0 I thought that<br>
<br>
=C2=A0 =C2=A0 =C2=A0 $limit =3D Inf<br>
used in<br>
<br>
=C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt;=
 Seq)<br>
meant that the default was &quot;Inf&quot;<br>
<br>
Also, it is not stated that $limit is optional.=C2=A0 I would<br>
propose adding a &quot;?&quot; to the end of $limit:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input : $limit? =3D Inf --&g=
t; Seq)<br>
<br>
This would keep with the subroutine rules for the declarations<br>
of optional variables.<br>
<br>
-T<br>
</blockquote></div>

--000000000000612df505771371d5--
0
perl6
9/30/2018 9:37:43 AM
On 9/30/18 2:37 AM, Laurent Rosenfeld via perl6-users wrote:
> There is no need for a question mark after the $limit parameter, since 
> supplying a default value for a parameter is sufficient to make this 
> parameter optional.


In this instance "yes", it is redundant.

But, other instances where a default value is not provided
and the variable is optional, "no".

And "yes" in all instances as it makes it more readable,
EVEN IF it has some redundancy in it. If one hint doesn't
get you, the other will.

Also, the "?" makes it clear that the variable is
optional.  Supplying it with a default value does not
always sink it that it is optional, unless you have had
to go through the pain of decrypting it once before

The goal is to make the documentation easy to use.  It
should not require a herculean effort to understand.
The manual need to be written for the common user to
understand, not just developer level and very advanced
users.  They don't need the manual anyway.
0
ToddAndMargo
9/30/2018 9:45:34 AM
--000000000000772d73057713b191
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

The star in the signature states that @list is a slurpy (or variadic)
parameter, i.e. that @list will slurp up all remaining arguments provided
to the subroutine.

See: https://docs.perl6.org/type/Signature#index-entry-slurpy_argument



Le dim. 30 sept. 2018 =C3=A0 11:32, ToddAndMargo <ToddAndMargo@zoho.com> a
=C3=A9crit :

> On 9/26/18 7:27 PM, Brandon Allbery wrote:
> > And again: this is only because you know perl 5. People are not born
> > knowing perl 5; to someone who doesn't know it, perldoc raises the same
> > kinds of questions you have been asking, and the answers have to be
> > found in perlsyn or perldata, etc. Which is exactly what you have been
> > complaining about with respect to perl 6 doing the same kind of thing.
>
> Geez Louise Bradley!  The above is a really bad argument!
>
> "perldocs -f xxx" is a bazillion times easier to understand
> than Perl 6's manual, regardless if you know Perl 5 or not.
>
> And, by the way, I wonder just how may are coming to Perl 6
> without ANY Perl 5 experience?
>
> In every instance I can look up, perldocs puts Perl 6's
> documentation to shame.
>
> A simple comparison: which one leaves you knowing how to use
> the function and which one leaves you wondering "What the h***???"
>
> $ perldoc -f join
>      join EXPR,LIST
>              Joins the separate strings of LIST into a single string with
>              fields separated by the value of EXPR, and returns that new
>              string. Example:
>
>                 my $rec =3D join(':',
> $login,$passwd,$uid,$gid,$gcos,$home,$shell);
>
>              Beware that unlike "split", "join" doesn't take a pattern
>              as its first argument. Compare "split".
>
>
>
> https://docs.perl6.org/routine/join#(List)_routine_join
>
>      (List) routine join
>
>      Defined as:
>
>      sub    join($separator, *@list --> Str:D)
>      method join(List:D: $separator --> Str:D)
>
>      Treats the elements of the list as strings, interleaves
>      them with $separator and concatenates everything into a
>      single string.
>
>      Example:
>
>      join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=BB
>
>      Note that the method form does not flatten sublists:
>
>      say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=
=BB
>
>
> Oh and what the &*@% is a "*@list"?  And why does the sub have one
> and the method does not?  They are suppose to be identical.
>
> -T
>

--000000000000772d73057713b191
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div>The star in the signature states tha=
t @list is a slurpy (or variadic) parameter, i.e. that @list will slurp up =
all remaining arguments provided to the subroutine.</div><div><br></div><di=
v>See: <a href=3D"https://docs.perl6.org/type/Signature#index-entry-slurpy_=
argument">https://docs.perl6.org/type/Signature#index-entry-slurpy_argument=
</a></div><div><br></div><div><br></div></div></div><br><div class=3D"gmail=
_quote"><div dir=3D"ltr">Le=C2=A0dim. 30 sept. 2018 =C3=A0=C2=A011:32, Todd=
AndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com=
</a>&gt; a =C3=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/2=
6/18 7:27 PM, Brandon Allbery wrote:<br>
&gt; And again: this is only because you know perl 5. People are not born <=
br>
&gt; knowing perl 5; to someone who doesn&#39;t know it, perldoc raises the=
 same <br>
&gt; kinds of questions you have been asking, and the answers have to be <b=
r>
&gt; found in perlsyn or perldata, etc. Which is exactly what you have been=
 <br>
&gt; complaining about with respect to perl 6 doing the same kind of thing.=
<br>
<br>
Geez Louise Bradley!=C2=A0 The above is a really bad argument!<br>
<br>
&quot;perldocs -f xxx&quot; is a bazillion times easier to understand<br>
than Perl 6&#39;s manual, regardless if you know Perl 5 or not.<br>
<br>
And, by the way, I wonder just how may are coming to Perl 6<br>
without ANY Perl 5 experience?<br>
<br>
In every instance I can look up, perldocs puts Perl 6&#39;s<br>
documentation to shame.<br>
<br>
A simple comparison: which one leaves you knowing how to use<br>
the function and which one leaves you wondering &quot;What the h***???&quot=
;<br>
<br>
$ perldoc -f join<br>
=C2=A0 =C2=A0 =C2=A0join EXPR,LIST<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Joins the separate strings =
of LIST into a single string with<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fields separated by the val=
ue of EXPR, and returns that new<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0string. Example:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 my $rec =3D join(&#=
39;:&#39;, <br>
$login,$passwd,$uid,$gid,$gcos,$home,$shell);<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Beware that unlike &quot;sp=
lit&quot;, &quot;join&quot; doesn&#39;t take a pattern<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0as its first argument. Comp=
are &quot;split&quot;.<br>
<br>
<br>
<br>
<a href=3D"https://docs.perl6.org/routine/join#(List)_routine_join" rel=3D"=
noreferrer" target=3D"_blank">https://docs.perl6.org/routine/join#(List)_ro=
utine_join</a><br>
<br>
=C2=A0 =C2=A0 =C2=A0(List) routine join<br>
<br>
=C2=A0 =C2=A0 =C2=A0Defined as:<br>
<br>
=C2=A0 =C2=A0 =C2=A0sub=C2=A0 =C2=A0 join($separator, *@list --&gt; Str:D)<=
br>
=C2=A0 =C2=A0 =C2=A0method join(List:D: $separator --&gt; Str:D)<br>
<br>
=C2=A0 =C2=A0 =C2=A0Treats the elements of the list as strings, interleaves=
<br>
=C2=A0 =C2=A0 =C2=A0them with $separator and concatenates everything into a=
<br>
=C2=A0 =C2=A0 =C2=A0single string.<br>
<br>
=C2=A0 =C2=A0 =C2=A0Example:<br>
<br>
=C2=A0 =C2=A0 =C2=A0join &#39;, &#39;, &lt;a b c&gt;;=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0# RESULT: =C2=ABa, b, c=C2=BB<br>
<br>
=C2=A0 =C2=A0 =C2=A0Note that the method form does not flatten sublists:<br=
>
<br>
=C2=A0 =C2=A0 =C2=A0say (1, &lt;a b c&gt;).join(&#39;|&#39;);=C2=A0 =C2=A0 =
=C2=A0# OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=BB<br>
<br>
<br>
Oh and what the &amp;*@% is a &quot;*@list&quot;?=C2=A0 And why does the su=
b have one<br>
and the method does not?=C2=A0 They are suppose to be identical.<br>
<br>
-T<br>
</blockquote></div>

--000000000000772d73057713b191--
0
perl6
9/30/2018 9:55:37 AM
--000000000000eb6d45057713c3f7
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi

El dom., 30 sept. 2018 a las 11:18, ToddAndMargo (<ToddAndMargo@zoho.com>)
escribi=C3=B3:

> On 9/30/18 1:21 AM, JJ Merelo wrote:
> >
> >
> > El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users
> > (<perl6-users@perl.org <mailto:perl6-users@perl.org>>) escribi=C3=B3:
> >
> >     the words method is extracting items from an input string. The
> >     $limit parameter tells the words method to extract not more than
> >     $limit items from the string. Setting the default to Inf only tells
> >     the  method to extract as many items as it can from the input (i.e.
> >     to process the whole string), without any limit. But since the inpu=
t
> >     string cannot be infinite, the number of items will also not be
> >     infinite. So, the Inf default for $limit just states that there is
> >     no limit, but you'll never get an infinity of items from a
> >     non-infinite string.
> >
> >
> > There's no Inf default now in the definition (after latest code
> > changes), and it's been changed in the documentation accordingly. It's
> > left in the examples, however (since that "default" is in the code too,
> > and is tested in roast), but that can be eliminated if it leads to
> > confusion.
> >
> > Cheers
> >
> > JJ
>
>
> Hi JJ,
>
> I am confused.  I thought that
>
>       $limit =3D Inf
> used in
>
>       multi method words(Str:D $input: $limit =3D Inf --> Seq)
> meant that the default was "Inf"
>

It's not now: https://docs.perl6.org/routine/words#class_Str

>
> Also, it is not stated that $limit is optional.  I would
> propose adding a "?" to the end of $limit:
>
>       multi method words(Str:D $input : $limit? =3D Inf --> Seq)
>

That's not how it's defined. There are two forms in the method, which
effectively could be resumed to a single one
    method words(Str:D: $limit?)

But that's simply not how it's defined in the source. The fact that there
are two multis indicate quite clearly that $limit is optional, but if
that's not enough, the examples should clarify that.

Cheers

--=20
JJ

--000000000000eb6d45057713c3f7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi<br><div><br><div class=3D"gmail_quote"=
><div dir=3D"ltr">El dom., 30 sept. 2018 a las 11:18, ToddAndMargo (&lt;<a =
href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt;) escrib=
i=C3=B3:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 9/30=
/18 1:21 AM, JJ Merelo wrote:<br>
&gt; <br>
&gt; <br>
&gt; El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via perl6-users =
<br>
&gt; (&lt;<a href=3D"mailto:perl6-users@perl.org" target=3D"_blank">perl6-u=
sers@perl.org</a> &lt;mailto:<a href=3D"mailto:perl6-users@perl.org" target=
=3D"_blank">perl6-users@perl.org</a>&gt;&gt;) escribi=C3=B3:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0the words method is extracting items from an input =
string. The<br>
&gt;=C2=A0 =C2=A0 =C2=A0$limit parameter tells the words method to extract =
not more than<br>
&gt;=C2=A0 =C2=A0 =C2=A0$limit items from the string. Setting the default t=
o Inf only tells<br>
&gt;=C2=A0 =C2=A0 =C2=A0the=C2=A0 method to extract as many items as it can=
 from the input (i.e.<br>
&gt;=C2=A0 =C2=A0 =C2=A0to process the whole string), without any limit. Bu=
t since the input<br>
&gt;=C2=A0 =C2=A0 =C2=A0string cannot be infinite, the number of items will=
 also not be<br>
&gt;=C2=A0 =C2=A0 =C2=A0infinite. So, the Inf default for $limit just state=
s that there is<br>
&gt;=C2=A0 =C2=A0 =C2=A0no limit, but you&#39;ll never get an infinity of i=
tems from a<br>
&gt;=C2=A0 =C2=A0 =C2=A0non-infinite string.<br>
&gt; <br>
&gt; <br>
&gt; There&#39;s no Inf default now in the definition (after latest code <b=
r>
&gt; changes), and it&#39;s been changed in the documentation accordingly. =
It&#39;s <br>
&gt; left in the examples, however (since that &quot;default&quot; is in th=
e code too, <br>
&gt; and is tested in roast), but that can be eliminated if it leads to <br=
>
&gt; confusion.<br>
&gt; <br>
&gt; Cheers<br>
&gt; <br>
&gt; JJ<br>
<br>
<br>
Hi JJ,<br>
<br>
I am confused.=C2=A0 I thought that<br>
<br>
=C2=A0 =C2=A0 =C2=A0 $limit =3D Inf<br>
used in<br>
<br>
=C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D Inf --&gt;=
 Seq)<br>
meant that the default was &quot;Inf&quot;<br></blockquote><div><br></div><=
div>It&#39;s not now: <a href=3D"https://docs.perl6.org/routine/words#class=
_Str">https://docs.perl6.org/routine/words#class_Str</a> <br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">
<br>
Also, it is not stated that $limit is optional.=C2=A0 I would<br>
propose adding a &quot;?&quot; to the end of $limit:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input : $limit? =3D Inf --&g=
t; Seq)<br></blockquote><div><br></div><div>That&#39;s not how it&#39;s def=
ined. There are two forms in the method, which effectively could be resumed=
 to a single one <br></div><div>=C2=A0=C2=A0=C2=A0 method words(Str:D: $lim=
it?)</div><div><br></div>But that&#39;s simply not how it&#39;s defined in =
the source. The fact that there are two multis indicate quite clearly that =
$limit is optional, but if that&#39;s not enough, the examples should clari=
fy that.</div><div class=3D"gmail_quote"><br></div><div class=3D"gmail_quot=
e">Cheers<br clear=3D"all"></div><br>-- <br><div dir=3D"ltr" class=3D"gmail=
_signature">JJ</div></div></div></div>

--000000000000eb6d45057713c3f7--
0
jjmerelo
9/30/2018 10:00:44 AM
On 2018-09-30 13:01:32 +0330, ToddAndMargo wrote:
> On 9/26/18 7:27 PM, Brandon Allbery wrote:
>> And again: this is only because you know perl 5. People are not born
>> knowing perl 5; to someone who doesn't know it, perldoc raises the
>> same kinds of questions you have been asking, and the answers have
>> to be found in perlsyn or perldata, etc. Which is exactly what you
>> have been complaining about with respect to perl 6 doing the same
>> kind of thing.
>
> Geez Louise Bradley!  The above is a really bad argument!
>
> "perldocs -f xxx" is a bazillion times easier to understand
> than Perl 6's manual, regardless if you know Perl 5 or not.
>
> And, by the way, I wonder just how may are coming to Perl 6
> without ANY Perl 5 experience?
>
> In every instance I can look up, perldocs puts Perl 6's
> documentation to shame.
>
> A simple comparison: which one leaves you knowing how to use
> the function and which one leaves you wondering "What the h***???"
>
> $ perldoc -f join
>     join EXPR,LIST
>             Joins the separate strings of LIST into a single string with
>             fields separated by the value of EXPR, and returns that new
>             string. Example:
>
>                my $rec =3D join(':',
> $login,$passwd,$uid,$gid,$gcos,$home,$shell);
>
>             Beware that unlike "split", "join" doesn't take a pattern
>             as its first argument. Compare "split".
>
>
>
> https://docs.perl6.org/routine/join#(List)_routine_join
>
>     (List) routine join
>
>     Defined as:
>
>     sub    join($separator, *@list --> Str:D)
>     method join(List:D: $separator --> Str:D)
>
>     Treats the elements of the list as strings, interleaves
>     them with $separator and concatenates everything into a
>     single string.
>
>     Example:
>
>     join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=BB
>
>     Note that the method form does not flatten sublists:
>
>     say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=BB
>

I actually found the Perl 6 description more readable. And the example
is better too.

But I think the example should show the slurpy part too. (join ', ', 1, 2, =
3)

>
> Oh and what the &*@% is a "*@list"?

It seems you want to read a signature without learning how signatures
work.
https://docs.perl6.org/type/Signature#Slurpy_%28A.K.A._variadic%29_paramete=
rs

> And why does the sub have one
> and the method does not?  They are suppose to be identical.
>
> -T

Because one is a method and the other is a sub. Look at "List:D:".
And they are not identical, the last example showed the difference.

People have suggested you to try a book and you have disagreed. But to
me it looks like you are reading different chapters of a book different
people are writing for you on the mailing list.
0
siavash
9/30/2018 10:02:04 AM
--000000000000b37a4f057713cef0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El dom., 30 sept. 2018 a las 11:32, ToddAndMargo (<ToddAndMargo@zoho.com>)
escribi=C3=B3:

> On 9/26/18 7:27 PM, Brandon Allbery wrote:
> > And again: this is only because you know perl 5. People are not born
> > knowing perl 5; to someone who doesn't know it, perldoc raises the same
> > kinds of questions you have been asking, and the answers have to be
> > found in perlsyn or perldata, etc. Which is exactly what you have been
> > complaining about with respect to perl 6 doing the same kind of thing.
>
> Geez Louise Bradley!  The above is a really bad argument!
>
> "perldocs -f xxx" is a bazillion times easier to understand
> than Perl 6's manual, regardless if you know Perl 5 or not.
>

Hey, thanks. The (admittedly not so many) people working (on a purely
volunteer basis, mostly) on the Perl 6 documentation are grateful for this
general appreciation of our work.


>
> And, by the way, I wonder just how may are coming to Perl 6
> without ANY Perl 5 experience?
>

Around 30%, according to the survey. That's not written in stone, however,
and might (and will) change in the future.


> In every instance I can look up, perldocs puts Perl 6's
> documentation to shame.
>
> Again, thanks. We'll stand here, quietly, waiting for the tar and feather=
s
to fall on us.

Cheers

JJ

--000000000000b37a4f057713cef0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">El dom=
.., 30 sept. 2018 a las 11:32, ToddAndMargo (&lt;<a href=3D"mailto:ToddAndMa=
rgo@zoho.com">ToddAndMargo@zoho.com</a>&gt;) escribi=C3=B3:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">On 9/26/18 7:27 PM, Brandon Allbery wrote:<br>
&gt; And again: this is only because you know perl 5. People are not born <=
br>
&gt; knowing perl 5; to someone who doesn&#39;t know it, perldoc raises the=
 same <br>
&gt; kinds of questions you have been asking, and the answers have to be <b=
r>
&gt; found in perlsyn or perldata, etc. Which is exactly what you have been=
 <br>
&gt; complaining about with respect to perl 6 doing the same kind of thing.=
<br>
<br>
Geez Louise Bradley!=C2=A0 The above is a really bad argument!<br>
<br>
&quot;perldocs -f xxx&quot; is a bazillion times easier to understand<br>
than Perl 6&#39;s manual, regardless if you know Perl 5 or not.<br></blockq=
uote><div><br></div><div>Hey, thanks. The (admittedly not so many) people w=
orking (on a purely volunteer basis, mostly) on the Perl 6 documentation ar=
e grateful for this general appreciation of our work.</div><div><br></div>=
=C2=A0<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex">
And, by the way, I wonder just how may are coming to Perl 6<br>
without ANY Perl 5 experience?<br></blockquote><div><br></div><div>Around 3=
0%, according to the survey. That&#39;s not written in stone, however, and =
might (and will) change in the future.</div><div><br></div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex">
<br>
In every instance I can look up, perldocs puts Perl 6&#39;s<br>
documentation to shame.<br>
<br></blockquote><div>Again, thanks. We&#39;ll stand here, quietly, waiting=
 for the tar and feathers to fall on us.</div><div><br></div><div>Cheers</d=
iv><div><br></div><div>JJ</div></div><br></div>

--000000000000b37a4f057713cef0--
0
jjmerelo
9/30/2018 10:03:45 AM
--0000000000009f221b057713ff4a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El dom., 30 sept. 2018 a las 12:04, Siavash (<siavash.askari.nasr@gmail.com=
>)
escribi=C3=B3:

>
> On 2018-09-30 13:01:32 +0330, ToddAndMargo wrote:
> > On 9/26/18 7:27 PM, Brandon Allbery wrote:
> >> And again: this is only because you know perl 5. People are not born
> >> knowing perl 5; to someone who doesn't know it, perldoc raises the
> >> same kinds of questions you have been asking, and the answers have
> >> to be found in perlsyn or perldata, etc. Which is exactly what you
> >> have been complaining about with respect to perl 6 doing the same
> >> kind of thing.
> >
> > Geez Louise Bradley!  The above is a really bad argument!
> >
> > "perldocs -f xxx" is a bazillion times easier to understand
> > than Perl 6's manual, regardless if you know Perl 5 or not.
> >
> > And, by the way, I wonder just how may are coming to Perl 6
> > without ANY Perl 5 experience?
> >
> > In every instance I can look up, perldocs puts Perl 6's
> > documentation to shame.
> >
> > A simple comparison: which one leaves you knowing how to use
> > the function and which one leaves you wondering "What the h***???"
> >
> > $ perldoc -f join
> >     join EXPR,LIST
> >             Joins the separate strings of LIST into a single string wit=
h
> >             fields separated by the value of EXPR, and returns that new
> >             string. Example:
> >
> >                my $rec =3D join(':',
> > $login,$passwd,$uid,$gid,$gcos,$home,$shell);
> >
> >             Beware that unlike "split", "join" doesn't take a pattern
> >             as its first argument. Compare "split".
> >
> >
> >
> > https://docs.perl6.org/routine/join#(List)_routine_join
> >
> >     (List) routine join
> >
> >     Defined as:
> >
> >     sub    join($separator, *@list --> Str:D)
> >     method join(List:D: $separator --> Str:D)
> >
> >     Treats the elements of the list as strings, interleaves
> >     them with $separator and concatenates everything into a
> >     single string.
> >
> >     Example:
> >
> >     join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=BB
> >
> >     Note that the method form does not flatten sublists:
> >
> >     say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=
=BB
> >
>
> I actually found the Perl 6 description more readable. And the example
> is better too.
>
> But I think the example should show the slurpy part too. (join ', ', 1, 2=
,
> 3)
>

It does now https://github.com/perl6/doc/issues/2344 Thanks for the
suggestion.

Cheers

JJ

--0000000000009f221b057713ff4a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div d=
ir=3D"ltr">El dom., 30 sept. 2018 a las 12:04, Siavash (&lt;<a href=3D"mail=
to:siavash.askari.nasr@gmail.com">siavash.askari.nasr@gmail.com</a>&gt;) es=
cribi=C3=B3:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px=
 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br=
>
On 2018-09-30 13:01:32 +0330, ToddAndMargo wrote:<br>
&gt; On 9/26/18 7:27 PM, Brandon Allbery wrote:<br>
&gt;&gt; And again: this is only because you know perl 5. People are not bo=
rn<br>
&gt;&gt; knowing perl 5; to someone who doesn&#39;t know it, perldoc raises=
 the<br>
&gt;&gt; same kinds of questions you have been asking, and the answers have=
<br>
&gt;&gt; to be found in perlsyn or perldata, etc. Which is exactly what you=
<br>
&gt;&gt; have been complaining about with respect to perl 6 doing the same<=
br>
&gt;&gt; kind of thing.<br>
&gt;<br>
&gt; Geez Louise Bradley!=C2=A0 The above is a really bad argument!<br>
&gt;<br>
&gt; &quot;perldocs -f xxx&quot; is a bazillion times easier to understand<=
br>
&gt; than Perl 6&#39;s manual, regardless if you know Perl 5 or not.<br>
&gt;<br>
&gt; And, by the way, I wonder just how may are coming to Perl 6<br>
&gt; without ANY Perl 5 experience?<br>
&gt;<br>
&gt; In every instance I can look up, perldocs puts Perl 6&#39;s<br>
&gt; documentation to shame.<br>
&gt;<br>
&gt; A simple comparison: which one leaves you knowing how to use<br>
&gt; the function and which one leaves you wondering &quot;What the h***???=
&quot;<br>
&gt;<br>
&gt; $ perldoc -f join<br>
&gt;=C2=A0 =C2=A0 =C2=A0join EXPR,LIST<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Joins the separate stri=
ngs of LIST into a single string with<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fields separated by the=
 value of EXPR, and returns that new<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0string. Example:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 my $rec =3D joi=
n(&#39;:&#39;,<br>
&gt; $login,$passwd,$uid,$gid,$gcos,$home,$shell);<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Beware that unlike &quo=
t;split&quot;, &quot;join&quot; doesn&#39;t take a pattern<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0as its first argument. =
Compare &quot;split&quot;.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; <a href=3D"https://docs.perl6.org/routine/join#(List)_routine_join" re=
l=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/routine/join#(Lis=
t)_routine_join</a><br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0(List) routine join<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Defined as:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0sub=C2=A0 =C2=A0 join($separator, *@list --&gt; Str=
:D)<br>
&gt;=C2=A0 =C2=A0 =C2=A0method join(List:D: $separator --&gt; Str:D)<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Treats the elements of the list as strings, interle=
aves<br>
&gt;=C2=A0 =C2=A0 =C2=A0them with $separator and concatenates everything in=
to a<br>
&gt;=C2=A0 =C2=A0 =C2=A0single string.<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Example:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0join &#39;, &#39;, &lt;a b c&gt;;=C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# RESULT: =C2=ABa, b, c=C2=BB<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0Note that the method form does not flatten sublists=
:<br>
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0say (1, &lt;a b c&gt;).join(&#39;|&#39;);=C2=A0 =C2=
=A0 =C2=A0# OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=BB<br>
&gt;<br>
<br>
I actually found the Perl 6 description more readable. And the example<br>
is better too.<br>
<br>
But I think the example should show the slurpy part too. (join &#39;, &#39;=
, 1, 2, 3)<br></blockquote><div><br></div><div>It does now <a href=3D"https=
://github.com/perl6/doc/issues/2344">https://github.com/perl6/doc/issues/23=
44</a> Thanks for the suggestion.</div></div></div><div dir=3D"ltr"><br></d=
iv><div>Cheers</div><div><br></div><div>JJ<br></div></div>

--0000000000009f221b057713ff4a--
0
jjmerelo
9/30/2018 10:17:25 AM
On 9/26/18 6:12 PM, Peter Scott wrote:
> On 9/26/2018 3:21 PM, ToddAndMargo wrote:
>>
>> I use words all the time.=C2=A0 I never would have figured it out
>> from
>>
>> =C2=A0=C2=A0=C2=A0 multi method words(Str:D $input: $limit =3D Inf -->=
 Positional)
>>
>> Do your really think any beginner would be able to figure out
>> "words" from the above?
>=20
> If the beginner had studied the metasyntax of function prototypes,=20
> probably.=C2=A0 But this is not necessarily for beginners, this is refe=
rence=20
> documentation, which has to serve a purpose unencumbered by pedagogical=
=20
> weight.=C2=A0 This documentation is not a tutorial, it is autogenerated=
=2E=C2=A0 You=20
> are relatively unique in insisting that the reference documentation als=
o=20
> function as a beginners' roadmap, so you are going to experience this=20
> kind of frustration repeatedly.
>=20
> I taught Perl 5 trainings for many years in addition to authoring books=
,=20
> videos, and courses on same, and the difference between what is best fo=
r=20
> learning and what is best for reference is stark.=C2=A0 I heard about p=
eople=20
> who claim to have taught themselves Perl 5 from the Camel instead of th=
e=20
> Llama, but they are few and far between, and in any case, most of the=20
> Camel contains exposition, if dense. You're looking just at something=20
> corresponding to the list of functions.=C2=A0 I honestly think you'll g=
et=20
> further forcing yourself to plow through the new Learning Perl 6 book=20
> than these random access forays into reference specs.=C2=A0 brian just =
spent=20
> two years of intense effort arranging it to fit precisely the graduated=
=20
> path your questions tell me you need.

Hi Peter,

First off, courses, beginners books, and the likes, do not work for me.
What does work is just code what my customers and I need. And a lot of=20
what do is to Read The Freakin' Manual (RTFM, now-a-days called "just
Google it").

The Perl 6 routine's documentation is written as a refresher to
those how already know what they are doing, and as such is
pretty useless to common users seeking wisdom.  Why even post
it to the general public?  The design specifications and
not posted (except if you Google them).

*** I am not after the manual to teach me how to use Perl. ***

In several instances, I have know how to use functions and looked
backwards in the manual to see if there were any other bits
I could use.  I COULD NOT REVERSE ENGINEER the manual
EVEN THOUGH I completely understood how to use the function.
This is bad.  Really bad.

This is what I am after:

The manual should be written like a spoken language dictionary.

      1) it should tell you what that word is

      2) show you how to use it in context.

And I might point out that a dictionary is not a HOW TO
book to teach you the language.

     3) when calling other term to explain things, it should
        pick the easiest term available. It should not pick
        any nasty, advanced terms.  (Unless the writer enjoys
        confusing the reader and bragging about how smart
        he is.  And he is a jerk.)

     4) It can reference advanced topic or follow on topics
        but keep them out of the topic.  Dictionaries do this
        all the time. "See such and such"

     5) leave the common user knowing how to use the topic,
        not wonder if the writer writes manuals for the
        IRS in his spare time.



Perl 5's perldoc did a wonderful job of this.

I have been posting RFE about this as they come up.
So I am trying to be part of the solution instead
of constantly gripping about the problem.

-T
0
ToddAndMargo
9/30/2018 10:23:58 AM
On 9/30/18 2:55 AM, Laurent Rosenfeld via perl6-users wrote:
> The star in the signature states that @list is a slurpy (or variadic) 
> parameter, i.e. that @list will slurp up all remaining arguments 
> provided to the subroutine.
> 
> See: https://docs.perl6.org/type/Signature#index-entry-slurpy_argument


Cool.  Thank you.

Why does the definition of the sub not have one?  If
it is a mistake, I will post it.
0
ToddAndMargo
9/30/2018 10:25:22 AM
On 9/30/18 3:03 AM, JJ Merelo wrote:
>=20
>=20
> El dom., 30 sept. 2018 a las 11:32, ToddAndMargo (<ToddAndMargo@zoho.co=
m=20
> <mailto:ToddAndMargo@zoho.com>>) escribi=C3=B3:
>=20
>     On 9/26/18 7:27 PM, Brandon Allbery wrote:
>      > And again: this is only because you know perl 5. People are not =
born
>      > knowing perl 5; to someone who doesn't know it, perldoc raises
>     the same
>      > kinds of questions you have been asking, and the answers have to=
 be
>      > found in perlsyn or perldata, etc. Which is exactly what you hav=
e
>     been
>      > complaining about with respect to perl 6 doing the same kind of
>     thing.
>=20
>     Geez Louise Bradley!=C2=A0 The above is a really bad argument!
>=20
>     "perldocs -f xxx" is a bazillion times easier to understand
>     than Perl 6's manual, regardless if you know Perl 5 or not.
>=20
>=20
> Hey, thanks. The (admittedly not so many) people working (on a purely=20
> volunteer basis, mostly) on the Perl 6 documentation are grateful for=20
> this general appreciation of our work.
>=20
>     And, by the way, I wonder just how may are coming to Perl 6
>     without ANY Perl 5 experience?
>=20
>=20
> Around 30%, according to the survey. That's not written in stone,=20
> however, and might (and will) change in the future.
>=20
>=20
>     In every instance I can look up, perldocs puts Perl 6's
>     documentation to shame.
>=20
> Again, thanks. We'll stand here, quietly, waiting for the tar and=20
> feathers to fall on us.
>=20
> Cheers
>=20
> JJ
>=20

Hi JJ,

It is all part of Kaisen (constant improvement).  I am
volunteering my very scarce time too.

My apologies if my blunt description of the problem is
offensive in any way.

And yes, perldocs had a lot of year of Kaisen behind it.

-T

Do you prefer chicken feather or pigeon feathers?

:-)
0
ToddAndMargo
9/30/2018 10:31:04 AM
On 9/30/18 3:02 AM, Siavash wrote:
> People have suggested you to try a book and you have disagreed.

Square peg, round hole
0
ToddAndMargo
9/30/2018 10:31:57 AM
On 9/30/18 3:17 AM, JJ Merelo wrote:
> 
>     But I think the example should show the slurpy part too. (join ', ',
>     1, 2, 3)
> 
> 
> It does now https://github.com/perl6/doc/issues/2344 Thanks for the 
> suggestion.
> 
> Cheers
> 

How about showing it both as a sub and as a method?
0
ToddAndMargo
9/30/2018 10:33:22 AM
On 9/30/18 3:17 AM, JJ Merelo wrote:
> 
> I actually found the Perl 6 description more readable. And the example
> is better too.

I was showing the different philosophies.  And I do agree,
the Perl 6 was one of the better descriptions.  Perl 6
usually gets it butt kicked by perldocs.
0
ToddAndMargo
9/30/2018 10:34:46 AM
On 9/30/18 3:02 AM, Siavash wrote:
> Because one is a method and the other is a sub. Look at "List:D:".
> And they are not identical, the last example showed the difference.

The sub sure seems like it slurps to me.

$ p6 'join( ", ", 1, 2, 3).say;'
1, 2, 3

What am I missing?
0
ToddAndMargo
9/30/2018 10:48:53 AM
--0000000000004cc8010577147047
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El dom., 30 sept. 2018 a las 12:31, ToddAndMargo (<ToddAndMargo@zoho.com>)
escribi=C3=B3:

> On 9/30/18 3:03 AM, JJ Merelo wrote:
> >
> >
> > El dom., 30 sept. 2018 a las 11:32, ToddAndMargo (<ToddAndMargo@zoho.co=
m
> > <mailto:ToddAndMargo@zoho.com>>) escribi=C3=B3:
> >
> >     On 9/26/18 7:27 PM, Brandon Allbery wrote:
> >      > And again: this is only because you know perl 5. People are not
> born
> >      > knowing perl 5; to someone who doesn't know it, perldoc raises
> >     the same
> >      > kinds of questions you have been asking, and the answers have to
> be
> >      > found in perlsyn or perldata, etc. Which is exactly what you hav=
e
> >     been
> >      > complaining about with respect to perl 6 doing the same kind of
> >     thing.
> >
> >     Geez Louise Bradley!  The above is a really bad argument!
> >
> >     "perldocs -f xxx" is a bazillion times easier to understand
> >     than Perl 6's manual, regardless if you know Perl 5 or not.
> >
> >
> > Hey, thanks. The (admittedly not so many) people working (on a purely
> > volunteer basis, mostly) on the Perl 6 documentation are grateful for
> > this general appreciation of our work.
> >
> >     And, by the way, I wonder just how may are coming to Perl 6
> >     without ANY Perl 5 experience?
> >
> >
> > Around 30%, according to the survey. That's not written in stone,
> > however, and might (and will) change in the future.
> >
> >
> >     In every instance I can look up, perldocs puts Perl 6's
> >     documentation to shame.
> >
> > Again, thanks. We'll stand here, quietly, waiting for the tar and
> > feathers to fall on us.
> >
> > Cheers
> >
> > JJ
> >
>
> Hi JJ,
>
> It is all part of Kaisen (constant improvement).  I am
> volunteering my very scarce time too.
>
> My apologies if my blunt description of the problem is
> offensive in any way.
>

It's not so much  the bluntness as the iteration.

>
> And yes, perldocs had a lot of year of Kaisen behind it.
>

Perl 6 docs were started, almost single-handedly, by Moritz in 2009. No
serious work (as in, more people helping, Moritz's work was quite serious
and professional) was done until circa 2012, and more serious work after
2014, leading up to the Christmas release. Approximately 200 persons have
worked on it, with ~ 40 persons putting in work (as in doing commits and
pull requests) every month. Kaizen needs time, but more than that need
human resources. That type of comparisons is unfair, but most of all it
does not really help to make improvements unless particular areas of
improvement are identified.


> -T
>
> Do you prefer chicken feather or pigeon feathers?
>
> :-)
>

Nothing less that good Oklahoma tar and turkey feathers will do.

JJ

--0000000000004cc8010577147047
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">El dom=
.., 30 sept. 2018 a las 12:31, ToddAndMargo (&lt;<a href=3D"mailto:ToddAndMa=
rgo@zoho.com">ToddAndMargo@zoho.com</a>&gt;) escribi=C3=B3:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">On 9/30/18 3:03 AM, JJ Merelo wrote:<br>
&gt; <br>
&gt; <br>
&gt; El dom., 30 sept. 2018 a las 11:32, ToddAndMargo (&lt;<a href=3D"mailt=
o:ToddAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">=
ToddAndMargo@zoho.com</a>&gt;&gt;) escribi=C3=B3:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0On 9/26/18 7:27 PM, Brandon Allbery wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; And again: this is only because you know perl=
 5. People are not born<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; knowing perl 5; to someone who doesn&#39;t kn=
ow it, perldoc raises<br>
&gt;=C2=A0 =C2=A0 =C2=A0the same<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; kinds of questions you have been asking, and =
the answers have to be<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; found in perlsyn or perldata, etc. Which is e=
xactly what you have<br>
&gt;=C2=A0 =C2=A0 =C2=A0been<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; complaining about with respect to perl 6 doin=
g the same kind of<br>
&gt;=C2=A0 =C2=A0 =C2=A0thing.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Geez Louise Bradley!=C2=A0 The above is a really ba=
d argument!<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0&quot;perldocs -f xxx&quot; is a bazillion times ea=
sier to understand<br>
&gt;=C2=A0 =C2=A0 =C2=A0than Perl 6&#39;s manual, regardless if you know Pe=
rl 5 or not.<br>
&gt; <br>
&gt; <br>
&gt; Hey, thanks. The (admittedly not so many) people working (on a purely =
<br>
&gt; volunteer basis, mostly) on the Perl 6 documentation are grateful for =
<br>
&gt; this general appreciation of our work.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0And, by the way, I wonder just how may are coming t=
o Perl 6<br>
&gt;=C2=A0 =C2=A0 =C2=A0without ANY Perl 5 experience?<br>
&gt; <br>
&gt; <br>
&gt; Around 30%, according to the survey. That&#39;s not written in stone, =
<br>
&gt; however, and might (and will) change in the future.<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0In every instance I can look up, perldocs puts Perl=
 6&#39;s<br>
&gt;=C2=A0 =C2=A0 =C2=A0documentation to shame.<br>
&gt; <br>
&gt; Again, thanks. We&#39;ll stand here, quietly, waiting for the tar and =
<br>
&gt; feathers to fall on us.<br>
&gt; <br>
&gt; Cheers<br>
&gt; <br>
&gt; JJ<br>
&gt; <br>
<br>
Hi JJ,<br>
<br>
It is all part of Kaisen (constant improvement).=C2=A0 I am<br>
volunteering my very scarce time too.<br>
<br>
My apologies if my blunt description of the problem is<br>
offensive in any way.<br></blockquote><div><br></div><div>It&#39;s not so m=
uch=C2=A0 the bluntness as the iteration.<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-lef=
t:1ex">
<br>
And yes, perldocs had a lot of year of Kaisen behind it.<br></blockquote><d=
iv><br></div><div>Perl 6 docs were started, almost single-handedly, by Mori=
tz in 2009. No serious work (as in, more people helping, Moritz&#39;s work =
was quite serious and professional) was done until circa 2012, and more ser=
ious work after 2014, leading up to the Christmas release. Approximately 20=
0 persons have worked on it, with ~ 40 persons putting in work (as in doing=
 commits and pull requests) every month. Kaizen needs time, but more than t=
hat need human resources. That type of comparisons is unfair, but most of a=
ll it does not really help to make improvements unless particular areas of =
improvement are identified.<br></div><div><br></div><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex">
<br>
-T<br>
<br>
Do you prefer chicken feather or pigeon feathers?<br>
<br>
:-)<br>
</blockquote></div><div><br></div><div>Nothing less that good Oklahoma tar =
and turkey feathers will do.</div><div><br></div><div>JJ<br></div></div>

--0000000000004cc8010577147047--
0
jjmerelo
9/30/2018 10:48:56 AM
--0000000000008d81230577147225
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El dom., 30 sept. 2018 a las 12:35, ToddAndMargo (<ToddAndMargo@zoho.com>)
escribi=C3=B3:

> On 9/30/18 3:17 AM, JJ Merelo wrote:
> >
> > I actually found the Perl 6 description more readable. And the example
> > is better too.
>
> I was showing the different philosophies.  And I do agree,
> the Perl 6 was one of the better descriptions.  Perl 6
> usually gets it butt kicked by perldocs.
>

See what I mean by iteration?

Cheers


--=20
JJ

--0000000000008d81230577147225
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">El dom=
.., 30 sept. 2018 a las 12:35, ToddAndMargo (&lt;<a href=3D"mailto:ToddAndMa=
rgo@zoho.com">ToddAndMargo@zoho.com</a>&gt;) escribi=C3=B3:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">On 9/30/18 3:17 AM, JJ Merelo wrote:<br>
&gt; <br>
&gt; I actually found the Perl 6 description more readable. And the example=
<br>
&gt; is better too.<br>
<br>
I was showing the different philosophies.=C2=A0 And I do agree,<br>
the Perl 6 was one of the better descriptions.=C2=A0 Perl 6<br>
usually gets it butt kicked by perldocs.<br></blockquote><div><br></div><di=
v>See what I mean by iteration?</div><div><br></div><div>Cheers<br></div></=
div><br clear=3D"all"><br>-- <br><div dir=3D"ltr" class=3D"gmail_signature"=
 data-smartmail=3D"gmail_signature">JJ</div></div>

--0000000000008d81230577147225--
0
jjmerelo
9/30/2018 10:49:33 AM
On 9/30/18 3:00 AM, JJ Merelo wrote:
> Hi
>=20
> El dom., 30 sept. 2018 a las 11:18, ToddAndMargo (<ToddAndMargo@zoho.co=
m=20
> <mailto:ToddAndMargo@zoho.com>>) escribi=C3=B3:
>=20
>     On 9/30/18 1:21 AM, JJ Merelo wrote:
>      >
>      >
>      > El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via
>     perl6-users
>      > (<perl6-users@perl.org <mailto:perl6-users@perl.org>
>     <mailto:perl6-users@perl.org <mailto:perl6-users@perl.org>>>) escri=
bi=C3=B3:
>      >
>      >=C2=A0 =C2=A0 =C2=A0the words method is extracting items from an =
input string. The
>      >=C2=A0 =C2=A0 =C2=A0$limit parameter tells the words method to ex=
tract not more than
>      >=C2=A0 =C2=A0 =C2=A0$limit items from the string. Setting the def=
ault to Inf only
>     tells
>      >=C2=A0 =C2=A0 =C2=A0the=C2=A0 method to extract as many items as =
it can from the input
>     (i.e.
>      >=C2=A0 =C2=A0 =C2=A0to process the whole string), without any lim=
it. But since
>     the input
>      >=C2=A0 =C2=A0 =C2=A0string cannot be infinite, the number of item=
s will also not be
>      >=C2=A0 =C2=A0 =C2=A0infinite. So, the Inf default for $limit just=
 states that
>     there is
>      >=C2=A0 =C2=A0 =C2=A0no limit, but you'll never get an infinity of=
 items from a
>      >=C2=A0 =C2=A0 =C2=A0non-infinite string.
>      >
>      >
>      > There's no Inf default now in the definition (after latest code
>      > changes), and it's been changed in the documentation accordingly=
=2E
>     It's
>      > left in the examples, however (since that "default" is in the
>     code too,
>      > and is tested in roast), but that can be eliminated if it leads =
to
>      > confusion.
>      >
>      > Cheers
>      >
>      > JJ
>=20
>=20
>     Hi JJ,
>=20
>     I am confused.=C2=A0 I thought that
>=20
>      =C2=A0 =C2=A0 =C2=A0 $limit =3D Inf
>     used in
>=20
>      =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input: $limit =3D I=
nf --> Seq)
>     meant that the default was "Inf"
>=20
>=20
> It's not now: https://docs.perl6.org/routine/words#class_Str
>=20
>=20
>     Also, it is not stated that $limit is optional.=C2=A0 I would
>     propose adding a "?" to the end of $limit:
>=20
>      =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $input : $limit? =3D=
 Inf --> Seq)
>=20
>=20
> That's not how it's defined. There are two forms in the method, which=20
> effectively could be resumed to a single one
>  =C2=A0=C2=A0=C2=A0 method words(Str:D: $limit?)
>=20
> But that's simply not how it's defined in the source. The fact that=20
> there are two multis indicate quite clearly that $limit is optional, bu=
t=20
> if that's not enough, the examples should clarify that.
>=20
> Cheers
>=20
> --=20
> JJ



Would it not be much more readable to only have one line?
I personally get lost if there are more than two lines.
0
ToddAndMargo
9/30/2018 10:50:39 AM
--000000000000a88a9605771493c7
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

El dom., 30 sept. 2018 a las 12:51, ToddAndMargo (<ToddAndMargo@zoho.com>)
escribi=C3=B3:

> On 9/30/18 3:00 AM, JJ Merelo wrote:
> > Hi
> >
> > El dom., 30 sept. 2018 a las 11:18, ToddAndMargo (<ToddAndMargo@zoho.co=
m
> > <mailto:ToddAndMargo@zoho.com>>) escribi=C3=B3:
> >
> >     On 9/30/18 1:21 AM, JJ Merelo wrote:
> >      >
> >      >
> >      > El dom., 30 sept. 2018 a las 10:15, Laurent Rosenfeld via
> >     perl6-users
> >      > (<perl6-users@perl.org <mailto:perl6-users@perl.org>
> >     <mailto:perl6-users@perl.org <mailto:perl6-users@perl.org>>>)
> escribi=C3=B3:
> >      >
> >      >     the words method is extracting items from an input string. T=
he
> >      >     $limit parameter tells the words method to extract not more
> than
> >      >     $limit items from the string. Setting the default to Inf onl=
y
> >     tells
> >      >     the  method to extract as many items as it can from the inpu=
t
> >     (i.e.
> >      >     to process the whole string), without any limit. But since
> >     the input
> >      >     string cannot be infinite, the number of items will also not
> be
> >      >     infinite. So, the Inf default for $limit just states that
> >     there is
> >      >     no limit, but you'll never get an infinity of items from a
> >      >     non-infinite string.
> >      >
> >      >
> >      > There's no Inf default now in the definition (after latest code
> >      > changes), and it's been changed in the documentation accordingly=
..
> >     It's
> >      > left in the examples, however (since that "default" is in the
> >     code too,
> >      > and is tested in roast), but that can be eliminated if it leads =
to
> >      > confusion.
> >      >
> >      > Cheers
> >      >
> >      > JJ
> >
> >
> >     Hi JJ,
> >
> >     I am confused.  I thought that
> >
> >            $limit =3D Inf
> >     used in
> >
> >            multi method words(Str:D $input: $limit =3D Inf --> Seq)
> >     meant that the default was "Inf"
> >
> >
> > It's not now: https://docs.perl6.org/routine/words#class_Str
> >
> >
> >     Also, it is not stated that $limit is optional.  I would
> >     propose adding a "?" to the end of $limit:
> >
> >            multi method words(Str:D $input : $limit? =3D Inf --> Seq)
> >
> >
> > That's not how it's defined. There are two forms in the method, which
> > effectively could be resumed to a single one
> >      method words(Str:D: $limit?)
> >
> > But that's simply not how it's defined in the source. The fact that
> > there are two multis indicate quite clearly that $limit is optional, bu=
t
> > if that's not enough, the examples should clarify that.
> >
> > Cheers
> >
> > --
> > JJ
>
>
>
> Would it not be much more readable to only have one line?
> I personally get lost if there are more than two lines.
>

There is one line per signature, or definition.


--=20
JJ

--000000000000a88a9605771493c7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">El dom=
.., 30 sept. 2018 a las 12:51, ToddAndMargo (&lt;<a href=3D"mailto:ToddAndMa=
rgo@zoho.com">ToddAndMargo@zoho.com</a>&gt;) escribi=C3=B3:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc=
 solid;padding-left:1ex">On 9/30/18 3:00 AM, JJ Merelo wrote:<br>
&gt; Hi<br>
&gt; <br>
&gt; El dom., 30 sept. 2018 a las 11:18, ToddAndMargo (&lt;<a href=3D"mailt=
o:ToddAndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">=
ToddAndMargo@zoho.com</a>&gt;&gt;) escribi=C3=B3:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0On 9/30/18 1:21 AM, JJ Merelo wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; El dom., 30 sept. 2018 a las 10:15, Laurent R=
osenfeld via<br>
&gt;=C2=A0 =C2=A0 =C2=A0perl6-users<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; (&lt;<a href=3D"mailto:perl6-users@perl.org" =
target=3D"_blank">perl6-users@perl.org</a> &lt;mailto:<a href=3D"mailto:per=
l6-users@perl.org" target=3D"_blank">perl6-users@perl.org</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0&lt;mailto:<a href=3D"mailto:perl6-users@perl.org" =
target=3D"_blank">perl6-users@perl.org</a> &lt;mailto:<a href=3D"mailto:per=
l6-users@perl.org" target=3D"_blank">perl6-users@perl.org</a>&gt;&gt;&gt;) =
escribi=C3=B3:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0the words method is extrac=
ting items from an input string. The<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0$limit parameter tells the=
 words method to extract not more than<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0$limit items from the stri=
ng. Setting the default to Inf only<br>
&gt;=C2=A0 =C2=A0 =C2=A0tells<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0the=C2=A0 method to extrac=
t as many items as it can from the input<br>
&gt;=C2=A0 =C2=A0 =C2=A0(i.e.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0to process the whole strin=
g), without any limit. But since<br>
&gt;=C2=A0 =C2=A0 =C2=A0the input<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0string cannot be infinite,=
 the number of items will also not be<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0infinite. So, the Inf defa=
ult for $limit just states that<br>
&gt;=C2=A0 =C2=A0 =C2=A0there is<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0no limit, but you&#39;ll n=
ever get an infinity of items from a<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;=C2=A0 =C2=A0 =C2=A0non-infinite string.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; There&#39;s no Inf default now in the definit=
ion (after latest code<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; changes), and it&#39;s been changed in the do=
cumentation accordingly.<br>
&gt;=C2=A0 =C2=A0 =C2=A0It&#39;s<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; left in the examples, however (since that &qu=
ot;default&quot; is in the<br>
&gt;=C2=A0 =C2=A0 =C2=A0code too,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; and is tested in roast), but that can be elim=
inated if it leads to<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; confusion.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; Cheers<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; JJ<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Hi JJ,<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0I am confused.=C2=A0 I thought that<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 $limit =3D Inf<br>
&gt;=C2=A0 =C2=A0 =C2=A0used in<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $inp=
ut: $limit =3D Inf --&gt; Seq)<br>
&gt;=C2=A0 =C2=A0 =C2=A0meant that the default was &quot;Inf&quot;<br>
&gt; <br>
&gt; <br>
&gt; It&#39;s not now: <a href=3D"https://docs.perl6.org/routine/words#clas=
s_Str" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/routine/=
words#class_Str</a><br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Also, it is not stated that $limit is optional.=C2=
=A0 I would<br>
&gt;=C2=A0 =C2=A0 =C2=A0propose adding a &quot;?&quot; to the end of $limit=
:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 multi method words(Str:D $inp=
ut : $limit? =3D Inf --&gt; Seq)<br>
&gt; <br>
&gt; <br>
&gt; That&#39;s not how it&#39;s defined. There are two forms in the method=
, which <br>
&gt; effectively could be resumed to a single one<br>
&gt;=C2=A0 =C2=A0=C2=A0=C2=A0 method words(Str:D: $limit?)<br>
&gt; <br>
&gt; But that&#39;s simply not how it&#39;s defined in the source. The fact=
 that <br>
&gt; there are two multis indicate quite clearly that $limit is optional, b=
ut <br>
&gt; if that&#39;s not enough, the examples should clarify that.<br>
&gt; <br>
&gt; Cheers<br>
&gt; <br>
&gt; -- <br>
&gt; JJ<br>
<br>
<br>
<br>
Would it not be much more readable to only have one line?<br>
I personally get lost if there are more than two lines.<br></blockquote><di=
v><br></div><div>There is one line per signature, or definition. <br></div>=
</div><br clear=3D"all"><br>-- <br><div dir=3D"ltr" class=3D"gmail_signatur=
e" data-smartmail=3D"gmail_signature">JJ</div></div>

--000000000000a88a9605771493c7--
0
jjmerelo
9/30/2018 10:58:50 AM
--0000000000009194dc0577149d43
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Todd,
I disagree with you. The P6 documentation can certainly be improved, but it
is quite good and clear already. Remember that it is technical
documentation, not a tutorial.

And the example you chose to give does not support your point: the P6
documentation for join is just at least as clear as the P5 documentation on
the same function.

When I wrote my book on Perl 6, there was no other P6 book around, so I had
to rely heavily on the existing documentation for all kinds of syntax
details, and I found that is was quite useful and even easy (and it has
improved quite a bit since then). You're welcome to help improving the
documentation, but, please, don't say it's bad just because you don't want
to make the effort needed to understand it.

If you don't understand the signatures in the documentation, you've
basically two possible solutions: just skip them, as you can certainly
understand how to use a built-in function without understanding the
signature (but it is still very useful to have the signature definition in
the documentation), or bite the bullet and learn how to read signatures.

Despite your denegation, I think that what you really need is to read a
good tutorial or book on Perl 6. If you had made a real effort to read such
introductory material, you would probably not have needed to ask about 90%
of the questions you asked lately. Do yourself a favor: read good
introductory material (tutorials or books).

HTH,
Laurent.


Le dim. 30 sept. 2018 =C3=A0 11:32, ToddAndMargo <ToddAndMargo@zoho.com> a
=C3=A9crit :

> On 9/26/18 7:27 PM, Brandon Allbery wrote:
> > And again: this is only because you know perl 5. People are not born
> > knowing perl 5; to someone who doesn't know it, perldoc raises the same
> > kinds of questions you have been asking, and the answers have to be
> > found in perlsyn or perldata, etc. Which is exactly what you have been
> > complaining about with respect to perl 6 doing the same kind of thing.
>
> Geez Louise Bradley!  The above is a really bad argument!
>
> "perldocs -f xxx" is a bazillion times easier to understand
> than Perl 6's manual, regardless if you know Perl 5 or not.
>
> And, by the way, I wonder just how may are coming to Perl 6
> without ANY Perl 5 experience?
>
> In every instance I can look up, perldocs puts Perl 6's
> documentation to shame.
>
> A simple comparison: which one leaves you knowing how to use
> the function and which one leaves you wondering "What the h***???"
>
> $ perldoc -f join
>      join EXPR,LIST
>              Joins the separate strings of LIST into a single string with
>              fields separated by the value of EXPR, and returns that new
>              string. Example:
>
>                 my $rec =3D join(':',
> $login,$passwd,$uid,$gid,$gcos,$home,$shell);
>
>              Beware that unlike "split", "join" doesn't take a pattern
>              as its first argument. Compare "split".
>
>
>
> https://docs.perl6.org/routine/join#(List)_routine_join
>
>      (List) routine join
>
>      Defined as:
>
>      sub    join($separator, *@list --> Str:D)
>      method join(List:D: $separator --> Str:D)
>
>      Treats the elements of the list as strings, interleaves
>      them with $separator and concatenates everything into a
>      single string.
>
>      Example:
>
>      join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=BB
>
>      Note that the method form does not flatten sublists:
>
>      say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=
=BB
>
>
> Oh and what the &*@% is a "*@list"?  And why does the sub have one
> and the method does not?  They are suppose to be identical.
>
> -T
>

--0000000000009194dc0577149d43
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi Todd,</div><div>I disagree with you. The P6 docume=
ntation can certainly be improved, but it is quite good and clear already. =
Remember that it is technical documentation, not a tutorial.</div><div><br>=
</div><div>And the example you chose to give does not support your point: t=
he P6 documentation for join is just at least as clear as the P5 documentat=
ion on the same function.<br></div><div><br></div><div>When I wrote my book=
 on Perl 6, there was no other P6 book around, so I had to rely heavily on =
the existing documentation for all kinds of syntax details, and I found tha=
t is was quite useful and even easy (and it has improved quite a bit since =
then). You&#39;re welcome to help improving the documentation, but, please,=
 don&#39;t say it&#39;s bad just because you don&#39;t want to make the eff=
ort needed to understand it.<br></div><div><br></div><div>If you don&#39;t =
understand the signatures in the documentation, you&#39;ve basically two po=
ssible solutions: just skip them, as you can certainly understand how to us=
e a built-in function without understanding the signature (but it is still =
very useful to have the signature definition in the documentation), or bite=
 the bullet and learn how to read signatures.</div><div><br></div><div>Desp=
ite your denegation, I think that what you really need is to read a good tu=
torial or book on Perl 6. If you had made a real effort to read such introd=
uctory material, you would probably not have needed to ask about 90% of the=
 questions you asked lately. Do yourself a favor: read good introductory ma=
terial (tutorials or books).<br></div><div><br></div><div>HTH,</div><div>La=
urent.<br></div><div><br></div></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr">Le=C2=A0dim. 30 sept. 2018 =C3=A0=C2=A011:32, ToddAndMargo &lt;<a=
 href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; a =C3=
=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 9/26/18 7:27 PM, =
Brandon Allbery wrote:<br>
&gt; And again: this is only because you know perl 5. People are not born <=
br>
&gt; knowing perl 5; to someone who doesn&#39;t know it, perldoc raises the=
 same <br>
&gt; kinds of questions you have been asking, and the answers have to be <b=
r>
&gt; found in perlsyn or perldata, etc. Which is exactly what you have been=
 <br>
&gt; complaining about with respect to perl 6 doing the same kind of thing.=
<br>
<br>
Geez Louise Bradley!=C2=A0 The above is a really bad argument!<br>
<br>
&quot;perldocs -f xxx&quot; is a bazillion times easier to understand<br>
than Perl 6&#39;s manual, regardless if you know Perl 5 or not.<br>
<br>
And, by the way, I wonder just how may are coming to Perl 6<br>
without ANY Perl 5 experience?<br>
<br>
In every instance I can look up, perldocs puts Perl 6&#39;s<br>
documentation to shame.<br>
<br>
A simple comparison: which one leaves you knowing how to use<br>
the function and which one leaves you wondering &quot;What the h***???&quot=
;<br>
<br>
$ perldoc -f join<br>
=C2=A0 =C2=A0 =C2=A0join EXPR,LIST<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Joins the separate strings =
of LIST into a single string with<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0fields separated by the val=
ue of EXPR, and returns that new<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0string. Example:<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 my $rec =3D join(&#=
39;:&#39;, <br>
$login,$passwd,$uid,$gid,$gcos,$home,$shell);<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Beware that unlike &quot;sp=
lit&quot;, &quot;join&quot; doesn&#39;t take a pattern<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0as its first argument. Comp=
are &quot;split&quot;.<br>
<br>
<br>
<br>
<a href=3D"https://docs.perl6.org/routine/join#(List)_routine_join" rel=3D"=
noreferrer" target=3D"_blank">https://docs.perl6.org/routine/join#(List)_ro=
utine_join</a><br>
<br>
=C2=A0 =C2=A0 =C2=A0(List) routine join<br>
<br>
=C2=A0 =C2=A0 =C2=A0Defined as:<br>
<br>
=C2=A0 =C2=A0 =C2=A0sub=C2=A0 =C2=A0 join($separator, *@list --&gt; Str:D)<=
br>
=C2=A0 =C2=A0 =C2=A0method join(List:D: $separator --&gt; Str:D)<br>
<br>
=C2=A0 =C2=A0 =C2=A0Treats the elements of the list as strings, interleaves=
<br>
=C2=A0 =C2=A0 =C2=A0them with $separator and concatenates everything into a=
<br>
=C2=A0 =C2=A0 =C2=A0single string.<br>
<br>
=C2=A0 =C2=A0 =C2=A0Example:<br>
<br>
=C2=A0 =C2=A0 =C2=A0join &#39;, &#39;, &lt;a b c&gt;;=C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0# RESULT: =C2=ABa, b, c=C2=BB<br>
<br>
=C2=A0 =C2=A0 =C2=A0Note that the method form does not flatten sublists:<br=
>
<br>
=C2=A0 =C2=A0 =C2=A0say (1, &lt;a b c&gt;).join(&#39;|&#39;);=C2=A0 =C2=A0 =
=C2=A0# OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=BB<br>
<br>
<br>
Oh and what the &amp;*@% is a &quot;*@list&quot;?=C2=A0 And why does the su=
b have one<br>
and the method does not?=C2=A0 They are suppose to be identical.<br>
<br>
-T<br>
</blockquote></div>

--0000000000009194dc0577149d43--
0
perl6
9/30/2018 11:01:38 AM
On 9/30/18 3:48 AM, JJ Merelo wrote:
> Nothing less that good Oklahoma tar and turkey feathers will do.
> 
> JJ

Will do!

Perl6 is a shining example of kaisen.  Every new thing
I learn about it, I adore it.
0
ToddAndMargo
9/30/2018 11:03:44 AM
In the second line of my reply I was referring to the difference in
flattening.

In the first line I was saying that sub takes a list, but method
doesn't, its invocant is a list.


On 2018-09-30 14:18:53 +0330, ToddAndMargo wrote:
> On 9/30/18 3:02 AM, Siavash wrote:
>> Because one is a method and the other is a sub. Look at "List:D:".
>> And they are not identical, the last example showed the difference.
>
> The sub sure seems like it slurps to me.
>
> $ p6 'join( ", ", 1, 2, 3).say;'
> 1, 2, 3
>
> What am I missing?
0
siavash
9/30/2018 11:06:19 AM
On 9/30/18 2:45 AM, ToddAndMargo wrote:
> The manual need to be written for the common user to
> understand, not just developer level and very advanced
> users.  They don't need the manual anyway. 

Of course we do. I constantly refer to the Perl 5 manual rather than 
waste memory on rote information.  I'm always looking up format 
descriptors in printf, for instance, and the near-endless special cases 
in split.

The amount of syntactic capacity in function/method calls is far greater 
in Perl 6 than in Perl 5. Your argument is like asking why C functions 
are so much harder to learn than assembler where all one has to do is 
push words onto a stack and jump.  The features of signatures and types 
are much larger in Perl 6 than their Perl 5 equivalents (where 
everything is a list except for weird prototypes that even the manuals 
advise you not to use) and critical to using the language properly and 
effectively.

Understanding these key concepts among others is foundational to 
programming in Perl 6 and is, again, covered in the excellent tutorial 
material that you are determined not to read and are instead extracting 
message by message from the members of this list. That latter approach 
is going to end up being more frustrating and alienating for you in the 
long term than gritting your teeth and forcing yourself to read a book.
0
peter
9/30/2018 2:07:24 PM
--00000000000069e6f2057719fd83
Content-Type: text/plain; charset="UTF-8"

Todd, allow me to distill the situation from my POV.

There are many sources of Perl 5 docs. "perldoc -f ..." is one of them, and
it works well for you.

There are also a choice of Perl 6 docs. "https://docs.perl6.org/" is one of
them, and it doesn't work well for you, but of all the perl6 docs, it's the
one you return to out of necessity.

Those two documents were built for different purposes, and
written/generated via very different organizational structure.

As a fellow perl6 newbie, I also hit frustrating points, and I relate to
many of your questions and posts, but '"perldocs -f xxx" is a bazillion
times easier to understand than Perl 6's manual' makes me mad and not want
to engage. To me that reads like a general insult. I imagine what you meant
was "perldoc -f works better for my purposes" and out of the heat of the
moment, I expect you'd agree, and eventually you post doc RFE's which is
the best outcome.

An analogy. "Ikea docs are great because they explain everything with
pictures." ok that works for me.

"I love the words method but  I can't make heads or tails of
docs.perl6.org/words. How come [] and () do different things? What the heck
is Inf doing there?" works for me.

"Here's an RFE for the words method that summarizes what I've figured out.
And it doesn't even have words, it's all diagrams, just like the Ikea
manual!" ok that works for me.

"The writing on docs.perl6.org/words is no good. How is anyone supposed to
build software with it? Compare to the Ikea docs- so much better- you can
build anything with them!" Not helpful, turns me off to the discussion.

"docs.perl6.org." and "perdoc -f" are different animals, created for
different goals. Yes please help clarify the perl6 docs, ask questions and
distill the answers. Perhaps someday Perl 6 will have its own on-line
combined reference-and-tutorial similar to "perldoc -f" but that is not the
primary purpose of "docs.perl6.org."

My request to help me remain involved in your threads: try keeping the
broad judgments to yourself, acknowledge that these documents are works in
progress with different goals, focus on finding the weak points which
highlight a misunderstanding, and communicate those.


-y

On Sun, Sep 30, 2018 at 3:48 AM, ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/30/18 3:02 AM, Siavash wrote:
>
>> Because one is a method and the other is a sub. Look at "List:D:".
>> And they are not identical, the last example showed the difference.
>>
>
> The sub sure seems like it slurps to me.
>
> $ p6 'join( ", ", 1, 2, 3).say;'
> 1, 2, 3
>
> What am I missing?
>

--00000000000069e6f2057719fd83
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Todd, allow me to distill the situation f=
rom my POV.</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">There are many=
 sources of Perl 5 docs. &quot;perldoc -f ...&quot; is one of them, and it =
works well for you.<div><br></div><div>There are also a choice of Perl 6 do=
cs. &quot;<a href=3D"https://docs.perl6.org/">https://docs.perl6.org/</a>&q=
uot; is one of them, and it doesn&#39;t work well for you, but of all the p=
erl6 docs, it&#39;s the one you return to out of necessity.</div><div><br><=
/div><div>Those two documents were built for different purposes, and writte=
n/generated via very different organizational structure.</div><div><br></di=
v><div>As a fellow perl6 newbie, I also hit frustrating points, and I relat=
e to many of your questions and posts, but &#39;<span style=3D"font-size:12=
..8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-d=
ecoration-color:initial;float:none;display:inline">&quot;perldocs -f xxx&qu=
ot; is a bazillion times easier to understand=C2=A0</span><span style=3D"fo=
nt-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:init=
ial;text-decoration-color:initial;float:none;display:inline">than Perl 6&#3=
9;s manual&#39; makes me mad and not want to engage. To me that reads like =
a general insult. I imagine what you meant was &quot;perldoc -f works bette=
r for my purposes&quot; and out of the heat of the moment, I expect you&#39=
;d agree, and eventually you post doc RFE&#39;s which is the best outcome.<=
/span></div><div><span style=3D"font-size:12.8px;background-color:rgb(255,2=
55,255);text-decoration-style:initial;text-decoration-color:initial;float:n=
one;display:inline"><br></span></div><div><span style=3D"font-size:12.8px;b=
ackground-color:rgb(255,255,255);text-decoration-style:initial;text-decorat=
ion-color:initial;float:none;display:inline">An analogy. &quot;Ikea docs ar=
e great because they explain everything with pictures.&quot; ok that works =
for me.</span></div><div><span style=3D"font-size:12.8px;background-color:r=
gb(255,255,255);text-decoration-style:initial;text-decoration-color:initial=
;float:none;display:inline"><br></span></div><div><span style=3D"font-size:=
12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text=
-decoration-color:initial;float:none;display:inline">&quot;I love the words=
 method but=C2=A0

<span style=3D"text-decoration-style:initial;text-decoration-color:initial;=
float:none;display:inline">I can&#39;t make heads or tails</span>=C2=A0of=
=C2=A0

<span style=3D"text-decoration-style:initial;text-decoration-color:initial;=
float:none;display:inline"><a href=3D"http://docs.perl6.org/words">docs.per=
l6.org/words</a></span>. How come [] and () do different things? What the h=
eck is Inf doing there?&quot; works for me.</span></div><div><span style=3D=
"font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:i=
nitial;text-decoration-color:initial;float:none;display:inline"><br></span>=
</div><div><span style=3D"font-size:12.8px;background-color:rgb(255,255,255=
);text-decoration-style:initial;text-decoration-color:initial;float:none;di=
splay:inline">&quot;Here&#39;s an RFE for the words method that summarizes =
what I&#39;ve figured out. And it doesn&#39;t even have words, it&#39;s all=
 diagrams, just like the Ikea manual!&quot; ok that works for me.</span></d=
iv><div><span style=3D"font-size:12.8px;background-color:rgb(255,255,255);t=
ext-decoration-style:initial;text-decoration-color:initial;float:none;displ=
ay:inline"><br></span></div><div><span style=3D"font-size:12.8px;background=
-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color=
:initial;float:none;display:inline">&quot;The writing on <a href=3D"http://=
docs.perl6.org/words">docs.perl6.org/words</a> is no good. How is anyone su=
pposed to build software with it? Compare to the Ikea docs- so much better-=
 you can build anything with them!&quot; Not helpful, turns me off to the d=
iscussion.</span></div><div><span style=3D"font-size:12.8px;background-colo=
r:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:init=
ial;float:none;display:inline"><br></span></div><div><span style=3D"font-si=
ze:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;t=
ext-decoration-color:initial;float:none;display:inline">&quot;<a href=3D"ht=
tp://docs.perl6.org">docs.perl6.org</a>.&quot; and &quot;perdoc -f&quot; ar=
e different animals, created for different goals. Yes please help clarify t=
he perl6 docs, ask questions and distill the answers. Perhaps someday Perl =
6 will have its own on-line combined reference-and-tutorial similar to &quo=
t;perldoc -f&quot; but that is not the primary purpose of &quot;<a href=3D"=
http://docs.perl6.org">docs.perl6.org</a>.&quot;</span></div><div><span sty=
le=3D"font-size:12.8px;background-color:rgb(255,255,255);text-decoration-st=
yle:initial;text-decoration-color:initial;float:none;display:inline"><br></=
span></div><div><span style=3D"font-size:12.8px">My request to help me rema=
in involved in your threads: try keeping the broad judgments to yourself, a=
cknowledge that these documents are works in progress with different goals,=
 focus on finding the weak points which highlight a misunderstanding, and c=
ommunicate those.</span></div><div><span style=3D"font-size:12.8px">=C2=A0<=
/span><br></div></div></div><div class=3D"gmail_extra"><br clear=3D"all"><d=
iv><div class=3D"gmail_signature" data-smartmail=3D"gmail_signature">-y<br>=
</div></div>
<br><div class=3D"gmail_quote">On Sun, Sep 30, 2018 at 3:48 AM, ToddAndMarg=
o <span dir=3D"ltr">&lt;<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"=
_blank">ToddAndMargo@zoho.com</a>&gt;</span> wrote:<br><blockquote class=3D=
"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding=
-left:1ex"><span class=3D"">On 9/30/18 3:02 AM, Siavash wrote:<br>
</span><span class=3D""><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Because one is a method and the other is a sub. Look at &quot;List:D:&quot;=
..<br>
And they are not identical, the last example showed the difference.<br>
</blockquote>
<br></span>
The sub sure seems like it slurps to me.<br>
<br>
$ p6 &#39;join( &quot;, &quot;, 1, 2, 3).say;&#39;<br>
1, 2, 3<br>
<br>
What am I missing?<br>
</blockquote></div><br></div>

--00000000000069e6f2057719fd83--
0
not
9/30/2018 5:26:12 PM
Hi All,

My "Perl" box got corrupted and in the process of rebuilding
it I lost this thread except for one one message from JJ.
Anyway, I am not deliberately ignoring anyone, I just
lost the thread.

:'(

-T
0
ToddAndMargo
10/1/2018 12:51:43 AM
--------------7F863B33042DF0BDD7E25458
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

Todd,

Since your 'perl box' got corrupted, may be you missed Yary's message 
(copied below). Yary shared a frank viewpoint that I entirely agree with.

Several people have said 'read a book'. Reading a book - even if it can 
be hard sometimes - is a courteous thing to do in a community that has 
repeatedly asked you to do so. 'round hole square peg' is not a 
courteous response.

You say you read the documentation, but when you asked for a tutorial on 
NativeCall, and I pointed out that I had added one, you said that you 
read the documentation months ago. I think I added the tutorial over a 
year ago. Which indicates you did not read the documentation. It would 
have been polite - before you posted your first request - just to check. 
In fact, the function you mentioned was complex and a short tutorial 
will never cover all the bases. So a question based on an initial 
reading would have been welcome. In fact, even though I wrote the 
tutorial, I relied on the help of several others, and I still do not 
understand all the nuances. So extra specific questions would be useful.

Your ideas about documentation that work for you conflict with mine. I 
have commented on one of your RFE's and you want considerable changes of 
style to match your whims.

That is not to say that your contributions to this community are 
unwanted, unwelcome, or trivial. The opposite is true: your questions - 
the substance not the form - have elicited some fascinating and lucid 
responses.

Further, you have mentioned several times that you write notes to 
yourself about Perl6. Why not make them available in some way, eg. on 
github (its free and there are ways to put up static html pages)?

Richard, aka finanalyst


On 01/10/18 01:26, yary wrote:
> Todd, allow me to distill the situation from my POV.
>
> There are many sources of Perl 5 docs. "perldoc -f ..." is one of 
> them, and it works well for you.
>
> There are also a choice of Perl 6 docs. "https://docs.perl6.org/" is 
> one of them, and it doesn't work well for you, but of all the perl6 
> docs, it's the one you return to out of necessity.
>
> Those two documents were built for different purposes, and 
> written/generated via very different organizational structure.
>
> As a fellow perl6 newbie, I also hit frustrating points, and I relate 
> to many of your questions and posts, but '"perldocs -f xxx" is a 
> bazillion times easier to understand than Perl 6's manual' makes me 
> mad and not want to engage. To me that reads like a general insult. I 
> imagine what you meant was "perldoc -f works better for my purposes" 
> and out of the heat of the moment, I expect you'd agree, and 
> eventually you post doc RFE's which is the best outcome.
>
> An analogy. "Ikea docs are great because they explain everything with 
> pictures." ok that works for me.
>
> "I love the words method but I can't make heads or tails of 
> docs.perl6.org/words <http://docs.perl6.org/words>. How come [] and () 
> do different things? What the heck is Inf doing there?" works for me.
>
> "Here's an RFE for the words method that summarizes what I've figured 
> out. And it doesn't even have words, it's all diagrams, just like the 
> Ikea manual!" ok that works for me.
>
> "The writing on docs.perl6.org/words <http://docs.perl6.org/words> is 
> no good. How is anyone supposed to build software with it? Compare to 
> the Ikea docs- so much better- you can build anything with them!" Not 
> helpful, turns me off to the discussion.
>
> "docs.perl6.org <http://docs.perl6.org>." and "perdoc -f" are 
> different animals, created for different goals. Yes please help 
> clarify the perl6 docs, ask questions and distill the answers. Perhaps 
> someday Perl 6 will have its own on-line combined 
> reference-and-tutorial similar to "perldoc -f" but that is not the 
> primary purpose of "docs.perl6.org <http://docs.perl6.org>."
>
> My request to help me remain involved in your threads: try keeping the 
> broad judgments to yourself, acknowledge that these documents are 
> works in progress with different goals, focus on finding the weak 
> points which highlight a misunderstanding, and communicate those.
>
>
> -y
>
> On Sun, Sep 30, 2018 at 3:48 AM, ToddAndMargo <ToddAndMargo@zoho.com 
> <mailto:ToddAndMargo@zoho.com>> wrote:
>
>     On 9/30/18 3:02 AM, Siavash wrote:
>
>         Because one is a method and the other is a sub. Look at "List:D:".
>         And they are not identical, the last example showed the
>         difference.
>
>
>     The sub sure seems like it slurps to me.
>
>     $ p6 'join( ", ", 1, 2, 3).say;'
>     1, 2, 3
>
>     What am I missing?
>
>


--------------7F863B33042DF0BDD7E25458
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Todd,</p>
    <p>Since your 'perl box' got corrupted, may be you missed Yary's
      message (copied below). Yary shared a frank viewpoint that I
      entirely agree with. <br>
    </p>
    <p>Several people have said 'read a book'. Reading a book - even if
      it can be hard sometimes - is a courteous thing to do in a
      community that has repeatedly asked you to do so. 'round hole
      square peg' is not a courteous response. <br>
    </p>
    <p>You say you read the documentation, but when you asked for a
      tutorial on NativeCall, and I pointed out that I had added one,
      you said that you read the documentation months ago. I think I
      added the tutorial over a year ago. Which indicates you did not
      read the documentation. It would have been polite - before you
      posted your first request - just to check. In fact, the function
      you mentioned was complex and a short tutorial will never cover
      all the bases. So a question based on an initial reading would
      have been welcome. In fact, even though I wrote the tutorial, I
      relied on the help of several others, and I still do not
      understand all the nuances. So extra specific questions would be
      useful.<br>
    </p>
    <p>Your ideas about documentation that work for you conflict with
      mine. I have commented on one of your RFE's and you want
      considerable changes of style to match your whims. <br>
    </p>
    <p>That is not to say that your contributions to this community are
      unwanted, unwelcome, or trivial. The opposite is true: your
      questions - the substance not the form - have elicited some
      fascinating and lucid responses. </p>
    <p>Further, you have mentioned several times that you write notes to
      yourself about Perl6. Why not make them available in some way, eg.
      on github (its free and there are ways to put up static html
      pages)?<br>
    </p>
    <p>Richard, aka finanalyst<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 01/10/18 01:26, yary wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAG2CFAb-R+_bWpmGQ98bRnWKqSK0HmWOzHNTd6nwwBK=OwdEiw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=utf-8">
      <div dir="ltr">
        <div dir="ltr">Todd, allow me to distill the situation from my
          POV.</div>
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">There are many sources of Perl 5 docs. "perldoc
          -f ..." is one of them, and it works well for you.
          <div><br>
          </div>
          <div>There are also a choice of Perl 6 docs. "<a
              href="https://docs.perl6.org/" moz-do-not-send="true">https://docs.perl6.org/</a>"
            is one of them, and it doesn't work well for you, but of all
            the perl6 docs, it's the one you return to out of necessity.</div>
          <div><br>
          </div>
          <div>Those two documents were built for different purposes,
            and written/generated via very different organizational
            structure.</div>
          <div><br>
          </div>
          <div>As a fellow perl6 newbie, I also hit frustrating points,
            and I relate to many of your questions and posts, but '<span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"perldocs
              -f xxx" is a bazillion times easier to understand </span><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">than
              Perl 6's manual' makes me mad and not want to engage. To
              me that reads like a general insult. I imagine what you
              meant was "perldoc -f works better for my purposes" and
              out of the heat of the moment, I expect you'd agree, and
              eventually you post doc RFE's which is the best outcome.</span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
            </span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">An
              analogy. "Ikea docs are great because they explain
              everything with pictures." ok that works for me.</span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
            </span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"I
              love the words method but 
              <span
style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">I
                can't make heads or tails</span> of 
              <span
style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><a
                  href="http://docs.perl6.org/words"
                  moz-do-not-send="true">docs.perl6.org/words</a></span>.
              How come [] and () do different things? What the heck is
              Inf doing there?" works for me.</span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
            </span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"Here's
              an RFE for the words method that summarizes what I've
              figured out. And it doesn't even have words, it's all
              diagrams, just like the Ikea manual!" ok that works for
              me.</span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
            </span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"The
              writing on <a href="http://docs.perl6.org/words"
                moz-do-not-send="true">docs.perl6.org/words</a> is no
              good. How is anyone supposed to build software with it?
              Compare to the Ikea docs- so much better- you can build
              anything with them!" Not helpful, turns me off to the
              discussion.</span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
            </span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"<a
                href="http://docs.perl6.org" moz-do-not-send="true">docs.perl6.org</a>."
              and "perdoc -f" are different animals, created for
              different goals. Yes please help clarify the perl6 docs,
              ask questions and distill the answers. Perhaps someday
              Perl 6 will have its own on-line combined
              reference-and-tutorial similar to "perldoc -f" but that is
              not the primary purpose of "<a
                href="http://docs.perl6.org" moz-do-not-send="true">docs.perl6.org</a>."</span></div>
          <div><span
style="font-size:12.8px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br>
            </span></div>
          <div><span style="font-size:12.8px">My request to help me
              remain involved in your threads: try keeping the broad
              judgments to yourself, acknowledge that these documents
              are works in progress with different goals, focus on
              finding the weak points which highlight a
              misunderstanding, and communicate those.</span></div>
          <div><span style="font-size:12.8px"> </span><br>
          </div>
        </div>
      </div>
      <div class="gmail_extra"><br clear="all">
        <div>
          <div class="gmail_signature" data-smartmail="gmail_signature">-y<br>
          </div>
        </div>
        <br>
        <div class="gmail_quote">On Sun, Sep 30, 2018 at 3:48 AM,
          ToddAndMargo <span dir="ltr">&lt;<a
              href="mailto:ToddAndMargo@zoho.com" target="_blank"
              moz-do-not-send="true">ToddAndMargo@zoho.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex"><span
              class="">On 9/30/18 3:02 AM, Siavash wrote:<br>
            </span><span class="">
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                Because one is a method and the other is a sub. Look at
                "List:D:".<br>
                And they are not identical, the last example showed the
                difference.<br>
              </blockquote>
              <br>
            </span>
            The sub sure seems like it slurps to me.<br>
            <br>
            $ p6 'join( ", ", 1, 2, 3).say;'<br>
            1, 2, 3<br>
            <br>
            What am I missing?<br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>

--------------7F863B33042DF0BDD7E25458--
0
rnhainsworth
10/1/2018 2:12:31 AM
On 9/30/18 7:07 AM, Peter Scott wrote:
> gain, covered in the excellent tutorial material that you are determined 
> not to read and are instead extracting message by message from the 
> members of this list. That latter approach is going to end up being more 
> frustrating and alienating for you in the long term than gritting your 
> teeth and forcing yourself to read a book.

Books don't work for me.  I have explained why in exhaustive detail.
My head is not hitting the table one more time.

When I learn something, I write it down in my own words with my own
examples.  I am up to 144 now.  I am, so to speak, creating
my own manual.  If you are curious, pick a topic, if I have
a Todd special for it, I will post it back.   (Pick a few, as
I may not have something on all of them.)  It will give you
an insight as to how my mind works.

By the way, schools have books.  Why is it do you suppose that
that schools also have teacher?  Should not all that be covered
in the book with complete understanding on the part of the reader?
No?

If you find my questions out of line, please just do not answer them.
0
ToddAndMargo
10/1/2018 3:31:24 AM
Todd,

I've already added to this conversation given that your 'perl' box was 
corrupted. But when I read this post last week, I felt it needed some 
response.

You actually have touched on some deep issues. Please allow for some 
humour below.

<snip>
> First off, courses, beginners books, and the likes, do not work for me.
So you do not want to read beginners' stuff, just the stuff real pros want.
> What does work is just code what my customers and I need. And a lot of 
> what do is to Read The Freakin' Manual (RTFM, now-a-days called "just
> Google it").
Read the manual. Got it. I do that a lot for many languages, eg. php, 
css, html. Actually, the manuals for css and html are bloody awful. Much 
better are tutorial sites. So the problem of documenting something 
complex in a balanced way is not unique to perl6, and it is a deep issue.
>
> The Perl 6 routine's documentation is written as a refresher to
> those how already know what they are doing, and as such is
> pretty useless to common users seeking wisdom. 
But I thought you just implied you wanted pro stuff, not beginner stuff. 
So what is wanted is 'common user' stuff (see below).
> Why even post
> it to the general public?  The design specifications and
> not posted (except if you Google them).
This is a misrepresentation of reality. Larry wrote about the 
'whirlpool' rather than 'waterfall' concept of development. Perl6 was 
not written to specs, rather the specs and the language and the tests 
(considered a part of the specs) have co-evolved. There is a link to 
them on the main perl6.org page, but the documents are historical, not 
prescriptive. And so the links to them are not given prominence, so as 
not to confuse the commoner, as it were.
>
> *** I am not after the manual to teach me how to use Perl. ***
Well I agree, if you want beginner stuff to learn, first read a book.
> In several instances, I have know how to use functions and looked
> backwards in the manual to see if there were any other bits
> I could use.  I COULD NOT REVERSE ENGINEER the manual
> EVEN THOUGH I completely understood how to use the function.
> This is bad.  Really bad.
Actually, I do not understand what you are saying at all, eg., 'I have 
know how to use ...' is not clear. Do you already know about some 
'functions' and want to know more, or do you need to know about a 
function? Even though you SHOUTED at us, I do not know what you mean by 
'reverse engineer the manual'. So I cannot fathom why not being able to 
do so is bad.
>
> This is what I am after:
>
> The manual should be written like a spoken language dictionary.
First 'should' is subjective to you. It is not imperative to those who 
contribute. It *is* a part of the process of writing the documentation 
to evolve a style and a terminology to accomplish several 
self-contradictory things, eg., brevity and comprehensiveness. The 
balance is not easy to accomplish, and we all want something better. 
This is a deep issue. There is no single answer for everyone.
>
>      1) it should tell you what that word is
Everyone would agree with this point. Frankly, having read the 
documentation for other software, the perl6 docs succeed very well. 
However, I think your problem is that you don't like the terminology 
that is being developed by perl6  documentation contributors (part of 
the deep issue).

But all spoken language dictionaries (I looked up 'if' and 'as' on 
Websters, Collins, and Oxford dictionary sites) have terminology and 
special signs for pronunciation, or for grammatical function, eg., 
pronoun, conjunction, adverb. To understand a dictionary, you have to 
learn about the terminology.

If you look up words for other spoken languages, eg., Cantonese, then 
you get things like sentential particles or classifiers, neither of 
which exist in English. (A bit like the difference between perl6 and 
perl5). This means that you actually have to know something about a 
language before being able to use the dictionary, and dictionaries for 
different languages are, well, different.
>
>      2) show you how to use it in context.
No quibble here. But perl6 documentation does provide examples. I would 
agree that there should often be more. Contributions are welcome. As 
programmers work through different contexts, they come up with 
interesting examples. I don't think anyone has rejected new examples.
>
> And I might point out that a dictionary is not a HOW TO
> book to teach you the language.
We all agree. There is a difference between reference documentation and 
tutorials. The problem is that it is difficult to discern from your own 
explanations (even this very post) what it is you want. And given my 
experience in other languages, sometimes tutorials are good, sometimes 
manuals are good. Often `stackoverflow` is the best goto. There is not a 
single experience. Personally for perl6, the docs are the best.

But I am confused about what *you* want from the reference documentation.
>
>     3) when calling other term to explain things, it should
>        pick the easiest term available. It should not pick
>        any nasty, advanced terms.  (Unless the writer enjoys
>        confusing the reader and bragging about how smart
>        he is.  And he is a jerk.)
This does not seem to be correct English. However, by squinting at what 
you wrote, I think I agree with you that some of the explanations or 
examples are cryptic. I think that the people who wrote them sometimes 
want to show off the elegance and expressive beauty of perl6 (that is a 
nicer explanation than assuming they are jerks). Often I am inspired by 
these examples. Sometimes, I despair because I am trying to 'grok' one 
thing, but the examples expect me to have 'grokked' another, which I 
haven't. When this happens, I have tried to ameliorate things with a 
contribution.
>
>     4) It can reference advanced topic or follow on topics
>        but keep them out of the topic.  Dictionaries do this
>        all the time. "See such and such"
I entirely agree. And yet I am reminded of a poster (I wonder who???) 
who seemed to want an explanation of 0-based counting in the definition 
of a string function ..... The community response was much in line with 
this precept.
>
>     5) leave the common user knowing how to use the topic,
>        not wonder if the writer writes manuals for the
>        IRS in his spare time.
We come again to this category: 'the common user'. This person (possibly 
there are more) is not a 'beginner' nor a 'pro'. What is to be expected 
of a 'common user' of perl6? Can we assume that a 'common user' has read 
an introduction to perl6?

I could have asked if a 'common user' is like the buffoon in the White 
House who has such a big brain that he doesn't need to read, or take 
advice from anyone, and who created an international precedent by being 
laughed at by UN diplomats for speaking like he was talking to a 
like-minded crowd, but ....

.... I won't because that would be off-topic, and political, and I 
certainly would not want to upset anyone from the exceptional country.
>
> Perl 5's perldoc did a wonderful job of this.
I never liked perldoc. 'To whom how', as they say in Russian.
>
> I have been posting RFE about this as they come up.
> So I am trying to be part of the solution instead
> of constantly gripping about the problem.
Indeed this discussion has, at times, been gripping, but I hope you 
don't think I have been griping. ;)
>
> -T
0
rnhainsworth
10/1/2018 4:11:13 AM
You can read the thread here:
https://www.nntp.perl.org/group/perl.perl6.users/2018/09/msg5757.html

On 2018-10-01 04:21:43 +0330, ToddAndMargo wrote:
> Hi All,
>
> My "Perl" box got corrupted and in the process of rebuilding
> it I lost this thread except for one one message from JJ.
> Anyway, I am not deliberately ignoring anyone, I just
> lost the thread.
>
> :'(
>
> -T
0
siavash
10/1/2018 8:20:38 AM
ToddAndMargo@zoho.com (ToddAndMargo) writes:
>
> Hi Curt,
>
> Perfect! Thank you!
>
> So all methods that respond with --> Positional will accept []
>
> Awesome!
>
> -T

Not quite.

All methods that respond with --> Positional, provide a Positional that
will accept []

Methods don't accept [], values that are positional do that.

Cheers,
Donald.
0
donald
10/1/2018 10:37:08 PM
On 9/30/18 9:11 PM, Richard Hainsworth wrote:
> your 'perl' box was corrupted.


Somewhere the imap daemons got appeased and suddenly a day later,
I watched it all come blazing back.

Hopefully tomorrow I will get a chance to read over what yo wrote.

By the way, the eMail I send about the thread disappearing
got removed when the rest came back.   Hmmmmmmmmmm
0
ToddAndMargo
10/1/2018 11:12:29 PM
On 9/30/18 3:58 AM, JJ Merelo wrote:
> There is one line per signature, or definition.

You misunderstand.  I was proposing a different
way of stating it such that you did not have to
keep repeating lines with slight differences
0
ToddAndMargo
10/1/2018 11:14:28 PM
--000000000000bc17c1057733043e
Content-Type: text/plain; charset="UTF-8"

That just sounds like the backing store got restored from backup, losing
anything added after the backup was taken. Which is not the best way to do
things (incrementals are nice), but if things had gone wrong enough might
have been the best they could do.

On Mon, Oct 1, 2018 at 7:13 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 9/30/18 9:11 PM, Richard Hainsworth wrote:
> > your 'perl' box was corrupted.
>
>
> Somewhere the imap daemons got appeased and suddenly a day later,
> I watched it all come blazing back.
>
> Hopefully tomorrow I will get a chance to read over what yo wrote.
>
> By the way, the eMail I send about the thread disappearing
> got removed when the rest came back.   Hmmmmmmmmmm
>


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

--000000000000bc17c1057733043e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">That just sounds like the backing store got restored from =
backup, losing anything added after the backup was taken. Which is not the =
best way to do things (incrementals are nice), but if things had gone wrong=
 enough might have been the best they could do.</div><br><div class=3D"gmai=
l_quote"><div dir=3D"ltr">On Mon, Oct 1, 2018 at 7:13 PM ToddAndMargo &lt;<=
a href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote=
:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bor=
der-left:1px #ccc solid;padding-left:1ex">On 9/30/18 9:11 PM, Richard Hains=
worth wrote:<br>
&gt; your &#39;perl&#39; box was corrupted.<br>
<br>
<br>
Somewhere the imap daemons got appeased and suddenly a day later,<br>
I watched it all come blazing back.<br>
<br>
Hopefully tomorrow I will get a chance to read over what yo wrote.<br>
<br>
By the way, the eMail I send about the thread disappearing<br>
got removed when the rest came back.=C2=A0 =C2=A0Hmmmmmmmmmm<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
 class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"l=
tr"><div><div dir=3D"ltr"><div>brandon s allbery kf8nh</div><div><a href=3D=
"mailto:allbery.b@gmail.com" target=3D"_blank">allbery.b@gmail.com</a></div=
></div></div></div></div>

--000000000000bc17c1057733043e--
0
allbery
10/1/2018 11:17:59 PM
On 10/1/18 3:37 PM, Donald Hunter wrote:
> ToddAndMargo@zoho.com (ToddAndMargo) writes:
>>
>> Hi Curt,
>>
>> Perfect! Thank you!
>>
>> So all methods that respond with --> Positional will accept []
>>
>> Awesome!
>>
>> -T
> 
> Not quite.
> 
> All methods that respond with --> Positional, provide a Positional that
> will accept []
> 
> Methods don't accept [], values that are positional do that.
> 
> Cheers,
> Donald.
> 

Hi Donald,

I am confused.  I though we both said the same thing?
Is your distinction that [] is actually a routine in itself
and not part of the method?  And I am lumping them together?

-T
0
ToddAndMargo
10/2/2018 6:04:15 AM
--00000000000031b705057739ba2e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Yes, [] acts on the result (a positional, e.g. a list) returned by function
or method, it does not act on the function or method itself.

You have more or less the same in Perl 5, for example:

my $first_item =3D (split /;/, $string)[0];

Here, the [0] acts on the list returned by split.


Le mar. 2 oct. 2018 =C3=A0 08:05, ToddAndMargo <ToddAndMargo@zoho.com> a =
=C3=A9crit :

> On 10/1/18 3:37 PM, Donald Hunter wrote:
> > ToddAndMargo@zoho.com (ToddAndMargo) writes:
> >>
> >> Hi Curt,
> >>
> >> Perfect! Thank you!
> >>
> >> So all methods that respond with --> Positional will accept []
> >>
> >> Awesome!
> >>
> >> -T
> >
> > Not quite.
> >
> > All methods that respond with --> Positional, provide a Positional that
> > will accept []
> >
> > Methods don't accept [], values that are positional do that.
> >
> > Cheers,
> > Donald.
> >
>
> Hi Donald,
>
> I am confused.  I though we both said the same thing?
> Is your distinction that [] is actually a routine in itself
> and not part of the method?  And I am lumping them together?
>
> -T
>

--00000000000031b705057739ba2e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Yes, [] acts on the result (a positional, e.g. a list=
) returned by function or method, it does not act on the function or method=
 itself.</div><div><br></div><div>You have more or less the same in Perl 5,=
 for example:<br></div><div><br></div><div>my $first_item =3D (split /;/, $=
string)[0];</div><div><br></div><div>Here, the [0] acts on the list returne=
d by split.</div><div> <br></div></div><br><div class=3D"gmail_quote"><div =
dir=3D"ltr">Le=C2=A0mar. 2 oct. 2018 =C3=A0=C2=A008:05, ToddAndMargo &lt;<a=
 href=3D"mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; a =C3=
=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 10/1/18 3:37 PM, =
Donald Hunter wrote:<br>
&gt; <a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">ToddAndMarg=
o@zoho.com</a> (ToddAndMargo) writes:<br>
&gt;&gt;<br>
&gt;&gt; Hi Curt,<br>
&gt;&gt;<br>
&gt;&gt; Perfect! Thank you!<br>
&gt;&gt;<br>
&gt;&gt; So all methods that respond with --&gt; Positional will accept []<=
br>
&gt;&gt;<br>
&gt;&gt; Awesome!<br>
&gt;&gt;<br>
&gt;&gt; -T<br>
&gt; <br>
&gt; Not quite.<br>
&gt; <br>
&gt; All methods that respond with --&gt; Positional, provide a Positional =
that<br>
&gt; will accept []<br>
&gt; <br>
&gt; Methods don&#39;t accept [], values that are positional do that.<br>
&gt; <br>
&gt; Cheers,<br>
&gt; Donald.<br>
&gt; <br>
<br>
Hi Donald,<br>
<br>
I am confused.=C2=A0 I though we both said the same thing?<br>
Is your distinction that [] is actually a routine in itself<br>
and not part of the method?=C2=A0 And I am lumping them together?<br>
<br>
-T<br>
</blockquote></div>

--00000000000031b705057739ba2e--
0
perl6
10/2/2018 7:18:12 AM
>> Le mar. 2 oct. 2018 =C3=A0 08:05, ToddAndMargo <ToddAndMargo@zoho.com =

>> <mailto:ToddAndMargo@zoho.com>> a =C3=A9crit :
>>=20
>>     On 10/1/18 3:37 PM, Donald Hunter wrote:
>>      > ToddAndMargo@zoho.com <mailto:ToddAndMargo@zoho.com>
>>     (ToddAndMargo) writes:
>>      >>
>>      >> Hi Curt,
>>      >>
>>      >> Perfect! Thank you!
>>      >>
>>      >> So all methods that respond with --> Positional will accept []=

>>      >>
>>      >> Awesome!
>>      >>
>>      >> -T
>>      >
>>      > Not quite.
>>      >
>>      > All methods that respond with --> Positional, provide a
>>     Positional that
>>      > will accept []
>>      >
>>      > Methods don't accept [], values that are positional do that.
>>      >
>>      > Cheers,
>>      > Donald.
>>      >
>>=20
>>     Hi Donald,
>>=20
>>     I am confused.  I though we both said the same thing?
>>     Is your distinction that [] is actually a routine in itself
>>     and not part of the method?  And I am lumping them together?
>>=20
>>     -T
>>=20

On 10/2/18 12:18 AM, Laurent Rosenfeld via perl6-users wrote:
> Yes, [] acts on the result (a positional, e.g. a list) returned by=20
> function or method, it does not act on the function or method itself.
>=20
> You have more or less the same in Perl 5, for example:
>=20
> my $first_item =3D (split /;/, $string)[0];
>=20
> Here, the [0] acts on the list returned by split.


"acts on the result" is a beautiful way to state it.

Thank you!
0
ToddAndMargo
10/2/2018 8:26:51 AM
On 10/1/18 1:20 AM, Siavash wrote:
> 
> You can read the thread here:
> https://www.nntp.perl.org/group/perl.perl6.users/2018/09/msg5757.html
> 
> On 2018-10-01 04:21:43 +0330, ToddAndMargo wrote:
>> Hi All,
>>
>> My "Perl" box got corrupted and in the process of rebuilding
>> it I lost this thread except for one one message from JJ.
>> Anyway, I am not deliberately ignoring anyone, I just
>> lost the thread.
>>
>> :'(
>>
>> -T

Thank you!

Something must has appeased the imap gods and the entire thread
came storming back one entry at a time.

But the note I sent says it had be erased did not.  Then a day
later it appeared too.


Hmmmmm....
0
ToddAndMargo
10/2/2018 8:29:12 AM
>> Le dim. 30 sept. 2018 =C3=A0 11:32, ToddAndMargo <ToddAndMargo@zoho.co=
m=20
>> <mailto:ToddAndMargo@zoho.com>> a =C3=A9crit :
>>=20
>>     On 9/26/18 7:27 PM, Brandon Allbery wrote:
>>      > And again: this is only because you know perl 5. People are not=
 born
>>      > knowing perl 5; to someone who doesn't know it, perldoc raises
>>     the same
>>      > kinds of questions you have been asking, and the answers have t=
o be
>>      > found in perlsyn or perldata, etc. Which is exactly what you ha=
ve
>>     been
>>      > complaining about with respect to perl 6 doing the same kind of=

>>     thing.
>>=20
>>     Geez Louise Bradley!  The above is a really bad argument!
>>=20
>>     "perldocs -f xxx" is a bazillion times easier to understand
>>     than Perl 6's manual, regardless if you know Perl 5 or not.
>>=20
>>     And, by the way, I wonder just how may are coming to Perl 6
>>     without ANY Perl 5 experience?
>>=20
>>     In every instance I can look up, perldocs puts Perl 6's
>>     documentation to shame.
>>=20
>>     A simple comparison: which one leaves you knowing how to use
>>     the function and which one leaves you wondering "What the h***???"=

>>=20
>>     $ perldoc -f join
>>           join EXPR,LIST
>>                   Joins the separate strings of LIST into a single
>>     string with
>>                   fields separated by the value of EXPR, and returns
>>     that new
>>                   string. Example:
>>=20
>>                      my $rec =3D join(':',
>>     $login,$passwd,$uid,$gid,$gcos,$home,$shell);
>>=20
>>                   Beware that unlike "split", "join" doesn't take a pa=
ttern
>>                   as its first argument. Compare "split".
>>=20
>>=20
>>=20
>>     https://docs.perl6.org/routine/join#(List)_routine_join
>>=20
>>           (List) routine join
>>=20
>>           Defined as:
>>=20
>>           sub    join($separator, *@list --> Str:D)
>>           method join(List:D: $separator --> Str:D)
>>=20
>>           Treats the elements of the list as strings, interleaves
>>           them with $separator and concatenates everything into a
>>           single string.
>>=20
>>           Example:
>>=20
>>           join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=BB=

>>=20
>>           Note that the method form does not flatten sublists:
>>=20
>>           say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b c=E2=90=
=A4=C2=BB
>>=20
>>=20
>>     Oh and what the &*@% is a "*@list"?  And why does the sub have one=

>>     and the method does not?  They are suppose to be identical.
>>=20
>>     -T
>>=20

On 9/30/18 4:01 AM, Laurent Rosenfeld wrote:
> Hi Todd,
> I disagree with you. The P6 documentation can certainly be improved, bu=
t=20
> it is quite good and clear already. Remember that it is technical=20
> documentation, not a tutorial.
>=20
> And the example you chose to give does not support your point: the P6=20
> documentation for join is just at least as clear as the P5 documentatio=
n=20
> on the same function.
>=20
> When I wrote my book on Perl 6, there was no other P6 book around, so I=
=20
> had to rely heavily on the existing documentation for all kinds of=20
> syntax details, and I found that is was quite useful and even easy (and=
=20
> it has improved quite a bit since then). You're welcome to help=20
> improving the documentation, but, please, don't say it's bad just=20
> because you don't want to make the effort needed to understand it.
>=20
> If you don't understand the signatures in the documentation, you've=20
> basically two possible solutions: just skip them, as you can certainly =

> understand how to use a built-in function without understanding the=20
> signature (but it is still very useful to have the signature definition=
=20
> in the documentation), or bite the bullet and learn how to read signatu=
res.
>=20
> Despite your denegation, I think that what you really need is to read a=
=20
> good tutorial or book on Perl 6. If you had made a real effort to read =

> such introductory material, you would probably not have needed to ask=20
> about 90% of the questions you asked lately. Do yourself a favor: read =

> good introductory material (tutorials or books).
>=20
> HTH,
> Laurent.
>=20
>=20

Hi Laurent,

You already know what to expect.  You are an advanced user.
And I would have to tentatively agree with you. The documentation
does "seem" to be extraordinarily well written for advanced
developer level users.  Just the sort of reader that does not
need to use it as they already know what is going on.

When you know how to use a function but can't reverse
engineer how to do it from the documentation, then you
are in real trouble.

I am thinking of doing an RFE to place at the front
of the routines documentation that introduces the reader
on how to read THAT line in the documentation -- what
the abbreviations and symbols and the like mean.

If I do, I will post it here first for criticism.

Your thoughts?

-T
0
ToddAndMargo
10/2/2018 8:40:38 AM
--0000000000005b9d7a05773b2d4c
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

https://docs.perl6.org/type/Signature

Todd can I ask that you read this page of the docs for two reasons. Firstly
understanding Signatures will go a long way to helping you to understand
the rest of the docs, and secondly so you can give use your take on it
pointing out any areas you think could be more clear.

I personally think that grasping the signature system is fundamental in
moving from Perl 5 to Perl 6 and in reading the Perl6 docs.

Simon

On Tue, 2 Oct 2018 at 09:41, ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> >> Le dim. 30 sept. 2018 =C3=A0 11:32, ToddAndMargo <ToddAndMargo@zoho.co=
m
> >> <mailto:ToddAndMargo@zoho.com>> a =C3=A9crit :
> >>
> >>     On 9/26/18 7:27 PM, Brandon Allbery wrote:
> >>      > And again: this is only because you know perl 5. People are not
> born
> >>      > knowing perl 5; to someone who doesn't know it, perldoc raises
> >>     the same
> >>      > kinds of questions you have been asking, and the answers have t=
o
> be
> >>      > found in perlsyn or perldata, etc. Which is exactly what you ha=
ve
> >>     been
> >>      > complaining about with respect to perl 6 doing the same kind of
> >>     thing.
> >>
> >>     Geez Louise Bradley!  The above is a really bad argument!
> >>
> >>     "perldocs -f xxx" is a bazillion times easier to understand
> >>     than Perl 6's manual, regardless if you know Perl 5 or not.
> >>
> >>     And, by the way, I wonder just how may are coming to Perl 6
> >>     without ANY Perl 5 experience?
> >>
> >>     In every instance I can look up, perldocs puts Perl 6's
> >>     documentation to shame.
> >>
> >>     A simple comparison: which one leaves you knowing how to use
> >>     the function and which one leaves you wondering "What the h***???"
> >>
> >>     $ perldoc -f join
> >>           join EXPR,LIST
> >>                   Joins the separate strings of LIST into a single
> >>     string with
> >>                   fields separated by the value of EXPR, and returns
> >>     that new
> >>                   string. Example:
> >>
> >>                      my $rec =3D join(':',
> >>     $login,$passwd,$uid,$gid,$gcos,$home,$shell);
> >>
> >>                   Beware that unlike "split", "join" doesn't take a
> pattern
> >>                   as its first argument. Compare "split".
> >>
> >>
> >>
> >>     https://docs.perl6.org/routine/join#(List)_routine_join
> >>
> >>           (List) routine join
> >>
> >>           Defined as:
> >>
> >>           sub    join($separator, *@list --> Str:D)
> >>           method join(List:D: $separator --> Str:D)
> >>
> >>           Treats the elements of the list as strings, interleaves
> >>           them with $separator and concatenates everything into a
> >>           single string.
> >>
> >>           Example:
> >>
> >>           join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=
=BB
> >>
> >>           Note that the method form does not flatten sublists:
> >>
> >>           say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b c=E2=
=90=A4=C2=BB
> >>
> >>
> >>     Oh and what the &*@% is a "*@list"?  And why does the sub have one
> >>     and the method does not?  They are suppose to be identical.
> >>
> >>     -T
> >>
>
> On 9/30/18 4:01 AM, Laurent Rosenfeld wrote:
> > Hi Todd,
> > I disagree with you. The P6 documentation can certainly be improved, bu=
t
> > it is quite good and clear already. Remember that it is technical
> > documentation, not a tutorial.
> >
> > And the example you chose to give does not support your point: the P6
> > documentation for join is just at least as clear as the P5 documentatio=
n
> > on the same function.
> >
> > When I wrote my book on Perl 6, there was no other P6 book around, so I
> > had to rely heavily on the existing documentation for all kinds of
> > syntax details, and I found that is was quite useful and even easy (and
> > it has improved quite a bit since then). You're welcome to help
> > improving the documentation, but, please, don't say it's bad just
> > because you don't want to make the effort needed to understand it.
> >
> > If you don't understand the signatures in the documentation, you've
> > basically two possible solutions: just skip them, as you can certainly
> > understand how to use a built-in function without understanding the
> > signature (but it is still very useful to have the signature definition
> > in the documentation), or bite the bullet and learn how to read
> signatures.
> >
> > Despite your denegation, I think that what you really need is to read a
> > good tutorial or book on Perl 6. If you had made a real effort to read
> > such introductory material, you would probably not have needed to ask
> > about 90% of the questions you asked lately. Do yourself a favor: read
> > good introductory material (tutorials or books).
> >
> > HTH,
> > Laurent.
> >
> >
>
> Hi Laurent,
>
> You already know what to expect.  You are an advanced user.
> And I would have to tentatively agree with you. The documentation
> does "seem" to be extraordinarily well written for advanced
> developer level users.  Just the sort of reader that does not
> need to use it as they already know what is going on.
>
> When you know how to use a function but can't reverse
> engineer how to do it from the documentation, then you
> are in real trouble.
>
> I am thinking of doing an RFE to place at the front
> of the routines documentation that introduces the reader
> on how to read THAT line in the documentation -- what
> the abbreviations and symbols and the like mean.
>
> If I do, I will post it here first for criticism.
>
> Your thoughts?
>
> -T
>


--=20
Simon Proctor
Cognoscite aliquid novum cotidie

http://www.khanate.co.uk/

--0000000000005b9d7a05773b2d4c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><a href=3D"https://docs.perl6.org/type/Si=
gnature">https://docs.perl6.org/type/Signature</a></div><div dir=3D"ltr"><b=
r></div><div>Todd can I ask that you read this page of the docs for two rea=
sons. Firstly understanding Signatures will go a long way to helping you to=
 understand the rest of the docs, and secondly so you can give use your tak=
e on it pointing out any areas you think could be more clear.</div><div><br=
></div><div>I personally think that grasping the signature system is fundam=
ental in moving from Perl 5 to Perl 6 and in reading the Perl6 docs. <br></=
div><div><br></div><div>Simon<br></div></div><br><div class=3D"gmail_quote"=
><div dir=3D"ltr">On Tue, 2 Oct 2018 at 09:41, ToddAndMargo &lt;<a href=3D"=
mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex">&gt;&gt; Le dim. 30 sept. 2018 =C3=A0 11:32=
, ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blan=
k">ToddAndMargo@zoho.com</a> <br>
&gt;&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_bla=
nk">ToddAndMargo@zoho.com</a>&gt;&gt; a =C3=A9crit :<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0On 9/26/18 7:27 PM, Brandon Allbery wrote:<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 &gt; And again: this is only because you know =
perl 5. People are not born<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 &gt; knowing perl 5; to someone who doesn&#39;=
t know it, perldoc raises<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0the same<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 &gt; kinds of questions you have been asking, =
and the answers have to be<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 &gt; found in perlsyn or perldata, etc. Which =
is exactly what you have<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0been<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 &gt; complaining about with respect to perl 6 =
doing the same kind of<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0thing.<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0Geez Louise Bradley!=C2=A0 The above is a reall=
y bad argument!<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0&quot;perldocs -f xxx&quot; is a bazillion time=
s easier to understand<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0than Perl 6&#39;s manual, regardless if you kno=
w Perl 5 or not.<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0And, by the way, I wonder just how may are comi=
ng to Perl 6<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0without ANY Perl 5 experience?<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0In every instance I can look up, perldocs puts =
Perl 6&#39;s<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0documentation to shame.<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0A simple comparison: which one leaves you knowi=
ng how to use<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0the function and which one leaves you wondering=
 &quot;What the h***???&quot;<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0$ perldoc -f join<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0join EXPR,LIST<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0Joins the separate strings of LIST into a single<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0string with<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0fields separated by the value of EXPR, and returns<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0that new<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0string. Example:<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 my $rec =3D join(&#39;:&#39;,<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0$login,$passwd,$uid,$gid,$gcos,$home,$shell);<b=
r>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0Beware that unlike &quot;split&quot;, &quot;join&quot; doesn&#39;t take =
a pattern<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0as its first argument. Compare &quot;split&quot;.<br>
&gt;&gt; <br>
&gt;&gt; <br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0<a href=3D"https://docs.perl6.org/routine/join#=
(List)_routine_join" rel=3D"noreferrer" target=3D"_blank">https://docs.perl=
6.org/routine/join#(List)_routine_join</a><br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0(List) routine join<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Defined as:<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0sub=C2=A0 =C2=A0 join($sep=
arator, *@list --&gt; Str:D)<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0method join(List:D: $separ=
ator --&gt; Str:D)<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Treats the elements of the=
 list as strings, interleaves<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0them with $separator and c=
oncatenates everything into a<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0single string.<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Example:<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0join &#39;, &#39;, &lt;a b=
 c&gt;;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0# RESULT: =C2=ABa, b=
, c=C2=BB<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Note that the method form =
does not flatten sublists:<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0say (1, &lt;a b c&gt;).joi=
n(&#39;|&#39;);=C2=A0 =C2=A0 =C2=A0# OUTPUT: =C2=AB1|a b c=E2=90=A4=C2=BB<b=
r>
&gt;&gt; <br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0Oh and what the &amp;*@% is a &quot;*@list&quot=
;?=C2=A0 And why does the sub have one<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0and the method does not?=C2=A0 They are suppose=
 to be identical.<br>
&gt;&gt; <br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0-T<br>
&gt;&gt; <br>
<br>
On 9/30/18 4:01 AM, Laurent Rosenfeld wrote:<br>
&gt; Hi Todd,<br>
&gt; I disagree with you. The P6 documentation can certainly be improved, b=
ut <br>
&gt; it is quite good and clear already. Remember that it is technical <br>
&gt; documentation, not a tutorial.<br>
&gt; <br>
&gt; And the example you chose to give does not support your point: the P6 =
<br>
&gt; documentation for join is just at least as clear as the P5 documentati=
on <br>
&gt; on the same function.<br>
&gt; <br>
&gt; When I wrote my book on Perl 6, there was no other P6 book around, so =
I <br>
&gt; had to rely heavily on the existing documentation for all kinds of <br=
>
&gt; syntax details, and I found that is was quite useful and even easy (an=
d <br>
&gt; it has improved quite a bit since then). You&#39;re welcome to help <b=
r>
&gt; improving the documentation, but, please, don&#39;t say it&#39;s bad j=
ust <br>
&gt; because you don&#39;t want to make the effort needed to understand it.=
<br>
&gt; <br>
&gt; If you don&#39;t understand the signatures in the documentation, you&#=
39;ve <br>
&gt; basically two possible solutions: just skip them, as you can certainly=
 <br>
&gt; understand how to use a built-in function without understanding the <b=
r>
&gt; signature (but it is still very useful to have the signature definitio=
n <br>
&gt; in the documentation), or bite the bullet and learn how to read signat=
ures.<br>
&gt; <br>
&gt; Despite your denegation, I think that what you really need is to read =
a <br>
&gt; good tutorial or book on Perl 6. If you had made a real effort to read=
 <br>
&gt; such introductory material, you would probably not have needed to ask =
<br>
&gt; about 90% of the questions you asked lately. Do yourself a favor: read=
 <br>
&gt; good introductory material (tutorials or books).<br>
&gt; <br>
&gt; HTH,<br>
&gt; Laurent.<br>
&gt; <br>
&gt; <br>
<br>
Hi Laurent,<br>
<br>
You already know what to expect.=C2=A0 You are an advanced user.<br>
And I would have to tentatively agree with you. The documentation<br>
does &quot;seem&quot; to be extraordinarily well written for advanced<br>
developer level users.=C2=A0 Just the sort of reader that does not<br>
need to use it as they already know what is going on.<br>
<br>
When you know how to use a function but can&#39;t reverse<br>
engineer how to do it from the documentation, then you<br>
are in real trouble.<br>
<br>
I am thinking of doing an RFE to place at the front<br>
of the routines documentation that introduces the reader<br>
on how to read THAT line in the documentation -- what<br>
the abbreviations and symbols and the like mean.<br>
<br>
If I do, I will post it here first for criticism.<br>
<br>
Your thoughts?<br>
<br>
-T<br>
</blockquote></div><br clear=3D"all"><br>-- <br><div dir=3D"ltr" class=3D"g=
mail_signature" data-smartmail=3D"gmail_signature">Simon Proctor<br>Cognosc=
ite aliquid novum cotidie<br><br><a href=3D"http://www.khanate.co.uk/" targ=
et=3D"_blank">http://www.khanate.co.uk/</a></div>

--0000000000005b9d7a05773b2d4c--
0
simon
10/2/2018 9:01:58 AM
Also, a hopefully less steep introduction:

<plug>=20
  https://opensource.com/article/18/9/signatures-perl-6
</plug>

> On 2 Oct 2018, at 11:01, Simon Proctor <simon.proctor@gmail.com> =
wrote:
>=20
> https://docs.perl6.org/type/Signature
>=20
> Todd can I ask that you read this page of the docs for two reasons. =
Firstly understanding Signatures will go a long way to helping you to =
understand the rest of the docs, and secondly so you can give use your =
take on it pointing out any areas you think could be more clear.
>=20
> I personally think that grasping the signature system is fundamental =
in moving from Perl 5 to Perl 6 and in reading the Perl6 docs.=20
>=20
> Simon
>=20
> On Tue, 2 Oct 2018 at 09:41, ToddAndMargo <ToddAndMargo@zoho.com> =
wrote:
> >> Le dim. 30 sept. 2018 =C3=A0 11:32, ToddAndMargo =
<ToddAndMargo@zoho.com=20
> >> <mailto:ToddAndMargo@zoho.com>> a =C3=A9crit :
> >>=20
> >>     On 9/26/18 7:27 PM, Brandon Allbery wrote:
> >>      > And again: this is only because you know perl 5. People are =
not born
> >>      > knowing perl 5; to someone who doesn't know it, perldoc =
raises
> >>     the same
> >>      > kinds of questions you have been asking, and the answers =
have to be
> >>      > found in perlsyn or perldata, etc. Which is exactly what you =
have
> >>     been
> >>      > complaining about with respect to perl 6 doing the same kind =
of
> >>     thing.
> >>=20
> >>     Geez Louise Bradley!  The above is a really bad argument!
> >>=20
> >>     "perldocs -f xxx" is a bazillion times easier to understand
> >>     than Perl 6's manual, regardless if you know Perl 5 or not.
> >>=20
> >>     And, by the way, I wonder just how may are coming to Perl 6
> >>     without ANY Perl 5 experience?
> >>=20
> >>     In every instance I can look up, perldocs puts Perl 6's
> >>     documentation to shame.
> >>=20
> >>     A simple comparison: which one leaves you knowing how to use
> >>     the function and which one leaves you wondering "What the =
h***???"
> >>=20
> >>     $ perldoc -f join
> >>           join EXPR,LIST
> >>                   Joins the separate strings of LIST into a single
> >>     string with
> >>                   fields separated by the value of EXPR, and =
returns
> >>     that new
> >>                   string. Example:
> >>=20
> >>                      my $rec =3D join(':',
> >>     $login,$passwd,$uid,$gid,$gcos,$home,$shell);
> >>=20
> >>                   Beware that unlike "split", "join" doesn't take a =
pattern
> >>                   as its first argument. Compare "split".
> >>=20
> >>=20
> >>=20
> >>     https://docs.perl6.org/routine/join#(List)_routine_join
> >>=20
> >>           (List) routine join
> >>=20
> >>           Defined as:
> >>=20
> >>           sub    join($separator, *@list --> Str:D)
> >>           method join(List:D: $separator --> Str:D)
> >>=20
> >>           Treats the elements of the list as strings, interleaves
> >>           them with $separator and concatenates everything into a
> >>           single string.
> >>=20
> >>           Example:
> >>=20
> >>           join ', ', <a b c>;             # RESULT: =C2=ABa, b, c=C2=BB=

> >>=20
> >>           Note that the method form does not flatten sublists:
> >>=20
> >>           say (1, <a b c>).join('|');     # OUTPUT: =C2=AB1|a b =
c=E2=90=A4=C2=BB
> >>=20
> >>=20
> >>     Oh and what the &*@% is a "*@list"?  And why does the sub have =
one
> >>     and the method does not?  They are suppose to be identical.
> >>=20
> >>     -T
> >>=20
>=20
> On 9/30/18 4:01 AM, Laurent Rosenfeld wrote:
> > Hi Todd,
> > I disagree with you. The P6 documentation can certainly be improved, =
but=20
> > it is quite good and clear already. Remember that it is technical=20
> > documentation, not a tutorial.
> >=20
> > And the example you chose to give does not support your point: the =
P6=20
> > documentation for join is just at least as clear as the P5 =
documentation=20
> > on the same function.
> >=20
> > When I wrote my book on Perl 6, there was no other P6 book around, =
so I=20
> > had to rely heavily on the existing documentation for all kinds of=20=

> > syntax details, and I found that is was quite useful and even easy =
(and=20
> > it has improved quite a bit since then). You're welcome to help=20
> > improving the documentation, but, please, don't say it's bad just=20
> > because you don't want to make the effort needed to understand it.
> >=20
> > If you don't understand the signatures in the documentation, you've=20=

> > basically two possible solutions: just skip them, as you can =
certainly=20
> > understand how to use a built-in function without understanding the=20=

> > signature (but it is still very useful to have the signature =
definition=20
> > in the documentation), or bite the bullet and learn how to read =
signatures.
> >=20
> > Despite your denegation, I think that what you really need is to =
read a=20
> > good tutorial or book on Perl 6. If you had made a real effort to =
read=20
> > such introductory material, you would probably not have needed to =
ask=20
> > about 90% of the questions you asked lately. Do yourself a favor: =
read=20
> > good introductory material (tutorials or books).
> >=20
> > HTH,
> > Laurent.
> >=20
> >=20
>=20
> Hi Laurent,
>=20
> You already know what to expect.  You are an advanced user.
> And I would have to tentatively agree with you. The documentation
> does "seem" to be extraordinarily well written for advanced
> developer level users.  Just the sort of reader that does not
> need to use it as they already know what is going on.
>=20
> When you know how to use a function but can't reverse
> engineer how to do it from the documentation, then you
> are in real trouble.
>=20
> I am thinking of doing an RFE to place at the front
> of the routines documentation that introduces the reader
> on how to read THAT line in the documentation -- what
> the abbreviations and symbols and the like mean.
>=20
> If I do, I will post it here first for criticism.
>=20
> Your thoughts?
>=20
> -T
>=20
>=20
> --=20
> Simon Proctor
> Cognoscite aliquid novum cotidie
>=20
> http://www.khanate.co.uk/
0
liz
10/2/2018 9:24:22 AM
--Apple-Mail=_E47ED4FA-45C3-4CEE-B22C-5353C8EE2810
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

> On Oct 2, 2018, at 04:40, ToddAndMargo <ToddAndMargo@zoho.com> wrote:
>=20
> I am thinking of doing an RFE to place at the front
> of the routines documentation that introduces the reader
> on how to read THAT line in the documentation -- what
> the abbreviations and symbols and the like mean.


Referring the reader to the copy that already exists is better than =
duplicating that information.

Redundancy is tedious to read and hard to maintain.

Making the manual more readable for people who won't look things up =
isn't worth that.

--=20
Rocco Caputo <rcaputo@pobox.com>

--Apple-Mail=_E47ED4FA-45C3-4CEE-B22C-5353C8EE2810
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" =
class=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D"">On =
Oct 2, 2018, at 04:40, ToddAndMargo &lt;<a =
href=3D"mailto:ToddAndMargo@zoho.com" =
class=3D"">ToddAndMargo@zoho.com</a>&gt; wrote:</div><div class=3D""><div =
class=3D""><br class=3D"">I am thinking of doing an RFE to place at the =
front<br class=3D"">of the routines documentation that introduces the =
reader<br class=3D"">on how to read THAT line in the documentation -- =
what<br class=3D"">the abbreviations and symbols and the like mean.<br =
class=3D""></div></div></blockquote></div><div class=3D""><br =
class=3D""></div><div class=3D"">Referring the reader to the copy that =
already exists is better than duplicating that information.</div><div =
class=3D""><br class=3D""></div><div class=3D"">Redundancy is tedious to =
read and hard to maintain.</div><div class=3D""><br class=3D""></div><div =
class=3D"">Making the manual more readable for people who won't look =
things up isn't worth that.</div><div class=3D""><br class=3D""></div><div=
 class=3D""><div class=3D""><span class=3D"Apple-style-span" =
style=3D"border-collapse: separate; font-family: Monaco; =
font-variant-ligatures: normal; font-variant-east-asian: normal; =
font-variant-position: normal; line-height: normal; border-spacing: =
0px;"><div style=3D"word-wrap: break-word; -webkit-nbsp-mode: space; =
-webkit-line-break: after-white-space;" class=3D""><div =
class=3D"">--&nbsp;</div><div class=3D"">Rocco Caputo &lt;<a =
href=3D"mailto:rcaputo@pobox.com" =
class=3D"">rcaputo@pobox.com</a>&gt;</div></div></span></div><div><blockqu=
ote type=3D"cite" class=3D""></blockquote></div></div></body></html>=

--Apple-Mail=_E47ED4FA-45C3-4CEE-B22C-5353C8EE2810--
0
rcaputo
10/2/2018 1:06:44 PM
--000000000000e5cabd0577430637
Content-Type: text/plain; charset="UTF-8"

    >>     On 10/1/18 3:37 PM, Donald Hunter wrote:
    >>      > Methods don't accept [], values that are positional do that.
    >>     Is your distinction that [] is actually a routine in itself
    >>     and not part of the method?  And I am lumping them together?
    On 10/2/18 12:18 AM, Laurent Rosenfeld via perl6-users wrote:
    > Yes, [] acts on the result (a positional, e.g. a list) returned by
    > function or method, it does not act on the function or method itself.

    "acts on the result" is a beautiful way to state it.

Just to be clear, the fact that it acts on the result of a method
or function doesn't mean a method or function or result has to
be involved. Consider:

@array[0]

A variable `@array` may well not be a result of anything.

--------

The thing on the left of a postfix `[...]` may not even do the `Positional`
role.

The postfix `[]` operattor turns into an an `AT-POS` method call if
the thing on the left is a `Positional`. The Positional role defines
an `AT-POS` method. Anything that does the `Positional` role will
work as the left hand side of a postfix `[...]`.

But other types that *don't* do the `Positional` role can still have
an `AT-POS` method and a postfix `[...]` will work with them too.

------

In particular the built in `Any` has an `AT-POS`.

So you can append a `[...]` to any single thing and it'll work:

42[0]

The above results in 42.

42[1]

yields "Index out of range. Is: 1, should be in 0..0"

-----

So, to recap: a postfix `[]` acts on whatever is on its left,
pulling out elements from the thing on its left, treated as
a list like thing, with the elements selected according to
the index(es) inside the brackets.

--
raiph

--000000000000e5cabd0577430637
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div dir=3D"ltr">=C2=A0=C2=A0=C2=A0 &gt;&gt;=C2=A0=C2=
=A0=C2=A0=C2=A0 On 10/1/18 3:37 PM, Donald Hunter wrote:<br>=C2=A0=C2=A0=C2=
=A0 &gt;&gt;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &gt; Methods don&#39;t accept []=
, values that are positional do that.<br>=C2=A0=C2=A0=C2=A0 &gt;&gt;=C2=A0=
=C2=A0=C2=A0=C2=A0 Is your distinction that [] is actually a routine in its=
elf<br>=C2=A0=C2=A0=C2=A0 &gt;&gt;=C2=A0=C2=A0=C2=A0=C2=A0 and not part of =
the method?=C2=A0 And I am lumping them together?<br>=C2=A0=C2=A0=C2=A0 On =
10/2/18 12:18 AM, Laurent Rosenfeld via perl6-users wrote:<br>=C2=A0=C2=A0=
=C2=A0 &gt; Yes, [] acts on the result (a positional, e.g. a list) returned=
 by<br>=C2=A0=C2=A0=C2=A0 &gt; function or method, it does not act on the f=
unction or method itself.</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">=
=C2=A0=C2=A0=C2=A0 &quot;acts on the result&quot; is a beautiful way to sta=
te it.<br></div><div dir=3D"ltr"><br></div><div>Just to be clear, the fact =
that it acts on the result of a method</div><div>or function doesn&#39;t me=
an a method or function or result has to</div><div dir=3D"ltr">be involved.=
 Consider:<br><br>@array[0]<br><br>A variable `@array` may well not be a re=
sult of anything.</div><div dir=3D"ltr"><br></div><div dir=3D"ltr">--------=
<br></div><div dir=3D"ltr"><br></div><div>The thing on the left of a postfi=
x `[...]` may not even do the `Positional` role.<br></div><div dir=3D"ltr">=
<br></div>The postfix `[]` operattor turns into an an `AT-POS` method call =
if<div dir=3D"ltr"><div dir=3D"ltr">the thing on the left is a `Positional`=
.. The Positional role defines</div><div dir=3D"ltr">an `AT-POS` method. Any=
thing that does the `Positional` role will</div><div dir=3D"ltr">work as th=
e left hand side of a postfix `[...]`.<br></div><div><br></div><div>But oth=
er types that *don&#39;t* do the `Positional` role can still have</div><div=
>an `AT-POS` method and a postfix `[...]` will work with them too.<br></div=
><div><br></div><div>------<br></div><div><br></div><div>In particular the =
built in `Any` has an `AT-POS`.</div><div><br></div><div>So you can append =
a `[...]` to any single thing and it&#39;ll work:<br></div></div><div dir=
=3D"ltr"><br></div></div>42[0]<div><div><div dir=3D"ltr"><br></div></div><d=
iv>The above results in 42.</div><div><br></div>42[1]</div><div><div><br></=
div><div>yields &quot;Index out of range. Is: 1, should be in 0..0&quot;</d=
iv><div><br></div>-----<br></div><div dir=3D"ltr"><div><br></div><div>So, t=
o recap: a postfix `[]` acts on whatever is on its left,</div><div>pulling =
out elements from the thing on its left, treated as</div><div>a list like t=
hing, with the elements selected according to</div><div>the index(es) insid=
e the brackets.<br></div><div dir=3D"ltr"><br></div><div dir=3D"ltr">--<br>=
raiph<br></div></div></div>

--000000000000e5cabd0577430637--
0
ralphdjmellor
10/2/2018 6:23:52 PM
On 10/1/18 4:17 PM, Brandon Allbery wrote:
> That just sounds like the backing store got restored from backup, losing 
> anything added after the backup was taken. Which is not the best way to 
> do things (incrementals are nice), but if things had gone wrong enough 
> might have been the best they could do.

That does sound very plausible.
0
ToddAndMargo
10/2/2018 11:20:58 PM
On 9/30/18 9:11 PM, Richard Hainsworth wrote:

> But I thought you just implied you wanted pro stuff, not beginner stuff=
=2E=20

I have no idea how you got that out of what I said.  I want the
beginners stuff included with the pro stuff.

> So what is wanted is 'common user' stuff (see below).

You are mixing socialist political terms with what I
am stating.  By "common user" I mean a typical user.
The term was meant to differentiate typical users from
experts.

> Actually, I do not understand what you are saying at all, eg., 'I have =

> know how to use ...' is not clear.

Again, I have no idea how you got that out of what I said.
When I use a function all the time, I know who to use the
function.  The problem was that I could not reverse engineer
the documentation.  In other words, I figured out how to
use the function from other sources than the documentation.
Had I used the documentation, I never would have figured it out.
That is the issue.


> But I am confused about what *you* want from the reference documentatio=
n.

I think maybe there is a translation issue between your native
language and mine.  I have been very clear what I am
after, so I won't repeat it yet again.

>>
>> =C2=A0=C2=A0=C2=A0 3) when calling other term to explain things, it sh=
ould
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 pick the easiest term available. =
It should not pick
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 any nasty, advanced terms.=C2=A0 =
(Unless the writer enjoys
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 confusing the reader and bragging=
 about how smart
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 he is.=C2=A0 And he is a jerk.)
> This does not seem to be correct English.=20

You are again missing the point.  It is wonderful if the writer
wants to share an interesting, complex way of doing things.
But only AFTER he explains it in is simple terms.  You don't
share a calculus equation with someone until after you
teach them the fundamentals of arithmetic.


> We come again to this category: 'the common user'. This person (possibl=
y=20
> there are more) is not a 'beginner' nor a 'pro'. What is to be expected=
=20
> of a 'common user' of perl6? Can we assume that a 'common user' has rea=
d=20
> an introduction to perl6?

You are mixing socialist political terms with what
I am saying again.

>> Perl 5's perldoc did a wonderful job of this.
> I never liked perldoc. 'To whom how', as they say in Russian.

I find perldocs from the command line a total pain in the butt.
Fortunately, it is repeated on web beautifully.

>>
>> I have been posting RFE about this as they come up.
>> So I am trying to be part of the solution instead
>> of constantly gripping about the problem.

> Indeed this discussion has, at times, been gripping, but I hope you=20
> don't think I have been griping. ;)

I think that there is a translation and maybe a cultural difference
that has lead you to misconstrue my statements.  That or you are
just trying to pick a fight.  Your "buffoon in the White House"
statement is definitely trying to pick a fight.
0
ToddAndMargo
10/2/2018 11:40:00 PM
On 10/2/18 6:06 AM, Rocco Caputo wrote:
>> On Oct 2, 2018, at 04:40, ToddAndMargo <ToddAndMargo@zoho.com 
>> <mailto:ToddAndMargo@zoho.com>> wrote:
>>
>> I am thinking of doing an RFE to place at the front
>> of the routines documentation that introduces the reader
>> on how to read THAT line in the documentation -- what
>> the abbreviations and symbols and the like mean.
> 
> Referring the reader to the copy that already exists is better than 
> duplicating that information.

So it is already written?  Do you have a link to that?
0
ToddAndMargo
10/3/2018 12:16:42 AM
On 10/2/18 11:23 AM, Ralph Mellor wrote:
> So, to recap: a postfix `[]` acts on whatever is on its left,
> pulling out elements from the thing on its left, treated as
> a list like thing, with the elements selected according to
> the index(es) inside the brackets.
> 


Perfect!  Thank you!

I am going to quote you in my write up.

Question: in Perl syntaxland, is "postfix" short
for "postcircumfix"?


-T
0
ToddAndMargo
10/3/2018 12:28:01 AM
--0000000000001dd74c0577482a53
Content-Type: text/plain; charset="UTF-8"

On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> Question: in Perl syntaxland, is "postfix" short
> for "postcircumfix"?
>

Nope.  Each are different types of oeprator.  Here is the list:
https://docs.perl6.org/language/operators#Operator_classification

--0000000000001dd74c0577482a53
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br><div class=3D"gmail_quote"><div dir=
=3D"ltr">On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo &lt;<a href=3D"mailto:=
ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>&gt; wrote:</div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s=
olid rgb(204,204,204);padding-left:1ex">
Question: in Perl syntaxland, is &quot;postfix&quot; short<br>
for &quot;postcircumfix&quot;?<br></blockquote><div><br></div><div>Nope.=C2=
=A0 Each are different types of oeprator.=C2=A0 Here is the list:</div><div=
><a href=3D"https://docs.perl6.org/language/operators#Operator_classificati=
on">https://docs.perl6.org/language/operators#Operator_classification</a></=
div><div>=C2=A0<br></div></div></div></div>

--0000000000001dd74c0577482a53--
0
curt
10/3/2018 12:31:38 AM
On 2018-09-30 9:31 pm, ToddAndMargo wrote:
 >By the way, schools have books.  Why is it do you suppose that that 
schools also have teacher?

Well, why is it, do you suppose, that hiring a tutor costs so much more 
than buying a book?

Certainly, some people learn better aurally than visually.  There are 
quite a few recorded P6 presentations around, but I don't know if 
there's a collected list anywhere, or one that links to recent talks 
(anything not too out-of-date).


 >[RH] are mixing socialist political terms with what I am stating.  [...]
 >I have been very clear what I am after, so I won't repeat it yet again.

The word "common" comes from Latin, and "typical" from Greek, but in 
this context they are synonyms. There's nothing political about it.  But 
it does show how easy it is for something that is clear to one person to 
be misunderstood by another. Repeating something the same way doesn't 
make it clearer (that's one of the reasons we have teachers instead of 
only books, because they can reword things and take different approaches).

There isn't any easy answer to coming up with documentation that works 
for everyone.  (You can't please all of the people all of the time.) 
Perl(5)doc is just a book, after all; but "be more like Perl 5" won't 
work, because Perl 6 is *different* from Perl 5.  Putting beginner and 
advanced docs together might end up with a mish-mash that makes nobody 
happy.  It seems likely to me that you're looking for example-based 
documentation that is organised very differently from docs.perl6.  What 
about Moritz's *Perl 6 Fundamentals*, "A Primer with Examples, Projects, 
and Case Studies"?

https://www.apress.com/gp/book/9781484228982

Is this something that better fits the way you think?


-David
0
david
10/3/2018 12:41:14 AM
On 10/2/18 5:31 PM, Curt Tilmes wrote:
>=20
> On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     Question: in Perl syntaxland, is "postfix" short
>     for "postcircumfix"?
>=20
>=20
> Nope.=C2=A0 Each are different types of oeprator.=C2=A0 Here is the lis=
t:
> https://docs.perl6.org/language/operators#Operator_classification
>=20

Hi Curt,

Maybe I am blind, but I can only find

postcircumfix [ ]
https://docs.perl6.org/language/operators#postcircumfix_[_]

in that list.

:'(

-T
0
ToddAndMargo
10/3/2018 12:45:42 AM
On 10/2/18 2:01 AM, Simon Proctor wrote:
> https://docs.perl6.org/type/Signature
> 
> Todd can I ask that you read this page of the docs for two reasons. 
> Firstly understanding Signatures will go a long way to helping you to 
> understand the rest of the docs, and secondly so you can give use your 
> take on it pointing out any areas you think could be more clear.
> 
> I personally think that grasping the signature system is fundamental in 
> moving from Perl 5 to Perl 6 and in reading the Perl6 docs.
> 
> Simon

In progress.   Thank you!
0
ToddAndMargo
10/3/2018 12:46:51 AM
On 10/2/18 2:24 AM, Elizabeth Mattijsen wrote:
> Also, a hopefully less steep introduction:
> 
> <plug>
>    https://opensource.com/article/18/9/signatures-perl-6
> </plug>

Will do!  Thank you!

Do you have an index to other stuff you have written?
0
ToddAndMargo
10/3/2018 12:48:41 AM
On Tue, Oct 02, 2018 at 05:28:01PM -0700, ToddAndMargo wrote:
: On 10/2/18 11:23 AM, Ralph Mellor wrote:
: >So, to recap: a postfix `[]` acts on whatever is on its left,
: >pulling out elements from the thing on its left, treated as
: >a list like thing, with the elements selected according to
: >the index(es) inside the brackets.
: >
: 
: 
: Perfect!  Thank you!
: 
: I am going to quote you in my write up.
: 
: Question: in Perl syntaxland, is "postfix" short
: for "postcircumfix"?

Kinda the other way around.  A postcircumfix is just a special kind of
postfix that happens to enclose an extra argument, with the result that,
while your typical postfix has only one argument (like the $a of $a++),
your typical postcircumfix has two (like the @a and 42 of @a[42]).

The second syntactic argument is often interpreted as a slice or an
function argument list later on, but syntactically it's just a single
expression inside the bracketing chars.  So in @a[42,43], there are
still only two arguments, @a array and the 42,43 list expression.

Larry
0
larry
10/3/2018 12:51:07 AM
--0000000000000bff1a057748709b
Content-Type: text/plain; charset="UTF-8"

On Tue, Oct 2, 2018 at 8:46 PM ToddAndMargo <ToddAndMargo@zoho.com> wrote:

> On 10/2/18 5:31 PM, Curt Tilmes wrote:
> >
> > On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo <ToddAndMargo@zoho.com
> > <mailto:ToddAndMargo@zoho.com>> wrote:
> >
> >     Question: in Perl syntaxland, is "postfix" short
> >     for "postcircumfix"?
> >
> >
> > Nope.  Each are different types of oeprator.  Here is the list:
> > https://docs.perl6.org/language/operators#Operator_classification
> >
>
> Hi Curt,
>
> Maybe I am blind, but I can only find
>
> postcircumfix [ ]
> https://docs.perl6.org/language/operators#postcircumfix_[_]


Here's the list cut/pasted from directly at the link I posted:

Operators can occur in several positions relative to a term:
+term prefix
term1 + term2 infix
term++ postfix
(term) circumfix
term1[term2] postcircumfix

From that, you can see that postfix things go behind a single term while
postcircumfix things go behind 1 term, and around another term.

One example on that page of a postcircumfix operator is the [] you linked
to.

--0000000000000bff1a057748709b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br><div class=3D"gmail_quote"><div dir=3D"ltr">On Tue=
, Oct 2, 2018 at 8:46 PM ToddAndMargo &lt;<a href=3D"mailto:ToddAndMargo@zo=
ho.com">ToddAndMargo@zoho.com</a>&gt; wrote:<br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-=
left:1ex">On 10/2/18 5:31 PM, Curt Tilmes wrote:<br>
&gt; <br>
&gt; On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo &lt;<a href=3D"mailto:Todd=
AndMargo@zoho.com" target=3D"_blank">ToddAndMargo@zoho.com</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:ToddAndMargo@zoho.com" target=3D"_blank">=
ToddAndMargo@zoho.com</a>&gt;&gt; wrote:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Question: in Perl syntaxland, is &quot;postfix&quot=
; short<br>
&gt;=C2=A0 =C2=A0 =C2=A0for &quot;postcircumfix&quot;?<br>
&gt; <br>
&gt; <br>
&gt; Nope.=C2=A0 Each are different types of oeprator.=C2=A0 Here is the li=
st:<br>
&gt; <a href=3D"https://docs.perl6.org/language/operators#Operator_classifi=
cation" rel=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/languag=
e/operators#Operator_classification</a><br>
&gt; <br>
<br>
Hi Curt,<br>
<br>
Maybe I am blind, but I can only find<br>
<br>
postcircumfix [ ]<br>
<a href=3D"https://docs.perl6.org/language/operators#postcircumfix_[_]" rel=
=3D"noreferrer" target=3D"_blank">https://docs.perl6.org/language/operators=
#postcircumfix_[_]</a></blockquote><div>=C2=A0</div><div>Here&#39;s the lis=
t cut/pasted from directly at the link I posted:</div><div><br></div><p sty=
le=3D"color:rgb(0,0,0);font-family:sans-serif;font-size:14px">Operators can=
 occur in several positions relative to a term:</p><table class=3D"gmail-po=
d-table" style=3D"color:rgb(0,0,0);font-family:sans-serif;font-size:14px;di=
splay:block;overflow-x:auto"><tbody><tr style=3D"background-color:rgba(0,0,=
0,0.03)"><td style=3D"padding:0.4em">+term</td><td style=3D"padding:0.4em">=
prefix</td></tr><tr style=3D"background-color:transparent"><td style=3D"pad=
ding:0.4em">term1 + term2</td><td style=3D"padding:0.4em">infix</td></tr><t=
r style=3D"background-color:rgba(0,0,0,0.03)"><td style=3D"padding:0.4em">t=
erm++</td><td style=3D"padding:0.4em">postfix</td></tr><tr style=3D"backgro=
und-color:transparent"><td style=3D"padding:0.4em">(term)</td><td style=3D"=
padding:0.4em">circumfix</td></tr><tr style=3D"background-color:rgba(0,0,0,=
0.03)"><td style=3D"padding:0.4em">term1[term2]</td><td style=3D"padding:0.=
4em">postcircumfix<br></td></tr></tbody></table><div>=C2=A0</div><div>From =
that, you can see that postfix things go behind a single term while postcir=
cumfix things go behind 1 term, and around another term.</div><div><br></di=
v><div>One example on that page of a postcircumfix operator is the [] you l=
inked to.</div><div><br></div></div></div>

--0000000000000bff1a057748709b--
0
curt
10/3/2018 12:51:11 AM
On 2018-10-02 6:28 pm, ToddAndMargo wrote:
> Question: in Perl syntaxland, is "postfix" short for "postcircumfix"? 
Again, search for "postcircumfix" in docs.perl6.org, and you will get this:

https://docs.perl6.org/language/operators#index-entry-postcircumfix_operator

 >>term++          postfix
 >>(term)          circumfix
 >>term1[term2]    postcircumfix

So it's a postfix operator and circumfix operator put together: *after* 
one term, and *around* the other term.



-David
0
david
10/3/2018 12:52:05 AM
On 10/2/18 5:51 PM, Larry Wall wrote:
> On Tue, Oct 02, 2018 at 05:28:01PM -0700, ToddAndMargo wrote:
> : On 10/2/18 11:23 AM, Ralph Mellor wrote:
> : >So, to recap: a postfix `[]` acts on whatever is on its left,
> : >pulling out elements from the thing on its left, treated as
> : >a list like thing, with the elements selected according to
> : >the index(es) inside the brackets.
> : >
> :
> :
> : Perfect!  Thank you!
> :
> : I am going to quote you in my write up.
> :
> : Question: in Perl syntaxland, is "postfix" short
> : for "postcircumfix"?
> 
> Kinda the other way around.  A postcircumfix is just a special kind of
> postfix that happens to enclose an extra argument, with the result that,
> while your typical postfix has only one argument (like the $a of $a++),
> your typical postcircumfix has two (like the @a and 42 of @a[42]).
> 
> The second syntactic argument is often interpreted as a slice or an
> function argument list later on, but syntactically it's just a single
> expression inside the bracketing chars.  So in @a[42,43], there are
> still only two arguments, @a array and the 42,43 list expression.
> 
> Larry
> 

Hi Larry,

Beautiful explanation!  You even tied their relationship
together, rather than leaving me thinking there were
two separate unrelated functions.   Thank you!

I am going to quote you too in my private write up.

-T
0
ToddAndMargo
10/3/2018 12:55:36 AM
On 10/2/18 5:51 PM, Curt Tilmes wrote:
>=20
>=20
> On Tue, Oct 2, 2018 at 8:46 PM ToddAndMargo <ToddAndMargo@zoho.com=20
> <mailto:ToddAndMargo@zoho.com>> wrote:
>=20
>     On 10/2/18 5:31 PM, Curt Tilmes wrote:
>      >
>      > On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo
>     <ToddAndMargo@zoho.com <mailto:ToddAndMargo@zoho.com>
>      > <mailto:ToddAndMargo@zoho.com <mailto:ToddAndMargo@zoho.com>>> w=
rote:
>      >
>      >=C2=A0 =C2=A0 =C2=A0Question: in Perl syntaxland, is "postfix" sh=
ort
>      >=C2=A0 =C2=A0 =C2=A0for "postcircumfix"?
>      >
>      >
>      > Nope.=C2=A0 Each are different types of oeprator.=C2=A0 Here is =
the list:
>      > https://docs.perl6.org/language/operators#Operator_classificatio=
n
>      >
>=20
>     Hi Curt,
>=20
>     Maybe I am blind, but I can only find
>=20
>     postcircumfix [ ]
>     https://docs.perl6.org/language/operators#postcircumfix_[_]
>=20
> Here's the list cut/pasted from directly at the link I posted:
>=20
> Operators can occur in several positions relative to a term:
>=20
> +term	prefix
> term1 + term2	infix
> term++	postfix
> (term)	circumfix
> term1[term2]	postcircumfix
>=20
>  From that, you can see that postfix things go behind a single term=20
> while postcircumfix things go behind 1 term, and around another term.
>=20
> One example on that page of a postcircumfix operator is the [] you=20
> linked to.
>=20


Hi Curt,

Thank you!

Larry removed the rest of the fuzz from my thinking.

-T
0
ToddAndMargo
10/3/2018 12:56:28 AM
--------------202CC9517FA52048C5768E0E
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

On 10/2/2018 5:45 PM, ToddAndMargo wrote:
> On 10/2/18 5:31 PM, Curt Tilmes wrote:
>>
>> On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo <ToddAndMargo@zoho.com 
>> <mailto:ToddAndMargo@zoho.com>> wrote:
>>
>>     Question: in Perl syntaxland, is "postfix" short
>>     for "postcircumfix"?
>>
>>
>> Nope.  Each are different types of oeprator.  Here is the list:
>> https://docs.perl6.org/language/operators#Operator_classification
>>
>
> Hi Curt,
>
> Maybe I am blind, but I can only find
>
> postcircumfix [ ]
> https://docs.perl6.org/language/operators#postcircumfix_[_]
>
> in that list.

It's second in the list:



Searching within web page for the term you want usually finds it if it's 
there.  Ctrl-F postfix.

--------------202CC9517FA52048C5768E0E
Content-Type: multipart/related;
 boundary="------------B2896F9ED7C84119D130F1D3"


--------------B2896F9ED7C84119D130F1D3
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    On 10/2/2018 5:45 PM, ToddAndMargo wrote:<br>
    <blockquote type="cite"
      cite="mid:888377ca-fc98-3967-e9cf-e5404c50d2d0@zoho.com">On
      10/2/18 5:31 PM, Curt Tilmes wrote:
      <br>
      <blockquote type="cite">
        <br>
        On Tue, Oct 2, 2018 at 8:28 PM ToddAndMargo
        &lt;<a class="moz-txt-link-abbreviated" href="mailto:ToddAndMargo@zoho.com">ToddAndMargo@zoho.com</a>
        <a class="moz-txt-link-rfc2396E" href="mailto:ToddAndMargo@zoho.com">&lt;mailto:ToddAndMargo@zoho.com&gt;</a>&gt; wrote:
        <br>
        <br>
            Question: in Perl syntaxland, is "postfix" short
        <br>
            for "postcircumfix"?
        <br>
        <br>
        <br>
        Nope.  Each are different types of oeprator.  Here is the list:
        <br>
<a class="moz-txt-link-freetext" href="https://docs.perl6.org/language/operators#Operator_classification">https://docs.perl6.org/language/operators#Operator_classification</a>
        <br>
        <br>
      </blockquote>
      <br>
      Hi Curt,
      <br>
      <br>
      Maybe I am blind, but I can only find
      <br>
      <br>
      postcircumfix [ ]
      <br>
      <a class="moz-txt-link-freetext" href="https://docs.perl6.org/language/operators#postcircumfix_">https://docs.perl6.org/language/operators#postcircumfix_</a>[_]
      <br>
      <br>
      in that list.
      <br>
    </blockquote>
    <br>
    <tt>It's second in the list:<br>
      <br>
      <img src="cid:part1.39BDCB28.F182BBBC@PSDT.com" alt=""><br>
      <br>
      Searching within web page for the term you want usually finds it
      if it's there.  Ctrl-F postfix.</tt>
  </body>
</html>

--------------B2896F9ED7C84119D130F1D3
Content-Type: image/png;
 name="nddedomccpjppgff.png"
Content-Transfer-Encoding: base64
Content-ID: <part1.39BDCB28.F182BBBC@PSDT.com>
Content-Disposition: inline;
 filename="nddedomccpjppgff.png"

iVBORw0KGgoAAAANSUhEUgAAAukAAADeCAIAAAAPRglgAAAgAElEQVR4nO2dT4hj173ntatF
LxovetUEL4Ixg0kChRZNHrOIF3mLQPMMj2ke2FAgaPIWhhkzmUUTbN7CZLRQvBgbPDzoLAwd
HBy6GUezCG46Q2acIcQGUwE/RIdWqVRqubqQVa+qopJr9O4sJN17/vzOuedeXZXqlj4fGuy6
On9/58/ve885995KBAAAAFEURVG3222Hcdh9GvUOzv/fpHfQ2+kEFlKk02mPx+0oCvj3TSfq
S8V4th+Nd4Xwx3tasP5BNNkJyijt3+GhVoXKqvsJAADAReHQcJIeBdDeOdt7dv7CZb8Tqq78
8mUyCdMN/68TPduXy/NsPzrqRePd6JtONN6NDi0xN/iqEOEymbQ7ulpDuwAAAMyYTCbhCmC/
0z1n4XLQ2VtcuEzpdoNXXyY7Tvni+dc/iL7pFKJdBgOz8GgXAACAhIODg3AFcNTtl2vFxeDk
JFhD2Msq/n9/3StEuIxGQrHRLgAAAAlnZ2eZ3P85yJezvWf9zm4xasViOAxWEt90ooOvglZc
josRLpNJu9cTyox2AQAA0Mi09NJesnwZ7X3VXexwrs3Ozo76Z7+fRVKMd6Ohu77P9ovaKjo7
a7tOTqNdAAAANCaTSaeTTS58vdtbxj7RYHev095Jzz4jw+FwNBqpdez12mdnGeXFqBsd9aJh
Pxp8FQ2+io560Tedoh4sGo+dwqWNdgEAALA5OjrKKgh6O53xXvYzrQ7Vcth9ugzV0m63u93u
ZDKJoujs7Kynb8kMBsHPHy3zn1+4tNEuAAAAIj3xqEUag929RZ6dnvQOvt7tLfgGFw87Ozuj
0Siu43g8tleYMpyAWcK/0ShFuLTRLgAAACIj8RGXMPY73UyHYCa9g9HeV/ud7pLWWtrzMy5H
R0dqHV0ne3q99tHReauWyaQdeNAI7QIAACCT9dCuzX6n+/Vu76jbH+19NekdxP/O9p6N9/YP
u08Hu3u9nc7yJIvKYDBQa3d2dhYvugyHQ7uy56ZgJpP2YGC+gM4D2gUAAMDJ/v5+gephhRjC
JYqi4XA4/anT6ZydnUVRNB6PRbk2GAS/yC67ahmN5AehPaRrl+Mnn9598+aN569f3ahM2bh6
/fkbN9987+GXx0vpKCvkdPd377766n/786rLsYb8uf69ypzv1WkBALg49Pv9xaXDahkMBtPz
uTHqs1QHBwfqTycnJ+J3nXq99nBYzGHeqWTJtNai4tUux5+9+6PrGxU3G9d/VP99fxk95dw5
3f3j3R9/5wqec1WgXQDgojKZTPKd270g7O/vG8IlUhZd2u32eDy2a314eOgSbb1e++CgfXjY
Ho2ySZazs5lkCf7kpUanvdPb6XR3Om7t0n9Q8+qWmGs/fP+L02L7yQp48Bqec6WgXQDgAjOZ
TPb2CvuW0PkwPZz79OlTW7hMJpN4ZWV/f99T8ZCPU3a77YOD9nDYHg7bh4ftw8P20VH76Kh9
ctI+OmoPh+1+v93r5Vxi6Xd2v97tjfa+Ott7NpkfbXZol9Mv6tUg4TKTL689KPvqC9plxaBd
AOBik+OFdatlZ2fn8PDQFi6R/vYa9ZFpm3jppdvtLn5yOZxOe+fr3Z7rfTmydlH9SKVSqVz5
zo/vfvrl/vR4y+mg+/nHbxmbSddef1jutRe0y4pBuwDAhWcymZTl7Eun0zk5OXFVJN4C8y+6
qE+Jxw9Xn5ycDIfDfr+/PCU32N2beB8pl7TL6W//8blElWy8+PpvpUWV0y/e/+E1Rb38zbt/
iX9T/NBrD6LT3T/efePll65dmeqgay+9/MaHrmO+x19+XH/1xvxc8MbV6zderX8sBNZyON39
n2/cmCZ/5dqNV+/NHd8s4+dnOU8TfOnl2+/+bvdUTMrgtQdahQfbH9dfvRGntnH1+o2bb979
464g2hIl9L36n48/e/fvXri6UalUNq6+8PI/PTRPervi6cbYuHr9xqt6ycMtERmNMG0Fuexq
QySmu3Lt+Rs33/xweyDGCG02pSgvzKv1wrQ7pGiX0Bx0C5omfMHT9WYWis+kz/rKJ0/E8Fnt
CQCXB/WkyMXk6dOn0+eGRFRF4l90iZ+xil/FazCZTE5OTp49e1ZUyTvtnZNu+uceBe1y+uA1
ZUnl23f+4JyP+x/cVEL+4P3O/AfFD916++ffv1KxufbKBy0j4ePP6mLQSuXK998yjgSrOdy5
820l7MYrvxxEURT1f/v6i85tL1WQhWiX09YHt1ynfzau/+jdzwz/pnjQn9xRjVT59lt/cpnT
iFcXzxttVO/opki3RHS6+5Hj7NLG9VtWM0RR/7dvfEduCEnKZmm2KOr//i0p9LUfvn7rpfgv
Q7tkyUGx4Nsf6eo6zsve4Tz94n33qXTrQFdWewLApWM8HotP4lwE7EeKDE5OTqYhO52OJ9h4
PI7THA6HnpBFPUbe2+n4l1t82uWLtxMnogoSiYevKys0iat3ywHNJ9SayhLEn3/uPWGzUa1/
EbBYcuU7//VPURRFgwevPScGSHJ/43+lFXZWoYDDP0bp1B0oLdjVVz/yrLo445mZ/Vxx7WmW
iAbNmuTBYwxXnl7bjR+8ryyxZWq2v7z/g5BjVJp2yZZDYsGNDWe05/7xt2pr9R+85rWQviWa
0Z4AcHk5z/MfITx9+tSzTxSjihKPyhkMBtMwnU7HE2wymezu7i5e+HDhImsX1X++9PYXXgsM
PrgpeRzDn175/lufPB6cRtHxk0/q6q1wsgihOrU4+Olg+26y3KG7TC2HjeodfTPlL+/+TeJL
Xrk73ek43v8/bytuUL+5d5930Xznle//549nqT35pK7eq2snfnQNcu2Vu4GvwtHjbVy/dffz
/eMoOh1sf1h7MckrXlFJt8Tpw9evWelFx08+UZY/1KKryW28WJtuEp0OHn9yR7FC7PuzNZu+
GXnth/VPnhzbiestkLVjGBac1+D4yYeqPtmoNeMYmsydFyo63v/87itKjPmWaFZ7AsDl5vDw
8CIswDx9+tR1LNdmMpnEEcWnoyPrlbue1OJVnEVwCZdJbzDc/Wu/801v52y/Mx7sjs72vk7X
LqmHJuXAmj81ZvLTPygbG9+68wczgnFPrP6klEbL4Vs/+b3pK473v/z0V/XbL79w7dYv1ZUO
pbzPvf5Q/kGrtOZvv/e28TR4/6Nbya/KGpXmQf/2bvB9uBpPc8mRsUN384N5rfyWUDcA1RNJ
keazN157MIv2hzvfivO/+YFW7j+99Z1rL718u/6Lh593Z6deMjZbs6YoR92U+jqZ2JPCOoZm
Qa0G2l5oYj9VfhsbpINf3rp2/cbNN9/7TXJQPaM9AWAtWKGCyaRaYuLorvMu9it3XSy++NRp
74hfrzzsnnTa/9ZuR8a//c54+drFXrpRf63+/F+iKOq8/4P4in5ANtL2sBJ1oC0PKDfRTk4H
3c8fvvfGDeVWWsvJpV2UXTHRIynOXnGIqlmmVQxDjXfrIyM31W8mdfZbQim+1ZanH92a/zbX
cf/y86pQGxcZm00tqZ24asi4qNk7hseC8mlgRVDNlbSHjPYEgHXC9TraJZFPtUyJ11QODw/9
AYxX7tosftjlsPvUFi6D3ZGtWuJ/KdolbTYP2DOyXI6w+KH6LR+JSwh6ovZ0sP3wvTf/QXl2
RCNEu6jOXD77o0RMrKXaUDCAE/+T2mql48J4LaG1j49ZcmJlnGRsNn/ialHjemTvGEomppIT
LeUXVL5Cekk5JwYAl5fRaLTUczB7e3uDwWA8HudTLVPiZ6TF/aCzs7M4O/+DSFEULSjX+p1d
ccXFI1xk7aL5C2Nd3EB/JCm5zQ3XLtOfg46oaonZazcG5rMyV6699PLt+q/+6W+FxIwyqQog
pSZSZYyLQatCKaUQCiM6X8sSYYemk+SyveUmY7OlJC79nL1jeDJJNV+6ysxqTwBYY6bvQSnk
YwKdTqff7w+HQ9fxlKzEiyXisop6ICZVuyxUr/bOaM98InrSG4hbRSnapdhnpO2tD+EGXHtc
KchFpbgc5XztRvU/fpy8lSTreRd10yLfuksmL6bEE45Ji2sEXkuoxfdia5eAbY+MzeZPXFx3
yd4xFtEu6YslWe0JADB/CcpgMMikY6Z6ZTAYjEajRZZYROJniFzvpov3jOJX0omoKzQ52O90
7UWX4e5f/cJF1i7G4yCVa699JL1y6/izt7WHQxzvphPclL0Po14J22LxaxfF5ekSQDmSEPic
0cLnXfJqF8GTKkcz5N0z2xJKlJCCpG+RuUIHNJtfJojnXbJ3jKzaRTaqk4z2BACwODs7Ozk5
OTo6Ojw8PDw8HA6Hw+Fw+v9HR0ej0WjB/aAQ4qO4vV5PDBDLLNeBmCnqa+5yIL6Grt/5Jpd2
sZfGN178D/WP50+XnA4ef3r3jX+vv5zrudceDBzxn7v1kf7+kLeTH+crFX96K372yHycRMbr
sZ1HhbXHgsK0i7YK5X3OSH1wuQjtYuamFV5+zsh274NfvuJ6LkZEVBAzS/z+J//OeNAoY7Op
qyi+yik5Z+4YmbWLut6j9+Io6t+9eVV/0CirPQEALiKpr6eLP33gf0Ba/S5SVno7HfGh6FTh
4tQui36L0dA+yntCtrWXZiQeRH0hS/IOlemrP65eu3HzP9V/8fDz/WMxB8tjaycqn/vBO/93
cGq9IsU8iKKeULl5d/c0Ot7/8kk/ijT36Xu/i7a5Voh2Ud828kR/v4riY1N2z9RFtI3rt977
dPqK++P9z+++cv3qCy//w5vv/ebTx8mb/rXHlpL3l+x/fld9sfBcR2RsNs2UyftdzJbR3u+S
sWNk1i7649nKK2Qef6K9AXimVLLaEwDgAjIej3u93v7+/mAgP6OQuqk0JeQr0y6+3u3Z2mW0
d7iAdomiqP/A8d5zE+uV6cHv1VVf/BL08trkfbJ+jx32+lYtnro7MWd29HWx9+ouol0cmWkv
fkk9bJr+1ljtDcchtVVeN5et2dLeSTtDtVnGHLJrlzALJX01oz0BAEpIvKnU7/veUBZLnByI
73Q56h4tpl2iKDr+8sMfOz9sU6lUKhvXf1S3vw5o+NO7kgiSPvzi/QKR8eWatNWGL8SvKG28
+Pr/eO/v53/pD+oKeifZbzr+7F3n9242rv/IEm8FaJfvvf2RVAfrCz4BD8qYn800im+1hOOb
Q44CZGm2KDptffCK/JGh+k+kd81lzSGPdvF/r8q2UFZ7AgCUjXgzyP/No9zapdPeEV/2n/p0
dIB2iaIoio6ffPqr+m31a8wbV68/f+Pmm+89dHxU2Panx19+GH84+Mq1l/7uLdc3hk8H2x++
eVP/fPFLL9+2vxic7rFPd3/3rvYF4dnno5VHRYwTFMdffvjj+EvFV6699PLte6qDOx1sf1y/
nbwsJuw70vm1S/3PszpMjbFx9fqNHwu5BT7ke/zkk3dv619Jft5Z/Ej8jrTYEHPThDXbPO0P
408wT61ofEjatllwDvm0SxSJ35H2WCirPQEAykTg9xpzf1JbfK1L4ENGQdolD9lemgExeTUP
AABAcQR+rzH3eZfB7h7a5dKAdgEAgNUzfT1dp9PpdrueF+Llfs7oqNsXtUsR511yg3bJCdoF
AAAuBGdnZ6mvmcn9EWnxzS5R7+Ck+69ol9KBdgEAgNJQuHZZ7P0uC4J2yQnaBQAASkPu9+q6
tEvUO+juTNAu5QLtAgAApUH9amNR2iXkyMtytAsAAACsAfFXG4vSLiHbRmgXAAAAyEmmj2PH
HHafurRL1Ds46JyiXQAAAGAp5Hu1rvgxo/jf2d7XaBcAAABYCvkeNdrvdD3aJeod7HfGaBcA
AAAonnzHdV3fM1JPvXTa/4Z2AQAAgOLpdrs55MvEq12i3sFo7xDtAgAAAMWT78iL67MAIfIF
7QIAAAD5yfeGutQjL9N/472hvXmEdgEAAICFyLdtdLb3LES+THoD46lptAsAAAAsRL5tI/9b
Xux/J91/He7+dbj7V7QLAAAALES+p426O51M2iX+h3YBAACARTk4OMghX0JO7KJdAAAAoHjG
43EO7ZL6ohe0CwAAACyLZXzbCO0CAAAAyyL30kvgA0doFwAAACiYfr+fQ770O7toFwAAAFgB
+R44age/qg7tAgAAAAVzdHSUT76EP3OEdgEAAIAiybdz1G63T7pfoV0AAADgvMm9c9Rut7/e
7aFdAAAA4Lw5OTnJLV9Sz76gXQAAAKB4cu8ctdvt3k5nvLePdoFy0Gq1Vl2EtWPlNl95AQrh
ctSiQAoxCFYtimVbUkx/kZ2jKQedPfHVL5Z2aTWqlVpzqVW8uDRrlWpj0faNE1H/Z31tmoVW
oxo3QNmNVkhfOofsVJsHZyW2TLNWqVQqlUq18c9ZCuMqQLk6QFFdN6Adc9o5Nd9irW0YxF9O
V+7ZO+cFpVmrVFZak2VPrb70872tzmCwuzfa+wrtslTsgbpQX3l8787t27dvv/No8ZKJPHrn
9ow79x4Hx8lQnFkFQqpQ5AC7SPU6B1avXfI2GNolG/lT93XvpWqXVNAuy2aV2iUqSL7EIuao
2x/tfeXRLs1apdpoNqqVucoXDd+KA1QqSYnD4qqR50EUG7Qa1WmKRmqxWVqNarXRqCnxhQRd
V6WLqgMQI4XUy7vuMk1V+8NroUfv3H7nUfT43jvB/ncaK9BfP753Jwk5zSss/VB//eid2Ldr
eQko1pg1eqXWEE2dbrcLUK+kLwU0sxDEmACSPz0jzl7kU/8SIho29xR2frNfmY44c+qLf65U
as2kMOYItVK3C6DXuGGPench48uOzqKbS7ZSWtJiGxbYdfXZw5pqRDtLc6ZEqnYRyywb0F8T
2yDqHGt3JDH3wM5pewGjGLVmYjWj+NVarapGVOuqW9H5S0iUWQkcRlVieQqcrwyu5sjU1qle
Lyj90WjUbj/66XfnIb/700cehfLrn/2X//6//SLGr12S8jdr4mDTpoBmrVLJEFfT1Mof8zRb
jao2YNX+q8ziuhoRElTLGP+/eFGbc/XfpZK4beLQLlqqrupLLE27ZM1mlvB0Esxaqsf37qRI
A1O8S6bOYrc44xXUa976ck9TCei3csc1Rpxfu7giqrm7bOtsF6PCSnMp40hzW7YpfOsurlHv
mzfct4DGBCVYKaCEjuIW1XW1dhSnGsnO9pypEdC9Xdk5DJitV2vl1GWC31+Edk7HJKC7Ys2T
6j/FI1UMK6SjFDU0SsXoH6GxbN0WWgZPc1QytHVmb+5szfpmolge/fS7PvmyuHaRb+BcOCZK
Oa55Udmsatam0tMxOMRJyp1gUO7x1WqjZW+cyZ4jJRFzZtEb3VN9m/PRLunaIlK3YrJulgQk
7154dLRA0B7nauolaRcRZ410JyUmIsjusGErOubAEeRI06Vd3H0+ySVgz2j+Z6Zh7kwysHeJ
xRa7XFFdN70dJTvbc6ZBavfO2G3SrS1pF6W8kaZHXbkHdE7f/cvM3xuaIY6leNh4IcZYl1fD
alohvhcNiaKVwxPLKPA0J20RKksZfM2RaYoICR/a/++PRnPt8ein363c+sWKtYuq/ELjSgpT
l59afHPd1ZYY7gTVtTshf31+FMaYkmN+7WIIYm/1LUK1izpDZfXDoTsrj+/duXPv0b07GTx8
8JGd9AGQzW5RtLp6af7b6mkJnhq5PYU44kK0ix0xsbmrJKZzcMhFl3ZJG3Qe7SKM+tBCWkWz
zOV0lkYJw7pcUV03r3Yx50yTtO6dp9t4erWoXZy3hAHaxT+9e8qgJqw4etPna1U0cmjWpJZK
j2JUyfQGQkcwSmXGylYGX3NkautitIvYgtbKy69/Zrmwn/16KdplVk9LGodpl5S5Jo4SrF28
TmzeJlog/eIStcvs1lBcAE1l2esuj+/dCT7R+ujRo1keGc+opp13iUIHQBa7ra5eZh8Su1/k
r9Gs1qopPCPO7/NcEXX3kLbcPP87n3YRTZFdu4QUUs8q6wSlljCsyxXVdXNrF9NbGqR176zd
RgkY5CyL0C6y9c5Ju3j6cUCUTNpFdXx6rExl8DVHprYuTrvMQ4zH416v51tUWfq6izG9ZKqt
bIJZEaaTlGyL5E+917oTNKrnvmea12cpe0Z67kGlnbNU7aIcO10yqdXIsfDuZsX1MrVLFEVy
9/PVqFmrTE+9KdLFOeK8Ps8ZMaBPusafM1SKdtFNseCekbdUi0xQccEyTyyLdN2c2sWaM7OS
tduo+CdVJRU9tcX2jLSMvNpFa5e5ALC0i3XBSmaWSRIwYxR5bUWIJmmXHGWwUk7vn4sPFn/6
esTBYLBS7RJf1NontLb6bYOhG7RhrA3dZMCq6ToSNAvpvqjPudqtrjiAMmsXNS1HaUWW+ZyR
sjCRNZuQgiTJP07fjwm5OQiy2wWolzJfCz1NxVcjfcryjzi76ypToTOiWiZXSdQ0XTeAAdpF
NoVPu7hGvVRIvYvYc5jtQNKtFD5Ui+q6ubSLMGdmJcDfqAYM69WmdrGslEG7eDunX7tISxKC
z2/aSxhaYBVtMIRF8Z3V1WNJ2iVPGTzNkaWti9IuUgvWt0edTmcV2kUzXK0pmyFFMhv2VsNq
t1q1mtUwdq8VEtQLafQL46I68pWk9JQW0i72LOzubpHyDpHMryoJwky+6PSjyPGeFdcUq7hq
j6lT7bayeikkVRS7n467RpqKNlIzRpw2K8ySaiZDxBFRvkW0ShJfl5+RjkK0i8MUpj5TDdhM
slWs4ihkclnvOFKtA6xk3Rd5h2pBXTePdpHmzKx4s5MMmNqrdYNInbNRk2Z97a+AzhmwZ6Tk
qd8USGugjvZRfnIrHkcvnT3DrfzqiOXRLvnKYJXG2z8X8ea5+/9kMtnf3/fLlHa7/Ytb5uGY
UnwTIO94hAtLq1HLubgNAJeC3ItEoZjnXeDCcnh42O12UxUM2gVWDNIFYO3Qtslce4UFgnYp
GUdHR+EKBu0CAADnQfreW/G54TpKxsnJScjXp0uhXQAAAGBdGI/HBwcHaBcAAAAoGScnJwcH
B/bjSGgXAAAAuNBMJpOTk5PhcHhwcNDv99EuAAAAUCbQLgAAAFAm0C4AAABQJtAuAAAAUCbQ
LgAAAFAm0C4AAABQJtAuAAAAUCbQLgAAAFAm0C4AAABQJtAuAAAAUCbQLgAAAFAm0C4AAABQ
JtAuAAAAUCbQLgAAAFAm0C4AAABQJtAuAAAAUCbQLk5ardaqi3DZwKRQagrpwLkTcUUs0bAq
UVHhgmNql1ajWpGoNaMoatZm/5OLZm2aVLXh6r7N2uzH+H/yZZM7bkyrUU1NxWWNQgqwWpZR
BdWki3WkVbGCUhfbEOGpZcp3PrDN6aKAgilJB5QnfYZZBKMD+zNx9ZWQiSU190USXOHslLvu
AALudRehpy00eQdELkS7FMKaa5dlgHbJl+VKtEvWZHW7NGsZ9YNcMO1q2PSxzPbJ5HrRLjZo
FyiS7NqlEa/MqL8q6zVS91Tun6YjWgwvahc7ZKtRnc8LrUZVTbHaaBmJNMXSxsWpNhr2JKPk
aBVWuac0rBEn4i+8ZGYzhD7xxX9Na9ioJRk2a1rmqQGcdWk1qnHEaqM1q4K5CKca3aqUt6qG
SfN3JKtZ1YqpVXAnFV/W0nfl6+oq7g4sdrlsmeqVdfclw0Mqf/rHV2rGIYNIylap1zyomJXc
3yJXGgHoM0xYZwgZL0pp9A6sjVarh4g93JpYQoeSHVEslTNB3U6ps1OmAZ6zCtzhwYJk1i7x
KFFurrSgrjnHnFhVCTALb2sXOWQiXpq1arWqx1ETEUtrFFyYqDyLBM1aRZ2epCpphU8xi5p2
U5/4ZO0iZR4nnRrAWZdWoyo7OcsejkrJFfGZNG9HcpndqIIrKUMJtryBXWX2Je7qcsGZGpUN
Nruci1G8+RBJaazUQWS2iK1dvCVJ62+Oa37MGUbvDMKEkz5ezEopnSGxjzSZhPTwTEMpZN3F
Na8aRvJNrc7rAaXKWwWAPCywZxT/Zc5dyrqIGNn8XU1I1yGukMrvtVqtUmsqQbVpRS6teX/g
d7SuarhueiUP4TKL03M4tYvkc+b/nxrAmY9RX8NvSK7fqFT6er1TDmbsSC6z61XIVM7AwOnl
DKyXN1MzkL8vKT8EFU9MzSZtEHlrkng8Z0n8/S2KQyQrPikFNsqhp++aRrKNF0m7OCcTl91y
D6UA7eKcVw0jeadWz5Sbe+CkVAEgDwVoF2U1MMG3xGDOVHFOlnbxhZyOkWqj2ahWG635ldRp
N2iAC5VvJmvScjXMWoSZJQklOUn9L61Qau5q3bwBnHUxrKJVzbqzEyslVsRl0kU6ksvsWhVc
SYnTZ2jgeQ7ucrrrFZypWFlPYFuxeIunLjh4GiuzdhHr4e8trv6m2sctRuVCq9pFK7Y4jYSO
Fz2WEtg9maRrl4xDKUC7OGdLw0jeqdWZiFCqgqoAkIeCtEtAlyxUu7Qa1alzqTWnqmV6QUu9
KO0ym5qtu6UA7RI8UufTv9dhFKBdXHVx+xJ9YSq1UnpFVMK0S7rFgrVL2gq7/6JwXdUuaYty
qfXKVFlf4Fku4q29nJoWVW6sxdZd0usYpl2ssZ+6WFQy7ZJhKK1cuwilKqgKAHlYxp6RjNNR
agnp2sU9N7Qa1Vpjqlda03N5xrTiK61SLd01S5U3BrNrerIzCDOLlOnStIuzLi5fYpknqFKp
znqRjuQyu+WuxKTE64GB08uZpV6hlU3tS81aZXosdB7AVzy/prRDLqRd/KrGr11EJ5pTu/j2
RxbSLu7JJF27ZBxKAdol6LYsbWoNSkQROgVUASAPRWiX6ZjVBr7QRY2ZRZtphSUTwXdqCTdr
yjJFtarN3P5p115TSdMucYDZUmiSfvyTVIsAs5iJ27WeZlmcdpHrIvsSSdg5KiVXxGHShTqS
y+xGFVxJiXrNFVg1gJpveuJ6vTJlalQ2vS/NWlL31Y7iBTZWQdrFa9gU7RIoRuVySJ3BnkYW
1y7OySRk8sk0lEIWB92zpWYk/9TquO6ZqYUmDosAAA7QSURBVBatAkAeCtEukb71KfdPPbIS
PgluaxdXyMicD5KkQ6bdZi1OsSE/zqD6gzi0vjjf1B4fFWoRbBYldevyNIuCtIuzLqIvUQuv
1kGulKMiokkX6UjNWqVSq9WsIPZ9uSOp5LIa3JVvK2lg1zPSLp8nKMXATI2GSAssaExX8RRB
7musorSLqyQh2sWIq5XC3TNE7RLJ00g27WJ0YP0uKu4h4qKKed9m/hUylCyFKl53zZaqkVKn
Vvm6o8/krIKrEQECWftvAjCGSkbQOjVcZlqN2sUcskwmAOfF+mkXbS2VZczSgXZZdy6QdGEy
AVgR66ddQjZy4OKCdoELBJMJwEpYR+0CAAAA5QXtAgAAAGUC7QIAAABlAu0CAAAAZQLtAgAA
AGUC7QIAAABlAu0CAAAAZQLtAgAAAGUC7QIAAABlAu0CAAAAZQLtAgAAAGUC7QIAAABlAu0C
AAAAZQLtAgAAAGUC7QIAAABlAu0CAAAAZULWLqPFKCQRcIF5AQBgnUG7lA/MCwAA6wzapXxg
XgAAWGfQLuUD8wIAwDqDdikfmBcAANYZtEv5wLwAALDOoF3KB+YFAIB1Bu1SPjAvAACsM2iX
8oF5AQBgncmqXbbrm5VKpVLZuu9J1JnINPZmfXvRYqdyfyu1lKXF3UbTWhuch7kdJbmc9gcA
gNWSUbvMpYvfLaFdlgraBQAA1pls2mWqPba2tvx+KZ92SXSRkvjMGyuZGVfEWJfbd6ZoF9G8
MzNNDaL9oQueeeSZ/epz627dV0yt237rfpKC0W6J/R3NpP9wSdsLAACKJZN2mfuq+X9diebQ
LvaKwSzU9Ickiva3MxbaRf6tsnXfsI1lwml0cQXHFBma7pCazZWH0UzCDwAAAC6yaJdEsqSI
l8zaxbyupq//pkoXX6w11i5ONTBVNpubTssoRlNXt7QzTnYDmEJECaZEF5vp/PYQAQDg8pBB
u9iCwiUNMmsX+S5/Fk6NlHI7X5EDXjLyapfkd8suakRTe+h/qK1h9gLlN1sGeZpJzxoAAMBL
uHaRNggcvqZY7aJsheiKBO1i4tszGilNaC6C2I1qaxdBSS6uXewCsAgDAAApBGsXSbq4xMHC
e0YmM+dZ112zLxbaxWKmNOqq1bbtPzJrl6x7Rk4uc5sBAEBxhGoX2wF5PE0mAeQ8G6pmlkTU
fKA71mX2g9n2jGwFYW/C2cGzaJdU+zubybXqAwAA4CZQu+hP1bouzcmhXUaOZ3Vj7IelvbHQ
LpocMBpLPXAbx9msbyebQJn2jNQktJIk9nc2rtYl2DACAIB0+CZA+bgw5k17Vh4AAGAJoF3K
x4UxL9oFAABWANqlfFwY86JdAABgBaBdygfmBQCAdQbtUj4wLwAArDNol/KBeQEAYJ1Bu5QP
zAsAAOsM2qV8YF4AAFhn0C7lA/MCAMA6I2sXAAAAgIsJ2gUAAADKBHtG5QPzAgDAOoN2KR+Y
FwAA1hm0S/nAvAAAsM6gXcoH5gUAgHUG7VI+MC8AAKwzaJfygXkBAGCdQbuUD8wLAADrDNql
fGBeAABYZ9Au5QPzAgDAOoN2KR+Y99Jyf2uzvr3qQlxgsA8AjEajLNrl/lalok0c2/XNytZ9
Kagrke36ZkVCTgUcBGmX7fqm1lz3t9LtrbRPSpO4297MV8l/s77t/DmV+1t2oRZN00x/VnE7
2fmPmXPRk1LycBcgVz5xAkUMJcnUy0atvWyihe0DAJeIbNpFmzWya5eEQtzNuhKgXaYqJLaw
pju365uib1Jclr95ZhJHansjXz31i65d5mlYyeZ35nYJ5VEzDzBdV8iXX1m1y/0tq8tYPawI
+wDAJSKTdtms17eSSaNI7aLc8SeXt+ubm/X61uzqb+qblfjP+f2xfpMmpnL5SDXvdn1zc2tr
U3XGWkspflqNo5teNOHMwptbWw4PrOWrMs/z/lZqc4nXDWWlLpCoaRpZzlO5r/ZV8bqtXWbJ
Kvf705BZim2XUBw1sbn1PRFD8tjxtIZUghgNbtnOO9C2729VKlv1OKCaq1x3h0VChqNbd6o1
dtjHyESfCdQaGX/KsQyjuac3AFg9GbXLdBaYzh6FaRfXH9v1TXO5QJlmVFcy9w9xeS71nVmK
eadN5FmMSF+ncIbYrtdjo5v29ee7Xd/cuj8ajbbrW/VtMwuj0aXr8xY1XJqWpqsKYncxrisy
wErW9P1qL5O0RXLdLqE8auY5mL5ZqXWqGjdrpmm1WSlCBppmFrVijjrK4849wo0im6JqKp6E
TTuffZJyK0U1ZJ2og9VY2mWkC8CFJqt2SabjwrSLqTPidO2lAFGbJPPaJdYrKl7zzr2cR37I
W0bKr74b5SSYnkZqvjquRnd2hukP1qGrsPSTOruui2tRdmJmvVVFJV23cY2aZHnH8s5b9x0L
S3bK2i7hLEr8v4EDzbVq46qjWFdnXkaJY4mnFVfQWi77yJkaNfJ2yiSWoVHXYjIBKCnZtUu8
AF6QdtGXb9X5Sc/AnJrtaTpJ6XLPOh7zJvfn8nTtFy4KKULQbPu0fKX4UqO7O4Oy0RMgXaQ9
yXmfla6HahczVHIOQ74ul8xtWKGWwU2mF8JWLKEDzaxMah2FcefOSzeFdJ4oKY1tRbkX2OfQ
jRqJRhdOr2u2utyTCEDJyaNdlN2BgrRLyDSfrl2SgoY7uTLiNK+6s2Cb1Vg4T8E/e1tNk7o9
YMd3bSLIsZW7/IA6lFe7iNufwXrTXi5xrkW4y5RVuygZzsddUC+Yl9de5zF2itQoun1meVrh
/drFFSsOiHQBuOjk0i7Taae+pD0jLVAO7WKHvmS4zCve7Cp3lF57SAowULv48g3NLjVb+dBG
aPqufRO3KpETW96e0TyesRAS3yaECTarDOogDRxoWfeMrKRmQifV+89rpZte3MJJftTsYzRa
oHZxxpqHdM9sAHBByKld/LeD2bSLsSCQeNmM2sW8f7qs0iX7+12CrOGd3/2BXfmmZedqdOm6
cYAjqDrCEQrn9TDtYp+6Unc+hetiucTti5kbnzt+Q8OELTcJJrCO96QONH1op9dRHneuvCRT
6JrDPpPttI+ZdcVRI6tvy7FEowHARSS3dvHtw2fULqN4xqho80jmdRdhB/syklW7BK+LKAH1
G2G32/Hlm4bY6K7r2t1xkHpRz2FsmffW1vVA7TJyWcl93S6Ua8HJrLW5dSRpHv2Eix5EGKIB
A22a6v15wIA6Osadq30FWyj7TY4tX8k++mV1gyzlvIsjlstoAHDh4JsA5QPzZiZ9iyrPwkYe
gvaM1ga/0rVlxDnYh7MuAGUA7VI+MG9myqJd1hDH5vP9Lf/61bIIO1oEACsG7VI+MG9mgrSL
ueexlFIsO49yYm9rrka2rCZjAMgM2qV8YF4AAFhn0C7lA/MCAMA6g3YpH5gXAADWGbRL+cC8
AACwzqBdygfmBQCAdQbtUj4wLwAArDOydgEAAAC4mKBdAAAAoEygXQAAAKBMoF0AAACgTKBd
AAAAoEygXQAAAKBMoF0AAACgTKBdAAAAoEygXQAAAKBMoF0AAACgTJRJu7RarVUXIZ1SFDKV
y1ELAAC4lIRrl1ajWqk2FnRpzVqlUqnUmlbK1kVP7s1aWui0IuSP7UU30bSulUq18c+1xS13
fhRn6iDmZhI6hit8aInmQZth9p+XpNZM/i8tzrTvxlFK1MznR7OGYQCgWM5fu1SrVd0ntBpV
65o393Jol3Nw+8vhPLVLq1FNMtD+EGnWKtVarVqrBRSr1VD6VKtRTe+7usTR4nuiKIGCoqwd
0zGPeAGAAlmBdmk0tDvnVqNaaxh+Zn4fPstPuVJrzhxGI76mFsqOG+c7v9oQ/V6zVqk2mnFs
NYCcpnVVK6SymFBrzp2iYsF0N70o08waNa0UZuUWMbWPUMljhgtw/qGWM5dnAtZe8mkXI0rW
ITJXVUHqaimodQhcocqYfK0ZULslZA0Al5ZVaJeW6ldajWqtmfgJLRfD2auLAbH/UhakNbdm
XBfj6gVLrisJOdJUnW7y/651l3hanl87B0elbsSplUvKuIipU8i7XJMab9pz0mWFECLdN56z
drF2meL9p8AEIqV7Jpabt1Ih49VVag1vLrOxjjIBgCJZiXZRbopbjarqjJw34u6NjPgv09nM
fzDSlP2jI1BgmkppvdplNpVnOLKRG0t0mf+/iKnTyKVdmrWMjtuN2FdT3Wd27WLkE7gmNNMo
jsL4fzULHPdSSUJdgG1LVbYjXgCgKFajXeJ1h9n/zP2EsmNh3NYFOFRzdpxFMcst+yQj8jyS
I021pPr2V5p2OYfdIrksZrkWMrUL4aY8sK4FChdXQVPFSGbtYg2JgMYNPRMTtEwUi1AjqLAc
AwBwiViNdlE0S+wuhRtIR+4XQbsomSd3ySHaxbVpVTQh2iW3qdPI6jKL3t8QHX9qJtm0i6uO
YRtai6+7zPVJq1GVtcus/xbc2bLuGQEALIEVaZepamkqyy/ynpGY+wXYM5LLlq5dpmLtPM5l
pmmXhUydRlbtUvSGwirXXYIrsvh5lxLsGQEALINVaZfZRK38oZyN1fysvaThcqi+s7rqedPU
s7rp53/VIjhOvwraJanm8nf/U7XLQqZOYdVOc4XnXbI2a2uh54zO/6wuAMAFIJt2yXeWQUFx
D+rcqvkJNaNk8lVuSj0OVYlrH0SYXnU+I12p1WreuNp1de3czN5cQkpOKIunZwtE14Z+7RIt
Zmop06yFDEshMH3zVJFRUkcq+jnqdO2iB7KjyCUtSqsuIx3X/y+Sb44m4zAvAIRTpm8CLJNV
rxRAwZiuMMA1Zl93CdYuAABQIGiXKWiXy4a5lpcuKvJplzx7agAAsAholym4ncuHegI8cAdj
tgWY/F9IHkoUVl0AAM4BtAsAAACUCbQLAAAAlAm0CwAAAJQJtAsAAACUCbQLAAAAlAm0CwAA
AJQJtAsAAACUCbQLAAAAlAlZu4wWo5BEwAXmBQCAdQbtUj4wLwAArDNol/KBeQEAYJ1Bu5QP
zAsAAOsM2qV8YF4AAFhn0C7lA/MCAMA6g3YpH5gXAADWGbRL+cC8AACwzvx/O/rf9Z6swt0A
AAAASUVORK5CYII=
--------------B2896F9ED7C84119D130F1D3--

--------------202CC9517FA52048C5768E0E--
0
peter
10/3/2018 1:01:47 AM
This could only too easily become a flame war, so I am replying once and 
will not answer again unless it is about substance.

The Perl6 community is warm, generous, and intellectually inspiring. 
Those virtues should be defended against unseemly and intemperate 
language. Calling a documentation writer a 'jerk' is wrong.

On 03/10/18 07:40, ToddAndMargo wrote:
> On 9/30/18 9:11 PM, Richard Hainsworth wrote:
>
>> But I thought you just implied you wanted pro stuff, not beginner stuff. 
>
> I have no idea how you got that out of what I said.  I want the
> beginners stuff included with the pro stuff.
Yes the best of all worlds, and it must be short. Demand the impossible 
and complain when it does not happen. There are a number of people 
trying very hard to balance the contradictions of writing documentation. 
We need to support them and offer constructive suggestions. Clearly my 
post was wrong because you did not *think* about what I said, only 
reacted negatively to my British sense of humour.

>> So what is wanted is 'common user' stuff (see below).
>
> You are mixing socialist political terms with what I
> am stating.  By "common user" I mean a typical user.
> The term was meant to differentiate typical users from
> experts.
Where did 'socialist' come from? You said 'common user' and I was trying 
to elicit from you what it meant. But as it happens I do not think that 
'socialist' is a negative word, and for many people it means an emphasis 
on society and community (as in this very valuable Perl6 community) 
rather than on solitary individuals.
>
>> Actually, I do not understand what you are saying at all, eg., 'I 
>> have know how to use ...' is not clear.
>
> Again, I have no idea how you got that out of what I said.
I quoted your words from your post. They are in quotes. Your use of 
English grammar is not standard, and consequently it is ambiguous.
> When I use a function all the time, I know who to use the
you know 'who to use' or 'how to use'? It would be useful for you to 
read what you have written for mistakes before clicking on the 'send' 
button. That way, other people can understand you better.
> function. The problem was that I could not reverse engineer
> the documentation.
>   In other words, I figured out how to
> use the function from other sources than the documentation.
> Had I used the documentation, I never would have figured it out.
> That is the issue.
This use of 'reverse engineer' is obscure. But if you mean that you had 
to read around a bit in order to understand, I suggest that this is 
quite a normal intellectual activity. That is why repeatedly it has been 
suggested that you read a book.
>
>
>> But I am confused about what *you* want from the reference 
>> documentation.
>
> I think maybe there is a translation issue between your native
> language and mine.  I have been very clear what I am
> after, so I won't repeat it yet again.
My native language is English. I was born to English parents, went to 
school in Leeds, went to University in London, studied computer science 
and economics in Birmingham, spent 20 years editing and translating into 
English from Russian in Moscow. I speak and write Russian, and I am 
learning Cantonese.

I do get it: you are following the example of the current crop of 
political leaders in the US. When someone demonstrates - as I did in the 
previous post, and in this one - that your English grammar and spelling 
are slovenly, you throw back the criticism as if I am guilty of the 
same, and charge that my native language is not English.

So no it is not a translation issue. What you want is not clear because 
(a) you do not write clearly, (b) you ask for different things at 
different times, (c) you assume that the world is predominantly the same 
as you, when it is not.
>
>>>
>>>     3) when calling other term to explain things, it should
>>>        pick the easiest term available. It should not pick
>>>        any nasty, advanced terms.  (Unless the writer enjoys
>>>        confusing the reader and bragging about how smart
>>>        he is.  And he is a jerk.)
>> This does not seem to be correct English. 
>
> You are again missing the point.  It is wonderful if the writer
> wants to share an interesting, complex way of doing things.
> But only AFTER he explains it in is simple terms.  You don't
> share a calculus equation with someone until after you
> teach them the fundamentals of arithmetic.
I did not miss the point. You deleted the part of my response where I 
agreed that there should be simple examples. You also deleted the part 
where I pointed out that calling someone a 'jerk' is not polite. It is 
possible to get carried away by beauty and elegance and forget the need 
to start with simple things. That might make the explanation cryptic; it 
does not make them a jerk.
>
>
>
>> We come again to this category: 'the common user'. This person 
>> (possibly there are more) is not a 'beginner' nor a 'pro'. What is to 
>> be expected of a 'common user' of perl6? Can we assume that a 'common 
>> user' has read an introduction to perl6?
>
> You are mixing socialist political terms with what
> I am saying again.
Where did socialism or politics come from? Is this some sort of insult? 
The term 'common user' is yours. I asked if we could expect a 'common 
user' to have read an introduction.

You may not be aware, since you do not learn from reading books (you 
said it, this is not an inference or insult), but when an author or 
writer sets out to write something, there has to be effort to define the 
intended audience. That is why there are children's books, and reference 
books, and dictionaries, and so on. You are saying that this 
documentation should be for the 'common user', so what is that?
>
>>> Perl 5's perldoc did a wonderful job of this.
>> I never liked perldoc. 'To whom how', as they say in Russian.
>
> I find perldocs from the command line a total pain in the butt.
> Fortunately, it is repeated on web beautifully.
>
>>>
>>> I have been posting RFE about this as they come up.
>>> So I am trying to be part of the solution instead
>>> of constantly gripping about the problem.
>
>> Indeed this discussion has, at times, been gripping, but I hope you 
>> don't think I have been griping. ;)
>
> I think that there is a translation and maybe a cultural difference
> that has lead you to misconstrue my statements.  That or you are
> just trying to pick a fight.  Your "buffoon in the White House"
> statement is definitely trying to pick a fight.
Actually, I was using British humour to show that you had not spelled 
the word correctly. The participle form of the verb 'gripe' is 'griping' 
- if you were to have used a dictionary of the English language before 
sending your post, you would have discovered this. The particle form of 
the verb 'grip' is 'gripping'. You said in your post, which you cite, 
'instead of constantly gripping about the problem'. It is clear you 
meant 'griping'. No translation problem on my part, just a spelling 
problem elsewhere. Or perhaps a problem in using a dictionary?

Like I said at the beginning, I will not respond again if the response 
is an 'ad hominem'.

The reason I justify this response is (a) intemperate and insulting 
language would erode the value of this community if allowed to go 
without response, (b) there are substantial questions to be faced in 
writing documentation, which should not be overlooked because they are 
raised in an intemperate manner. I do believe that the Perl6 
documentation is going in the right direction, and I find it mostly 
useful. I know from the interaction on this Forum that there is a 
willingness and desire to improve.

It seems to me that the documentation needs to accomplish several 
contradictory things, and because they are contradictory, there will 
always be an opinion about how to do better. These contradictions are - 
I think and in line with what the docs themselves say - as follows:

- being concise, whilst being comprehensive

- finding a balance between terminology that is specific to Perl6 (eg. 
signatures), which should be known to the intended user, and making 
explanations understandable to someone who has not yet entirely 
comprehended the whole of the language
-- This is a real problem. All programmers know functions transfer data, 
and in most languages this is indicated using parameters in brackets 
after the function name. But I expect many experienced programmers will 
not appreciate the extra information being conveyed in signatures in the 
Perl6 documentation, and how to unpack it.
-- My suggestion would be to enhance the introduction to point to 
specific chapters/sections that are crucial to understanding the whole. 
The current section 'about the docs' does not quite do this. Perhaps 
there should be a section called 'how to use the docs'?

- using examples that illustrate a topic as simply as possible, yet also 
including examples that show how expressive some language component can 
be when combined idiomatically with other components of the language. In 
a sense this is very similar to dictionaries that illustrate a word as 
used by well-known authors and stylists. The choice of sentences is a 
part of the art of dictionary compilation.

- finding a way to cross-reference components of the language, to aid 
someone find the answer to a question that may be vaguely formulated.
-- I think that the current docs do this very well. The search tool 
works well. But sometimes, I do not remember exactly what to look for, 
and I have to try several keywords to hit on the right one. Some form of 
context-sensitive help would be useful, but this is - I recognise - a 
non-trivial task.

Richard
aka finanalyst
0
rnhainsworth
10/3/2018 4:02:56 AM
On 2018-09-30 9:31 pm, ToddAndMargo wrote:
 >By the way, schools have books.  Why is it do you suppose that that 
schools also have teacher?

Well, why is it, do you suppose, that hiring a tutor costs so much more 
than buying a book?

Certainly, some people learn better aurally than visually.  There are 
quite a few recorded P6 presentations around, but I don't know if 
there's a collected list anywhere, or one that links to recent talks 
(anything not too out-of-date).


 >[RH] are mixing socialist political terms with what I am stating.  [...]
 >I have been very clear what I am after, so I won't repeat it yet again.

The word "common" comes from Latin, and "typical" from Greek, but in 
this context they are synonyms. There's nothing political about it.  But 
it does show how easy it is for something that is clear to one person to 
be misunderstood by another. Repeating something the same way doesn't 
make it clearer (that's one of the reasons we have teachers instead of 
only books, because they can reword things and take different approaches).

There isn't any easy answer to coming up with documentation that works 
for everyone.  (You can't please all of the people all of the time.) 
Perl(5)doc is just a book, after all; but "be more like Perl 5" won't 
work, because Perl 6 is *different* from Perl 5.  Putting beginner and 
advanced docs together might end up with a mish-mash that makes nobody 
happy.  It seems likely to me that you're looking for example-based 
documentation that is organised very differently from docs.perl6.  What 
about Moritz's *Perl 6 Fundamentals*, "A Primer with Examples, Projects, 
and Case Studies"?

https://www.apress.com/gp/book/9781484228982

Is this something that better fits the way you think?


-David
0
david
10/3/2018 4:38:29 AM
On 2018-09-30 9:31 pm, ToddAndMargo wrote:
 >By the way, schools have books.  Why is it do you suppose that that 
schools also have teacher?

Well, why is it, do you suppose, that hiring a tutor costs so much more 
than buying a book?

Certainly, some people learn better aurally than visually.  There are 
quite a few recorded P6 presentations around, but I don't know if 
there's a collected list anywhere, or one that links to recent talks 
(anything not too out-of-date).


 >[RH] are mixing socialist political terms with what I am stating.  [...]
 >I have been very clear what I am after, so I won't repeat it yet again.

The word "common" comes from Latin, and "typical" from Greek, but in 
this context they are synonyms. There's nothing political about it.  But 
it does show how easy it is for something that is clear to one person to 
be misunderstood by another. Repeating something the same way doesn't 
make it clearer (that's one of the reasons we have teachers instead of 
only books, because they can reword things and take different approaches).

There isn't any easy answer to coming up with documentation that works 
for everyone.  (You can't please all of the people all of the time.) 
Perl(5)doc is just a book, after all; but "be more like Perl 5" won't 
work, because Perl 6 is *different* from Perl 5.  Putting beginner and 
advanced docs together might end up with a mish-mash that makes nobody 
happy.  It seems likely to me that you're looking for example-based 
documentation that is organised very differently from docs.perl6.  What 
about Moritz's *Perl 6 Fundamentals*, "A Primer with Examples, Projects, 
and Case Studies"?

https://www.apress.com/gp/book/9781484228982

Is this something that better fits the way you think?


-David
0
david
10/3/2018 5:11:23 AM
On 2018-09-30 9:31 pm, ToddAndMargo wrote:
 >By the way, schools have books.  Why is it do you suppose that that 
schools also have teacher?

Well, why is it, do you suppose, that hiring a tutor costs so much more 
than buying a book?

Certainly, some people learn better aurally than visually.  There are 
quite a few recorded P6 presentations around, but I don't know if 
there's a collected list anywhere, or one that links to recent talks 
(anything not too out-of-date).


 >[RH] are mixing socialist political terms with what I am stating.  [...]
 >I have been very clear what I am after, so I won't repeat it yet again.

The word "common" comes from Latin, and "typical" from Greek, but in 
this context they are synonyms. There's nothing political about it.  But 
it does show how easy it is for something that is clear to one person to 
be misunderstood by another. Repeating something the same way doesn't 
make it clearer (that's one of the reasons we have teachers instead of 
only books, because they can reword things and take different approaches).

There isn't any easy answer to coming up with documentation that works 
for everyone.  (You can't please all of the people all of the time.) 
Perl(5)doc is just a book, after all; but "be more like Perl 5" won't 
work, because Perl 6 is *different* from Perl 5.  Putting beginner and 
advanced docs together might end up with a mish-mash that makes nobody 
happy.  It seems likely to me that you're looking for example-based 
documentation that is organised very differently from docs.perl6.  What 
about Moritz's *Perl 6 Fundamentals*, "A Primer with Examples, Projects, 
and Case Studies"?

https://www.apress.com/gp/book/9781484228982

Is this something that better fits the way you think?


-David
0
david
10/3/2018 5:16:10 AM
> On 3 Oct 2018, at 02:48, ToddAndMargo <ToddAndMargo@zoho.com> wrote:
>=20
> On 10/2/18 2:24 AM, Elizabeth Mattijsen wrote:
>> Also, a hopefully less steep introduction:
>> <plug>
>>   https://opensource.com/article/18/9/signatures-perl-6
>> </plug>
>=20
> Will do!  Thank you!
>=20
> Do you have an index to other stuff you have written?

https://opensource.com/users/lizmat contains an index of the stuff =
I=E2=80=99ve written for opensource.com.=
0
liz
10/3/2018 6:30:19 AM
On 10/2/18 9:02 PM, Richard Hainsworth wrote:
> The Perl6 community is warm, generous, and intellectually inspiring. 
> Those virtues should be defended against unseemly and intemperate 
> language. Calling a documentation writer a 'jerk' is wrong.

Agreed.  They are very much so.  And since you are a native
English speaker, you know there is a difference between
calling someone a jerk for lording it over the recipient
that he knows more than you do and me calling anyone
on the Perl 6 community a jerk. I was criticizing a writing
style, not the Perl 6 community.  That you thought I had
I had done that is beyond me.
0
ToddAndMargo
10/3/2018 6:30:11 PM
On 10/2/18 10:16 PM, David Green wrote:
> On 2018-09-30 9:31 pm, ToddAndMargo wrote:
>  >By the way, schools have books.=C2=A0 Why is it do you suppose that t=
hat=20
> schools also have teacher?
>=20
> Well, why is it, do you suppose, that hiring a tutor costs so much more=
=20
> than buying a book?
>=20
> Certainly, some people learn better aurally than visually.=C2=A0 There =
are=20
> quite a few recorded P6 presentations around, but I don't know if=20
> there's a collected list anywhere, or one that links to recent talks=20
> (anything not too out-of-date).
>=20
>=20
>  >[RH] are mixing socialist political terms with what I am stating.=C2=A0=
 [...]
>  >I have been very clear what I am after, so I won't repeat it yet agai=
n.
>=20
> The word "common" comes from Latin, and "typical" from Greek, but in=20
> this context they are synonyms. There's nothing political about it.=C2=A0=
 But=20
> it does show how easy it is for something that is clear to one person t=
o=20
> be misunderstood by another. Repeating something the same way doesn't=20
> make it clearer (that's one of the reasons we have teachers instead of =

> only books, because they can reword things and take different approache=
s).
>=20
> There isn't any easy answer to coming up with documentation that works =

> for everyone.=C2=A0 (You can't please all of the people all of the time=
=2E)=20
> Perl(5)doc is just a book, after all; but "be more like Perl 5" won't=20
> work, because Perl 6 is *different* from Perl 5.=C2=A0 Putting beginner=
 and=20
> advanced docs together might end up with a mish-mash that makes nobody =

> happy.=C2=A0 It seems likely to me that you're looking for example-base=
d=20
> documentation that is organised very differently from docs.perl6.=C2=A0=
 What=20
> about Moritz's *Perl 6 Fundamentals*, "A Primer with Examples, Projects=
,=20
> and Case Studies"?
>=20
> https://www.apress.com/gp/book/9781484228982
>=20
> Is this something that better fits the way you think?
>=20
>=20
> -David

Hi David,

I will look it up.

Any usa sources of the book?

-T
0
ToddAndMargo
10/3/2018 6:33:44 PM
On 10/3/18 11:33 AM, ToddAndMargo wrote:
> On 10/2/18 10:16 PM, David Green wrote:
>> On 2018-09-30 9:31 pm, ToddAndMargo wrote:
>> =C2=A0>By the way, schools have books.=C2=A0 Why is it do you suppose =
that that=20
>> schools also have teacher?
>>
>> Well, why is it, do you suppose, that hiring a tutor costs so much=20
>> more than buying a book?
>>
>> Certainly, some people learn better aurally than visually.=C2=A0 There=
 are=20
>> quite a few recorded P6 presentations around, but I don't know if=20
>> there's a collected list anywhere, or one that links to recent talks=20
>> (anything not too out-of-date).
>>
>>
>> =C2=A0>[RH] are mixing socialist political terms with what I am statin=
g. =20
>> [...]
>> =C2=A0>I have been very clear what I am after, so I won't repeat it ye=
t again.
>>
>> The word "common" comes from Latin, and "typical" from Greek, but in=20
>> this context they are synonyms. There's nothing political about it. =20
>> But it does show how easy it is for something that is clear to one=20
>> person to be misunderstood by another. Repeating something the same=20
>> way doesn't make it clearer (that's one of the reasons we have=20
>> teachers instead of only books, because they can reword things and=20
>> take different approaches).
>>
>> There isn't any easy answer to coming up with documentation that works=
=20
>> for everyone.=C2=A0 (You can't please all of the people all of the tim=
e.)=20
>> Perl(5)doc is just a book, after all; but "be more like Perl 5" won't =

>> work, because Perl 6 is *different* from Perl 5.=C2=A0 Putting beginne=
r and=20
>> advanced docs together might end up with a mish-mash that makes nobody=
=20
>> happy.=C2=A0 It seems likely to me that you're looking for example-bas=
ed=20
>> documentation that is organised very differently from docs.perl6. =20
>> What about Moritz's *Perl 6 Fundamentals*, "A Primer with Examples,=20
>> Projects, and Case Studies"?
>>
>> https://www.apress.com/gp/book/9781484228982
>>
>> Is this something that better fits the way you think?
>>
>>
>> -David
>=20
> Hi David,
>=20
> I will look it up.
>=20
> Any usa sources of the book?
>=20
> -T

https://www.amazon.com/s/ref=3Dnb_sb_noss
0
ToddAndMargo
10/3/2018 7:09:19 PM
--000000000000816ad405775b0b4c
Content-Type: text/plain; charset="UTF-8"

On Wed, Oct 3, 2018 at 6:16 AM David Green <david.green@pl-comme.ci-comme.ca>
wrote:

> There are  quite a few recorded P6 presentations around, but I
> don't know if  there's a collected list anywhere, or one that links
> to recent talks (anything not too out-of-date).
>

I've been building a collection of P6 videos for about 5 years.

I'm pretty sure I've caught most of the reasonably obvious ones.

I've reviewed them all and added a couple hundred to a playlist.

I include a tweet sized summary for each.

The most recent 100 are post 6.c. Older ones go back a decade.

https://www.youtube.com/playlist?list=PLRuESFRW2Fa77XObvk7-BYVFwobZHdXdK&disable_polymer=true

A few months ago google changed something so they start at
random times. that's badly screwed things up. I've researched
and it looks like I'll have to rebuild the playlist. So now would
be a great time for anyone to give me feedback on what they
think of this list of videos, or the summary I've written for any
video you watch some of, or any other comment you care to
make.

TIA.

--
raiph

--000000000000816ad405775b0b4c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">On Wed, Oct 3, 2018 at 6:16 AM David Gree=
n &lt;<a href=3D"mailto:david.green@pl-comme.ci-comme.ca">david.green@pl-co=
mme.ci-comme.ca</a>&gt; wrote:<br><div class=3D"gmail_quote"><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid=
 rgb(204,204,204);padding-left:1ex">There are=C2=A0 quite a few recorded P6=
 presentations around, but I<br>don&#39;t know if=C2=A0 there&#39;s a colle=
cted list anywhere, or one that links<br>to recent talks (anything not too =
out-of-date).<br></blockquote><div><br></div><div>I&#39;ve been building a =
collection of P6 videos for about 5 years.</div><div><br></div><div>I&#39;m=
 pretty sure I&#39;ve caught most of the reasonably obvious ones.</div><div=
><br></div><div>I&#39;ve reviewed them all and added a couple hundred to a =
playlist.</div><div><br></div><div>I include a tweet sized summary for each=
..</div><div><br></div><div>The most recent 100 are post 6.c. Older ones go =
back a decade.<br></div><div><br></div><div><a href=3D"https://www.youtube.=
com/playlist?list=3DPLRuESFRW2Fa77XObvk7-BYVFwobZHdXdK&amp;disable_polymer=
=3Dtrue">https://www.youtube.com/playlist?list=3DPLRuESFRW2Fa77XObvk7-BYVFw=
obZHdXdK&amp;disable_polymer=3Dtrue</a></div><div><br></div>A few months ag=
o google changed something so they start  at<div>random times. that&#39;s b=
adly screwed things up. I&#39;ve researched</div><div>and it looks like I&#=
39;ll have to rebuild the playlist. So now would</div><div>be a great time =
for anyone to give me feedback on what they</div><div>think of this list of=
 videos, or the summary I&#39;ve written for any</div><div>video you watch =
some of, or any other comment you care to</div><div>make.</div><div><br></d=
iv><div>TIA.<br></div><div><br></div><div>--</div><div>raiph<br></div></div=
></div></div>

--000000000000816ad405775b0b4c--
0
ralphdjmellor
10/3/2018 11:03:10 PM
--------------B53F41F9F8925053D184B014
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2018-10-03 5:03 pm, Ralph Mellor wrote:
> I've been building a collection of P6 videos for about 5 years.
> https://www.youtube.com/playlist?list=PLRuESFRW2Fa77XObvk7-BYVFwobZHdXdK&disable_polymer=true
Terrific -- I was going to say this should be listed on 
https://perl6.org/resources/ but it is indeed there! (Dunno why I didn't 
see it before, my brain was probably expecting "presentations" or 
"videos" and scanned right past the *Screencasts* section.)


-David


--------------B53F41F9F8925053D184B014
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><tt>On 2018-10-03 5:03 pm, Ralph Mellor
        wrote:</tt><tt><br>
      </tt></div>
    <blockquote type="cite"
cite="mid:CAPLR5ScPy5kA-dkB12swomtAkLrJSaxnSFRFPOnv1uUqKL3nzA@mail.gmail.com">
      <div dir="ltr">
        <div dir="ltr"><tt>I've been building a collection of P6 videos
            for about 5 years.</tt><tt><br>
          </tt>
          <div class="gmail_quote">
            <div><tt><a
href="https://www.youtube.com/playlist?list=PLRuESFRW2Fa77XObvk7-BYVFwobZHdXdK&amp;disable_polymer=true"
                  moz-do-not-send="true">https://www.youtube.com/playlist?list=PLRuESFRW2Fa77XObvk7-BYVFwobZHdXdK&amp;disable_polymer=true</a></tt></div>
          </div>
        </div>
      </div>
    </blockquote>
    <tt>Terrific -- I was going to say this should be listed on
      <a class="moz-txt-link-freetext" href="https://perl6.org/resources/">https://perl6.org/resources/</a> but it is indeed there! (Dunno why I
      didn't see it before, my brain was probably expecting
      "presentations" or "videos" and scanned right past the
      *Screencasts* section.)<br>
      <br>
      <br>
      -David<br>
      <br>
    </tt>
  </body>
</html>

--------------B53F41F9F8925053D184B014--
0
david
10/4/2018 5:39:38 AM
--0000000000005e05650577764af0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

This list is quite useful, thank you Raiph for it. I've found some that I
did not know about.
Cheers, Laurent.


Le jeu. 4 oct. 2018 =C3=A0 01:03, Ralph Mellor <ralphdjmellor@gmail.com> a
=C3=A9crit :

> On Wed, Oct 3, 2018 at 6:16 AM David Green <
> david.green@pl-comme.ci-comme.ca> wrote:
>
>> There are  quite a few recorded P6 presentations around, but I
>> don't know if  there's a collected list anywhere, or one that links
>> to recent talks (anything not too out-of-date).
>>
>
> I've been building a collection of P6 videos for about 5 years.
>
> I'm pretty sure I've caught most of the reasonably obvious ones.
>
> I've reviewed them all and added a couple hundred to a playlist.
>
> I include a tweet sized summary for each.
>
> The most recent 100 are post 6.c. Older ones go back a decade.
>
>
> https://www.youtube.com/playlist?list=3DPLRuESFRW2Fa77XObvk7-BYVFwobZHdXd=
K&disable_polymer=3Dtrue
>
> A few months ago google changed something so they start at
> random times. that's badly screwed things up. I've researched
> and it looks like I'll have to rebuild the playlist. So now would
> be a great time for anyone to give me feedback on what they
> think of this list of videos, or the summary I've written for any
> video you watch some of, or any other comment you care to
> make.
>
> TIA.
>
> --
> raiph
>

--0000000000005e05650577764af0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>This list is quite useful, thank you Raiph for it. I&=
#39;ve found some that I did not know about.</div><div>Cheers, Laurent.</di=
v><div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr">Le=
=C2=A0jeu. 4 oct. 2018 =C3=A0=C2=A001:03, Ralph Mellor &lt;<a href=3D"mailt=
o:ralphdjmellor@gmail.com" target=3D"_blank">ralphdjmellor@gmail.com</a>&gt=
; a =C3=A9crit=C2=A0:<br></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"l=
tr"><div dir=3D"ltr">On Wed, Oct 3, 2018 at 6:16 AM David Green &lt;<a href=
=3D"mailto:david.green@pl-comme.ci-comme.ca" target=3D"_blank">david.green@=
pl-comme.ci-comme.ca</a>&gt; wrote:<br><div class=3D"gmail_quote"><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">There are=C2=A0 quite a few record=
ed P6 presentations around, but I<br>don&#39;t know if=C2=A0 there&#39;s a =
collected list anywhere, or one that links<br>to recent talks (anything not=
 too out-of-date).<br></blockquote><div><br></div><div>I&#39;ve been buildi=
ng a collection of P6 videos for about 5 years.</div><div><br></div><div>I&=
#39;m pretty sure I&#39;ve caught most of the reasonably obvious ones.</div=
><div><br></div><div>I&#39;ve reviewed them all and added a couple hundred =
to a playlist.</div><div><br></div><div>I include a tweet sized summary for=
 each.</div><div><br></div><div>The most recent 100 are post 6.c. Older one=
s go back a decade.<br></div><div><br></div><div><a href=3D"https://www.you=
tube.com/playlist?list=3DPLRuESFRW2Fa77XObvk7-BYVFwobZHdXdK&amp;disable_pol=
ymer=3Dtrue" target=3D"_blank">https://www.youtube.com/playlist?list=3DPLRu=
ESFRW2Fa77XObvk7-BYVFwobZHdXdK&amp;disable_polymer=3Dtrue</a></div><div><br=
></div>A few months ago google changed something so they start  at<div>rand=
om times. that&#39;s badly screwed things up. I&#39;ve researched</div><div=
>and it looks like I&#39;ll have to rebuild the playlist. So now would</div=
><div>be a great time for anyone to give me feedback on what they</div><div=
>think of this list of videos, or the summary I&#39;ve written for any</div=
><div>video you watch some of, or any other comment you care to</div><div>m=
ake.</div><div><br></div><div>TIA.<br></div><div><br></div><div>--</div><di=
v>raiph<br></div></div></div></div>
</blockquote></div>

--0000000000005e05650577764af0--
0
perl6
10/5/2018 7:33:29 AM
On 10/2/18 5:52 PM, David Green wrote:
> On 2018-10-02 6:28 pm, ToddAndMargo wrote:
>> Question: in Perl syntaxland, is "postfix" short for "postcircumfix"? =

> Again, search for "postcircumfix" in docs.perl6.org, and you will get t=
his:
>=20
> https://docs.perl6.org/language/operators#index-entry-postcircumfix_ope=
rator=20
>=20
>=20
>  >>term++=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 postfix=

>  >>(term)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 circumf=
ix
>  >>term1[term2]=C2=A0=C2=A0=C2=A0 postcircumfix
>=20
> So it's a postfix operator and circumfix operator put together: *after*=
=20
> one term, and *around* the other term.
>=20
>=20
>=20
> -David


Hi David,

Still scratching me head, but it will sink in eventually.

Thank you!

-T
0
perl6
10/5/2018 9:15:07 PM
On 10/2/18 9:38 PM, David Green wrote:

> https://www.apress.com/gp/book/9781484228982
> 
> Is this something that better fits the way you think?

Hi David,

I really don't do well with such.  Thank you for
the tip anyway.

-T
0
perl6
10/5/2018 9:16:25 PM
Reply: