»ö« 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
|