Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-03-16

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 mr-foobar joined #perl6
00:02 Stamm joined #perl6
00:04 cibs joined #perl6
00:05 AlexDaniel timotimo: doesn't crash with --optimize=0 \o/
00:06 timotimo interesting
00:06 timotimo is that the rakudo optimizer or a flag for moarvm?
00:06 AlexDaniel does crash with --optimize=0
00:06 mr-foobar joined #perl6
00:06 AlexDaniel just for the perl6 executable
00:06 timotimo oh, ok. just less likely to crash?
00:06 timotimo OK
00:06 AlexDaniel oops, does crash with =1***
00:06 timotimo ah
00:07 timotimo interesting. i believe the --optimize will also influence precompilation btw
00:08 AlexDaniel ok, take my words back… does crash anyway…
00:08 AlexDaniel just a little bit later
00:08 AlexDaniel much later even, but still
00:09 timotimo interesting.
00:09 timotimo well, you have a for loop there
00:09 timotimo maybe the for-to-while optimization kicks in
00:09 timotimo if the resulting block is inlined, you'll end up with a lot less churn on the frame stack, maybe also less GC ni total
00:09 mcmillhj joined #perl6
00:09 buggable joined #perl6
00:10 AlexDaniel timotimo: so, even though I don't have everything compiled with debugging symbols, valgrind shows nothing… which kinda makes sense? It's not a segfault after all?
00:10 timotimo have you ever built a moarvm with a smaller nursery?
00:10 AlexDaniel no
00:10 timotimo oh, moar has a few flags that can help finding this kind of error
00:10 timotimo well, really #define stuff in the code
00:11 mr-foobar joined #perl6
00:12 IOninja hum. Based on my Travis results, HTTP::UserAgent is still busted :/ https://travis-ci.org/zoffixznet/perl6-WWW#L1174
00:12 AlexDaniel timotimo: RT-ed RT #131003
00:12 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=131003
00:12 timotimo it's MVM_GC_DEBUG
00:12 IOninja Ugh, never mind, I see why.
00:13 timotimo i think you can turn it up to 2
00:13 timotimo find it in src/gc/debug.h
00:14 mr-foobar joined #perl6
00:17 adu joined #perl6
00:18 mr-foobar joined #perl6
00:19 Cabanossi joined #perl6
00:21 IOninja .tell RabidGravy sent a PR to fix HTTP::UA: https://github.com/sergot/http-useragent/pull/166
00:21 yoleaux IOninja: I'll pass your message to RabidGravy.
00:25 mr-foobar joined #perl6
00:26 mr-foobar joined #perl6
00:27 Actualeyes joined #perl6
00:27 mcmillhj joined #perl6
00:28 mr-foobar joined #perl6
00:30 mr-foobar joined #perl6
00:31 mr-foobar joined #perl6
00:34 mr-foobar joined #perl6
00:34 MasterDuke AlexDaniel: might want to point that RT out to dogbert17, he's good at getting info with valgrind, gdb, etc.
00:35 AlexDaniel .tell dogbert17 https://irclog.perlgeek.de/perl6/2017-03-16#i_14272417
00:35 yoleaux AlexDaniel: I'll pass your message to dogbert17.
00:36 AlexDaniel timotimo: well, I don't think I'll be able to work on it today. That said, I'm already so happy that I found a way to reproduce this with some short piece of code
00:36 AlexDaniel if I recall correctly, I have several scrapers that suffer from exactly the same problem
00:36 AlexDaniel but somehow I never managed to get a bug report out of it
00:38 timotimo that's good, yes
00:40 mr-foobar joined #perl6
00:52 cdg joined #perl6
01:03 salva joined #perl6
01:04 Cabanossi joined #perl6
01:19 obfusk joined #perl6
01:34 Cabanossi joined #perl6
01:35 aborazmeh joined #perl6
01:35 aborazmeh joined #perl6
01:39 cyphase joined #perl6
01:57 cibs joined #perl6
02:18 Cabanossi joined #perl6
02:46 skids joined #perl6
02:47 ilbot3 joined #perl6
02:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:57 mcmillhj joined #perl6
03:02 eroux joined #perl6
03:04 Cabanossi joined #perl6
03:06 xtreak joined #perl6
03:09 AlexDaniel timotimo: hm, does this help? https://gist.github.com/AlexDaniel/794d3367c9085a02d37a16e36f2368a5
03:12 SmokeMachine Hi! One of the only differences of the triangle reduction is this: https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L7175 I'd  like to know where can I see the implementation of QAST::Op call to understand what that push Int, Int, 1 is really doing... where can I find it?
03:15 zacts joined #perl6
03:19 kurahaupo joined #perl6
03:20 SmokeMachine m: say [\+] <1 2 3>, <4 5 6>, <7 8 9>
03:20 camelia rakudo-moar 79bb17: OUTPUT: «((1 2 3) 6 9)␤»
03:22 SmokeMachine m: say [\~] <1 2 3>, <4 5 6>, <7 8 9>
03:22 camelia rakudo-moar 79bb17: OUTPUT: «((1 2 3) 1 2 34 5 6 1 2 34 5 67 8 9)␤»
03:26 AlexDaniel SmokeMachine: grep METAOP_REDUCE
03:27 AlexDaniel SmokeMachine: for example: https://github.com/rakudo/rakudo/blob/nom/src/core/metaops.pm#L119
03:27 AlexDaniel SmokeMachine: if you scroll down it goes on and on :)
03:30 mcmillhj joined #perl6
03:34 Cabanossi joined #perl6
03:37 noganex joined #perl6
03:54 kurahaupo joined #perl6
04:01 wamba joined #perl6
04:04 cibs joined #perl6
04:05 mcmillhj joined #perl6
04:17 vendethiel joined #perl6
04:24 labster joined #perl6
04:32 mcmillhj joined #perl6
04:34 Cabanossi joined #perl6
04:44 kurahaupo joined #perl6
04:53 jnap_ joined #perl6
04:58 cognominal joined #perl6
04:59 vendethiel joined #perl6
05:02 Cabanossi joined #perl6
05:12 mcmillhj joined #perl6
05:26 geraud joined #perl6
05:28 mcmillhj joined #perl6
05:33 labster joined #perl6
05:37 cpage joined #perl6
05:45 mcmillhj joined #perl6
05:48 Cabanossi joined #perl6
05:56 curan joined #perl6
06:03 mcmillhj joined #perl6
06:08 CIAvash joined #perl6
06:19 stmuk_ joined #perl6
06:21 mcmillhj joined #perl6
06:38 mcmillhj joined #perl6
06:40 darutoko joined #perl6
06:44 mr-foobar joined #perl6
06:46 RabidGravy joined #perl6
06:47 jjido joined #perl6
06:48 Cabanossi joined #perl6
06:52 domidumont joined #perl6
06:57 mcmillhj joined #perl6
07:05 mr-foobar joined #perl6
07:15 wamba joined #perl6
07:33 Cabanossi joined #perl6
07:38 mtsd joined #perl6
07:42 lizmat joined #perl6
07:50 ufobat joined #perl6
07:52 gdonald joined #perl6
07:56 parv joined #perl6
07:56 Sound joined #perl6
08:03 mcmillhj joined #perl6
08:05 mtsd left #perl6
08:24 dct joined #perl6
08:30 zakharyas joined #perl6
08:47 dakkar joined #perl6
08:50 rindolf joined #perl6
08:58 mr-foobar joined #perl6
09:07 mxco86 joined #perl6
09:11 mr-foobar joined #perl6
09:18 wamba joined #perl6
09:19 cibs joined #perl6
09:33 Cabanossi joined #perl6
10:02 xtreak joined #perl6
10:07 IOninja SmokeMachine: past = Parrot AST; it's an old name for QAST. And as I've mentioned, you can dump it with note($metapast.DUMP)
10:07 astj joined #perl6
10:13 mr-foobar joined #perl6
10:20 IOninja .ask moritz would you be able to update your https://github.com/moritz/perl6-all-modules repo? I'
10:20 yoleaux IOninja: I'll pass your message to moritz.
10:20 IOninja -_-
10:20 IOninja .ask moritz I'd like you hunt down all breakage due to lexical require before the release, so having current code would be handy
10:20 yoleaux IOninja: I'll pass your message to moritz.
10:21 n1ce_ joined #perl6
10:25 jnthn Like you, like you to, or like to? :)
10:26 mr-foobar joined #perl6
10:29 IOninja man can't type today
10:29 IOninja .tell moritz I meant I'd like *TO* hunt down. Not you hunt down :P I just need an up to date all-modules repo :)
10:29 yoleaux IOninja: I'll pass your message to moritz.
10:30 Ven` .oO( Why would you hunt moritz down? )
10:36 astj joined #perl6
10:39 mr-foobar joined #perl6
10:40 moritz IOninja: doing it now
10:40 yoleaux 10:20Z <IOninja> moritz: would you be able to update your https://github.com/moritz/perl6-all-modules repo? I'
10:40 yoleaux 10:20Z <IOninja> moritz: I'd like you hunt down all breakage due to lexical require before the release, so having current code would be handy
10:40 yoleaux 10:29Z <IOninja> moritz: I meant I'd like *TO* hunt down. Not you hunt down :P I just need an up to date all-modules repo :)
10:41 xtreak Is there a way in Perl6 where I can define custom operators in a file and import them in another file ?
10:43 moritz xtreak: sure, in a module you can write   multi sub infix:<foo> is export ...; and then  use The::Module;
10:44 xtreak moritz: Thanks. Never knew about is export :)
10:45 geekosaur joined #perl6
10:48 Cabanossi joined #perl6
10:51 IOninja moritz++ thanks.
10:51 IOninja Gonna start hunting failurage after work
11:09 gregf_ joined #perl6
11:19 mcmillhj joined #perl6
11:26 tbrowder hi, #perl6
11:28 DrForr o/
11:28 lukaramu joined #perl6
11:31 geekosaur joined #perl6
11:31 tbrowder just found a prob in my code when trying a for loop with a range from large to small, thought it would work like. this automagically: 5..2 but it silently skips the loop entirely. i finally found one sentence about the ... operator for complex uses, such as the one i want, but no examples. i'm now going to try 5...2 to see if it works.  but shouldn't there
11:31 tbrowder be a warning from rajudo about 5..2?
11:32 tbrowder pardon early morning typos...
11:32 timotimo ranges are just ranges
11:32 timotimo they can't have a direction
11:33 timotimo the docs ought to point that out clearly
11:33 timotimo Ranges always go from small to larger elements; if the start point is bigger than the end point, the range is considered empty.
11:33 tbrowder yes, it points to ... operator but no further words
11:33 timotimo that sentence is there, but it's like the 5th paragraph of text
11:33 timotimo huh, it does? i don't see it
11:34 tbrowder search for ... in the docs
11:35 geekosaur joined #perl6
11:35 tbrowder i found no examples of how to use ... in a for loop
11:36 tbrowder the docs say ... can bu used in complex situation such as indexing large to small but no more info
11:37 DrForr How are you wanting to iterate?
11:38 timotimo there doesn't seem to be any ... in the docs
11:39 timotimo oh, in the reference
11:39 timotimo there's an example of going from big to small vs small to big right there in the second code block
11:40 tbrowder hm
11:41 bjz joined #perl6
11:42 tbrowder timotimo: i don't see that in docs on for loop, where are you looking?
11:43 timotimo i'm in the docs for ...
11:43 tbrowder note that my loop works now with 5...2
11:44 timotimo it'd probably be good if the section on "for" in the control flow page showed off ... as well as ..
11:45 DrForr Well, IIRC one's the range operator, the other's the flip-floperator :)
11:46 timotimo wrong language, mister :)
11:46 SmokeMachine What's the rule to get the name included into the CREDITS?
11:46 * DrForr just gives up.
11:47 timotimo SmokeMachine: either you have to put it in, or someone has to put it in for you
11:48 DrForr I think he's taling about the criteria for inclusion?
11:48 El_Che hello
11:48 DrForr (not about the process...)
11:48 SmokeMachine DrForr: that's it!
11:49 timotimo :P
11:49 timotimo the criteria are "you have a reason to be in there"
11:49 tbrowder timotimo: i finally found in the big operator list, best found by searching for "sequence operator", i just kept following links for "..." and never got there. i'll look at adding some examples to docs after i get a better feel for using it. thanks!
11:50 DrForr I just had to ask :) But I'd been involved hip-deep for several years before I restarted.
11:50 SmokeMachine timotimo: but what would be a reason?
11:51 timotimo for example you have a few commits in rakudo
11:51 DrForr Patch? Doc addition? core optimization?
11:51 timotimo *shrug*
11:51 DrForr Just throwing out ideas here, not trying to limit anything.
11:51 timotimo i'd say "anything in the rakudo repo"? maybe?
11:51 samcv yeah it's specific to that repo i believe
11:53 tbrowder back to question on "for 5..2" shouldn't that throw some kind of msg like "useless use of for in a no-op situation?"
11:54 tbrowder if it's not in "traps" i think it needs to be
11:54 SmokeMachine timotimo: I mean: I'm here: https://github.com/rakudo/rakudo/graphs/contributors should I be on CREDITS?
11:57 Stamm joined #perl6
11:57 kyan joined #perl6
11:57 timotimo i forgot what your gh username was; is it FCO?
11:58 timotimo (the credits file helps answer that exact question)
11:58 SmokeMachine Yes, FCO
11:58 araraloren joined #perl6
11:59 timotimo if you'd like, you can have yourself added
11:59 timotimo it's really no big deal, i believe?
11:59 SmokeMachine timotimo: thanks... I think I will...
12:02 Stamm hello
12:02 IOninja Hi.
12:02 timotimo greetings
12:03 Stamm is it possible to install perl6 from source from "Bash on Ubuntu on Windows 10"?
12:03 Stamm i tried but i can't
12:03 DrForr Can you put your install logs somewhere that we can see?
12:03 IOninja I did install it from source on Windows 10 without bash-on-ubuntu...
12:04 Stamm i typed "perl Configure.pl --backend=moar --gen-moar --prefix /opt/rakudo-star-2017.01"
12:04 araraloren Stamm, yeah
12:04 Stamm after a long time compiling, i got:
12:04 Stamm Creating tools/build/install-jvm-runner.pl ... /opt/rakudo-star-2017.01/bin/moar: error while loading shared libraries: libmoar.so: cannot enable executable stack as shared object requires: Invalid argument ===SORRY!=== No suitable MoarVM (moar executable) found using the --prefix (You can get a MoarVM built automatically with --gen-moar.)
12:05 araraloren I compiled and installed it successed
12:05 timotimo someone once made it work
12:05 Stamm i did specify --gen-moar...
12:05 araraloren You need `sudo execstack -c /usr/lib/libmoar.so`
12:05 timotimo yeah, --gen-moar expects that compiling the moarvm succeeds
12:05 IOninja huggable: win10 bash :is: sudo execstack -c /usr/lib/libmoar.so
12:05 huggable IOninja, Added win10 bash as sudo execstack -c /usr/lib/libmoar.so
12:06 Stamm ok
12:06 Geth ¦ doc: nxadm++ created pull request #1250: Put name instead of uid
12:06 Geth ¦ doc: review: https://github.com/perl6/doc/pull/1250
12:06 Stamm in my case, i have to use "/opt/rakudo-star-2017.01/lib/libmoar.so"
12:06 Geth ¦ doc: ddf83d36c8 | (Claudio Ramirez)++ | CREDITS
12:06 Geth ¦ doc: Put name instead of uid
12:06 Geth ¦ doc: review: https://github.com/perl6/doc/commit/ddf83d36c8
12:06 Geth ¦ doc: 3b301cf8b6 | nxadm++ | CREDITS
12:06 Geth ¦ doc: Merge pull request #1250 from nxadm/master
12:06 Geth ¦ doc:
12:06 Geth ¦ doc: Put name instead of uid
12:06 Geth ¦ doc: review: https://github.com/perl6/doc/commit/3b301cf8b6
12:06 araraloren Compile and Separate install moar  first
12:07 Stamm how do i compile moar first?
12:07 timotimo --gen-moar will already have cloned it for you, and it'll also have run Configure.pl, so all you need to do is cd into the right folder and "make install"
12:08 Stamm ok, thank you all
12:08 Stamm i'll try that
12:08 El_Che Stamm: does win10+bash use regular deb packages or do they need to be specifically built?
12:08 Stamm :-)
12:08 araraloren Enter nqp/MoarVM/
12:09 Stamm @El_Che: i use regular apt install
12:09 IOninja huggable: deb
12:09 huggable IOninja, CentOS and Debian Rakudo packages: https://github.com/nxadm/rakudo-pkg/releases
12:09 IOninja Stamm: you could try those ^
12:10 El_Che Stamm: would my regular ubuntu packages work? -> https://github.com/nxadm/rakudo-pkg/releases/tag/2017.02
12:10 Stamm by default, the package was from *2015*
12:10 Stamm i'll try those
12:11 El_Che I make those, so ping if you have a problem
12:11 IOninja It's not that bad, on my box the default is like from... 2011 :P
12:11 Stamm i tried nonetheless yesterday, and i had the message as today (from source)
12:11 El_Che I should set up a VM with Win10+Ubuntu userland
12:12 Stamm the Configure.pl step has terminated successfully now
12:12 Stamm i'm doing the "make"
12:12 Stamm :-)
12:12 Stamm only the execstack was missing
12:13 Stamm what's the purpose of execstack?
12:15 timotimo i believe we need it for dyncall?
12:16 geekosaur requiring executable stack usually means something is using a trampoline; most commonly that is (some) signal handlers, or cross-language calls
12:16 aborazmeh joined #perl6
12:16 aborazmeh joined #perl6
12:18 Stamm ok
12:18 Stamm i'm at the "make install" step
12:18 Stamm i think it's rather long
12:19 IOninja Rakudo's make install?
12:20 IOninja It takes a few minutes, yeah
12:22 IOninja ugexe: looks like zef's `smoke` and `test` are busted. Don't detect failures: https://gist.github.com/zoffixznet/df386aa03da38354c373189b03730004
12:22 IOninja ugexe: and using prove does: https://gist.github.com/zoffixznet/4284b808e0efd321c21146bab5ab6221
12:23 IOninja Wonder if it's TAP::Harness issue :/ tis a 2017.02 rakudo
12:24 wamba joined #perl6
12:24 sena_kun joined #perl6
12:24 IOninja anyone know the invocation to make zef use prove for testing and not TAP::Harness?
12:25 Stamm it worked!
12:25 Stamm thank you all :-)
12:25 IOninja \o/
12:25 El_Che Stamm: happy hacking!
12:25 IOninja Huh, smoke testing actually installs all the modules :/
12:26 IOninja I guess I can improvise: script -> loop -> zef look module -> prove6 -> exit
12:27 El_Che A happy customer :)
12:29 IOninja ah, dam, that won't handle dependencies -_-
12:33 kurahaupo__ joined #perl6
12:36 timotimo .u ⠙
12:36 yoleaux U+2819 BRAILLE PATTERN DOTS-145 [So] (⠙)
12:37 mr-foobar joined #perl6
12:44 IOninja Seems like it's working. `zef --config-path=~/.zef/config.json smoke` with TAP::Harness test plugin tossed from the config
12:47 IOninja Has anyone ran `zef smoke` before? Does it report all failures at the end?
12:47 * IOninja sets scroll buffer to "Unlimited" just in case
12:48 IOninja Slow as hell tho... Wonder if it can be made concurrent :/
12:48 Woodi hallo today :)
12:49 IOninja \o\
12:50 mcmillhj joined #perl6
12:51 timotimo fantastic: now when my phone rings my desktop music player reacts
12:52 timotimo as in: i take the call, and when i hang up, it stops my music
12:52 timotimo i guess because after a phone call i'll have to spend a few minutes in silence to think about what i'd done?
12:53 El_Che skype-for-business phone? I fixed that by branching it to a windows laptop accesed through rdesktop and formatting the min laptop with linux :)
12:53 araraloren joined #perl6
12:53 timotimo no, android phone
12:53 Woodi jnthn: reading about Rlang make you want "vectorising" notation... often it is just trading allocated space vs looping but still usefull. I think it is something (being memory inefficient) to have in mind in hyper/race context...
12:54 mr-foobar joined #perl6
12:54 Woodi err, to be clear: I advotate vasting mem in that case... :)
12:55 IOninja Looks like a couple of dists fail with "Cannot resolve caller splice(Array: Int, Array); none of these signatures match" I wonder if they realize the second Array was being interpreted as an Int in the past...
12:56 IOninja Lots of failures, even on 2017.02 rakudo :(
12:57 eroux joined #perl6
12:57 IOninja This is my control BEFORE finding all the new breakage due to lexical require /o\
12:58 [Coke] if it's already broken, cross it off the list for checking?
12:58 IOninja That's the plan.
12:59 [Coke] +1
12:59 * [Coke] is very happy that doc's make xtest has been clean for a while now
12:59 IOninja (it wasn't clean last time I tried it...)
13:00 IOninja Or at least... there was lots of red in the example compilation tests
13:03 [Coke] test passes.
13:03 [Coke] the output is because NQP doesn't respect rakudo's overrides on stdout/err
13:04 [Coke] sink warnings, duplicate var names, octal misfires...
13:05 user9 joined #perl6
13:07 IOninja heh, looks like I put the final nail in the coffin of https://modules.perl6.org/dist/DateTime::Math  Tests now fail due to addition of core math ops and the README says comparison ops were added a while back and were removed from that module.
13:08 IOninja m: say ateTime.now + 42
13:08 camelia rakudo-moar 21d1f7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    ateTime used at line 1␤␤»
13:08 IOninja m: say DateTime.now + 42
13:08 camelia rakudo-moar 21d1f7: OUTPUT: «Cannot resolve caller Numeric(DateTime: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at <tmp> line 1␤␤»
13:08 [Coke] IOninja: https://gist.github.com/coke/33bb055169e654b275b880784d93cb00
13:08 IOninja Well, that is still that module can be used for.
13:08 [Coke] those are the 4 particular types of warning that I see in the output (just repeated over hundreds of cases)
13:21 IOninja hm. zef smoke appears to give false negatives simply because some modules get installed as prereqs during smokage.
13:21 IOninja and later attempts to install them fail because they already are installed.
13:28 IOninja ah, smoke is just a tiny wrapper around "get a list of modules; `zef install` them"
13:31 IOninja .tell ugexe note that I ended up writing my own script to smoke the dists, so no rush on all the smoke Issues I opened on zef :}
13:31 yoleaux IOninja: I'll pass your message to ugexe.
13:32 IOninja gonna cook something up that uses all teh coars
13:33 AlexDaniel joined #perl6
13:33 mr-foobar joined #perl6
13:34 timotimo i found out using dbus-monitor and busctl that this music player claims it "CanPause", but when you send "Pause" it just does nothing
13:34 lukaramu_ joined #perl6
13:39 timotimo it was very easy to put the Pause functionality in, yay
13:57 IOninja m: my $x = 'foobarfoomeowfoo'; for $x.match(/foo/) { .say }
13:57 camelia rakudo-moar 21d1f7: ( no output )
13:57 IOninja I kinda expected that ^ to loop at least once :/
13:58 IOninja Ahhh. Never mind.
13:58 IOninja m: my $x = 'foobarfoomeowfoo'; dd $x.match(/foo/).List
13:58 camelia rakudo-moar 21d1f7: OUTPUT: «()␤»
13:58 IOninja m: my $x = 'foobarfoomeowfoo'; dd $x.match(/(foo)/).List
13:58 camelia rakudo-moar 21d1f7: OUTPUT: «(Match.new(ast => Any, list => (), hash => Map.new(()), to => 3, orig => "foobarfoomeowfoo", from => 0),)␤»
13:59 jnthn m: my $x = 'foobarfoomeowfoo'; for $x.match(/foo/, :g) { .say }
13:59 camelia rakudo-moar 21d1f7: OUTPUT: «「foo」␤「foo」␤「foo」␤»
13:59 IOninja doh
13:59 IOninja jnthn++
14:03 Ven` I'm not sure why it doesn't match on the first one?
14:03 Ven` (I mean, without :g)
14:03 IOninja It does
14:04 IOninja But in there ain't no positional captures, so in list form it's an empty list
14:04 IOninja m: my $x = 'foobarfoomeowfoo'; for $$x.match(/foo/) { .say }
14:04 camelia rakudo-moar 21d1f7: ( no output )
14:04 IOninja heh
14:05 gdonald joined #perl6
14:05 Ven` m: say 'foo'.match(/foo/).List
14:05 camelia rakudo-moar 21d1f7: OUTPUT: «()␤»
14:05 IOninja m: my $x = 'foobarfoomeowfoo'; for $x.match(/foo/), { .say }
14:05 camelia rakudo-moar 21d1f7: OUTPUT: «5===SORRY!5===␤Expression needs parens to avoid gobbling block␤at <tmp>:1␤------> 3omeowfoo'; for $x.match(/foo/), { .say }7⏏5<EOL>␤Missing block (apparently claimed by expression)␤at <tmp>:1␤------> 3omeowfoo'; for $x.match(/foo/)…»
14:05 Ven` m: say 'foo'.match(/foo/).List[0].perl
14:05 camelia rakudo-moar 21d1f7: OUTPUT: «Nil␤»
14:05 Ven` m: say 'foo'.match(/foo/)[0].perl
14:05 IOninja m: my $x = 'foobarfoomeowfoo'; for ($x.match(/foo/),) { .say }
14:05 camelia rakudo-moar 21d1f7: OUTPUT: «Nil␤»
14:05 camelia rakudo-moar 21d1f7: OUTPUT: «「foo」␤»
14:05 IOninja m: my $x = 'foobarfoomeowfoo'; for ($x.match(/foo/),) { .say }
14:05 camelia rakudo-moar 21d1f7: OUTPUT: «「foo」␤»
14:05 Ven` ô.o
14:05 IOninja there we go. And in this case it loops over a list with enitre match object
14:06 Ven` okay, I understand now. It returns a match. The for coerces the match to a list, which is empty because no capture.
14:07 timotimo yah, single-arg and all that
14:07 Ulti what are the chances of compiling MoarVM to WebAssembly? http://webassembly.org/getting-started/developers-guide/
14:07 Ven` Util: need to compile all deps first
14:07 Ulti guess its basically the same answer as if trying to do it with Emscripten
14:08 Ven` timotimo: well, not really single-arg here. Don't `for` on stuff that aren't lists, or they're gonna get coerced to Lists
14:08 timotimo if you can somehow get libuv to compile with emscripten, we're a very big step towards getting it to work
14:08 timotimo for some reason (gosh, i can't imagine why) nobody ever tried to emscripten libuv
14:08 Ulti heh
14:09 IOninja what's the reason?
14:09 timotimo libuv is what powers nodejs
14:09 timotimo so "why would you want to emscripten libuv? that's already what javascript is!!"
14:09 IOninja Ah
14:09 Ulti well I've seen all of Linux running in browser then running dosbox games via asm.js
14:10 Ulti I assume that took someone a lot of headaches to do
14:10 IOninja I've seen Windows98 running in browser...
14:10 IOninja :o
14:10 Ulti :hot: hopefully 98 SE
14:10 Ulti I've seen Windows RG running in browser
14:10 timotimo i hope you had a valid windows 98 license
14:13 ugexe IOninja: yeah smoke is still super bad, and its not easy to integrate it into zefs workflow without being a giant hack. Its slow because it needs to spawn a new process for each distribution it tries to install because NativeCall modules somehow could crash in such a way that it would ruin the test results for all modules installed after it.
14:13 yoleaux 13:31Z <IOninja> ugexe: note that I ended up writing my own script to smoke the dists, so no rush on all the smoke Issues I opened on zef :}
14:14 ugexe As for modules being installed - so zef (and panda) did not give a summary report after a smoke. It just submits a test report for each item it tries to install. Long ago zef did not install the modules it smoke tested (they were all run with --dry), but this resulted in smoke testing taking way too long.
14:15 ugexe Mind you it used to take too long (as in they would be canceled before complete) to build rakudo and run zef's appveyor tests when this was all worked on around 2016.01
14:15 ugexe so these speed concerns may not be so anymore
14:16 ugexe Ultimately I think I need some sort of CompUnit::Repository::Smoker
14:17 itaipu joined #perl6
14:17 ugexe IOninja: you mentioned earlier that `zef test` gave you a false positive on something earlier though?
14:18 timotimo ugexe: maybe it'll be enough to fork rather than to exec? :P
14:18 IOninja ugexe: yeah, and it worked fine after I disabled the TAP::Harness plugin. This was on 2017.02 Rakudo, so I dunno, does that one still have a bug in TAP::Harness?
14:18 ugexe (i'll note it in the issue later, but you can disable/enable anything in the config by doing `--<short-name>` or `--/<short-name>`, where short-name is an optional field you'll see for a bunch of items in the config
14:19 IOninja If not, then the second case would be zef not checking for exit code of tests (so crashed tests aren't detected)
14:19 IOninja Cool. Thanks.
14:19 ugexe Did you catch if it was a specific module, or did you notice it happened for more than one?
14:20 IOninja ugexe: zef install Testing;
14:20 as_ joined #perl6
14:20 IOninja That module. And it does get caught by prove or if I tell zef not to use Test::Harness
14:20 as_ rakudo: printf "%G %G %G %G", 0.000001, 1e-6, 100000000, 1e8
14:20 camelia rakudo-moar 21d1f7: OUTPUT: «1e-06 1e-06 1E+08 1E+08»
14:20 spebern joined #perl6
14:20 IOninja One of the tests crashes with broken .splice() call.
14:21 IOninja as_: heh
14:21 ugexe ah i see. (and yeah it worked with --/tap-harness)
14:22 IOninja as_: there's a whole bunch of printf tickets on perl6.fail please report that one unless it's already reported.
14:24 IOninja huggable: rakudobug
14:24 huggable IOninja, Report bugs by emailing to rakudobug@perl.org
14:24 ugexe I'm not sure you will be able to speed things up much with concurrency yet... the file locks for CUR would keep things waiting a lot I think
14:24 ugexe But I was talking to nine the other day about making the locks more fine grained
14:24 IOninja ugexe: I was kinda thinking of using different --install-to for each module. Would that help?
14:25 cdg joined #perl6
14:25 ugexe IOninja: I *think*, although i'm not sure if you'll still get stuck on locks from ~/.perl6
14:25 skids joined #perl6
14:27 rindolf joined #perl6
14:27 araraloren joined #perl6
14:28 as_ good :)
14:29 IOninja I got this text file: http://fpaste.scsys.co.uk/557525
14:29 IOninja $ perl6 -e '"```{$_.[0]}```".say for "foo211676108.txt".IO.slurp.match(:g, /^^ "t/"( \d+ \N+? ".t") \s* '.'+ \s* "Failed"/)'
14:29 IOninja ```01-sanity/01-literals.t```
14:29 IOninja Why does that match 01-sanity/01-literals.t in the capture and not actually the line with the Failed test, which is t/04-nativecall/08-callbacks.t ........... Failed 5/8 subtests
14:31 Ven` \s* doesn't match newlines, right?
14:31 IOninja m:g/^^ (\N+) "Failed"/ does match the callbacks line (but also other stuff). I don't get how that regex matches multi lines
14:31 wamba joined #perl6
14:31 IOninja Ven`: it does
14:32 m44st4 joined #perl6
14:32 Ven` m: say "\n".match(:g, /\s/);
14:32 camelia rakudo-moar 21d1f7: OUTPUT: «(「␤」)␤»
14:33 IOninja this still matches the wrong line: m:g/^^ "t/"( \d+ \N+? ".t") <[\s] - [\n]> '.'+ <[\s] - [\n]> "Failed"/
14:34 IOninja OHMAHGAWD
14:34 IOninja dam shell quoting and single quotes in my regex made that '.' a regex metachar
14:34 Ven` ooh. I was going to ask about the whole match...
14:35 Ven` .oO( Bah, shell really doesn't understand sublangs! )
14:38 mcsnolte joined #perl6
14:39 ugexe `zef look Testing` followed by `prove6 t/` shows test failures but `echo $?` is 0 (so it is indeed TAP::Harness)
14:40 IOninja Aha. Cool. I'll take a look at that before the release.
14:40 IOninja ugexe: wait, what's `prove6`?
14:40 ugexe zef install TAP::Harness, then using the prove6 provided by it
14:41 IOninja Ohhh, that module is outdated.
14:41 IOninja With several bugs that are fixed in rakudo's TAP::Harness
14:41 ugexe ah
14:41 IOninja (though, I don't think any of them have been reported to that module :/)
14:43 mr-foobar joined #perl6
14:47 buggable joined #perl6
14:47 Cabanossi joined #perl6
14:48 itaipu joined #perl6
14:50 eroux joined #perl6
14:53 bjz joined #perl6
14:57 kurahaupo__ joined #perl6
15:10 cdg joined #perl6
15:20 raschipi joined #perl6
15:26 khw joined #perl6
15:34 m44st4 hello
15:34 m44st4 how can i convert a hex string "68656c6c6f" in it representation is ASCII "hello" ?
15:35 IOninja m: "68656c6c6f".comb(2)».parse-base(16)».chr.join.say
15:35 camelia rakudo-moar 21d1f7: OUTPUT: «hello␤»
15:36 m44st4 thanks!
15:36 timotimo mst is quite numerous today
15:36 timotimo .o( overnumerousness? )
15:37 IOninja .comb(2) (split in bits of 2 chars); ».parse-base(16) (convert each 2-char bit from hex to number); ».chr (convert each number to char); .join (join the bits together)
15:37 IOninja :)
15:37 m44st4 This is clear, thank you! :)
15:44 st_elmo joined #perl6
15:46 mr-foobar joined #perl6
16:22 eroux joined #perl6
16:25 m44st4 one last question, i don't really understand the power of Blob, how can i use the "pack" fonction from perl5 in perl6 ?
16:26 timotimo "use experimental :pack" :\
16:28 m44st4 it's the only one solution?
16:28 ugexe https://github.com/lizmat/PackUnpack ?
16:29 mcmillhj joined #perl6
16:29 m44st4 I will try
16:29 m44st4 thanks
16:37 IOninja m: class Foo { has Str:D $!id; submethod TWEAK () {$!id = self.WHICH} }.new
16:37 camelia rakudo-moar 21d1f7: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable definition of type Str:D requires an initializer␤at <tmp>:1␤------> 3class Foo { has Str:D $!id7⏏5; submethod TWEAK () {$!id = self.WHICH}␤    expecting any of:␤        constraint␤»
16:38 IOninja Really wish the :D stuff was a bit smarter :/
16:38 IOninja 80% of the time I have to remove it because it's on an attribute or optional named param
16:40 timotimo :\
16:41 IOninja I always hated the term "smoke"... Smoking is bad. I'm gonna come up with a new term.
16:41 timotimo what prevents you from putting self.WHICH into the initializer for $!id there?
16:42 IOninja timotimo: ah, right. I thought the self there would be the class not the instance.
16:43 timotimo nah, we thunk it for you
16:43 IOninja cool
16:45 mcmillhj joined #perl6
16:58 lucs IOninja: You don't like smoked meat? :)
17:00 IOninja No opinion of it.
17:00 geekosaur smoke testing, as in "when you power it up, does it  start spewing smoke?"
17:01 geekosaur so yes, smoke *is* bad here :p
17:01 raschipi Yes, it's not good when the magic smoke leaks.
17:01 geekosaur (build your own amateur radio gear --- or your own computer gear --- and you get to know that one literally. yes, I've done both.)
17:02 mcmillhj joined #perl6
17:02 raschipi Any electronics, really.
17:03 Cabanossi joined #perl6
17:03 timotimo some electronics make it far easier to experience the magic of magic smoke :)
17:04 geekosaur power capacitors, really
17:05 raschipi And voltage regulators.
17:05 timotimo raindrops on roses, smoke from capacitors, bright copper kettles, sparks from voltage regulators ~
17:09 mcmillhj joined #perl6
17:09 lostinfog joined #perl6
17:12 timotimo where is this doc/perlintro.pdf that was just mentioned on the mailing list?
17:12 timotimo BBIAB
17:12 IOninja R*
17:12 timotimo ah
17:13 timotimo apparently it suggests using rakudobrew; is that from perl6intro.com, then?
17:13 IOninja Oh yeah, it was updated recently
17:13 IOninja likely after the 2017.01 R* release
17:14 nine [Coke]: regarding :from<perl5>. That might even warrant an extension of the CompUnit::Repository interface. Right now all you get is a "module not found" message, but no indication that there's not even a repo that would support your :from.
17:14 Sound joined #perl6
17:14 timotimo OK
17:15 mcmillhj joined #perl6
17:15 domidumont joined #perl6
17:16 IOninja Yeah, just checked, R* 2017.01 packs the version with rakudobrew instructions, and on the live site that section is gone: http://perl6intro.com/#_installing_perl_6
17:19 timotimo fantastic
17:19 timotimo if you allow me, i'll respond to that mailing list thread with a note to that effect
17:20 domidumont joined #perl6
17:21 IOninja Go ahead. I don't think I'm subbed to that mailing list at all :)
17:23 moritz IOninja: fwiw perl6-all-modules has been updated
17:24 IOninja moritz++ thanks. I'll make use of it in 6 hours
17:25 IOninja didn't realize perl.perl6.users mailing list was this busy...
17:26 IOninja \o/ users \o/
17:27 zakharyas joined #perl6
17:29 SmokeMachine Hi! im fix this bug: #130610 with this change: https://github.com/FCO/rakudo/commit/10f5f74452861f1c8b1cf05fce0b933e2a7420b4 and this test: https://github.com/FCO/roast/commit/d60872099161635049c660627988daffe3fef022 is that ok? should I PR?
17:29 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130610
17:30 domidumont joined #perl6
17:31 lizmat joined #perl6
17:32 IOninja SmokeMachine: what does `.say for [\,] <a b>, <c d>, <e f>;` give in your version?
17:33 Cabanossi joined #perl6
17:35 SmokeMachine IOninja: https://www.irccloud.com/pastebin/7jp3JMxc/
17:35 IOninja SmokeMachine: does it pass the spectest?
17:35 SmokeMachine yes
17:36 SmokeMachine In didn't run the stress tests...
17:36 SmokeMachine *I
17:36 IOninja SmokeMachine: yeah, PR it.
17:36 SmokeMachine :)
17:37 IOninja SmokeMachine: what's your username (email?) on RT. I can give you ticket-managing privs
17:37 SmokeMachine IOninja: FCO
17:39 IOninja SmokeMachine: on RT? I see all other users have emails not a nick
17:39 SmokeMachine IOninja: sorry! RT! Im not sure that I have user on RT...
17:39 IOninja Get one.
17:40 SmokeMachine Bitcard account?
17:40 IOninja I think so
17:41 IOninja m: use Test; is-deeply ([,] 1, 2, 3), (1, 2, 3).Seq
17:41 camelia rakudo-moar 21d1f7: OUTPUT: «ok 1 - ␤»
17:41 IOninja m: use Test; is-deeply ([,] 1, 2, 3), $(1, 2, 3)
17:41 camelia rakudo-moar 21d1f7: OUTPUT: «ok 1 - ␤»
17:41 IOninja huh
17:41 IOninja m: dd WHAT $(1, 2, 3)
17:41 camelia rakudo-moar 21d1f7: OUTPUT: «List␤»
17:41 IOninja m: use Test; is-deeply ([,] 1, 2, 3), (1, 2, 3)
17:41 camelia rakudo-moar 21d1f7: OUTPUT: «ok 1 - ␤»
17:42 IOninja oh crap
17:42 IOninja m: use Test; is-deeply (), ().Seq
17:42 camelia rakudo-moar 21d1f7: OUTPUT: «ok 1 - ␤»
17:42 SmokeMachine IOninja: smokemachine/fernandocorrea@gmail.com
17:42 IOninja m: say  () eqv ().Seq
17:42 camelia rakudo-moar 21d1f7: OUTPUT: «False␤»
17:43 IOninja is-deeply is broken
17:43 IOninja m: dd WHAT ([,] 1, 2, 3)
17:43 camelia rakudo-moar 21d1f7: OUTPUT: «List␤»
17:43 IOninja m: dd WHAT ([\,] 1, 2, 3)
17:43 camelia rakudo-moar 21d1f7: OUTPUT: «Seq␤»
17:43 IOninja Why one's a Seq and another's a List?
17:43 IOninja SmokeMachine: how did you end up with all the $$$ in your test?
17:44 SmokeMachine IOninja: I copied from terminal...
17:45 IOninja SmokeMachine: How did you end up with $$$ in your terminal?
17:46 timotimo holla holla get dolla
17:46 IOninja SmokeMachine: OK. I think you should be able be a bug admin on tickets now.
17:47 IOninja And remember: all bug fixes need to be accomapied with tests covering them before a ticket can be closed.
17:48 eroux joined #perl6
17:49 timotimo though it is acceptable to only implement some stuff and let someone else write tests
17:49 SmokeMachine :)
17:49 IOninja Yeah, just mark as tests needed.
17:50 SmokeMachine IOninja: I did is-deeply with nothing and it told me what was different...
17:50 IOninja You can either go to "Basics" (or "Jumbo") and preprend "[TESTNEEDED]" to the title or go to "Basics" (or "Jumbo") and click on "testsneeded" tag to swap the tag
17:51 IOninja m: use Test; is-deeply (1, (2, 3).Seq).Seq, ""'
17:51 camelia rakudo-moar d56501: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3 Test; is-deeply (1, (2, 3).Seq).Seq, ""7⏏5'␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤   …»
17:51 cowens joined #perl6
17:51 IOninja m: use Test; is-deeply (1, (2, 3).Seq).Seq, ""
17:51 camelia rakudo-moar d56501: OUTPUT: «not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: ""␤#      got: $(1, (2, 3).Seq)␤»
17:51 cowens left #perl6
17:51 IOninja SmokeMachine: it don't seem to include $ inside?
17:52 IOninja SmokeMachine: the way I do it is just `dd` (or `.perl`) the thing and use that...
17:52 IOninja m: (1, (2, 3).Seq).Seq.perl.say
17:52 camelia rakudo-moar d56501: OUTPUT: «(1, (2, 3).Seq).Seq␤»
17:52 SmokeMachine # expected: ""
17:52 SmokeMachine #      got: $(($("a", "b"),), ($("a", "b"), $("c", "d")), ($("a", "b"), $("c", "d"), $("e", "f")))
17:53 IOninja SmokeMachine: oh, my bad.
17:59 sufrostico joined #perl6
17:59 cowens joined #perl6
17:59 sufrosti1o joined #perl6
18:01 IOninja m: my $s = (1,).Seq; my $s2 = (2,).Seq; say $s.clone eqv $s2.clone; dd [ $s, $s2 ]
18:01 camelia rakudo-moar d56501: OUTPUT: «False␤[().Seq, ().Seq]␤»
18:01 IOninja heh
18:02 IOninja m: my $s = (1,).Seq; my $s2 = (2,).Seq; my $res = $s.cache; my $res2 = $s2.cache; say $s eqv $s2; dd [ $res, $res2 ]
18:02 camelia rakudo-moar d56501: OUTPUT: «This Seq has already been iterated, and its values consumed␤(you might solve this by adding .cache on usages of the Seq, or␤by assigning the Seq into an array)␤  in block <unit> at <tmp> line 1␤␤»
18:02 IOninja Can't have a cake and eat it too?
18:03 DrForr The cache is a lie.
18:03 IOninja I want to `eqv` a Seq against something as a Seq and not a List, but also to `say` it once afterwards.
18:05 IOninja m: use Test; is-deeply ((1).Seq,), ((2).Seq,)
18:05 camelia rakudo-moar d56501: OUTPUT: «No such method 'Seq' for invocant of type 'Int'␤  in block <unit> at <tmp> line 1␤␤»
18:05 IOninja m: use Test; is-deeply ((1,).Seq,), ((2,).Seq,)
18:05 camelia rakudo-moar d56501: OUTPUT: «not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: $(Seq.new-consumed(),)␤#      got: $(Seq.new-consumed(),)␤»
18:05 IOninja Great. Well, tis broken anyway.
18:06 andreoss joined #perl6
18:06 IOninja Guess, I'll just revert the Seq candidates
18:06 andreoss m: my @a = lazy [1,2,3 ... Inf, fail "hi"]; @a[0..2].say
18:06 camelia rakudo-moar d56501: OUTPUT: «hi␤  in block <unit> at <tmp> line 1␤␤»
18:06 andreoss how to die lazily?
18:06 andreoss or rather fail
18:07 IOninja Stop eating and drinking? :P
18:10 unclechu hey guys, can i get value from scoped block, like this: `my $foo = { my $bar = 10; $bar += 5; $bar};`
18:11 IOninja andreoss: unrelated to your question: you're first eagerly evaluating everything into an array and then making it lazy. Toss the square brackets.
18:11 andreoss m: my @a = lazy gather { take $_ for 1..Inf ; take fail "hi"} ; @a[0..2].say
18:11 camelia rakudo-moar d56501: OUTPUT: «(1 2 3)␤»
18:11 unclechu for example if i want to mess with some few variables but don't want them out of local scope
18:11 IOninja unclechu: call it. {}()
18:11 andreoss unclechu: my $foo = do { ... }
18:11 IOninja m: my $foo = { 2+2 }(); say $foo
18:11 camelia rakudo-moar d56501: OUTPUT: «4␤»
18:11 IOninja Or do
18:11 unclechu okay, thanks
18:12 SmokeMachine IOninja: how do I close that ticket (assuming that test is ok)
18:12 xinming_ joined #perl6
18:12 IOninja SmokeMachine: on RHS "Actions -> resolve"
18:13 raschipi He doesn't want to solve it, he wants to close it. They're very different things
18:13 SmokeMachine whats rhs?
18:13 [Coke] rhs = right hand side
18:13 andreoss sqaure brackets are always eager?
18:13 IOninja raschipi: and back in the real world people use thing thing called "context" to understand what people want to do
18:13 raschipi I do tech support and let me tell you, closing a ticket on no way means it was solved.
18:14 IOninja andreoss: I think they're mostly-eager
18:14 IOninja m: $ = [1..Inf]; say "hi"
18:14 camelia rakudo-moar d56501: OUTPUT: «hi␤»
18:14 IOninja yup
18:15 andreoss so how can i have something failing inside a lazy list?
18:15 IOninja andreoss: your gather/take example looked good to me.
18:15 andreoss except gather/take
18:16 IOninja andreoss: why except?
18:16 SmokeMachine [Coke]: thanks!
18:16 andreoss gather/take is wordy
18:17 IOninja m: my @a = lazy 1,{with .succ { $_ == 10 ?? fail "meow" !! $_ }} ... 10; .say for @a[^5]
18:17 camelia rakudo-moar d56501: OUTPUT: «1␤2␤3␤4␤5␤»
18:17 IOninja m: my @a = lazy 1,{with .succ { $_ == 10 ?? fail "meow" !! $_ }} ... 10; .say for @a
18:17 camelia rakudo-moar d56501: OUTPUT: «1␤2␤3␤4␤5␤6␤7␤8␤9␤meow␤  in block  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
18:18 andreoss but why `lazy [1,2,3,fail]` doesn't work?
18:18 IOninja andreoss: because it's called right away
18:19 andreoss it does, [...] in repl focused me
18:20 andreoss s/focused/confused/
18:20 timotimo REPL isn't so fantastic for trying out lazy stuff
18:21 IOninja m: my @a = lazy 1,2,4 ... { $_ == 2**4 and fail "meow" }; .say for @a[^3]
18:21 camelia rakudo-moar d56501: OUTPUT: «1␤2␤4␤»
18:21 IOninja m: my @a = lazy 1,2,4 ... { $_ == 2**4 and fail "meow" }; .say for @a[^10]
18:21 camelia rakudo-moar d56501: OUTPUT: «meow␤  in block <unit> at <tmp> line 1␤␤»
18:21 SmokeMachine IOninja: sorry... but I can't find it...
18:21 IOninja weird that dies right away.
18:22 gdonald joined #perl6
18:22 * IOninja has "figure out and document all the ways you can use SEQUENCE" on the TODO list.
18:22 * IOninja & # work
18:25 andreoss m: my @a = lazy 1, {with .succ { $_ > 10 ?? fail("hi") !! $_ } } ... 10; say @a[^11]
18:25 camelia rakudo-moar d56501: OUTPUT: «(1 2 3 4 5 6 7 8 9 10 (Any))␤»
18:25 andreoss m: my @a = lazy 1, {with .succ { $_ > 10 ?? fail("hi") !! $_ } } ... 10; say @a[^10]
18:25 camelia rakudo-moar d56501: OUTPUT: «(1 2 3 4 5 6 7 8 9 10)␤»
18:26 andreoss m: my @a = lazy 1, {with .succ { $_ > 10 ?? day("hi") !! $_ } } ... 10; say @a[^11]
18:26 camelia rakudo-moar d56501: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    day used at line 1. Did you mean 'say'?␤␤»
18:26 andreoss m: my @a = lazy 1, {with .succ { $_ > 10 ?? die("hi") !! $_ } } ... 10; say @a[^11]
18:26 camelia rakudo-moar d56501: OUTPUT: «(1 2 3 4 5 6 7 8 9 10 (Any))␤»
18:26 cibs joined #perl6
18:28 andreoss m: my @a = lazy gather { take $_ for 1..10 ; take fail "hi"} ; @a[^10].say
18:28 camelia rakudo-moar d56501: OUTPUT: «(1 2 3 4 5 6 7 8 9 10)␤»
18:28 andreoss m: my @a = lazy gather { take $_ for 1..10 ; take fail "hi"} ; @a[^11].say
18:28 camelia rakudo-moar d56501: OUTPUT: «hi␤  in block <unit> at <tmp> line 1␤␤»
18:29 andrzejku joined #perl6
18:30 gdonald joined #perl6
18:30 andreoss left #perl6
18:43 eroux joined #perl6
18:54 IOninja m: my @a = lazy gather { take $_ for 1..10 ; take Failure.new: "hi"} ; $ = @a[11]
18:54 camelia rakudo-moar d56501: OUTPUT: «hi␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
18:54 IOninja would've figured taking a failure ain't fatal....
18:54 IOninja But what I was gonna say, no need for that last take.
18:55 IOninja m: my @a = lazy gather { take $_ for 1..10 ; fail "hi" } ; .say for @a
18:55 camelia rakudo-moar d56501: OUTPUT: «1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤hi␤  in block <unit> at <tmp> line 1␤␤»
18:58 unclechu what is the difference between anonymous subroutine and lambda-function in perl6?
18:58 timotimo "return" will go through anonymous blocks
19:02 unclechu timotimo: this http://pastebin.com/MZLed1tF looks like it wont
19:03 unclechu if i understand you correctly
19:03 agentzh joined #perl6
19:05 IOninja unclechu: what's a lambda-function in  Perl 6?
19:05 jjido joined #perl6
19:05 gfldex pointy block
19:05 IOninja Why pointy specifically?
19:06 unclechu IOninja: `-> ($x) {$x * 2}`
19:06 unclechu an example
19:06 gfldex because he doesn't know that a block is a Block
19:06 IOninja he?
19:06 gfldex unclechu: you may want to read: https://docs.perl6.org/type/Block
19:06 IOninja m: sub foo { { return $^x² }(42); say "hi" }; say foo
19:06 camelia rakudo-moar d56501: OUTPUT: «1764␤»
19:07 IOninja unclechu: timotimo++ meant if you try to use `return` inside a block, it'll mean the return for the sub ^ that wraps it (and if there ain't no sub, it'll throw an error)
19:07 IOninja unclechu: the easy version is "you can't return from a block" :)
19:08 timotimo (you're supposed to be able to leave a block though)
19:08 IOninja unclechu: explicitly that is. The last statement's value will be used as a return value.
19:08 IOninja timotimo: how?
19:08 girafe joined #perl6
19:08 timotimo when "leave" is implemented :)
19:08 IOninja Ah.
19:08 IOninja m: { leave; say "hi" }()
19:08 camelia rakudo-moar d56501: OUTPUT: «leave not yet implemented. Sorry. ␤  in block <unit> at <tmp> line 1␤␤»
19:10 Geth ¦ doc: de8a2d33b0 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Block.pod6
19:10 Geth ¦ doc: link to Signature
19:10 Geth ¦ doc: review: https://github.com/perl6/doc/commit/de8a2d33b0
19:12 unclechu thanks for the explanation and for the link
19:13 * DrForr pokes at the ecosystem - Perl6::Parser seems not to be found in either panda or zef - I recently replaced META.info with META6.json. (recently as in 2 minutes ago.)
19:13 stmuk_ zef update?
19:13 DrForr First thing I did.
19:13 IOninja buggable: eco
19:13 stmuk_ :)
19:13 buggable IOninja, Out of 801 Ecosystem dists, 0 have warnings, 116 have errors, and 685 have no tags in META file. See https://modules.perl6.org/update.log for details
19:13 IOninja holy shit...
19:14 IOninja uh-oh. Some guy named Zoffix messed stuff up.
19:14 RabidGravy bOOM!
19:14 yoleaux 00:21Z <IOninja> RabidGravy: sent a PR to fix HTTP::UA: https://github.com/sergot/http-useragent/pull/166
19:14 RabidGravy Indeed you did
19:14 RabidGravy merged and everything ;-)
19:15 DrForr Good thing he's not around, or he might get a nastygram.
19:15 espadrine joined #perl6
19:15 IOninja DrForr: actually your issue seems unrelated. I see Perl6::Parser on the site
19:15 IOninja buggable: eco Perl6::Parser
19:15 buggable IOninja, Perl6::Parser 'Perl 6 parsing': https://github.com/drforr/perl6-Perl6-Parser
19:16 DrForr Incidentally am I correct that META6.json is the new META.info?
19:16 IOninja Yes
19:16 * IOninja tries to run zef install Perl6::Parser
19:16 gfldex it may not have put it into the big json file yet, that job runs 3x an hours
19:16 DrForr I just created a brand new VM with naught but rakudobrew, zef and panda.
19:17 IOninja DrForr: I'll use this opportunity that you use Test::META :)
19:17 DrForr I suppose I could just use regular rakudo to mimic normal users of th ecosystem.
19:17 IOninja buggable: eco Test::META
19:17 buggable IOninja, Test::META 'Test a distributions META file': https://github.com/jonathanstowe/Test-META
19:17 IOninja DrForr: http://ecosystem-api.p6c.org/errors.json
19:17 gfldex that one http://ecosystem-api.p6c.org/projects.json
19:18 DrForr I dropped META.info for META6.json a few minutes ago, that's probably outdated.
19:18 IOninja DrForr: err, that still lists META.info... Did you update ecosystem/META.list?
19:19 Geth ¦ ecosystem: 0c2d4f0eee | (Zoffix Znet)++ | META.list
19:19 Geth ¦ ecosystem: Fix Perl6::Parser META url
19:19 Geth ¦ ecosystem: review: https://github.com/perl6/ecosystem/commit/0c2d4f0eee
19:20 DrForr Oh, no, hadn't done that.
19:20 DrForr Right, fixing.
19:20 IOninja DrForr: and when it shows up on http://ecosystem-api.p6c.org/projects.json , zef should be able to find it again
19:21 stmuk_ I think zef uses its own json feed
19:22 IOninja DrForr: AND fix the JSON error: https://github.com/drforr/perl6-Perl6-Parser/pull/7
19:23 DrForr Grr. re: commas.
19:24 DrForr Merged.
19:25 IOninja And I'll fix the UNIQ conflict in the DB in ~4 hours. That affects only failure to update info on already existing dists.
19:25 * IOninja &
19:26 DrForr I'll try again in an hour or so.
19:27 RabidGravy maybe we could stick a webhook on the modules repository to trigger the build
19:27 IOninja It runs frequently enough as it is (I believe every 15 minutes)
19:27 ufobat joined #perl6
19:28 stmuk_ https://github.com/ugexe/Perl6-ecosystems/commits/master
19:28 IOninja this one I mean: http://ecosystem-api.p6c.org/projects.json
19:29 stmuk_ "ecosystems" ;)
19:30 IOninja ?
19:30 stmuk_ well since there is more than one!
19:31 IOninja "@zoffix btw do you think the Perl community would be interested in adding support on Repl.it?"
19:31 IOninja https://twitter.com/replit/status/842457448208261122
19:31 stmuk_ zef updates every 30 mins
19:33 Cabanossi joined #perl6
19:33 DrForr Wow, positive feedback.
19:33 timotimo DrForr: i'm excited to see what perl6::tidy will become in the near future :)
19:34 DrForr Speaking of positive feedback :)
19:34 DrForr I'm actually writing brace styles right now.
19:35 timotimo nice
19:35 timotimo how many options are there? :D
19:36 DrForr 8 taken from Wikipedia, I'm going to write those up before I figure out how to notate the custom options.
19:38 stmuk_ DrForr: it's probably safer to use https style github urls in that META6.json
19:38 DrForr I just stole a file from elsewhere.
19:40 DrForr But thanks for the comment, fixing.
19:42 DrForr Ah, there we go re: zef, but the problem you just mentioned bit me.
19:46 moritz masak: I think you might enjoy https://aphyr.com/posts/340-acing-the-technical-interview (no, it's not really about the technical interview)
19:48 * DrForr follows along with the Polish subtitles to /Passengers/ in preparation for stopping off in Warsaw on the way to OSDays.
19:48 timotimo does the wikipedia also have tux' style?
19:50 DrForr No idea, he can petitiion with a PR :)
19:50 * moritz will go to Norway tomorrow, and might have limited Internet access
19:50 [Coke] m: sub a (Str $i) {$i}; my @b = <a b cd>; say @b.first("b" eq *)
19:50 camelia rakudo-moar d56501: OUTPUT: «b␤»
19:51 DrForr Headed to Copenhagen myself, never been there.
19:51 [Coke] m: sub a (Str $i is copy) {$i}; my @b = <a b cd>; say @b.first("b" eq *)
19:51 camelia rakudo-moar d56501: OUTPUT: «b␤»
19:52 [Coke] m: sub a (Str $i is copy) {$i}; my @b = <a b cd>; say @b.first("b" eq *.Str)
19:52 camelia rakudo-moar d56501: OUTPUT: «b␤»
19:52 [Coke] ... with a longer program here, I get the eqv of "Calling a(WhateverCode) will never work with declared signature"
19:52 [Coke] ... I'm not calling a. dammit.
19:52 [Coke] m: sub a (Str $i is copy) {$i}; my @b = <a b cd>; say @b.first("b" eq a *.Str)
19:52 camelia rakudo-moar d56501: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Calling a(WhateverCode) will never work with declared signature (Str $i is copy)␤at <tmp>:1␤------> 3; my @b = <a b cd>; say @b.first("b" eq 7⏏5a *.Str)␤»
19:54 cdg joined #perl6
19:57 jnthn [Coke]: Arguments to functions don't auto-curry
19:58 jnthn m: sub a (Str $i is copy) {$i}; my @b = <a b cd>; say @b.first("b" eq *.Str.&a)
19:58 camelia rakudo-moar d56501: OUTPUT: «b␤»
19:58 jnthn Or do it with curlies :)
20:01 timotimo DrForr: got a clue how you'd want to support something like Slang::Tuxic?
20:04 DrForr Not really. I wanted to get a bit farther along, but I suppose it's time to think about that.
20:04 DrForr Or at least I've got enough infrastructure in place.
20:10 timotimo neato
20:13 IOninja .ask moritz perhaps this can be retweeted to 6Feed? Not really sure what they do; some sort of code eval site or something; asking if we'd find it valuable if they added Perl [6]: https://twitter.com/replit/status/842466109257273344?s=09
20:13 yoleaux IOninja: I'll pass your message to moritz.
20:14 moritz .
20:14 yoleaux 20:13Z <IOninja> moritz: perhaps this can be retweeted to 6Feed? Not really sure what they do; some sort of code eval site or something; asking if we'd find it valuable if they added Perl [6]: https://twitter.com/replit/status/842466109257273344?s=09
20:17 DrForr Is there any reason in particular why when typing a method name like 'rotor' into the search box on doc.perl6.org, the exact match appears at the bottom of the list? I imagine it's categorizing, but it also means you have to click on the entry because <ret> sends you to teh wrong page.
20:19 sena_kun DrForr, there is no particular reason, just our search is *very* simple. There are tickets around about it's improvement, but nobody has enough time yet.
20:19 sena_kun *its
20:20 sena_kun DrForr, like https://github.com/perl6/doc/issues/247 or https://github.com/perl6/doc/issues/296
20:20 DrForr Understood, no worries.
20:20 [Coke] DrForr: https://github.com/perl6/doc/issues?utf8=%E2%9C%93&amp;q=is%3Aissue%20is%3Aopen%20label%3Asearch
20:20 [Coke] please feel free to add any other bugs/nice to haves you find that aren't there.
20:20 [Coke] we'll get 'em eventually.
20:21 DrForr Already there at the bottom of the list.
20:25 itaipu joined #perl6
20:35 itaipu joined #perl6
20:35 bjz joined #perl6
20:37 Rawriful joined #perl6
20:44 AlexDaniel joined #perl6
20:45 jjido joined #perl6
20:48 Cabanossi joined #perl6
21:08 labster joined #perl6
21:16 cognominal joined #perl6
21:20 param joined #perl6
21:22 sufrostico joined #perl6
21:22 sufrosti1o joined #perl6
21:26 wamba joined #perl6
21:29 IOninja DrForr: side note: you can use arrow keys to navigate to right entry
21:33 sufrostico joined #perl6
21:34 IOninja BTW: t/fudgeandrun S02-types/range.t   works. No need to prepend t/spec to filename
21:34 sufrosti1o joined #perl6
21:40 ggoebel joined #perl6
21:40 gdonald joined #perl6
21:41 sufrostico joined #perl6
21:42 sufrosti1o joined #perl6
21:47 Cabanossi joined #perl6
21:49 mcmillhj joined #perl6
21:49 bjz joined #perl6
21:50 AlexDaniel m: say 2.5 lcm 5
21:50 camelia rakudo-moar d56501: OUTPUT: «10␤»
21:50 AlexDaniel um… huh…
21:50 AlexDaniel all: say 2.5 lcm 5
21:50 committable6 AlexDaniel, ¦all (38 commits): «10»
21:51 AlexDaniel SourceBaby: &infix:<lcm>, \(25, 5)
21:51 AlexDaniel s: &infix:<lcm>, \(25, 5)
21:51 SourceBaby AlexDaniel, Sauce is at https://github.com/rakudo/rakudo/blob/d56501a/src/core/Int.pm#L318
21:51 AlexDaniel s: &infix:<lcm>, \(2.5, 5)
21:51 SourceBaby AlexDaniel, Sauce is at https://github.com/rakudo/rakudo/blob/d56501a/src/core/Numeric.pm#L250
21:52 AlexDaniel look ma, I learned how to use a bot
21:52 AlexDaniel oh… so it .Int-s them…
21:52 AlexDaniel :S
21:56 MasterDuke joined #perl6
21:57 IOninja SmokeMachine: did you sort out your RT issues?
21:59 mcmillhj joined #perl6
22:05 mcmillhj joined #perl6
22:18 TimToady joined #perl6
22:18 SmokeMachine IOninja: sorry... what means to sort out?
22:19 gfldex i'm toying around with examples from Higher Order Perl and Perl 6 is just so much cleaner
22:19 IOninja SmokeMachine: Queria resolver seus problemas com RT?
22:20 IOninja I mean..
22:20 IOninja SmokeMachine: Você corrigiu seus problemas com RT?
22:20 gfldex the example from page 33 of http://hop.perl.plover.com/book/pdf/HigherOrderPerl-trimmed.pdf#33 turned into https://gist.github.com/gfldex/57295d0b40942f1b7cf3448ee8a787b6
22:20 SmokeMachine IOninja: Yes... I did corrected my RT problems...
22:20 IOninja OK :)
22:21 TEttinger the heck was that first language, IOninja?
22:21 TEttinger seus isn't any Spanish I know
22:21 IOninja TEttinger: "French -> Portuguees" where I typed English sentence into French box :}
22:21 TEttinger oh ha
22:21 TEttinger that explains it, portuguese is close to spanish but sure not identical...
22:22 mcmillhj joined #perl6
22:22 SmokeMachine IOninja: I had tried the google translate, but it translated to me: "did you classified yours RT problems?"
22:24 IOninja hahaha
22:25 IOninja SmokeMachine: yeah, "sort out" is slang I guess.
22:25 jnthn m: say 'rt'.classify({ 'problem' })
22:25 camelia rakudo-moar 79f268: OUTPUT: «{problem => [rt]}␤»
22:25 IOninja Well, not really, I guess. But it's not to be translated literally :)
22:28 itaipu joined #perl6
22:34 AlexDaniel yeah, rt is a problem. Thanks, camelia…
22:35 IOninja buggable: tag CONSISTENCY
22:35 buggable IOninja, There are no tickets tagged with CONSISTENCY
22:35 IOninja Well, I'm starting it...
22:38 skids joined #perl6
22:44 mcmillhj joined #perl6
22:44 SmokeMachine IOninja: here (https://rt.perl.org/SelfService/Display.html?id=130940#txn-1452828) did you mean something like this? https://www.irccloud.com/pastebin/YlPJhI5m/
22:44 sufrostico joined #perl6
22:44 sufrosti1o joined #perl6
22:46 Voldenet joined #perl6
22:46 Voldenet joined #perl6
22:48 Cabanossi joined #perl6
22:49 labster joined #perl6
22:49 IOninja SmokeMachine: when you resolve tickets, include links for fix and tests. This way we can refer to them if needed later (and it's also clear that tests/fix were added)
22:50 SmokeMachine IOninja: ok, sorry... I did put the link for the fix... but didn't for the test...
22:51 IOninja SmokeMachine: yes, but you also need to remove the `multi` and move the proto to (in this case) Str.
22:51 itaipu_ joined #perl6
22:51 IOninja otherwise the dispatch will come back to Cool
22:51 IOninja and the infiniloop results.
22:51 SmokeMachine IOninja: now I got it!!!
22:52 cibs joined #perl6
22:56 SmokeMachine So it will get this error. right? https://www.irccloud.com/pastebin/KWPQf06f/
22:56 SmokeMachine IOninja: ^^
22:56 IOninja Yes
22:56 SmokeMachine ok!
23:00 mcmillhj joined #perl6
23:00 IOninja SmokeMachine: and when writing tests for this, it might be best to just do something like:   `try { 42.starts-with: Str }; pass "Cool.starts-with with wrong args does not hang"`. Basically, we only want to test that there's no hanging. Don't test for any exceptions, since one day we might decide to add these extra candidates that do something.
23:01 SmokeMachine IOninja: in cases like substr-eq and contains (that on Cool have a default value for $pos (0)), should I do the same? and loose the default?
23:01 SmokeMachine ok!
23:03 IOninja SmokeMachine: check the Str candidates. In this case there are two multies one that uses $pos and other that assumes it to be 0, so in this case it's fine to just forward args and they'll be sorted out by Str multies: https://github.com/rakudo/rakudo/blob/nom/src/core/Str.pm#L154-L157
23:03 * IOninja is done for the night
23:03 IOninja \o
23:03 timotimo night IOninja
23:04 SmokeMachine IOninja: ok! thanks! good night!
23:04 spebern joined #perl6
23:07 mcmillhj joined #perl6
23:13 dct joined #perl6
23:21 BenGoldberg joined #perl6
23:22 mcmillhj joined #perl6
23:29 sammers joined #perl6
23:46 cibs joined #perl6
23:48 Cabanossi joined #perl6
23:53 kurahaupo__ joined #perl6
23:54 buggable joined #perl6
23:54 kurahaupo joined #perl6
23:54 Geth joined #perl6
23:54 Geth ¦ modules.perl6.org: 62bfc35016 | (Zoffix Znet)++ | lib/ModulesPerl6/Model/Dists.pm
23:54 Geth ¦ modules.perl6.org: Toss old dist's tags before loading new ones
23:54 Geth ¦ modules.perl6.org:
23:54 Geth ¦ modules.perl6.org: - Fixes failure to delete tags removed from META file
23:54 Geth ¦ modules.perl6.org: - Fixes UNIQUE constraint failure on dist update
23:54 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/62bfc35016
23:55 Geth ¦ modules.perl6.org: c72d7a292f | (Zoffix Znet)++ | lib/ModulesPerl6/Model/Dists.pm
23:55 Geth ¦ modules.perl6.org: [REBUILD] trigger full db rebuild to toss old tags
23:55 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/c72d7a292f
23:55 Geth ¦ modules.perl6.org: b480f73df5 | (Zoffix Znet)++ | update-modules.perl6.org
23:55 Geth ¦ modules.perl6.org: Put updater bash script under version control
23:55 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/b480f73df5
23:55 Geth ¦ modules.perl6.org: d1ff64247e | (Zoffix Znet)++ | update-modules.perl6.org
23:55 Geth ¦ modules.perl6.org: Bail out on failed commands; update updater script after pull
23:55 Geth ¦ modules.perl6.org:
23:55 Geth ¦ modules.perl6.org: .oO( but who updates updater script's updater? )
23:55 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/d1ff64247e
23:55 Geth ¦ modules.perl6.org: d632ab7fa0 | (Zoffix Znet)++ | update-modules.perl6.org
23:55 Geth ¦ modules.perl6.org: Fix full db-rebuild trigger
23:55 Geth ¦ modules.perl6.org:
23:55 Geth ¦ modules.perl6.org: Currently, the trigger will fire only if during update the last commit has
23:55 Geth ¦ modules.perl6.org: the trigger and will keep firing until last commit changes.
23:55 Geth ¦ modules.perl6.org:
23:55 Geth ¦ modules.perl6.org: Fix by:
23:55 Geth ¦ modules.perl6.org: - Knowing when we got fresh commits
23:55 Geth ¦ modules.perl6.org: - Trigger full rebuild when one of the fresh commits has the trigger
23:55 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/d632ab7fa0
23:55 Geth ¦ modules.perl6.org: 9cdf8da614 | (Zoffix Znet)++ | .gitignore
23:55 Geth ¦ modules.perl6.org: .gitignore log files and dirs
23:56 Geth ¦ modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/9cdf8da614
23:56 timotimo ^- this is how a ninja sleeps
23:56 geekosaur seems like ninjas are supposed to be stealthy?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo