lizmat m: "abcde" ~~ / $<foo=bar>=(..) $<bar>=(...) /; say $<bar> # TIL this actually works 09:11
camelia [「ab」 「cde」]
ShimmerFairy Never would have thought, but I guess there's no reason it couldn't. 09:26
jnthn I think it falls fairly naturally out of the aliasing rules 09:33
lizmat jnthn: do you remember why NQP is using a capture stack, rather than a capture hash ? 09:37
jnthn I'm confused by the question, I thought the capture stack is used by all, if you mean $!cstack? 09:43
lizmat $!cstack is indeed what I meant, isn't that the capture stack ? 09:44
jnthn Yes, but I don't know how a hash could be used instead 09:46
Or how only NQP could be using it 09:47
I thought what changed was that we no longer, in Raku, build a hash after the matches are done?
Or is the question "why if $!cstack a stack"?
*why is
And it doens't matter if this is NQP or Raku regexes?
lizmat well, as you may have seen, I've dropped the idea of Match being completely lazy 09:48
jnthn Haven't followed quite so closely
(Weekend :))
lizmat the way <( and )> are implemented prevent an optimal lazy solution
jnthn Anyway, it's a stack because we need to drop matches on backtracking
lizmat in HEAD, each Match object gets a list for positional, and a hash for named parameters 09:49
jnthn The bstack maintains an index at a backtracking point; we slice off everything below that if we backtrack to that point
lizmat ah, ok, that makes a lot of sense now
jnthn Ah, good. Took me a while to figure out what you were asking. (Could be me, still on the first coffee... :)) 09:50
lizmat well, all of this lacks a lot of documentation
so I've created a mental image, and that needed correction :-)
anyways, my new approach is that internally only a hash will be created lazily when needed
lizmat appears to be behind in delivering events 10:09
lizmat just committed 020b8c3c093e903f46bc6
nine jnthn: I wonder if you have any input/idea on how I could effect Stashes to be repossessed into a parent precompilation (i.e. the compiling comp unit that triggered the current precompilation) only and not into siblings (i.e. other precompilations triggered by the same parent)? 10:16
jnthn nine: Hmm....well, compiling_scs in the VM is an array, which I think is related to what you're looking to do 10:27
In that it indicates which precompilations you are currently in 10:28
nine Oh, yes, that sounds useful! 10:29
Geth rakudo/match-refactor: 020b8c3c09 | (Elizabeth Mattijsen)++ | 2 files
Refactor Match once more

Instead of being completely lazy, which turned out to get tricky because of the way <( and )> are implemented, it will now lqzily run the $!cstack once whenever an access to sub-captures is needed, and create a single hash that contains both the positional as well as named arguments. And made sure that stringification of a Match ... (6 more lines)
11:27
lizmat only 1.5 hour late :-)
tbrowder .seen jonathonstowe
tellable6 tbrowder, I haven't seen jonathonstowe around
tbrowder has he another alias? 11:28
dogbert17 .seen RabidGravy 11:29
tellable6 dogbert17, I saw RabidGravy 2017-12-17T01:40:19Z in #perl6: <RabidGravy> that's perl6advent.wordpress.com/2017/12/...ier-title/ if you want to get in early
dogbert17 that's his alias if I remember correctly. Also his first name has the same spelling as jnthn's first name :) 11:30
tbrowder dogbert17: thnx 13:28
tellable6 tbrowder, I'll pass your message to dogbert17
tbrowder and i always have trouble spelling jonathan...sorry 13:32
so i had a question for him about using fast cgi and his raku module. anyone here use it on a public webserver? 13:34
Geth rakudo/new-disp: 8107df90e3 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
First steps to multi dispatch with new dispatcher

This isn't just a case of wiring up what we had before to the dispatcher mechanism, but reconsidering it in light of new opporunities. Also, this is not actually used for most multiple dispatches yet - it's only for those that are via qualified method calls, return value coercions that end up needing to do a multiple dispatch, and so forth. Even in its ... (17 more lines)
16:28
rakudo/new-disp: 64961dc56d | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
New dispatcher multi handling of Scalar'd args
16:45
Kaiepi i think i figured out how to make v6.e dns resolution perform better than v6.c's for platforms other than my own 17:05
c-ares has multiple apis for handling dns queries asynchronously, but only one will work in combination with libuv, and that can't be used in a thread-safe way without blocking or having to write a concurrent map of some sort 17:07
with udns i don't have to do that, and on freebsd, dns queries in v6.e tend to be around 30% faster than in v6.c, instead of being around twice as slow 17:08
s/dns queries/connections/ 17:09
Geth rakudo/new-disp: dfbdf8ca8e | (Jonathan Worthington)++ | 2 files
Complete moving return type check to dispatcher

By adding the last missing path that was covered by the spesh plugin: late-bound (often failed) coercive type checks.
17:13
jnthn Kaiepi: Hm, but why does threading come into it? We run a single libuv thread.
Kaiepi oh lol 17:22
in that case, udns would just make it so i don't have to keep any state related to dns queries in the Resolver REPR, just the context they're made from 17:23
Kaiepi there are fewer syscalls that need to be made to perform dns queries, and error handling is much less awkward as well 17:25
Geth nqp/new-disp: 18 commits pushed by (Jonathan Worthington)++
review: github.com/Raku/nqp/compare/c0d4f2...f605d6b79b
17:37
rakudo/new-disp: 10 commits pushed by (Jonathan Worthington)++
review: github.com/rakudo/rakudo/compare/d...42fc2ac801
[Tux] Rakudo version 2020.06-7-gf1960baa9 - MoarVM version 2020.06-12-ge5d597d18
csv-ip5xs0.839 - 0.843
csv-ip5xs-208.497 - 8.693
csv-parser24.010 - 25.090
csv-test-xs-200.387 - 0.410
test7.730 - 7.952
test-t1.917 - 1.934
test-t --race0.841 - 0.843
test-t-2032.893 - 33.158
test-t-20 --race9.071 - 9.562
18:42
nine I think the logic's gonna be: "repossess stashes only if they come from modules we loaded during the current compilation". 19:07
vrurg nine: I'm out of context, but is what you're saying anyhow related to R#3075? 19:25
linkable6 R#3075 [open]: github.com/rakudo/rakudo/issues/3075 [precompilation] Conflicting use statement does not produce an error, but fails dynamic compilation.
nine vrurg: no, it's about in-process precompilation 19:29
vrurg Ok. :) 19:30
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/06/29/2020-...loud-gone/ 21:21
jnthn goodness, that's a lot of weekly 21:27
lizmat++ 21:28
lizmat yeah, took me basically all day
lizmat Altai-man_ still around ? 22:11
Altai-man_ lizmat, kind of. 22:49
tellable6 2020-06-29T18:48:11Z #raku <melezhik> Altai-man_ here is the draft of my very first post on the series - github.com/melezhik/RakuOps/tree/m...er-sparrow
Altai-man_ lizmat, wanot another round?
.tell melezhik I honestly think a blog post should tell a story or something, "why" is sometimes even more important than "How". 22:51
tellable6 Altai-man_, I'll pass your message to melezhik
Xliff \o 23:55