»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
00:01 yqt joined 00:06 yqt left 00:10 lucasb left 00:44 redhands left 00:50 Sgeo left 01:00 yqt joined 01:02 MilkmanDan left 01:07 yqt left 01:10 mbp0 left, Kaiepi left, mbp0 joined 01:13 noisegul_ joined 01:14 Kaiepi joined 01:16 noisegul left 01:17 adu left 01:19 Kaiepi left, Kaiepi joined 01:23 MilkmanDan joined 01:41 aborazmeh left 02:00 yqt joined 02:07 yqt left 02:13 khisanth_ left, Sgeo joined 02:21 pamplemousse_ left 02:27 khisanth_ joined 02:29 redhands joined 02:32 Kaiepi left, tilpner_ joined, Kaiepi joined 02:34 tilpner left 02:39 adu joined 02:55 Cabanossi left 03:00 yqt joined 03:03 Cabanossi joined 03:06 yqt left 03:19 rindolf joined 04:01 yqt joined
samcv hmm. that's weird 04:01
04:06 yqt left 04:26 MilkmanDan left 04:28 MilkmanDan joined 04:33 kaare_ left, kaare_ joined 05:00 yqt joined 05:08 MilkmanDan left 05:09 MilkmanDan joined, yqt left 05:26 antoniogamiz joined, antoniogamiz46 joined 05:31 sauvin joined 05:55 kst left 06:00 jmerelo joined 06:01 yqt joined 06:07 yqt left, sjm_uk joined 06:22 cpan-p6 left 06:23 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 06:37 squashable6 left 06:38 [particle] joined 06:39 [particle]1 left 06:40 squashable6 joined, ChanServ sets mode: +v squashable6 06:50 [Sno] left 06:53 domidumont joined 06:57 [particle] left 07:00 [particle] joined 07:01 yqt joined 07:05 antoniogamiz left 07:06 yqt left 07:07 antoniogamiz46 left 07:15 patrickb joined 07:16 sjm_uk left 07:20 Poohmaan left 07:21 mbp0 left, Poohman joined, mbp0 joined, Itaipu_ joined 07:23 Itaipu left, k-man left, MikeyG left, ChoHag left, Elronnd left, Elronnd joined, ChoHag joined, k-man joined 07:24 mst left, mst joined, mst left, mst joined 07:25 ChoHag left
discord6 <Tyler (Aearnus)> how can I write a type for a hash with keys Str and values all 2 element Lists of Ints? 07:26
Xliff m: my @a = <a b c>; say @a.keys 07:27
camelia (0 1 2)
07:29 MikeyG joined, Aearnus joined
Aearnus well this is what I got 07:30
m: my List %stat = :hp(1, 10); %stat.WHAT.say
camelia (Hash[List])
07:32 dakkar joined 07:34 antoniogamiz joined 07:35 antoniogamiz12 joined 07:37 [particle]1 joined, b2gills left 07:38 b2gills joined, [particle] left
jmerelo Aearnus: you want the elements to be exclusively lists of two elements? 07:40
Aearnus yeah
jmerelo Aearnus: have you tried to declare a subset with those characteristics and then create a hash out of it? 07:41
Aearnus I haven't tried that yet
07:41 antoniogamiz left
jmerelo m: subset List2 of List where *.elems == 2; my List2 %stat=:hp(1,10); say %stat 07:41
camelia {hp => (1 10)}
jmerelo m: subset List2 of List where *.elems == 2; my List2 %stat=:hp(1,10,3); say %stat 07:42
camelia Type check failed in assignment to %stat; expected List2 but got List ($(1, 10, 3))
in block <unit> at <tmp> line 1
jmerelo Aearnus: ^^^ that seems to work...
Aearnus m: subset Stat of List where (Int, Int); my Stat %stats = :hp(1, 10); %stats.WHAT.say 07:43
camelia (Hash[Stat])
Aearnus thank you jmerelo !!
jmerelo Aearnus: my pleasure :-)
Xliff m: subset Stat of List where (Int, Int); my Stat %stats = :hp(1, 2, 10); %stats.WHAT.say 07:44
camelia Type check failed in assignment to %stats; expected Stat but got List ($(1, 2, 10))
in block <unit> at <tmp> line 1
Xliff Nice!
07:44 [particle] joined
Aearnus could I combine that down to 1 line? 07:44
m: my Stat %stats where (Int, Int) = :hp(1, 2, 10); %stats.WHAT.say 07:45
camelia 5===SORRY!5===
Type 'Stat' is not declared
at <tmp>:1
------> 3my Stat7⏏5 %stats where (Int, Int) = :hp(1, 2, 10)
Malformed my
at <tmp>:1
------> 3my7⏏5 Stat %stats where (Int, Int) = :hp(1, 2
Aearnus er
ah yeah it does work!
jmerelo m: my subset List2 of List where *.elems == 2 %stat=:hp(1,10,3); say %stat
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%stat' is not declared
at <tmp>:1
------> 3ere *.elems == 2 %stat=:hp(1,10,3); say 7⏏5%stat
jmerelo m: my ( subset List2 of List where *.elems == 2 ) %stat=:hp(1,10,3); say %stat 07:46
camelia 5===SORRY!5=== Error while compiling <tmp>
Invalid typename 'subset' in parameter declaration.
at <tmp>:1
------> 3my ( subset7⏏5 List2 of List where *.elems == 2 ) %sta
Aearnus m: my %stats where (Int, Int) = :hp(1, 2); %stats.WHAT.say
camelia (Hash[<anon>])
Aearnus m: my %stats where (Int, Int) = :hp(1, 2, 3); %stats.WHAT.say
camelia Type check failed in assignment to %stats; expected <anon> but got List ($(1, 2, 3))
in block <unit> at <tmp> line 1
07:46 [particle]1 left
jmerelo ah, right :-) 07:46
antoniogamiz12 can I store a function call along with its arguments? 07:47
jmerelo antoniogamiz12: that's called a Capture 07:48
antoniogamiz12 oh I will take a look at the docs then
jmerelo antoniogamiz12: you probably can, but I'm not sure that's what you are looking for...
antoniogamiz12 What I need is to execute thousands of calls to independent functions 07:49
and I want to execute all of them in parallel
without having to write the same logic all over the module
Aearnus like this? 07:50
m: sub f($x) { "hello $x".say }; my $closure = -> { f("world") }; $closure()
camelia hello world
jmerelo You can send arguments to a channel, and then make another thread or threads read from the channel sequentially
antoniogamiz12 Aearnus: yep
jmerelo: mmm
jmerelo Also, Aearnus has indicated how you can create closures out of function calls, which are first-class citizens in Perl 6. You can have them sent to the channel too. 07:51
Aearnus also: the .assuming method
m: sub f($x) { "hello $x".say }; my $curried = &f.assuming: "world"; $curried() 07:52
camelia hello world
07:52 [particle] left
Aearnus probably faster b/c it doesn't construct an entire closure afaict 07:52
antoniogamiz12 mmm channel and closures will be enough I think, thanks for the help 07:55
07:57 scimon joined
Aearnus np!! 07:57
07:58 [particle] joined 08:00 yqt joined
Xliff jmerelo: Regarding github.com/perl6/doc/issues/1532.... are you sure you want to deal with AutoKey rather than WinCompose? 08:02
08:03 sjm_uk joined 08:07 yqt left 08:08 [particle]1 joined
jmerelo Xliff: I really have no idea. Your call. 08:10
08:10 [particle] left
Xliff jmerelo: OK. 08:10
08:11 [particle] joined
Xliff It may take me a bit longer. I had a potential employer call, yesterday. 08:11
08:12 tilpner_ is now known as tilpner
jmerelo Xliff: best of luck! 08:13
08:13 [particle]1 left
antoniogamiz12 core dumps trying to make things parallel are hard to debug 08:19
jmerelo antoniogamiz12: right. It's not easy... But if you just send tasks to a channel, and then have a "start" react with whenever to that channel, you should be good to go. 08:23
Aearnus antoniogamiz12: i've only gotten core dumps doing odd things on the first compile 08:25
antoniogamiz12 but how a react/whenever statement helps me if a core dump is thrown?
Aearnus try running it again perhaps
antoniogamiz12 Aearnus: it happened on the second too :D 08:26
Aearnus ah shoot. time to find a maintainer hehe
what's your `perl6 --version`? 08:27
antoniogamiz12 2019.03.1 08:28
hehe, if I only use a thread it gives a MoarVM panic 08:29
08:32 chloekek joined 08:37 aindilis left
Geth doc/master: 4 commits pushed by (JJ Merelo)++ 08:38
08:42 Elronnd left 08:50 Elronnd joined 08:52 aborazmeh joined, aborazmeh left, aborazmeh joined 08:58 ravenousmoose joined 09:00 ravenousmoose_ left 09:01 yqt joined
antoniogamiz12 ah, I have discovered that the core dump is thown when I pass an object to a method 09:03
interesting
jmerelo antoniogamiz12: if you can golf it, you can report it as an issue
09:06 zakharyas joined 09:08 yqt left 09:17 pat_js joined
Aearnus is there an in place list append operator? 09:22
jmerelo Aearnus: sorry, what?
discord6 <Tyler (Aearnus)> er, like a single operator to append a value to a list 09:23
Xliff Something like (1, 2, 3) + (4, 6) => (1, 2, 3, 4, 6)
discord6 <Tyler (Aearnus)> yeah
jmerelo Aearnus: an infix operator?
m: say <a b> ~ <c d>
camelia a bc d
discord6 <Tyler (Aearnus)> er, no. like. (1,2,3) + (4,6) => (1, 2, 3, (4, 6))
Xliff m: my @a = ^3; my @b = 8...9; @c = (|@a, |@b) 09:24
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@c' is not declared
at <tmp>:1
------> 3my @a = ^3; my @b = 8...9; 7⏏5@c = (|@a, |@b)
Xliff m: my @a = ^3; my @b = 8...9; my @c = (|@a, |@b); @c.say
camelia [0 1 2 8 9]
jmerelo Xliff++
Xliff m: my @a = ^3; my @b = 8...9; my @c = (|@a, @b); @c.say
camelia [0 1 2 [8 9]]
chloekek p6: my @a := 1, 2, 3; my @b := 4, 5, 6; say (|@a, |@b).perl
camelia (1, 2, 3, 4, 5, 6)
Xliff Aearnus: ^^ That covers both cases. 09:25
Either way, you are creating a new list.
jmerelo chloekek++ 09:26
Aearnus m: my List %h is default((1,2,3)); %h<a> ,= |4; %h.perl.say; 09:27
camelia (my List % = :a((my \List_88742128 = $(List_88742128, 4))))
jmerelo That's ugly
Xliff m: @a = ^3; @a ,= 5; @a.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@a' is not declared
at <tmp>:1
------> 3<BOL>7⏏5@a = ^3; @a ,= 5; @a.say
Xliff m: my @a = ^3; @a ,= 5; @a.say
camelia (\Array_53498872 = [Array_53498872 5])
Xliff m: @a = ^3; @a = (|@a, 5); @a.say 09:28
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '@a' is not declared
at <tmp>:1
------> 3<BOL>7⏏5@a = ^3; @a = (|@a, 5); @a.say
Aearnus eugh. it's not what I want anyway -- i'd need the left side to be slip not the right side
Xliff m: my @a = ^3; @a = (|@a, 5); @a.say
camelia [0 1 2 5]
Aearnus wait. there's a List.push.
Xliff That's not in-place.
m: my @a = ^3; @a.push: 5; @a.say 09:29
camelia [0 1 2 5]
09:29 redhands left
Aearnus seems like it does what I want 09:29
Xliff OK, then!
Aearnus thank you!! 09:30
jmerelo m: my @a = ^3; @a.push: 5,3; @a.say 09:32
camelia [0 1 2 5 3]
antoniogamiz12 jmerelo: I have narrowed it down to Pod::To::HTML
it looks like it cannot be used in parallel
jmerelo antoniogamiz12: that old rascal
antoniogamiz12: maybe because of EVAL in Pod::Load 09:33
antoniogamiz12 pod load is not being used
jmerelo antoniogamiz12: is it not?
antoniogamiz12 in p2h or in documentable=
?
jmerelo in p2h 09:34
antoniogamiz12 mmm nop, you pass the pod to p2h
jmerelo antoniogamiz12: beats me. Raise the issue, and we'll try to create a test for it and fix it. 09:38
antoniogamiz12 have you seen github.com/perl6-community-modules...reeWalker? 09:39
ups delete the final ?
jmerelo antoniogamiz12: yep, vaguely. I haven't used or tested it, through
chloekek p6: my @xs := 1, 2, 3; @xs.push: 4; 09:41
camelia Cannot call 'push' on an immutable 'List'
in block <unit> at <tmp> line 1
chloekek There is no List.push, only Array.push.
jmerelo chloekek: Lists are immutable...
p6: my @xs := [1, 2, 3]; @xs.push: 4;
camelia ( no output )
Aearnus i guess i'll use an array then. that works 09:43
SmokeMachine m: my @a = 1,2,3; my @b = 4,5,6; @a.push: |@b; say @a 09:45
camelia [1 2 3 4 5 6]
chloekek p6: my @b = 1, 2, 3; say ((@ = 1, 2, 3).push: |@b).perl 09:46
camelia [1, 2, 3, 1, 2, 3]
chloekek p6: my @b = 1, 2, 3; say ([1, 2, 3].push: |@b).perl
camelia [1, 2, 3, 1, 2, 3]
jmerelo Aearnus: also, ask questions from time to time in StackOverflow. The number of questions is lately quite low. 09:48
SmokeMachine m: my @a = 1,2,3; my @b = 4,5,6; @a.append: @b; say @a
camelia [1 2 3 4 5 6]
Aearnus jmerelo: definitely!! weren't we also trying to fill out the rest of rosettacode as well
09:48 ravenousmoose left
jmerelo Aearnus: great :-) 09:49
09:49 ravenousmoose joined 09:51 Black_Ribbon left
antoniogamiz12 github.com/perl6/Pod-To-HTML/issues/63 09:53
any help is welcomed
10:00 yqt joined 10:04 Aearnus left 10:05 domidumont left 10:13 reportable6 left, shareable6 left, greppable6 left, committable6 left 10:14 bisectable6 left, quotable6 left, evalable6 left, shareable6 joined, ChanServ sets mode: +v shareable6, committable6 joined, ChanServ sets mode: +v committable6, bisectable6 joined 10:17 greppable6 joined, quotable6 joined, evalable6 joined 10:18 reportable6 joined 10:21 sena_kun joined 10:36 jmerelo left
kawaii good afternoon friends 10:40
o/
sena_kun o/ 10:41
antoniogamiz12 o/ 10:42
10:45 sjm_uk left
Xliff Is it "sub a(@modes where *.all ~~ Int)" or "sub a(@modes where .all ~~ Int)" ? 10:49
Kawaii: o/
10:51 sena_kun left 10:52 sena_kun joined, sena_kun left
Xliff m: multi sub a(@modes where .all ~~ Int) { say "Whee" }; multi sub a { say ":(" }; a( (1, 2, 3) ) 10:52
camelia Whee
Xliff m: multi sub a(@modes where .all ~~ Int) { say "Whee" }; multi sub a { say ":(" }; a( 'Huh' )
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling a(Str) will never work with any of these multi signatures:
(@modes where { ... })
()
at <tmp>:1
------> 3say "Whee" }; multi sub a { say ":(" }; 7⏏5a( 'Huh' )
Xliff m: multi sub a (@modes where .all ~~ Int) { say "Whee" }; multi sub a { say ":(" }; a( 'Huh' ) 10:53
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling a(Str) will never work with any of these multi signatures:
(@modes where { ... })
()
at <tmp>:1
------> 3say "Whee" }; multi sub a { say ":(" }; 7⏏5a( 'Huh' )
Xliff m: multi sub a (@modes where .all ~~ Int) { say "Whee" }; multi a (Str) { a; }; multi sub a { say ":(" }; a( 'Huh' )
camelia :(
10:53 sena_kun joined
Xliff m: my @a = (1, 'Hmmm', 22/7, 3.14e0); say @a.all ~~ Cool; 10:54
camelia True
Xliff Oh! I forgot to make it slurpy! /o\ 10:55
10:57 antoniogamiz12 left
sena_kun patrickb, ping? 10:59
11:00 zakharyas left
sena_kun I am seeing 'No moar executable found' on Windows, but 1)I don't even see subroutine `configure_moar_backend`, though it is listed in log; 2)what can be wrong with my path? Does nqp-configure checks for moar.exe? 11:00
s/checks/check/
I am seeing i.ibb.co/sm8GVTQ/2019-07-23-140115...-scrot.png 11:04
I wonder why it doubles \
*\ in output, like Users\\User, while it should be just Users\User.
11:05 john_parr left, zakharyas joined
chloekek It's inside a double-quoted string literal so it needs to be escaped. 11:07
11:08 aborazmeh left
sena_kun chloekek, from caller point of view? or in nqp-configure? 11:09
ah, I am starting to get it, `nmake` is not enough, it should be installed to some prefix... 11:13
11:26 Poohmaan joined 11:29 Poohman left 11:33 domidumont joined 11:38 domidumont left, noisegul_ left 11:41 pat_js left 11:43 noisegul joined
sena_kun `--gen-moar` option of nqp configure checkouts latest? 11:47
11:52 domidumont joined 11:53 scimon left
sena_kun how can I bump moarvm revision locally for nqp repo? 11:55
11:55 pat_js joined
patrickb sena_kun: pong 11:56
sena_kun patrickb, o/
I am trying to build moarvm(well, success), nqp + rakudo on windows to try out debugserver patch, can you help me out a bit?
patrickb perl Configure.pl --prefix=..\install --gen-moar --gen-nqp --backend=moar 11:57
nmake install
that might do the trick
if you already have a moar
sena_kun is it for rakudo?
patrickb perl Configure.pl --prefix=..\install --gen-nqp --with-moar=..\install\bin\moar.exe (or wherever moar is located) 11:58
yes
sena_kun I already have moar, but I can't build nqp, I am getting error that WinMain is not found.
patrickb depends on if you want to build them (rakudo, nqp, moar) separately or all in one
do you use gcc or cl?
sena_kun gcc from strawberry perl 11:59
patrickb oh
sena_kun I just do 'gmake', but it does not play well.
I'll try to build rakudo right now with my custom moar...
patrickb it's very possible the mingw build broke during the buildsystem refactor
Xliff does rakudobrew under WSL -- just for giggles.
patrickb I noticed the breakage but did not yet start the revival work. 12:00
sena_kun: I recommend you switch to using nmake & cl
do you know how?
Xliff Looks like no breakage, here -- but I already had a moar built from previous rakudobrew.
sena_kun patrickb, how do I? I am a 100% gnu/linux user, now trying to make it work with Windows just to make sure Comma debugger works with it. 12:01
so instructions are appreciated
patrickb github.com/rakudo/rakudo/blob/mast...-binary.md
that's a rough guide
When building a non release you additionally need git. 12:02
and skip the part about setting up windows in a VM
sena_kun patrickb, should I try with the command you posted above for rakudo build or use the guide?
patrickb there is quite a lot of things to do beforehand 12:03
do you have visual studio installed?
sena_kun not yet 12:04
patrickb give me a moment
sena_kun windows guide link is 404
patrickb it's the windows.md file in the same directory 12:05
But it's tuned for using a VM
Just ignore the guide for a moment.
visualstudio.microsoft.com/de/downloads/
go here, scroll down, select "Tools for Visual Studio 2019"
Download "Buildtools für Visual Studio 2019 " 12:06
and install
sena_kun I do use a VM, just in case.
downloading Buildtools...
patrickb Once those are installed you should be able to start a "Developer Command Prompt for VS 2019" 12:07
That's a cmd prompt with a modified environment that is necessary to get the `cl` compiler to work.
sena_kun patrickb, looking at this guide for binary builds, will I be able to do it with moar from master? I see it says "Download the latest release". 12:08
patrickb Yes you can use a git checkout. There is no difference really. 12:09
sena_kun great
patrickb In that command prompt, navigate to your checkouts of rakudo/nqp/moar and use `perl Configure.pl ...` as you are used to.
Then use nmake instead of gmake and that's it. 12:10
sena_kun I am still downloading...
ugh, I installed it but can't find it in Start menu. 12:13
patrickb hm. On the desktop?
sena_kun using search. I am using Russian localization, I wonder if it might be the issue. :| Nothing on the desktop too.
patrickb It might be named slightly different.
12:14 ravenousmoose_ joined 12:17 ravenousmoose left
patrickb In the worst case try to locate a file called 'vcvars32.bat' and call that in a normal cmd window. 12:17
There might also be a 'vcvars64.bat' 12:18
On my system they are located at C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\vcvars64.bat
sena_kun oddly enough, there is no such file and even no "Microsoft Visual Studio" in Start menu. 12:19
in Program Files (x86)\Microsoft Visual Studio I have only directory "Installer".
so it seems to not be installed, which is odd, giving that the installer of buildtools did not error for me. 12:20
patrickb Did you also look in `Program Files\` (without the `(x86)`)? 12:21
sena_kun nothing related to "Visual Studio" there at all.
I wonder if I should install VS 2019 besides build tools.
patrickb ah wait 12:22
sena_kun waits
patrickb Could it be that the download was just the installer tool?
sena_kun ah, probably, let me check if I can run something from Installer directory...
patrickb for me that download started another downloader tool that - once finished - opened the Visual Studio installer. There one can select which components to install. 12:25
There is a `C++-Buildtools` entry.
sena_kun executables there does not do anything nice and besides it says "This program possibly was not installed correctly"... 12:27
12:28 molaf joined
sena_kun ok, after a reboot it worked 12:28
damn
it flashes a new window for a moment and it disappears immediately.
patrickb Maybe Windows is not too happy living in a VM? 12:29
12:30 pat_js left
sena_kun no idea... I have a laptop with a hardware one, but it is old and laggy as hell. 12:30
patrickb :-(
sena_kun just in case, I don't want to be a burden to your kindness too much, but if you have a more or less stable environment with windows setup, can you build && try out latest master? 12:32
patrickb sena_kun: Can do, but only in the evening.
sena_kun I see... I will try with the windows laptop right now, maybe it'd be better. 12:33
sena_kun goes afk to move modem from one laptop to another 12:34
12:39 sena_kun left, sena_yan joined
sena_yan is back with webclient 12:40
patrickb, luckily, with fifth attempts I was able to run it an even see a window of "Available" tools to install. 13:01
searching for C++ Buildtools... 13:02
patrickb For me it was the first box on the top left listed in the "Workloads" tab. 13:03
sena_yan ah, Workloads... I see "Desktop development with C++" 13:04
patrickb Yeah, I guess that's the one 13:05
13:08 yqt left 13:13 ravenousmoose_ left
patrickb sena_yan: Progress? 13:17
sena_yan patrickb, there is some progress, but it wants me to download like 1.7 gb at start (and it seems 6 gb in total) and I am on 3g. 13:18
so I am thinking if I should abort the whole thing and wait or not.
13:21 lucasb joined 13:23 aindilis joined 13:27 molaf left 13:28 pamplemousse joined 13:33 sena_yan left 13:35 pat_js joined 13:37 sena_kun joined
sena_kun patrickb, it seems I can't do this with my connection. :( Please, ping me whenever it'll be comfortable for you in evening, your help in testing out debugger is highly appreciated. 13:39
Xliff m: 20.invert.say; 13:46
camelia Type check failed in invert; expected Pair but got Int (20)
in block <unit> at <tmp> line 1
Xliff There's no inverse method for Rat? 13:47
m: Rat.^methods(:local).say 13:48
camelia (Rat FatRat new nude Num floor ceiling Int Bridge Range isNaN is-prime base base-repeating succ pred norm narrow abs sign conj sqrt rand sin asin cos acos tan atan atan2 sec asec cosec acosec cotan acotan sinh asinh cosh acosh tanh atanh sech asech co…
Xliff m: (40/1).inv.say
camelia No such method 'inv' for invocant of type 'Rat'
in block <unit> at <tmp> line 1
Xliff m: (40/1).inverse.say
camelia No such method 'inverse' for invocant of type 'Rat'. Did you mean any of these?
invert
reverse

in block <unit> at <tmp> line 1
Xliff m: say 40 ** -1 13:49
camelia 0.025
13:50 MilkmanDan left
chloekek Numbers have at least two inverses: additive (-) and multiplicative (^-1) so having a method called inverse would not be so nice. 13:54
Another wordt voor multiplicative inverse is reciprocal, you could call it that.
13:56 hankache joined, pamplemousse left 13:57 melezhik joined
tobs and "negative" for the additive inverse 13:59
14:01 yqt joined
chloekek p6: say 1 / (40/1) 14:05
camelia 0.025
14:05 dakkar left 14:06 dakkar joined, zakharyas left, yqt left 14:08 robertle joined
patrickb sena_kun: It's possible I don't find time this evening. Are you also available tomorrow evening? 14:11
sena_kun: What exactly do you want me to test?
14:11 pat_js left
sena_kun patrickb, I am. Well, there was a commit in moarvm github.com/MoarVM/MoarVM/commit/7a...ed7446657f that _likely_ enabled us debugging on windows which was broken before. And it'll likely go into point release. Tomorrow is new Comma release and it'll be very nice to test if debugging on windows work with this commit or not yet. 14:12
patrickb, so it is building from latest moar and then doing something like `moar --debug-port=10000 --libpath=share/nqp/lib --libpath=... foo.p6` to see if this throws or not. 14:14
14:14 hankache left
sena_kun I have exact paths, of course, and they are derived from perl6::prefix. 14:14
so my goal is to make sure that next rakudo point release has working debugger on windows, because, well, that'd be nice. 14:15
as it integrates with Comma.
patrickb ok got it
master is broken in some ways on windows atm (I'm working on that). But I'll see what I can do. 14:16
sena_kun I think that it is unlikely that there will be some issue on Comma side, because it just calls something like `/usr/bin/moar --debug-port=9999 --libpath=/usr/share/nqp/lib --libpath=/usr/share/perl6/lib --libpath=/usr/share/perl6/runtime /usr/share/perl6/runtime/perl6.moarvm foo.p6`, but there might be issues we want to address before point release, as otherwise it means another months of broken debugger on windows. 14:18
so we can wait until tomorrow with this, likely 14:19
14:26 araraloren joined
araraloren m: say "的" ~~ /<:Block("Han")/>; 14:26
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)
at <tmp>:1
------> 3say "的" ~~ /<:Block("Han")7⏏5/>;
expecting any of:…
araraloren m: say "的" ~~ /<:Block("Han")>/; 14:27
camelia Nil
araraloren The regex should matched 14:28
sena_kun u: 的
unicodable6 sena_kun, U+7684 CJK UNIFIED IDEOGRAPH-7684 [Lo] (的)
14:29 antoniogamiz joined
sena_kun u: 的 14:30
unicodable6 sena_kun, U+7684 CJK UNIFIED IDEOGRAPH-7684 [Lo] (的)
araraloren m: say "ア" ~~ /<:Block("Katakana")>/; # matched, make sure I am not using this in wrong way 14:32
camelia 「ア」
araraloren u: ア
unicodable6 araraloren, U+30A2 KATAKANA LETTER A [Lo] (ア)
sena_kun seems like a bug to file 14:33
araraloren yes, I think it is :D 14:34
chloekek p6: say '的' ~~ /<:Block('CJK Unified Ideographs')>/ 14:38
camelia 「的」 14:39
chloekek Han is the script, not the block.
p6: say '的' ~~ /<:Script('Han')>/
camelia 「的」
14:39 ravenousmoose_ joined 14:44 abraxxa left 14:46 abraxxa joined 14:57 mcmillhj joined
chloekek p6: with '的' { say m/<:Script('Han')>/ } 14:58
camelia 「的」
14:58 mcmillhj left
chloekek p6: given '的' { say m/<:Script('Han')>/ } 14:58
camelia 「的」
antoniogamiz noisegul: I have answered your mail
14:58 mcmillhj joined 15:01 yqt joined, domidumont left
SmokeMachine m: say class {multi method bla {}}.^find_method("bla").multi # should it be True? 15:01
camelia False
chloekek m: say class {multi method bla {}; multi method bla($x) {}}.^find_method("bla").multi 15:03
camelia False
SmokeMachine m: say Int.^find_method("gist").multi 15:04
camelia False
chloekek Is there any difference between doc.perl6.org and docs.perl6.org? Should we make one redirect to the other? Otherwise search engines will index them separately and give duplicate results. 15:05
15:06 yqt left
SmokeMachine m: say Pair.^find_method("gist").multi # github.com/rakudo/rakudo/blob/b6c8...r.pm6#L100 15:06
camelia False
sena_kun chloekek, it is an old question, right now we redirect doc.perl6.org to docs.perl6.org and the later is preferred. or it was while I was working with docs closely than now.
chloekek sena_kun: It seems like the redirect is not functional at the moment. And docs.perl6.org redirects to HTTPS, doc.perl6.org doesn't.
Scratch the HTTPS part. 15:07
sena_kun chloekek, it surely may be considering how infrastructure server felt apart some time ago, but this isn't the "normal" state of things, I believe.
jnthn SmokeMachine: I think not because what you're getting there is the proto
Xliff m: say Pair.^find_method("gist").^name.say 15:08
camelia Method
True
chloekek sena_kun: Ah. Do we have infrastructure for monitoring and alerting?
sena_kun chloekek, I am sure you want to ping rba about this one.
chloekek rba: ping
SmokeMachine jnthn: so, how should I know if it's multi?
Xliff m: say Pair.^find_method("gist").^candidates.gist.say 15:09
camelia No such method 'candidates' for invocant of type 'Perl6::Metamodel::ClassHOW'
in block <unit> at <tmp> line 1
Xliff m: say Pair.^find_method("gist").candidates.gist.say
camelia (gist gist gist)
True
Xliff m: say Pair.^find_method("gist").candidates.say
camelia (gist gist gist)
True
Xliff m: say Pair.^find_method("gist").candidates.elems
camelia 3
jnthn SmokeMachine: is_dispatcher
SmokeMachine jnthn: thanks!
Xliff m: say .multi for Pair.^find_method("gist").candidates 15:10
camelia True
True
True
Xliff ^^ SmokeMachine
SmokeMachine Xliff: thanks!
Xliff: I've being improving Red in direction of that migration issue (do you remember it?) 15:11
Xliff Yes.
Been a while.
SmokeMachine Xliff: twitter.com/smokemachine/status/11...0106932224 15:13
rba chloekek: pong 15:14
chloekek rba: sena_kun told me to ping you about doc.perl6.org no longer redirecting to docs.perl6.org, and whether we have monitoring/alerting infrastructure 15:15
rba clarkema, sena_kun: Hmm, for me doc.perl6.org is working. 15:16
atm both names serve the same content. no redirect.
sena_kun rba, I think the question is not having it working, but redirecting doc to docs.
Xliff SmokeMachine: ...
SmokeMachine: It just looks like a hash to me. What are you trying to do with that gist?
rba So, need to change this when I take over. 15:17
Xliff Oh wait. Is that code from the database?
patrickb sena_kun: Just did a test. Seems to work.
15:17 robertle left
rba Planned to reinstall some domains (inluding docs.perl6.org) and change the DNS. 15:17
patrickb When I add the --debug-suspend parameter it waits indefinitely
chloekek Cool.
sena_kun patrickb, \o/
patrickb, thank you very much! 15:18
SmokeMachine Xliff: yes...
patrickb sena_kun: I did not test whether this works with an actual debugger attached...
Xliff SmokeMachine: OK
SmokeMachine Xliff: it's reading the database and creating the code... 15:19
sena_kun patrickb, do you want to?
there is a CLI client 15:20
installable with zef, I believe
SmokeMachine Xliff: you can pass a create table sql to it and it will create a Red model as well...
patrickb ENOTIME atm. Would it also work with latest comma community?
rba sena_kun: Noted, to put the redirect as soon as docs.perl6.org is taken over. 15:21
sena_kun patrickb, no problem then, anyway, if sockets work, then it is likely to Just Work. erm, do we have debugger in community?
rba++
Xliff SmokeMachine: 'k
sena_kun patrickb, we do, so yes, but with next Comma release. 15:22
SmokeMachine Xliff: www.irccloud.com/pastebin/xcjy8Is0/ 15:25
15:32 patrickb left 15:33 hankache joined 15:34 hankache left 15:35 MilkmanDan joined 15:42 araraloren left 15:43 chloekek left
timotimo would anybody be against adding sub-stagestats to the stagestats flag? like, when one module causes other modules to be re-precompiled, that it'd output more stuff, probably indented with a little indication what it's doing? 15:57
15:57 abraxxa left
Xliff I would love that! 15:58
If you need tester flunkies... I'll be yo huckberreh!
timotimo does that make me a phinn? 15:59
16:00 mcmillhj left 16:01 yqt joined 16:05 robertle joined 16:07 yqt left, Possum left, pat_js joined
Xliff timotimo: Probably! 16:12
16:20 Sgeo left 16:21 Sgeo joined 16:27 pat_js left, AlexDaniel left
antoniogamiz what do you think about write the documentation of the module in the same file of the code? 16:31
I have a module with a considerable amount of files and I do not know if it's worth to do it there or in a docs dir 16:32
16:35 dakkar left
Xliff antoniogamiz: Document the routines in the modules, themselves. If you have more extensive docs or tutorials, write them in a docs dir. 16:46
That's just a suggestion. The best way is the one you can easily maintain. 16:47
16:52 sena_kun left, sena_kun joined
ugexe a strong argument for no documentation indeed 16:53
17:00 yqt joined 17:08 chloekek joined
Xliff ugexe: Hah! 17:11
17:13 wildtrees joined 17:15 pamplemousse joined, redhands joined 17:17 [Sno] joined 17:39 sena_kun left 17:40 sena_kun joined 17:46 sena_kun left, sena_kun joined
antoniogamiz Xliff: thanks for the tip! 17:56
17:56 antoniogamiz left 18:01 molaf joined 18:05 mowcat joined, mowcat left 18:06 natrys joined 18:09 Elronnd left 18:16 ChoHag joined 18:20 zakharyas joined
veesh I'm still having problems installing p6doc via zef 18:26
yoleaux 17 Jul 2019 22:11Z <MasterDuke> veesh: fyi, you can just put a literal 0 instead of the where expression and it'll be a little bit faster. e.g., `multi sub A( 0, $n ) { $n + 1 }` instead of `multi sub A( $m where 0, $n ) { $n + 1 }`
veesh it's trying to install globally instead of into my user folder 18:27
ugexe its a bug in p6doc 18:28
github.com/perl6/doc/issues/2896
18:30 sauvin left
veesh thanks, I guess I'll fix it? 18:44
in other words, can I make a subroutine signature slurp in parameters, with a specific minimum 18:46
meaning will sub thing ( @args where * > 2) work?
ugexe sub foo(*@args where [$, $, *@]) { say @args } 18:48
er
sub foo(*@args [$, $, *@]) { say @args }
sub foo(*@args where .elems > 2) { say @args } # another way 18:49
veesh the * makes it slurpy?
ugexe yes
veesh kkk
does that work in MAIN? 18:50
the first one worked for me, but not the second 18:51
19:08 domidumont joined 19:10 Elronnd joined 19:12 domidumont left
SmokeMachine vrurg: Hi! I'm just curious... are you publishing BO-Config? 19:20
19:25 sena_kun left, sena_kun joined
ugexe m: sub MAIN(*@arr where .elems > 2) { say 42 }; BEGIN @*ARGS = <1 2 3> 19:30
camelia 42
ugexe m: sub MAIN(*@arr where .elems > 2) { say 42 }; BEGIN @*ARGS = <1 2>
camelia Usage:
<tmp> [<arr> ...]
ugexe sure looks like it works to me
19:32 Black_Ribbon joined
veesh ugexe: no, it printed the usage, it's supposed to run the function 19:32
that's not working
ugexe look at it again 19:33
veesh oh, operator error
sorry
noisegul If I have my `MAIN`s inside a package in `lib` and only load that package in `bin/example.p6` to make full use of precompilation. What would be the best way to directly use and test `MAIN`s in a test? 19:38
And avoid regular usage being executed, considering multiple `multi MAIN`s
ugexe `BEGIN sub MAIN(|_ { }; { use My::CLI; ok My::CLI::MAIN(...), 42 }` 19:41
vrurg SmokeMachine: No, it's internal for now.
ugexe basically install a MAIN that doesn't do anything and then access the other MAINs using full namespace 19:42
vrurg But that was the story of Async::Workers , so it's nothing that wouldn't happen.
19:43 Black_Ribbon left
noisegul ugexe: Nice I'll try that, thank you! 19:43
19:44 Black_Ribbon joined
ugexe your exported MAINs will need to be `our` though 19:44
our proto MAIN(|) is export { } is what I would use in your lib containing all the MAINs 19:45
our proto MAIN(|) is export {*}
19:45 Black_Ribbon left
ugexe then you don't have to mark all the MAIN as `our` or `is export` 19:45
noisegul ugexe: Ah that's also nice to know! Thank you 19:46
19:46 Black_Ribbon joined 19:51 zakharyas left 19:56 nepugia joined
noisegul ugexe: Is there a way to suppress the output of the MAIN called with args too? 20:03
ugexe how would you suppress the output of any other sub? 20:04
you can use something like IO::Capture::Simple to keep stdout/stderr from going to your terminal -- github.com/sergot/IO-Capture-Simpl...t/stdout.t 20:06
noisegul ugexe: I see 20:07
cpan-p6 New module released to CPAN! Date::Calendar::Hebrew (0.0.1) by 03JFORGET 20:24
20:33 pamplemousse left 20:48 Cabanossi left 20:54 Cabanossi joined 21:12 chloekek left 21:17 Possum joined 21:20 robertle left 21:22 Possum left 21:24 Possum joined 22:07 yqt left 22:10 john_parr joined 22:14 nepugia left 22:43 pamplemousse joined 22:56 redhands left 23:40 wildtrees left 23:42 pamplemousse left 23:43 pamplemousse joined