Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-05-26

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:16 avalenn_ joined #perl6
00:19 colomon joined #perl6
00:29 laouji joined #perl6
00:40 vendethiel joined #perl6
00:44 Akagi201 joined #perl6
00:50 laouji joined #perl6
00:56 zostay m: sub infix:</>(IO::Path $p, Str $s) { (~$p ~ '/' ~ $s).IO }; constant HOME = %*ENV<HOME>.IO; say HOME/"bin";
00:56 camelia rakudo-moar d5eabd: OUTPUT«5===SORRY!5===␤Calling prefix:<~>(IO::Path) will never work with proto signature (Any)␤at /tmp/n5xe8DA6BI:1␤------> 3sub infix:</>(IO::Path $p, Str $s) { (7⏏5~$p ~ '/' ~ $s).IO }; constant HOME = %*␤Calling infix:</>(IO::Path, Str) will n…»
01:10 vendethiel joined #perl6
01:10 timotimo huh, that's a weird error
01:10 timotimo can you try $p.absolute? also, what's the second error?
01:11 timotimo instead of ~$p i mean
01:24 * [Coke] saw this on FB: http://perlhist.com/perl6/damian-conway/
01:26 [Coke] /me saw this on FB: http://perlhist.com/perl6/damian-conway/
01:26 [Coke] whoops.
01:32 kaare_ joined #perl6
01:33 colomon joined #perl6
01:36 aborazmeh joined #perl6
01:36 aborazmeh joined #perl6
01:40 bjz joined #perl6
01:42 raiph joined #perl6
01:47 ilbot3 joined #perl6
01:47 Topic for #perl6 is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: http://irc.perl6.org | UTF-8 is our friend!
01:49 dayangkun joined #perl6
01:53 bjz joined #perl6
01:58 ssqq joined #perl6
01:59 ssqq How to deep copy a Array or Array of Array?
02:00 ssqq p6: sub change($x is copy) { $x[0] = 10 }; my $a = [1,2,3]; change($a); $a.say.perl;
02:00 camelia rakudo-moar d5eabd: OUTPUT«10 2 3␤»
02:15 chenryn joined #perl6
02:31 raiph joined #perl6
02:34 rmgk_ joined #perl6
02:36 raiph joined #perl6
02:40 raiph joined #perl6
02:49 noganex joined #perl6
02:57 Akagi201_ joined #perl6
03:06 Akagi201 joined #perl6
03:20 bjz joined #perl6
03:46 dayangkun joined #perl6
04:23 bjz joined #perl6
04:26 laouji joined #perl6
04:30 chenryn joined #perl6
04:30 aborazmeh joined #perl6
04:30 aborazmeh joined #perl6
04:35 chenryn joined #perl6
04:42 diana_olhovik_ joined #perl6
04:45 moritz m: sub id(\c) { c }; my $a = [1, [2, 3]]; my $copy = $a>>&id; $copy[1][0] = 42; say $a.perl
04:45 camelia rakudo-moar d5eabd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Fn4VWzxpr1␤Malformed postfix␤at /tmp/Fn4VWzxpr1:1␤------> 3 }; my $a = [1, [2, 3]]; my $copy = $a>>7⏏5&id; $copy[1][0] = 42; say $a.perl␤    expecting any of:␤        postfix␤»
04:51 ssqq joined #perl6
04:53 moritz m: sub id(\c) { c }; my $a = [1, [2, 3]]; my $copy = $a>>.&id; $copy[1][0] = 42; say $a.perl
04:53 camelia rakudo-moar d5eabd: OUTPUT«[1, [2, 3]]␤»
04:53 laouji joined #perl6
04:56 tadzik masak++ # blog post
05:15 laouji joined #perl6
05:22 chenryn joined #perl6
05:23 laouji joined #perl6
05:46 tinyblak joined #perl6
05:54 diana_olhovik_ joined #perl6
05:58 vendethiel joined #perl6
06:08 virtualsue joined #perl6
06:24 kurahaupo1 joined #perl6
06:26 flaviusb joined #perl6
06:30 [Sno] joined #perl6
06:35 _mg_ joined #perl6
06:42 domidumont joined #perl6
06:46 abraxxa joined #perl6
06:48 domidumont joined #perl6
06:50 zakharyas joined #perl6
06:52 FROGGS joined #perl6
06:57 espadrine joined #perl6
07:05 FROGGS o/
07:06 nwc10 \o
07:06 fhelmberger joined #perl6
07:08 Ven joined #perl6
07:19 RabidGravy joined #perl6
07:28 telex joined #perl6
07:42 Alina-malina joined #perl6
07:43 smls joined #perl6
07:44 smls o/
07:44 yoleaux 25 May 2015 20:59Z <lizmat> smls: re http://irclog.perlgeek.de/p​erl6/2015-05-25#i_10653489 assuming you mean instance attribute: has $!a; method a { $!a //= init code }
07:45 smls lizmat: thanks.
07:45 smls masak: nice blog post
07:46 smls "I wonder if I could submit that as a rakudobug." (from masak's post, regarding Rakudo regex engine backtracking slowness) -- I tend to agree :)
07:47 vendethiel joined #perl6
07:48 smls Playing around with the Amb example on rosettacode, I found it strange that it was fast with only 1 or 2 steps of backtracking, but adding just one more step of backtracking makes it suddenly go from ~1 second to minutes
07:48 smls That can't be right, can it?
07:49 jnthn Well, it's easy in most regex engines to construct non-linear backtracking cost increase.
07:50 * jnthn got the .Net one to take 30 seconds to fail to match a 20KB string with a fairly small regex
07:52 virtualsue joined #perl6
07:56 RabidGravy morning
07:56 FROGGS morning RabidGravy
07:57 RabidGravy are we all fabulous?
07:57 FROGGS well, I am :P
07:57 RabidGravy perfect
07:58 FROGGS spiffy
08:00 jnthn I just managed to spray coffee across the kitchen. Talk about a bootstrapping problem...
08:00 FROGGS ewww
08:01 * jnthn didn't know caffetieres had *that* failure mode...
08:02 nwc10 coffee slicks, coffee explosions. What's next?
08:02 RabidGravy yeah, sometimes the zeal for coffee can get the better of you
08:02 mr-foobar joined #perl6
08:02 jnthn This was, thankfully, much less messy than the time I caused a coffee flood at the office...
08:03 jnthn Righty. Time to fix a nasty race condition...
08:04 nwc10 oh, drowning bugs in coffee?
08:05 jnthn Worth a try...
08:07 ab5tract_ joined #perl6
08:10 RabidGravy anyway, to form the question raised by https://gist.github.com/jonat​hanstowe/2eb6801204edbd877ef5 in a different way, if I have two classes in different files A & B such that A does "use B" then should A be available in methods in B?
08:11 FROGGS RabidGravy: if A loads B, then the A symbol won't be available under that name
08:12 darutoko joined #perl6
08:12 FROGGS but, if B is a role, and you call A.foo where foo is a method declared in B, then the invocant will be of type A
08:14 RabidGravy but in the simple case is the type A available to B at all?
08:15 FROGGS no
08:15 smls Can I run a piece of clean-up code before the program exits, even when it is killed via CTRL+C ?
08:15 FROGGS you can't even stub A in B.pm, because that requires A to be declared later somewhere in B.pm or in files that B.pm loads...
08:15 FROGGS and you need to be able to compile B before A
08:16 smls END { }  seems to catch Perl 6 exceptions, but not kill signals
08:16 RabidGravy right, bigger patch to Facter than I thought then
08:17 jnthn smls: signal(SIGINT).tap({ ... }); # iirc
08:17 smls ah, right, I remember you doing that in some presentation now :)
08:20 DrForr Hrm. Would "class RuleID is repr('Cint32') { }" be possible to replace "typedef RuleID int32;" in C headers?
08:20 dakkar joined #perl6
08:21 FROGGS DrForr: almost
08:21 DrForr I know there's a CStruct, but this is just a single element, not a full struct/union.
08:22 FROGGS m: use NativeCall; my native RuleID is Int is nativesize(32) is signed is repr("P6int") { };
08:22 camelia rakudo-moar d5eabd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/GqJf1fXxI0␤'RuleID' cannot inherit from 'signed' because it is unknown.␤at /tmp/GqJf1fXxI0:1␤»
08:22 FROGGS m: use NativeCall; my native RuleID is Int is nativesize(32) is repr("P6int") { }; # signed is default
08:22 camelia rakudo-moar d5eabd: ( no output )
08:23 DrForr Ah, nativesize() works wonderfully for that.
08:23 DrForr I'm playing with libmarpa, but it occurs in many places.
08:25 FROGGS yes, I also like to do that since it makes comparing the lib documentation/headers easier
08:25 DrForr Precisely the issue I was dealing with.
08:25 DrForr Now if we could allow 'returns void' :)
08:26 FROGGS I intentionally did not do that when adding void :o)
08:27 vendethiel joined #perl6
08:28 DrForr What were your reasons? Just curious, no wanting to start an argument.
08:29 FROGGS it should be more Perl6ish that Cish semantic wise
08:29 FROGGS than*
08:30 DrForr Fair enough, 'returns Nil' isn't exactly a principle that comes out of Perl6, true.
08:30 FROGGS so even if NativeCall would treat the absence of the returns trait to 'returns void', other Perl 6 code inspecting the signature would not
08:30 FROGGS likely our optimize would choke on that
08:32 DrForr Makes sense, it just feels like an awkward special case to me, not to mention it's harder to line up neatly :)
08:33 DrForr Though you may have just given me the means to do that just that, I wonder if 'native Void is void is nativesize(0)...' :)
08:33 FROGGS no
08:33 DrForr I know, just teasing.
08:33 FROGGS nativesize(0) will complain :o)
08:34 FROGGS void is just a Pointer to an uninstantiable thing in NativeCall
08:34 DrForr It'd try to reserve space on the stack, if not throw an error.
08:34 FROGGS m: use NativeCall; say void
08:34 camelia rakudo-moar d5eabd: OUTPUT«(void)␤»
08:34 FROGGS m: use NativeCall; say void.^mro
08:34 camelia rakudo-moar d5eabd: OUTPUT«(void) (Any) (Mu)␤»
08:34 FROGGS m: use NativeCall; say void ~~ Pointer
08:34 camelia rakudo-moar d5eabd: OUTPUT«False␤»
08:34 FROGGS m: use NativeCall; say void ~~ Pointer[void]
08:34 camelia rakudo-moar d5eabd: OUTPUT«False␤»
08:34 FROGGS well, ... or not
08:34 espadrine joined #perl6
08:35 DrForr Don't worry, I won't enshrine the evil :)
08:35 FROGGS :o)
08:48 DrForr Hrm. I can't seem to declare multiple 'unit native ...' types. I remember a change to 'class Foo {}' declarations in the last few days.
08:48 DrForr (I just refreshed rakudo.)
08:49 * DrForr looks for the unit{} doco.
08:52 araujo joined #perl6
08:52 araujo joined #perl6
08:55 andreoss joined #perl6
09:01 itz_ are coffee explosions the new coffee mug throwing>
09:01 chenryn joined #perl6
09:01 nwc10 itz_: I doubt it. I suspect that they impede progress, rather than helping to redistribute it.
09:03 cygx joined #perl6
09:03 cygx o/
09:03 cygx carlin++
09:03 vendethiel joined #perl6
09:04 cygx .tell masak the NQP version https://gist.github.com/cygx/1e0​10facd65ddeb1065c#file-money-nqp runs in 1.3 *seconds*, whereas perl6 takes 36s to run that version on my machine
09:04 yoleaux cygx: I'll pass your message to masak.
09:06 grondilu joined #perl6
09:09 smls jnthn, masak: This has to be a regex engine bug, right? https://gist.github.com/smls/85b78904e96eb589ea1e
09:10 smls The third example hangs indefinitely (if you comment out the { print "." } line you'll see it gets executed on infinite loop)
09:10 smls Whereas the 2nd example, which is identical to the first excapt with   <{ }>  generated regexes replaced with the literal equivalents, works fine.
09:11 smls And the 1st example, which is identical to the 3rd except doesn't have to backtrack, also works.
09:11 Isp-sec joined #perl6
09:11 smls So it's the combination of backtracking and <{ }> that makes the 3rd example hang.
09:13 smls s/identical to the first/identical to the 3rd/
09:19 FROGGS DrForr: only one thing can be in unit scope
09:19 smls I added inline comments now, which should make it clearer than me trying to explain it on IRC.
09:19 FROGGS DrForr: you need to use the block form if you want to declare more that one thing per file
09:19 DrForr I thought I tried that but I'll check.
09:20 arnsholt Oooh. TAP's tests being numbered just came in very handy
09:20 DrForr I get 'Malformed unit' with 'unit { ... }' (of course, the contents aren't '...' :) )
09:21 pecastro joined #perl6
09:22 FROGGS DrForr: yes, why would you want to do that?
09:22 FROGGS the 'class Foo;' (semicolon form) is now spelled 'unit class Foo;'
09:22 FROGGS not block form 'class Foo { ... }' was not changed
09:23 DrForr In that case maybe I've run into a bug. I simply wanted to declare two different ID types. Marpa has several Marpa-$foo-ID types, and I wanted to properly type them as int32.
09:23 FROGGS DrForr: put it in a gist?
09:23 mr-fooba_ joined #perl6
09:24 DrForr In a moment, I'm on a roll elsewhere :)
09:26 DrForr https://gist.github.com/dr​forr/a9a2030a12d57a0ece51
09:27 FROGGS DrForr: replace the semicolon at line 3 and 5 with an empty block, and remove the unit and its block entirely
09:28 FROGGS though a short way, it you just want to give int32 another name is to:
09:28 DrForr Makes sense, it's just a little hard to see what the class declaration is in there, I take it it's the 'native'...
09:28 FROGGS m: constant Marpa-Rule-ID = int32;
09:28 camelia rakudo-moar d5eabd: ( no output )
09:29 DrForr That soudns dangerously close to parameterized types :)
09:29 FROGGS yes, for the native type declaration the traits do the work
09:29 FROGGS though, you can add convenience methods in the class body
09:30 DrForr Right, the 'native' trait in this case creates a class, got it.
09:30 brrt joined #perl6
09:30 brrt \o
09:30 brrt masak++ for nice post
09:30 brrt but
09:30 brrt 26 minutes
09:30 brrt what the heck
09:30 _mg_ joined #perl6
09:30 brrt y that happen
09:37 smls .oO( Dammit, why is it so hard to golf down regex bug testcases like this? Many moving parts; remove one and the problem disappears. )
09:38 araujo joined #perl6
09:39 arnsholt smls: I feel your pain. I'm trying to squash an indent-handling bug in my Python grammar >.<
09:39 FROGGS :S
09:39 arnsholt Yeah. Pretty much
09:41 DrForr I haven't looked at the Python grammar in the ANTLR test suite, but it passes my parser tests...
09:43 vendethiel joined #perl6
09:46 AlexDaniel joined #perl6
09:49 rarara joined #perl6
09:49 cygx left #perl6
10:01 masak good noon, #perl6
10:01 yoleaux 25 May 2015 23:23Z <avuserow> masak: Re memory leak in rakudo with regexes, reminds me of RT#123974 which I filed a while ago
10:01 yoleaux 09:04Z <cygx> masak: the NQP version https://gist.github.com/cygx/1e0​10facd65ddeb1065c#file-money-nqp runs in 1.3 *seconds*, whereas perl6 takes 36s to run that version on my machine
10:02 masak plan for today: (1) check/fix Yapsi hanging, (2) file the memory leak thingy
10:02 masak avuserow: https://rt.perl.org/Ticket/Display.html?id=123974 does seem related. thanks for the reference.
10:03 masak I may decide to file my sorrows along with that one, or separately -- depending on what I find when I investigate.
10:03 masak cygx: oh, that's *great* news! means there's some room for optimization. :D
10:04 * masak adds this to the post
10:07 masak cygx: I converted that version back to Perl 6. it takes 22 seconds!
10:09 masak and the corresponding Perl 5 version takes 1.3 seconds. (just as your nqp run)
10:09 masak this is much closer to the Haskell version!
10:11 masak oh, but the nqp version takes 0.68 s here... :)
10:11 * masak pats his laptop approvingly
10:11 smls jnthn, masak: This is how far I can golf down the problem affecting the 'amb' rosettacode task: https://gist.github.com/smls/0f1185c050467a9ffee9  ...maybe someone else has more luck golfing it down further.
10:12 brrt there's always room for optimization
10:13 chenryn joined #perl6
10:16 * masak loves it when blog posts (not just his own) cause... activity of various kinds
10:16 smls :)
10:17 smls btw, is  :my ($a, $b);  inside an m/.../ regex *supposed* to declare the variables in the parent Perl 6 scope?
10:17 smls I found that somewhat surprising.
10:18 masak no, I really don't think so.
10:18 masak the regex is supposed to be its own scope, and that's where the declaration should happen.
10:19 smls m: "" ~~ m{ :my $a }; "" ~~ m{ :my $a };
10:19 camelia rakudo-moar d5eabd: OUTPUT«Potential difficulties:␤    Redeclaration of symbol $a␤    at /tmp/IPbReQXdgk:1␤    ------> 3"" ~~ m{ :my $a }; "" ~~ m{ :my $a 7⏏5};␤»
10:24 chenryn joined #perl6
10:27 masak m: "" ~~ m{ :my $a }; say $a
10:27 camelia rakudo-moar d5eabd: OUTPUT«(Any)␤»
10:27 masak m: grammar G { regex foo { :my $a }; say $a }
10:27 camelia rakudo-moar d5eabd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Rgs_TBWIrU␤Variable '$a' is not declared␤at /tmp/Rgs_TBWIrU:1␤------> 3grammar G { regex foo { :my $a }; say 7⏏5$a }␤»
10:27 masak seems that different rules apply for m{ } regexes and regexes in grammars.
10:28 anaeem1 joined #perl6
10:28 masak m: my regex foo { :my $a }; say $a
10:28 camelia rakudo-moar d5eabd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/TDGSgUhCPP␤Variable '$a' is not declared␤at /tmp/TDGSgUhCPP:1␤------> 3my regex foo { :my $a }; say 7⏏5$a␤»
10:28 masak ...and it seems more related to `m{ }` vs `regex foo` than to being in a grammar.
10:29 masak maybe it's a feature. maybe this is how you're meant to export values into the surrounding code.
10:31 masak smls++ # signal(SIGINT).tap
10:32 masak also, karma to whoever made that feature look like that.
10:34 * moritz guesses jnthn++
10:34 RabidGravy looking at the Panda code it seems that the only way I can abort a build is by making a Builder sub-class with a build that dies, is that right and will it result in an NA in the cpandatesters?
10:34 smls masak: To "export values into the surrounding code", you can simple reference variables declared in the surrounding scope.
10:35 masak oh, troo.
10:35 smls It's not like you can use it to dynamically insert lexicals into a scope at runtime:
10:36 masak but maybe it's something like "regexes are not their own scope in the first place, because there are no scope braces"
10:36 smls m: sub r { rx{ :my $a = 3 } }; "" ~~ r; say $x
10:36 camelia rakudo-moar d5eabd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/1W8ThljCB0␤Variable '$x' is not declared␤at /tmp/1W8ThljCB0:1␤------> 3ub r { rx{ :my $a = 3 } }; "" ~~ r; say 7⏏5$x␤»
10:36 masak that one made no sense, on so many levels.
10:36 masak smls: $a vs $x ?
10:36 smls oh
10:36 blackbolt_ joined #perl6
10:37 smls makes no difference though
10:37 masak no, of course not.
10:37 masak that's not how lexical scoping works :)
10:37 smls yes
10:37 raiph joined #perl6
10:37 smls just 'cause you said "export values into the surrounding code" :P
10:38 smls if it allowed to bypass the way lexicals normally work, it would at least serve a (possible) use
10:38 smls but as it is, you might as well declare the lexicals outside of the m// instead of inside.
10:39 smls just trying to gauge whether m// leaking its lexical was meant as a feature or not :)
10:40 smls though maybe you're right, and it was done as a matter of consistency regardless of whether it is usefulness.
10:40 masak I'm arguing that it's more like the "foo $(my $x) bar" situation.
10:40 masak m: say "foo $(my $x = 'OH HAI') bar"; say $x
10:40 camelia rakudo-moar d5eabd: OUTPUT«foo OH HAI bar␤OH HAI␤»
10:40 masak (yes, you can declare a variable in the middle of a string interpolation)
10:41 smls m: say "foo {my $x = 'OH HAI'} bar"; say $x
10:41 camelia rakudo-moar d5eabd: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ShhOvDt2Cs␤Variable '$x' is not declared␤at /tmp/ShhOvDt2Cs:1␤------> 3say "foo {my $x = 'OH HAI'} bar"; say 7⏏5$x␤»
10:41 smls right
10:41 skids joined #perl6
10:41 masak ...and that highlights the difference between `$()` (thunk) and `{}` (block)
10:42 smls m// regexes may not have block braces, however:
10:42 smls m: say rx/a/ ~~ Block
10:42 camelia rakudo-moar d5eabd: OUTPUT«True␤»
10:43 smls ;)
10:47 blackbolt_ hi, can someone look on code: http://pastebin.com/QmAcQkwu  There is problem "Cannot look up attributes in a type object"
10:47 masak well, if you want a block, then maybe you should `my regex {}`
10:47 masak blackbolt_: looking.
10:47 AlexDani` joined #perl6
10:47 masak blackbolt_: I see the problem. it's about using "new" wrong.
10:48 masak blackbolt_: before I explain it, easiest way to fix is probably to rename `method new` to `submethod BUILD`
10:48 yqt joined #perl6
10:48 masak blackbolt_: could you try that and see if the problem goes away.
10:48 masak ...?
10:48 masak then come back for the explanation ;)
10:48 blackbolt_ ok
10:49 masak also, the `return self` at the end of `method dbConnect` is not necessary as your code stands right now.
10:49 smls @ anyone with rt privileges: close #125242 please
10:49 * masak has a look
10:49 masak (is anyone able to give smls rt privs?)
10:52 masak colomon: confirmed that Yapsi hangs, after printing 'ok 9' in t/compiler.t
10:52 colomon masak++
10:52 masak this looks like an easy fix.
10:53 masak may do it after lunch, though.
10:53 blackbolt_ masak, there is other problem with "createWindow" : "No such method 'run' for invocant of type 'Any'   in block <unit> at llllll.p6:51"
10:54 masak one problem at a time :)
10:55 masak blackbolt_: did the change from `new` to `BUILD` fix the original problem for you?
10:55 blackbolt_ yeap
10:55 masak good.
10:55 masak now here's what happened.
10:55 blackbolt_ it is next problem
10:55 masak method `new` in Perl 6 is meant to construct an object.
10:55 masak you didn't do that in your method.
10:56 masak what you wanted was more like an initializer. in Perl 6 we call that `submethod BUILD`
10:56 masak (it's `submethod` because it's specific to that class and we don't want it to be inherited by deriving classes)
10:57 masak blackbolt_: if you're getting that error, it's because the object's $.app attribute doesn't contain a GTK::Simple::App, but is simply uninitialized.
10:57 masak blackbolt_: you should find out why :)
10:57 blackbolt_ hmmm, ok
10:57 itz2 joined #perl6
10:59 vendethiel joined #perl6
11:02 darutoko joined #perl6
11:05 tinyblak joined #perl6
11:06 blackbolt_ masak, i initialize GTK::Simple::App $.app and there is similar problem to $.DB "Cannot look up attributes in a type object   in method run at lib/GTK/Simple.pm6:328   in block <unit> at llllll.p6:51"
11:07 fhelmberger joined #perl6
11:08 smls blackbolt_: You assign to $.app even though you didn't declare it  'is rw'
11:08 ab5tract_ joined #perl6
11:09 arnsholt Aha! Found my bug
11:10 smls blackbolt_: You should probably assign to $!app instead of $.app
11:11 blackbolt_ smls, but i need public variable
11:11 smls and, similarly, "$!DB = " instead of "$.DB = "
11:11 blackbolt_ with db you have right it should be private
11:12 smls yes, keep them public, but refe4r to them as  $!DB  when initializing them inside the class itself
11:12 darutoko- joined #perl6
11:12 Ven joined #perl6
11:13 smls The $.attr for is just a convenience accessor that gets added *in addition* to the direct $!attr attribute notation, which is always available within the class itself no matter what kindof attribute it is.
11:13 smls s/for/form/
11:13 Ven o/ #perl6!
11:17 FROGGS arnsholt: what was it?
11:18 chenryn joined #perl6
11:18 fhelmberger joined #perl6
11:18 blackbolt_ smls, so how can i run this application?
11:19 smls blackbolt_: Your pastebin example works for me after making these three replacements (matching once each):  s/method new/submethod BUILD/   s/$.DB =/$!DB =/   s/$.app =/$!app =/
11:20 inokenty joined #perl6
11:20 smls you can even apply it with sed ;)
11:20 smls sed -i'' 's/method new/submethod BUILD/; s/$.DB =/$!DB =/; s/$.app =/$!app =/' test.p6
11:23 blackbolt_ smls, hmmm you have right it work... Thanks!
11:23 masak I agree that $!attr should be used for assignment most of the time.
11:23 masak the exception is if you're designing your class such that the `is rw` accessor is meant to be overridden by deriving classes.
11:24 masak then using $.attr for assignment is the right thing to do. but it's quite rare.
11:24 smls masak: In this case, $!attr *has* to be used for assignment, because the public accessor is *not* declared 'is rw'
11:25 arnsholt FROGGS: Compound statements in suites would mess up the indent level
11:25 RabidGravy anyone on macosx or windows fancy trying to panda install Crypt::Libcrypt ?  It should crap out early
11:26 tinyblak joined #perl6
11:28 AlexDani` joined #perl6
11:29 Ven masak: http://irclog.perlgeek.de/p​erl6/2015-05-26#i_10656120 the equivalent nqp version runs twice faster than p5 for you?
11:34 smls masak: S05 says that  <{ }>  "declares a sequence point, and is considered to be procedural".  Could that affect the amb backtracking problem?
11:37 _mg_ joined #perl6
11:37 dalek snake: 98f527b | arnsholt++ | / (2 files):
11:37 dalek snake: Fix bug with a suite containing a single compound statement.
11:37 dalek snake:
11:37 dalek snake: In those cases, the parser would mess up the indentation levels and keep
11:37 dalek snake: parsing the suite when it should have stopped.
11:37 dalek snake:
11:37 dalek snake: Also adds test to make sure we don't do it again.
11:37 dalek snake: review: https://github.com/arnshol​t/snake/commit/98f527bea4
11:37 dalek snake: 88ad99f | arnsholt++ | / (2 files):
11:37 dalek snake: Fix bug in NEWLINE token.
11:37 dalek snake:
11:37 dalek snake: Previously, it didn't correctly eat up blank lines (which are supposed to be
11:37 dalek snake: ignored).
11:37 dalek snake: review: https://github.com/arnshol​t/snake/commit/88ad99f87e
11:38 arnsholt FROGGS: 98f527b above is the commit, if you're interested in the fix too
11:42 mr-foobar joined #perl6
11:48 g5 joined #perl6
11:53 andreoss joined #perl6
11:54 FROGGS I see
11:56 blackbolt_ joined #perl6
11:57 inokenty joined #perl6
11:58 pauluu joined #perl6
12:02 ggoebel joined #perl6
12:06 fhelmberger joined #perl6
12:17 Foxcool joined #perl6
12:19 blackbolt joined #perl6
12:22 cschwenz joined #perl6
12:22 vendethiel joined #perl6
12:33 [Coke] I can give out bugadmin rights, just need the account/email on rt
12:37 smls [Coke]: Was that directed at me?
12:38 [Coke] Only if you want to be able to close RTs. :)
12:38 Ven joined #perl6
12:38 masak (I suggested that.)
12:39 gunpee joined #perl6
12:40 smls btw, a spam email has just been sent to the bugtracker - can we delete it, or just close it?
12:40 FROGGS smls: we mark it as spam
12:40 FROGGS (just done it)
12:41 smls ok
12:41 FROGGS there is a big "S" at the upper right once you can do that
12:45 [Coke] once you mark it spam, it vanishes from the perl6 queue. (doesn't seem to work on the p5 queue, but I've marked some of those over the years as well)
12:47 masak does someone want to translate version A in http://strangelyconsistent.org​/blog/send-more-money-in-perl6 into NQP?
12:47 masak I would love to have a benchmark for that.
12:49 smls masak: Do you have a Perl 5 translation of the regex version?
12:49 masak no, but I'm interested in that too.
12:50 masak also, if someone can tweak the Perl 6 version of variant C to actually compute the value (even if it takes a while), I'd be interested in that also.
12:50 vendethiel joined #perl6
12:50 masak maybe something like inlining amb would work.
12:50 masak (it would destroy the cleanness of the solution, but it would still be interesting if it worked)
12:51 smls yeah
12:52 smls I think I'll give it a try (the P5 regex one)
12:52 masak \o/
12:53 masak I might try later with the ugly Perl 6 regex one.
12:54 * masak raises an eyebrow at the way he structured the code in Yapsi way back when
12:54 hoelzro o/ #perl6
12:54 masak \o
12:54 smls masak: are you sure your perl 6 regex version actually works?
12:54 smls (you say you cut it off after 88 minutes)
12:54 masak smls: pretty sure. I made it output progress in the form of changing variables.
12:54 masak and it looked right.
12:55 smls don't you experience the infinite-hanging bug with  <{ }>  that I've gist'ed earlier?
12:55 smls s/bug/problem that may or may not be a bug/
12:56 hoelzro does it make sense to be able to predeclare a role? for example: role R { ... } ; class C does R { }
12:57 masak no, I'm not experiencing that.
12:57 anaeem1_ joined #perl6
12:57 smls huh.
12:57 masak m: role R { ... }; class C does R {}; say "alive"
12:57 camelia rakudo-moar d5eabd: OUTPUT«Use of uninitialized value of type Any in string context  in any try_select at src/gen/m-Metamodel.nqp:2429␤===SORRY!===␤No appropriate parametric role variant available for 'R'␤»
12:58 masak that warning looks like an LTA bug to me.
12:58 masak also, the error message doesn't feel like it has a good handle on what's going on.
13:03 moritz aye
13:06 carlin joined #perl6
13:08 carlin m: my $time = time; my $foo; loop (my int $i = 0; $i < 100000; $i++) { $foo = :10[50, 100, 150, 200]; }; say $foo; say time - $time;
13:09 camelia rakudo-moar d5eabd: OUTPUT«61700␤16␤»
13:09 carlin m: my $time = time; my $foo; loop (my int $i = 0; $i < 100000; $i++) { $foo = 50*1000 + 100*100 + 150*10 + 200; }; say $foo; say time - $time;
13:09 camelia rakudo-moar d5eabd: OUTPUT«61700␤0␤»
13:09 * lizmat finally continued working on the P6W
13:09 carlin m: my $time = time; my $foo; loop (my int $i = 0; $i < 1000000; $i++) { $foo = 50*1000 + 100*100 + 150*10 + 200; }; say $foo; say time - $time;
13:09 camelia rakudo-moar d5eabd: OUTPUT«61700␤1␤»
13:09 andreoss can i tell panda to not compile module in mbc?
13:10 carlin m: my $time = time; my $foo; loop (my int $i = 0; $i < 1000000; $i++) { $foo = :10[50, 100, 150, 200]; }; say $foo; say time - $time;
13:10 lizmat if you folks have any suggestions about things I should mention, please let me know!
13:10 camelia rakudo-moar d5eabd: OUTPUT«(timeout)»
13:12 hoelzro masak: I was thinking of fixing it up
13:13 hoelzro I'm giving a talk on working on rakudo at Chicago.pm on Thursday, and I'm going through my "rakudo idea junk drawer" to find a simple exercise to walk to audience through
13:15 vendethiel joined #perl6
13:16 dalek joined #perl6
13:19 masak hoelzro: nice.
13:23 yqt joined #perl6
13:27 masak ok, I managed to fix *that* hang in Yapsi.
13:27 masak there's another one later on.
13:27 masak I think the hang is related to changed whitespace handing in rules. but that change happened ages ago, so I don't know why it triggered now, six days ago.
13:32 mr-foobar joined #perl6
13:32 anaeem1_ joined #perl6
13:34 Akagi201 joined #perl6
13:38 anaeem1 joined #perl6
13:41 RabidGravy I don't suppose anyone else is building/testing on FreeBSD 8 ?
13:42 RabidGravy It's behaving link nativecall isn't loading .so files from the full path name
13:42 RabidGravy of course my system could be cocked up
13:42 DrForr Hrm. I've got a box that I could spin up some VMs here on at work, but I don't yet think that's a good idea.
13:44 FROGGS RabidGravy: BSD's test to do that, that is, to not load libs from random paths
13:44 DrForr (not that I don't think perl6 is stable, just the 'at work' part.
13:44 FROGGS RabidGravy: you need to put that directory in LD_LIBRARY_PATH before invoking perl6
13:46 RabidGravy ah so a panda build with a custom .so is unlikely to work as it currently stands
13:47 [Coke] I just tried out yapsi and am getting the same error I'm seeing testing rakudo star.
13:47 hoelzro is that a *BSD thing, not being able to dlopen() an absolute path? I tried that on an OpenBSD VM last week and it worked fine =/
13:47 [Coke] I did ufo && make, then ./bin/yapsi, and it complains it cannot find Yapsi in any of...
13:48 masak [Coke]: that's what I'd expect.
13:48 itz2 panda/ext needs new versions with no "unit" warnings I think?
13:49 anaeem1 joined #perl6
13:51 Ven joined #perl6
13:51 laouji joined #perl6
13:51 andreoss m: (1...3, Empty ,3...6).perl.say
13:51 camelia rakudo-moar d5eabd: OUTPUT«(1, 2)␤»
13:51 andreoss m: (1...3, Any ,3...6).perl.say
13:51 camelia rakudo-moar d5eabd: OUTPUT«Use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/cFW_IqrHeH:1␤(1, 2, 3, Any, 3, 4, 5, 6)␤»
13:51 andreoss m: (1...3, Nil ,3...6).perl.say
13:51 camelia rakudo-moar d5eabd: OUTPUT«Use of uninitialized value of type Any in numeric context  in block <unit> at /tmp/PF8ngji3ll:1␤(1, 2, 3, Any, 3, 4, 5, 6)␤»
13:52 lizmat P6W: https://p6weekly.wordpress.com/2015/05/26/2​015-2021-blogs-grant-release-and-progress/
13:53 moritz lizmat++
13:53 Sqirrel joined #perl6
13:53 lizmat please let  me know of anything I've missed   :-)
13:53 masak colomon: just pushed two commits that unstucks Yapsi's test suite.
13:53 colomon \o/
13:53 masak colomon: (now there are test failures instead, but that's one step better)
13:53 FROGGS RabidGravy: site/lib is in rpath, so will at least work once it is installed...
13:54 FROGGS RabidGravy: can you show us the code that is failing?
13:54 colomon masak: it’s a huge step forward as far as smoke testing is concerned.  :)
13:54 masak I'm just looking at the whole Yapsi code base (which is not very big, actually) and going "oh dear, whoever wrote this was not very experienced, was he?"
13:54 FROGGS lizmat++ # !
13:55 masak heh. I knew how much of the Yapsi learnings I took with me to 007. I hadn't really realized how much I had learned in-between those two projects, though.
13:55 [Coke] masak: just did an update, same failure mode on the make test. Not sure if it was intended to fix that issue.
13:56 masak it was. it's not supposed to hang anymore.
13:56 masak it doesn't hang here :/
13:56 fhelmberger joined #perl6
13:56 masak I'm not running `make test`, though. I'm running `prove -e'perl6 -Ilib' -r t/`
13:56 brrt (1.6s for the nqp version here)
13:56 RabidGravy FROGGS, It's e.g. the Sys::Utmp https://github.com/jonathanstowe/p6-Sys-Utmp
13:57 masak brrt: what's that?
13:57 RabidGravy but it looks like it's all the other code
13:57 colomon masak++: I get test failures but not hang when installing with panda
13:58 FROGGS lizmat: 'perl -MMoose -e1' is .18 and 'perl6 -e1' is .10 here fwiw
13:58 brrt the iterative version of send more money (i think from cygx)
13:58 brrt cygx++
13:58 lizmat FROGGS: good to hear  :-)
14:00 FROGGS RabidGravy: what's the error message you get?
14:00 RabidGravy let me find the window ;-)
14:01 RabidGravy "Cannot locate native library '/usr/home/jns/devel/perl6/p6-Sys-Utmp/.pand​a-work/1432648885_1/blib/lib/utmphelper.so'"
14:02 domidumont joined #perl6
14:02 RabidGravy and it's definitely there at that point
14:05 timotimo o/
14:05 timotimo thank you lizmat, i'll read it right away :)
14:06 timotimo brrt: do we actually expect startup time to benefit greatly from better jitting?
14:07 vendethiel joined #perl6
14:07 timotimo lizmat: short and sweet. i like it :)
14:07 lizmat timotimo brrt it was more intended as a teaser  :-)
14:08 timotimo i know for a fact that if i had written that post, i'd've stressed for hours about "not enough text, oh god what have i missed"
14:08 brrt wait, what did i miss
14:09 brrt timotimo; I do actually expect that this helps, at any rate for real programs, because the compiler is itself a perl6/nqp program
14:09 brrt not for perl6 -e '1;'
14:09 brrt but for 'real' programs, yes, i do expect it will help
14:10 brrt if only so little
14:10 timotimo right; we recently tuned spesh thresholds so that less spesh work gets done in the bare startup, though :P
14:10 timotimo it seems like we can get a pretty huge speedup for :10[ ... ] and friends
14:11 timotimo as carlin demostrated
14:15 brrt what does :10[...] do, or rather, how is it implemented
14:15 xinming joined #perl6
14:15 timotimo that's the question, isn't it? :)
14:15 timotimo m: say :10[ 1, 2, 3, 4 ]
14:15 camelia rakudo-moar d5eabd: OUTPUT«1234␤»
14:15 * brrt recently had an epiphany with regards to the param_* set of ops
14:15 timotimo oh, that's excellent!
14:15 brrt basically, it's just a conversion matrix, right?
14:15 timotimo yes
14:16 timotimo i'm still pulling latest parts and building
14:16 timotimo i'll have a look at how :10 and friends are implemented
14:16 brrt well, there are 4 possiblities from source, and 4 possiblities from destination
14:16 brrt (namely, i, n, s, o)
14:16 timotimo yeah
14:16 brrt this means we can encode every transformation in 4 bits, and we can create a single transformation switch that switches on those bits
14:17 brrt all that is left is filling out the 16-entry matrix to be 'correct' with regards to current behaviour
14:17 timotimo ah?
14:17 brrt (and then a slight API change, but that is a small matter)
14:17 skids joined #perl6
14:18 dalek rakudo/nom: c2a57ec | lizmat++ | src/core/Backtrace.pm:
14:18 dalek rakudo/nom: Lose the <unit-outer> in backtraces
14:18 dalek rakudo/nom:
14:18 dalek rakudo/nom: The lazification of backtraces accidentally included the <unit-outer> scope,
14:18 dalek rakudo/nom: where it didn't before.
14:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c2a57ec3b2
14:18 timotimo :10[ ... ] calls UNBASE_BRACKET
14:18 timotimo :10( ... ) calls UNBASE
14:19 aindilis joined #perl6
14:20 timotimo the unbase bracket version has to work with '.', too
14:20 xinming joined #perl6
14:21 timotimo i expect if we have a list of $ sigil'd vars, we can generate a bit of numeric code instead of a full call to unbase_bracket
14:21 timotimo except ... binding trickery may be involved
14:21 timotimo m: my $foo := 1, 2, 3; say :10[ $foo ];
14:21 camelia rakudo-moar d5eabd: OUTPUT«123␤»
14:22 timotimo m: my $foo = 1, 2, 3; say :10[ $foo ];
14:22 camelia rakudo-moar d5eabd: OUTPUT«WARNINGS:␤Useless use of "," in expression "my $foo = 1, 2, 3" in sink context (line 1)␤1␤»
14:22 timotimo m: my $foo = (1, 2, 3); say :10[ $foo ];
14:22 camelia rakudo-moar d5eabd: OUTPUT«3␤»
14:22 timotimo this just numifies, i suppose
14:23 FROGGS RabidGravy: can you try latest MoarVM and check if the error msg provides any hints now?
14:23 RabidGravy 'ang on
14:25 rindolf joined #perl6
14:28 ab5tract_ joined #perl6
14:28 ab5tract_ I haven't been around much recently, but I wanted to a big karma hug to everyone on the impressive amount of work that's been happening
14:29 ab5tract_ to *give a
14:29 timotimo i suppose the right place to put an optimization like that is the optimizer, since we can ask what the involved lexicals have set as their type constraints
14:29 dalek perl6-examples: 6e8e53f | andreoss++ | / (2 files):
14:29 dalek perl6-examples: [euler] problem 30 solution
14:29 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/6e8e53f4a7
14:29 brrt wait, what kind of optimization are we talking about :-)
14:30 timotimo this is about unbase_bracket
14:30 RabidGravy FROGGS, exactly the same
14:31 brrt is it possible that the spectest actually hangs on mac, or is it just *really* slow
14:31 FROGGS RabidGravy: unlikely
14:31 FROGGS RabidGravy: I changed the error message...
14:32 RabidGravy Hmm, maybe it didn't get the latest moar
14:32 FROGGS RabidGravy: just go to your MoarVM dir, and type 'git pull && make install'
14:32 FROGGS or something along these lines
14:34 andreoss only 56 of 516 problems are solved
14:37 timotimo now i wonder if unbase_bracket is meant to support numbers bigger than the base
14:37 timotimo m: say :10[ 12345, 12345 ]
14:37 camelia rakudo-moar d5eabd: OUTPUT«135795␤»
14:41 vendethiel joined #perl6
14:44 lizmat timotimo: re size of blog post: I think the regularity is more important than the size
14:45 timotimo that's a fair assumption, i think
14:45 timotimo note that i'm far from rational in this regard :P
14:50 colomon joined #perl6
14:53 lizmat afk for a while again&
14:54 smls masak: This seems to work, although it's very slow: https://gist.github.com/smls/f41a4384e03d58dd18e4
14:55 smls Slowness probably stems from the fact that the sub-regexes returned by  (??{ })  are recompiled every time they get backtracked over.
14:57 brrt Offtopic: one of the larger misfeatures of python is the large number of __double_underscore__ methods
14:57 smls Also, when running it the memory usage rises constantly until the kernel kills the process. :(
14:58 RabidGravy FROGGS, which file did you change in Moar ? I'm still getting the same and not sure what is going on
14:59 FROGGS RabidGravy: src/core/nativecall.c
14:59 FROGGS RabidGravy: look at https://github.com/MoarVM/MoarVM/commit/5ddab9a43d
15:00 smls masak: It managed to get to the iteration "1085 + 7460 == 74803" before exhausing all RAM on my 8GB computer :P
15:01 anaeem1 joined #perl6
15:08 telex joined #perl6
15:13 timotimo oh, re-compiling the regex every time you backtrack over it. that's a bad miss
15:14 vendethiel joined #perl6
15:15 anaeem1_ joined #perl6
15:15 smls joined #perl6
15:19 smls masak: Correction, it gets up to an iteration with $send == 1246, before exhausting ~7 GB of RAM.
15:20 anaeem1_ joined #perl6
15:20 smls And it took 5 minutes to get there.
15:21 smls Since it starts looking at $send=1000 and the solution would be found at 9567, that means it only got 2.9% of the work done in that time & RAM  :S
15:22 smls So yeah, this does not seem to be a practically viable solution to the problem in Perl 5.
15:22 RabidGravy FROGGS, got it!
15:22 FROGGS RabidGravy: do tell
15:23 koo6 joined #perl6
15:23 RabidGravy the "Cannot locate" is a red-herring, it actually can't find the symbol in the library
15:23 FROGGS eww
15:24 FROGGS RabidGravy: but then it should state: Cannot locate symbol '%s' in native library '%s'
15:24 RabidGravy which is odd anyway as I've definitely seen it say that before
15:24 RabidGravy Cannot locate native library '/usr/home/jns/devel/perl6/p6-Sys-Utmp/.pand​a-work/1432653646_2/blib/lib/utmphelper.so': /usr/home/jns/devel/perl6/p6-Sys-Utmp/.pand​a-work/1432653646_2/blib/lib/utmphelper.so: Undefined symbol "getutent"
15:24 FROGGS RabidGravy: ahh!
15:25 FROGGS nice, so my patch does something sensible
15:25 FROGGS RabidGravy: you need to link against the library that defines detutent
15:25 FROGGS getutent*
15:26 bbkr r: sub MAIN (Int :$x) {...} # why it does not print usage?
15:26 camelia rakudo-jvm c2a57e: OUTPUT«Unhandled exception: Stub code executed␤  in throw (gen/jvm/CORE.setting:14593)␤  in sink (gen/jvm/CORE.setting:16528)␤  in MAIN (gen/jvm/main.nqp:41)␤  in <mainline> (gen/jvm/main.nqp:35)␤  in  (gen/jvm/main.nqp)␤␤»
15:26 camelia ..rakudo-moar c2a57e: OUTPUT«Unhandled exception: Stub code executed␤   at <unknown>:1  (/home/camelia/rakudo-inst-2/share/perl6/run​time/CORE.setting.moarvm:throw:4294967295)␤ from src/gen/m-CORE.setting:16742  (/home/camelia/rakudo-inst-2/share/p​erl6/runtime/CORE.setting.moarvm:s…»
15:26 timotimo because named arguments are optional by default
15:26 timotimo r: sub MAIN (Int :$x!) {...}
15:26 camelia rakudo-{moar,jvm} c2a57e: OUTPUT«Usage:␤  /tmp/tmpfile -x=<Int> ␤»
15:26 RabidGravy no, FreeBSD of a certain vintage doesn't have it at all so the .c will supply it
15:27 geekosaur was thinking that sounded like a BSD
15:27 timotimo bbkr: ^^
15:29 bbkr timotimo: thanks. I also found small inconsistency in MAIN behaviour - named params print expected type but positional does not. Is that also expected?
15:29 timotimo oh
15:29 timotimo dunno
15:29 timotimo might be an easy fix :)
15:29 timotimo for you, i mean :P
15:29 bbkr r: sub MAIN (Int $x!) {...}
15:30 camelia rakudo-jvm c2a57e: ( no output )
15:30 camelia ..rakudo-moar c2a57e: OUTPUT«Usage:␤  /tmp/tmpfile <x> ␤»
15:30 FROGGS hehe
15:31 grondilu joined #perl6
15:38 * bbkr reported bug
15:39 _mg_ joined #perl6
15:40 RabidGravy WTF 'Undefined symbol "croak"'
15:41 bbkr another question - how to turn on strict mode by default?
15:43 colomon joined #perl6
15:44 bbkr nvm, found the answer: "-e one line of program, strict is disabled by default". I thought it was disabled for regular file interpreting too.
15:46 RabidGravy me-- # total forgot all the C he ever know
15:46 timotimo bbkr: oh god, a comeback of "you have to put 'use strict;' at the beginning of any script"? nooooooo~
15:47 timotimo i can't think of anything we could do that'd be worse
15:49 bbkr I was just confused because my oneliners allowed bare perl6 -e "$x = 3" and I was scarred that strict mode declaration in every file came back :)
15:50 timotimo i can imagine you'd be scarred by "no strict by default"
15:52 gfldex joined #perl6
15:52 laouji joined #perl6
15:53 bbkr I'm maintaining such large Perl 5 codebase that I simply force people to do 20 push ups for forgetting "use strict". switching to Perl 6 will severely reduce my team physical condition :)
15:53 timotimo mhm
15:54 tony-o_ Attribute '$!path' already exists in the class 'MyApp::Basic', but a role also wishes to compose it
15:54 tony-o_ oops
16:09 andreoss maybe there's something like INIT to compile a block and run it as the byte code?
16:09 hoelzro is it a reasonable assumption that a predeclared role must be declared before it is consumed by a class?
16:10 hoelzro the complexity I'm imagining to get role R { ... } class C does R { } role R { #`(impl) } to DWIM makes me shudder
16:10 diana_olhovik_ joined #perl6
16:11 timotimo andreoss: what now?
16:11 pauluu left #perl6
16:12 ugexe hoelzro: can you better explain what you want to do?
16:12 hoelzro m: role R { ... } class C does R {}
16:12 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hnyctndCLf␤Strange text after block (missing semicolon or comma?)␤at /tmp/hnyctndCLf:1␤------> 3role R { ... }7⏏5 class C does R {}␤    expecting any of:␤        infix␤        infix stopper␤…»
16:12 hoelzro er
16:13 hoelzro m: role R { ... } ; class C does R {}
16:13 camelia rakudo-moar c2a57e: OUTPUT«Use of uninitialized value of type Any in string context  in any try_select at src/gen/m-Metamodel.nqp:2429␤===SORRY!===␤No appropriate parametric role variant available for 'R'␤»
16:13 hoelzro there we go
16:13 hoelzro ugexe: that error message is LTA, so I was thinking about fixing it
16:13 andreoss timotimo: i'm not following.
16:13 timotimo "compile a block and run it as the byte code"?
16:13 timotimo i don't understand
16:13 hoelzro I can do stuff like class C { ... } ; my $c = C.new; class C {} and that works fine
16:13 timotimo everything you have in your perl6 script is compiled to bytecode before its run
16:14 hoelzro but that's because the stuff actually using C is runtimey
16:14 timotimo well, any way, i'll be AFK for a bit now
16:14 hoelzro so I think that making role R { ... } ; class C does R {} ; role R {} would be hard to do, and perhaps not terribly useful
16:15 andreoss COMPILE { ... } == perl --target=mbc '...' > bytecode.moarvm; moar bytecode.moarvm
16:15 andreoss timotimo: like that
16:15 moritz m: class A { ... }; class B is A { }; class A { }
16:15 camelia rakudo-moar c2a57e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/AQ21RpRfFO␤'B' cannot inherit from 'A' because 'A' isn't compose yet (maybe it is stubbed)␤at /tmp/AQ21RpRfFO:1␤»
16:15 andreoss i mean to compile at runtime
16:15 timotimo so you want to emit a bytecode file?
16:16 timotimo on top of running the code
16:16 timotimo i'll get back to you later
16:16 timotimo o/
16:16 andreoss is it a bad idea?
16:19 andreoss i see now why my question sounded stupid. So basically i want some code (like a class) to be compiled before the rest of code.
16:20 moritz so, put it into a module?
16:25 andreoss i'm trying to golf futher this https://rt.perl.org/Public/​Bug/Display.html?id=125245
16:26 andreoss so complied bytecode and the bytecode compiled on the fly do behave differently
16:27 andreoss i wondered if i can to compile a block like that and compare it with the same block without pre-compilation
16:27 rindolf joined #perl6
16:28 andreoss sorry if i used the wrong terms here
16:28 chenryn joined #perl6
16:29 ugexe hoelzro: why the { ... } and not just { }?
16:29 hoelzro ugexe: because I'm predeclaring the role
16:31 dalek ecosystem: a2938b6 | skids++ | META.list:
16:31 dalek ecosystem: Add X::Protocol to ecosystem
16:31 dalek ecosystem:
16:31 dalek ecosystem: ...getting folks to actually use it may end up being an exercise in cat-herding.
16:31 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/a2938b667c
16:32 skids Oh, I had access to that?  :-)
16:32 tony-o_ skids, what is it
16:33 skids It's a pretty bland module to for X:: based things like HTTP::Status
16:33 skids So we don't have to keep redundant lists of "404", "Not found" and such.
16:35 molaf joined #perl6
16:36 ugexe is there an X::BlameUser yet?
16:36 tony-o_ lol
16:37 skids X::PEBKAC?
16:38 tony-o_ X::TIMTOWTDI
16:39 camelia joined #perl6
16:39 muraiki joined #perl6
16:40 itz2 joined #perl6
16:40 raydiak if you think herding cats is difficult, you either don't live with them, or haven't tried to open a can of tuna for yourself
16:40 itz2 joined #perl6
16:41 skids raydiak: I don't anymore, but I still put the toilet paper on "backwards" out of habit.
16:41 nine m: say "alive in the VM"
16:41 yoleaux 19 May 2015 21:43Z <jdv79> nine: please see the PR on I::Py
16:41 camelia rakudo-moar c2a57e: OUTPUT«alive in the VM␤»
16:41 yoleaux 20 May 2015 20:04Z <lizmat> nine: Is there a reason why nobody has added a "unit" statement to Inline::Perl5 to quiet the warnings?
16:42 ugexe skids: have you done anymore http rfc related work?
16:42 nine j: say "alive in the VM"
16:42 camelia rakudo-jvm c2a57e: OUTPUT«alive in the VM␤»
16:42 avalenn joined #perl6
16:43 skids ugexe: haven't had time yet.
16:43 [Coke] nine: How can I run the inline:perl5 tests with a local ./install?
16:43 nine [Coke]: make test?
16:44 skids ugexe: are you going to add those grammars to the ecosystem?
16:44 [Coke] nine: er, the spectest tests. I can't use panda to install into the ./install directory.
16:44 ugexe i have a http client build on top of rfc grammars, still has a few bugs parsing certain headers though. i dont think 7230-7235 can properly be translated automatically and work
16:44 [Coke] so how do I install Inline::Perl5 ?
16:45 [Coke] doing a fresh test now so I can try to find where the failure point is.
16:45 nine [Coke]: sorry, I have no idea. Stil have to find my way through the CompUnitRepo land
16:45 skids ugexe: the rfc itself pretty much says not to just run the grammar.  Also it has works like proxies are supposed to tolerate and normalize things that would normally fail a client/server parse.
16:45 ugexe skids: i have updated ones in zef currently which is in the ecosystem: https://github.com/ugexe/zef/blob​/master/lib/Zef/Grammars/HTTP.pm6 nad Zef/Utils/HTTPClient.pm6
16:46 skids s/works/wording/
16:47 ugexe yea... headers are even worse. the default doesnt allow single letter words in a quoted string if there is space on both sides (a bug), and the eratta for it breaks other things
16:47 ugexe makes trying to keep it all in the grammar difficult
16:51 skids Security wise the advice is do two passes -- one to get individual headers and then per-header stuff after aggregating the compound headers.  So I guess the per-header pass could be lazy.
16:52 ugexe whats the security risk in doing it in a single pass?
16:52 skids Complexity mostly, I think.
16:54 ugexe i have hard coded rules for most known headers. but the default rule for when it doesnt match a known header has been a source of pain for me
16:56 skids I saved a bunch of links to for later making spectests from greenbytes.de, e.g. http://greenbytes.de/tech/tc2231/.  Those pages are a bit scattered.
16:56 [Sno] joined #perl6
17:01 colomon ==> HTTP::Server::Threaded::Router depends on HTTP::Server::Threaded::Router
17:01 colomon Killed
17:01 masak smls: after getting rid of the experimental signatures -- I still run 5.18 here for some reason -- I got https://gist.github.com/smls/f41a4384e03d58dd18e4 working.
17:01 masak smls: it gets lot further here than what you report.
17:01 smls oh? how fast?
17:02 dalek perl6-examples: 6d20768 | paultcochrane++ | .travis.yml:
17:02 dalek perl6-examples: Add Text::VimColour dependency to Travis config
17:02 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/6d20768dbc
17:02 dalek perl6-examples: 6992ab5 | paultcochrane++ | categories/wsg/advanced-2008/event010-dwhipp.p6:
17:02 dalek perl6-examples: [wsg] replace .for with .flatmap
17:02 dalek perl6-examples:
17:02 dalek perl6-examples: The method .for is deprecated and will be removed in Rakudo 2015.09.  Its
17:02 dalek perl6-examples: replacement is .flatmap as corrected here.
17:02 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/6992ab5c21
17:02 dalek perl6-examples: ee436d9 | paultcochrane++ | README.md:
17:02 dalek perl6-examples: Update dependencies list in README
17:02 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/ee436d9a52
17:02 dalek perl6-examples: f52a30d | paultcochrane++ | t/categories/euler.t:
17:02 dalek perl6-examples: [euler] add expected output for prob030
17:02 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/f52a30dc59
17:02 masak I had it print on every 100_000 iterations. it does so about once a second.
17:02 Akagi201 joined #perl6
17:03 hoelzro does anyone know why stubby roles might not qualify for add_stub_to_check?
17:04 masak smls: something is wrong. $send went from 1980 to 1025 in my output.
17:04 smls huh :P
17:06 andreoss [ptc]: i knew i missed something, sorry
17:06 tony-o_ colomon: thank you
17:06 colomon tony-o_: you’re welcome
17:07 dalek perl6-examples: 7a937dc | paultcochrane++ | categories/euler/prob0 (5 files):
17:07 dalek perl6-examples: [euler] replace hard tabs with spaces
17:07 dalek perl6-examples: review: https://github.com/perl6/perl​6-examples/commit/7a937dc640
17:07 tony-o_ colomon: fixed it - it still needs the H:S:T dpends :-)
17:07 [ptc] andreoss: that's ok.
17:07 [ptc] andreoss: the funny thing is, that the test file wouldn't even compile since a variable wasn't defined...
17:08 tony-o_ colomon: if you're interested in using that - i have something that builds on that module on the way
17:08 [ptc] andreoss: does travis notify you if the build breaks?  Or is it just me to whom that happens?
17:08 colomon tony-o_: nah, this turned up in the smoke test.  :)
17:09 andreoss joined #perl6
17:10 RabidGravy boom
17:23 timotimo hey tony-o_, jnthn has most likely figured out what causes instabilities all over the map
17:23 colomon tony-o_: actually, things seem to be hung up in the HTTP::Server::Threaded tests now….
17:24 tony-o_ colomon: it's an issue with the way stuff works with start {} blocks
17:24 tony-o_ start blocks and sockets
17:24 tony-o_ timotimo: that is awesome!
17:25 tony-o_ timotimo jnthn what was it?
17:26 timotimo a race inside lazy deserialization
17:27 dalek perl6-roast-data: 0b1d661 | coke++ | / (9 files):
17:27 dalek perl6-roast-data: today (automated commit)
17:27 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/0b1d6619f6
17:31 jdv79 [Coke]: we don't have full output of your runs there?
17:34 [Coke] ok, I was able to get panda to install inline perl5 just now. wonder why it borked earlier. Now only "problem" is large number of deprecated warnings during the panda process.
17:35 [Coke] jdv79: no. I locally track the full build output, but don't capture it.
17:35 [Coke] we can change that if it's needed. the roast data was mainly about roast, though, not rakudo itself.
17:38 vendethiel joined #perl6
17:40 FROGGS joined #perl6
17:41 yqt joined #perl6
17:42 laouji joined #perl6
17:45 _mg_ joined #perl6
17:48 japhb masak: Pretty please can you turn your various make+more=money variants into minibenchmarks for https://github.com/japhb/perl6-bench -- especially since y'all have been making NQP and Perl 5 versions as well as the Perl 6 ones.
17:49 japhb (Would also be a strong incentive to take some of my personal hack time to do comparisons of different algorithms solving the same problem as well as different compilers running the same algorithm.
17:52 pmichaud r:  sub MAIN (Int $count) { ... }
17:52 yoleaux 20 May 2015 16:49Z <TimToady> pmichaud: FYI I'm intending to slaughter the $!flattens flag after this release since it makes @a,@a misbehave in non-flat list context, looks like we'll have to fix all the (foo,).flat.eager things scattered here and there too
17:52 camelia rakudo-{moar,jvm} c2a57e: OUTPUT«Usage:␤  /tmp/tmpfile <count> ␤»
17:52 spider-mario joined #perl6
17:53 anaeem1 joined #perl6
17:56 masak japhb: that sounds like a worthy thing to do. I'll spend some time on it tonight.
17:56 masak japhb: what's the closest thing to "here's what you need to do to create and submit a perl6-bench microbenchmark" ?
17:56 pmichaud r: sub MAIN ($pattern!, *@files) { ... }
17:57 camelia rakudo-{moar,jvm} c2a57e: OUTPUT«Usage:␤  /tmp/tmpfile <pattern> [<files> ...] ␤»
17:57 * masak should probably check the github repo before asking
17:57 fhelmberger joined #perl6
17:58 FROGGS good evening dear sir or madam
17:59 FROGGS m: sub MAIN($a) { ... } #= flubber
17:59 camelia rakudo-moar c2a57e: OUTPUT«Usage:␤  /tmp/jF9IVKBBk9 <a> -- flubber␤»
17:59 FROGGS m: sub MAIN($a where True) { ... } #= flubber
17:59 camelia rakudo-moar c2a57e: OUTPUT«Usage:␤  /tmp/1Z80c6DhRA <a> ␤»
17:59 pmichaud m:  sub MAIN (Int $integer) { ... }
17:59 camelia rakudo-moar c2a57e: OUTPUT«Usage:␤  /tmp/SJk_VxNAxM <integer> ␤»
17:59 FROGGS was that already rakudobugged?
18:00 itz2 grrr why doesn't git install subtree by default?
18:01 pmichaud FROGGS: I'm responding to RT #125251
18:01 domidumont joined #perl6
18:01 pmichaud m: sub MAIN ( :$x! ) { ... }
18:01 camelia rakudo-moar c2a57e: OUTPUT«Usage:␤  /tmp/2gFQ1UuDcN -x=<Any> ␤»
18:02 masak japhb: oh, from looking at the repo layout, it's just a matter of adding the scripts to the nqp/, perl5/, and perl6/ directories. all with the same name. yes?
18:02 masak japhb: do you prefer pull requests?
18:02 pierrot_ joined #perl6
18:03 gtodd joined #perl6
18:03 FROGGS pmichaud: k, I'll rakudobug the lack of the comment when a where clause is present
18:03 Akagi201 joined #perl6
18:08 inokenty joined #perl6
18:09 japhb masak: I'm happy to add commitbits too, especially as I already know your code style won't drive me batty.  :-)
18:09 japhb There is one more thing to do than putting the scripts in the right directories; you need to add a stanza to minibenchmarks.pl in the top level.
18:11 japhb masak: You now have a commitbit.  Go out and -Ofun.  :-)
18:12 masak \o/
18:13 masak ah, yes. minibenchmarks.pl.
18:14 masak japhb: I'll try and get around to this tonight.
18:15 japhb masak: Thanks!
18:16 Peter_R joined #perl6
18:23 japhb Anyone happen to know of a relatively *simple* (not a ton of rules) pen-and-paper RPG?  I've discovered while attempting to capture the essence of a couple of my old favorites in Perl 6 code that they were, in fact, extraordinarily complicated.
18:23 japhb And hard to tease out the fun starting bits from the "only old timers care one whit about this" sort of rules.
18:24 DrForr GURPS is pretty straightforward.
18:25 japhb DrForr: You'd be surprised (I was an old GURPS fan, and that was one of the first I tried, and it's certainly less complex at the core than e.g. Pathfinder, but still ... DANG.)
18:25 DrForr Then D20 maybe?
18:26 japhb Pathfinder is basically D20 3.5+i
18:26 DrForr Amber Diceless comes to mind as well.
18:27 japhb The thing I'm coming to understand is that humans are so good at internalizing exceptions and obscure stacking rules and such that they don't realize that, from the point of view of coding the rules, it's a completely entangled web.
18:27 japhb Hmmm, haven't played that one, though I've heard of it.
18:27 gfldex joined #perl6
18:27 dalek rakudo/nom: b9f993b | FROGGS++ | src/core/CompUnitRepo/Locally.pm:
18:27 dalek rakudo/nom: dont create dirs when instanciating CUR
18:27 dalek rakudo/nom:
18:27 dalek rakudo/nom: But also do not skip non-existing locations, because we might be
18:27 dalek rakudo/nom: creating them when installing into.
18:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b9f993b86a
18:28 [Sno] joined #perl6
18:29 DrForr That requires a bit more maturity on the behalf of the players than you may be able to assume :)
18:29 japhb Amber Diceless, you mean?
18:29 DrForr Yeah.
18:31 DrForr GURPS though has the geek cred, EFF and NSA ties :)
18:32 japhb Heh
18:33 japhb That one was my favorite in college; old school D&D before that.
18:33 DrForr Same here. In fact I just hooked up with some of my cohorts from that time as well.
18:35 * colomon is a big Amber Diceless player
18:36 * colomon doesn’t think Amber would do well as a Perl 6 program
18:38 japhb The wikipedia page for it was an interesting read, at least.
18:39 masak FROGGS: s/instanciating/instantiating/ -- for some reason, this type seems common among Germans (haven't figured out why yet)
18:39 DrForr I don't think it'd be a good program either, but he was looking for a simple RPG.
18:39 yqt joined #perl6
18:39 colomon japhb: Oh, Amber is an awesome game.  But the rules are so slight they tend to fall away to nothing in practice.
18:39 FROGGS masak: ahh, now that you write it it seems clear to me
18:40 masak I mean, we should all blame Lating for doing things like instance : instantiate
18:40 colomon japhb: it’s basically all either, “You automatically win” or “It’s the GM’s call.”
18:40 skids ISTR Paranoia being pretty simple.
18:41 japhb skids: Oh, that's an interesting idea.  An old friend of mine used to love that.
18:41 DrForr Oh, wait, I'm an idiot. The Laundry. Geek cred on two levels :)
18:42 skids Considering you burn through all those clones faster than the average RPG character lifespan, you need autogenerators, more too :-)
18:42 [Coke] paranoia was awesome.
18:42 japhb colomon: Hmmm, yeah, that makes sense.  Part of the reason I didn't go for Ars Magica (original rules), because that's a game of storytelling, not so much exploration and Indiana Jones stuff.
18:42 nine masak: in German it's Instanz : instanzieren so we kind of fixed that ;)
18:44 masak German++
18:44 masak japhb: you could always implement a Nomic :P
18:45 japhb Didn't you already do that?  :-)
18:45 masak no, I sketched some plans to do it.
18:45 DrForr I thought that's what the perl6 parser was.
18:45 japhb DrForr: Oh geez, now I have to go and pick up more Stross novels.  :-)
18:45 tony-o_ are we going to have some kind of p6 rpg bot in here?
18:46 DrForr You're *missing* some? :)
18:46 japhb .oO( The #perl6 MUD )
18:46 masak tony-o_: that would be *awesome*. a slow-moving game, without all-that-clear winning conditions, with people lazily making moves every week or so. :)
18:46 mr-foobar joined #perl6
18:47 masak if I had a hand in it, it would probably come out seeming more like Mornington Crescent than anything else.
18:47 tony-o_ masak: i've considered it a number of times
18:47 japhb DrForr: I'm a binge reader.  I have to reduce my novel reading the only way I can: by *not* buying everything I've heard of.  :-)
18:47 DrForr You're describing debugging teh core :)
18:47 tony-o_ masak: i'm more interested in it from an engine perspective than a story perspective :-)
18:47 * japhb imagines a Perl 6 implementation of Core Wars
18:49 diana_olhovik_ joined #perl6
18:49 dalek Inline-Perl5: eed9d90 | lizmat++ | lib/Inline/Perl5.pm6:
18:49 dalek Inline-Perl5: Add 'unit' to silence deprecation warning
18:49 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/eed9d90ed0
18:49 tony-o_ masak: i'll build an engine for one in p6 when i finish this http {mv[c?]} stuff i'm working on
18:49 raydiak some web-based civilization-building games roughly fit that long-running sandbox description
18:49 tony-o_ if you're interested
18:49 colomon japhb: I dunno about Ars Magica, but certainly “exploration and Indiana Jones stuff” fits very easily into the Amber system.  :)
18:51 japhb hmmm
18:51 tony-o_ or if anyone is, really
18:51 skids FWIW as far as modern *board* games go, the main reason they can't be coded is because the quality of the rules is generally very low.
18:52 raydiak world of darkness games e.g. Vampire lend themselves well to simplicity in some ways, if fistfuls of D10s aren't the type of complexity you're worried about...dunno anything about their modern incarnations though
18:52 dalek Inline-Perl5: ef02770 | (Stefan Seifert)++ | t/p (2 files):
18:52 dalek Inline-Perl5: is_deeply now is called is-deeply
18:52 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/ef02770825
18:52 dalek Inline-Perl5: dcd0b0c | (Stefan Seifert)++ | META.info:
18:52 dalek Inline-Perl5: More complete META.info
18:52 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/dcd0b0c064
18:52 tony-o_ hard to steal from the bank in an online monopoly
18:52 nine lizmat: you literally beat me by 3 minutes
18:52 lizmat and *you* beat me on the is_deeply  :-)
18:53 nine lizmat: and that after I've been pretty much offline for almost a month ;)
18:53 lizmat sorry, I got inspired by itz++ 's panda pull request  :-)
18:54 nine Why do we need unit now anyway? The p6weekly and Rakudo's changelog only mention that we need it, not why.
18:55 lizmat to prevent confusion between stubbing a package and a file scope package
18:55 lizmat package Foo;   # just a stub
18:55 lizmat (well, in the future)
18:55 nine oh
18:55 lizmat unit package Foo;  # file scope package
18:56 FROGGS and also a 'package Foo;' was in unit scope already, and like we push regex modifiers upfront we do not like that a thing that changes meaning comes that late
18:56 FROGGS (the semicolon here)
18:56 nine I guess "unit" refers to the CompUnit?
18:56 japhb raydiak: Hmmm, thank you.  Fistfulls of dice aren't a problem per se ... which makes me wonder about some "go get the bag of d6's" games ... it's the complexity of things like Pathfinder's Armor Class rules, which I swear vary your armor class based on so many things that I despaired of a decent data structure.
18:57 FROGGS nine: aye
18:59 japhb .oO( Standing behind a tower shield, using it as a shield and not as cover, hasn't acted yet in this combat, wearing magical armor that gets its defense from force, not from strengthening the metal, defending against a touch attack, from an incorporeal being ... )
18:59 raydiak japhb: you're welcome :)  I have seen mixed-gender groups of geeks and non-geeks alike enjoy it in some form, so thought it might have the flexibility you're looking for
19:00 DrForr I would mention CCGs but given how jealously WotC..er, TSR... er, WoTC, that might not be a good idea.
19:01 DrForr That is, how jeaously they guard their copyrights.
19:02 lizmat panda installs should now be a lot less noisy
19:04 virtualsue joined #perl6
19:04 [Coke] lizmat++
19:04 japhb DrForr: Yeah, I avoided pure D20 because these days it's actually hard to figure out how you can even refer to those rules without invoking Lovecraftian contracts
19:04 diana_olhovik_ joined #perl6
19:04 japhb Despite they used to be free enough that Pathfinder managed to fork from them.
19:08 vendethiel lizmat++ # weekly :)
19:11 mr-foobar joined #perl6
19:12 DrForr Yeah, I remember the original hoohaa over a Creative Commons or whatever RPG ruleset.
19:15 ab5tract_ joined #perl6
19:16 * DrForr grouses over a segfault that only happens every 4-5 test suite runs.
19:19 FROGGS DrForr: run it with perl6-gdb-m and ticket it please
19:19 DrForr It's nothing to do with p6 core, it's a NativeCall isue.
19:20 DrForr *issue
19:21 FROGGS if it segfaults in MoarVM, we need to fix it either way
19:21 xfix joined #perl6
19:22 DrForr Once I track it down I'll rakudobug it.
19:24 FROGGS DrForr++
19:26 andreoss joined #perl6
19:31 laouji joined #perl6
19:34 * flussence is slightly annoyed that I only saw those pull requests by chance glancing at github's front page, and it sent neither email nor website notification...
19:34 Akagi201 joined #perl6
19:36 mr-foobar joined #perl6
19:41 DrForr rakudobug sent.
19:41 * FROGGS looks
19:42 DrForr I'm headed to bed soonish, but I've got the backtrace open right now if you need anything.
19:43 FROGGS I'll try to reproduce it on my box in a bit
19:43 DrForr 64-bit Ubuntu 14.04 VM on Windows 8, 6Gb RAM.
19:44 FROGGS k
19:46 pecastro joined #perl6
19:48 dalek rakudo/nom: d5d5a48 | lizmat++ | src/core/ (2 files):
19:48 dalek rakudo/nom: Introduce :&as parameter to .categorize as well
19:48 dalek rakudo/nom:
19:48 dalek rakudo/nom: Plus some other associated cleanup with .classify
19:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d5d5a48c8f
19:49 colomon joined #perl6
19:51 brrt joined #perl6
19:52 ab5tract1 joined #perl6
19:55 masak lizmat++ # https://p6weekly.wordpress.com/2015/05/26/2​015-2021-blogs-grant-release-and-progress/
19:55 masak lizmat: says "in Markup", should be "is Markdown" ? (polarity accidentally reversed?)
19:55 lizmat masak:  duh
19:56 masak er, "in Markdown", of course
19:56 DrForr FROGGS: If you comment out the Stiflng' block, the history_list() call, and current-history to the end, I just got a 'tried to double-free' error.
19:56 lizmat fixed, masak++
20:01 masak japhb: how do I know what to put in the 'scale' setting in minibenchmarks.pl ?
20:05 dalek roast: 3f4554b | usev6++ | S09-hashes/objecthash.t:
20:05 dalek roast: Add test for RT #125249
20:05 dalek roast: review: https://github.com/perl6/roast/commit/3f4554b157
20:05 dalek roast: 0be89df | usev6++ | S09-hashes/objecthash.t:
20:05 dalek roast: Rewrite dubious tests
20:05 dalek roast:
20:05 dalek roast: looked wrong to use 'ok' (with wrong precedence) just to make the fudging work
20:05 dalek roast: review: https://github.com/perl6/roast/commit/0be89df6f5
20:06 ab5tract1 every time I think I've got it figured out...
20:06 ab5tract1 https://gist.github.com/ab5​tract/2c618fa8accc70464952
20:07 FROGGS m: https://gist.github.com/ab5​tract/2c618fa8accc70464952
20:07 camelia rakudo-moar c2a57e: OUTPUT«gist not found»
20:07 FROGGS :/
20:08 ab5tract1 Backstory: I've been waiting to release Terminal::Printer until I have it safely printing from multiple threads
20:08 ab5tract1 and I've been trying to wrap my brain around how to do this..
20:10 japhb masak: scale refers to the scale (size of problem) at which it is expected that benchmark timings will rise out of the noise and become reliable.  Given the extreme slow start of e.g. r-j combined with multiple runs to get decent statistics, it's important to avoid wasting a pile of benchmarking runs just to gather data that is essentially junk.
20:10 ab5tract1 my current idea is to use a frame timer and enqueue modifications to the grid (an array representing the terminal's character cells), and then doing the mutating on the ticking of the frame timer
20:10 japhb For problems that don't have an intrinsic scale, just use scale 1.
20:10 ab5tract1 FROGGS: so that gist doesn't show up for you?
20:10 masak japhb: then what does scale 0 (which most problems seem to have) mean?
20:10 ab5tract1 or is camelia meant to be able to run gists now??
20:11 FROGGS ab5tract: it does not work with camelia it seems
20:11 FROGGS ab5tract: it was until it broke
20:11 ab5tract1 that's very cool though
20:11 ab5tract1 I would be much obliged if anyone with some concurrency chops could point out what I'm being dumb about now
20:11 ab5tract1 I'd like to turn this into a conference presentation
20:12 japhb masak: Most? Err, hopefully not, because then people have been wasting tester's time a bit.
20:12 [Coke] ab5tract1: what are you expecting that file to output?
20:12 [Coke] I see it start up and run to 50, then stop.
20:12 ab5tract1 [Coke]: The loop does not seem to have any activity whatsoever
20:12 japhb Ah yes, hmmm, appears there have been a few scale => 0 added recently.
20:13 masak japhb: about to commit -- my commit adds a total of five scripts for two new problems. I'm committing "blind" because at this point I don't want to be slowed down by getting perl6-bench running for the first time. I might try that next, though.
20:13 masak japhb: ok, using scale => 1
20:13 ab5tract1 I'm not sure why I'm not being flooded with "yeah looping"
20:13 ab5tract1 let alone why my timer tap's say is never called
20:13 japhb Remember that if you want to test just particular benchmarks, you can time with --tests=list,of,tests
20:13 FROGGS DrForr: the test file trat triggers the error is missing in the ticket
20:13 japhb or --tests-tagged=list,of,tags
20:13 [Coke] ab5tract1: here it outputs up to 50.
20:14 masak japhb: pushed.
20:14 dalek perl6-bench: 03de262 | (Carl Masak)++ | / (6 files):
20:14 dalek perl6-bench: add send-more-money scripts
20:14 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/03de262b7e
20:14 masak japhb: that is indeed a useful tip after I get perl6-bench running. thanks.
20:14 japhb Excellent, thanks masak.
20:15 * masak tries to satisfy the deps to get perl6-bench running
20:15 ab5tract1 [Coke]: yes, that is one for every interval of the timer at the bottom there, which just serves to create subsecond input for testing purposes
20:16 japhb Gah, no one ever changed quickstart to start later than 2014.01
20:16 dalek rakudo/nom: 71128b8 | lizmat++ | src/core/Any.pm:
20:16 dalek rakudo/nom: Make sub classify/categorize work with :into
20:16 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/71128b8a30
20:16 japhb masak, since you're in there, you might consider patching https://github.com/japhb/perl​6-bench/blob/master/bench#L28 to use a more recent threshold than 2014.01, otherwise you'll build a LOT of releases
20:16 ab5tract1 What I am trying to do is to get that thread I am creating in the init method to output the concatenated contents of the channel
20:16 ab5tract1 once per second
20:17 japhb (and so will everyone else who uses quickstart for the first time ....)
20:17 itz2 joined #perl6
20:17 ab5tract1 But even my rudimentary, braindead debug output from that loop {} is not outputting
20:18 ab5tract1 [Coke]: Does that make any sense?
20:19 timotimo japhb: sorry %)
20:19 [Coke] sort of. having your expected output would make it more clear.
20:20 ab5tract1 every 10th line it should output the last ten numbers on a single line. on line number 23
20:21 tony-o_ ab5tract1: i also don't see anywhere you're doing $!chan.receive
20:21 masak japhb: set it to 2015.05 ?
20:21 japhb timotimo: No worries, could have done it myself.  :-)
20:22 japhb masak: Yeah, that's fine.
20:22 masak oki
20:22 ab5tract1 tony-o_: I thought @!chan.list in the supply emit sub would make it unnecessary
20:23 [Coke] Looks like nothing after my $closed = $!supply.closed; is happening in that start.
20:23 dalek perl6-bench: f217da7 | (Carl Masak)++ | bench:
20:23 dalek perl6-bench: patch to use a more recent threshold
20:23 dalek perl6-bench:
20:23 dalek perl6-bench: <japhb> masak, since you're in there, you might consider patching
20:23 dalek perl6-bench:         https://github.com/japhb/perl​6-bench/blob/master/bench#L28
20:23 dalek perl6-bench:         to use a more recent threshold than 2014.01,
20:23 dalek perl6-bench:         otherwise you'll build a LOT of releases
20:23 dalek perl6-bench: <masak> japhb: set it to 2015.05 ?
20:23 dalek perl6-bench: <japhb> masak: Yeah, that's fine.
20:23 ab5tract1 [Coke]: oh god
20:23 dalek perl6-bench: review: https://github.com/japhb/pe​rl6-bench/commit/f217da791a
20:23 [Coke] (via more debug output)
20:23 ab5tract1 That's a huge dumb
20:23 japhb masak++  # Thanks again
20:24 ab5tract1 that should be $!chan.closed
20:24 ab5tract1 though when I change it to that, I get an unhandled exception error :)
20:24 sue__ joined #perl6
20:25 tony-o_ not sure Channel.list does what you mean it to there
20:27 ab5tract1 tony-o_: you are absolutely right, thanks
20:28 RabidGravy joined #perl6
20:28 ab5tract1 hmmm, so this approach might not be what I need, either
20:28 [Coke] I would recommend putting a try/catch wrapping the contents of the init method and dumping out any errors.
20:28 [Coke] That should let you get past the silent failure that seems to be happening.
20:29 ab5tract1 [Coke]: Fair idea, but I think I've got this a bit backwards to begin with. Going to try another tack first
20:29 ab5tract1 Thanks for the help!
20:30 [Coke] (ah, changing it from supply to change avoids the runtime boom)
20:30 [Coke] good luck. :)
20:33 ab5tract1 \o/
20:34 andreoss m: say 16/0.22
20:34 camelia rakudo-moar c2a57e: OUTPUT«72.727273␤»
20:34 timotimo did you make something faster? :P
20:34 ab5tract1 https://gist.github.com/ab5tract​/2c618fa8accc70464952/revisions
20:35 ab5tract1 so the conceptual shift was: poll the channel to fill in the array, and then print that from the tap and reset the list
20:35 andreoss nqp is 72 times faster than perl 6
20:35 timotimo ah
20:36 andreoss with almost the same code
20:37 tony-o_ ab5tract1: replied to your gist
20:37 tony-o_ ab5tract1: if you let that run for more than 10 seconds you should get a line 0 1 2 3 4 5 ...
20:38 tony-o_ if you want to keep track of the last ten values, you need to do it in the 'start' loop without the private supply
20:40 mohij joined #perl6
20:40 timotimo andreoss: this is "send more money" again?
20:40 andreoss eulers problem
20:40 tony-o_ who's handing out money?
20:41 masak TPF :)
20:41 nwc10 PLEASE SEND BANK DETAILS AND 3 PATCHES
20:42 nwc10 actually, really, I suspect that that part should be in e-mail number 3
20:42 tony-o_ haha
20:43 nwc10 at the part about "payment held up due to buggy software. If you could help fix it, the money will soon be on its way"
20:43 anaeem1 joined #perl6
20:44 timotimo did anybody actually wind up doing a --profile of the send more money thing?
20:44 timotimo also, andreoss, where can i find that nqp code?
20:44 timotimo did it land in perl6-bench?
20:44 timotimo ah, indeed
20:45 tony-o_ did you end up checking out my benchmark module?
20:46 ab5tract1 tony-o_: very interesting! TMTOWTDI :D
20:47 ab5tract1 I was able to get my existing code working with a very small change https://gist.github.com/ab5tract​/2c618fa8accc70464952/revisions
20:47 tony-o_ ab5tract1: i'm knee deep into this start block stuff
20:48 tony-o_ ab5tract1: that's also a good one^
20:48 colomon joined #perl6
20:48 andreoss tony-o_: i did, my theory about .map == 2 * »» == 3 * Xop didn't hold
20:48 andreoss
20:49 ab5tract1 tony-o_: good one? you mean that revision?
20:49 tony-o_ yea
20:49 sftp joined #perl6
20:49 tony-o_ andreoss: so the cmpthese worked for you?
20:50 tony-o_ i used it quite a bit to cmp perl to perl6 doing the same stuff and then didn't really use it much after that so i'm curious if it still works well (it's old by perl6 standards)
20:50 ab5tract1 tony-o_: thanks mate :)
20:51 andreoss how do you cmpthese perl 5 code against perl 6 code ?
20:51 ab5tract1 the start stuff is really quite crazy
20:51 tony-o_ andreoss: i was comping with Proc
20:51 tony-o_ so it included start up + run time
20:52 tony-o_ andreoss: yea it can get hairy, i still like it better than callback hell where you can easily wind up with 30 variable declarations or, alternatively, 30 indents
20:53 ab5tract1 so many concurrency examples use 'say' as an example, and I'm hoping that this might be a useful demonstation of queuing mutations to a data structure
20:55 andreoss perl6-bench probably should use some kind of eval servers for that
20:56 dolmen joined #perl6
20:57 timotimo JSON::Tiny wants to get a .flatmap instead of a .for, moritz :)
20:59 dalek rakudo/nom: a20619a | lizmat++ | src/core/Any.pm:
20:59 dalek rakudo/nom: Fix thinko not found by spectest
20:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a20619a309
21:01 timotimo fwiw, 20% and 16% exclusive time are used for &next alone
21:02 brrt next is a lexotic right?
21:02 * brrt would've thought they weren't that bad...
21:02 cognominal joined #perl6
21:03 timotimo look at m-CORE.setting line 722
21:04 timotimo it may be more efficient if we could get the check for "does it carry a label" out of the sub that's executed every time
21:04 lizmat ahhhhh....
21:05 timotimo &next is responsible for 5708403 BootCODE allocations
21:05 timotimo and it only ever gets speshed, never jitted
21:05 lizmat so why are these not just subs anyway ???
21:05 timotimo i'm not sure; it sort of feels like i knew at some point
21:06 lizmat if nobody else will, I'll play around with it after I added some more classify / categorize spectests
21:09 timotimo right; but even if we can't just make those subs, we may get away with assigning a proto to &next and give it two candidates?
21:09 lizmat who knows ?  :-)
21:09 lizmat perhaps it wasn't possible at one time, and it is now
21:09 lizmat ran into that a few times myself :-)
21:10 timotimo right
21:12 cygx joined #perl6
21:12 cygx o/
21:13 cygx lizmat: commit e60f85c2 broke dispatch to the :$basename! candidate of IO::Path.new
21:14 lizmat cygx: could you give me an example ?
21:15 cygx m: IO::Path.new(:basename<foo>)
21:15 camelia rakudo-moar c2a57e: OUTPUT«IO::Path is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:1␤  in method new at src/RESTRICTED.setting:32␤  in block <unit> at /tmp/XFzqFccatO:1␤␤»
21:15 cygx ^ that warns in non-restricted setting instead of dispatching to the correct new candidate
21:15 lizmat cygx: confrirmed
21:17 lizmat looking at a fix
21:17 colomon joined #perl6
21:18 hudo joined #perl6
21:21 lizmat spectesting the fix
21:22 andreoss left #perl6
21:22 lizmat cygx: could you add some tests to make sure it now works ?
21:23 Akagi201 joined #perl6
21:24 cygx lizmat: I can do that, but not today
21:24 lizmat ++cygx   :-)
21:26 dalek rakudo/nom: 00b44eb | lizmat++ | src/core/IO/Path.pm:
21:26 dalek rakudo/nom: Fix IO::Path(:basename<foo>), spotted by cygx++
21:26 dalek rakudo/nom:
21:26 dalek rakudo/nom: Which I broke with e60f85c275af59e9d42d and which did not
21:26 dalek rakudo/nom: cause any spectest breakage :-(
21:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00b44eb369
21:31 cygx lizmat++ # my code works again
21:32 brrt left #perl6
21:32 laouji joined #perl6
21:38 dalek rakudo/nom: e6f4046 | lizmat++ | src/core/Any.pm:
21:38 dalek rakudo/nom: Fix MMD named parameter snafu again
21:38 dalek rakudo/nom:
21:38 dalek rakudo/nom: When will I learn that named parameters only serve as tie breakers,
21:38 dalek rakudo/nom: and that therefore the order of the candidates is important!
21:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e6f4046a46
21:38 tony-o_ got perl6-hiker auto rendering pages after the controller is called
21:39 tony-o_ oops
21:39 jdv79 what's a perl6-hiker?
21:40 tony-o_ wrong channel, it's an mvc framework i'm working on
21:41 dalek roast: 01c49d6 | lizmat++ | S32-list/classify.t:
21:41 dalek roast: Add classify tests for :into and :as
21:41 dalek roast: review: https://github.com/perl6/roast/commit/01c49d67ce
21:41 colomon joined #perl6
21:41 lizmat and with that I've committed enough for today
21:41 tony-o_ jdv79: no documentation yet: https://github.com/tony-o/pe​rl6-hiker/tree/master/usage
21:41 lizmat good night, #perl6!
21:42 smls_ joined #perl6
21:42 tony-o_ later lizmat
21:42 telex joined #perl6
21:45 timotimo so, 5708404 allocations of Parcel and one less of BOOTArray are created by the next code block
21:46 timotimo maybe we could re-use an empty parcel in there? or something like that?
21:46 timotimo because i don't think we have a need for arguments to the THROW sub's first parameter
21:47 timotimo not that i've looked at THROW or something
21:47 timotimo ah, that's just the exception payload
21:48 dalek rakudo-star-daily: 28183a9 | coke++ | log/ (2 files):
21:48 dalek rakudo-star-daily: today (automated commit)
21:48 dalek rakudo-star-daily: review: https://github.com/coke/rakudo​-star-daily/commit/28183a9a59
21:48 tony-o_ timotimo: do you know if jnthn already fixed the race?
21:49 jdv79 oh some sort of web frame-ish thing
21:49 jdv79 does anyone use perl6 for a real webapp yet?
21:49 tony-o_ jdv79: yea like mojo but less intimidating
21:49 jdv79 i imagine the threading instability might make that difficult yet
21:49 espadrine joined #perl6
21:49 timotimo he has not pushed the fix, at least
21:49 timotimo he's traveling today
21:56 tony-o_ jdv79: it works really well as long you have no traffice
21:58 fhelmberger joined #perl6
22:01 * timotimo spec tests a thing
22:01 ab5tract1 .tell jnthn This async code will work more often than not, but if I do it 20 times in a row, I can get fairly consistent blowups at some point in the run https://gist.github.com/ab5​tract/2c618fa8accc70464952
22:01 yoleaux ab5tract1: I'll pass your message to jnthn.
22:03 ab5tract1 .tell jnthn also, I expected the output to be relatively uniform across 'frames', but sometimes the delay values to sleep don't seem to be taking effect
22:03 yoleaux ab5tract1: I'll pass your message to jnthn.
22:07 timotimo the S17 tests are a whole lot more crashy since jnthn fixed the "we run a single core at 100% usage" thing, eh?
22:10 japhb ab5tract1: Note that https://github.com/japhb/perl6-bench is also able to do stress testing and capture failure modes -- so I'm looking for more failure cases that can be turned into stress/threading minibenchmarks like https://github.com/japhb/perl6-bench/​blob/master/perl6/divide-and-conquer
22:10 japhb Please to consider adding your test there.  :-)
22:11 vendethiel joined #perl6
22:18 cygx .tell lizmat https://github.com/perl6/roast/pull/60/files ; it's my first commit to roast, so please sanity-check
22:18 yoleaux cygx: I'll pass your message to lizmat.
22:19 colomon joined #perl6
22:20 timotimo hm. my "improvement" reduced GC load, but made us JIT a whole lot fewer frames
22:20 * timotimo checks out what's wrong
22:21 timotimo it only reduced GC load a bit
22:21 timotimo but i have an idea for how to improve it a tiny bit more
22:22 timotimo oh, another interesting thing: ordfirst is now our blocker for jitting MATCH
22:22 timotimo we may want to hook that up with the jit very soon
22:26 tony-o_ japhb++
22:30 masak 'night, #perl6
22:31 tony-o_ later
22:32 cygx left #perl6
22:38 ab5tract_ joined #perl6
22:38 ab5tract1 joined #perl6
22:40 timotimo great. i have an improved (?) next sub thingie, i'll do the same for last and redo and see if it still spec tests properly
22:41 jdv79 timotimo: where is this?
22:41 jdv79 seems mildly interesting
22:42 timotimo where is this what?
22:43 timotimo it's only a performance improvement
22:43 jdv79 the diff
22:43 timotimo you'll get to see it in a few. if it is a success
22:44 jdv79 .tell masak what of RT #109880?
22:44 yoleaux jdv79: I'll pass your message to masak.
22:45 timotimo well, it still runs the benchmark just fine
22:46 jdv79 .tell masak also what of RT #113040
22:46 yoleaux jdv79: I'll pass your message to masak.
22:46 jdv79 what is it about - invariants in loopy code?
22:48 dalek rakudo/proper_control_multi_subs: abeb0f2 | timotimo++ | src/core/control.pm:
22:48 dalek rakudo/proper_control_multi_subs: promote last, next and redo to full multi subs
22:48 dalek rakudo/proper_control_multi_subs:
22:48 dalek rakudo/proper_control_multi_subs: at some point it had to be changed into this, but
22:48 dalek rakudo/proper_control_multi_subs: it seems like it's safe to have it like this now.
22:48 dalek rakudo/proper_control_multi_subs:
22:48 dalek rakudo/proper_control_multi_subs: the no-arguments version of those will now not only not
22:48 dalek rakudo/proper_control_multi_subs: allocate a BOOTArray and a Parcel, but also get jitted
22:48 dalek rakudo/proper_control_multi_subs: properly due to not using param_sp (slurpy positional)
22:48 dalek rakudo/proper_control_multi_subs: op codes.
22:48 dalek rakudo/proper_control_multi_subs: review: https://github.com/rakudo/rakudo/commit/abeb0f2f03
22:48 timotimo i'd be glad if someone could spec test this on the JVM
22:48 flussence I'm getting «Cannot call method '!cursor_next' on a null object», on stuff that hasn't changed and was working fine ~2 months ago...
22:49 timotimo oh, yikes
22:49 timotimo can you locate the source of that exception?
22:49 flussence https://github.com/flussence/Text-Tabs​-Wrap/blob/master/lib/Text/Wrap.pm#L45 this line here, I'm pretty certain $text is always a string with chars in it at that point...
22:51 flussence the only thing unusual is I'm actually using :pos in there, hm.
22:53 timotimo on moar it spec tests successfully
22:54 timotimo it can possibly now also be inlined
22:54 dalek roast: aa22e3b | cygx++ | S32-io/io-path.t:
22:54 dalek roast: Str.path is deprecated: Use .IO instead
22:54 dalek roast: review: https://github.com/perl6/roast/commit/aa22e3bb26
22:54 dalek roast: 287a9c5 | cygx++ | S32-io/io-path.t:
22:54 dalek roast: Add tests for :basename and :dirname parameters of IO::Path.new
22:54 dalek roast: review: https://github.com/perl6/roast/commit/287a9c51a8
22:54 dalek roast: 2f3c79a | labster++ | S32-io/io-path.t:
22:54 dalek roast: Merge pull request #60 from cygx/io-path
22:54 dalek roast:
22:54 dalek roast: Update  S32-io/io-path.t to use .IO instead of .path and test :basename, :dirname args
22:54 dalek roast: review: https://github.com/perl6/roast/commit/2f3c79a6fa
22:55 timotimo nope, the optimizer doesn't seem to inline a "last", but it does turn it into a callstatic
22:56 timotimo but perhaps the optimizer inlines THROW into the next, last, and redo subs
22:59 timotimo jdv79: did you see my commit up there? ^
23:02 jdv79 i did, thanks
23:03 timotimo it seems like the code was like that previously because the JVM version of rakudo was unhappy about it
23:04 tony-o_ is rakudobrew test what you're looking for on jvm timotimo ?
23:05 timotimo dunno if it runs spec tests at all
23:05 flussence .oO( If a module fails its tests and nobody's using it, did it fail at all? Maybe it's better for me to leave it alone... )
23:05 timotimo and i don't know if the non-spectest tests exercise next, redo, and last
23:06 flussence oh and on a totally unrelated subject: my desktop just ran a full spectest under 5 minutes for the first time :D
23:06 tony-o_ flussence: maybe just a note in github and not wasting time iwth it
23:06 timotimo not bad :)
23:06 tony-o_ timotimo: it's running spec/S\d\d.+
23:06 timotimo cool
23:06 timotimo yeah, can you run that?
23:06 timotimo maybe i'll install a jvm nqp, too
23:06 tony-o_ yea i'm running it now
23:06 tony-o_ on jvm
23:06 tony-o_ i'm on the magicals
23:07 timotimo -j2 makes it not so annoying
23:07 tony-o_ i'll gist it when it finished
23:07 timotimo thank you
23:08 Akagi201 joined #perl6
23:09 tony-o_ s/d$/s/
23:16 andreoss joined #perl6
23:19 timotimo stage parse ... 100 seconds :\
23:19 timotimo (well, a system under load)
23:20 virtualsue joined #perl6
23:23 amurf joined #perl6
23:23 smls joined #perl6
23:26 tony-o_ on S17
23:26 tony-o_ my stage parse was 29s for moar and 62s for jvm
23:31 virtualsue_ joined #perl6
23:40 timotimo i don't even have to TEST_JOBS=* because it already maxes out all my 4 cores with just one job
23:41 inokenty joined #perl6
23:45 Vlavv joined #perl6
23:47 tony-o_ ready for 1001 lines of greatness?
23:48 tony-o_ https://gist.github.com/to​ny-o/968656e889f1a95aa4c3
23:48 timotimo that's good
23:48 timotimo i can merge, in that case
23:49 dalek rakudo/nom: abeb0f2 | timotimo++ | src/core/control.pm:
23:49 dalek rakudo/nom: promote last, next and redo to full multi subs
23:49 dalek rakudo/nom:
23:49 dalek rakudo/nom: at some point it had to be changed into this, but
23:49 dalek rakudo/nom: it seems like it's safe to have it like this now.
23:49 dalek rakudo/nom:
23:49 dalek rakudo/nom: the no-arguments version of those will now not only not
23:49 dalek rakudo/nom: allocate a BOOTArray and a Parcel, but also get jitted
23:49 dalek rakudo/nom: properly due to not using param_sp (slurpy positional)
23:49 dalek rakudo/nom: op codes.
23:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/abeb0f2f03
23:49 tony-o_ i thought perl *just handled* utf8 without me having to do much to it :/
23:49 timotimo masaks send-more-money benchmark now runs only half as many GC collections as it used to
23:49 timotimo what do you mean?
23:50 tony-o_ i'm writing an application for a client and they have an api server i'm getting info from for the end user and it took a big fat poop as soon as i started getting unicode chars from the api
23:51 tony-o_ LWP+JSON
23:51 tony-o_ the fix is easy but finding out that was the problem wasn't
23:51 timotimo m: say "we used to take { 26392.53 / 19400.56 }x as much time for that benchmark"
23:51 camelia rakudo-moar c2a57e: OUTPUT«we used to take 1.36040042x as much time for that benchmark␤»
23:51 timotimo FWIW
23:52 tony-o_ that's p good speed up
23:52 timotimo for what i did, yeah
23:52 tony-o_ i wish i could cycle 1.3x faster
23:52 timotimo hah
23:52 tony-o_ then i'd cruise at 27mph :-)
23:53 timotimo m: say "entered and exited { 41483844 / 30067041 }x as many frames before the change"
23:53 camelia rakudo-moar c2a57e: OUTPUT«entered and exited 1.379711559x as many frames before the change␤»
23:53 timotimo i can't deal with mph
23:53 tony-o_ ~43kph
23:53 timotimo oh wow
23:54 tony-o_ i have an easier time visualizing kilometers, that's mostly from field military stuff though
23:54 timotimo that's pretty fast for a bike even before the 1.3x speedup
23:54 tony-o_ i separated my rib from the cartilage so my cruising speed is down right now
23:55 timotimo :o
23:55 timotimo that seems like a failed optimization attempt
23:56 tony-o_ haha
23:56 tony-o_ it's caused me to diet until it heals, so i'll gain some aerodynamic improvement from it, i guess
23:57 timotimo :o
23:57 tony-o_ by diet i mean i forego the peanut butter and nutella sandwiches
23:58 timotimo OK :)
23:58 timotimo if i wanted to lose some unnecessary weight, i think i'd need a more proper change of intake
23:58 timotimo and also do sports
23:58 timotimo i have to clean my bike and get it repaired
23:59 tony-o_ i eat 3k-5k cals / day even without the sandwiches, despite ugexe's advice
23:59 tony-o_ where do you live timotimo ?

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo