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 ¬e. | 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 |