»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
Geth ecosystem: 893ff08fd5 | (Fernando Correa de Oliveira)++ (committed using GitHub Web editor) | META.list
Add JSON::Stream to the ecosystem

Add JSON::Stream (github.com/FCO/JSON-Stream) to the ecosystem
00:39
sauvin I'll be damned... perl6 actually dumped core. 00:54
MasterDuke sauvin: reproducibly? 01:17
sauvin Finding out. 01:18
Yes.
MasterDuke, error given is: *** Error in `/usr/local/bin/moar': malloc(): memory corruption: 0x00007fe5dc0fea00 *** 01:19
MasterDuke can you post the code that causes it?
sauvin termbin.com/8tn6 01:20
That's the start of it, that's the end of it, and everything in between. What's on port 5000 is raw log output from my IRC client.
It had gone 1525051060 when it barfed. 01:21
(1525051060 lines of input, that is)
MasterDuke is it that line in particular? or is it just going that number of lines? 01:23
i.e., can you pull out a specific strings/byte sequence that causes it 01:24
sauvin Probably not. It's live input. 01:25
MasterDuke ah, not saved off anywhere? 01:26
TEttinger I know some clients/fonts have had issue with this string, but I doubt anyone here will have an issue 01:27
º¬ucغ-۾׫-rҫ?·/qª^Hʾl*t&๮vٶɴڰݳʬ^H&sĭ7ู£dügֹz¶޺!ණ»ߦ²˿ɽˤѷ­o!௦¼±ලǭٸȸ!tʳ¼ʴҽµʶ&&ɥ)&Ѽ5¢ʡརÿqȿҠҶɵ
sauvin Let's see if it crashes the code I just posted, TEttinger. Can you do that again, please? 01:28
TEttinger º¬ucغ-۾׫-rҫ?·/qª^Hʾl*t&๮vٶɴڰݳʬ^H&sĭ7ู£dügֹz¶޺!ණ»ߦ²˿ɽˤѷ­o!௦¼±ලǭٸȸ!tʳ¼ʴҽµʶ&&ɥ)&Ѽ5¢ʡརÿqȿҠҶɵ
sauvin Nope, it's still running.
TEttinger I'm pretty sure the issue was client side with one client side font
sauvin What I'm wondering is if I'm smashing a stack or something.
TEttinger so that is good news for me, your test confirms that it isn't a unicode thing for me 01:29
MasterDuke sauvin: what version of perl6 are you running?
sauvin This is Rakudo Star version 2018.01 built on MoarVM version 2018.01
implementing Perl 6.c.
sauvin TEttinger, that string went through HexChat, got piped out through a socket to an ncat process to which the code I termbinned connects. 01:31
TEttinger I think I can eke the info I need from the guy who had the problem. we both use the Floe IRC client and Floe has some spotty WPF-based text rendering. that many-language text probably forces a bunch of fonts to be used 01:32
I use unifont, which means i never have to switch except for emoji
sauvin I was just amazed to see core being dumped. I've not seen that in YEARS. 01:33
Is the code I termbinned stack-intensive or something, do you think? 01:35
TEttinger over 1.5 billion lines.. 01:37
wow
sauvin It's really that many? 01:41
sauvin 1 525 051 060... guess so. 01:43
sauvin dumped again at 1525052980 lines of input. 02:07
MasterDuke this is different input? 02:08
sauvin Live input, so, yes, but same source. 02:15
MasterDuke what does it's memory use look like? constantly increasing? 02:17
sauvin Running it again and watching htop 02:18
sauvin Another thing I'm wondering about, though: how does input jump from just a few thousand to a billion and a half in such a short time? In the past half hour, I've only gotten some 5k lines of input (with CPU% and MEM% staying down to something like one or two percent). A billion and a half is more like a whole day's traffic, so, *something* is confused. 02:53
Another logging process, one that actually commits the lines to a disk file, has me having only 265038 lines over the past twenty four hours or so. 02:55
comborico1611 m: say "I have a dream".words.perl 02:59
camelia ("I", "have", "a", "dream").Seq
comborico1611 m: say "I have a dream".words
camelia (I have a dream)
Geth doc: mryan++ created pull request #1978:
Clarify 'Bar.pm6' vs 'how to use Bar.pm6'
03:15
sauvin OK, here's one mystery solved. It wasn't 1.5 billion lines. That was the timestamp field. It's not printing the line number for all the lines, it's sometimes neglecting to print the line number for whole BATCHES of lines. 03:17
sauvin This implies to me the possibility it's not printing all the LINES. 03:19
MasterDuke hm, i don't think you're printing per line, just per "chunk" of input 03:27
sauvin How is defined then a "chunk"? It's *mostly* printing lines of variable size.
sauvin Another core dump. This time, at 885 lines, followed by a *crapload* of unnumbered lines. 03:29
Maybe the input is just coming in too fast?
Geth doc: 91a56e8c73 | (Martin Ryan)++ | doc/Language/module-packages.pod6
Clarify 'Bar.pm6' vs 'how to use Bar.pm6'
03:30
doc: d8b020e759 | 陈梓立++ (committed using GitHub Web editor) | doc/Language/module-packages.pod6
Merge pull request #1978 from mryan/master

Clarify 'Bar.pm6' vs 'how to use Bar.pm6'
synopsebot Link: doc.perl6.org/language/module-packages
MasterDuke sauvin: fwiw, i don't know much about react/promises/Async/etc. might be good to ping timotimo, jnthn, Zoffix 03:35
sauvin Think I'm going to. I don't know perl6 nearly well enough to even guess at what that code is doing, exactly. 03:36
MasterDuke sauvin: you can add a `.lines` to the .Supply and then you'll get line by line printing 03:43
and you said you don't get memory growth? huh, for me, mem use grows really quickly and the OOM killer gets it 03:46
sauvin how are you getting your input? 03:47
MasterDuke `yes | netcat -l -p 5000 127.0.0.1`
got through 81350 lines (with .lines added onto the .Supply) 03:49
sauvin hm. no, i saw no appreciable rise in memory while i was watching it.
adding .lines seems to make it crash faster. 03:51
MasterDuke i need to get some sleep, but could you create an issue here github.com/rakudo/rakudo/issues ? 03:53
sauvin this 'malloc(): memory corruption' thing is a bit worrisome.
when i finish eating, i'll poke at that. 03:54
MasterDuke AlexDaniel: you'd probably be more help than i ^^^
AlexDaniel hello :)
sauvin hey 03:55
MasterDuke sauvin: fwiw, a new rakudo star should be released soon, might help
sauvin can't remember offhand how i installed this one! 03:56
MasterDuke what os?
sauvin ubuntu 16.04
MasterDuke huggable: debs
huggable MasterDuke, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases
MasterDuke you can find the monthly compiler releases there 03:57
sauvin tkink i went to a rakudo web site
MasterDuke but i do really need to go, good luck
sauvin night! 03:58
AlexDaniel sauvin: I'm trying to follow the discussion, are you still using .Supply(…) instead of .Supply(…).lines ? 04:01
ah, ok, got to that point :) 04:02
if it's crashing, that's bad, it shouldn't
but there were many (possibly related) fixes during these months 04:03
sauvin Yeah, no idea what's going on. Crashing after a few thousand lines, and not printing all the line numbers for whole batches of lines.
AlexDaniel sauvin: what if you set MVM_SPESH_DISABLE=1 env variable? 04:04
it'll make stuff slower, but let's see if it crashes
AlexDaniel (ok that sounded a bit inaccurate, the env variable is of course MVM_SPESH_DISABLE, set it to 1) 04:05
sauvin Did that, finished eating, running to see what happens. Did away with .lines, using ++$n again. 04:06
Might be a while. Doesn't seem to be very predictable how long it'll run before it yarks. 04:07
AlexDaniel I would have expected this to print the lines correctly: whenever .Supply(:enc("utf8-c8")).lines -> $v { printf "%d ", ++$n; $v.print; } 04:09
if it doesn't then maybe there's something weird going on
sauvin It didn't.
There were whole BATCHES of lines printed without line numbers. 04:10
Where it usually seems to happen is during what I call a '354' event, where hexchat issues a "who ##channel" and a whole listing of user nicks, idents, accounts, servers, gecos and suchlike is returned. Some of those channel listings are over two thousand lines long, and they come down the pipe almost all in the same millisecond. 04:12
Think I'll launch a second process redirecting stdout to see if I can spot any other patterns. 04:16
AlexDaniel sauvin: yeah, would be great to have a test set for reproducing the issue 04:19
even if it's a lot of data
sauvin Oh, it'll be a crapload, but since some of the content is a bit sensitive, thinking some other means of coming up with test data is needed.
AlexDaniel with a way to reproduce it I'd be able to tell if the problem exists on HEAD, and in seconds we'll know which commit fixed it (or if it's a regression that is not fixed, we'll see what broke it) 04:20
sauvin I was surprised at what MasterDuke said, that just doing a yes | netcat smashed it.
AlexDaniel oh
AlexDaniel tries it
sauvin I'm not seeing increases in memory usage, which makes me fear it's a stack or queue of some kind being overwhelmed. 04:23
Another crash. Launching it again, this time with .lines put back in. Wonder if that'll make all the lines number. 04:25
AlexDaniel uh, had to wait for my system to unfreeze :) 04:28
cono looks like a mem leak. It works fine until memory runs out, tried this piece: termbin.com/8tn6 04:31
memory increases very fast
with `yes | nc -l -p 5000`
sauvin That's what the error returned suggests to me. Malloc errors aren't something I'd ever had much luck chasing down even while I was still able to code in C. 04:32
cono sauvin: what OS ?
sauvin Ubuntu 16.04, distro-supplied kernel and libc. 04:33
cono do you have any messages about "OOM" in kernel log? 04:34
sauvin How do I view a kernel log?
If it's /var/log/kern.log, no, nothing. 04:35
AlexDaniel this works for reproducing the leak: yes | pv -L 30m | netcat -l -p 5000 127.0.0.1
(in a controllable way, 30m for 30 MiB/s 04:36
)
sauvin I actually found a legitimate bug? Usually, when crap blows up on me like this, it's because I'm an idiot.
AlexDaniel sauvin: yes 04:37
sauvin Go me!
That's a first for me.
AlexDaniel oooooooh, interesting… 04:38
sauvin ..?
AlexDaniel I stop `yes` and the script still keeps going printing lines 04:39
but the memory usage is no longer growing!
so it indeed stuffs the data somewhere before giving the chunks I think 04:40
sauvin: what's the size of your input? 04:42
sauvin So maybe something is getting stuffed into a tube faster than it can be pushed back out.
AlexDaniel oh wait, you have live stuff coming in? What's the bitrate? :)
sauvin AlexDaniel, for what I was doing, there's no actual "size". I have a hexchat script that relays everything it sees in raw IRC format to an ncat "server" that broadcasts it to anything connected to port 5000. It's live input. 04:43
AlexDaniel hmm
sauvin So, "bitrate" may not be particularly relevant. Sometimes it's half a goddamn novel in just a few seconds, followed by a few minutes of maybe a dozen lines a minute. 04:44
AlexDaniel anyway, please report your findings in a ticket :)
sauvin: if that crashes, maybe it's a separate problem
sauvin At the link that MasterDuke provided?
AlexDaniel but we'll see
huggable: rakudobug
huggable AlexDaniel, Report bugs on github.com/rakudo/rakudo/issues/new If you don't have access to GitHub, you can email your report to [email@hidden.address] . See also: github.com/rakudo/rakudo/wiki/rt-introduction
AlexDaniel yes
sauvin Hrm, I may not be able to do the github thing directly. Seems github doesn't like my VPN. 04:45
Emaling. 04:46
Erm... emailing.
sauvin Email sense. 05:04
ERm, sent.
Ooo... just sending an email opened a ticket! Cool! 05:10
Geth doc: d32e413c1f | (JJ Merelo)++ | 7 files
Eliminates last dupes, closes #1912
05:33
Geth doc: 7a511affeb | (JJ Merelo)++ | doc/Language/traps.pod6
Fixed <> without C, closes #1914

And it's kind of impossible to create a test for this. Maybe eliminating code, but even so there would be many false positives. Done by hand.
05:41
synopsebot Link: doc.perl6.org/language/traps
cono m: role R {has &.c}; class A does R {submethod BUILD(:&c) {&!c := &c}}; A.new 07:45
camelia Type check failed in binding; expected NQPMu but got Callable (Callable)
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
cono is there any ideas why it doesn't work / 07:46
works with scalars and @arrays
cono m: role R {has &.c}; class A does R {submethod BUILD(:&c) {&!c := &c}}; A.new(c => {"hi".say}) 07:47
camelia Type check failed in binding; expected NQPMu but got Block (-> ;; $_? is raw { #`...)
in submethod BUILD at <tmp> line 1
in block <unit> at <tmp> line 1
cono m: role R {has &.b}; class A does R {has &.c; submethod BUILD(:&c) {&!c := &c}}; A.new(c => {"hi".say}).say 07:49
camelia A.new(c => -> ;; $_? is raw { #`(Block|87461744) ... }, b => Callable)
cono ah, looks like it doesn't work not because of the type, its more about attribute in role or class
changed from := to =. Would be glad if some1 can explain me why := doesn't work for attributes defined in role's 07:53
jmerelo cono: := binds 08:11
= assigns
jmerelo I don't have the whole context. But you know what? Post that question in StackOverflow (whether you get the answer here or not :-) ) 08:12
donpdonp does someone have a short explanation of how 'submethod' is different/needed over 'method'? 08:21
cono donpdonp: submethod not going to be inherited 08:24
tobs donpdonp: submethods are not inherited. I think you'd use them for constructors and such because derived classes are usually constructed differently.
cono m: class A {method a{}; submethod b{}}; class B is A {}; B.new.b
camelia No such method 'b' for invocant of type 'B'. Did you mean any of these?
a
b

in block <unit> at <tmp> line 1
cono but we still have this method in the error message :)
jmerelo donpdonp: docs.perl6.org/type/Submethod 08:25
smls What could be causing an "equal requires a concrete string, but got null" exception? 08:32
moritz an nqp::iseq_s() that got a null as one argument? 08:35
smls It's a normal Perl 6 script of mine that used to work on older Rakudos, but now reliably fails with that.
lizmat gist a --ll-exception stack please :-) 08:36
moritz then a bug report is due
smls Well, I'm having a hard time golfing it...
The exception points to different line numbers on different runs 08:37
but it always seems to be the line number of a subroutine signature, or the line just below one.
lizmat smls: is 'make test' clean for you ?
lizmat suspects a possible new case of github.com/rakudo/rakudo/issues/1783 08:38
smls lizmat: I hadn't run that script in a while, so I don't know how new this issue is. 08:39
`make test` in Rakudo's build dir passes.
lizmat ok, so it's not that then 08:40
Zoffix AlexDaniel`++ samcv++ # thanks for point release; sorry for making those bugs :) 08:46
lizmat weekly: deathbyperl6.com/perl-toolchain-su...ncy-hello/ 08:48
notable6 lizmat, Noted!
stmuk AlexDaniel++ # making releases 09:03
Zoffix++ # making stuff
samcv Zoffix: glad we got it fixed 09:05
jmerelo Pointers to the new release? 09:29
Zoffix jmerelo: what specifically are you looking for? 09:31
lizmat afaik stmuk is working on it 09:41
stmuk I think jmerelo may be talking about the core compiler release (but I'm not really sure) 09:42
buggable New CPAN upload: Unix-errno-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz 09:46
stmuk Zoffix: maybe p6lert should be taught about 2018.04.1? 09:56
Zoffix AlexDaniel` can put p6lerts if needed. Ask him. 09:57
stmuk .tell AlexDaniel` maybe p6lert should be taught about 2018.04.1? 09:58
yoleaux stmuk: I'll pass your message to AlexDaniel`.
stmuk quotable6: ZOFFLOP 10:12
quotable6 stmuk, OK, working on it! This may take up to three minutes (4582161 messages to process)
stmuk, 220 messages (2017-04-14⌁2018-04-28): gist.github.com/b5f4c4375444171314...c82c21513f 10:13
stmuk quotable6: help 10:23
quotable6 stmuk, Like this: quotable6: /^ ‘bisect: ’ / # See wiki for more examples: github.com/perl6/whateverable/wiki/Quotable
stmuk isn't there some hideous w10 update due? I may try building on w7 10:27
stmuk pl6anet.org/drop/rakudo-star-2018.04-RC1.tar.gz 10:38
lizmat stmuk++
smls lizmat, I posted some stack traces for the "equal requires a concrete string" thing: github.com/rakudo/rakudo/issues/1785 10:51
I don't think they'll be very useful though, since the innermost location dosn't seem to point to internal Rakudo code 10:52
smls If I can't golf it, maybe a local git bisect of Rakudo is in order... 10:54
lizmat smls: yeah, without further source code availability, this gets a bit hard :-( 10:57
also, no idea where that error string comes from 10:58
can't even reproduce that error atm with nqp, as moritz suggested
m: use nqp; nqp::iseq_s("foo",nqp::null_s) # must be null_s instead of null, so I *can* reproduce it 10:59
camelia equal requires a concrete string, but got null
in block <unit> at <tmp> line 1
lizmat afk for an hour or so
buggable New CPAN upload: CPAN-Uploader-Tiny-0.0.6.tar.gz by SKAJI modules.perl6.org/dist/CPAN::Upload...cpan:SKAJI 11:26
Geth doc: JJ self-assigned unicmp and coll operators don't require "use experiment" github.com/perl6/doc/issues/1979
7486d2c1cf | (Will "Coke" Coleda)++ | doc/Language/regexes.pod6
12:16
[Coke] zoffix, did you end up fixing github.com/perl6/doc/issues/1938 ? 12:54
yoleaux 29 Apr 2018 04:30Z <Tison> [Coke]: could you please take a look at this build fail on doc? I just trigger rebuild and it fails unexpectedly.
[Coke] which build fail?
.seen tison 12:55
yoleaux I saw Tison 29 Apr 2018 04:30Z in #perl6: <Tison> travis-ci.org/perl6/doc/builds/372...tification
[Coke] looks like a precomp failure.
synopsebot Link: doc.perl6.org/language/regexes
AlexDaniel Zoffix: as for making bugs, it's completely not your fault in my opinion. You do a lot of changes, so when something goes wrong it's more likely to be you :) The actual issue is that we are unable to detect these bugs reliably, and the issue on i386 is actually my fault because it took just a little bit of communication with El_Che to make sure that similar issues will never happen, so I should've arranged that earlier 13:20
as for the num hangs, we just need more tests. A lot more tests. Everyone should write tests :) 13:21
AlexDaniel ZofBot: but if you introduce a bug, it'd be your fault. As a superior being you should know better. 13:24
bluebot Hello! 13:46
AlexDaniel hello
araraloren hi 13:56
pmurias re docs docs.perl6.org/language/quoting#In...lation:_qq - should provide an nice table of escapes 14:19
donpdonp cono, tobs, jmerelo: thx for the responses :) 14:23
sjn o/ 14:24
having trouble installing zef from git 14:25
when I run «perl6 -Ilib bin/zef install .» on eb7db9e I get the following error: 14:26
Cannot find method 'run_alt' on object of type NQPArray
This is Rakudo version 2018.04-32-g0de80523c built on MoarVM version 2018.04-39-gc702f4c66 14:27
Zoffix sjn: are you trying to install Slang::AltTernary ? 14:31
sjn: what's eb7db9e ? That doesn't appear to be a rakudo commit 14:32
sjn: hm, you're installing zef. But `run_alt` appears only in Slang::AltTernary in the whole ecosystem 14:33
[Coke] wonders if anyone else in the Perl 6 Community is in the relatively small Tax IT community. 14:34
stmuk I pay it :(
jnthn Zoffix: run_alt is also a method name in QRegex::NFA in NQP 14:35
Zoffix doh
jnthn I wonder if this relates to the precomp issue?
Zoffix I grepped rakudo's sauce but didn't grep NQP/MoarVM's
pmurias [Coke]: what's Tax IT? 14:36
Zoffix sjn: try blowing .precomp folders
stmuk: uh, pl6anet.org/drop/rakudo-star-2018.04-RC1.tar.gz is a 404 14:39
Or is it a test to see how many people test RC candidates? :)
stmuk Zoffix: yes its being replaced within mins by a RC2 with an updated zef (it would have been secs if not for an unfortunate typo)
Zoffix Ah 14:40
[Coke]: I don't know. I wasn't trying to fix that issue. "Basically, there are several places in the code where we are assuming something is a Str, when in fact it's a Pod object." ... Yeah, that sounds a lot like the problems I fixed and I did remove the Promise.allof stuff 14:42
That stuff is now handled by &textify-guts multies
[Coke] pmurias: basically, any IT work around filing large (or large numbers) of tax returns (typically corporate) 14:43
buggable New CPAN upload: Unix-errno-0.0.2.tar.gz by ELIZABETH modules.perl6.org/dist/Unix::errno:...:ELIZABETH 14:46
comborico1611 m: my $string = "yellow submarine"; say ~$0 if $string ~~ / l (.) w .*? rin / 14:55
camelia o
comborico1611 m: my $string = "yellow srin"; say ~$0 if $string ~~ / l (.) w .*? rin / 14:57
camelia o
comborico1611 m: my $string = "yellorine"; say ~$0 if $string ~~ / l (.) w .*? rin / 14:58
camelia ( no output )
comborico1611 m: my $string = "yellow submarine"; say ~$1 if $string ~~ / l (.) w .*? rin / 15:01
camelia Use of Nil in string context

