Re: A grand idea on the documentation

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-08 18:05, ToddAndMargo via perl6-users wrote:

Hi All,

I have a "grand idea" on how to fix up the documentation
I would like to pitch to the community:


> Lets create our own community documentation Wikipedia.


I would like "Community Documentation" placed
right next to "Documentation" on the Raku web
site.  When you arrive at the Community Documentation,
I would like to see

1)  An explanation of what it is

2)  How to sign up to contribute

3)  A list of requested command

4)  A list of completed commands

-T


Re: How do I do literal quotes in a regex?

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-08 19:34, Brad Gilbert wrote:

I like to use them, but I am not you.


Hi Brad,

I am going to create a keeper and give it a shot!

It is not like I don't have four or five of them
open when I am programming

:-)

-T


Re: How do I do literal quotes in a regex?

2019-12-08 Thread Brad Gilbert
I like to use them, but I am not you.

On Sun, Dec 8, 2019 at 8:19 PM ToddAndMargo via perl6-users <
perl6-us...@perl.org> wrote:

> On 2019-12-08 18:04, Brad Gilbert wrote:
> > I do not quite understand the question.
> >
> > I told you how to directly enter unicode by remembering the codepoint.
> >
> > It's still the same characters.
> >
> > I would definitely recommend setting up, and getting used to Compose
> keys.
> >
> > I use them all the time for things like « » ‘ ’ “ ” ¹²³⁴⁵⁶⁷⁸⁹⁰¯⁺≠
>
> I was not asking if they were any good or not.
>
> I was asking if you thought someone like me, who
> would have to look the them up every time, should
> just stick with the what is on the keyboard.
>
> At times I have just had a list of them I could just
> copy and paste.
>
> Be nice if Geany would have an insert character function.
> (I use Geany as it is ssh X11 friendly.)
>


Re: How do I do literal quotes in a regex?

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-08 18:04, Brad Gilbert wrote:

I do not quite understand the question.

I told you how to directly enter unicode by remembering the codepoint.

It's still the same characters.

I would definitely recommend setting up, and getting used to Compose keys.

I use them all the time for things like « » ‘ ’ “ ” ¹²³⁴⁵⁶⁷⁸⁹⁰¯⁺≠


I was not asking if they were any good or not.

I was asking if you thought someone like me, who
would have to look the them up every time, should
just stick with the what is on the keyboard.

At times I have just had a list of them I could just
copy and paste.

Be nice if Geany would have an insert character function.
(I use Geany as it is ssh X11 friendly.)


A grand idea on the documentation

2019-12-08 Thread ToddAndMargo via perl6-users

Hi All,

I have a "grand idea" on how to fix up the documentation
I would like to pitch to the community:

Raku's documentation is pretty much unusable for
newbies and regular users do to its culture:
IEEE-eese like "method contains(Cool:D: |c)"
and so on and so forth.  Sometimes a usable
example sneaks through.  It is targeted at
the wrong audience.

It has been pointed out that the reason why Perl 5's
perldocs is so much better done that Raku's is that
Perl 5 has some industry funding behind it and
Raku is a volunteer effort.

To cope with such, I write my own keepers on
various parts of Raku.  I have posted a couple
of them here.  I am up to 190 of them now.

So here is my idea.  Since this is a volunteer effort,
lets not loose the value of my own 190 notes and
everyone else's contributions as well.

Lets create our own community documentation Wikipedia.

Make it so any Raku user can wax eloquent on any
part of the documentation.  Have it peer reviewed for
accuracy and content, and then published for all
to use.

This would shut me up complaining about the IEEE-eese
and give me and other a chance to contribute on
a major scale.  A true community effort.

And, chuckle, keep the guard dog constructively
employed, instead of coming up his a bazillions
way to say (put to music) "no, No, NO, no no no,
NOT A BUG, NOT OUR PROBLEM, no no no, I don't
think this applies".

Given time, we could have some awesome documentation!
And it would be all in one place, not spread out all
over the Internet.  It would be something we could all
take pride in.

And those versed in the IEEE-eese can still use
the original documentation.

-T


Re: How do I do literal quotes in a regex?

2019-12-08 Thread Brad Gilbert
I do not quite understand the question.

I told you how to directly enter unicode by remembering the codepoint.

It's still the same characters.

I would definitely recommend setting up, and getting used to Compose keys.

I use them all the time for things like « » ‘ ’ “ ” ¹²³⁴⁵⁶⁷⁸⁹⁰¯⁺≠

On Sun, Dec 8, 2019 at 6:46 PM ToddAndMargo via perl6-users <
perl6-us...@perl.org> wrote:

> On 2019-12-08 06:22, Brad Gilbert wrote:
> > Personally though I just use 「Ctrl+Shift+u f f 6 2 Space」 and
> > 「Ctrl+Shift+u f f 6 3 Space」
> >
>
> Hi Brad,
>
> Your technical opinion: is it better for maintainability
> to stick with escape sequences or to use the unicodes?
>
> I ask as I will never remember them.  I can only program
> on occasion as I am a jack of all trades.
>
> On the other hand, I currently have 190 keeper files
> (no fooling, I do not liek Raku's documentation) like
> the one I copied in these parts on the hashes.  191
> on unicodes would not hurt.  And I do have to reference
> the other 190 a lot, so it is not like it would be any
> extra work. Although, I an type and when my mind gets
> racing and my fingers can keep up, I really don't
> like to be slowed down.
>
> -T
>


My keeper on "contains"

2019-12-08 Thread ToddAndMargo via perl6-users

Hi All,

I have 190 of these.  191 in the hopper for unicodes.
This is one of my better one.  It is also unique in
that it takes apart the IEEE-eese on the
documentation and explain what in the world is
going on.  Do you notice the ":" is sometimes a delimiter
and sometimes not.  Eee Gads!

Enjoy!

-T


perl 6: method:

Also: "starts-with" and "ends-with"

A method is a routine that you feed: .foo

   $ p6 'say "abc".contains( "a" );'
   True

   $ p6 'say "abc".contains( "z" );'
   False

   $ p6 'my $x="\na\nb\nc\n"; for $x.lines -> $i {print "<$i>\n"};'
   <>
   
   
   


Case insensitive contains:
$ p6 'if "2018 Jul 7".fc.contains( "jul".fc ) {say "Yes";}'
Yes

$ p6 'if "2018 xJul 7".fc.contains( "jul".fc ) {say "Yes";}'
Yes

p6 'if "2018 xul 7".fc.contains( "jul".fc ) {say "Yes";}'


$ p6 'my $x="strong>2018.2.0; Coming Soon"; say so 
$x.fc.contains("strong" & not "coming soon");'

False



multi method contains(Str:D: Cool:D $needle, Int(Cool:D) $pos --> Bool)

"multi method"
This means there are multiple ways to address this, as in

 multi method contains(Str:D: Cool:D $needle --> Bool)
 multi method contains(Str:D: Str:D $needle --> Bool)
 multi method contains(Str:D: Cool:D $needle, Int(Cool:D) $pos 
--> Bool)

 multi method contains(Str:D: Str:D $needle, Int:D $pos --> Bool)

"Str"
means it want to be fed data as a string.  Str.foo

":D"
means it wants actual data in the string and not a Nil.
The jargon for this requirement is that is is constrained
to an actual value

If it wanted a Nil, it would say ":U" or constrained to
a Nil

":"
is the delimiter that tells you it is finished defining
what is wants to be fed

"Cool:D $needle"
means it wants a type Cool (string or number) for the
substring ($needle) it is looking for in the Haystack (Str)

"Int(Cool:D)"
Means it will change a type Cool into a type Int (integer)
and the ":D" means it want some actual data and not a Nil.

"$pos"
Is short of Position.  It is the starting index in the
haystack (Str) to start looking for the substring
(needle).  Index starts at zero by way of string
convention in Perl 6

$pos is an optional parameter.  Instead of $pos?
for optional, they stated it with several "multi method"
that do not include $pos.

"-->Bool"
means it return True or False


Re: Fwd: Raku, docs, help [was: Re: vulgar?]

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-07 08:17, Philip Hazelden wrote:

This is not IEEE-ese. Earlier, you defined IEEE-ese as

      Technical written material that uses so many obscure
      terms and unnecessary technical jargon mixed with
      deliberate obscurities that even a reader with
      intimate knowledge of the subject are confused.
      Example: read any published paper from IEEE.

That is, IEEE-ese uses technical jargon *unnecessarily*. By contrast, 
what you quoted is simply using technical jargon *clearly and 
precisely*. (It does have a typo, the word "to" is missing between 
"invocant" and "Str"; and "Str.contains" links to the wrong anchor in 
the page.) It can probably be hard to tell the difference, if you aren't 
familiar with the technical jargon in question. But in this case, if you 
know what an "invocant" is, and what it means to "coerce" something, and 
to "call" a method, then the meaning is clear; and in fact, the way it 
was written seems like the obvious way to write it.


If you don't know what those words mean, then the meaning won't be 
clear. (But even then, clicking the link on "Str.contains" and glancing 
down that page a little should give you some hints.) Perhaps, to make it 
easier for you to understand, the docs could stop using words like 
"invocant" and "coerce". But that makes it *harder* for people who do 
understand these words, because those people then have to read more 
words and translate them into their precise understanding.


Perhaps it can be rewritten to make it clearer for people who don't know 
the jargon while not losing concision or expressiveness for people who 
do. But that's not necessarily an easy thing to do; and someone who 
doesn't know the jargon is unlikely to do it well.


As for `|c`, that's part of the type signature. For people who can read 
type signatures, glancing at the type signature of a method can be much 
easier than reading a possible-imprecise description of how to use it. 
If you can't read type signatures, you're out of luck; but that's no 
reason to hide them from people who can. If you type `|` into the search 
box, there's an entry under "Reference" named "| (parameter)" (which 
admittedly also links to the wrong anchor in the page), and another 
under "Syntax" simply named "|", and either one of those will (with 
perhaps a bit more reading and following links) take you to 
https://docs.raku.org/type/Signature#Capture_parameters which describes 
what it does.


