»ö« 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.
00:10 pharv left 00:13 pharv joined
AlexDaniel OK, yes, that's a regression in HTTP::UserAgent 00:13
00:18 pharv left, pharv joined 00:33 nativecallable6 joined, coverable6 joined, notable6 joined, greppable6 joined, evalable6 joined, ChanServ sets mode: +v greppable6, ChanServ sets mode: +v evalable6, reportable6 joined, benchable6 joined, releasable6 joined, bloatable6 joined, squashable6 joined 00:34 statisfiable6 joined, unicodable6 joined, ChanServ sets mode: +v unicodable6, committable6 joined, ChanServ sets mode: +v committable6, shareable6 joined, bisectable6 joined, ChanServ sets mode: +v shareable6, ChanServ sets mode: +v bisectable6, quotable6 joined, ChanServ sets mode: +v quotable6 00:39 pmurias left
timotimo do we have a distribution dependency graph tool yet? 00:42
00:43 Rawriful left
AlexDaniel timotimo: like 「zef depends …」 ? (there's also rdepends) 00:48
that's for a single module of course
timotimo zef depends gives me "Failed to resolve some missing dependencies" on "cro" 00:49
AlexDaniel yes, seems to be broken :(
filed this ticket: github.com/ugexe/zef/issues/230 00:55
timotimo i was still on an old version at the time i tried it
it'd be neat if we could figure out a way to make zef drastically faster 00:57
AlexDaniel oh god please yes
timotimo i'm going to start working on my grant Real Soon Now 00:58
making the profiler work properly with multithreaded applications is going to be a big task, but i'm hoping it can be done
parts of the installation process are inside the rakudo code, i believe 00:59
01:04 pugcs joined 01:07 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo i see a "zef list" spends ~60% of its time in from_json, but i might be missing data from extra threads 01:09
doesn't seem like it tries to use JSON::Fast if it's installed 01:10
01:16 pharv left 01:17 pharv joined
japhb timotimo: I think the biggest problem is no caching between phases of dependency analysis, and no attempt to do global analysis. 01:18
AlexDaniel: FWIW, I get a zef crash during (or just after) zef dependency checking on freshly built rakudo head 01:19
AlexDaniel japhb: what kind of crash? Can you gist the output?
japhb ... and this is why I build every new rakudo in a separate tree and don't swap it in place until zef manages to install and test all the modules I care about. :-/ 01:20
AlexDaniel: see #perl6-dev
01:21 pharv left 01:23 pierre joined
timotimo is JSON::Fast somehow un-conditional-loadable? 01:23
yeah, i neglected to make them "our" subs 01:24
oh, i didn't have to 01:25
changed Zef.pm6 to first check for json::fast and "zef list" runs in 4.5s instead of 7 01:28
MasterDuke AlexDaniel: the Pastebin::Gist test hang is completely separate from any zef issue, right? 01:29
i should be able to repro just running its tests?
AlexDaniel MasterDuke: it's an issue in HTTP::UserAgent, yes: github.com/sergot/http-useragent/p...-366106934
MasterDuke: so it goes away if use HTTP::UserAgent on HEAD^^ 01:30
(before your pull request was merged)
MasterDuke hm, i probably have a little time to look into it
01:31 pharv joined 01:34 pugcs left 01:38 pierre left 01:39 pierre joined, TEttinger joined 01:40 pierre left
AlexDaniel sees notificiation: ““zef --deps-only install .” took 11 minutes 58 seconds” 01:40
01:40 pierre joined, pierre left
AlexDaniel even forgot that it was running… 01:40
undistract-me++
01:41 konsolebox left 01:43 konsolebox joined
Juerd doesn't understand why .codes exists if you can do +.ords 01:47
timotimo is it equivalent with regards to synthetics? 01:50
u: combining
unicodable6 timotimo, U+0300 COMBINING GRAVE ACCENT [Mn] ( ̀)
timotimo, U+0301 COMBINING ACUTE ACCENT [Mn] ( ́)
AlexDaniel seems to be, yes
unicodable6 timotimo, 445 characters in total: gist.github.com/75ec50e000e1ffafb8...188e016a6c
timotimo m: .ords.elems.say && .codes.say given "a\u0300\u0301\u0300\u0301" 01:51
camelia 5===SORRY!5===
Unrecognized backslash sequence: '\u'
at <tmp>:1
------> 3.ords.elems.say && .codes.say given "a\7⏏5u0300\u0301\u0300\u0301"
Unrecognized backslash sequence: '\u'
at <tmp>:1
------> 3.elems.say && .codes.say given…
timotimo m: .ords.elems.say && .codes.say given "a\x[0300]\x[0301]\x[0300]\x[0301]"
camelia 4
4
timotimo well, i guess :)
TIMTOWTDI
AlexDaniel greppable: codes 01:52
greppable6 AlexDaniel, 700 lines, 118 modules: gist.github.com/1e0989fb3c4363a07b...a10db195e0
AlexDaniel greppable: \.codes
greppable6 AlexDaniel, 72 lines, 18 modules: gist.github.com/bc2555a33f9080f272...1088f0a7db
AlexDaniel Juerd: can you file a doc issue asking to document that these things are identically, if they are? 01:53
Juerd I guess perhaps .codes is faster :)
AlexDaniel: I don't know if they definitely return the same thing, though :)
AlexDaniel Juerd: then say in the ticket that you are uncertain 01:54
can't +.ords be as fast as .codes?
m: say combinations(9999) # similarly to this? 01:55
camelia Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
AlexDaniel m: say combinations(^9999) # similarly to this?
camelia Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1
AlexDaniel m: say +permutations(9999) # similarly to this? 01:56
camelia Cowardly refusing to permutate more than 20 elements, tried 9999
in block <unit> at <tmp> line 1
AlexDaniel squints
I thought this was fixed? 01:59
m: say +combinations(9999, 10)
camelia 2740611722513691255693587901028251
AlexDaniel this works
Juerd Heh, in a simple benchmark on a single codepoint, .codes was 5 times faster than +.ords :) 02:00
I think that answers my question :)
AlexDaniel does it? To me it reveals a potential speedup 02:01
Juerd Well, .ords returns a Seq, and I can imagine that creating that takes some time. 02:02
Numeric context isn't propagated to the method in any way, or is it?
AlexDaniel it's other way round, and yes it can be done
m: say WHAT combinations(9999, 10) 02:03
camelia (Seq)
AlexDaniel this returns a Seq too
(but obviously it does not go through 2740611722513691255693587901028251 elements when numifying it)
Juerd: thanks 02:06
02:10 cdg joined 02:15 cdg left 02:19 Zoffix joined
Zoffix AlexDaniel: FWIW, not seeing any segfaults after running this gist.github.com/zoffixznet/fa41f42...5bc0e8273f a couple of times of 2018.01.200 02:19
Juerd: yeah, it's propagated 02:20
s: combinations(9999, 10).iterator, 'count-only', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/beaa...or.pm#L780
Zoffix s: "z".codes.iterator, 'count-only', \() 02:21
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/beaa...r.pm#L2590
Zoffix s: "z".ords.iterator, 'count-only', \()
SourceBaby Zoffix, Something's wrong: ␤ERR: Could not find candidate that can do \()␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
AlexDaniel Zoffix: by the way, any idea why this? ↓
m: say +permutations(9999)
camelia Cowardly refusing to permutate more than 20 elements, tried 9999
in block <unit> at <tmp> line 1
AlexDaniel it was working at some point
Zoffix Juerd: And there's your anwer. `.codes` got a count-only optimization, but `.ords` ain't got one.
AlexDaniel maybe it was decided that it shouldn't work, do you remember anything?
Zoffix I remember the discussion that it shouldn't complain, but I don't remember the resolution to it. 02:22
releases: say +permutations(9999)
AlexDaniel (will take some time ↑)
some releases tried very hard to actually do it :)
Zoffix: that's a wrong source for .codes I think 02:23
m: say WHAT ‘foo’.codes
camelia (Int)
committable6 Zoffix, gist.github.com/7702544fa592d9ea01...1d96f44842
AlexDaniel codes returns just an Int, so of course that's fast, yeah…
Zoffix m: dd 'foo'.codes 02:24
camelia 3
Zoffix Ah.
Right, that's just the ReifiedList iterator.
Is .codes == +.ords ? 02:25
AlexDaniel seems so
Zoffix That's not very scientific :)
AlexDaniel it is so across the whole unicode range for one character strings
Zoffix s: "z".ords.iterator, 'pull-one', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/beaa...eq.pm#L214
Zoffix m: dd [.codes, +.ords] with "7\x[308]" 02:26
camelia [2, 2]
Zoffix m: dd [.codes, +.ords] with "e\x[308]"
camelia [1, 1]
AlexDaniel heh, Zoffix goes to read the source code and I'm here trying to fuzz test it XD 02:28
AlexDaniel goes back to the changelog
Zoffix writes opt for both .ords and +.ords 02:35
Well, for Uni.list; no idea what else uses it
AlexDaniel Zoffix: I think permutations thingy is a LHF, filed it here: github.com/rakudo/rakudo/issues/1528 02:36
perhaps leave it open for somebody else to tackle? :)
actually… is it?
AlexDaniel is no longer sure
yea, ok… 02:37
Zoffix FWIW there's also R#1331
synopsebot R#1331 [open]: github.com/rakudo/rakudo/issues/1331 [perf] .count-only/.bool-only exist on combinations/permutations subs, but not methods
AlexDaniel cool, linked it 02:38
02:44 Aquino joined 02:45 ilbot3 left 02:48 Aquino left
Zoffix "NEW version is 653.89x faster" lulz 02:51
And just reifying is 15x faster. 02:52
(653x is +.ords) 02:53
02:55 ilbot3 joined, ChanServ sets mode: +v ilbot3
AlexDaniel hehe 03:03
03:06 pharv left, pharv joined 03:11 pharv left
MasterDuke AlexDaniel: github.com/sergot/http-useragent/pull/188 03:13
AlexDaniel MasterDuke: that's cool. Tests? 03:14
MasterDuke i don't know how HTTP::UserAgent works well enough to write tests 03:15
AlexDaniel MasterDuke: can't you just .get a page? There are many examples: github.com/sergot/http-useragent/tree/master/t 03:18
I don't know what exactly triggers that problem though
MasterDuke well, yeah, but downloading the builds from the whateverable server worked fine (i checked the files were exactly the same when downloaded with wget) 03:19
03:28 konsolebox left 03:29 konsolebox joined 03:31 Zoffix left 03:33 pharv joined
ZzZombo m: say {...}() 03:33
camelia Stub code executed
in block <unit> at <tmp> line 1
ZzZombo m: say {*}()
camelia 5===SORRY!5=== Error while compiling <tmp>
{*} may only appear in proto
at <tmp>:1
------> 3say {*}7⏏5()
expecting any of:
argument list
horizontal whitespace
term
ZzZombo m: say {(*)}()
camelia *
ZzZombo m: say {do *}() 03:34
camelia *
ZzZombo m: say {*.name}()
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *
at <tmp>:1
------> 3say {*.name}7⏏5()
03:38 noganex left 03:39 konsolebox left 03:43 konsolebox joined 03:44 noganex joined, greppable6 left 03:45 greppable6 joined 04:00 konsolebox left 04:05 Cabanossi left 04:06 aborazmeh left 04:07 konsolebox joined, Cabanossi joined 04:27 evalable6 left, evalable6 joined 04:33 AlexDaniel left 04:34 pharv left 04:37 skids left 04:41 headcase joined 04:42 headcase left 04:43 headcase joined 04:53 AlexDaniel joined, pharv joined, pharv left 04:54 pharv joined 04:56 ZzZombo left 04:58 pharv left 05:06 epony left 05:07 epony joined 05:09 epony left 05:24 dustinm` left 05:32 dustinm` joined, epony joined 05:42 curan joined 05:46 epony left 06:09 khw left 06:22 headcase left 06:23 headcase joined 06:27 wamba joined, headcase left 06:33 eroux joined 06:45 headcase joined 06:49 headcase left
Geth doc: ed89bafb6c | (JJ Merelo)++ | doc/Type/Signature.pod6
Improve the example

