Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
00:00 reportable6 left 00:02 reportable6 joined 00:42 Geth left, Geth joined 02:06 linkable6 left, evalable6 left, linkable6 joined 02:07 evalable6 joined 04:04 kjp left 04:07 kjp joined 05:50 shareable6 left, bisectable6 left, bloatable6 left, reportable6 left, committable6 left, notable6 left, unicodable6 left, releasable6 left, coverable6 left, statisfiable6 left, squashable6 left, tellable6 left, nativecallable6 left, sourceable6 left, greppable6 left, evalable6 left, linkable6 left, quotable6 left, benchable6 left 05:51 statisfiable6 joined, reportable6 joined, linkable6 joined, shareable6 joined, evalable6 joined 05:52 tellable6 joined, bisectable6 joined, sourceable6 joined, coverable6 joined, committable6 joined, greppable6 joined 05:53 releasable6 joined, bloatable6 joined, quotable6 joined, nativecallable6 joined, squashable6 joined, notable6 joined, unicodable6 joined, benchable6 joined 06:00 reportable6 left 06:01 reportable6 joined 07:00 samcv left 08:05 tellable6 left, evalable6 left, unicodable6 left, sourceable6 left, coverable6 left, committable6 left, releasable6 left, notable6 left, squashable6 left, benchable6 left, shareable6 left, nativecallable6 left, statisfiable6 left, bloatable6 left, reportable6 left, quotable6 left, bisectable6 left, linkable6 left, greppable6 left 08:06 quotable6 joined, statisfiable6 joined, committable6 joined, releasable6 joined, coverable6 joined, evalable6 joined, benchable6 joined, squashable6 joined, unicodable6 joined 08:07 notable6 joined, tellable6 joined, greppable6 joined 08:08 bisectable6 joined, bloatable6 joined, shareable6 joined, sourceable6 joined, nativecallable6 joined, linkable6 joined, reportable6 joined
Woodi hi 09:07
few months before Python3.11 got big speedup and from youtu.be/TLhRuZ9cJWc?t=1030 looks they un-generalized operations. but looks to me Perl6/Raku have such things and many more for years... 09:10
so: I have some dizzines about our lovely language ? is it already fast ? or why other languages get credit for things that looks done here years earlier ? 09:12
also if Python made some optimizations it screems: why you do not put that ints into array of ints and then sum them ?? but probably it's not fair becouse they worked on whole language :) 09:14
also: _find_lexical_by_name seems at oposite site of performance :) it is hash lookup ? I belive that for searching in up to 10 element array is always faster to do via linear search, so can names be pre-partitioned somehow ? 09:17
I was looking at deserialization code and it is realy complicated, eg. switch'es in loops. was looking on array deserialization - maybe function deserialize_many of same type can be used ? 09:24
10:01 sena_kun joined 11:14 frost joined 12:00 reportable6 left 12:02 reportable6 joined 12:32 samcv joined
jnthn Woodi: The vast majority of lexical lookups are resolved to array indexing during bytecode assembly, and thus aren't done by name. 13:41
13:59 evalable6 left, linkable6 left 14:00 linkable6 joined 14:01 evalable6 joined 15:20 frost left
lizmat jnthn: so why does "warn" throw an exception? So that it can be caught by a CONTROL block and quieted ? is that the only reason ? 17:25
18:00 reportable6 left 18:01 reportable6 joined
gfldex lizmat: CX::Warn can also be redirected. For logging and such. 19:39
20:43 linkable6 left 20:44 evalable6 left 20:45 evalable6 joined 20:46 linkable6 joined
lizmat gfldex: explain ? 22:36
gfldex You can redirect output from &warn by setting your own CONTROL block. However, that doesn't work with threading. So there is good reason to think about &warn and &note. 22:39
lizmat yes, that's why I mentioned the CONTROL block
but I feel that I'm missing something essential about why warn needs to throw an exception 22:40
I'm starting to feel it is something that predated dynamic variables 22:41
and as such a different solution to the problem of wanting to catch warnings 22:42
gfldex My guess is they exist to show off with resumeable exceptions. :->
lizmat heh... well, I guess. but exceptions are still relatively expensive 22:43
23:05 sena_kun left
jnthn I'm not sure warnings are a thing that needs to be especially cheap anyway. But one could ask why next/redo/last/return are control exceptions, and the answer is that it provides a standard mechanism for library writers to intercept and handle them. 23:41
Imagine that Perl 6 was released before reactive programming became a thing, and the stuff we have as supplies was done in a library. Being able to handle next/redo/last naturally in Supply.map would be a good thing. 23:42
Sure one could do warnings differntly, but why a discontinuity from errors and other control flow? 23:44