Hi Phillip,

Have you ever been to an IEEE seminar and attended a lecture
on a subject that you have intimate knowledge on hoping
to pick up some additional tips.  In the lecture you keep
shaking your head saying to yourself "What, Huh? What
the Heck?".  After the lecture you ask yourself why you
wasted both your time and your money?  And here is the thing,
They are doing exactly what you stated are "cleanly and precisely" done. 
 These lecture are painstakingly peer

reviewed.  So why can't you figure out what the heck is
going on and you KNOW THE SUBJECT?  This is IEEE-eese.

Now back to "contains".  "method contains(Cool:D: |c)"
is not correct.  It is missing the "$pos --> Bool" which
tells you the result of the method.  (Hidden by the
IEEE-eese and "is intuitively obvious and left up
to the student to figure out for himself.")

But for the purpose of the rest of my letter, lets say it is
correct.

Okay here goes.  In technical writing, there are usually three
different targets for your audience.

1) your peers.  A civil Engineer to another civil engineer.
In your case other advanced developer level folks.

2) to someone is a parallel field.   A mechanical engineer to
an electrical engineer.  A Raku programmer to a C++ programmer.
(I do talk to C and C++ programmers on occasion.  They are great with 
explaining system calls)


3) to those either new to the field or outside the field, general public 
so to speak.  An allopath explaining an

injury to a patient.  In your case, explaining how a Raku
function works to me, as I am a beginner.

So, you have to ask, which one of the three were these
documents in general and "method contains(Cool:D: |c)"
in specific targets at?

1) follow developers and advanced users that don't need
them and have their own spec's?

2) to someone in a parallel programming field?  They
will never figure them out and just ignore them
and think you are a nut.

3) to newbies, such as myself.  Or even refreshers
to regular users?  They can't understand them.

This is where the documentation falls on its face.
The TARGET audience need to be 3 above not 1.
Perl5's Perldocs actually manages to both target
both 1, 2 and 3 above.

Ask yourself, do you see ANY tutorial on Raku that uses
the "method contains(Cool:D: |c)" jargon and explains
them?  Do you see ANYONE EVER using "method contains
(Cool:D: |c)" to explain things EVER?

Do you see ANYONE on this mailing list, other than
me asking how to untangle "method contains(Cool:D: |c)",
even though they are "cleanly 

Re: How do I do literal quotes in a regex?

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-08 06:22, Brad Gilbert wrote:
Personally though I just use 「Ctrl+Shift+u f f 6 2 Space」 and 
「Ctrl+Shift+u f f 6 3 Space」




Hi Brad,

Your technical opinion: is it better for maintainability
to stick with escape sequences or to use the unicodes?

I ask as I will never remember them.  I can only program
on occasion as I am a jack of all trades.

