🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:04 Doc_Holliwood left 00:28 thundergnat left 00:40 parv left 01:15 kvw_5_ joined 01:18 kvw_5 left 01:42 mowcat left 01:58 defaultxr left 02:01 defaultxr joined 02:05 asymptotically left, asymptotically joined, Doc_Holliwood joined 02:15 Sgeo left, Sgeo joined 02:18 Doc_Holliwood left 02:19 Doc_Holliwood joined 02:23 Doc_Holliwood left 02:28 neshpion joined 02:50 abraxxa left 02:52 abraxxa joined 03:32 aborazmeh joined 04:00 ilogger2 joined 04:30 mahafyi joined 04:36 aborazmeh joined 04:58 abraxxa joined 05:01 abraxxa left 05:03 abraxxa joined, sno joined 05:08 aborazmeh left 05:10 aluaces joined 05:15 jmerelo joined 05:58 jmcgnh joined 06:07 abraxxa left 06:11 wamba joined, abraxxa joined 06:24 mahafyi left 06:30 sno left 06:31 sno joined, domidumont joined 06:36 mithaldu_ joined, peteretep joined, Grinnz joined, spycrab0 joined, kawaii joined 06:37 zostay joined 07:01 dpk joined, parv joined 07:07 abraxxa left 07:08 abraxxa joined 07:23 rindolf joined 07:32 pecastro joined
andinus i have an array ((yes, 0), (no, 1), (apples, 0), (test, 10)) -- in such format & i only want to loop over those whose [1] is greater than 0 07:35
currently i'm just doing for @ar -> ($t, $frequency) { next if $freq == 0}
is there a better way to do this? i was thinking something like .map(*.[1] > 0) 07:36
07:42 Geth joined
lizmat .grep 07:43
for @ar.grep(*[1] > 0)
this also feels like you'd maybe want a Bag 07:44
07:50 dakkar joined
andinus ah, yeah grep is what i wanted 07:52
i'll checkout bag
moon-child honestly grep is a really bad name 07:53
lizmat yup
andinus also i'm performing some operations on a string twice, should i just store it in a var instead? it'll be very short lived
$file.Str.split('.password-store/').tail.split('.gpg').first; -- this is the operation
lizmat andinus: do you worry about performance or about development time ? 07:54
andinus i dont care about performance
lizmat then don't worry about doing something twice if it makes sense to you
andinus but is it good practice to do it twice?
lizmat well, good practice is DRY: Don't Repeat Yourself :-) 07:55
andinus iirc when i looked at raku reports lots of shortlived vars slowed it down or something
lizmat which reports ?
andinus raku --report thing 07:56
oh i mean profile
moon-child really? That's interesting
compilers usually love lots of short-lived vars
makes register allocation a doozie 07:57
andinus i wrote a bit here - andinus.nand.sh/aoc/2020/day-11/#orge284bbb
hmm maybe i'm misremembering it
i'll run the profile again then on this script 07:58
^ over there i was declaring an array lots of times, changing it to a state variable improved the performance 07:59
moon-child oh, yeah, that'll be slow
because you have to allocate space for it
andinus woudlnt the same apply to lots of short lived vars? 08:00
08:00 dpk left
moon-child depends on how big they are 08:01
and if escape analysis lets you put them on the stack
08:01 dpk joined
andinus i see, in my case they'll be less than ~15chars 08:02
08:03 aborazmeh joined
andinus i think i'll just create a var, looks neater 08:03
08:10 sena_kun joined 08:16 donaldh joined 08:44 aborazmeh left 09:47 evalable6 joined, linkable6 joined 10:36 natrys joined 10:42 aborazmeh joined 10:43 xelxebar joined
sena_kun codesections, ping? 11:02
11:08 parv left 11:16 aluaces left 11:48 brtastic joined 11:56 abraxxa left 11:58 brtastic1 joined 11:59 brtastic left, brtastic1 is now known as brtastic 12:00 abraxxa joined 12:04 aborazmeh left
codesections sena_kun: hey 12:07
sena_kun codesections, hi. How busy are you lately to look at the CLI regression ticket? We have it as a release blocker, so if not a solution, I'd be happy to see at least under your control as you know better how should the revert go if we resort to it. 12:08
Oops, sorry. 12:11
*to see at least _a revert_ under you control
codesections this is github.com/rakudo/rakudo/issues/4278, I guess? Oh, I didn't see that I'd been marked as the assignee; I had taken a look before and thought that I/we decided the issue was upstream of that code. But I can dig a bit more 12:13
from the issue: "My best guess is that there's some setup/prep/pre-req sig/cap steps that are not being done" 12:14
sena_kun codesections, yes, this ticket. Well, even if the upstream is arguably bogus, I'd still prefer us not to break it.
codesections That's also my best guess, which means the bug likely comes from code I don't know well. But I'll take a look 12:15
sena_kun So either it is a patch to make it work again or a revert with an introduced deprecation warning on how to do it.
codesections, thank you very much for your efforts!
codesections yes, agreed, not breaking things there is the goal for sure
What's the timeline for the next release? 12:16
sena_kun releasable6, status
releasable6 sena_kun, Next release in ≈3 days and ≈6 hours. 2 blockers. 0 out of 174 commits logged (⚠ 1 warnings)
sena_kun, Details: gist.github.com/fb14089a4478c57be9...bd3c991a08
sena_kun codesections, sorry, I assumed you know about the ticket and just busy. :( 12:17
codesections I had seen it/been part of the conversation. I just moved on when we concluded it wasn't my code, and missed that I'd been assigned. My 12:18
*my bad
12:18 aborazmeh joined
sena_kun No problem as long as we can conclude to some solution. :) 12:19
12:25 aborazmeh left 12:56 abraxxa left 12:57 abraxxa joined 13:04 mowcat joined 13:11 jmerelo left 13:24 defaultxr joined 13:27 mowcat left
ugexe I don’t think we concluded there was anything wrong with the code, and I believe Leon said he was having second thoughts on his original comment 13:30
13:36 aluaces joined
ugexe colabti.org/irclogger/irclogger_lo...04-11#l249 13:37
codesections ugexe: yeah, I didn't think there was anything wrong with the calling code. (Well, not _wrong_, anyway -- I wouldn't personally be comfortable with a default argument that calls Date.today in the parameter constructor, but I admit it's valid code). I do think, however, that the true cause of the issue is likely to be in depths of Bootstrap where I haven't yet ventured and where I may not be able to find it. But, even if I can't 13:59
the root bug creating the Mu, I should at least be able to handle an absent value without throwing an exception
jdv79 it has nothing to do with Date per se 14:06
codesections jdv79++ Thanks for that link; it provides a helpful second test case. But yeah, I didn't really think it was Date-specific 14:10
14:11 wamba left 14:21 Sgeo joined 14:26 wamba joined 14:32 aborazmeh joined 14:48 linkable6 left 14:50 linkable6 joined
codesections Ok, I have a PR for the issue that "fixes" it in the most simplistic way possible -- with try blocks around the two statements that were throwing. The semantics of that actually work OK; it's treating those values as non-required, which is right (because they have default args). But I still think there's a deeper pre-existing bug in Bootstrap that was causing those values to be Mu when they shouldn't have been 14:51
14:57 parabolize joined
jdv79 what would be pointing towards a bug in bootstrap? iirc the new code is running a where block without the requisite setup. 15:04
like fetching a default value, doing a corercion, and probably other stuff that the "bind" code does before running a where block 15:06
sena_kun codesections++ 15:07
15:11 aborazmeh left
codesections jdv79: maybe there isn't a bug in the bootstrap code, then -- as I said, I don't know that code well, so maybe it's working as intended. I just meant that the introspection code in Main.pm6 throws when the same introspection code doesn't throw in island 15:15
s/island/userland code/ 15:16
jdv79 cute fix
codesections when I said "most simplistic way possible", I meant it :) 15:17
jdv79 i'm pretty sure that's my fault. sorry about that. i could have golfed it better as ugexe did - colabti.org/irclogger/irclogger_lo...03-30#l295 15:21
anyway, thanks. $work&
15:25 softmoth joined 15:51 brtastic left 16:05 domidumont left 16:07 jmerelo joined 16:11 aborazmeh joined 16:36 dakkar left 16:38 wamba left 16:39 aborazmeh left 17:08 abraxxa left 17:10 abraxxa joined 17:13 aluaces left, wamba joined, mowcat joined 17:37 aluaces joined 17:40 maggotbrain joined 17:42 abraxxa1 joined 18:10 jmerelo left 18:13 Xliff joined 18:20 abraxxa1 is now known as abraxxa-home, MasterDuke joined 18:31 domidumont joined 18:32 softmoth left 18:34 asymptotically joined 18:48 aborazmeh joined 18:53 aborazmeh left, aborazmeh_ joined 18:57 squashable6 joined 18:58 webstrand joined 19:01 redhands joined, asymptotically left 19:04 neshpion joined 19:06 brtastic joined 19:14 aborazmeh_ left 19:17 dwarring joined 19:19 abraxxa left 19:20 abraxxa joined 19:26 lucasb joined 19:30 MasterDuke left
El_Che weekly: www.nntp.perl.org/group/perl.perl5...59867.html (perl 6 reference, ed. note: this B. Estrade sounds like a troll to me) 19:40
notable6 El_Che, Noted! (weekly)
El_Che Not more than a few months passed 19:41
after perl6 was renamed to Raku, that the "perl 7" initiative. Why? This
was done either out of ignorance or purposefully to kick the perl
community when it was down.
Grinnz fwiw, I don't believe he was purposely trolling, just underinformed and enthusiastic 19:43
19:44 mowcat left
El_Che Grinnz: "NEVER, EVER consider a major version change EVER, EVER, EVER AGAIN; it inviting cancer" 19:45
the gay/gal may be underinformed and over-enthousiatic but (s)he has a latent talent for trolling 19:46
Grinnz yeah, very evocative statements
quick backpedaling when responded to though
tonyo there are some decent points in that hog slop, though likely accidental. 19:48
19:49 dataangel joined
El_Che in a "room full of monkey with typewrites and a perl program"type of way :) 19:51
19:52 aborazmeh joined
ugexe B Estrade is not a troll. I work with them. 19:53
El_Che good to know, better to assume the best of people 19:54
20:05 domidumont left 20:06 domidumont joined, domidumont left, Black_Ribbon joined 20:10 dwarring left
codesections since you know them, I'll 100% accept that they're not trolling. But in that case, I find their arguments baffling. As someone who was never part of the Perl community, I thought they were upset with us for having the name Perl6 for so long because it was blocking their upgrade path. Now that we're out of the way, why *wouldn't* they bump the version? JS, Ruby, and C++ have all had several version bumps in that time 20:14
20:15 natrys left
codesections I mean, I don't really care what they do either way. I'm just unsure what their issue with Raku was, if they didn't even _want_ to go to a new major version 20:15
tonyo they want to go to a new version and they're going with p7 20:17
codesections yeah, I know. Sorry, my choice of pronouns was unclear 20:18
El_Che codesections: I don't think the person in question is very representative of the perl community
codesections fair
I guess I'm wanting to treat "angry Perl programmers" as a cohesive group and expecting that group to have coherent positions -- which is obviously absurd of me to do; they can all be disgruntled about different things without needing to agree with each other or anything 20:20
El_Che well the perl 6 thing is gone, some people may hold a grudge, but itś mostly in the past 20:22
Grinnz codesections: we certainly are (all disgruntled about different things) :)
codesections :)
20:24 abraxxa left 20:26 abraxxa joined 20:27 aborazmeh left 20:59 parv joined 21:15 pmurias joined
guifa pmurias: not sure if you saw it, but someone was asking about Raku on JS over on reddit 21:16
I gave a very meh answer, but did direct them your way 21:17
pmurias guifa: just saw it, I don't follow the raku reddit anymore, mostly looking at the Raku community from time to time for old times sake 21:19
21:32 brtastic left
pmurias answered the question 21:35
I kind of got burned out with the rakudo.js (at the end was mostly doing it just to finish the grant so the whole thing wouldn't be failure) so I'm not that motivated to work on the *mountain* of work needed to get it to perform efficently 21:37
codesections pmurias++ I hope I didn't sound too snarky in my Redit comment re: the size -- I was surprised at how big it was, but I was even more surprised at how well it worked. I hadn't realized that it was far enough along to be actually usable 21:38
If someone wanted to pick up the project of Raku-on-the-frontend again, do you have a sense of whether it would make more sense to target a JS runtime vs a WASM one? 21:40
guifa pmurias: I mean, based on what I saw with the Java one, there are extreme limitations on what can be expected. And Java and that JS library are far more mature than Raku and Rakudo.js. But Java on JS was still crazy slow 21:41
pmurias codesections: it's a common question 21:42
compiling MoarVM to WASM seems like a relatively easy way to get a pretty slow but functional rakudo in the browser 21:43
going to JS seems to be like a ton of more work but something that could get better results 21:44
moon-child in js it's _possible_ for the browser to devirtualize method calls
codesections interesting -- that is *not* the answer I was expecting! 21:45
moon-child but js only has single dispatch
so idk how useful that is in practice
codesections I was expecting WASM to be the more-work-but-higher-theoretical-perf option
moon-child www.usenix.org/system/files/atc19-jangda.pdf 21:46
codesections yeah, I've seen things like that before (though not that one in particular, which I've bookmarked to read later, thanks) 21:50
21:51 rba_ joined 21:52 rba_ is now known as rba
codesections And v8 is impressively fast. But so much of its speed comes from jit targeted very much at the sort of JS people actually write (i.e. mostly monomorphic), so I wasn't sure how much that'd help Raku 21:52
21:56 aluaces left, MasterDuke joined 21:57 rindolf left 22:05 pmurias left 22:26 abraxxa-home left 22:39 softmoth joined
codesections m: my Bool $b = True; $b--; say $b # I hadn't realized that this worked. Handy 22:42
camelia False
guifa Definitely not a default enum behavior, interesting 22:45
codesections on the other hand, it almost seems like you should be able to shorten $b = !$b like you can shorten $a = $a + 5 22:47
but $b != means something else :) 22:48
summerisle moon-child: RE single dispatch in JS, the way I see JS transpilation working is via modeling the MOP and treating method calls sort of like a message. So the JS representation of an object would have one "true" method, that is called whenever any method is called. Of course, this would be difficult to call from other JS, and like you said - tranlation to JS is not straightforward. 22:52
moon-child summerisle: if you do that then I think you give up any hope of devirtualization 22:55
codesections: how's that different from just $b = False, though?
codesections moon-child: $b-- you mean? It's not, really, other than being an expression rather than a statement and being shorter 22:57
if I have a sub with the signature sub f($req, Str $opt?) {...} and later it's called with f($a, $b), what value can I put in $b to have it act like I called f with one argument? 23:14
(I was thinking Empty did that, but that passes a slip)
ugexe Str 23:16
well no i doubt thats what you want heh
[Coke] Nil? 23:22
23:23 wamba left
ugexe 'Str' works to just fill the parameter with an undefined value. but it wouldn't like disappear if you did &f.assuming(1,Str).assuming("mystring") 23:23
codesections yeah, and it also won't cause a default argument to get used 23:30
23:31 abraxxa left
ugexe just need //= in signatures 23:33
need to implement^ 23:34
23:34 abraxxa joined
codesections "implement" as in that's a planned/spec'ed/agreed on bit of syntax? Or just something that'd be nice? 23:35
23:36 lucasb left 23:37 b2gills joined 23:46 pecastro left