To reflect what is indicated by @lizmat here
  stackoverflow.com/questions/415313...6_41543023
and also reflect the intent of putting signatures into variables, as said in #1748 (by myself, but still). Also modifies the example changed in #1777, so thanks to @jimav for drawing this to our attention.
06:49
synopsebot Link: doc.perl6.org/type/Signature
06:54 darutoko joined 07:01 robertle left 07:05 konsolebox left, eliasr left 07:07 konsolebox joined 07:09 grondilu joined
grondilu Hello all. FYI, webassembly first public draft is out : www.w3.org/blog/news/archives/6838 07:10
07:11 espadrine left 07:13 Exodist left 07:14 Exodist joined, konsolebox left 07:15 troys left 07:16 konsolebox joined 07:23 konsolebox left 07:24 konsolebox joined 07:41 lowbro joined, lowbro left, lowbro joined 07:48 Ven`` joined 08:00 pierre_ joined, bisectable6 left, bisectable6 joined, ChanServ sets mode: +v bisectable6 08:16 konsolebox left 08:17 konsolebox joined 08:30 wamba left 08:33 dct_ joined 08:36 konsolebox left 08:37 konsolebox joined, headcase joined 08:38 abraxxa joined 08:43 Ven`` left, abraxxa left 08:44 Ven`` joined 08:45 headcase left 08:48 Ven`` left 08:49 AlexDaniel left, Ven`` joined 08:58 headcase joined 09:01 scimon joined, abraxxa joined 09:03 headcase left 09:05 Ven`` left 09:19 wamba joined 09:21 zakharyas joined 09:27 konsolebox_ joined 09:29 konsolebox left 09:37 headcase joined, rindolf joined 09:45 headcase left 09:57 headcase joined 10:02 garryq joined 10:05 headcase left 10:12 headcase joined 10:21 headcase left 10:27 headcase joined
El_Che last murias 10:30
oops
.tell pmurias Have you heard of Graal (JVM of dynamic langs): www.oracle.com/technetwork/oracle-l...index.html github.com/oracle/graal 10:31
yoleaux El_Che: I'll pass your message to pmurias.
10:36 headcase left 10:40 AlexDaniel joined 10:42 Ven`` joined 10:43 konsolebox_ left 10:44 konsolebox joined 10:55 parv joined 10:56 AlexDaniel left 11:06 evalable6 left, evalable6 joined, ChanServ sets mode: +v evalable6 11:19 lucasb joined 11:24 telex left 11:26 telex joined 11:28 zakharyas left 11:37 headcase joined 11:39 zakharyas joined 11:46 headcase left, headcase joined 11:50 zakharyas left 11:51 headcase left 11:56 konsolebox left 11:57 zakharyas joined, konsolebox joined 11:59 pierre_ left 12:00 pierre_ joined, Ven`` left 12:01 gabiruh joined 12:04 pierre_ left 12:08 headcase joined 12:11 curan left 12:13 headcase left, pierre_ joined 12:17 headcase joined 12:20 amalia___ joined, konsolebox left 12:22 headcase left 12:23 konsolebox joined 12:24 Ven`` joined 12:26 zakharyas left 12:27 wamba left 12:45 konsolebox left 12:49 konsolebox joined 12:54 eliasr joined 12:56 parv left, Ven`` left 12:59 pierre_ left, pierre_ joined 13:03 pierre_ left 13:06 aborazmeh joined, aborazmeh left, aborazmeh joined
jkramer m: my Array[Array[Str]] @field = "foo\nbar\nbaz".lines.map(*.comb.Array); 13:26
camelia Type check failed in assignment to @field; expected Array[Array[Str]] but got Array ($["f", "o", "o"])
in block <unit> at <tmp> line 1
jkramer Oh wait
m: my Array[Array[Str]] $field = "foo\nbar\nbaz".lines.map(*.comb.Array); 13:27
camelia Type check failed in assignment to $field; expected Array[Array[Str]] but got Seq ($((["f", "o", "o"], [...)
in block <unit> at <tmp> line 1
jkramer m: my Array[Str] @field = "foo\nbar\nbaz".lines.map(*.comb.Array);
camelia Type check failed in assignment to @field; expected Array[Str] but got Array ($["f", "o", "o"])
in block <unit> at <tmp> line 1
jkramer What's am I doing wrong?
13:28 comborico1611 joined 13:30 aborazmeh left
Ulti m: my Array[Str] @field = "foo\nbar\nbaz".lines.map(*.comb.Array).Array; 13:30
camelia Type check failed in assignment to @field; expected Array[Str] but got Array ($["f", "o", "o"])
in block <unit> at <tmp> line 1
Ulti m: my Array[Array[Str]] @field = "foo\nbar\nbaz".lines.map(*.comb.Array).Array;
camelia Type check failed in assignment to @field; expected Array[Array[Str]] but got Array ($["f", "o", "o"])
in block <unit> at <tmp> line 1
jnthn m: my Array[Str] @field = "foo\nbar\nbaz".lines.map({ Array[Str](.comb) }); 13:31
camelia ( no output )
jnthn It's nominal typing, so you must make the inner arrays be created as an Array[Str], not just an untyped Array
13:35 zakharyas joined
jkramer Ah ok, thanks 13:36
13:43 zakharyas left 13:47 headcase joined 13:48 headcase_ joined 13:49 konsolebox left, konsolebox joined 13:52 headcase left 13:54 konsolebox left 13:57 konsolebox joined, rab26 left 14:02 konsolebox left 14:04 headcase_ left 14:06 konsolebox joined 14:07 pierre_ joined 14:08 headcase joined 14:11 zakharyas joined 14:13 headcase left 14:24 Ven`` joined 14:25 konsolebox left 14:26 konsolebox joined 14:32 skids joined 14:37 Ven`` left 14:40 Ven`` joined 14:47 Ven`` left, headcase joined 14:52 headcase left 14:53 headcase joined 14:58 headcase left, keno joined 15:07 zakharyas left 15:13 keno left 15:21 Ven`` joined 15:24 headcase joined 15:27 zakharyas joined 15:31 headcase_ joined 15:33 imcsk8 left 15:35 headcase left 15:36 eliasr left 15:38 abraxxa left, wamba joined 15:46 AlexDaniel joined 15:47 giraffe left 15:48 Exodist left 15:49 Exodist joined 15:50 pierre_ left 15:52 bart__ joined, bart__ left 16:00 pmurias joined
pmurias El_Che: yep, seems super cool, I would be writing a graal/truffle rakudo backend if I haven't already started on a js one 16:02
yoleaux 10:31Z <El_Che> pmurias: Have you heard of Graal (JVM of dynamic langs): www.oracle.com/technetwork/oracle-l...index.html github.com/oracle/graal
16:24 natrys joined 16:30 zakharyas left 16:33 MC8 left, MC8 joined 16:36 dogbert11 left, markong joined 16:40 Ven`` left 16:41 Ven`` joined 16:42 Ven`` left 16:43 zakharyas joined 16:57 lowbro left, setty1 joined 17:00 troys joined 17:06 scimon left 17:08 eliasr joined 17:10 pharv_ joined
AlexDaniel sergot: you here? 17:16
sergot: I'd appreciate some action on github.com/sergot/http-useragent/pull/188 or a revert of github.com/sergot/http-useragent/pull/187 because the ecosystem seems to be in a bad shape because of it… 17:18
17:23 giraffe joined 17:24 sno left 17:27 comborico1611 left, Ven`` joined
sergot AlexDaniel: hey 17:30
sure thing, looking into it right now
AlexDaniel thank you!
17:32 troys left 17:38 troys joined
APic Yo 17:39
AlexDaniel o/ 17:40
sergot AlexDaniel: I merged the PR, hope it helps! :) 17:42
AlexDaniel sergot: I think it also needs a version bump 17:43
sergot and I gave you pushing access to the repo, does it mean that you can restart the failing builds in travis as well? 17:44
Sure, I'll bump the version right away
because, most of the times, when there's a fail in travis, all it needs is to restart the build
AlexDaniel: done 17:45
AlexDaniel sergot: yes, it seems that I can! 17:46
sergot: thanks!
sergot thank you! 17:47
17:56 Ven`` left 17:57 zakharyas left 17:59 amalia___ left 18:03 _notbenh joined, notbenh left, _notbenh is now known as notbenh 18:09 Ven`` joined 18:19 tt_ left 18:21 pharv_ left 18:24 khw joined, Ven`` left 18:26 pharv joined 18:32 Ven`` joined, pharv left 18:36 eroux left 18:40 Exodist left
Xliff I'm trying to do this in a regexp: <options=[ <SIGNED> || <UNSIGNED> || <ZEROFILL> ]*> 18:40
Yet I'm getting an error. Am I doing this the wrong way?
18:41 Exodist joined, lucasb left
Xliff m: my $a = "abc"; say $a ~~ /<o=\w+>/; 18:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)
at <tmp>:1
------> 3my $a = "abc"; say $a ~~ /<o=7⏏5\w+>/;
expecting any…
Xliff m: my $a = "abc"; say $a ~~ /<$o=\w+>/;
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)
at <tmp>:1
------> 3my $a = "abc"; say $a ~~ /<$o7⏏5=\w+>/;
Xliff m: my $a = "abc"; say $a ~~ /<$/<o?=\w+>/; 18:42
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)
at <tmp>:1
------> 3my $a = "abc"; say $a ~~ /<$/7⏏5<o?=\w+>/;
Xliff m: my $a = "abc"; say $a ~~ /<$<o>=\w+>/;
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in metachar:sym<assert>; couldn't find final '>' (corresponding starter was at line 1)
at <tmp>:1
------> 3my $a = "abc"; say $a ~~ /<$<o>7⏏5=\w+>/;
Xliff m: my $a = "abc"; say $a ~~ /$<o>=\w+>/; 18:43
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse regex; couldn't find final '/'
at <tmp>:1
------> 3my $a = "abc"; say $a ~~ /$<o>=\w+7⏏5>/;
expecting any of:
infix stopper
term
Xliff m: my $a = "abc"; say $a ~~ /$<o>=\w+/;
camelia 「abc」
o => 「abc」
18:46 wamba left
Xliff m: my $a = "$<options>=\w+"; say $a ~~ /<!before '$'> '<' \w+ '>'/; 18:48
camelia 5===SORRY!5=== Error while compiling <tmp>
Unrecognized backslash sequence: '\w'
at <tmp>:1
------> 3my $a = "$<options>=\7⏏5w+"; say $a ~~ /<!before '$'> '<' \w+ '>
expecting any of:
postfix
Xliff m: my $a = "\$<options>=[\w+]"; say $a ~~ /<!before '$'> '<' \w+ '>'/;
camelia 5===SORRY!5=== Error while compiling <tmp>
Unrecognized backslash sequence: '\w'
at <tmp>:1
------> 3my $a = "\$<options>=[\7⏏5w+]"; say $a ~~ /<!before '$'> '<' \w+ '
expecting any of:
double quotes
term
Xliff m: my $a = "\$<options>=[\\w+]"; say $a ~~ /<!before '$'> '<' \w+ '>'/;
camelia 「<options>」
18:49 pharv joined
Xliff m: my $a = '$<options>=[\w+]'; say $a ~~ /<!before '$'> '<' \w+ '>'/; 18:49
camelia 「<options>」
Xliff m: my $a = '$<options>=[\w+]'; say $a ~~ /<?after '$'> '<' \w+ '>'/;
camelia 「<options>」
Xliff m: my $a = '$<options>=[\w+]'; say $a ~~ /<!after '$'> '<' \w+ '>'/;
camelia Nil
18:53 pharv left 18:54 Zoffix joined
Zoffix .seen raiph 18:54
yoleaux I saw raiph 2 Feb 2018 17:27Z in #perl6: <raiph> ^^ skarsnik
18:54 darutoko left 18:57 pharv joined
Zoffix .tell raiph Wanted to accept your challenge for writing a blog post from here ( stackoverflow.com/questions/484883...5_48489204 ), since how we make changes is fairly-well defined, but I'm not following what's the "ouch" stuff about and what "aspect of 2017.01"? 18:57
yoleaux Zoffix: I'll pass your message to raiph.
18:59 Exodist left
Zoffix .tell raiph Ah, nm, that stuff was in reference to the update on OP. Sure, I can explain how stuff like that can happen in a blog post. 19:00
yoleaux Zoffix: I'll pass your message to raiph.
19:01 Exodist joined
Zoffix We need a new word to refer to spectests that are not known to be part of any released language (or are known to not be). raiph's "ouch" comments are basically about this commit github.com/rakudo/rakudo/commit/43...296ecab5be where lizmat++ says "This makes a few spectests fail that test for the return type of .sort being a List"... Which made me kinda worried, since that's 19:08
exactly the issue highlighted on SO. BUT, those weren't "spectests". Those were just 6.d proposals 2016-Zoffix wrote to cover a bug: github.com/perl6/roast/commit/c9cf...44420eb7d9
.oO( "maybetests" ... "sortatests" ... "protests" (for "proposed tests") ... )
19:09
I'm gonna start using "maytests" for roast/master and "proptests" for the subset of them that is known to be not part of any language release. 19:11
huggable: spectests :is: Terminology to more accurately reflect status of tests in roast: irclog.perlgeek.de/perl6/2018-02-16#i_15826474 19:12
huggable Zoffix, Added spectests as Terminology to more accurately reflect status of tests in roast: irclog.perlgeek.de/perl6/2018-02-16#i_15826474
19:18 imcsk8 joined 19:21 releasable6 left, releasable6 joined, ChanServ sets mode: +v releasable6 19:22 yqt joined 19:27 pharv left 19:28 pharv joined
pmurias m: say $?COMPILATION-ID.^name 19:35
camelia BOOTStr
pmurias ^^^ should this be a BOOTStr?
Zoffix
.oO( maybe a SHOEStr is more appropriate… )
19:36
m: say $?COMPILATION-ID
camelia 7C084F4E5C6228F17EDE2ABA1DC32C74C86C1B47
pmurias also we are serializing it in a super weird manner, normally BOOTStrs are serialized specially in code that hardcodes them rather then as normal objects 19:37
19:38 epony joined 19:50 Ven`` left 20:01 Ven`` joined 20:22 Ven`` left 20:24 sno joined 20:43 sno left 20:46 MasterDuke left
skids Zoffix: "Hypotesticals"? Oh wait. No. Terrible idea. 20:47
AlexDaniel geekosaur: any thoughts on github.com/rakudo/rakudo/issues/1533 ? :)
Zoffix skids: eww :) 20:48
geekosaur that sounds about right, yes. the cat vs. redirection thing is a known issue with how /proc is implemented, and perl 6 is not involved
(basically it recreates the data on every read(). you *must* do full block reads, and preferably full file reads but most /proc files are smaller than a full block) 20:49
otoh that should be something at libuv level, so unless moar is disabling libuv's buffering I'd have expected it to work 20:50
Zoffix It's not using libuv there.
Zoffix relocates and will take a closer look afterwards.
AlexDaniel Zoffix: pretty sure the eof check is done by libuv there? 20:51
I could be wrong though
Zoffix nah
Zoffix &
AlexDaniel fwiw the module can be fixed by doing .lines on the slurp-ed file 20:54
which makes more sense actually, but I'm still interested to know rakudo works the way it does now 20:55
why*
20:57 MasterDuke joined 20:59 Rawriful joined
Zoffix Going by memory, it tries to seek to figure out it a handle is seekable (for ttys ot just marks them as non-seekable) and when reading from a handle if read size is smaller then requested, for seekable handles it checks if tell() is more or equal to the filesize from stat call and marks it as EOF and for non-seekable handles it waits until read chunk was 0 before marking them (hence why extra read call might 21:12
be meeded)
And I'm guessing .read also doesn't work on the /proc/ stuff, 'cause that wasn't affected by my commit and still goes through the same moarvm read function 21:13
21:14 bisectable6 left, bisectable6 joined, ChanServ sets mode: +v bisectable6 21:15 pharv left 21:16 pharv joined 21:17 |oLa| joined, |oLa| left, skids left 21:21 headcase_ left
Zoffix weird that .lines works, considering it looks to be delegating to .get 21:22
AlexDaniel Zoffix: are you sure? According to my experiments .lines didn't work 21:23
Zoffix AlexDaniel: oh you said lines on a *slurped* file 21:25
21:26 Kaiepi joined
Zoffix yeah, makes sense that it'd work; it reads until it gets a zero-length read 21:27
21:38 comborico1611 joined 21:46 eliasr left 21:55 dogbert17 joined 22:01 pharv left, pharv joined 22:08 greppable6 left, greppable6 joined 22:10 natrys left 22:11 rindolf left 22:20 yqt left 22:21 sno joined 22:23 grondilu left 22:29 japhb left 22:37 espadrine joined 22:49 pmurias left 22:50 vcv joined
vcv Hi all. If I am iterating over an object's methods using $object.^methods -> $method { ... } how can i actually invoke the method? Just doing $method() gives me: Cannot invoke this object (REPR: Null; VMNull) 22:51
22:51 japhb joined
Zoffix hm 22:53
AlexDaniel m: for 25.^methods { if .name eq ‘base’ { .assuming(2)(2).say } } 22:54
camelia 10
AlexDaniel I actually don't know
Zoffix m: class Foo { method meow { say "meow" } }; for Foo.^methods { .name.say; .(Foo) }
camelia meow
meow
AlexDaniel ahhh
Zoffix vcv: seems to work above. What's your full code?
AlexDaniel m: for Int.^methods { if .name eq ‘base’ { .(25, 2).say } }
camelia 11001
AlexDaniel right!
vcv I'm actually storing the reference to the method and trying to invoke it later. Let me try to do an isolated test case 22:56
Zoffix m: BEGIN my $meth := Int.^lookup: "base"; $meth.(42, 2).say # in some cases like this you'd get a null (can't bind here in BEGIN) 22:58
camelia Cannot invoke this object (REPR: Null; VMNull)
in block <unit> at <tmp> line 1
Zoffix m: BEGIN my $meth = Int.^lookup: "base"; $meth.(42, 2).say # this works tho
camelia 101010
Zoffix vcv: you said "Just doing $method()"... Note that that won't work. You need to give it the object as first arg. Though, in such a case you'd get an error says "expected 1 arg but got 0", not the Null thing 23:02
m: BEGIN my $meth = Int.^lookup: "base"; $meth().say
camelia Too few positionals passed; expected at least 1 arguments but got only 0
in block <unit> at <tmp> line 1
Zoffix m: BEGIN my $meth = Int.^lookup: "base"; $meth(42).say
camelia Cannot resolve caller base(Int: ); none of these signatures match:
(Int:D $: Int:D $base, *%_)
(Int:D $: Cool $base, $digits?, *%_)
in block <unit> at <tmp> line 1
Zoffix "At least 1 arguments"? I guess it can't tell what candidates there are or something? 23:03
Ah, doh, it needs an object to resolve on :)
m: BEGIN my $meth = Int.^lookup: "base"; $meth("meow").say
vcv yes i ran into that. I think I may have figured it out. I don't think you can have a method named MAIN in a class
camelia Type check failed in binding to parameter '<anon>'; expected Int but got Str ("meow")
in block <unit> at <tmp> line 1
Zoffix m: my $meth = class Foo { method MAIN {say "meow"} }; $meth(Foo) 23:04
camelia Cannot find method 'Foo' on object of type Foo
in block <unit> at <tmp> line 1
Zoffix m: my $meth = class Foo { method MAIN {say "meow"} }.^lookup: "MAIN"; $meth(Foo)
camelia meow
Zoffix vcv: it works above. Though `MAIN` is a special sub name. Maybe there's some kind of conflict or something? Would be nice to know what causes it. 23:05
23:05 wamba joined
vcv still trying to ferret out a simple test case from my more complex test case 23:05
23:08 pmurias joined
vcv oooh. the method im trying to invoke has a custom trait on it, not sure if that matters 23:09
when i do say $method.WHAT it prints "(Method+{Wrapped})" 23:10
Zoffix m: class Foo { method MAIN {say "meow"} }; Foo.^lookup("MAIN").wrap: -> | { say "wrap"; nextsame }; my $meth = Foo.^lookup("MAIN"); $meth(Foo) 23:11
camelia wrap
Attempt to return outside of any Routine
in block <unit> at <tmp> line 1

