🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
k-man thanks, i'm able to run the tests now 00:10
k-man that exercise is kind of annoying 00:27
k-man it becomes an exercise in boolean logic rather than enhancing skill in raku 00:28
Geth ecosystem: 3ec9c00f7b | thundergnat++ (committed using GitHub Web editor) | META.list
Add Linux-Joystick to the ecosystem

See github.com/thundergnat/Linux-Joystick A Linux (POSIX environment) interface providing joystick events as an asynchronous stream
00:29
k-man how can i test if a string does not contain any letters? 00:34
when not ($msg ~~ /\w/) {return "Whatever."} doesn't seem to be doing what I want 00:40
Grinnz \w is word characters, which is a lot more than letters
k-man ah 00:42
leont Also, you probably want to use !~~
k-man ok good tip 00:43
when ($msg !~~ /<alpha>/) {return "Whatever."} 00:44
that seeems to work I think
rypervenche What is the best way to remove an element from an array (of hashes)? I saw something that Liz wrote that was essentially doing: @array .= grep: *<foo> ne $bar; Is there a better or more specific way to do this? 00:52
wildtrees so I do : my $p = Promise.start(&routine) ; it starts running routine as a promise, how do I kill or break the promise from outside? yells at me about it already being vowed 00:57
leont You can't 01:00
wildtrees would I need to use something other than a promise if I wanted to kill the "process/thread" from outside? 01:04
leont You could wrap it in another Promise if you really want to though
You can't kill the thread/task from the outside, AFAIK
This is generally a surprisingly difficult thing in threads, not just in raku
(just imagine killing a thread that holds a lock for an idea of the kind of thing that can go wrong) 01:05
wildtrees so I would need to pass in a channel or a supply into the Promise that could signal a kill message, and have the promise check the channe/supply for a death notice?
cpan-raku New module released to CPAN! Auth::SASL (0.1.1) by 03HANENKAMP 01:42
elcaro k-man: FYI, the <alpha> char class also includes '_' 01:56
m: say so '_' ~~ /<alpha>/
camelia True
elcaro if you just want ascii letters, you can be explicit, ie: /<[A .. Z] + [a .. z]>/ 01:57
elcaro or if you want to match anything Unicode says is a letter, then use /<:Letter>/ or just /<:L>/ 01:58
k-man thanks elcaro 02:01
guifa2 elcaro: hopefully I'll have a module out soon that will make things easier 02:03
guifa2 (the equivalent will be <local-alpha>. Nicely, if you run in Spanish it'll have [A..ZÁÉÍÓÚÜÑ] etc 02:13
Setting it to en-US-posix would get you the most expected values: st.unicode.org/cldr-apps/v#/en_US_...formation/ 02:17
rypervenche m: my @array = ^100; @array[2..5].say; 03:31
camelia (2 3 4 5)
rypervenche m: my @array = ^100; my $range = 2..5; @array[$range].say;
camelia 4
rypervenche Is this normal? ^
m: my @array = ^100; my $range = 2..5; @array[lazy $range].say; 03:33
camelia (2 3 4 5)
rypervenche Oh...
Ok, new question. Is there a shorthand for: @array = @array[1..10] ? 03:38
guifa2 You mean starting at 1? 03:52
There isn't, but you could make on
m: sub prefix:<^^> (Int $a) { (1..$a).list }; my @a = ^^4; say @a 03:53
camelia 5===SORRY!5=== Error while compiling <tmp>
Expected a term, but found either infix ^^ or redundant prefix ^
(to suppress this message, please use a space like ^ ^)
at <tmp>:1
------> 3^> (Int $a) { (1..$a).list }; my @a = ^^7⏏054; …
guifa2 err
I forgot ^^ was an infix already ^_^ 03:54
sub prefix:<€> (Int $a) { (1..$a).list }; my @a = €4; say @a
evalable6 [1 2 3 4]
guifa2 rypervenche: see above 03:56
rypervenche I meant with any range, although I could make one with an infix using your above examples. Thanks. 03:58
guifa2 Oh, you were referring to the $range returning the value of 4 (range = listy = numeric context is the number of elements) 04:02
If you were out of scalar context, it would work differently
my @array = ^100; my @range = 2..5; @array[@range].say 04:03
evalable6 (2 3 4 5)
guifa2 If you really want to keep the range in a scalar
my @array = ^100; my $range = 2..5; @array[$range.list].say
evalable6 (2 3 4 5)
guifa2 my @array = ^100; my $range = 2..5; @array[$range.list].say; @array[$range<>].say; @array[|$range].say 04:04
evalable6 (2 3 4 5)
(2 3 4 5)
(2 3 4 5)
guifa2 three different ways you can do it from a scalar :-)
rypervenche Oh, don't know why I didn't just make it an array then. Good to know. And this is good practice with | 04:19
Oh, wouldn't be lazy then. 04:20
I think I'll stop there for tonight. As always, thanks for the help. 04:21
holyghost my posterior approximation method is almost finished, later on I need to transform with complex numbers 06:42
holyghost It's a piece of Bayesian Learning, my code is at github.com/theholyghost2/p6-Game-Bayes 06:43
Geth ¦ problem-solving: CIAvash assigned to rba Issue A new website for raku.org github.com/Raku/problem-solving/issues/158 07:24
abraxxa I'd need help with a grammar 08:06
I need to store variables somewhere to be able to use them for substitution in the associated action class 08:07
abraxxa it seems I can use them in the Grammer or in the Actionclass, not sure what's the better approach 08:22
holyghost I just made the first Bayesian Learning method (with the grid method) for my package, code on Xliff's server and on github.com/theholyghost2/p6-Bayes-Learn 09:08
yeay! I'm progressing :-)
holyghost Now I need to read further on in the book, and need to implement the complex numbers idea 09:10
AlexDaniel` weekly: Cool raku.org redesign raku-demo-temp.ciavash.name/ github.com/Raku/problem-solving/issues/158 CIAvash++ 09:11
notable6 AlexDaniel`, Noted! (weekly)
xkr47 AlexDaniel`, agreed! 09:25
example list scrolling is a bit jumpy but not a biggie 09:26
abraxxa I let the grammar only parse the variable definition and added a private hash to the action class which fills it and uses it 09:28
AlexDaniel`: I'd move async and grammars up as they are the major distinctions from other languages 09:29
'every' can do OO
abraxxa not a fan of the color scheme though 09:29
a brand needs a color scheme associated with it, Raku changes too often 09:30
AlexDaniel` abraxxa just leave feedback on the ticket 10:07
I think it mostly keeps colors that are already there 10:08
El_Che CIAvash: are you planning to add a light mode? 10:14
AlexDaniel` El_Che my understanding is that CIAvash won't be able to work on improvements, so we need a maintainer first in order to have plans :) 10:16
Light/dark is easy to do nowadays with pure css 10:17
Based on browser/os preference 10:18
abraxxa a json repsonse returns a hash containing a 'data' key that contains a list 10:21
when i return that from a method and assign it to an array it has only a single element which in turn is an array 10:22
why does this happen?
I find myself always having to call .list or .slip in such cases
El_Che abraxxa: it makes sense to me 10:31
abraxxa: you don't want to flatten data by default
jnthn Hash values are items, and return retains the itemness
abraxxa I just don't get the rules to understand what to do when 10:33
does Raku also return different types based on the caller like Perl 5? 10:34
scalar vs list context?
sub foo { my @ary; return @ary; } my @main-ary = foo; 10:35
and now @main-ary doesn't contain the same as @ary, that's just weird
as they are the same type
docs.raku.org/type/Array doesn't even document the list method 10:37
El_Che I don't think raku has a return list context 10:40
(but I could be wrong)
docs.raku.org/type/Signature#Retur...row:_--%3E suggest an item return 10:41
abraxxa ok, but still requires the .list method call 10:47
El_Che yes, you choose to unpack the item 10:50
m: sub f() { return 1,2,3 }; say "elem: $_" for f(); 10:53
camelia elem: 1
elem: 2
elem: 3
El_Che no list explictly called
SmokeMachine m: sub f() { my @a = 1,2,3; return @a }; say "elem: $_" for f(); 11:05
camelia elem: 1
elem: 2
elem: 3
SmokeMachine m: sub f() { my %a<a> = 1,2,3; return %a<a> }; say "elem: $_" for f(); 11:06
camelia 5===SORRY!5=== Error while compiling <tmp>
Shaped variable declarations not yet implemented. Sorry.
at <tmp>:1
------> 3sub f() { my %a<a>7⏏5 = 1,2,3; return %a<a> }; say "elem: $_"
SmokeMachine m: sub f() { my%a; %a<a> = 1,2,3; return %a<a> }; say "elem: $_" for f();
camelia elem: 1 2 3
SmokeMachine m: sub f() { my%a; %a<a> = 1,2,3; return %a<a><> }; say "elem: $_" for f();
camelia elem: 1
elem: 2
elem: 3
SmokeMachine m: sub f(—>Positional) { my%a; %a<a> = 1,2,3; return %a<a><> }; say "elem: $_" for f(); 11:07
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3sub f(7⏏5—>Positional) { my%a; %a<a> = 1,2,3; ret
SmokeMachine m: sub f(-->Positional) { my%a; %a<a> = 1,2,3; return %a<a><> }; say "elem: $_" for f();
camelia elem: 1
elem: 2
elem: 3
SmokeMachine m: sub f(-->Positional) { my%a; %a<a> = 1,2,3; return %a<a> }; say "elem: $_" for f(); 11:08
camelia elem: 1 2 3
SmokeMachine m: sub f(—>Positional()) { my%a; %a<a> = 1,2,3; return %a<a> }; say "elem: $_" for f();
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3sub f(7⏏5—>Positional()) { my%a; %a<a> = 1,2,3; r
SmokeMachine I think it should be a way of saying it’s not returning an item on the signature... 11:11
jnthn The return type constraint is just a check, it doesn't modify the value 11:12
SmokeMachine jnthn: it does if you cast... 11:14
m: sub bla(—>Hash()) { [a => 1, b => 2] }; dd bla 11:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3sub bla(7⏏5—>Hash()) { [a => 1, b => 2] }; dd bla
jnthn Ah, you can use coercion types there? That I'd forgotten :)
SmokeMachine m: sub bla(-->Hash()) { [a => 1, b => 2] }; dd bla
camelia Hash % = {:a(1), :b(2)}
SmokeMachine jnthn: ^^ 11:16
jnthn Neat :) 11:17
Then yeah, that's a way to be rid of the item
SmokeMachine jnthn: I was thinking that something like --> Positional() should do that... 11:17
m: sub f(—>Positional()) { my%a; %a<a> = 1,2,3; return %a<a> }; say "elem: $_" for f(); 11:18
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3sub f(7⏏5—>Positional()) { my%a; %a<a> = 1,2,3; r
SmokeMachine m: sub f(-->Positional()) { my%a; %a<a> = 1,2,3; return %a<a> }; say "elem: $_" for f();
camelia Unable to coerce the return value from List to Positional; no coercion method defined
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
SmokeMachine (I have it changing —> to —>)
*hate 11:19
jnthn SmokeMachine: `--> List()` is shorter though... :)
SmokeMachine m: sub f(-->List()) { my%a; %a<a> = 1,2,3; return %a<a> }; say "elem: $_" for f();
camelia elem: 1
elem: 2
elem: 3
SmokeMachine good!
jnthn: thanks!
Much more readable than adding `<>` t the end... 11:21
*at
jnthn: Just wondering, would it make sense to add an Unitemised() that would just <> the return and Unitemised would check if it’s not an item when used as the returns field? 11:24
jnthn: we could, of course, use it on smatmatch: something ~~ Itemised 11:25
m: sub bla(\something) { say “item:$_” for something }; bla [1,2,3]; bla $[1,2,3] 11:26
camelia item:1
item:2
item:3
item:1 2 3
SmokeMachine jnthn: how can I know if it’s an item or not? 11:27
m: say [1,2,3].VAR ~~ Scalar 11:32
camelia False
SmokeMachine m: say $[1,2,3].VAR ~~ Scalar
camelia True
SmokeMachine :)
m: sub bla(--> Scalar()) { [1,2,3] }; bla 11:33
camelia Unable to coerce the return value from Array to Scalar; no coercion method defined
in sub bla at <tmp> line 1
in block <unit> at <tmp> line 1
abraxxa m: sub f( --> Array ) { my @a = 1,2,3; return @a; }; my @b = f(); say @b.gist; 12:29
camelia [1 2 3]
abraxxa m: sub f( --> Array ) { my @a = 1,2,3; return @a; }; my @b = f(); say @b.perl;
camelia [1, 2, 3]
abraxxa m: sub f( --> Array ) { my @a = 1,2,3; return @a.list; }; my @b = f(); say @b.perl; 12:30
camelia [1, 2, 3]
abraxxa different here
rypervenche How can I get this so that running script -g fails, but script -g=1 doesn't?: sub MAIN(Int :g(:$gen)){say $gen} 13:47
I'm assuming it allows -g without any arguments because True and False are essentially 1 and 0, which are Ints?
lizmat m: dd Bool.^mro 13:50
camelia (Bool, Int, Cool, Any, Mu)
lizmat rypervenche: ^^
rypervenche Hmmm. 13:57
jnthn Probably `where .WHAT === Int` forces it 14:05
rypervenche That didn't seem to work, but forcing it to IntStr did. 14:12
jnthn Oh, right, IntStr is *why* it doesn't work :) 14:14
Forgot it passes them as that
rypervenche Thanks. Fixes my problem. 14:22
rypervenche Actually, just changing the type to IntStr works without needing the where bit. Good to know. 14:35
leont rypervenche: you may want to check my Getopt::Long module 14:36
rypervenche leont: I'll eventually go down that path, but for now I like learning how to do things without the need for modules (where possibile). Less code, I guess. 14:38
cpan-raku New module released to CPAN! Math::Libgsl::Constants (0.0.2) by 03FRITH 16:03
rypervenche Is there a more compact way of writing this? subset one-to-eight of IntStr where { not .defined or $_ ~~ 1 .. 8 }; 16:09
I was able to do "where 1 .. 8", and I could also do "where not .defined", but I haven't found a way to do them both together with an "or" without adding the $_ ~~ bit. 16:10
tbrowder hi, #raku people 16:19
tellable6 2020-01-26T19:32:53Z #raku <jmerelo> tbrowder thanks!
tbrowder jmerelo: you're welcome 16:20
tellable6 tbrowder, I'll pass your message to jmerelo
tbrowder i'm taking my own advice and working on more conversions to raku from perl: starting with the scripts and saving module conversion for later 16:23
tbrowder but i see a possible advantage in using local raku modules by installing them with zef 16:24
abraxxa zef tries to install p6doc to the rakudo package directory instead of my home dir, any idea why? 16:25
===> Building: p6doc:ver<1.003>:auth<perl6>
[p6doc] Failed to create directory '/opt/rakudo-pkg/share/perl6/site/doc' with mode '0o777': Failed to mkdir: Permission denied
only this module 16:26
rypervenche abraxxa: It's still an issue: github.com/Raku/doc/issues/2896
tbrowder that way one can maybe eliminate confusion by avoiding "use lib" and PERL6LIB 16:26
melezhik abraxxa: github.com/vrurg/raku-IP-Addr/issues/5
abraxxa melezhik: that's the module I'm trying to install ;) 16:27
melezhik this is issue with p6doc itself
not with the IP::Addr 16:28
abraxxa I don't see a workaround in those two issues
can I do anything when not having root access? 16:30
is p6doc something deprecated or wasn't it just not renamed to rakudoc? 16:31
tbrowder any suggestions about the best way to install local modules? special location or namespace? 16:34
[Coke] it hasn't been renamed. 16:35
It also has had install problems for a bit.
abraxxa is it an optional dependency I can skip?
guifa I find the easiest way is to just cd into the module’s directory (where the META6.json) is and ‘zef install .’ 16:37
[Coke] Who is depending on it? 16:38
I wouldn't expect a generic module to depend on it. 16:39
rypervenche It would be nice to be able to use it from one's home directory installation.
abraxxa ===> Searching for missing dependencies: JSON::Name, JSON::Tiny
===> Building: p6doc:ver<1.003>:auth<perl6>
one of those two
is there maybe an additional debian package I can install that provides it? 16:40
IP::Addr itself: modules.raku.org/dist/IP::Addr:cpa...META6.json 16:41
[Coke] both of those have empty depends, I think 16:43
weird.
(modules.raku.org/dist/JSON::Tiny:c...META6.json , modules.raku.org/dist/JSON::Name:c...ETA6.json)
What were you installing? 16:44
abraxxa melezhik: can you get rid of the p6doc dependency?
[Coke] the "missing dep.." is showing things missing, not the original install
abraxxa [Coke]: see above, already wrote that its IP::Addr itself
[Coke] ah. it's got a "build-depends". 16:45
abraxxa yes
should the rakudo-pkg debian package not include p6doc?
[Coke] Not if it's going to fail. :)
I don't see anything in IP::Addr that requires p6doc. 16:46
It's listed as a dep, but there's no Build.pm...
guessing it was a boilerplate that snuck in 16:47
tbrowder looking at zef's README, it suggest's using PERL6LIB along with "-to=" for a non-default install location which looks like a good solution to my needs. 16:48
[Coke] looks like build-depends was removed in master on git 16:49
so you can probably zef install <git url> but then you're getting a non-release version, maybe, not an official cpan release. 16:50
abraxxa I used the --force-build the zef output suggested on fail which worked 16:59
melezhik tbrowder: "looking at zef's README, it suggest's using PERL6LIB along with "-to=" - I am afraid this does not solve the issue 17:00
abraxxa: `zef --force-build install p6doc && zef install IP::Addr` 17:01
abraxxa melezhik: zef --force-build IP::Addr worked as well, thanks 17:03
i have this wonderful line: my @destinations = @rules.grep({ .<dst> }).map({ .<dst>.Slip }).unique(:with(&[eqv]));
rypervenche abraxxa: It will install, but it won't actually work.
abraxxa .<dst> happens to be an array sometimes I want to flatten but neither .flat before .unique nor .flat before the .Slip helps
rypervenche If you want to use p6doc, that is. 17:04
abraxxa rypervenche: IP::Addr works
that's what I care about
[Coke] note that force build just gets you past the install failure. it doesn't actually give you a working p6doc. 17:10
abraxxa i don't need one!
[Coke] (rather, none of the docs get installed that way, so you can run p6doc, but then it never finds anything) 17:11
the right thing is to remove the dep on it, hopefully we can get another release of that module that removes it.
abraxxa the .gist of such an element is $["10.133.14.101", ["10.133.14.5", "10.133.134.25"]] 17:19
abraxxa [*;*] worked instead of .flat 17:30
any idea why?
SmokeMachine tbrowder: have you tryed 6pm? 17:35
cpan-raku New module released to CPAN! Math::Libgsl::Matrix (0.0.2) by 03FRITH 17:37
tbrowder SmokeMachine: no, but i will have a look, thnx 17:38
melezhik: why will that not work?
for my local modules, not public ones 17:39
tbrowder SmokeMachine: 6pm looks interesting, i'll install it and check it out 17:51
rypervenche Is it possible to set a named parameter that's a boolean as defaulting to False? I know you can do !$varname for positional ones, but I can't seem to get it to work with: Bool :v(:$varname) 17:58
SmokeMachine m: class A { method a(--> self) { 42 } }; say A.new.a # why not make it work? 18:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Type 'self' is not declared
at <tmp>:1
------> 3class A { method a(--> self7⏏5) { 42 } }; say A.new.a # why not make i
SmokeMachine it would be a very cool and readable way of returning self 18:25
m: class A { method a(self: --> self) { 42 } }; say A.new.a
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'self' in parameter declaration.
at <tmp>:1
------> 3class A { method a(self7⏏5: --> self) { 42 } }; say A.new.a
SmokeMachine m: class A { method a(SELF: --> SELF) { 42 } }; say A.new.a
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'SELF' in parameter declaration.
at <tmp>:1
------> 3class A { method a(SELF7⏏5: --> SELF) { 42 } }; say A.new.a
SmokeMachine m: class A { method a(\SELF: --> SELF) { 42 } }; say A.new.a 18:26
camelia ===SORRY!===
No compile-time value for SELF
SmokeMachine :(
cpan-raku New module released to CPAN! Text::Diff (1.0.0) by 03RBT 18:39
wildtrees ok this isn't working pastebin.com/xQ1DSz0p 19:00
my payload never seems to receive a kill signal from the kill-supply
wildtrees and also how do I get a react block to shutdown when one of it's supplies is done? 19:01
jnthn wildtrees: LAST done 19:54
(inside the `whenever` of the supply that should cause this behavior)
wildtrees jnthn, ok thank you, it exits after 10 seconds now from the $supply/$main-supply, but it still doesn't seem to be getting the message from $kill-supply at all to shutdown early 19:59
jnthn Probably because your $main-supply is too blocking 20:02
Don't `sleep` in a for loop; instead just write it as whenever Supply.interval(1) { } 20:03
wildtrees jnthn, still not receiving any messages from $kill-supply it seems after changing $main-supply = Supply.inteval(1) 20:13
melezhik with RakuDist you jave probable the most minimalistic setup for TravisCI - github.com/melezhik/RakuDist/blob/...on-example
to test Raku module hosted in github, just `curl repo.westus.cloudapp.azure.com/raku...r/$project -s | bash`
SmokeMachine jnthn: do you think `method bla(--> self)` would make sense? would that be possible to implement? 20:14
melezhik for example - `curl repo.westus.cloudapp.azure.com/raku.../sparrowdo -s | bash`
tbrowder: - I don't know, my understanding is that p6doc is always tries to get install some stuff into system directories, ignoring `--to`. I may be wrong, as I've not tried 20:15
lizmat SmokeMachine: should be possible to implement, as a special case 20:16
SmokeMachine lizmat: and do you think that would make sense? 20:17
lizmat there are many cases I see that as useful
e.g. a lot of !SET-SELF methods in core :-)
wildtrees jnthn, I appreciate your help this far, but I have to go for a while. should be back in a few hours. latter all 20:18
lizmat now, if it would be faster, I have no idea
[Coke] (p6doc) it's not trying *on purpose* to install into system directories, it's an attempt to compensate for docs being in "doc/" instead of "lib/" in the repo 20:31
.seen niner
tellable6 [Coke], I haven't seen niner around, did you mean nine?
[Coke] .seen nine
tellable6 [Coke], gist.github.com/605113395bc7e36e34...669ac85ab1
[Coke] .ask nine - can you take a look at github.com/Raku/doc/blob/master/Build.pm6#L9 ? It's trying to install stuff from doc as if it were in lib/, but is accidentally installing to the system repo and not whatever the default target install dir is (so installing as a non-priv'd user fails) 20:32
tellable6 [Coke], I'll pass your message to nine
[Coke] .tell nine same as github.com/Raku/doc/issues/2896 20:33
tellable6 [Coke], I'll pass your message to nine
vinay Hello, I am Vinay Vyas. I am new to this org. Can someone please direct me to the getting started page.
[Coke] raku.org? 20:34
Let us know if you're looking for some
[Coke] thing in particular 20:34
vinay I was looking for perl foundation, trying to get started for gsoc 2020 for the same org 20:35
[Coke] ok. Raku, GSOC and TPF are three different things, but we're definitely the right spot for anything gsoc Raku related. 20:37
I think jmerelo was our GSOC leader, but he's on european time.
How far along is GSOC this year? Are you applying? chosen? 20:39
Sorry, I'm out of the loop. 20:40
vinay Can you direct me to the getting start page where i can get get the required installation guides and contribution procedures.
[Coke] I don't know anything about your particular project or if Merelo has put together a page. But if you want to have a copy of Raku so you can start working: 20:41
raku.org/ - Download
vinay the orgs who would be selected is not released yet. Its due date is 21 feb.
[Coke] That's generic. Anyone know if there's anything GSOC specific?
vinay: ah, thanks. Thanks for showing up early! 20:42
depending on the nature of what you end up working on, you may want the source build; the rakudo star build is closer to "batteries included", but may be a little behind. 20:43
Folks here are happy to help if you have any install or build issues. What OS are you on, out of curiousity?
vinay I use ubuntu, but i am fine with windows as well. I thing ubuntu would be preferred 20:44
[Coke] If you're comfortable doing development work on windows, it's fine, but ubuntu's probably easier all around. 20:46
vinay github.com/perl Is this the main git page for perl. Or raku, i am not sure? 20:53
sena_kun vinay: github.com/raku/ is the organization for Raku 20:55
perl is for perl. :)
[Coke] TPF is probably covering for both Raku & Perl in GSOC 20:56
vinay What exactly is raku. I found this on a page for The Perl Foundation 20:57
[Coke] Sorry for the historical confusion.
Raku is a new language.
Historically, it was called "Perl 6".
Currently, it's called Raku, and TPF is the foundation for both Raku & Perl. 20:58
vinay Okay, thanks for clarifying.
[Coke] It's definitely Perl-ish.
vinay So what github page do we use for Raku? 20:59
[Coke] the org is at /Raku 21:00
the compiler is at /Rakudo/rakudo
er, /rakudo/rakudo
(separate orgs because we have commiter license agreements for the compiler only)
and also we try to maintain the separation between language spec & compiler
rakudo is technically "a" compiler, as opposed to "the" compiler. (it's also basically the only one right now, though.) 21:01
sena_kun vinay: is there a particular project you want to participate in? the list can be viewed at github.com/perl-foundation-outreac...ject-ideas which has both perl and raku project proposals. 21:02
vinay I wanted to go through the code base first before choosing the project. I am looking for the same. Can you please direct me to the required place. 21:04
cpan-raku New module released to CPAN! Test::Differences (1.0.0) by 03RBT 21:06
New module released to CPAN! Text::Diff (1.0.1) by 03RBT
vinay I got some links from specific potential projects page. Thanks for helping :) 21:10
Geth rakudo.org: c1567e4e62 | (Patrick Böker)++ | 2 files
Fix up Star Bundle OS detection a bit
21:26
Doc_Holliwould how do i tell wether a Num $num contains a natural number? $num - $num.Int == 0 and !$num.contains(".") feel both equally clumsy 21:28
chloekek $num == $num.Int 21:30
That checks for integers by the way. To check for natural numbers you also have to check that it is not negative, e.g. $num == $num.Int && $num >= 0 21:31
Or >= 1 if you’re one of those people.
guifa2 I think you can also do UInt no? 21:34
m: say 22 ~~ UInt; say -43 ~~ UInt; say 0 ~~ UInt 21:35
camelia True
False
True
guifa2 Doc_Holliwood: see above ^^
chloekek p6: say 0e1 == 0e1.Int; say 0e1 ~~ UInt 21:36
camelia True
False
guifa2 codegolf.stackexchange.com/a/199075/30284 <-- probably the ugliest line of Raku code I've written in a long time. And abusing both assignments and regex 21:36
Oddly, I can't switch the order of the .sum/$_ and .reduce(…), but not sure why exactly 21:37
Geth doc: 09fbb537d4 | (Stoned Elipot)++ | doc/Language/operators.pod6
rephrase boolean logical OR operator description
22:04
linkable6 Link: docs.raku.org/language/operators
tbrowder melezhik: i understand, thanks! 23:21
AlexDaniel weekly: Raku on FOSDEM mirrors.dotsrc.org/fosdem/2020/AW1...kulang.mp4 23:29
notable6 AlexDaniel, Noted! (weekly)
AlexDaniel weekly: jmerelo++
notable6 AlexDaniel, Noted! (weekly)
Geth doc: cde8d4611b | (Stoned Elipot)++ | doc/Language/operators.pod6
(really) rephrase boolean logical OR operator description

  ...as last commit was really about XOR
23:52
linkable6 Link: docs.raku.org/language/operators