»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:02 virtualsue left
lizmat just committed github.com/rakudo/rakudo/commit/d4...f214eb9734 00:04
actually, I think the current implementation of last-index is bogus...
if the list in infinite, self.elems will fail anyway... 00:05
*is
japhb So does anyone actually know what happened to dalek? 00:06
00:06 adu joined
timotimo i managed to get the not and prefix:<!> code much, much tighter 00:07
could be a tiny bit better, but i'll take the current improvement 00:08
00:09 Diederich is now known as Diederich-away 00:19 gfldex left 00:22 renormalist joined
lizmat japhb: afaik, dalek runs on feather and feather is down? 00:23
japhb Ah! For some reason I thought dalek was third party, just invited in, like yoleaux.
lizmat I have no idea, really :-) 00:27
moritz probably knows best 00:28
but asleep
lizmat just committed github.com/rakudo/rakudo/commit/7d...8280b0a768
00:28 adu left
lizmat and with that thought, I'm going to follow moritz' example 00:29
good noght, #perl6!
*night :-)(
00:33 grondilu left 00:35 erkan left 00:36 erkan joined, erkan left, erkan joined
timotimo gnite liz :) 00:38
00:38 lizmat left, lizmat joined 00:41 raiph left
bbkr what should I do when I randomly get segfaults or other errors when using Promises on HEAD rakudo-moar? for example: gist.github.com/bbkr/28e8fd7c90344f4ae6b7 00:41
00:42 ajr_ left
timotimo perhaps see if the problem goes away by setting MVM_SPESH_DISABLE or MVM_JIT_DISABLE in your environment 00:43
so that we can see if jitting/speshing makes things worse or doesn't impact it
bbkr trying it now..
00:43 rurban joined
JimmyZ bbkr: known bug 00:43
github.com/moarvm/moarvm/issues # it's here :) 00:44
bbkr MVM_SPESH_DISABLE=1 did not help 00:45
timotimo OK 00:46
spesh_disable also disables jit
JimmyZ thinks it's a GC bug :P
jnthn JimmyZ: Possible, but previous such issues have often not been that 00:48
(GC happens when all threads have agreed "it's a safe time", so there's actually quite a lot less to go wrong during that.) 00:52
timotimo yeah
00:53 raiph joined
JimmyZ perl6 -e 'loop { start { say "hello" } }' # the easy way to get the bug... 00:53
timotimo oh?
we already lock output stuff, don't we?
When invoking , Provided outer frame 0x376a560 (MVMStaticFrame protect) does not match expected static frame type 0x3774f30 (MVMStaticFrame start) 00:54
i get that after a whole lot of hellos
JimmyZ not sure whether it's the same or not, but similar
00:55 xenoterracide_ joined
timotimo i cannot pipe that into wc -l because that doesn't trigger the bug any more ... 00:55
JimmyZ timotimo: you will get different error after some retry
timotimo No such method 'vow' for invocant of type 'Any'
in method start at src/gen/m-CORE.setting:20725
in sub start at src/gen/m-CORE.setting:20774
after 20 wallclock (35.3 user) seconds 00:56
bbkr I also get jvm bugs when using Promises on the same code - gist.github.com/bbkr/4276c813fc518665a457 - maybe clang is to blame?
timotimo hmmm 00:57
huh, interesting 00:58
this time it stopped writing hello
but it's using a whole lot of cpu time 00:59
so ... must be a live lock?
saying an increasing number gets me to 15818 and then "no such method vow" 01:00
JimmyZ another cpu cost: loop { say "hello"; } cost ~20% CPU ,but with perl5 it costs ~1% cpu
01:00 anaeem1 joined
bbkr in my case "No such method 'vow'" on 46029th iteration 01:01
"invalid status -427132408 in GC orchestrate" on 51480th
"Abort trap: 6" on 63050th 01:02
timotimo could become a stresstest i suppose
JimmyZ I meant perl6-m cost ~20PU 01:03
~20% 01:04
timotimo thought so
01:05 anaeem1 left
bbkr "my $x = 0; loop { start { sleep 0.01 } }" always gives me SEGV 01:05
when variable declaration is removed it works fine 01:06
moar: my $x = 0; loop { start { sleep 0.01 } }
japhb If you can turn it into a bounded loop and still get the errors, that's definitely a good stress test. 01:07
How long does it run before failing?
bbkr "loop { start { sleep 0.01 } }" also failed. after 2 minutes on i4770k + 16GB RAM. 01:08
with variable it fails within few seconds
japhb bbkr: The fact that the presence of 'my $x = 0;' is a reliable SEGV switch seems like a strong indicator.
Oh wait, without it its failing too? Dang. 01:09
bbkr yes, but it takes much longer
japhb hmmmm
bbkr ah, that was not true at all also. another try without variable segfaulted within 2 seconds 01:10
looks like SEGV is ceratin but time is not
JimmyZ A good random time producer :P
japhb Sigh 01:11
jnthn If only we had a good random people-capable-of-finding-thread-bugs producer... :P
Well, s/finding/fixing/ I guess :P
japhb At least you can get a reliable SEGV on very short valid code.
jnthn *nod*
Yes, that's an improvement. 01:12
Now I just need some undisturbed, non-exhausted, time to dig into them.
japhb I'm hoping that if we get the failure repro code short enough, then there's only so much in the VM that could actually even get touched. :-)
japhb idly wonders if its possible to reproduce the error with a very restricted setting. 01:13
Can you spawn threads in RESTRICTED?
01:13 beastd left
japhb m: start { say "Hello"; }; sleep 2; 01:14
camelia rakudo-moar d40fd5: OUTPUT«Hello␤»
01:14 espadrine` left
timotimo i think the restricted setting is actually the core setting *plus* restriction 01:14
s
so it'd end up bigger, i think
japhb m: loop { start { sleep 0.01 } }
camelia rakudo-moar d40fd5: OUTPUT«Memory allocation failed; could not allocate 8824 bytes␤»
japhb Oh, that old song 01:15
JimmyZ gist.github.com/zhuomingliang/135d...file-hangs # I had got some bt :P 01:16
two months ago
01:16 Krabbe_ left
bbkr now I got huge stacktrace on debian-wheezy box: gist.github.com/bbkr/472fcc7373cd21e7b048 01:17
01:17 someanon left
JimmyZ hangs means there is a resource contention between threads ? 01:19
timotimo possible
how do you build thread sanitization?
JimmyZ don't know, I'm on win32 01:20
japhb Search for ThreadSanitizer aka tsan
01:23 exixt_ is now known as exixt
timotimo maybe i have helgrind here already 01:25
01:25 araujo left 01:26 araujo joined 01:27 exixt is now known as exixt_ 01:30 cognominal left
timotimo helgrind doesn't see problems with the code, it seems 01:30
TimToady you need one of them analyzers that solves the halting problem 01:31
colomon is reminded that Jen once told her coworkers she was going to use one of those new-fangled teleporters to get to Florida... 01:34
01:35 exixt_ is now known as exixt 01:43 leont left
timotimo i'm going to bed, too 01:50
i accumulated a slight headache somehow
vendethiel :(
g'night, timotimo
01:57 anaeem1 joined 02:02 anaeem1 left 02:04 anaeem1 joined 02:08 anaeem1_ joined, anaeem1 left, xinming joined 02:11 xinming_ left 02:12 anaeem1_ left 02:19 anaeem1 joined 02:24 anaeem1 left 02:30 anaeem1 joined 02:35 anaeem1 left 02:38 regreg joined 02:46 erkan left, anaeem1 joined 02:51 anaeem1 left 02:53 rurban left 03:01 tinyblak left, tinyblak joined 03:02 anaeem1_ joined 03:03 anaeem1_ left, anaeem1 joined, JimmyZ left 03:10 regreg left 03:14 synopsebot left 03:15 synopsebot joined 03:17 bjz left 03:18 bjz joined, tinyblak_ joined 03:19 Mouq joined 03:22 tinyblak left 03:31 raiph left, labster left 04:00 xenoterracide_ left, xenoterracide_ joined 04:03 anaeem1 left, anaeem1 joined 04:04 rmgk_ joined, rmgk left, rmgk_ is now known as rmgk 04:07 anaeem1 left 04:08 raiph joined 04:09 raiph left 04:24 KCL_ joined 04:30 Ben_Goldberg joined 04:33 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 04:37 bjz_ joined, bjz left 04:47 bjz_ left 04:48 xenoterracide_ left 04:50 bjz joined 04:59 esaym153 left, esaym153 joined 05:01 dsm joined
dsm $ panda install IO::Socket::INET 05:02
resolve stage failed for IO::Socket::INET: Project IO::Socket::INET not found in the ecosystem
are there any Socket package in Perl 6?
tony-o it's in core iirc 05:03
dsm what is iirc? 05:04
tony-o if i recall correctly
r: IO::Socket::INET.new;
camelia rakudo-moar 7dd729: OUTPUT«Unhandled exception: Nothing given for new socket to connect or bind to␤ at <unknown>:1 (/home/camelia/rakudo-inst-1/languages/perl6/runtime/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:13764 (/home/camelia/rakudo-inst-1/langu…»
..rakudo-parrot 7dd729: OUTPUT«Nothing given for new socket to connect or bind to␤current instr.: 'throw' pc 476005 (src/gen/p-CORE.setting.pir:197349) (gen/parrot/CORE.setting:12131)␤called from Sub 'sink' pc 519057 (src/gen/p-CORE.setting.pir:213085) (gen/parrot/CORE.setting:137…»
dsm :( Thanks 05:05
tony-o why :(? 05:07
dsm are there any cpan like page about IO::Socket::INET?
tony-o there may be, none that i know of currently..the source is located here: github.com/rakudo/rakudo/blob/nom/...et/INET.pm 05:08
dsm thank you :) 05:09
tony-o np[ 05:12
05:21 BenGoldberg left 05:47 adu joined 05:48 araujo left
dsm github.com/rakudo/rakudo/blob/nom/...ore/Str.pm in this file, state %map is the whole list of currently supported encoding by Rakudo? 06:00
Mouq would guess it's backend-dependent 06:09
06:09 xenoterracide_ joined
Mouq r: "abcd".encode("invalid"0 06:11
camelia rakudo-{parrot,moar} 7dd729: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Unable to parse expression in argument list; couldn't find final ')' ␤at /tmp/tmpfile:1␤------> "abcd".encode("invalid"⏏0␤ expecting any of:␤ …»
Mouq r: "abcd".encode("invalid")
camelia rakudo-moar 7dd729: OUTPUT«Unknown string encoding: 'invalid'␤ in method encode at src/gen/m-CORE.setting:7116␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-parrot 7dd729: OUTPUT«encoding #-1 not found␤ in method encode at gen/parrot/CORE.setting:7123␤ in block <unit> at /tmp/tmpfile:1␤␤»
Mouq r: "abcd".encode("windows1252")
camelia rakudo-moar 7dd729: OUTPUT«Unknown string encoding: 'windows1252'␤ in method encode at src/gen/m-CORE.setting:7116␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-parrot 7dd729: OUTPUT«encoding #-1 not found␤ in method encode at gen/parrot/CORE.setting:7123␤ in block <unit> at /tmp/tmpfile:1␤␤»
Mouq m: nqp::encode(nqp::unbox_s("abcd"), nqp::unbox_s("windows1252"), nqp::decont(blob8.new)) 06:13
camelia rakudo-moar 7dd729: OUTPUT«Unknown string encoding: 'windows1252'␤ in block <unit> at /tmp/v2E5LjQNy2:1␤␤»
Mouq huh
r: "abcd".encode("windows-1252") 06:15
camelia rakudo-parrot 7dd729: OUTPUT«encoding #-1 not found␤ in method encode at gen/parrot/CORE.setting:7123␤ in block <unit> at /tmp/tmpfile:1␤␤»
..rakudo-moar 7dd729: OUTPUT«Unknown string encoding: 'windows-1252'␤ in method encode at src/gen/m-CORE.setting:7116␤ in block <unit> at /tmp/tmpfile:1␤␤»
tony-o Mouq: where is windows-1252 06:16
Mouq It's defined in MoarVM/src/strings/ops.c, it just isn't actually checked for to see if it's a valid encoding around line 1498 06:17
dsm: This is the best we have for IO::Socket::INET that I know of :( perlcabal.org/syn/S32/IO.html#IO%3A...%3A%3AINET 06:20
dsm thank you.
06:21 xenoterracide_ left
Mouq Although that does inherit from IO::Socket, which has slightly better documentation above it. Still very LTA 06:21
Mouq can't help with that tonight though
Mouq -> bed
dsm GN 06:22
06:26 Mouq left 06:51 adu left 06:52 bjz left 06:55 dsm left, bjz joined
moritz \o 07:13
07:14 someanon joined 07:21 anaeem1 joined 07:30 anaeem1_ joined 07:31 anaeem1 left 07:47 sqirrel__ joined 07:55 KCL joined 07:57 KCL_ left 08:00 KCL_ joined 08:02 kaare_ joined 08:03 KCL left 08:04 [Sno] left 08:05 darutoko joined 08:09 [Sno] joined 08:12 rurban joined 08:13 erkan joined 08:21 kurahaupo joined 08:32 anaeem1_ left, anaeem1_ joined 08:35 gfldex joined 08:37 anaeem1_ left, smls joined
smls How come loop control works inside map closures? 08:38
m: say (0..9).map: { next if $_ % 2; $_ } # poor man's grep :P
camelia rakudo-moar 7dd729: OUTPUT«0 2 4 6 8␤»
moritz smls: it's by design 08:39
smls: for loops desugar to a map
smls is it a built-in special case, or is it build on the exception system? 08:40
moritz the latter 08:41
smls m: my @things = 1 , { 2 } , 3; say @things.perl 08:47
camelia rakudo-moar 7dd729: OUTPUT«Array.new(1, -> ($_? is parcel) { #`(Block|72988912) ... }, 3)␤»
smls perlcabal.org/syn/S06.html#line_388 says "If the term bare block occurs in a list, it is considered the final element of that list unless followed immediately by a comma or colon" 08:48
does that mean something different?
08:48 sqirrel__ left 08:50 molaf_ joined
moritz smls: "intervening \h* or "unspace" is allowed" 08:52
m: say so ' ' ~~ /^\h*$/
camelia rakudo-moar 7dd729: OUTPUT«True␤»
smls oh, right
08:53 molaf__ left
smls In any case I'm sceptical about the special parsing rules for blocks 08:54
Also the "semicolon optional after a } at the end of the line" rule
In Perl 5 it only applied to block statements like for/if, which are *already* special as far as parsing is concerned 08:55
08:56 rindolf joined
smls In Perl6 it was extended to all blocks, but I don't feel like that increases overall "consistency" -- more like spreads the inconsistency further... ;) 08:56
...into places where innocent writers/readers of code might not expect it.
moritz smls: have you ever used Mojolicious in p5? 08:57
smls no
moritz smls: in the ::Lite version, controllers typically look like get '/url' => sub { ... }; 08:58
smls: and when the sub is 10 or 20 lines long, it is *very* easy to forget that this is an anonymous sub, and must be terminated by }; and not just }
smls mmh 08:59
moritz smls: and of course p5 gives quite obscure errors when you forget it
smls: given that experience, I'm very grateful for that rule
smls: also, I routinely forget to close several-line eval { } blocks with a ;
smls I don't tend to use eval, but I do like to use anonymous subs a lot in Perl 5. I don't have trouble remembering that they are expressions, in context. 09:03
I do agree though, that error messages can get pretty bad in Perl 09:04
09:04 [Sno] left
smls Especially with thinks like forgetting semicolons or braces, which I used to do when I was new to Perl 09:04
*things
09:06 [Sno] joined
smls In any case, I think there is something to be said for keeping syntactical special cases & inconsistencies containined in places that are deemed special enough to deserve them :) 09:07
09:09 kurahaupo left
masak good antenoon, #perl6! 09:21
09:21 ptc_p6 joined
moritz \o masak 09:25
09:26 Sam______ joined
Sam______ Hi perl mongers 09:26
I've been a perl programmer since 1997... i love this language... BUT... currently doing it more on PHP and C... wanted to switch to Golang... but find C is best for efficiencies... 09:27
Perl is dying
xiaomiao so it goes
Sam______ My proposition is this... we need to make it faster and compiled. 09:28
xiaomiao Gentoo has been dying since 2004, and now it's even used by Google (ChromeOS) and CoreOS
Sam______ CPAN is a treasure trove. COMPILE and speed it up yo! else... it's like a joke now
xiaomiao it's apparently just dying faster every year until it takes over everything (like perl? ;) )
09:28 firefish5000 joined
lizmat Sam______: rakudo perl6 *is* compiled 09:28
not yet faster than Perl5, but there are benchmarks in which rakudo perl6 is faster than perl5 09:29
moritz Sam______: your contributions to make perl 5 and/or perl 6 faster are very welcome
and compiling isn't a magic bullet to making things faster
lizmat Sam______: speeding up simple Perl5 code is what "use v5" and JIT compiling promises to deliver
Sam______ fine fine... what about hhvm equivalent for perl then? 09:30
hhvm is a game changer. we need something like that 09:31
xiaomiao Sam______: using php as an example is kinda ... no! go away!
moritz Sam______: then do it
Sam______: I'll even work full-time on it if you organize the funds
Sam______ how much is needed? we can raise on kickstarter? 09:32
09:32 rurban left
moritz well, a full time salary 09:33
09:33 rurban joined
Sam______ i was thinking in the line of perl -> php -> hhvm will be great improvement... kinda strange huh? 09:34
moritz yes, kinda very strange
afk& 09:35
09:35 sqirrel__ joined
masak does anyone know of any good resources for canonicalizing undirected multigraphs? 09:37
lizmat not me 09:38
sightseeing&
09:39 rindolf left 09:41 kaare_ left 09:43 rindolf joined
jnthn morning, #perl6 09:43
09:45 kaare_ joined
rindolf jnthn: morning, sup? 09:49
arnsholt o/
09:49 ghostlines joined
Sam______ why doesnt github.com/Perl/perl5 have issues section? also... where is perl6 on github? if you guys really want traction and serious contribution, put it on github. this language... has one of the worst way of contributing code i've come across... 09:50
09:51 JimmyZ joined
tadzik 1) why are you asking about perl 5? 2) Just how not-obvious is github.com/perl6? :) 09:52
btyler_ Sam: github.com/rakudo/rakudo and github.com/perl6 :P 09:53
tadzik (hello, #perl6)
masak o/
btyler_ perl5 uses a different model, they use a different bugtracker (which has plenty of activity)
I'd note that there aren't actually many major dynamic languages that use the github issues (cpython, ruby also do not) 09:55
firefish5000 Anyone know of a good way to write testable docs? For instance, a program that test each pod segment (begin to end/cut) with the code that follows, and then output the documentation in html/pod/otherformat with [pass/fail VERSION(s)] status in the segments header? (could pod do this? =pod test or something?) 09:57
jnthn firefish5000: Well, you can introspect the Pod associated with a given routine with .WHY, so that bit works out. 10:00
10:02 telex left 10:04 telex joined
vendethiel (hello, #perl6) 10:07
masak hayo, ven 10:08
vendethiel masak: do you haz any idea when you're gonna blog agan :)? 10:12
masak I keep telling myself to do it, but it doesn't seem to work :/ 10:13
10:13 exixt is now known as exixt_
masak I've only had stretches of incredibly-busy time and brain-dead-recovering time recently. 10:14
this may change in a week or so.
I may get a blog post or two in before that. but no promises.
seems I 9 things queued up to blog about right now. all of them macro-related. 10:15
have*
jnthn So blog... 10:18
jnthn didn't do a post for ages... :S
.oO( I didn't do much useful for ages... )
masak pfah. what has ages done for you recently? 10:20
masak .oO( ask not what ages can do for you... ) 10:22
10:23 sqirrel__ left 10:27 spider-mario joined
firefish5000 back, (read S26). so <#| MyPod \n Class/method> would associate MyPod to the class/method. But if I wanted to add the pass/fail or in/out-of-date status to the header, I would need a script to call said routine and its .WHY, and modify the header, and output that to the docs directory... 10:35
10:37 Krabbe_ joined 10:39 ghostlines left
masak firefish5000: sounds interesting. please share any early results you get about this. 10:42
&
10:47 espadrine` joined 10:53 espadrine` is now known as espadrine_, lizmat left 10:55 virtualsue joined
firefish5000 lol, while I will happily share my work and results. But don't expect too much of me. (though I would be happy if you guys criticized me as if you did. I could use it) 10:56
10:58 woolfy left 11:04 ggoebel111111111 joined 11:06 ggoebel111111119 left 11:14 Krabbe_ left
moritz FROGGS: testers.perl6.org is down :( 11:29
11:37 rindolf left
smls m: say ("aaa,bbb,ccc" ~~ /^ (.*?) +% "," $/)[0]».Str.perl 11:40
camelia rakudo-moar 7dd729: OUTPUT«("", "a", "aa", "aaa", "", "b", "bb", "bbb", "", "c", "cc", "ccc")␤»
smls What's going on there?
How can it match the same letters repeatedly with the same capture group?
When I'm not doing any recursion afaict... 11:42
FROGGS moritz: it is up again 11:44
11:45 psch joined
psch hi #perl6 11:46
11:48 rindolf joined
FROGGS hi psch 11:49
psch m: say ("aaa,bbb,ccc" ~~ /^ (.*?) +% ',' $/)[0;$_].perl for 0..3 11:51
camelia rakudo-moar 7dd729: OUTPUT«(Match.new(orig => "aaa,bbb,ccc", from => 0, to => 0, ast => Any, list => ().list, hash => EnumMap.new()),)␤(Match.new(orig => "aaa,bbb,ccc", from => 0, to => 1, ast => Any, list => ().list, hash => EnumMap.new()),)␤(Match.new(orig => "aaa,bbb,ccc", fr…»
psch $0 consists of another list of matches, of which some don't match the whole string or something? 11:52
not sure why they don't, because the pattern is anchored
hey FROGGS 11:53
FROGGS o/
psch m: say ("aaa,bbb,ccc" ~~ /^ (.*?) +% ',' $/).elems
camelia rakudo-moar 7dd729: OUTPUT«1␤»
psch m: say ("aaa,bbb,ccc" ~~ /^ (.*?) +% ',' $/)[0].elems
camelia rakudo-moar 7dd729: OUTPUT«12␤»
psch "match the whole string with as little as possible seperated by commas" is how i parse the regex verbally 11:54
FROGGS m: say ("aaa,bbb,ccc" ~~ /^ (.*?) +% ',' $/)[0]
camelia rakudo-moar 7dd729: OUTPUT«「」␤ 「a」␤ 「aa」␤ 「aaa」␤ 「」␤ 「b」␤ 「bb」␤ 「bbb」␤ 「」␤ 「c」␤ 「cc」␤ 「ccc」␤␤»
psch m: say ("aaa,bbb,ccc" ~~ /^^ (.*?) +% ',' $$/)[0].elems
camelia rakudo-moar 7dd729: OUTPUT«12␤»
psch oh 11:55
m: say ("aaa,bbb,ccc" ~~ /^^ (.*?)+ % ',' $$/)[0].elems
camelia rakudo-moar 7dd729: OUTPUT«12␤»
FROGGS why does it capture '', 'a' and 'aa' ?
psch that makes more sense :P
FROGGS: ^^^
the capture group gets repeated
FROGGS >.<
psch and it's non-greedy, so it starts empty
11:55 rindolf left
psch m: say ("aaa,bbb,ccc" ~~ /^^ (.*)+ % ',' $$/)[0].elems 11:55
camelia rakudo-moar 7dd729: OUTPUT«1␤»
psch that gobbles everything 11:56
m: say ("aaa,bbb,ccc" ~~ /^^ (<-[,]>*)+ % ',' $$/)[0] # might be what smls wants
camelia rakudo-moar 7dd729: OUTPUT«「aaa」␤ 「bbb」␤ 「ccc」␤␤»
11:56 BenGoldberg joined
smls psch: I know i can write it that way, but why do I have to? 11:56
psch smls: because /(.*?) +% ','/ means /(.*?)+ % ','/ 11:57
which means "repeated 1 or more empty-or-more groups and seperate them with commas"
m: say ("aaa,bbb,ccc" ~~ /^^ (.+)+? % ',' $$/)[0] # curious
camelia rakudo-moar 7dd729: OUTPUT«「aaa,bbb,ccc」␤␤»
psch m: say ("aaa,bbb,ccc" ~~ /^^ (.*?)+? % ',' $$/)[0] # curious 11:58
camelia rakudo-moar 7dd729: OUTPUT«「」␤ 「a」␤ 「aa」␤ 「aaa」␤ 「」␤ 「b」␤ 「bb」␤ 「bbb」␤ 「」␤ 「c」␤ 「cc」␤ 「ccc」␤␤»
11:58 sqirrel__ joined
psch smls: the capture is fine matching nothing, it then checks for ',', fails, and matches nothing + 1 11:59
it can't match 'a,b' because that's when ',' matches
so it starts from nothing again 12:00
m: say ("abc" ~~ /(.*?)/).perl
camelia rakudo-moar 7dd729: OUTPUT«Match.new(orig => "abc", from => 0, to => 0, ast => Any, list => (Match.new(orig => "abc", from => 0, to => 0, ast => Any, list => ().list, hash => EnumMap.new()),).list, hash => EnumMap.new())␤»
psch m: say ("abc" ~~ /(.*?)+/)[0].elems
uh
right
camelia rakudo-moar 7dd729: OUTPUT«Memory allocation failed; could not allocate 228392960 bytes␤»
12:00 virtualsue left
smls but «「a」␤ 「aa」␤ 「aaa」» means that the same a is matched multiple times, how is that possible? 12:01
psch yeah basically that, except seperated with commas which keeps it in check somewhat
smls: afaiu, the % ',' restarts from the beginning of the string. not sure if that's what we want there
m: say ("aa,bb" ~~ /^ [(.*?)+ % ','] $/)[0].elems 12:02
camelia rakudo-moar 7dd729: OUTPUT«6␤»
jnthn I wonder if it's somehow failing to throw away intermediate captures... 12:03
psch isn't quite sure where to look... 12:04
smls m: say ("aaa,bbb,ccc" ~~ /^ (.*?) [',' (.*?)]* $/) # what i thought the % construct desugeres too... 12:05
camelia rakudo-moar 7dd729: OUTPUT«「aaa,bbb,ccc」␤ 0 => 「aaa」␤ 1 => 「」␤ 1 => 「b」␤ 1 => 「bb」␤ 1 => 「bbb」␤ 1 => 「」␤ 1 => 「c」␤ 1 => 「cc」␤ 1 => 「ccc」␤␤»
smls can't spell today 12:06
psch interestingly that one has a similar problem, from the looks of it
smls yeah but only in the second part
psch nested quantifiers /o\ 12:07
smls well it's hard to avoid them when using % 12:08
m: say ("aaa,bbb,ccc" ~~ /^ [(.+?) [',' || $ ]]+ $/) 12:14
camelia rakudo-moar 7dd729: OUTPUT«「aaa,bbb,ccc」␤ 0 => 「a」␤ 0 => 「aa」␤ 0 => 「aaa」␤ 0 => 「b」␤ 0 => 「bb」␤ 0 => 「bbb」␤ 0 => 「c」␤ 0 => 「cc」␤ 0 => 「ccc」␤␤»
psch i'm not advocating avoiding them, they just seem a bit wonky and complicated to get right from the outside
smls m: say ("aaa,bbb,ccc" ~~ /^ [(.+?) ',']/) 12:16
camelia rakudo-moar 7dd729: OUTPUT«「aaa,」␤ 0 => 「aaa」␤␤»
smls m: say ("aaa,bbb,ccc" ~~ /^ [(.+?) ','] ** 1/)
camelia rakudo-moar 7dd729: OUTPUT«「aaa,」␤ 0 => 「a」␤ 0 => 「aa」␤ 0 => 「aaa」␤␤»
smls looks like non-greedy quantifiers really don't like being nested inside other quantifiers 12:17
psch m: say ("aaa,bbb,ccc" ~~ /^ [(.+) ','] ** 1/)
camelia rakudo-moar 7dd729: OUTPUT«「aaa,bbb,」␤ 0 => 「aaa,bbb,ccc」␤ 0 => 「aaa,bbb,cc」␤ 0 => 「aaa,bbb,c」␤ 0 => 「aaa,bbb,」␤ 0 => 「aaa,bbb」␤␤»
psch that doesn't really look better
smls m: say ("abcd" ~~ /^ [(.+?)] ** 1 $/ ) # simpler test-case 12:18
camelia rakudo-moar 7dd729: OUTPUT«「abcd」␤ 0 => 「a」␤ 0 => 「ab」␤ 0 => 「abc」␤ 0 => 「abcd」␤␤»
timotimo m: say ("abc,xyz,hjk" ~~ /^^ (.*?)+ % ',' $$/)[0]>>.Str 12:19
camelia rakudo-moar 7dd729: OUTPUT« a ab abc x xy xyz h hj hjk␤»
timotimo checks it out in the debugge 12:20
very strange indeed 12:21
r: say ("abc,xyz,hjk" ~~ /^^ (.*?)+ % ',' $$/)[0]>>.Str 12:22
camelia rakudo-{parrot,moar} 7dd729: OUTPUT« a ab abc x xy xyz h hj hjk␤»
timotimo well, it's not our code-gen that'd be broken
jnthn It could be consistently broken :P
The porting was done to be semantically faithful, after all... 12:23
timotimo the behavior it shows in the debugger is also strange, but it could just be that the highlighting isn't 100% correct there 12:24
12:28 Ugator1 joined
sergot gi o/ 12:40
hi
:)
psch sergot o/ 12:42
smls m: say ("abc" ~~ /^ [(.*) abc] ** 1/) # another simple testcase
camelia rakudo-moar 7dd729: OUTPUT«「abc」␤ 0 => 「abc」␤ 0 => 「ab」␤ 0 => 「a」␤ 0 => 「」␤␤»
smls It's as if the capture group contents from failed matches encountered during backtracking, make it into the result... 12:43
timotimo somethin glike that seems to happen, aye
sergot psch: o/ 12:44
smls And in case of non-greedy quantifiers, during "forward-tracking: :P 12:46
jnthn away for a bit
12:47 Lasse_ joined 12:50 sqirrel__ left 12:54 bjz_ joined 12:56 bjz left 13:12 sqirrel__ joined 13:16 khisanth_ joined 13:18 Khisanth left
psch figured out his breakage with the jvminterop bit from yesterday 13:30
turns out the spec between classname and :from<java> is not optional ._.
s/spec/space/
uh
i mean
it's forbidden
words are hard :/
FROGGS yes 13:32
that are two different things
timotimo oh yes
very much so
one is specifying what stuff to import after the use
FROGGS one is a named param and is part of the longname of the module, the other one is about export tags
timotimo the other specifies what exactly gets used
psch it does make sense, seeing as :: is for package separation and a single : adjunct to the class changes the class itself 13:35
while with space it adverbs the use itself
(at least that's how it makes sense in my head)
masak is back 13:36
psch useing is where the interop stops though, nowadays 13:37
13:37 raiph joined
FROGGS we just need someone who goes deeper into the rabbit hole and who wants to achieve something 13:37
I have no motivation (nor use) to do anything with it 13:38
13:38 xenoterracide_ joined
psch oh, i understand that. i'd like to achieve something, but i think it'd take rather long and there's probably people smarter than me around who'd be able to do it quicker and possibly cleverer and cleaner 13:38
but most of those probably have no interest, which is ok 13:39
afaiu the HOW has to reach into the jvm-world to pull things out and compose correctly, from a rather abstract POV 13:40
seeing as the bytecode knows what methods exist and how they can be called, but the HOW currently is skeletal at best, which means nothing comes through to P6-land
my MOP-understanding might be lacking as well... :)
FROGGS rurban: ping # parrot HEAD does not build on windows... and I start panicking because we were meant to update to 6.10.0 next week :/ 13:41
13:44 ennnio joined
raiph rurban: "The user(s) account is temporarily over quota. <ru@x-ray.at>" 13:46
13:49 daxim left 13:53 ab5tract joined 14:03 Mouq joined 14:13 cognominal joined
colomon timotimo: okay, apparently my waiting is not going to see ABC work again, except possibly by accident. any hints on how to bisect nqp/moar? 14:13
14:17 Mouq left 14:19 sqirrel__ left
masak m: say { :a(2) :b(3) :c(4) }.perl 14:20
camelia rakudo-moar 7dd729: OUTPUT«{"a" => 2}␤»
masak o.O
I postulate that this is wrong and that the output hash should have three items. 14:21
any second opinion?
psch masak: i think that's already ticketed somewhere
14:21 Alula left
psch i remember asking about something similar some time back 14:21
14:22 Alula joined
masak oki 14:22
14:22 ab5tract left
masak psch: do you happen to know which RT number? 14:22
psch no, i'm looking though
colomon std: say { :a(2) :b(3) :c(4) }.perl
14:22 camelia left 14:23 raiph left
masak .oO( so incorrect, it makes camelia quit ) 14:23
14:24 camelia joined
colomon if I've built a new nqp, how to I get rakudo to recompile using it? make doesn't cut it. 14:24
14:24 ggoebel111111111 left
masak probably need to reconfigure too. 14:25
camelia std : OUTPUT«Can't chdir to '/home/camelia/std/snap': No such file or directory at lib/EvalbotExecuter.pm line 166.␤ EvalbotExecuter::_auto_execute(HASH(0x1c009c8), "say { :a(2) :b(3) :c(4) }.perl", GLOB(0x9970280), "/tmp/UmjQRTr4rc", "std") called at lib/EvalbotExecuter.pm line 1…»
14:25 ChanServ sets mode: +v camelia, dwarring left
masak m: my @x = 42; my $y = @x.unshift; say $y.perl 14:28
camelia rakudo-moar 7dd729: OUTPUT«[42]␤»
masak submits rakudobug
masak is sad that this can happen to Rakudo in 2014 14:29
colomon woah
that's crazy
masak I thought we had tests and stuff.
colomon p: my @x = 42; my $y = @x.unshift; say $y.perl
camelia rakudo-parrot 7dd729: OUTPUT«[42]␤»
vendethiel m: my @x = 42; my $y = @x.unshift; say $y.perl; say @x.perl 14:30
camelia rakudo-moar 7dd729: OUTPUT«[42]␤Array.new(42)␤»
14:30 woolfy joined
masak o.O 14:30
vendethiel masak: you wanted to dig in? I deg deeper
masak oh wait
vendethiel (deg?)
colomon masak: you're thinking shift
masak yeah.
vendethiel yes
colomon that code is right
vendethiel you unshift nothing
masak masak--
vendethiel so you add nothing at the beginning of the array
masak rightright 14:31
false alarm, everybody.
(phew)
vendethiel \o/
masak not really sure what to learn from that.
vendethiel now that'd have been a fun one...
masak "shift/unshift are not logical names", maybe.
vendethiel right. but we can't force these to take arguments (arity >= 1) because argument lists flatten
masak also "command methods are better off not having return values" 14:32
colomon masak: return values let you chain it
JimmyZ lpush lpop/ rpush rpop :P 14:33
from Redis command ... 14:34
psch masak: can't find a ticket referenced, only irclog that says it's not implemented from late 2013-12 14:37
(before i dared come here with a nick that i'd want to keep...)
colomon okay, here's a problem for the build experts.
rakudobrew gives us an really easy way to build any given commit of rakudo 14:38
how could we get an easy way to build any particular triple of rakudo commit, nqp commit, and MoarVM commit?
right now I really struggle with changing MoarVM version, and I've no confidence that I'm actually getting it right. 14:40
and being able to do this is really important for being able to track down weird bugs.
14:41 ab5tract joined
colomon is staring at MoarVM's 05b25a6359c7bcf5ab03357b0d0093f77d28ead6 and thinking it might be the issue with ABC…. 14:44
14:46 firefish5000 left 14:58 bbkr left, bbkr joined 14:59 exixt_ is now known as exixt 15:00 Ugator1 left
masak psch: care to submit a rakudobug for it? 15:07
colomon: I can't immediately come up with a situation where I'd be interested in chaining push/pop/shift/unshift.
15:07 raiph joined
masak colomon: more specifically, I don't think of those four that way. I use all of them for their side effect, and pop/shift for their return value. 15:09
colomon: that said, someone in p6cc did use the return value of .push, so... to each his own, I guess.
15:12 khisanth_ is now known as Khisanth, firefish5000 joined 15:18 rindolf joined
psch masak: RT #123215 15:28
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123215
psch synopsebot \o/
psch afk & 15:29
ab5tract is there an easy way to mitigate a "malformed utf" error? HTML::Parser::XML chokes on the .content of a HTTP::UserAgent response .. of the p6 advent calendar
same content passes through .say just fine
15:34 psch left 15:36 slavik left, Lasse_ left 15:39 raiph left 15:40 rurban left 15:42 sqirrel__ joined 15:47 xenoterracide_ is now known as xenoterracide, xenoterracide left 15:48 bjz_ left, xenoterracide joined, psch joined
xenoterracide you know what'd be cool, if .say... could facilitate logging and it was just outputting to a configurable stdout location by default 15:49
15:49 xenoterracide left 15:50 bjz joined 15:52 KCL_ left
colomon m: say $*OUT = $*ERR; say "whatever" 15:58
camelia rakudo-moar 7dd729: OUTPUT«IO::Handle<<STDERR>>(opened, at line 0 / octet 0)␤whatever␤»
colomon m: $*OUT = $*ERR; say "whatever"
camelia rakudo-moar 7dd729: OUTPUT«whatever␤»
colomon .tell xenoterracide $*OUT = filehandle reassigns stdout, for what that's worth. 16:00
yoleaux colomon: I'll pass your message to xenoterracide.
ugexe ab5tract: do you have a failing test?
or can you just give me something to reproduce the error
my $text = ~$parser.xmldoc.root.elements[0].elements[0]; 16:09
oops
16:10 Ben_Goldberg joined, BenGoldberg left, Ben_Goldberg is now known as BenGoldberg
ab5tract ugexe: i lost the failing case somehow, now i'm getting a different error :/ 16:17
gist.github.com/ab5tract/cbf4867b441ab2ea84d7
16:19 smls left, zakharyas joined 16:31 firefish5000 left
TimToady assignment to $*OUT probably should not work, but "my $*OUT = $*ERR;" should 16:32
PROCESS vars are supposed to be readonly, so that different interpreters running in the same process do not interfere with each other 16:33
colomon TimToady: assigning directly to $*OUT definitely worked when I tried it. 16:34
but it still works if you add my, so if that's more correct...
16:37 sqirrel__ left 16:39 kurahaupo joined 16:41 pecastro left
ugexe seems like it 'might' be http::useragent 16:41
Out of range: attempted to read 947159859 bytes from filehandle
psch m: say $*PERL = "C#" # that's because slangs aren't easy yet, right? 16:44
camelia rakudo-moar 7dd729: OUTPUT«Cannot modify an immutable Perl␤ in block <unit> at /tmp/VBYZkJMMHO:1␤␤»
ab5tract ugexe: yes, sometimes i get that issue. other times i get 'Invocant requires type object but got object'
psch apologizes for the stupid joke
ab5tract psch: :)
ugexe i can get that error by (1 line above the inovant error line) doing say $qnest.perl whatever that means 16:45
ab5tract interesting
ab5tract continues poking
ugexe actually you're right, its changing... 16:46
ab5tract which is weird, the inovant error comes from the html parser, but the filehandle thing definitely would seem to be from http::useragent 16:47
ugexe invocant could be related to whatever http::useragent returns
ab5tract holds head, cries "the heisenbugs are after me, after me, after me!"
16:48 pecastro joined 16:49 mrmccrac joined 16:50 guru joined, guru is now known as Guest15672 16:51 Guest15672 is now known as ajr_
ab5tract ugexe: interpolated the string by assigning it, and put a guard to die if not ~~ Str, which it passes 16:51
ugexe hmm can you see what the type is when it fails and its not str? 16:52
ab5tract but it doesn't seem to be a type issue with the string (which $response.content.perl also indicates is only ever a string) 16:54
timotimo i get Malformed termination of UTF-8 string 16:56
ugexe im getting the invocant error without http::useragent 16:58
16:58 exixt is now known as exixt_, havenwood joined 16:59 virtualsue joined
ab5tract timotimo: that's the one that i saw first! 16:59
haven't seen it in a while
if $cbuffer eq '<' {
how can this line cause an invocant error? 17:00
timotimo can you find out which call exactly it is?
it might come from inside the block, if we're unlucky
perhaps with --ll-exception you'll get a "better" stack trace? 17:01
ugexe ab5tract: i thought it was this line: while $cbuffer !~~ m{ [ '>' | '/' ] } || $qnest == 1 {
ab5tract timotimo: i'll give that a try
haven't tested it outside of moar either 17:02
17:02 zakharyas left
ugexe i dont think it will build on anything else until parrot can install xml::query 17:02
ab5tract ugexe: that line is also affected, and indeed is the initiator
timotimo %!openisclose = itemized hash called at:
src/gen/m-CORE.setting, line 1000
also interesting
ab5tract timotimo: i patched that locally 17:03
ugexe timotimo: i have that fixed in my local repo
lol
timotimo hehe.
colomon dang things build quickly on my Linux box.
17:03 anaeem1 joined
timotimo for some reason we're reaching the Mu.ACCEPTS method candidate 17:04
and that only accepts Mu:U: 17:05
oh
of course
you don't ~~ against a m/../
because m/.../ is a match against $_
17:05 mrmccrac left
timotimo so the proper fix is in HTML::Parser::XML 17:05
17:05 firefish5000 joined
ab5tract timotimo: gist.githubusercontent.com/ab5trac...tfile2.txt 17:06
timotimo turn the m{ ... } into rx{ ... }
ab5tract doing
timotimo i know
i've got the same output locally
we could perhaps figure out that no block around the smart match against m{ ... } had set $_ explicitly or implicitly and complain "you probably didn't mean that" 17:07
m: say (m{ abc }).perl
camelia rakudo-moar 7dd729: OUTPUT«Cannot call 'match'; none of these signatures match:␤:(Cool:D: Any $target, *%adverbs)␤ in block <unit> at /tmp/R1FY1MzlCu:1␤␤»
timotimo m: say "foobar" !~~ (m{ abc }).perl 17:08
camelia rakudo-moar 7dd729: OUTPUT«True␤»
timotimo m: say "foobar" !~~ (m{ abc })
camelia rakudo-moar 7dd729: OUTPUT«True␤»
timotimo m: say "foobar" !~~ (m{ 123 })
camelia rakudo-moar 7dd729: OUTPUT«True␤»
timotimo m: say $_.perl
camelia rakudo-moar 7dd729: OUTPUT«Nil␤»
timotimo m: Nil ~~ rx{ 123 }
camelia ( no output )
timotimo m: say Nil ~~ rx{ 123 }
camelia rakudo-moar 7dd729: OUTPUT«Nil␤»
timotimo m: say Nil !~~ rx{ 123 }
camelia rakudo-moar 7dd729: OUTPUT«True␤»
timotimo that ought to be the culprit
ab5tract timotimo: it works :) 17:09
except that there's a new bug .. hehe 17:10
timotimo what was that code trying to parse anyway? 17:13
the code has very few comments ...
17:13 havenwood left
timotimo i can't see a pull request in perl6-html-parser-xml :) 17:14
ab5tract still puzzling at the next bug 17:16
while $cbuffer !~~ rx{« [ \s | '>' ] »} {
causing an out of bound indexing error
"substr out of range"
ugexe those hyperoperators were the regex seperators before 17:17
rx{ [ \s | '>' ] } id think 17:18
timotimo « and » are word border matchers
ugexe while $cbuffer !~~ m« [ \s | '>' ] » { <- are they acting as a word border in this case? or as a replacement for the / in m//? 17:20
timotimo no, in that case they are the delimiters
m: say q« hello, this is string »
camelia rakudo-moar 7dd729: OUTPUT« hello, this is string ␤»
ugexe ab5tract: while $cbuffer !~~ rx{ [ \s | '>' ] } { 17:21
ab5tract i fixed that one.
no i'm back to Malformed UTF :D
*now
timotimo could be because the chunked encoding happens to hit one of the Perl 6 right in the middle? 17:25
ab5tract i was mistaken, now it's fixed. pull request on its way
but it occurs to me, the better choice would be to use the rss feed of the advent calendar directly with the XML library 17:32
and i'm not sure if i've actually fixed it or not, it hasn't succeeded in parsing yet ..
timotimo clearly HTML::Parser::XML needs a bit more error handling and diagnostic output 17:33
ugexe its working for me 17:35
17:35 perltricks joined
ugexe trying to write an appropriate test on the utf characters to be sure 17:36
timotimo that's very helpful! thanks
perltricks hey all. Any idea why this hangs: perl6 -e 'for (lines) { say lines.elems }' example.txt 17:37
it doesnt hang on an array 17:38
m: my @n = <1 2 3>;for (@n) { say @n.elems }
camelia rakudo-moar 7dd729: OUTPUT«3␤3␤3␤»
timotimo these parens are superstitious
what do you expect that to do? 17:39
colomon timotimo: parens are needed, just not those
timotimo yeah
colomon better question is why use lines twice?
timotimo yes
"that" wasn't refering to the parens, but to calling lines twice
perltricks say you want to emulate tail
colomon perltricks: lines[*-5..*] 17:40
or something like that
perltricks hoho
wow 17:41
colomon: thanks much nicer
colomon dunno if it works exactly like that
perltricks lemme try
timotimo you may need to (* - 5)
colomon and does using * twice work right? 17:42
but the basic principle is sound, I promise. 17:43
perltricks it works! perl6 -e 'say lines[*-5..*]' example.txt
colomon \o/
perltricks: it's even nicer to do head: lines[^5] 17:44
perltricks stop it, you're blowing my mind 17:45
ab5tract aka another night with perl6 ;)
perltricks haha
ugexe ab5tract: i think its tripping up on self closing tags 17:46
ie <whatever />
.elements[1] gets me the title tags on advent calender... 17:47
timotimo using * twice works
in fact, it works up to an almost infinite number of times
colomon timotimo: I knew it worked in general expressions, but I didn't know you could pass something taken N arguments to [ ] and have it work it out correctly. 17:50
*taking
… actually, that's not what's happening there, is it? 17:51
17:51 FROGGS_ joined
timotimo [ ] asks the WhateverCode what number of arguments it takes 17:51
colomon m: say (*-5..*).WHAT
camelia rakudo-moar 7dd729: OUTPUT«(WhateverCode)␤»
timotimo and then it gives the length of the list $n times
colomon m: say (*-5..*)(10) 17:52
camelia rakudo-moar 7dd729: OUTPUT«5..Inf␤»
timotimo oh
yeah, you're right
also, you would have had to ..^, since you're given the length of the list 17:53
but by using Inf, you're getting around that problem
colomon right.
TimToady++ # or whomever, clever design there.
17:55 FROGGS left 17:57 KCL_ joined
timotimo i wonder what the performance of HTML::Parser::XML is 18:02
but i don't have a use for it (yet) 18:03
ugexe its slow, but im sure tony-o will work on that now that i mentioned it to him an hour ago :) 18:11
18:15 rindolf left, rindolf joined 18:19 KCL_ left 18:23 rindolf left, rindolf joined 18:24 KCL_ joined
timotimo mentioned the performance? 18:24
colomon where does panda get its list of installed modules?
colomon needs to kill it, because having it try to install every single module every time you rebuild rakudo is no fun 18:28
…. except that time it didn't?
colomon is very confused
18:29 rindolf left, rindolf joined
timotimo install/lib/somewhere/state.json 18:31
18:33 raiph joined 18:36 KCL_ left
colomon tadzik: ping? 18:37
18:41 tinyblak_ left 18:45 rindolf left, orevdiabl joined, rindolf joined, [particle] joined, revdiablo left 18:46 JimmyZ left, DarthGandalf left
colomon tadzik: I expanded rakudobrew to have a new command, triple, which allows you to specify versions of rakudo, nqp, and moar to biuld on. 18:48
18:48 BinGOs left, BinGOs joined
colomon tadzik: the build does happen, but the switch command doesn't seem to work. :\ 18:48
18:49 DarthGandalf joined 18:50 atta_ joined, sjn_ joined, xinming_ joined, Rounin_ joined 18:51 ggherdov left, stux|RC-only left, exodist_ joined 18:52 stux|RC-only joined 18:54 [particle]1 left, Exodist left, simcop2387 left, xinming left, kshannon left, atta left, sjn left, carlin left, woolfy left, Rounin left, kurahaupo left, raiph left, frew left, mls left, muraiki left, mls joined, carlin joined, mls left, mls joined
colomon tadzik: ah, I see, rehash assumes there are never more than two components. 18:54
18:55 frew joined
colomon errr, maybe? 18:55
18:55 kshannon joined, woolfy joined 18:56 muraiki joined, simcop2387 joined 18:57 rindolf left, TardisX` joined 18:58 pecastro_ joined, rindolf joined, dylanwh_ joined 18:59 hoelzro_ joined, integral_ joined, integral_ left, integral_ joined, m_athias_ joined 19:00 Timbus_ joined, hoelzro left, TardisX left, pecastro left, integral left, dylanwh left, m_athias left, clkao left, Juerd left, Timbus left, huf left, timotimo left, m_athias_ is now known as m_athias, dylanwh_ is now known as dylanwh, telex left, huf joined 19:01 Juerd joined 19:02 clkao_ joined, telex joined
colomon aha! 19:03
19:03 ggherdov joined
TimToady oho! 19:03
colomon o/
geekosaur ehe!
TimToady uhu 19:04
FROGGS_ ihi
colomon TimToady: you might know the answer. If I want to install rakudo's perl6 executable in the usual install/bin place, but use a specified nqp instead of generating it, what is the Configure.pl syntax?
19:05 dg left
TimToady --with-nqp I think 19:05
19:05 mephinet- joined
TimToady but you can read the source :) 19:05
19:05 mephinet left
colomon TimToady: I think I tried that once already. ;) 19:05
I mean, reading the source. 19:06
TimToady obviously the next step is to write the source :P
colomon :p
FROGGS_ colomon: it will also use an nqp binary if it is under --prefix 19:07
dj_goku who manages testers.perl6.org?
FROGGS_ dj_goku: I am
colomon FROGGS_: my problem is that --prefix seems to change where rakudo installs its binaries. which is my problem... 19:08
dj_goku FROGGS_: haha nice! so is the site accepting reports?
FROGGS_ colomon: correct... but I would think you want to install nqp to that place too
dj_goku: yes, it is :o)
colomon afk # bell choir w/ orchestra rehearsal
FROGGS_ dj_goku: though, you need the 'reporter' branch from panda, and it works only on moar and jvm so far 19:09
19:09 dg joined
FROGGS_ to actually send reports you can do: PANDA_SUBMIT_TESTREPORTS=1 panda install FooBar 19:09
dj_goku FROGGS_: but the most recent report is this: testers.perl6.org/report/recent/2487
FROGGS_ or: PANDA_SUBMIT_TESTREPORTS=1 panda --exclude=panda smoke
dj_goku right I downloaded the reporter branch
FROGGS_ rebootstrap panda, and then you can do what I pasted 19:10
yes, I had submitted that report
19:10 rindolf left 19:11 rindolf joined
dj_goku rebootstrap? git pull origin reporter? 19:11
FROGGS_ and then: perl6-m rebootstrap.pl
so you reinstall it
19:12 perltricks left
dj_goku FROGGS_: paste.scsys.co.uk/441869 19:16
looks like reporter is out of sync from master
FROGGS_ dj_goku: that is quite possible
please do: 19:17
git checkout master; git branch -D reporter; git fetch; git checkout reporter
then you just switch to the other branch without merging anything
19:18 ab5tract_ joined 19:19 darutoko- joined 19:20 itz_ left
dj_goku yay 19:20
19:20 nebuchad` joined 19:21 rindolf left
FROGGS_ \o/ 19:21
dj_goku testers.perl6.org/report/recent/2488
19:21 ab5tract left, itz joined
FROGGS_ a 32bit OSX, nice 19:21
19:21 rindolf joined 19:22 telex left, exodist_ left, darutoko left
FROGGS_ ohh no, the arch is reported wrong 19:22
19:22 yukko left, KCL_ joined, leedo_ joined
FROGGS_ or at least weirdish 19:22
19:23 nebuchadnezzar left, leedo left
dj_goku FROGGS_: 32bit?! 19:23
19:23 cognominal left
geekosaur macs are weirdish when it comes to arch 19:23
FROGGS_ yeah, I know
19:23 yoleaux left, peterete1 joined, telex joined, majuscul1 joined
FROGGS_ at least fat libs should be something of the past, right? 19:23
19:24 _sri_ joined, sergot left, bartolin left, _sri left, majuscule left, cognominal joined, peteretep left
geekosaur 14A should be 10.10, I think, so it has to be 64 bit 19:24
note that `arch` returns i386 though
19:24 sergot joined
FROGGS_ yes, that's where my confusion comes from 19:25
19:25 yoleaux joined, nine left, ChanServ sets mode: +v yoleaux, bartolin joined
geekosaur apple uses arch weirdly, it distinguishes between ppc and intel, but not 32 vs 64 19:25
19:25 nine joined, Exodist joined
geekosaur and apple goes to great legths to hide 32 vs 64 19:26
19:26 ghostlines joined, timotimo joined
FROGGS_ why? 19:26
geekosaur fiik
os x is also the only OS I'm aware of which ran 64 bit binaries on 32-bit kernels 19:27
FROGGS_ hmmm, interesting
19:27 dj_goku_ joined, dj_goku_ left, dj_goku_ joined
psch FROGGS_: it does make sense from a "people want a shiny computing appliance" perspective 19:27
hiding the distinction between 32 and 64bit
19:28 dj_goku left 19:29 ennnio left
geekosaur also, fat binaries and libraries/frameworks certainly still exist 19:30
19:30 rindolf left, rindolf joined 19:31 d^_^b joined
FROGGS_ m: say $~MAIN 19:32
camelia rakudo-moar 7dd729: OUTPUT«Slang.new(:grammar(Perl6::Grammar), :actions(Perl6::Actions))␤»
FROGGS_ O.o
geekosaur largely because of things like wine (64 bit windows won't work on OS X because on conflicts between how OS X and Win64 use registers, IIRC)
FROGGS_ m: say $~MAIN.^find_method('arglist')
camelia rakudo-moar 7dd729: OUTPUT«(Mu)␤»
FROGGS_ m: say $~MAIN.arglist
camelia rakudo-moar 7dd729: OUTPUT«No such method 'arglist' for invocant of type 'Slang'␤ in block <unit> at /tmp/Tozyp2mi11:1␤␤»
geekosaur (so wine is built 32-bit and requires fat libraries)
FROGGS_ m: say $~MAIN.grammar.arglist
camelia rakudo-moar 7dd729: OUTPUT«Cannot look up attributes in a type object␤ in any !cursor_start at gen/moar/stage2/QRegex.nqp:668␤ in any arglist at /home/camelia/rakudo-inst-1/languages/nqp/lib/Perl6/Grammar.moarvm:1␤ in block <unit> at /tmp/9WNOhrCRQY:1␤␤»
19:34 Hor|zon_ joined
dj_goku_ FROGGS_: so would it be bad if I setup a daily task on a few machines to pull in the lastest moar and install all modules? 19:34
posting the results to testers.perl6.org?
FROGGS_ dj_goku_: that certainly would be most awesome 19:35
19:36 Hor|zon left
dj_goku_ ubuntu, openbsd and osx. 19:36
FROGGS_ cool!
ab5tract_ i thought i would go with the rss feed for "easy XML parsing" ... and managing to parse the rss into an XML::Document, but only with 'use of uninitialized value $v of type Any in string context in method new at lib/XML.pm6:965' occuring 19:37
and any attempts to actually use the XML::Document hanging indefinitely
dj_goku_ FROGGS_: well if I get to annoying/taxing the server let me know and I'll back it down.
ab5tract_ today is not my day :(
TimToady ab5tract_: welcome to the bleating edge 19:38
FROGGS_ dj_goku_: the server is meant to take many reports... if it can't handle that it is my fault and I will take care of it
dj_goku_: I want to generate static pages for example, to reduce the load
dj_goku_ FROGGS_: cool
FROGGS_ dj_goku_: but I want to keep it Perl 6 only, just because 19:39
19:39 anaeem1 left
dj_goku_ FROGGS_: well it is a proof of concept 19:39
19:39 rindolf left
dj_goku_ or a working example. 19:39
FROGGS_ dj_goku_: something like that, aye :o)
19:40 rindolf joined
FROGGS_ I mean, it is not even two weeks old 19:40
dj_goku_ FROGGS_: really?! well good job! 19:41
I presume I am just POSTing json back to the server?
FROGGS_ thanks :D
correct
via http
dj_goku_ k
that is what I thought, but hadn't looked at the code.
19:41 perltricks joined
FROGGS_ dj_goku_: you are posting the json blob that is shown in the report as 'informations' 19:42
no environment vars, nothing that can potentially contain passwords or other sensitive data
19:43 firefish5000 left 19:44 mls_ joined, ghostlin_ joined, ghostlin_ left
dj_goku_ FROGGS_: cool 19:46
19:47 ghostlines left, carlin left, mls left
timotimo yeah, API keys are often put into the environment 19:47
FROGGS_: how do you feel about normalizing $HOME into ~? 19:48
so that the user name doesn't also show up?
FROGGS_ hmmm, good idea I think 19:49
moritz except when you try to track down a bug in a build system where a ~ isn't expanded, but should be
19:49 ghostlines joined
moritz we've had cases where people called perl Configure --prefix=~/p6/install or the likes and wondered why it didn't DWTM 19:50
FROGGS_ well, we can replace it by <HOME> 19:51
C:\panda\ext\File__Find>perl6 -I lib t\01-file-find.t
1..10
t\dir1\another_dir t\dir1\another_dir\empty_file t\dir1\another_dir\file.bar t\dir1\file.bar t\dir1\file.foo t\dir1\foodir t\dir1\foodir\not_a_dir
t/dir1/another_dir t/dir1/another_dir/empty_file t/dir1/another_dir/file.bar t/dir1/file.bar t/dir1/file.foo t/dir1/foodir t/dir1/foodir/not_a_dir
not ok 1 - just a dir
-.-
ab5tract_ hmm, the issue is happening with other sample input 19:52
gist.github.com/ab5tract/cbf4867b441ab2ea84d7
when searching for a tag that has elements present, the script just hangs 19:53
19:53 carlin joined 19:54 rindolf left, ptc_p61 joined, rindolf joined 19:56 anaeem1_ joined, ptc_p6 left 19:57 rindolf left 19:59 perlpilot joined, tinita_ joined, petercom1and joined, Woodi_ joined, clkao__ joined 20:00 Juerd_ joined, jnthn_ joined, Shozan joined, Util_ joined, haroldwu_ joined 20:01 labster joined 20:04 mephinet- left, clkao_ left, Juerd left 20:05 Util left, haroldwu left, raydiak left, PerlJam left, [Tux] left, Woodi left, yogan left, sorear left, prammer left, gtodd left, petercommand left, skarn left, Sir_Ragnarok left, Bucciarati left, isacloud______ left, Celelibi left, SHODAN left, jnthn left, tinita left, Juerd_ is now known as Juerd, clkao__ is now known as clkao_, Bucciarati joined, Sir_Ragnarok joined
dj_goku_ FROGGS_: thanks for helping fix my issue. :D 20:05
FROGGS_ dj_goku_: the problem with git? 20:07
20:07 raydiak joined, [Tux] joined, yogan joined, prammer joined, gtodd joined, isacloud______ joined 20:09 Timbus_ left, stux|RC-only left, Alina-malina left, Timbus joined, Diederich-away left 20:10 MilkmanDan left, yakudza left, Alina-malina joined, yakudza joined, lue left, sunnavy left, Alina-malina left, Alina-malina joined 20:11 stux|RC-only joined, majuscul1 is now known as majuscule, [Coke] left, mattp_ left, sunnavy joined, [Coke]_ joined, lue joined, erdic left, jnthn_ is now known as jnthn 20:12 erdic joined, anaeem1_ left 20:13 ka05 left, ka05 joined, oetiker left, MilkmanDan joined 20:16 arnsholt left, rjbs left, rjbs joined
psch done for today o/ 20:17
FROGGS_ o/ 20:19
20:21 [Sno] left, [Sno] joined 20:22 psch left, arnsholt joined 20:23 oetiker joined, Vlavv joined 20:24 darutoko- left 20:26 sqirrel__ joined 20:32 mephinet joined 20:35 anaeem1 joined 20:38 BenGoldberg left 20:42 vendethiel left
moritz does anybody know what host dalek usually runs on? 20:42
I forgot :(
(and I ignore joins and leaves, so I don't log the hostname during joins) 20:43
oh, feather3 it seems
20:44 Celelibi joined
moritz and it explains why dalek is gone (feather had a reboot recently) 20:45
20:46 skarn joined, sjn_ is now known as sjn 20:47 ab5tract_ left 20:48 sorear joined 20:49 dalek joined, ChanServ sets mode: +v dalek 20:50 BenGoldberg joined
ugexe ab5tract: fwiw .perl on XML:: objects hangs in many situations for me 20:50
FROGGS_ does it have recursive structures by any chance? 20:51
20:51 kurahaupo joined
timotimo that would be strange for xml 20:53
20:53 ab5tract joined
ugexe no 20:53
timotimo "Took a few seconds until I understood it. It treats the \n in C:\nqp as a newline." 20:56
aaaarrrrggghhh m)
FROGGS_ :o) 20:59
I enjoy these kinds of errors
they make me smile
20:59 anaeem1 left
FROGGS_ .oO( Computer, you are funny ) 21:00
21:00 anaeem1 joined 21:01 rurban joined
dj_goku_ FROGGS_: yes 21:02
perltricks m: "new hope".subst(/(\w+)/, {$0.uc}).say 21:04
camelia rakudo-moar 7dd729: OUTPUT«NEW hope␤»
perltricks works. But this doesn't: perl6 -ne '.subst(/(\w+)/, {$0.uc}).say' example.txt
21:04 grondilu joined
perltricks any ideas why? 21:05
moritz perltricks: yes
perltricks: basically, s/// is a special syntactic form, and the compiler can cheat as it wants 21:06
perltricks: but in the .subst form, {$0.uc} is just a regular argument
perltricks: and it can't easily cheat the $/ into that block argument 21:07
ugexe whats the equiv to p5's s///r anyway
perltricks moritz: thanks for the info. Can s/// execute code blocks like the /e option in p5? 21:08
FROGGS_ perlpilot: yes, with {}
moritz or with
m: $_ = 'new hope'; s[\w+] = $/.uc; .say 21:09
camelia rakudo-moar 7dd729: OUTPUT«NEW hope␤»
perltricks m: say "new hope" ~~ s/(\w+)/{$0.uc}/
camelia rakudo-moar 7dd729: OUTPUT«Cannot modify an immutable Str␤ in sub infix:<=> at src/gen/m-CORE.setting:19223␤ in block <unit> at /tmp/BaPfTWg3fj:1␤␤»
perltricks heh
FROGGS_ m: say (my $a = "new hope") ~~ s/(\w+)/{$0.uc}/; say $a
camelia rakudo-moar 7dd729: OUTPUT«True␤NEW hope␤»
perltricks thanks y'all. I'm trying to uc the first word in every line in a file and print the line 21:11
dalek : 201435d | moritz++ | misc/dalek-conf.json:
Remove some dead projects from dalek-conf.json
: e6ffa2d | moritz++ | misc/check-dalek-urls.p6:
Add script to check URLs in dalek-conf.json
21:12
21:12 ab5tract left
moritz perlpunks.de/paste/show/5467c1d7.161c.330 that's some of the output from the new script 21:13
does anybody know where the 'err code: 0' etc might come from?
left-over debugging output in one of those modules?
sergot: ^^
21:14 anaeem1 left, anaeem1_ joined
dalek : cae5820 | moritz++ | misc/dalek-conf.json:
remove more dead URLs
21:18
21:19 anaeem1_ left, ab5tract joined 21:20 perltricks left
colomon tadzik: got it 21:22
21:23 cxreg left
tadzik gotwhat :) 21:24
21:24 ab5tract left, sqirrel__ left
tadzik oh, I see :) 21:24
21:24 cxreg joined 21:25 bbkr left 21:28 araujo joined, araujo left, araujo joined 21:33 denis_boyun_ joined 21:36 leont joined
sergot moritz: it is OpenSSL's error 21:47
colomon tadzik: Yeah, my new command for rakudobrew started life broken, but I have fixed it and just used it to track down a serious-to-me bug.
sergot moritz: github.com/sergot/openssl/blob/mas...SL.pm6#L73 21:48
tadzik colomon: oh, that sounds like a useful feature then :)
21:48 ptc_p61 left
tadzik but that's moar-only? 21:49
colomon timotimo, jnthn, hoelzro_: I have just confirmed that MoarVM's 05b25a6359c7bcf5ab03357b0d0093f77d28ead6 commit breaks the ABC module. I'm not sure why, exactly. Though the problem definitely involves precompiled modules and part of a namespace disappearing. (After the commit, it is fine without it.)
21:50 ghostlines left
colomon tadzik: sure, I was having a hard time changing the MoarVM / nqp of a Rakudo build on the fly, so I just added a new rakudobrew command that would let me specify exactly which commit I wanted to use for each of them. 21:50
21:50 Mouq joined
colomon tadzik: please feel free to rename it, I didn't spend a lot of time thinking about it. ;) 21:50
tadzik: that's how I did it, yes. 21:51
21:51 ggoebel111111113 joined
colomon tadzik: if anyone cares enough to make it more generally applicable, I'm sure it's a small matter of programming. ;) 21:51
21:54 KCL_ left
timotimo colomon: your text reads contradictory. you say that commit breaks the abc module but apparently putting that commit into moarvm makes it work? 21:54
21:55 Mouq left 21:57 ajr_ left
tadzik colomon: is there a pull request? 21:57
21:58 denis_boyun_ left 22:04 FROGGS_ left
colomon timotimo: I think my text is correct. I know the commit says it fixes part of a namespace disappearing with precompiled modules, but in fact including that commit breaks exactly those things in ABC. 22:06
22:09 rurban left
colomon may be somewhat incoherent, as he has been pretty sick the last few days. But he is quite sure ABC works with moar pre-fd55e867bf058b30298cdca47c8ce60d5c16dce0 and fails mysteriously with it. 22:09
tadzik: no pull request for rakudobrew, I have commit priveledges there. ;) 22:10
22:11 mattp_ joined 22:18 ab5tract joined 22:19 napoleon joined 22:23 nebuchad` is now known as nebuchadnezzar 22:24 telex left
tadzik okay :) 22:25
22:26 telex joined 22:39 kst joined
timotimo that is very weird, colomon ... 22:41
i don't know what the proper fix would be, as not having that commit would give hoelzro trouble with something else - i think diamond derivation or something? 22:42
22:42 napoleon left 22:46 raiph joined 22:48 woolfy1 joined, woolfy left 22:56 lizmat joined
hoelzro_ =( 23:02
colomon: how does it break ABC?
23:03 hoelzro_ is now known as hoelzro, [Coke]_ is now known as [Coke] 23:07 colomon left 23:08 colomon joined
colomon hoelzro: t/08-transpose.t .. Could not find symbol '&Actions' 23:08
in method <anon> at src/gen/m-CORE.setting:13707
in any find_method_fallback at src/gen/m-Metamodel.nqp:2725
in any find_method at src/gen/m-Metamodel.nqp:988 23:09
in sub transpose at t/08-transpose.t:21
in block <unit> at t/08-transpose.t:41
where that's ABC::Actions, in a precompiled file.
weirdly, there are two test files where it does file ABC::Actions, and two where it doesn't.
23:10 espadrine_ left
colomon either way, it all works if you don't precompile, and it all works if you don't include that commit of yours. 23:10
23:12 kaare_ left 23:17 matthijs joined, matthijs is now known as Guest32794
Guest32794 hi does perl 6 automatically tie arrays/hashes, so that everything remains ordered? 23:18
leont Your question isn't clear to me
"tieing automatically" doesn't make sense in particular 23:19
What order do you want?
or expect
lizmat fwiw, the order of hash keys in indeterminate
Guest32794 if you have put a list in a hash and then you print the keys/values the original order is gone and changes everytime yu print it 23:21
timotimo not every time, but there is no guarantee when it changes 23:22
lizmat m: my %h = ("a".."z").map( * => $++ ); say %h.perl 23:23
camelia rakudo-moar 7dd729: OUTPUT«("c" => 2, "g" => 6, "y" => 24, "x" => 23, "f" => 5, "b" => 1, "e" => 4, "r" => 17, "k" => 10, "w" => 22, "h" => 7, "m" => 12, "o" => 14, "z" => 25, "i" => 8, "n" => 13, "a" => 0, "p" => 15, "s" => 18, "d" => 3, "l" => 11, "v" => 21, "j" => 9, "q" => 16, "…»
lizmat m: my %h = ("a".."z").map( * => $++ ); say %h.perl
camelia rakudo-moar 7dd729: OUTPUT«("l" => 11, "b" => 1, "v" => 21, "z" => 25, "s" => 18, "e" => 4, "j" => 9, "p" => 15, "n" => 13, "c" => 2, "k" => 10, "x" => 23, "q" => 16, "d" => 3, "w" => 22, "y" => 24, "a" => 0, "i" => 8, "r" => 17, "g" => 6, "u" => 20, "h" => 7, "t" => 19, "m" => 12, …»
lizmat goes to sleep& 23:25
Guest32794 ok
23:25 grondilu left
timotimo if you print it two times in a row, it'll probably give you the same order, but not guaranteed 23:25
gnite lizmat
23:26 [Sno] left 23:28 spider-mario left, [Sno] joined
Guest32794 That module Tie::Autotie in Perl5 keeps everything ordered. i was wondering if this is now default in perl 6 23:28
colomon Guest32794: it is not 23:32
23:34 kurahaupo left
Guest32794 ok chers! bye 23:37
23:37 Guest32794 left
ugexe XML::Query also errors and fails tests when its precompiled and passes when tested on /lib 23:40
i know its been brought up in here before. anyway its the same error on moar/jvm/parrot fwiw Default constructor for 'Query' only takes named arguments 23:43
colomon wonders if there is a relatively easy automated way to test modules without precompiling, so we can see how many modules are having these sorts of issues. 23:45
ugexe just run prove on them? 23:47
or maybe if you just do panda-test without doing panda-build first
github.com/ugexe/P6TCI/blob/master...ml#L22-L30 23:49
you can use something similar to that
you could even split the panda-test and prove out by env: 23:52