»ö« 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.
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
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
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
lizmat and with that thought, I'm going to follow moritz' example 00:29
good noght, #perl6!
*night :-)(
timotimo gnite liz :) 00:38
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
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..
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
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
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
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
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?
japhb m: start { say "Hello"; }; sleep 2; 01:14
camelia rakudo-moar d40fd5: OUTPUT«Hello␤»
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
bbkr now I got huge stacktrace on debian-wheezy box: gist.github.com/bbkr/472fcc7373cd21e7b048 01:17
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
timotimo maybe i have helgrind here already 01:25
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
timotimo i'm going to bed, too 01:50
i accumulated a slight headache somehow
vendethiel :(
g'night, timotimo
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
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
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.
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
moritz \o 07:13
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?
moritz smls: "intervening \h* or "unspace" is allowed" 08:52
m: say so ' ' ~~ /^\h*$/
camelia rakudo-moar 7dd729: OUTPUT«True␤»
smls oh, right
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
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
smls Especially with thinks like forgetting semicolons or braces, which I used to do when I was new to Perl 09:04
*things
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
masak good antenoon, #perl6! 09:21
moritz \o masak 09:25
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? ;) )
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
moritz well, a full time salary 09:33
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
masak does anyone know of any good resources for canonicalizing undirected multigraphs? 09:37
lizmat not me 09:38
sightseeing&
jnthn morning, #perl6 09:43
rindolf jnthn: morning, sup? 09:49
arnsholt o/
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
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
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
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
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
masak firefish5000: sounds interesting. please share any early results you get about this. 10:42
&
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
moritz FROGGS: testers.perl6.org is down :( 11:29
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
psch hi #perl6 11:46
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
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」␤␤»
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」␤␤»
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␤»
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
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
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
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
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
raiph rurban: "The user(s) account is temporarily over quota. <ru@x-ray.at>" 13:46
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
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
psch i remember asking about something similar some time back 14:21
masak oki 14:22
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
masak .oO( so incorrect, it makes camelia quit ) 14:23
colomon if I've built a new nqp, how to I get rakudo to recompile using it? make doesn't cut it. 14:24
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…»
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)␤»
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.
colomon is staring at MoarVM's 05b25a6359c7bcf5ab03357b0d0093f77d28ead6 and thinking it might be the issue with ABC…. 14:44
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.
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.
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
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
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
ab5tract ugexe: i lost the failing case somehow, now i'm getting a different error :/ 16:17
gist.github.com/ab5tract/cbf4867b441ab2ea84d7
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...
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!"
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
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
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.
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 $_
timotimo so the proper fix is in HTML::Parser::XML 17:05
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 ...
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
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
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.
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
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
timotimo install/lib/somewhere/state.json 18:31
colomon tadzik: ping? 18:37
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
colomon tadzik: the build does happen, but the switch command doesn't seem to work. :\ 18:48
colomon tadzik: ah, I see, rehash assumes there are never more than two components. 18:54
colomon errr, maybe? 18:55
colomon aha! 19:03
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?
TimToady --with-nqp I think 19:05
TimToady but you can read the source :) 19:05
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
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
dj_goku rebootstrap? git pull origin reporter? 19:11
FROGGS_ and then: perl6-m rebootstrap.pl
so you reinstall it
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
dj_goku yay 19:20
FROGGS_ \o/ 19:21
dj_goku testers.perl6.org/report/recent/2488
FROGGS_ a 32bit OSX, nice 19:21
FROGGS_ ohh no, the arch is reported wrong 19:22
FROGGS_ or at least weirdish 19:22
dj_goku FROGGS_: 32bit?! 19:23
geekosaur macs are weirdish when it comes to arch 19:23
FROGGS_ yeah, I know
FROGGS_ at least fat libs should be something of the past, right? 19:23
geekosaur 14A should be 10.10, I think, so it has to be 64 bit 19:24
note that `arch` returns i386 though
FROGGS_ yes, that's where my confusion comes from 19:25
geekosaur apple uses arch weirdly, it distinguishes between ppc and intel, but not 32 vs 64 19:25
geekosaur and apple goes to great legths to hide 32 vs 64 19:26
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
psch FROGGS_: it does make sense from a "people want a shiny computing appliance" perspective 19:27
hiding the distinction between 32 and 64bit
geekosaur also, fat binaries and libraries/frameworks certainly still exist 19:30
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␤␤»
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
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
dj_goku_ FROGGS_: well it is a proof of concept 19:39
dj_goku_ or a working example. 19:39
FROGGS_ dj_goku_: something like that, aye :o)
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.
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
dj_goku_ FROGGS_: cool 19:46
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
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
dj_goku_ FROGGS_: thanks for helping fix my issue. :D 20:05
FROGGS_ dj_goku_: the problem with git? 20:07
psch done for today o/ 20:17
FROGGS_ o/ 20:19
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
moritz and it explains why dalek is gone (feather had a reboot recently) 20:45
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
timotimo that would be strange for xml 20:53
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
FROGGS_ .oO( Computer, you are funny ) 21:00
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
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
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: ^^
dalek : cae5820 | moritz++ | misc/dalek-conf.json:
remove more dead URLs
21:18
colomon tadzik: got it 21:22
tadzik gotwhat :) 21:24
tadzik oh, I see :) 21:24
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 :)
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.)
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
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
colomon tadzik: if anyone cares enough to make it more generally applicable, I'm sure it's a small matter of programming. ;) 21:51
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
tadzik colomon: is there a pull request? 21:57
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
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
tadzik okay :) 22:25
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
hoelzro_ =( 23:02
colomon: how does it break ABC?
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.
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
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
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
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
Guest32794 ok chers! bye 23:37
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