On the other hand, I currently have 190 keeper files
(no fooling, I do not liek Raku's documentation) like
the one I copied in these parts on the hashes.  191
on unicodes would not hurt.  And I do have to reference
the other 190 a lot, so it is not like it would be any
extra work. Although, I an type and when my mind gets
racing and my fingers can keep up, I really don't
like to be slowed down.

-T


Re: How do I do literal quotes in a regex?

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-08 08:46, Fernando Santagata wrote:
You won't believe it :-) but Raku's wonderful documentation has a page 
on how to enter Unicode characters:


https://docs.raku.org/language/unicode_entry


Hi Fernando,

Oh they sure do go to town on that one!  That page is
nicely done.

What is the unicode for the subscript double quote „ ?
and can it be used together with the regular
quote the same as 「」 ?

Thank you!

-T

Your take: for maintainability, is it better to use
these unicodes or to just stick with escaping things?


Re: How do I do literal quotes in a regex?

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-08 06:22, Brad Gilbert wrote:


Personally though I just use 「Ctrl+Shift+u f f 6 2 Space」 and 
「Ctrl+Shift+u f f 6 3 Space」


So basically I just remember how to directly type in Unicode codepoints, 
and those the two codepoints.



Taught me something new.  Thank you!


Re: implicit type change

2019-12-08 Thread Elizabeth Mattijsen
Yes, please.

> On 8 Dec 2019, at 20:48, Marcel Timmerman  wrote:
> 
> Hi Elizabeth,
> 
> Shall I file a bug report then?
> 
>> I hoped that:
>> 
>>   $ 6 'use NativeCall; dd my CArray[uint8] $ba .= new( 255, 254, 3, 4); dd 
>> $ba[0..*-1]'
>>   CArray[uint8] $ba = NativeCall::Types::CArray[uint8].new
>>   (-1, -2, 3, 4).Seq
>> 
>> would be a solution (usint "uint8" rather than "byte"), but alas, no, so 
>> this feels like a bug
>> 
>>> On 8 Dec 2019, at 20:01, Marcel Timmerman  wrote:
>>> 
>>> Hello,
>>> 
>>> I have a nasty problem using native call interface. I get an array of bytes 
>>> from a call representing a pixel buffer. I am storing it in a CArray[byte]. 
>>> Golfing it down it comes to the following (REPL)
>>> 
>>> 
 use NativeCall
 my CArray[byte] $ba .= new( 255, 254, 3, 4);
>>> NativeCall::Types::CArray[byte].new
 $ba[0].WHAT
>>> (Int)
 $ba[0..*-1]
>>> (-1 -2 3 4)
>>> 
>>> 
>>> This means (for me) that there is an implicit type conversion from unsigned 
>>> to signed integer and it is not possible to use positive numbers only, 
>>> afterwards.
>>> 
>>> Regards,
>>> Marcel


Re: looking for good project to learn perl6

2019-12-08 Thread Tom Blackwood
I meant Perl’s native frameworks for ML/DL.
Python’s numpy is very useful, before developing any ML framework, we
should have Perl’s numpy. So we are looking at PDL.

Thanks.

On Mon, Dec 9, 2019 at 2:59 AM Fernando Santagata 
wrote:

> On Sun, Dec 8, 2019 at 7:38 PM Tom Blackwood 
> wrote:
>
>> Tom
>>
>> We know pretty well tensorflow and spark ML.
>> Spark ML is primarily for machine learning, it lacks the ability of
>> deep learning such as deep CNN, GAN, GCN etc. In deep learning Industry
>> tensorflow and pytorch are widely used. I think Perl world should have our
>> own framework for ML/ DL.
>>
>
> Out of curiosity, for "our own framework" you mean a Raku interface to
> Tensorflow, or to some other software, because Tensorflow has been taken by
> Python?
>
>
>
>> Regards
>>
>> On Mon, Dec 9, 2019 at 1:52 AM Tom Browder  wrote:
>>
>>> On Sun, Dec 8, 2019 at 10:38 AM Fernando Santagata
>>>  wrote:
>>> >
>>> > Hello,
>>> > I started writing a raw interface to Tensorflow, but I stopped for
>>> various reasons [¹]. If anyone wants to work on it I can help and/or share
>>> what I've produced so far.
>>> >
>>> > [¹] three main reasons:
>>> ...
>>>
>>> Fernando, I'm on board with you on all three!
>>>
>>> But doesn't the Apache Group have something similar that could be a
>>> killer app without as much angst: Spark?
>>>
>>> See also:
>>>
>>> 1.
>>> https://dzone.com/articles/the-complete-apache-spark-collection-tutorials-and?edition=549292_source=Weekly%20Digest_medium=email_campaign=Weekly%20Digest%202019-12-04
>>>
>>> 2. https://www.educba.com/tensorflow-alternatives/
>>>
>>> Best regards,
>>>
>>> -Tom
>>>
>>
>
> --
> Fernando Santagata
>


Re: pass by reference

2019-12-08 Thread Joseph Brenner
Thanks, on both points.  Come to think of it, you hardly ever *want*
to pass an aggregate by value, so automatic aliasing ("raw" access)
makes sense as a default.



On 12/8/19, Brad Gilbert  wrote:
> Either use `rw` or `raw`
>
> Use `rw` if you need it to be mutable.
>
> Use `raw` if you just want to make sure you are getting the actual
> variable.
>
> That really only applies to `$` parameters though.
>
> ---
>
> `@` and `%` parameters are `raw` already.
>
> sub pop-random( @_ ) {
> @_.splice( (0..@_.elems).pick, 1 )
> }
>
> my @deck = 1..10;
> say pop-random @deck; # 7
> say @deck; # [1 2 3 4 5 6 8 9 10]
>
>
> On Sun, Dec 8, 2019 at 1:26 PM Joseph Brenner  wrote:
>
>> What's the sub signature incantation to
>> pass-by-reference do you can act directly
>> on the structure passed in without juggling
>> an alias yourself?
>>
>>   # deal from middle
>>   my $card = pop_random( @deck );
>>
>


Re: pass by reference

2019-12-08 Thread Brad Gilbert
Either use `rw` or `raw`

Use `rw` if you need it to be mutable.

Use `raw` if you just want to make sure you are getting the actual variable.

That really only applies to `$` parameters though.

---

`@` and `%` parameters are `raw` already.

sub pop-random( @_ ) {
@_.splice( (0..@_.elems).pick, 1 )
}

my @deck = 1..10;
say pop-random @deck; # 7
say @deck; # [1 2 3 4 5 6 8 9 10]


On Sun, Dec 8, 2019 at 1:26 PM Joseph Brenner  wrote:

> What's the sub signature incantation to
> pass-by-reference do you can act directly
> on the structure passed in without juggling
> an alias yourself?
>
>   # deal from middle
>   my $card = pop_random( @deck );
>


Re: Perl6 vs Julia

2019-12-08 Thread Brad Gilbert
>> The belief that Yet Another Programming Language is the answer to the
>> world's problems is a persistent, but (IMNSHO) a naive one.

Some people might think that applies to Raku.
Not me, but some people.

On Sun, Dec 8, 2019 at 2:09 PM Parrot Raiser <1parr...@gmail.com> wrote:

> Who initiated the project, and why?
> What deficiencies in existing languages are they trying to address?
>
> The belief that Yet Another Programming Language is the answer to the
> world's problems is a persistent, but (IMNSHO) a naive one.
>
> On 12/8/19, Andrew Shitov  wrote:
> > Let’s not hide the fact that Julia development raised 4.6 million dollars
> > and the language is production-ready.
> >
> > On Sun, 8 Dec 2019 at 12:46, JJ Merelo  wrote:
> >
> >> It might have been, but syntax is more Python-like to the point that in
> >> some cases it's exactly the same. It's got a very extensive macro
> >> systems,
> >> which enables it to work concurrently, for instance. It's more
> >> scientific-computing oriented, which means that there are all sort of
> >> mathematical modules for it, and not so many for web, databases, or
> >> things
> >> like that.
> >>
> >> El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ( >)
> >> escribió:
> >>
> >>> Hello
> >>>
> >>> How do you think of Julia language?
> >>>
> >>> https://en.wikipedia.org/wiki/Julia_(programming_language)
> >>>
> >>> It says it is also influenced by perl language.
> >>>
> >>> Regards
> >>>
> >>
> >>
> >> --
> >> JJ
> >>
> > --
> > Andrew Shitov
> > __
> > a...@shitov.ru | http://shitov.ru
> >
>


Re: Precedence: assignment vs smartmatch? (...was Re: where is my map typo)

2019-12-08 Thread Brad Gilbert
smartmatch is among the most complex parts of the language.

That complexity has to managed or it will be too complex to use effectively.

To that end, the rules and order of operations are never altered.

1. The left side is evaluated first, and the resulting value captured

> say('left') ~~ say('right')
left
right

2. $_ is temporarily set to that value, and the right side is executed

> 'ab' ~ 'c'   ~~ say($_)
abc

3. The result of that execution is matched against the left value

> 'abc' ~~ 'abb'.succ()
True

Specifically `.ACCEPTS` is called with the left value.
So the following two lines are roughly equivalent.

> 'abc'   ~~   'abb'.succ()
> 'abb'.succ().ACCEPTS('abc')

So in the case of S/// and ~~ this is the order that things happen:

1. The left side is executed

« a b c ».join()  ~~  S/b/./

'abc' ~~ S/b/./

2. $_ is temporarily set to that value, and the right side is executed

'abc' ~~ S/b/./

'abc' ~~ 'a.c'

3. the result of the right side is matched against the left value

'abc' ~~ 'a.c'

'a.c'.ACCEPTS('abc') # False

So basically if S/// changes the value, the result is False.
If S/// doesn't change it, the result is True.

Which means the following two lines are functionally identical.

'abc'   ~~  S/b/./
'abc'  !~~   /b/

So the resulting value will never be the string you wanted!
It will be True or False.

---

The reason for the two stage execution is for the following.

'abc' ~~   .contains('b')
'abc' ~~ { .contains('b') }
'abc' ~~ m / b /
'abc' ~~ rx / b /

Those four lines work basically the same, but for two different reasons.

The first one works because $_ is set to the left value, and True.ACCEPTS()
always returns True

The second one works because CODE.ACCEPTS() always runs the code with the
same parameter list.

The third one works for the same reason as the first one

The fourth one works for the same reason as the second one

1. Left side executed

'abc' ~~   .contains('b')
'abc' ~~ { .contains('b') }
'abc' ~~ m  / b /
'abc' ~~ rx / b /

2. Right side executed

'abc' ~~  True
'abc' ~~ { .contains('b') }
'abc' ~~ True
'abc' ~~ rx / b /

3. R-VALUE  .ACCEPTS( L-VALUE )

True.ACCEPTS('abc')
{ .contains('b') }.ACCEPTS('abc')
True.ACCEPTS('abc')
rx / b /.ACCEPTS('abc')

Note again that CODE.ACCEPTS(VALUE) is the same as CODE.(VALUE).
(Note also that a regex is a code object.)

True.ACCEPTS('abc')
{ .contains('b') }.('abc')
True.ACCEPTS('abc')
rx / b /.('abc')

---

So then why does this work?

'abc' ~~ { S/b/./ }

As I said CODE.ACCEPTS() always runs CODE with the same parameter list.

{ S/b/./ }  .ACCEPTS( 'abc' )

{ S/b/./ }  .( 'abc' )

---

So why does the warning tell you to use `given` instead of what I just
wrote?

The ~~ is intended mostly for resolving some sort of truthiness.
So I just misused the feature for something it was not intended for.

`given` is intended for temporarily setting $_, so it is the appropriate
tool for the job.

S/b/./ given 'abc'

If you don't like `given`, then just use `.subst()`

'abc'.subst( 'b', '.' )

On Sun, Dec 8, 2019 at 1:32 AM William Michels 
wrote:

> Apologies, looks like the smartmatch operator is listed in the
> Operator Precedence table (15th row: under "Chaining infix"):
>
> https://docs.raku.org/language/operators#Assignment_operators
>
> However, am I correct in stating that the assignment operator ("=") is
> on the 19th row ("Item assignment")? Therefore in the absence of
> parentheses, etc., all smartmatch operations take precedence over
> assignment operations?
>
> Best Regards, Bill.
>
>
> On Sat, Dec 7, 2019 at 10:27 PM William Michels 
> wrote:
> >
> > Wow Brad, that's interesting and informative.
> >
> > I haven't seen the S/// operator before, so I had to look it up. On
> > the first page I found the docs say (quite informatively): "S/// uses
> > the same semantics as the s/// operator, except it leaves the original
> > string intact and returns the resultant string instead of $/ ($/ still
> > being set to the same values as with s///)."
> >
> > https://docs.raku.org/syntax/S$SOLIDUS$SOLIDUS$SOLIDUS
> >
> > I was then able to find an overview on regexes, which more explicitly
> > names the "S///" operator as "Non-disruptive substitution". I suppose
> > I could quibble and request that the phrase "Non-disruptive
> > substitution" be added to the operator page (above), but no
> > matter--it's easy enough to find:
> >
> > https://docs.raku.org/language/regexes#S///_non-destructive_substitution
> >
> > So I think I understand that (as Brad has said): "smartmatch with S///
> > (or TR///) is not useful." Conversely, I've also found another
> > smartmatch construct that is useless (i.e. disallowed):
> >
> > > my $r = 'abc' ~~ { S/b/./ }
> > a.c
> > > my $s = 'abc' ~~ { s/b/./ }
> > Cannot 

Re: implicit type change

2019-12-08 Thread Marcel Timmerman

Hi Elizabeth,

Shall I file a bug report then?


I hoped that:

   $ 6 'use NativeCall; dd my CArray[uint8] $ba .= new( 255, 254, 3, 4); dd 
$ba[0..*-1]'
   CArray[uint8] $ba = NativeCall::Types::CArray[uint8].new
   (-1, -2, 3, 4).Seq

would be a solution (usint "uint8" rather than "byte"), but alas, no, so this 
feels like a bug


On 8 Dec 2019, at 20:01, Marcel Timmerman  wrote:

Hello,

I have a nasty problem using native call interface. I get an array of bytes 
from a call representing a pixel buffer. I am storing it in a CArray[byte]. 
Golfing it down it comes to the following (REPL)



use NativeCall
my CArray[byte] $ba .= new( 255, 254, 3, 4);

NativeCall::Types::CArray[byte].new

$ba[0].WHAT

(Int)

$ba[0..*-1]

(-1 -2 3 4)


This means (for me) that there is an implicit type conversion from unsigned to 
signed integer and it is not possible to use positive numbers only, afterwards.

Regards,
Marcel


Re: Perl6 vs Julia

2019-12-08 Thread Parrot Raiser
Who initiated the project, and why?
What deficiencies in existing languages are they trying to address?

The belief that Yet Another Programming Language is the answer to the
world's problems is a persistent, but (IMNSHO) a naive one.

On 12/8/19, Andrew Shitov  wrote:
> Let’s not hide the fact that Julia development raised 4.6 million dollars
> and the language is production-ready.
>
> On Sun, 8 Dec 2019 at 12:46, JJ Merelo  wrote:
>
>> It might have been, but syntax is more Python-like to the point that in
>> some cases it's exactly the same. It's got a very extensive macro
>> systems,
>> which enables it to work concurrently, for instance. It's more
>> scientific-computing oriented, which means that there are all sort of
>> mathematical modules for it, and not so many for web, databases, or
>> things
>> like that.
>>
>> El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ()
>> escribió:
>>
>>> Hello
>>>
>>> How do you think of Julia language?
>>>
>>> https://en.wikipedia.org/wiki/Julia_(programming_language)
>>>
>>> It says it is also influenced by perl language.
>>>
>>> Regards
>>>
>>
>>
>> --
>> JJ
>>
> --
> Andrew Shitov
> __
> a...@shitov.ru | http://shitov.ru
>


Re: implicit type change

2019-12-08 Thread Marcel Timmerman

On 12/8/19 8:19 PM, Fernando Santagata wrote:
It looks like a bug: the docs 
(https://docs.raku.org/language/nativetypes) specify that 'byte' and 
'uint8' are the same and correspond to uint8_t in C.

Substituting 'uint8' to 'byte' in your code returns the same result.

Out of curiosity, if it is something meant for the public, what native 
call interface are you working on?

Hi Fernando,

I'm working on the Gnome GTK+ interface. I started this as a learning 
task for the native call interface but it is grown into a huge project. 
The packages are Gnome::N, Gnome::Glib, Gnome::GObject, Gnome::Gdk3, 
Gnome::Gtk3, Gnome::Gtk3::Glade and more to come.




On Sun, Dec 8, 2019 at 8:08 PM Marcel Timmerman > wrote:


Hello,

I have a nasty problem using native call interface. I get an array of
bytes from a call representing a pixel buffer. I am storing it in a
CArray[byte]. Golfing it down it comes to the following (REPL)


 > use NativeCall
 > my CArray[byte] $ba .= new( 255, 254, 3, 4);
NativeCall::Types::CArray[byte].new
 > $ba[0].WHAT
(Int)
 > $ba[0..*-1]
(-1 -2 3 4)


This means (for me) that there is an implicit type conversion from
unsigned to signed integer and it is not possible to use positive
numbers only, afterwards.

Regards,
Marcel



--
Fernando Santagata




Re: Perl6 vs Julia

2019-12-08 Thread Andrew Shitov
Let’s not hide the fact that Julia development raised 4.6 million dollars
and the language is production-ready.

On Sun, 8 Dec 2019 at 12:46, JJ Merelo  wrote:

> It might have been, but syntax is more Python-like to the point that in
> some cases it's exactly the same. It's got a very extensive macro systems,
> which enables it to work concurrently, for instance. It's more
> scientific-computing oriented, which means that there are all sort of
> mathematical modules for it, and not so many for web, databases, or things
> like that.
>
> El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ()
> escribió:
>
>> Hello
>>
>> How do you think of Julia language?
>>
>> https://en.wikipedia.org/wiki/Julia_(programming_language)
>>
>> It says it is also influenced by perl language.
>>
>> Regards
>>
>
>
> --
> JJ
>
-- 
Andrew Shitov
__
a...@shitov.ru | http://shitov.ru


Re: implicit type change

2019-12-08 Thread Elizabeth Mattijsen
I hoped that:

  $ 6 'use NativeCall; dd my CArray[uint8] $ba .= new( 255, 254, 3, 4); dd 
$ba[0..*-1]'
  CArray[uint8] $ba = NativeCall::Types::CArray[uint8].new
  (-1, -2, 3, 4).Seq

would be a solution (usint "uint8" rather than "byte"), but alas, no, so this 
feels like a bug

> On 8 Dec 2019, at 20:01, Marcel Timmerman  wrote:
> 
> Hello,
> 
> I have a nasty problem using native call interface. I get an array of bytes 
> from a call representing a pixel buffer. I am storing it in a CArray[byte]. 
> Golfing it down it comes to the following (REPL)
> 
> 
> > use NativeCall
> > my CArray[byte] $ba .= new( 255, 254, 3, 4);
> NativeCall::Types::CArray[byte].new
> > $ba[0].WHAT
> (Int)
> > $ba[0..*-1]
> (-1 -2 3 4)
> 
> 
> This means (for me) that there is an implicit type conversion from unsigned 
> to signed integer and it is not possible to use positive numbers only, 
> afterwards.
> 
> Regards,
> Marcel


Re: implicit type change

2019-12-08 Thread Fernando Santagata
It looks like a bug: the docs (https://docs.raku.org/language/nativetypes)
specify that 'byte' and 'uint8' are the same and correspond to uint8_t in C.
Substituting 'uint8' to 'byte' in your code returns the same result.

Out of curiosity, if it is something meant for the public, what native call
interface are you working on?

On Sun, Dec 8, 2019 at 8:08 PM Marcel Timmerman  wrote:

> Hello,
>
> I have a nasty problem using native call interface. I get an array of
> bytes from a call representing a pixel buffer. I am storing it in a
> CArray[byte]. Golfing it down it comes to the following (REPL)
>
>
>  > use NativeCall
>  > my CArray[byte] $ba .= new( 255, 254, 3, 4);
> NativeCall::Types::CArray[byte].new
>  > $ba[0].WHAT
> (Int)
>  > $ba[0..*-1]
> (-1 -2 3 4)
>
>
> This means (for me) that there is an implicit type conversion from
> unsigned to signed integer and it is not possible to use positive
> numbers only, afterwards.
>
> Regards,
> Marcel
>


-- 
Fernando Santagata


pass by reference

2019-12-08 Thread Joseph Brenner
What's the sub signature incantation to
pass-by-reference do you can act directly
on the structure passed in without juggling
an alias yourself?

  # deal from middle
  my $card = pop_random( @deck );


Re: Perl6 vs Julia

2019-12-08 Thread Fernando Santagata
If math is your area of interest, the GSL is interesting *and* humongous:
I've been working on it for two weeks writing the raw interface to the C
library and I just started to write a Raku-level interface, something that
would let programmers use the library without having to learn how to create
a CArray and convert between Raku and C types.
So after two weeks I counted how many C functions I converted as a raw
interface: 561. Then I found out that I was at the third group of functions
of about 40.
Did I say it's huge?
I think I will write the Raku interface to what I've done so far and start
publish the "work in progress" on the CPAN, so other people will know that
there's someone working on it. PRs will be welcome ;-)

On Sun, Dec 8, 2019 at 7:41 PM Tom Blackwood  wrote:

> Nice! Thanks for letting me know.
>
> On Mon, Dec 9, 2019 at 12:21 AM Fernando Santagata <
> nando.santag...@gmail.com> wrote:
>
>> Hi,
>> I authored an interface to the Fastest Fourier Transform in the West
>> (libfftw3) as Math::FFT::Libfftw3; I'm working on an interface to the GNU
>> Scientific Library (libgsl).
>> I'm writing this just to avoid duplicating an effort.
>>
>> On Sun, Dec 8, 2019 at 12:18 PM Tom Blackwood 
>> wrote:
>>
>>> Thanks  JJ.
>>> We know Perl has PDL for data science,
>>> http://pdl.perl.org/
>>>
>>> We are looking into it and see if it's possible to make a Perl6 version
>>> of Scikit-learn based on PDL.
>>>
>>> regards.
>>> Tom
>>>
>>> On Sun, Dec 8, 2019 at 6:40 PM JJ Merelo  wrote:
>>>
 It might have been, but syntax is more Python-like to the point that in
 some cases it's exactly the same. It's got a very extensive macro systems,
 which enables it to work concurrently, for instance. It's more
 scientific-computing oriented, which means that there are all sort of
 mathematical modules for it, and not so many for web, databases, or things
 like that.

 El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ()
 escribió:

> Hello
>
> How do you think of Julia language?
>
> https://en.wikipedia.org/wiki/Julia_(programming_language)
>
> It says it is also influenced by perl language.
>
> Regards
>


 --
 JJ

>>>
>>
>> --
>> Fernando Santagata
>>
>

-- 
Fernando Santagata


implicit type change

2019-12-08 Thread Marcel Timmerman

Hello,

I have a nasty problem using native call interface. I get an array of 
bytes from a call representing a pixel buffer. I am storing it in a 
CArray[byte]. Golfing it down it comes to the following (REPL)



> use NativeCall
> my CArray[byte] $ba .= new( 255, 254, 3, 4);
NativeCall::Types::CArray[byte].new
> $ba[0].WHAT
(Int)
> $ba[0..*-1]
(-1 -2 3 4)


This means (for me) that there is an implicit type conversion from 
unsigned to signed integer and it is not possible to use positive 
numbers only, afterwards.


Regards,
Marcel


Re: looking for good project to learn perl6

2019-12-08 Thread Fernando Santagata
On Sun, Dec 8, 2019 at 7:38 PM Tom Blackwood  wrote:

> Tom
>
> We know pretty well tensorflow and spark ML.
> Spark ML is primarily for machine learning, it lacks the ability of
> deep learning such as deep CNN, GAN, GCN etc. In deep learning Industry
> tensorflow and pytorch are widely used. I think Perl world should have our
> own framework for ML/ DL.
>

Out of curiosity, for "our own framework" you mean a Raku interface to
Tensorflow, or to some other software, because Tensorflow has been taken by
Python?



> Regards
>
> On Mon, Dec 9, 2019 at 1:52 AM Tom Browder  wrote:
>
>> On Sun, Dec 8, 2019 at 10:38 AM Fernando Santagata
>>  wrote:
>> >
>> > Hello,
>> > I started writing a raw interface to Tensorflow, but I stopped for
>> various reasons [¹]. If anyone wants to work on it I can help and/or share
>> what I've produced so far.
>> >
>> > [¹] three main reasons:
>> ...
>>
>> Fernando, I'm on board with you on all three!
>>
>> But doesn't the Apache Group have something similar that could be a
>> killer app without as much angst: Spark?
>>
>> See also:
>>
>> 1.
>> https://dzone.com/articles/the-complete-apache-spark-collection-tutorials-and?edition=549292_source=Weekly%20Digest_medium=email_campaign=Weekly%20Digest%202019-12-04
>>
>> 2. https://www.educba.com/tensorflow-alternatives/
>>
>> Best regards,
>>
>> -Tom
>>
>

-- 
Fernando Santagata


Re: Perl6 vs Julia

2019-12-08 Thread Tom Blackwood
Nice! Thanks for letting me know.

On Mon, Dec 9, 2019 at 12:21 AM Fernando Santagata <
nando.santag...@gmail.com> wrote:

> Hi,
> I authored an interface to the Fastest Fourier Transform in the West
> (libfftw3) as Math::FFT::Libfftw3; I'm working on an interface to the GNU
> Scientific Library (libgsl).
> I'm writing this just to avoid duplicating an effort.
>
> On Sun, Dec 8, 2019 at 12:18 PM Tom Blackwood 
> wrote:
>
>> Thanks  JJ.
>> We know Perl has PDL for data science,
>> http://pdl.perl.org/
>>
>> We are looking into it and see if it's possible to make a Perl6 version
>> of Scikit-learn based on PDL.
>>
>> regards.
>> Tom
>>
>> On Sun, Dec 8, 2019 at 6:40 PM JJ Merelo  wrote:
>>
>>> It might have been, but syntax is more Python-like to the point that in
>>> some cases it's exactly the same. It's got a very extensive macro systems,
>>> which enables it to work concurrently, for instance. It's more
>>> scientific-computing oriented, which means that there are all sort of
>>> mathematical modules for it, and not so many for web, databases, or things
>>> like that.
>>>
>>> El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ()
>>> escribió:
>>>
 Hello

 How do you think of Julia language?

 https://en.wikipedia.org/wiki/Julia_(programming_language)

 It says it is also influenced by perl language.

 Regards

>>>
>>>
>>> --
>>> JJ
>>>
>>
>
> --
> Fernando Santagata
>


Re: looking for good project to learn perl6

2019-12-08 Thread Tom Blackwood
Tom

We know pretty well tensorflow and spark ML.
Spark ML is primarily for machine learning, it lacks the ability of
deep learning such as deep CNN, GAN, GCN etc. In deep learning Industry
tensorflow and pytorch are widely used. I think Perl world should have our
own framework for ML/ DL.

Regards

On Mon, Dec 9, 2019 at 1:52 AM Tom Browder  wrote:

> On Sun, Dec 8, 2019 at 10:38 AM Fernando Santagata
>  wrote:
> >
> > Hello,
> > I started writing a raw interface to Tensorflow, but I stopped for
> various reasons [¹]. If anyone wants to work on it I can help and/or share
> what I've produced so far.
> >
> > [¹] three main reasons:
> ...
>
> Fernando, I'm on board with you on all three!
>
> But doesn't the Apache Group have something similar that could be a
> killer app without as much angst: Spark?
>
> See also:
>
> 1.
> https://dzone.com/articles/the-complete-apache-spark-collection-tutorials-and?edition=549292_source=Weekly%20Digest_medium=email_campaign=Weekly%20Digest%202019-12-04
>
> 2. https://www.educba.com/tensorflow-alternatives/
>
> Best regards,
>
> -Tom
>


Re: looking for good project to learn perl6

2019-12-08 Thread JJ Merelo
Spark is a platform for stream processing, mainly. Tensorflow is a
framework for machine learning. It's now open source, although Google calls
the shots. I don't think they're pulling the plug here. It's open source,
you can always fork.

El dom., 8 dic. 2019 a las 18:52, Tom Browder ()
escribió:

> On Sun, Dec 8, 2019 at 10:38 AM Fernando Santagata
>  wrote:
> >
> > Hello,
> > I started writing a raw interface to Tensorflow, but I stopped for
> various reasons [¹]. If anyone wants to work on it I can help and/or share
> what I've produced so far.
> >
> > [¹] three main reasons:
> ...
>
> Fernando, I'm on board with you on all three!
>
> But doesn't the Apache Group have something similar that could be a
> killer app without as much angst: Spark?
>
> See also:
>
> 1.
> https://dzone.com/articles/the-complete-apache-spark-collection-tutorials-and?edition=549292_source=Weekly%20Digest_medium=email_campaign=Weekly%20Digest%202019-12-04
>
> 2. https://www.educba.com/tensorflow-alternatives/
>
> Best regards,
>
> -Tom
>


-- 
JJ


Re: looking for good project to learn perl6

2019-12-08 Thread Tom Browder
On Sun, Dec 8, 2019 at 10:38 AM Fernando Santagata
 wrote:
>
> Hello,
> I started writing a raw interface to Tensorflow, but I stopped for various 
> reasons [¹]. If anyone wants to work on it I can help and/or share what I've 
> produced so far.
>
> [¹] three main reasons:
...

Fernando, I'm on board with you on all three!

But doesn't the Apache Group have something similar that could be a
killer app without as much angst: Spark?

See also:

1.  
https://dzone.com/articles/the-complete-apache-spark-collection-tutorials-and?edition=549292_source=Weekly%20Digest_medium=email_campaign=Weekly%20Digest%202019-12-04

2. https://www.educba.com/tensorflow-alternatives/

Best regards,

-Tom


Re: How do I do literal quotes in a regex?

2019-12-08 Thread Fernando Santagata
You won't believe it :-) but Raku's wonderful documentation has a page on
how to enter Unicode characters:

https://docs.raku.org/language/unicode_entry

That page also links to a GitHub project which offers a .XCompose ready to
use.
I started from that and added some faster and easier (for me) to remember
key combinations, such as for example:

   : "「"   UFF62
   : "」"   UFF63

which use the left "Win" key as a dead key, followed by 'l' or 'L' to
produce the Japanese quoting characters.

On Sun, Dec 8, 2019 at 1:56 PM ToddAndMargo via perl6-users <
perl6-us...@perl.org> wrote:

>  > On Sat, Dec 7, 2019 at 12:51 AM ToddAndMargo via perl6-users
>  > mailto:perl6-us...@perl.org>> wrote:
>  >
>  > Hi All,
>  >
>  > Is there a `Q[]` that can be used in a regex?
>  >
>  > I am looking for how to get around
>  >
>  > my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ '' /x/; say $y
>  > \:x::
>  >
>  > This does not work:
>  > my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ Q[\\] /x/; say $y
>  > \:\\::
>  >
>  > Nor does this:
>  > my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ [\\] /x/; say $y
>  > x:\\::
>  >
>  > Many thanks,
>  > -T
>
> On 2019-12-07 07:02, Brad Gilbert wrote:
> > The shortcut spelling of Q[…] is to use 「 and 」 (U+FF62  and U+FF63)
> >
> >  my $x = 「\:\\::」; ( my $y = $x ) ~~ s/ 「\\」 /x/; say $y
> >  \:\\::
> >
> > The case could be made that \Q[\\] should work as well. (It would need
> > to be added).
> > (Along with \q[…] and \qq[…])
> >
> > Note that \Q[…] doesn't work in string literals currently either. While
> > \q[…] and \qq[…] do.
> >
> >  > "\q[\n]\n"
> >  \n␤
> >
> >  > '\n\qq[\n]'
> >  \n␤
> >
> > Note that single and double quotes also work in regexs.
> >
> > The three of them ('…' "…" 「…」) have a few jobs.
> >
> > 1. They escape spaces and other non-alphanumerics.
> >
> >  > 'a b c' ~~ / 'a b c' /
> >  Nil
> >  > 'a b c  A B C' ~~ / :i  'a b c' /
> >  A B C
> >
> >  > 'a b c' ~~ / 'a . c' /
> >  Nil
> >  > 'a . c' ~~ / 'a . c' /
> >  a . c
> >
> > Note that the rules for the string literal still apply.
> >
> > > "abc\n" ~~ / 'abc\n' /
> > Nil
> > > "abc\n" ~~ / "abc\n" /
> > abc␤
> >
> > 2. They group characters as a single atom.
> > (Meaning they behave a bit like [] in a regex)
> >
> >  > 'abccd' ~~ / 'abc'+ d /
> >  Nil
> >  > 'abccd' ~~ / [abc]+ d /
> >  Nil
> >
> >  > 'abccd' ~~ / abc+ d /
> >  abccd
> >
> >  > 'abccd   abcABCabcd' ~~ / :i 'abc'+ d /
> >  abcABCabcd
> >  > 'abccd   abcABCabcd' ~~ / :i [abc]+ d /
> >  abcABCabcd
> >
> > Note that '…' in a regex behaves like '…' outside of one, as well as "…"
> > behaving like "…" and 「…」 behaving like 「…」
>
> Hi Brad,
>
>That was above and beyond!  Thank you!
>
> my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ 「\\」 /x/; say $y
> \:x::
>
> What is the easiest way to get those weird brackets in Fedora31?
>
> -T
>


-- 
Fernando Santagata


Re: looking for good project to learn perl6

2019-12-08 Thread Fernando Santagata
Hello,
I started writing a raw interface to Tensorflow, but I stopped for various
reasons [¹]. If anyone wants to work on it I can help and/or share what
I've produced so far.

[¹] three main reasons:
* Ethics: I wouldn't like to be part of an effort to control people and
free speech;
* I don't trust how Google manages its projects (Just google for "google
graveyard". I've been burned twice by Google dropping its products, so
pardon me if I'm wary)
* Lack of experience in the specific field of machine learning: while I
understand the basics and I know how to interface C and Raku, I know that
the Tensorflow C API is seldom used directly. Programmers usually work with
the Python interface, which is much more extensive, but as far as I know,
poorly documented.
Those are just my opinions and I'm happy to change my opinions when facts
contradict them ;-)

On Sun, Dec 8, 2019 at 12:50 PM Peter Scott  wrote:

> Raku libraries for Keras/Tensorflow, or AWS, or Kubernetes, leveraging the
> novel features of Raku, could be killer apps for Raku. Ambitious, though.
>
> Peter Scott
>
> On Dec 7, 2019, at 7:24 PM, Tom Blackwood  wrote:
>
> 
> Hello William,
>
> We are actually a small team making the primary job for big data/machine
> learning etc.
> We know nothing about mailing list gateway and NNTP stuff.
> But thanks for your suggestion, I will take a took at the references you
> provided.
>
> Regards
> Tom
>
>
> On Sun, Dec 8, 2019 at 3:30 AM William Michels 
> wrote:
>
>> Hi Tom,
>>
>> My vote would be for someone to take on the task of writing
>> "mailing-list" software in Raku/Perl6, and/or writing
>> "mailing-list-archiving" software (e.g. an NNTP server) in Raku/Perl6.
>> First of all, for your group this would be a relatively-high profile
>> project, with the potential for hundreds or even thousands of
>> companies adopting such a module for their own institutional or
>> company needs.
>>
>> Regarding the "archiving" module in particular, you could see how the
>> Perl mailing lists are archived, and easily imagine how they might be
>> improved. There would be a need to access data from a database, filter
>> out spam, organize the data by date and/or thread, and serve up the
>> data in a web-accessible format. Selfishly, I would love to see a
>> searchable archive of every Perl6/Raku email ever written.
>>
>> I've communicated with Ask Bjorn Hansen about the Perl software
>> presently running the NNTP archive (www.nntp.perl.org), in particular
>> the Perl6-Users mailing list. Ask Bjorn Hansen says the NNTP archive
>> runs on Colobus which is written in Perl, with commits going all the
>> way back to 2001. So why not rewrite it in Raku/Perl6?? In particular,
>> I was hoping to see a better "subject threading" algorithm, since with
>> Colobus (on occasion) emails from different "eras" are lumped together
>> in the same thread (example: emails from 2010 showing up in Sept. 2019
>> threads).
>>
>> I don't know if your group has an interest in writing a full-blown
>> NNTP server, but below are resources for Raku/Perl6, Python, and R.
>> You can decide for yourself if the Raku/Perl6 resources need
>> improving:
>>
>> Raku/Perl6:
>> https://www.nntp.perl.org/group/
>> https://www.nntp.perl.org/group/perl.perl6.users/
>> https://trainedmonkey.com/projects/colobus/
>> https://github.com/abh/colobus
>>
>> Python:
>> https://www.python.org/community/lists/
>> https://mail.python.org/archives/
>> https://mail.python.org/mailman/listinfo
>>
>> R:
>> https://www.r-project.org/mail.html
>> https://stat.ethz.ch/mailman/listinfo
>> https://r.789695.n4.nabble.com
>>
>>
>> HTH, Bill.
>>
>>
>>
>> On Fri, Dec 6, 2019 at 1:59 AM Tom Blackwood 
>> wrote:
>> >
>> > Thanks, I'll check it out!
>> >
>> > On Fri, Dec 6, 2019 at 5:50 PM JJ Merelo  wrote:
>> >>
>> >> Try something in the most wanted repo:
>> https://github.com/perl6/perl6-most-wanted/blob/master/most-wanted/modules.md
>> That way you will learn _and_ help the community.
>> >>
>> >> El vie., 6 dic. 2019 a las 8:11, Tom Blackwood ()
>> escribió:
>> >>>
>> >>> Hello
>> >>>
>> >>> My team most time developed with ruby language.
>> >>> These recent days we took  time reading the book Learning Perl 6.
>> >>> Then we consider to take an actual project to learn more deeply.
>> >>> What project do you suggest for us to get involve into?
>> >>>
>> >>> Regards,
>> >>> Tom
>> >>
>> >>
>> >>
>> >> --
>> >> JJ
>>
>

-- 
Fernando Santagata


Re: Perl6 vs Julia

2019-12-08 Thread Fernando Santagata
Hi,
I authored an interface to the Fastest Fourier Transform in the West
(libfftw3) as Math::FFT::Libfftw3; I'm working on an interface to the GNU
Scientific Library (libgsl).
I'm writing this just to avoid duplicating an effort.

On Sun, Dec 8, 2019 at 12:18 PM Tom Blackwood  wrote:

> Thanks  JJ.
> We know Perl has PDL for data science,
> http://pdl.perl.org/
>
> We are looking into it and see if it's possible to make a Perl6 version of
> Scikit-learn based on PDL.
>
> regards.
> Tom
>
> On Sun, Dec 8, 2019 at 6:40 PM JJ Merelo  wrote:
>
>> It might have been, but syntax is more Python-like to the point that in
>> some cases it's exactly the same. It's got a very extensive macro systems,
>> which enables it to work concurrently, for instance. It's more
>> scientific-computing oriented, which means that there are all sort of
>> mathematical modules for it, and not so many for web, databases, or things
>> like that.
>>
>> El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ()
>> escribió:
>>
>>> Hello
>>>
>>> How do you think of Julia language?
>>>
>>> https://en.wikipedia.org/wiki/Julia_(programming_language)
>>>
>>> It says it is also influenced by perl language.
>>>
>>> Regards
>>>
>>
>>
>> --
>> JJ
>>
>

-- 
Fernando Santagata


Re: How do I do literal quotes in a regex?

2019-12-08 Thread Brad Gilbert
I would recommend setting up a compose key.

But that is not enough because I don't think it has a binding for those two
characters.

So you would also have to modify the config to include them.

I think that 「Compose [ [ 」 and 「Compose ] ] 」 might be what I would set
them as.

Note that 「‘」 is 「Compose < ' 」 and  「’」 is 「Compose > ' 」 along with 「“」
and 「”」 being 「Compose < " 」 and 「Compose > " 」



Personally though I just use 「Ctrl+Shift+u f f 6 2 Space」 and 「Ctrl+Shift+u
f f 6 3 Space」

So basically I just remember how to directly type in Unicode codepoints,
and those the two codepoints.

On Sun, Dec 8, 2019 at 6:56 AM ToddAndMargo via perl6-users <
perl6-us...@perl.org> wrote:

>  > On Sat, Dec 7, 2019 at 12:51 AM ToddAndMargo via perl6-users
>  > mailto:perl6-us...@perl.org>> wrote:
>  >
>  > Hi All,
>  >
>  > Is there a `Q[]` that can be used in a regex?
>  >
>  > I am looking for how to get around
>  >
>  > my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ '' /x/; say $y
>  > \:x::
>  >
>  > This does not work:
>  > my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ Q[\\] /x/; say $y
>  > \:\\::
>  >
>  > Nor does this:
>  > my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ [\\] /x/; say $y
>  > x:\\::
>  >
>  > Many thanks,
>  > -T
>
> On 2019-12-07 07:02, Brad Gilbert wrote:
> > The shortcut spelling of Q[…] is to use 「 and 」 (U+FF62  and U+FF63)
> >
> >  my $x = 「\:\\::」; ( my $y = $x ) ~~ s/ 「\\」 /x/; say $y
> >  \:\\::
> >
> > The case could be made that \Q[\\] should work as well. (It would need
> > to be added).
> > (Along with \q[…] and \qq[…])
> >
> > Note that \Q[…] doesn't work in string literals currently either. While
> > \q[…] and \qq[…] do.
> >
> >  > "\q[\n]\n"
> >  \n␤
> >
> >  > '\n\qq[\n]'
> >  \n␤
> >
> > Note that single and double quotes also work in regexs.
> >
> > The three of them ('…' "…" 「…」) have a few jobs.
> >
> > 1. They escape spaces and other non-alphanumerics.
> >
> >  > 'a b c' ~~ / 'a b c' /
> >  Nil
> >  > 'a b c  A B C' ~~ / :i  'a b c' /
> >  A B C
> >
> >  > 'a b c' ~~ / 'a . c' /
> >  Nil
> >  > 'a . c' ~~ / 'a . c' /
> >  a . c
> >
> > Note that the rules for the string literal still apply.
> >
> > > "abc\n" ~~ / 'abc\n' /
> > Nil
> > > "abc\n" ~~ / "abc\n" /
> > abc␤
> >
> > 2. They group characters as a single atom.
> > (Meaning they behave a bit like [] in a regex)
> >
> >  > 'abccd' ~~ / 'abc'+ d /
> >  Nil
> >  > 'abccd' ~~ / [abc]+ d /
> >  Nil
> >
> >  > 'abccd' ~~ / abc+ d /
> >  abccd
> >
> >  > 'abccd   abcABCabcd' ~~ / :i 'abc'+ d /
> >  abcABCabcd
> >  > 'abccd   abcABCabcd' ~~ / :i [abc]+ d /
> >  abcABCabcd
> >
> > Note that '…' in a regex behaves like '…' outside of one, as well as "…"
> > behaving like "…" and 「…」 behaving like 「…」
>
> Hi Brad,
>
>That was above and beyond!  Thank you!
>
> my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ 「\\」 /x/; say $y
> \:x::
>
> What is the easiest way to get those weird brackets in Fedora31?
>
> -T
>


Re: How do I do literal quotes in a regex?

2019-12-08 Thread ToddAndMargo via perl6-users

> On Sat, Dec 7, 2019 at 12:51 AM ToddAndMargo via perl6-users
> mailto:perl6-us...@perl.org>> wrote:
>
> Hi All,
>
> Is there a `Q[]` that can be used in a regex?
>
> I am looking for how to get around
>
> my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ '' /x/; say $y
> \:x::
>
> This does not work:
> my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ Q[\\] /x/; say $y
> \:\\::
>
> Nor does this:
> my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ [\\] /x/; say $y
> x:\\::
>
> Many thanks,
> -T

On 2019-12-07 07:02, Brad Gilbert wrote:

The shortcut spelling of Q[…] is to use 「 and 」 (U+FF62  and U+FF63)

     my $x = 「\:\\::」; ( my $y = $x ) ~~ s/ 「\\」 /x/; say $y
     \:\\::

The case could be made that \Q[\\] should work as well. (It would need 
to be added).

(Along with \q[…] and \qq[…])

Note that \Q[…] doesn't work in string literals currently either. While 
\q[…] and \qq[…] do.


     > "\q[\n]\n"
     \n␤

     > '\n\qq[\n]'
     \n␤

Note that single and double quotes also work in regexs.

The three of them ('…' "…" 「…」) have a few jobs.

1. They escape spaces and other non-alphanumerics.

     > 'a     b c' ~~ / 'a b c' /
     Nil
     > 'a     b c  A B C' ~~ / :i  'a b c' /
     A B C

     > 'a b c' ~~ / 'a . c' /
     Nil
     > 'a . c' ~~ / 'a . c' /
     a . c

Note that the rules for the string literal still apply.

    > "abc\n" ~~ / 'abc\n' /
    Nil
    > "abc\n" ~~ / "abc\n" /
    abc␤

2. They group characters as a single atom.
(Meaning they behave a bit like [] in a regex)

     > 'abccd' ~~ / 'abc'+ d /
     Nil
     > 'abccd' ~~ / [abc]+ d /
     Nil

     > 'abccd' ~~ / abc+ d /
     abccd

     > 'abccd   abcABCabcd' ~~ / :i 'abc'+ d /
     abcABCabcd
     > 'abccd   abcABCabcd' ~~ / :i [abc]+ d /
     abcABCabcd

Note that '…' in a regex behaves like '…' outside of one, as well as "…" 
behaving like "…" and 「…」 behaving like 「…」


Hi Brad,

  That was above and beyond!  Thank you!

my $x = Q[\:\\::]; ( my $y = $x ) ~~ s/ 「\\」 /x/; say $y
\:x::

   What is the easiest way to get those weird brackets in Fedora31?

-T


Re: looking for good project to learn perl6

2019-12-08 Thread Peter Scott
Raku libraries for Keras/Tensorflow, or AWS, or Kubernetes, leveraging the 
novel features of Raku, could be killer apps for Raku. Ambitious, though.

Peter Scott

> On Dec 7, 2019, at 7:24 PM, Tom Blackwood  wrote:
> 
> 
> Hello William,
> 
> We are actually a small team making the primary job for big data/machine 
> learning etc.
> We know nothing about mailing list gateway and NNTP stuff.
> But thanks for your suggestion, I will take a took at the references you 
> provided.
> 
> Regards
> Tom
> 
> 
>> On Sun, Dec 8, 2019 at 3:30 AM William Michels  wrote:
>> Hi Tom,
>> 
>> My vote would be for someone to take on the task of writing
>> "mailing-list" software in Raku/Perl6, and/or writing
>> "mailing-list-archiving" software (e.g. an NNTP server) in Raku/Perl6.
>> First of all, for your group this would be a relatively-high profile
>> project, with the potential for hundreds or even thousands of
>> companies adopting such a module for their own institutional or
>> company needs.
>> 
>> Regarding the "archiving" module in particular, you could see how the
>> Perl mailing lists are archived, and easily imagine how they might be
>> improved. There would be a need to access data from a database, filter
>> out spam, organize the data by date and/or thread, and serve up the
>> data in a web-accessible format. Selfishly, I would love to see a
>> searchable archive of every Perl6/Raku email ever written.
>> 
>> I've communicated with Ask Bjorn Hansen about the Perl software
>> presently running the NNTP archive (www.nntp.perl.org), in particular
>> the Perl6-Users mailing list. Ask Bjorn Hansen says the NNTP archive
>> runs on Colobus which is written in Perl, with commits going all the
>> way back to 2001. So why not rewrite it in Raku/Perl6?? In particular,
>> I was hoping to see a better "subject threading" algorithm, since with
>> Colobus (on occasion) emails from different "eras" are lumped together
>> in the same thread (example: emails from 2010 showing up in Sept. 2019
>> threads).
>> 
>> I don't know if your group has an interest in writing a full-blown
>> NNTP server, but below are resources for Raku/Perl6, Python, and R.
>> You can decide for yourself if the Raku/Perl6 resources need
>> improving:
>> 
>> Raku/Perl6:
>> https://www.nntp.perl.org/group/
>> https://www.nntp.perl.org/group/perl.perl6.users/
>> https://trainedmonkey.com/projects/colobus/
>> https://github.com/abh/colobus
>> 
>> Python:
>> https://www.python.org/community/lists/
>> https://mail.python.org/archives/
>> https://mail.python.org/mailman/listinfo
>> 
>> R:
>> https://www.r-project.org/mail.html
>> https://stat.ethz.ch/mailman/listinfo
>> https://r.789695.n4.nabble.com
>> 
>> 
>> HTH, Bill.
>> 
>> 
>> 
>> On Fri, Dec 6, 2019 at 1:59 AM Tom Blackwood  wrote:
>> >
>> > Thanks, I'll check it out!
>> >
>> > On Fri, Dec 6, 2019 at 5:50 PM JJ Merelo  wrote:
>> >>
>> >> Try something in the most wanted repo: 
>> >> https://github.com/perl6/perl6-most-wanted/blob/master/most-wanted/modules.md
>> >>  That way you will learn _and_ help the community.
>> >>
>> >> El vie., 6 dic. 2019 a las 8:11, Tom Blackwood () 
>> >> escribió:
>> >>>
>> >>> Hello
>> >>>
>> >>> My team most time developed with ruby language.
>> >>> These recent days we took  time reading the book Learning Perl 6.
>> >>> Then we consider to take an actual project to learn more deeply.
>> >>> What project do you suggest for us to get involve into?
>> >>>
>> >>> Regards,
>> >>> Tom
>> >>
>> >>
>> >>
>> >> --
>> >> JJ


Re: Perl6 vs Julia

2019-12-08 Thread JJ Merelo
El dom., 8 dic. 2019 a las 12:10, Tom Blackwood ()
escribió:

> Thanks  JJ.
> We know Perl has PDL for data science,
> http://pdl.perl.org/
>
> We are looking into it and see if it's possible to make a Perl6 version of
> Scikit-learn based on PDL.
>

That would be really great.

JJ


Re: Perl6 vs Julia

2019-12-08 Thread Tom Blackwood
Thanks  JJ.
We know Perl has PDL for data science,
http://pdl.perl.org/

We are looking into it and see if it's possible to make a Perl6 version of
Scikit-learn based on PDL.

regards.
Tom

On Sun, Dec 8, 2019 at 6:40 PM JJ Merelo  wrote:

> It might have been, but syntax is more Python-like to the point that in
> some cases it's exactly the same. It's got a very extensive macro systems,
> which enables it to work concurrently, for instance. It's more
> scientific-computing oriented, which means that there are all sort of
> mathematical modules for it, and not so many for web, databases, or things
> like that.
>
> El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ()
> escribió:
>
>> Hello
>>
>> How do you think of Julia language?
>>
>> https://en.wikipedia.org/wiki/Julia_(programming_language)
>>
>> It says it is also influenced by perl language.
>>
>> Regards
>>
>
>
> --
> JJ
>


Advent Calendar

2019-12-08 Thread JJ Merelo
Hi,
As you probably know, we're publishing a Raku-related article every single
day until Christmas; https://rakuadventcalendar.wordpress.com. Check it
out, spread the word.

Also, the slot for the 23 of December is still free. Anyone willing to take
it up? https://github.com/Raku/advent/blob/master/raku-advent-2019/schedule

Cheers
-- 
JJ


Re: Perl6 vs Julia

2019-12-08 Thread JJ Merelo
It might have been, but syntax is more Python-like to the point that in
some cases it's exactly the same. It's got a very extensive macro systems,
which enables it to work concurrently, for instance. It's more
scientific-computing oriented, which means that there are all sort of
mathematical modules for it, and not so many for web, databases, or things
like that.

El dom., 8 dic. 2019 a las 4:38, Tom Blackwood ()
escribió:

> Hello
>
> How do you think of Julia language?
>
> https://en.wikipedia.org/wiki/Julia_(programming_language)
>
> It says it is also influenced by perl language.
>
> Regards
>


-- 
JJ


Re: My keeper on hashes

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-06 02:39, ToddAndMargo via perl6-users wrote:

Hi All,

My favorite variable is the associative array (hash).  I finally updated 
my keeper file on them.


If anyone is interested, here goes!

-T



Hi All,

Okay, here it is again with the booboo Mark pointed
to me corrected.

Please feel free to criticize anything you find wrong,
there may be other booboo too.

-T


12/08/2019:

Perl 6 Hashes (associative arrays):


References:
https://docs.raku.org/language/subscripts#Basics
https://docs.raku.org/type/Hash#___top
https://docs.raku.org/type/Hash#:exists
https://docs.raku.org/type/Hash#method_append



A hash "associates" a Name, called a "key" to a Value, called a "value"

   You assign them as follows:

  # use whatever is easiest on the eyes
  my %h =   a => "A", b => "B";  or
  my %h = ( a => "A", b => "B" );or
  my %h = [ a => "A", b => "B" ];
  {a => A, b => B}

  say %h.keys
  (b a)

  say %h.values
  (B A)

   You read them as follows:
  $v = %h
  B

  When the key is a variable, your read them as follows
 $k = "a"
 $v = %h{$k}
 A

   To add or delete and element, see the sections below labeled
 Adding a key/value pair:
 Deleting a key/value pair:


   Looping through a hash:
   Note: hashes DO NOT loop in the order that they were entered into 
the hash


   for @x.kv -> $key, $value {do something};

   For example:

  my %h = a => "x", b=>"r", c=>"z";
  for %h.kv ->  $key, $value {say "key = $key  value = $value"; }
  key = c  value = z
  key = a  value = x
  key = b  value = r

   Array's of hashes:
   To access values inside and array of hashes:
 my @a; my %h = a=>"A", b=>"B"; push @a, %h;
 Access:
 $x = @a[0]{"a"}# Note: you need the quotes

 modify:
 @a[0]{"b"} = "BB"

   How to use arrays of hashes:
  my @a;
  my %h1; my %h2;

  %h1 = a => 0, b => 1, c => 2;
  %h2 = a => 9, b => 8, c => 7;

  push @a, {%h1};
 push @a, {%h2};

  say @a;
  [{a => 0, b => 1, c => 2} {a => 0, b => 1, c => 2}]

  for @a.kv -> $i, $h { say "$i\n" ~ "$h\n"; };
  # Note: the ~ is to make it easier to read
  #   even though $h is address as $ it is a hash
  0
  a 0
  b 1
  c 2

  1
  a 9
  b 8
  c 7


Checking for the presence of a key/value:

  Warning: a Gotcha:
   if using the "if" statement to check for the existence
   of a key, it will return false if it does not find the key,
   but it will also return false if it finds the key and its
   value is a numerical zero, which "if" interprets as
   a Boolean false.

   Note: "exists" is called an "adverb" in this context
  my %h = a => "x", b=>0, c=>"z";

  if %h:exists { say "exists"; } else { say "DOES NOT exist"; }
  DOES NOT exist

  if %h:exists { say "exists"; } else { say "DOES NOT exist"; }
  exists



   Adding a key/value pair:
   my %h = a => "x", b=>"r", c=>"z";
   %h.append( 'd',  "D" )   # note: you need the ''
   {a => x, b => r, c => z, d => D}


   Deleting a key/value pair:
   Note: "delete" is called an "adverb" in this context
   my %h = a => "x", b=>"r", c=>"z";
   %h:delete; say %h
   {a => x, c => z}


   Display a key/value pair  (:p adverb):
   my %h = a => "x", b=>"r", c=>"z";
   say %h:p;
   a => x
   say %h:p;   # note: no comma between the a and the b
   (a => x b => r)


   Return the key and value with the :k and :v adverbs:
   my %h = a => 1, b => 2;
   say %h:k;
   a

   say %h:k;
  (a b)

  say %h:v;
  (1 2)

  Empty <> return everything:
 say %h<>:v;
 (2 1)

 say %h<>:k;
 (b a)


Re: My keeper on hashes

2019-12-08 Thread ToddAndMargo via perl6-users

On 2019-12-07 22:43, William Michels via perl6-users wrote:

On Sat, Dec 7, 2019 at 9:36 PM ToddAndMargo via perl6-users
 wrote:


On 2019-12-07 18:30, Mark Senn wrote:

Corrected section

 my %h = a => "x", b=>"r", c=>"z";
 if %h { say "exists"; } else { say "DOES NOT exist"; }
 DOES NOT exist

 if %h { say "exists"; } else { say "DOES NOT exist"; }
 exists


Hi.

The following code prints DOES NOT exist twice.

my %h = a => "x", b=>0, c=>"z";
if %h { say "exists"; } else { say "DOES NOT exist"; }

if %h { say "exists"; } else { say "DOES NOT exist"; }


I changed the b=>"r" to b=>0.  I think it is evaluating
the b element as a boolean---I think the exists adverb
needs to be used to check for existence.

-m



Hi Mark,

Oh bugger!


This is what I get:

$ perl6
To exit type 'exit' or '^D'
  > my %h = a => "x", b=>"r", c=>"z";
{a => x, b => r, c => z}

  > if %h { say "exists"; } else { say "DOES NOT exist"; }
DOES NOT exist

  > if %h { say "exists"; } else { say "DOES NOT exist"; }
exists


Would someone else please run my code and see if
they can reproduce Mark's error?

Many thanks,
-T


Mark is correct. Changing values to 1 or 0 results in if/else
evaluating as a True/False:

mbook:~ homedir$ perl6
To exit type 'exit' or '^D'

my %i = a => 1, b=> 0, c=> 1;

{a => 1, b => 0, c => 1}

if %i { say "exists"; } else { say "DOES NOT exist"; }

exists

if %i { say "exists"; } else { say "DOES NOT exist"; }

DOES NOT exist

if %i { say "exists"; } else { say "DOES NOT exist"; }

DOES NOT exist


$*VM

moar (2019.07.1)




HTH, Bill.



Thank you.

Back to the drawing board.  I think there is an adverb for this.


Re: looking for good project to learn perl6

2019-12-08 Thread JJ Merelo
As a matter of fact, there are very few data-processing libraries in Raku.
Dealing with big files, stream processing, anything related to AI or
machine learning would be great. There are very few neural nets
implemented, for instance, and no convolutional or GAN or other popular
algorithms like XGBOOST.

Cheers

El dom., 8 dic. 2019 a las 4:22, Tom Blackwood ()
escribió:

> Hello William,
>
> We are actually a small team making the primary job for big data/machine
> learning etc.
> We know nothing about mailing list gateway and NNTP stuff.
> But thanks for your suggestion, I will take a took at the references you
> provided.
>
> Regards
> Tom
>
>
> On Sun, Dec 8, 2019 at 3:30 AM William Michels 
> wrote:
>
>> Hi Tom,
>>
>> My vote would be for someone to take on the task of writing
>> "mailing-list" software in Raku/Perl6, and/or writing
>> "mailing-list-archiving" software (e.g. an NNTP server) in Raku/Perl6.
>> First of all, for your group this would be a relatively-high profile
>> project, with the potential for hundreds or even thousands of
>> companies adopting such a module for their own institutional or
>> company needs.
>>
>> Regarding the "archiving" module in particular, you could see how the
>> Perl mailing lists are archived, and easily imagine how they might be
>> improved. There would be a need to access data from a database, filter
>> out spam, organize the data by date and/or thread, and serve up the
>> data in a web-accessible format. Selfishly, I would love to see a
>> searchable archive of every Perl6/Raku email ever written.
>>
>> I've communicated with Ask Bjorn Hansen about the Perl software
>> presently running the NNTP archive (www.nntp.perl.org), in particular
>> the Perl6-Users mailing list. Ask Bjorn Hansen says the NNTP archive
>> runs on Colobus which is written in Perl, with commits going all the
>> way back to 2001. So why not rewrite it in Raku/Perl6?? In particular,
>> I was hoping to see a better "subject threading" algorithm, since with
>> Colobus (on occasion) emails from different "eras" are lumped together
>> in the same thread (example: emails from 2010 showing up in Sept. 2019
>> threads).
>>
>> I don't know if your group has an interest in writing a full-blown
>> NNTP server, but below are resources for Raku/Perl6, Python, and R.
>> You can decide for yourself if the Raku/Perl6 resources need
>> improving:
>>
>> Raku/Perl6:
>> https://www.nntp.perl.org/group/
>> https://www.nntp.perl.org/group/perl.perl6.users/
>> https://trainedmonkey.com/projects/colobus/
>> https://github.com/abh/colobus
>>
>> Python:
>> https://www.python.org/community/lists/
>> https://mail.python.org/archives/
>> https://mail.python.org/mailman/listinfo
>>
>> R:
>> https://www.r-project.org/mail.html
>> https://stat.ethz.ch/mailman/listinfo
>> https://r.789695.n4.nabble.com
>>
>>
>> HTH, Bill.
>>
>>
>>
>> On Fri, Dec 6, 2019 at 1:59 AM Tom Blackwood 
>> wrote:
>> >
>> > Thanks, I'll check it out!
>> >
>> > On Fri, Dec 6, 2019 at 5:50 PM JJ Merelo  wrote:
>> >>
>> >> Try something in the most wanted repo:
>> https://github.com/perl6/perl6-most-wanted/blob/master/most-wanted/modules.md
>> That way you will learn _and_ help the community.
>> >>
>> >> El vie., 6 dic. 2019 a las 8:11, Tom Blackwood ()
>> escribió:
>> >>>
>> >>> Hello
>> >>>
>> >>> My team most time developed with ruby language.
>> >>> These recent days we took  time reading the book Learning Perl 6.
>> >>> Then we consider to take an actual project to learn more deeply.
>> >>> What project do you suggest for us to get involve into?
>> >>>
>> >>> Regards,
>> >>> Tom
>> >>
>> >>
>> >>
>> >> --
>> >> JJ
>>
>

-- 
JJ