Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-08-15

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

All times shown according to UTC.

Time Nick Message
00:12 ZoffixLappy joined #perl6-dev
01:48 ilbot3 joined #perl6-dev
01:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
02:04 TimToady joined #perl6-dev
02:07 stmuk_ joined #perl6-dev
02:08 * ZoffixLappy wonders what produces X::Placeholder::NonPlaceholder
02:08 ShimmerFairy I find the HTML profiler output to be really slow in my browser. How can I make use of that JSON output I recall reading about in, say, kcachegrind?
02:08 ZoffixLappy $ grep -nR X::Placeholder::NonPlaceholder
02:08 ZoffixLappy src/core/Exception.pm:826:my class X::Placeholder::NonPlaceholder does X::Comp {
02:08 ZoffixLappy Nothing else
02:09 jdv79 its been super slow forever
02:09 ZoffixLappy ShimmerFairy, IIRC, if you do --profile-filename=foo.json it'll give you raw json
02:09 jdv79 for anything but trivially small runs
02:10 ShimmerFairy jdv79: that's why I'd rather use kcachegrind over JS and HTML :P  I remember when it output cachegrind files, that was nice...
02:10 MasterDuke ShimmerFairy: also https://github.com/tadzik/p6profiler-qt is much, much faster
02:10 ShimmerFairy ZoffixLappy: yeah, I'm just wondering how to go JSON -> kcachegrind-viewable (I'll check if it can actually open something JSON-like, I doubt it)
02:10 ShimmerFairy MasterDuke: oh? I'll have to check that out for sure :)
02:11 MasterDuke it doesn't have quite all the features of the HTML+JS, but can handle profiles 100MB+
02:12 ShimmerFairy yeah, I just want to let an assembler program do the processing instead of silly web tech :P
02:13 MasterDuke somebody is also working on converting the profiles to Angular 2 and hopefully speeding them up, [Coke] maybe?
02:13 jdv79 we need devel nytprof style.  maybe someday.
02:13 ZoffixLappy Yeah, it's [Coke]
02:14 ZoffixLappy But I don't believe the goal of their work is to speed anything up, but rather to update our profiler and to have the possibility of speeding things up
02:14 ShimmerFairy jdv79: what does NYT stand for? (Just found it on CPAN)
02:15 jdv79 it started as a project inside the nytimes
02:15 ShimmerFairy ah, makes sense :)
02:15 jdv79 historical
02:16 jdv79 but iirc mr. tim bunce took it to where it is today.  maybe he could look into doing a p6 profiler:)
02:18 ShimmerFairy jdv79: as long as he's willing to dive into the rakudo source :P . (Really though, I think it's cool that perl6 can have a built-in profiler, it's probably the easiest way to do it too)
02:21 ZoffixLappy :)
02:21 ShimmerFairy That reminds me, we should really get $? variables working right, so we can set up $?FILE and $?LINE properly in the concat'd huge files like CORE.setting.
02:24 [Coke] kcachgrind output was part of rakudo-parrot
02:28 jdv79 builtin is fine.  itd just be nice if it was usable for real code.
02:29 jdv79 then again p5 existed for a very long time before nytprof came out.
02:35 timotimo really, the kcachegrind output was probably 100% parrot
02:57 stmuk joined #perl6-dev
03:04 Zoffix He's a fun one: what legal terms are PRs to Rakudo submitted under? If I invent something awesome, maybe even patent it, and submit a PR to Rakudo, and it gets merged. I've not signed anything with the TPF. A month passes. I get a brain aneurism and demand that Rakudo folk stop using my damned code!!! What happens then?
03:05 Zoffix I'm not a lawyer (though I pay one on TV), but it sounds like we need to have an explicit document stating that any contributions are licensed to TPF under the same terms as the Contributor Licensence Agreement
03:11 Zoffix (and if I'm wrong, I'd like to know why, 'cause I plan on writing an article on the topic of how to become a Rakudo contributor and what difference there is between signing up with TPF and just shooting out PRs)
03:11 Zoffix Rele6sr, reminder
03:11 Rele6sr 🎺🎺🎺 Friends! I bear good news! Rakudo's release will happen in just 6 days! Please update the ChangeLog with anything you worked on that should be known to our users. 🎺🎺🎺
03:11 Rele6sr 🎺🎺🎺 Here are still-open new RT tickets since last release: http://bug.perl6.party/1471230695.html And here is the git log output for commits since last release: http://bug.perl6.party/1471230697.html 🎺🎺🎺
03:11 Zoffix ehehe
03:36 ShimmerFairy Zoffix: that's the primary reason why I feel like the whole "TPF license" thing is kind of an artifact. All it does is serve as a barrier to being allowed to commit to rakudo. At the very least, we never have TPF lawyers around to actually keep an eye on that stuff.
03:45 MasterDuke Zoffix: just as long as it's nothing like this, https://github.com/wbraswell/rperl/issues/47
03:52 Zoffix MasterDuke, notary?.... yeah, that seems way over the top.
03:53 gfldex i take it wbraswell is american?
03:53 Zoffix I think more to the line of what people expect anyway (the TPF CLA, really), except in a specific document we can explicitly point to if shit hits the fan, saying "you agreed to this"
03:54 Zoffix (the CLA being "you agree to let us use this forever, even though you're the author and you can do anything you want with your contribution)
04:04 Zoffix MasterDuke, "I will redact your 1 commit to date, and I would love to work with you again in the future if your situation allows.".... It's kinda amusing that your exact code is still there...
04:05 Zoffix I looked briefly at git blame and it looks like he reverted it and then put back your code in.
04:10 Zoffix (oh maybe not reverted anything, but it was too long ago to remain in one piece to be revertable)
04:10 * Zoffix *
04:10 * Zoffix &
05:15 ShimmerFairy Waitaminute, why the hell does Test's is() function use 'eq' ? Demanding someone's class be convertible to Str of all things seems very hacky. (Like, it's the kind of thing I'd expect to have to do in C++, but Perl 6?)
05:17 ShimmerFairy I'd love to know the rationale, because 'eqv' or something else non-coercive would make much more sense to me. (I see is-deeply uses 'eqv', but still, why not 'is' and make is-deeply redundant?)
06:05 * [Tux] still has the charset FAILure and no solution.
06:05 [Tux] Is it wise to make a new release in six days with a change in behavior like this?
06:16 TimToady try it with :m
06:49 [Tux] oops, I posted the timing in the wrong channel and lost the cut-buffer
06:51 [Tux] TimToady, All tests successful.
06:51 [Tux] What can/should I say in the commit message?
06:56 [Tux] It has not yet been documented in https://docs.perl6.org/language/regexes#Adverbs
06:56 [Tux] This is Rakudo version 2016.07.1-187-gee8a25e built on MoarVM version 2016.07-18-g2f269d8
06:56 [Tux] csv-ip5xs       10.247
06:56 [Tux] test            15.602
06:56 [Tux] test-t           8.083
06:56 [Tux] csv-parser      17.453
07:15 [Tux] This is Rakudo version 2016.07.1-187-gee8a25e built on MoarVM version 2016.07-18-g2f269d8
07:15 [Tux] csv-ip5xs       10.941
07:15 [Tux] test            15.662
07:15 [Tux] test-t           7.682
07:15 [Tux] csv-parser      16.817
09:35 AlexDaniel joined #perl6-dev
10:30 Zoffix [Tux], what charset FAILure? Has it been rakudobugged?
10:42 pmurias joined #perl6-dev
10:42 dalek nqp/no-eval: c55ca07 | (Pawel Murias)++ | src/vm/js/nqp-runtime/c (2 files):
10:42 dalek nqp/no-eval: [js] Switch to using EcmaScript6 class syntax for Ctx and CodeRef.
10:42 dalek nqp/no-eval: review: https://github.com/perl6/nqp/commit/c55ca07b5c
10:42 Zoffix ShimmerFairy, because it'd be too strict and annoying to use.
10:42 Zoffix m: say <42> eqv "42"
10:42 camelia rakudo-moar ee8a25: OUTPUT«False␤»
10:42 Zoffix m: say class { method Str {"42"} } eqv "42"
10:42 camelia rakudo-moar ee8a25: OUTPUT«False␤»
10:43 ShimmerFairy m: say <42>.perl
10:43 camelia rakudo-moar ee8a25: OUTPUT«IntStr.new(42, "42")␤»
10:43 ShimmerFairy Zoffix: I'm not sure I agree in either case, but still, 'eq' is semantically for strings, not generic objects.
10:44 ShimmerFairy If we need a more lenient version of 'eqv', then it certainly can't be 'eq'  :)
10:45 Zoffix What would it be then?
10:48 ShimmerFairy Zoffix: I'm not sure, since ~~ is likely _too_ lenient. You could certainly consider there a hole in the equality ops though, considering  leg/===/eqv but eq/==/[???]
10:48 Zoffix cmp-ok fills all the holes.
10:51 ShimmerFairy is that a Test command? Because that sounds like it uses the cmp/before/after set, which AFAIU is the "order/sorting" comparison ops (e.g. you could define _some_ kind of order for Complex numbers so they can be hash keys, without implying a mathematical ordering)
10:51 ShimmerFairy Zoffix: btw, your second example has a counter-example of    is class { method Int { 42 } }, 42    , according to current is() implementation :P
10:53 |Tux| Zoffix, I changed m/.../ to m:m/.../ on TimToady remark, which fixed the issue at hand
10:54 ShimmerFairy I think my problem boils down to the fact that the test function &is is named in such a way that the idea I need a .Str for my class to use it is _really_ surprising. I'd expect that from something like &is-str, but not &is.
10:54 Zoffix ShimmerFairy, cmp-ok lets you use any operator you please
10:54 Zoffix When is/is-deeply isn't enough
10:55 Zoffix ShimmerFairy, it's not a counter example, considering class { method Int { 42 } } == 42  is not a valid test
10:55 Zoffix ShimmerFairy, and there's cmp-ok to use the == operator if you need it:
10:55 Zoffix m: use Test; cmp-ok class { method Numeric { 42 } }, '==', 42
10:55 camelia rakudo-moar ee8a25: OUTPUT«ok 1 - ␤»
10:56 Zoffix |Tux|, so it's just an issue in your code and not in Rakudo?
10:56 ShimmerFairy Zoffix: well, if Int didn't work, then mentally replace it with Numeric. I meant the one that == and friends coerce to for numeric things.
10:56 jnthn Zoffix: In summary: <[a..z]> style things in regexes used to accidentally match things that had a base char in the range, which meant that you might think you were just checking for anything in the ASCII a..z range, but it'd accidentally match things that had that as the base char in an NFG synthetic.
10:56 yoleaux2 14 Aug 2016 18:13Z <Zoffix> jnthn: I wasn't sure what to add to ChangeLog for all of your async work this release. Please improve if needed: https://github.com/rakudo/rakudo/blob/nom/docs/ChangeLog#L19
10:58 ShimmerFairy On the face of it, cmp-ok seems useless to me; just a plain &ok with the comparison as the boolean arg would always be less to type. (Especially if, like me, you'd prefer to pass around operators as &infix:<==>)
10:58 Zoffix ShimmerFairy, but plain ok won't tell you what went wrong
10:58 Zoffix m: use Test; cmp-ok 32, '==', 42
10:58 camelia rakudo-moar ee8a25: OUTPUT«not ok 1 - ␤␤# Failed test at <tmp> line 1␤# expected: '42'␤#  matcher: 'infix:<==>'␤#      got: '32'␤»
10:58 jnthn Zoffix: So far as I follow, |Tux| was unknowingly relying on this bug. \r\n is a single grapheme (per the Unicdoe spec) and so becomes a synthetic, and before the \r base char would accidentally match against the synthetic, so it appeared to work.
10:59 ShimmerFairy And, cmp-ok runs into the same name issue I have; I would expect it to do a comparison with &infix:<cmp>, not ask me for an operator.
10:59 Zoffix jnthn, thanks
10:59 jnthn :m fixes it by saying you want to only care about base chars.
10:59 Zoffix ShimmerFairy, that's what is does :)
11:00 ShimmerFairy Zoffix: ah, that's true. I don't think I gave that advantage much weight because usually I have to use a say statement to get the mismatched values printed in a form I can understand, so the diag()s aren't always useful for me :P
11:00 Zoffix is is short to type. I wouldn't want to have to type is-str just because someone is too lazy to read two sentences in the documentation and wants to infer all of the behaviour based on names alone.
11:00 * Zoffix &
11:00 pmurias ShimmerFairy: keep in mind that is was inherited from Perl 5 rather than carefully designed
11:01 ShimmerFairy pmurias: I like the way that's phrased :P . And yes, that seems like a reasonable explanation.
11:01 |Tux| jnthn, I expected \r and \n to be TWO DIFFERENT characters
11:01 jnthn They're not, per Unicode.
11:01 |Tux| that later changed to a single character/grapheme, and it still worked
11:01 jnthn m: say "\r\n".chars
11:01 camelia rakudo-moar ee8a25: OUTPUT«1␤»
11:02 ShimmerFairy Zoffix: but... cmp-ok doesn't use "cmp", it asks me for the operator. And what documentation? Is Test documented on doc.perl6.org now?
11:02 Zoffix ShimmerFairy, yes, it's fully documented: https://docs.perl6.org/language/testing
11:02 |Tux| but I now understand the problem
11:03 jnthn I don't especially like that Unicode defined \r\n as a single grapheme, but I'm not sure deciding to pick and choose from their grapheme boundary algorithm woulda been an improvement. Feels like one of those cases where you just can't win. :S
11:03 ShimmerFairy Ah. I wouldn't know, since I've been well acquainted with Test for a long time. This just happens to be the first time I was testing a custom class for which a .Str makes no sense (it has a .gist of course, but .Str?)
11:04 pmurias ShimmerFairy: Perl 5 also now has better tools then Test::More we inherited stuff from
11:05 ShimmerFairy pmurias: Yeah, now I really wonder what a Perl 6 testing module would _really_ look like.
11:06 pmurias ShimmerFairy: https://www.youtube.com/watch?v=MmUVPLrtD-g - presentation about the Perl 5  Test2
11:12 ShimmerFairy pmurias: interesting so far, so I'll keep watching for sure :)
11:30 RabidGravy joined #perl6-dev
13:04 perlpilot joined #perl6-dev
13:09 * unmatched} is hoping the 2016.09 release will be done by a robot :}
13:11 jnthn BrokenRobot? :)
13:11 unmatched} Nah, hopefully not broken :)
13:26 skids joined #perl6-dev
13:33 TimToady [Tux]: note that you can limit the scope of :m within a regex if you don't want ignoremark to be effective everywhere
13:33 * TimToady sitting at SJC on the way to Abstractions
13:33 TimToady (and YAPC)
13:36 timotimo did someone at some point fix the :m + literals thing?
13:39 unmatched} timotimo: yeah, jnthn did
13:39 unmatched} Oh
13:40 timotimo what i recall is timtoady fixing character classes with ignoremark
13:40 timotimo not the other thing
13:40 timotimo but that's cool
13:41 unmatched} I'm failing to find the comment, but I recall adding it to ChangeLog as "Fixed <[a..z]> ranges breaking grapheme awareness"
13:42 unmatched} Not sure if you meant that
13:42 timotimo that's the one i remember, yes
13:43 timotimo i was talking about literals, though. the part where everything past the first letter is ignored
13:43 TimToady #128550 is the one I just fixed
13:43 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128550
13:43 timotimo m: say "Hey what's up? I'm feeling fine today!" ~~ /:m "Haha this is funny"/
13:43 camelia rakudo-moar ee8a25: OUTPUT«「Hey what's up? I'm」␤»
13:43 TimToady oh, that one
13:43 TimToady yes, that one is hilarious
13:44 unmatched} :}
13:44 * jnthn wasn't even aware of that one :P
13:45 timotimo there was much mockery on the channel, i had assumed everybody and their dog already knows about it :)
13:45 timotimo the thing is, we code-gen a comparison for only the first character of the literal and then just move on with the rest of the regex
13:45 TimToady #128875
13:45 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128875
13:46 timotimo oh, i thought it was only :m + :i, but it's apparently also when it's :m only
13:46 timotimo so that's good to know
13:48 jnthn timotimo: Which channel? I don't pay much attention to #perl6 unless I just happen to be there, because it's too full of whining and negativity to be bothered spending my day backlogging it. ;)
13:48 TimToady .oO("please use :m only on character ranges; literals will be fixed in 6.d")
13:50 timotimo clearly we should generate a long chain of character ranges for literals :)
13:50 TimToady ooh, looks like an actual airplane is coming
13:52 TimToady shall I look at the literal thing today on the airplane, or will someone else be looking at it?
13:52 timotimo will the airplane bring with it the fix to the literal issue?
13:52 timotimo haha
13:52 TimToady don't wanna dup work
13:52 timotimo it's probably just a matter of emitting a loop in the literal codegen or building a comparison op that ignores marks
13:52 jnthn TimToady: I won't have time/energy today, fwiw
13:53 timotimo the op that compares a substring of one string with another string case-insensitively also wants rewritten in terms of "compare substring under some transform"
13:53 * TimToady won't have battery to do much compiling
13:53 timotimo so maybe that'll become two front-ends to the same mechanism?
13:53 jnthn Better get it right first time then! :D
13:53 TimToady sounds like you have more of a handle on it than me
13:53 timotimo other than that, feel free to toady whatever you'd like to toady :)
13:53 TimToady I have plenty of other things I can look at
13:53 timotimo maybe you have some other more design-heavy things or something that'll give you more fun :)
13:53 * timotimo will probably never get tired of the idea of -Ofun
13:54 TimToady maybe I'll think more about slangs...or maybe I'll just goof off...
13:54 TimToady well, better pack up and sign off here...
13:54 unmatched} m: my $a; sub weird { $a = 42; $^a * 2 }
13:54 camelia rakudo-moar ee8a25: OUTPUT«===SORRY!=== Error while compiling <tmp>␤$a has already been used as a non-placeholder in the surrounding sub block,␤  so you will confuse the reader if you suddenly declare $^a here␤at <tmp>:1␤------> my $a; sub weird { $a = 42; $^a⏏…»
13:55 timotimo o/ TimToady, have a safe flight
13:55 unmatched} This is a good error.
13:55 * TimToady bows
13:55 * TimToady bows out
13:55 TimToady &
13:55 timotimo unmatched}: no! it's terrible! please don't take away my INALIENABLE right to confuse the reader!
13:55 timotimo i came to perl for a reason!! and it was THAT reason!!! ;)
13:55 unmatched} :)
14:09 ilmari it's stealing my freeze peaches!
14:11 mst soon your knees will be soggy ...
14:19 dalek rakudo/nom: 8f43bb8 | lizmat++ | src/core/ObjAt.pm:
14:19 dalek rakudo/nom: Fix for RT #128944
14:19 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8f43bb8587
14:19 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128944
14:20 lizmat afk&
14:50 pmurias joined #perl6-dev
16:20 nine Looks a bit like for Inline::Perl5 to be able to create wrapper packages for all loaded Perl 5 modules, so that use Foo:from<Perl5>; will also give you a Foo::Bar class and even a Baz, we're gonna need to figure out how to deal with conflicts in the global namespace.
16:20 nine Same issue as with use Test:auth<Perl>; use Test:auth<nine>;
16:21 nine Because loading one of the heavier Perl 5 modules can easily cause > 100 modules to be loaded with rather generic names that will conflict with Perl 6 classes.
16:22 nine While I do hope that we will never ever have a List::MoreUtils in Perl 6, HTTP::Request seems to be claimed by two ecosystem dists already :)
16:23 timotimo yeah, we recently had a module b0rk because of too many things having a Request class
16:26 nine Unfortunately S11 pushes the responsibility to the user by way of use OldDog:name<Dog>:auth<cpan:JRANDOM>:ver<1.2.1>;
16:26 nine Won't work very well for modules loaded indirectly
16:26 timotimo mhm
16:29 nine This could even become an issue in pure Perl 6. Right now people expect use Foo; to also introduce Foo::Bar into the global namespace. But this may conflict with a Foo::Bar:auth<someoneelse> with no way for the user to fix.
16:30 nine And chaning module loading to only affect the lexical scope (as it seems to have been planned) will now be much more difficult :/
16:38 jdv79 what scope is it now?
16:39 timotimo "merged together one level above" scope? %)
16:40 jdv79 is that OUTER:: ?
16:41 timotimo not quite
16:41 timotimo just that one level is cut off
16:41 timotimo i.e. if you "use Foo" and the Foo package has a class Bar in it, you get Bar without the Foo:: in front
16:43 mst nine: why 'much more difficult' ?
16:44 mst I thought all module loading was lexical, otherwise how do you have two different modules using different versions of a dependency?
16:55 llfourn mst: it's not lexical unfortunetly
16:55 llfourn it's a big problem IMO
16:56 nine mst: it ought to be lexial but isn't :( And changing it now would probably break lots of code.
16:56 nine I'd still be for doing it FWIW as the fixes are trivial and the benefit large.
16:57 llfourn m: { my module Cool::Utils { } }; say Cool::Utils; # I sholdn't be able to acces here but i can
16:57 camelia rakudo-moar 8f43bb: OUTPUT«(Utils)␤»
16:57 mst so, basically, we've got all the auth and ver stuff to figure out which version to load for something
16:57 mst but then if you have a clash you're still just as fucked aas in perl5 currently?
16:57 llfourn even when they are lexical they're not always lexcial. I hope this is being considered as part of the problem.
16:58 mst nine: this seems like a definite candidate for 6.d if so
16:58 llfourn I also for changing it
16:58 mst can I at least runtime reload a module?
16:59 llfourn afaik it's gonna be hard to version such a thing?
16:59 nine mst: 6.d if we find a way to support both behaviors. I think it's possible.
17:14 brrt joined #perl6-dev
17:17 unmatched} New blog post: "The Awesome Errors of Perl 6": http://perl6.party/post/The-Awesome-Errors-of-Perl-6
17:17 unmatched} mst: ^^^ you were asking about that
17:22 mst unmatched}: \o/
17:24 mst unmatched}: btw, I immediately spotted the problem
17:24 unmatched} mst: what problem?
17:24 unmatched} (I hope it's small :))
17:25 unmatched} watisit?
17:25 mst unmatched}: no, I mean, the here doc thing
17:26 unmatched} Ahhh *phew* :)
17:26 mst it's obvious that the error means your sub body is being interpolated, so you look upwards for the quote construct
17:26 mst also, btw, isn't circumference 2*pi*r ?
17:26 unmatched} mst: yes, and tau is 2 pi
17:26 mst ah, misread that due to tiny font
17:26 unmatched} :)
17:30 Ven joined #perl6-dev
17:48 brrt2 joined #perl6-dev
17:50 Ven joined #perl6-dev
17:52 vendethiel joined #perl6-dev
17:53 Ven joined #perl6-dev
17:55 Ven joined #perl6-dev
18:01 lizmat unmatched}: did you intend to misspel Levestein in the header ?
18:02 lizmat I guess you did  ;-)
18:02 lizmat Zoffix++  # nice blog post, thanks!
18:04 unmatched} Yeah, the header was intentional :)
18:07 Ven joined #perl6-dev
18:12 lizmat unmatched} : re Once You Go Seq, it's not the compilet that cries and complains, it's the rakudo runtime (settings) actually
18:13 lizmat unmatched}: also maybe point out that even though Seq is stored in an Array, it's still not reified until it's needed
18:14 lizmat m: my @a = 1..Inf; dd @a[^10]
18:14 camelia rakudo-moar 8f43bb: OUTPUT«(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤»
18:14 * brrt2 thought you'd only get that behaviour from binding
18:15 brrt2 or was that pre-glr?
18:16 lizmat brrt2: that was pre GLR indeed
18:17 brrt2 oh... cool
18:19 unmatched} lizmat++ thanks. Fixed/added
18:21 timotimo yup
18:23 dalek roast: a921aec | usev6++ | S (2 files):
18:23 dalek roast: Fudge some test for rakudo-j
18:23 dalek roast: review: https://github.com/perl6/roast/commit/a921aec74d
18:28 vendethiel m: my @a = ^5; my @b = ^5+5; say @a, @b; my @c = |@a, |@b; @a.push: 0; say @c;
18:28 camelia rakudo-moar 8f43bb: OUTPUT«[0 1 2 3 4][5 6 7 8 9]␤[0 1 2 3 4 5 6 7 8 9]␤»
18:28 vendethiel m: my @a = ^5; my @b = ^5+5; say @a, @b; my @c := |@a, |@b; @a.push: 0; say @c;
18:28 camelia rakudo-moar 8f43bb: OUTPUT«[0 1 2 3 4][5 6 7 8 9]␤(0 1 2 3 4 0 5 6 7 8 9)␤»
18:28 vendethiel still one of my favorite "it just works" things :-)
18:29 * brrt2 is not seeing it
18:30 lizmat vendethiel: hmmm.. I'm not sure that isn't a bug
18:30 vendethiel haha
18:30 brrt2 did you expect a 0 at the end?
18:30 vendethiel brrt2: it's in the middle
18:30 vendethiel I'm pushing to @a, not @b.
18:30 brrt2 what...
18:30 brrt2 ob, binding
18:30 vendethiel aye
18:53 Ven joined #perl6-dev
19:18 dalek roast: a72bc6c | lizmat++ | S02-types/WHICH.t:
19:18 dalek roast: Remove 2 classes that were checked twice
19:18 dalek roast: review: https://github.com/perl6/roast/commit/a72bc6ca04
19:18 dalek rakudo/nom: 4d85cde | lizmat++ | src/core/Mu.pm:
19:18 dalek rakudo/nom: Fix RT #128931
19:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4d85cde908
19:18 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128931
19:21 dalek roast: 2fc335c | lizmat++ | S02-types/WHICH.t:
19:21 dalek roast: Make sure we check for uniqueness of .WHICH only
19:21 dalek roast: review: https://github.com/perl6/roast/commit/2fc335c786
19:23 dalek roast/6.c-errata: 740f917 | lizmat++ | S02-types/WHICH.t:
19:23 dalek roast/6.c-errata: Make sure we check for uniqueness of .WHICH only
19:23 dalek roast/6.c-errata: review: https://github.com/perl6/roast/commit/740f917cfd
21:21 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2016/08/15/2016-33-where-did-we-go-wrong/
21:46 cognominal lizmat++
21:54 jnthn lizmat++
21:55 jnthn catastrophically slowness -> catastrophic slowness (though it's cute as it is :P)
21:55 jnthn Zoffix++ for another nice post too
21:57 lizmat jnthn: fixed nonethelessly
21:57 lizmat :-)
22:00 jnthn :)
22:04 timotimo oops :) :)
22:04 timotimo that may be my fault
22:06 lizmat timotimo: I checked, but no, it was mine  :-)
22:08 timotimo OK, fair enough
22:09 timotimo i'm just very glad i was able to do anything productive
22:09 lizmat pretty fairly :-)
22:09 jnthn Wed will be my Perl 6 productive day again, all being well :)
22:10 jnthn Though I suspect a good chunk of it will go on continuing the VMArray changes
22:12 timotimo i wish getting a backtrace would be cheap AF
22:13 timotimo then we could improve the "seq already consumed" by saying "seq was already consumed at ..."
22:13 timotimo unmatched}: are you aware of the joke in Munchkin? "You are a human without class"?
22:16 lizmat timotimo: perhaps a bare nqp::backtrace?  but that would basically be as heavy as a warn on each Seq
22:17 timotimo if we could get MVM_dump_backtrace, just as a string, directly from the VM ...
22:17 timotimo but that'll still have to be stored for every seq that has had its values consumed
22:17 timotimo frankly, it seems terrible
22:18 lizmat yeah, am afraid so...
22:19 timotimo i'm wondering if i should put in a little bitty for the EOF thing into the grammar
22:19 timotimo i have an idea how it could work
22:21 timotimo to be perfectly honest, i'm not 100% sure i like the whole unthrown exception thing
22:21 timotimo i might have to be convinced with some nice code that uses it well
22:21 Zoffix lizmat++ great Weekly title
22:21 lizmat Zoffix: thank you for the inspiration :-)
22:21 Zoffix \o/
22:22 * timotimo is finished with the zoffixpost and reads the weekly next
22:24 timotimo good work, as always :)
22:27 timotimo hmm
22:31 skids joined #perl6-dev
22:49 timotimo https://gist.github.com/timo/9036c265cebe28765a8ebda6624eceb3
22:51 timotimo so close :P
22:52 timotimo wants rewording, of course.
22:54 dalek rakudo/nom: 6cd6efe | lizmat++ | src/core/Set (2 files):
22:54 dalek rakudo/nom: Make Set/SetHash.new about 10% faster
22:54 dalek rakudo/nom:
22:54 dalek rakudo/nom: - don't use bless, but a new/SET-SELF combo
22:54 dalek rakudo/nom: - streamline the initializations in nqp::ops
22:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6cd6efebda
22:57 lizmat good night, #perl6-dev!
22:57 timotimo gnite lizmat!
23:00 timotimo unmatched}: are you ready to put a link to a rakudo commit in a little edit in your latest blog post? :3
23:04 timotimo hrmpf. i need to find a way to remove the worry once the heredoc successfully parsed ...
23:05 timotimo because now you'll get that warning everytime you have the delimiter in the heredoc even when the delimiter also properly shows up to terminate the heredoc
23:05 timotimo one could argue "that's confusing to the reader who might not know delimiter + garbage doesn't end the heredoc"
23:11 Zoffix timotimo, I'm sorta ready :) I'm several beers deep and playing No Man's Sky :)
23:11 Zoffix The Perl6 Party site is on github tho :P https://github.com/zoffixznet/perl6.party/blob/master/post/The-Awesome-Errors-of-Perl-6.md
23:12 timotimo https://gist.github.com/timo/9036c265cebe28765a8ebda6624eceb3  -  give me a tiny bit of encouragement? :)
23:13 Zoffix timotimo++ :) Awesome. I didn't even expect the LTAness of this heredoc issue to be addressed at all, never mind so soon :)
23:14 timotimo the thing is, though
23:14 timotimo when you now have whitespace, then the terminator, then whitespace again, and some "garbage"
23:14 timotimo the program will run fine, but report the "potential difficulty" anyway
23:14 timotimo er, i mean
23:15 timotimo when that's a legit part of your string
23:15 timotimo and the heredoc terminator is actually present at a proper point further down below
23:37 timotimo i don't want to go through @*WORRIES and kick out the worry i pushed into it earlier ...
23:41 Zoffix sure
23:44 timotimo "sure" means what? :)

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