in block <unit> at <tmp> line 1
moritz m: say ~$0 if "yellow submarine" ~~ / l (.) w .*? rin / 15:02
camelia o
timotimo m: say ~$/ if "yellow submarine" ~~ / l (.) w .*? rin /
camelia low submarin
stmuk Zoffix: try now
comborico1611 What does the *? do? ? i s for zero or once. * is for zero or more times. 15:03
moritz *? means "zero or more, but as few as possible" 15:04
comborico1611 Thanks!
moritz whereas * means "zero or more, but as many as possible"
comborico1611 Excellent! 15:05
sjn Zoffix: eb7db9e is a zef commit 15:13
I'll try deleting the .precomp dir
sjn tried rebuilding rakudo first, that helped (I assume because .precomp dirs are invalid now) 15:16
comborico1611 m: say ~$/ if 'abc' ~~ / a.c / 15:21
camelia abc
comborico1611 m: say $/ if 'abc' ~~ / a.c /
camelia 「abc」
comborico1611 m: say $/.WHAT if 'abc' ~~ / a.c / 15:22
camelia (Match)
comborico1611 m: for 'abc' {say 'yup' if / a.c / 15:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3for 'abc' {say 'yup' if / a.c /7⏏5<EOL>
comborico1611 m: for 'abc' {say 'yup' if / a.c / }
camelia yup
comborico1611 m: say 'yup' if 'abc' / a.c / 15:32
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing required term after infix
at <tmp>:1
------> 3say 'yup' if 'abc' / a.c /7⏏5<EOL>
expecting any of:
prefix
term
comborico1611 Seems strange that the for loop doesn't require ~~
araraloren It use the $_ match the regex, right ? 15:33
comborico1611 Yeah.
araraloren m: $_ = "abc"; say 'yup' if / a.c /;
camelia yup
comborico1611 But what tells it to match? You know? 15:34
araraloren I remember there is a question about //, m// and rx// in stackoverflow 15:35
comborico1611 m: $_ = 'abc'; say 'yup' if ~~ / a.c/
camelia 5===SORRY!5=== Error while compiling <tmp>
Expected a term, but found either infix ~~ or redundant prefix ~
(to suppress this message, please use a space like ~ ~)
at <tmp>:1
------> 3$_ = 'abc'; say 'yup' if ~~7⏏5 / a.c/
comborico1611 I'll look for it. Thanks! 15:37
mcmillhj Is there a built-in function that does something similar to all { } @list from Perl5's List::Util?
araraloren docs.perl6.org/language/regexes#in...onventions
comborico1611 there are some comment in the documents 15:38
:) seems like I am wrong
comborico1611 Thanks! 15:40
timotimo mcmillhj: depending on what's in your block, there's different ways
mcmillhj: but you'll probably lik Junctions for this
araraloren and docs.perl6.org/syntax/$_ here mentioned /regex/
would work on $_
timotimo you can get an "all" junction with @list.all and then do stuff with it like method calls, operations, comparisons, and at the end coerce it to bool to do the actual "all true?" thing 15:41
m: my @words = <hello gold mold build>; say so @words.all.substr(*-2, 1) eq "l" 15:42
camelia True
timotimo "do all these words have an l as the second-to-last character
" for example
mcmillhj: does that help?
m: my @words = <hello gold mold build>; say @words.all.substr(*-3, 2)
camelia all(ll, ol, ol, il)
timotimo ^- helpful to see what's actually in the junction at any point in the calculation 15:43
mcmillhj timotimo: I'll check out junctions, but basically the behavior I was looking for was something like (1, 2, 3).all({ $_ < 5 }); # True (only returns True once). 15:45
timotimo: I also don't see .all on the List docs, is it defined on a different type ?
timotimo docs.perl6.org/routine/all 15:46
docs.perl6.org/type/Junction - this is more interesting
your code would just be "so (1, 2, 3).all < 5"
m: say so (1, 2, 3).all < 5; say so (1, 2, 3, 99).all < 5
camelia True
False
mcmillhj That returns more than a single result 15:47
timotimo you need to boolify it with "so" 15:47
or with if/unless
mcmillhj oooh, interesting 15:48
that builds off the Junction concept correcT?
timotimo this is exactly junctions :) 15:49
AlexDaniel robertle: o/ 16:03
robertle: 2018.04.1 is out
jmerelo AlexDaniel++
Geth perl6-pod-to-bigpage: 68df5ecb13 | (JJ Merelo)++ | bin/pod2onepage
Restored anchors refs #21
16:04
robertle AlexDaniel: I know! and it's golden from my point of view: qa.debian.org/developer.php?login=...debian.org 16:05
AlexDaniel whew 16:06
robertle the debian version is pretty much your upstream, but I do apply the patch at the bottom of R#1711 to fix big endian weirdnesses. not sure it's the correct way, but seems to work so far...
synopsebot R#1711 [open]: github.com/rakudo/rakudo/issues/1711 [severe] intermittent "Bytecode validation error at offset 0, instruction 0" on s390x/mips
buggable New CPAN upload: cro-http-0.7.5.tar.gz by JNTHN modules.perl6.org/dist/Cro::HTTP:cpan:JNTHN
New CPAN upload: cro-core-0.7.5.tar.gz by JNTHN modules.perl6.org/dist/Cro::Core:cpan:JNTHN
New CPAN upload: cro-tls-0.7.5.tar.gz by JNTHN modules.perl6.org/dist/Cro::TLS:cpan:JNTHN
robertle would be fab if someone who knows moar could comment on that patch/problem
buggable New CPAN upload: cro-websocket-0.7.5.tar.gz by JNTHN modules.perl6.org/dist/Cro::WebSocket:cpan:JNTHN
New CPAN upload: cro-0.7.5.tar.gz by JNTHN modules.perl6.org/dist/cro:cpan:JNTHN
New CPAN upload: cro-zeromq-0.7.5.tar.gz by JNTHN modules.perl6.org/dist/Cro::ZeroMQ:cpan:JNTHN
lizmat whee... new Cro !
Geth perl6-pod-to-bigpage: 0d2e0e0c1c | (JJ Merelo)++ | META6.json
Bumps up version
16:07
AlexDaniel robertle: that sounds wonderful, I'm quite happy with that situation :) 16:08
Geth doc: JJ self-assigned TOC doesn't work in 1-file docs github.com/perl6/doc/issues/1980
82121ec3a7 | (JJ Merelo)++ | 3 files

Which still causes problems like perl6/perl6-pod-to-bigpage#21, but closes #1980, which is bigger.
Also triggers rebuild, and bumps up the bigpage version to the one that includes this fix
AlexDaniel robertle: some discussion on that patch is on #moarvm right now
jmerelo jnthn++ 16:10
Yay!
comborico1611 What does it mean on github, you must be on a branch?...When trying to figure PR 16:14
Trying to do a PR 16:15
buggable New CPAN upload: Cro-HTTP-Test-0.7.5.tar.gz by JNTHN cpan.metacpan.org/authors/id/J/JN/...7.5.tar.gz 16:16
timotimo comborico1611: what URL are you looking at?
lizmat weekly: cro.services/docs/releases#0.7.5 16:19
notable6 lizmat, Noted!
timotimo jnthn: the first mention of Perl 6 has a line break in between, maybe put non-breaking spaces there? :) 16:20
the release notes for 0.7.5, that is
actually, maybe i can commit to that site 16:21
comborico1611 m: my $thing = rx/ c..f /; say $thing.WHAT 16:24
camelia (Regex)
timotimo do i really have to put literally &nbsp; in the source for this to work?
comborico1611 timotimo: hmm. It has my name in the address. That's probably a clue to the problem. 16:25
timotimo not necessarily 16:26
comborico1611 It was, though. Thanks! I was somehow in my own thing or something. 16:27
timotimo well, you can only really make a pull request starting from a repository that you have write access to 16:28
comborico1611 Hmm. I don't see PR on here this time. 16:41
My githib did not like my phone in desktop mode. 16:42
Geth doc: COMBORICO++ created pull request #1982:
'/ /' and 'rx/ /' clarified purpose of use
comborico1611 Lunch time! 16:45
Tison How to see if a module installed in p6 code? 17:39
yoleaux 29 Apr 2018 11:39Z <AlexDaniel> Tison: you can try `zef rdepends URI`
Tison k 17:40
what I want to do is something like, `try to load module` or die "..."
timotimo docs.perl6.org/language/modules#require - this might help 17:41
Tison since it says `(try require Foo) === Nil and say "Failed to load Foo!";`, can we omit the `=== Nil` part? 17:47
(try require Foo) or die "..." 17:48
El_Che releasable6: status 17:51
releasable6 El_Che, Next release in ≈19 days and ≈1 hour. 1 blocker. 0 out of 34 commits logged
El_Che, Details: gist.github.com/b0363ba31d034c8426...448cdaed96
AlexDaniel El_Che: it's out!
2018.04.1 that is
El_Che AlexDaniel++
I'll set the wheel in motuon :) 17:52
mcmillhj I am trying to figure out why this junction doesn't function the same a loop with the same logic: gist.github.com/mcmillhj/f66fa2bd4...ca0f55068d 18:50
any thoughts?
lizmat mcmillhj: what's know() ? 18:51
and tell() ? 18:52
mcmillhj I'll post the surrounding code, I wasn't sure if that was needed
lizmat: updated 18:53
lizmat it's correct that @dates is an Array of Lists ?
mcmillhj Yes, I am using a List as a tuple here. 18:54
the logic *looks* the same to me, but I am new to the concept of Junctions, and also Perl6 in general 18:55
lizmat I'm not seeing anything obvious, but I've just had dinner and have not waken up again :-) 18:57
mcmillhj hmm okay, I'll keep digging in 19:00
El_Che lizmat: when is the weekly supposed to be out? 19:06
lizmat in about 2 hours, why ?
is that enough for your 2018.04 packages
El_Che I am debuggin a ruby segfault for the i386 ubuntu package creation 19:07
there are a lot of changes: repos for rpms and debs mainly
but also additon of path setting script for newbies and cleanup of doc 19:08
and ubuntu 18.04 packages
there is also a repo for speeding up the doc CI (prcompiled drakudo + modules), but I don't know if it's weekly material 19:09
lizmat perhaps 19:12
El_Che that one with the repo for prerelease testing are more of a CI effort 19:13
Geth doc: 9b335e3780 | (Luca Ferrari)++ | doc/Type/Bool.pod6
Document Bool.ACCEPTS.