meow
Zoffix m: class Foo { method MAIN {say "meow"} }; Foo.^lookup("MAIN").wrap: sub (|) { say "wrap"; nextsame }; my $meth = Foo.^lookup("MAIN"); $meth(Foo)
camelia wrap
meow
Zoffix m: class Foo { method MAIN {say "meow"} }; my $meth = Foo.^lookup("MAIN"); Foo.^lookup("MAIN").wrap: sub (|) { say "wrap"; nextsame }; $meth(Foo)
camelia wrap
meow
Zoffix m: class Foo { method MAIN {say "meow"} }; my $meth = Foo.^lookup("MAIN"); Foo.^lookup("MAIN").wrap: sub (|) { say "wrap"; nextsame }; $meth.WHAT.say
camelia (Method+{Wrapped})
Zoffix *shrug* works OK above. So at least the wrap isn't it 23:12
jnthn vcv: I assume you are calling $method($an-invocant), not just $method() ? 23:13
23:14 japhb left 23:15 aindilis left, aindilis` joined 23:16 japhb joined
vcv jnthn: yes 23:17
I just put all my code into glot.io and it works there so it must be my version of perl6. may be im too out of date
vcv facepalms
thanks for the help, i did learn a few things 23:18
Zoffix vcv: glot.io got v2017.10... What's your version?
perl6 -v
vcv This is Rakudo Star version 2017.10 built on MoarVM version 2017.10 implementing Perl 6.c. 23:19
Zoffix hm.. same as glot. weird.
vcv Indeed
Zoffix vcv: if you get some golf you could share, you could open an Issue so core devs could try to reproduce the problem: github.com/rakudo/rakudo/issues/new
golf = small program that reproduces the problem 23:20
vcv will do, thanks :)
23:26 comborico1611 left 23:28 setty1 left 23:31 pmurias left 23:47 Rawriful left