See issue #1949
19:20
doc: 3323b8641c | (Luca Ferrari)++ | doc/Type/Bool.pod6
Document Bool.ACCEPT.

Close #1949
synopsebot Link: doc.perl6.org/type/Bool
doc: b3565363fe | (Luca Ferrari)++ | 36 files
Merge branch 'master' of github.com:perl6/doc
doc: a2b8e57db6 | (Will "Coke" Coleda)++ | doc/Type/Bool.pod6
fix typo
19:25
El_Che found it 19:45
:)
Zoffix Tison: no, that won't work, because `require` return the package/class for that thing, which is neither true nor is (usually) defined. If you want it to die, then you could just drop the `try` bit and let `require` die. 19:48
Tison ok 19:49
TimToady m: my $p = 2¹⁰⁰; say $p.lsb == $p.msb 19:55
camelia True
Zoffix ah :) nice 19:57
comborico1611 TimToady: You started in Pascal, right? I read that subroutines are different from functions in Pascal, wondering why you chose to use sub in Perl instead of fun. 19:58
timotimo no fun allowed
comborico1611 lol
Zoffix tobs: ^ another way for your power-of-two thing
TimToady no, I started in a language with GOSUB
comborico1611 And it used the term subroutine? 19:59
TimToady that's what SUB was short for
comborico1611 Well that solves that mystery. Thanks!
TimToady 'sides, subroutines aren't functions in the mathematical sense
if I'd gone with Pascal, I'd've used 'proc', not 'fun' 20:00
comborico1611 I see. "subroutine" may have faired better if it dropped the "sub" part. "subroutine" is a mouth-full compared to function. 20:01
TimToady it's okay to pronounce "sub" as "function" :)
comborico1611 I pronounce "methods" as member-functions. :) I hate that term method. 20:03
These terms such a learning curve for beginners. 20:04
Voldenet imho function implies mathematical semantics (state passed as an input) and subroutine does not
TimToady thinks 'member-function' is about one word too many for a common term 20:05
TimToady and that's why we call them "graphemes", not the long phrase the Unicode consortium uses that I can't even remember 20:06
comborico1611 I don't like say "sub" instead of "subroutine". I just find it... too post-modern for me. 20:07
El_Che notable6: weekly: github.com/nxadm/rakudo-pkg/releas...18.04.1-01
notable6 El_Che, Noted!
comborico1611 I cling to terms that rung true to me and helped me to understand concepts. Member-function is so much more descriptive than "method". 20:08
El_Che lizmat: ^--- the packages are being built and will appear there, but so you have the release notes
Voldenet just use every language like java - create em classes and don't use anything but methods ;D
stmuk . o O ( we probably had a lucky escape in not having colour being part of the syntax like colorforth )
comborico1611 Heh. Weird. I started to memorize a bunch of names of colors in trying to get my Web Development skills better. Fuschia. 20:10
AntiqueWhite 20:11
Cornsilk
stmuk puce? 20:14
comborico1611 Not an HTML keyword, I believe. 20:16
comborico1611 Can someone provide an example of "multiline strings -- using anchors ^^ and $$ 20:28
brb 20:29
moritz m: say "ab\ncdef\geh" ~~ /^^ d \N+ $$ / 20:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Unrecognized backslash sequence: '\g'
at <tmp>:1
------> 3say "ab\ncdef\7⏏5geh" ~~ /^^ d \N+ $$ /
expecting any of:
argument list
double quotes
term
moritz m: say "ab\ncdef\ngeh" ~~ /^^ d \N+ $$ /
camelia Nil
moritz m: say "ab\ncdef\ngeh" ~~ /^^ d \N+ \n? $$ /
camelia Nil
moritz m: say "ab\ncdef\ngeh" ~~ /^^ d \N+ /
camelia Nil
moritz too tired for regexes 20:31
m: say "ab\ncdef\ngeh" ~~ /^^ d .*? $$ /
camelia Nil
moritz m: say "ab\ncdef\ngeh" ~~ /^^ c .*? $$ /
camelia 「cdef」
moritz m: say "ab\ncdef\ngeh" ~~ /^^ c \N+ $$ /
camelia 「cdef」
moritz comborico1611: ^^ this is an example that matches a single logical line starting with c 20:32
comborico1611 Yeah, that's a good example. 20:41
Thanks!@
comborico1611 I may have just nuked my system... Uninstalling dependencies of Vagrant. And it's listening my Windows partition... 21:04
it's listing
And I'm using the linux partition... 21:05
lizmat wishes comborico1611 strength 21:31
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/04/30/...es-galore/ 21:43
Herby_ \o 23:04
everyone++ on the latest release
retupmoca I see CPAN has full perl6 support now. Should I start moving my modules from META.list into CPAN? 23:26
yoleaux 23 Feb 2018 18:44Z <japhb> retupmoca: Saw this while `zef install`ing my usual packages: ===> Extraction: Failed to find a META6.json file for JSON::JWT:ver<1.0>:auth<github:retupmoca> -- failure is likely
retupmoca what's considered "best practice"?