🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:02 reportable6 left 00:03 reportable6 joined 02:01 greppable6 left, nativecallable6 left, coverable6 left, shareable6 left, releasable6 left, bisectable6 left, reportable6 left, committable6 left, evalable6 left, linkable6 left, sourceable6 left, statisfiable6 left, bloatable6 left, quotable6 left, benchable6 left, notable6 left, unicodable6 left, tellable6 left, squashable6 left 02:02 notable6 joined, bisectable6 joined, reportable6 joined, committable6 joined 02:03 benchable6 joined, shareable6 joined 02:04 greppable6 joined, quotable6 joined, statisfiable6 joined, tellable6 joined 03:03 evalable6 joined 03:04 unicodable6 joined, sourceable6 joined, squashable6 joined 04:03 linkable6 joined 05:04 nativecallable6 joined 06:02 reportable6 left 06:03 releasable6 joined 06:05 reportable6 joined 07:03 bloatable6 joined, coverable6 joined 08:15 lizmat_ joined 08:16 TempIRCLogger__ joined 08:17 Geth left, lizmat_ left, Geth joined 08:18 lizmat joined
Geth rakudo: ba15173fdd | (Elizabeth Mattijsen)++ | src/Perl6/Compiler.nqp
De-unicodify Raku(do)

It was causing too many issues on systems with unicode challenged situations or improperly rendering fonts. Kept the ™ as such, as that does seem to render ok everywhere.
11:25 linkable6 left 11:27 linkable6 joined 11:39 linkable6 left 11:42 linkable6 joined
Geth nqp/new-disp: 74faf02e17 | (Jonathan Worthington)++ | src/core/dispatchers.nqp
Add megamorphic handler for nqp-find-meth

There are various places that use nqp::can and are megamorphic. Add a megamorphic handler for this situation, which guards only on type and then installs a lookup table of methods.
12:02 reportable6 left
Geth rakudo/new-disp: b3bf2d5eda | (Jonathan Worthington)++ | src/vm/moar/Perl6/Ops.nqp
Cope if p6sink is somehow used non-void

This is rare, but apparently can happen now that we use it in place of a sink method call.
rakudo/new-disp: 4ebc6bba08 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Expose more constants in raku-invoke dispatcher

When the code object we're invoking is a known constant in the dispatch
  - typically because we got it out of the methods table - we don't need
the dispatch program to look up the $!do dynamically. We can instead just look it up directly and expose it to the VM as a constant. This results in shorter dispatch programs and lets spesh avoid inserting lots of static frame guards.
14:23 evalable6 left, linkable6 left 14:25 linkable6 joined, evalable6 joined
Geth rakudo/new-disp: 01321782d0 | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Restructure handling of wrapping

Previously, we would handle wrapping in `raku-invoke`. This included the situation where a `proto` was wrapped. This resulted in:
  * Wrong semantics: if we did a `callwith` in the wrapper, we failed to
   honor its change of arguments from the original ones given to the
... (10 more lines)
14:59 patrickb joined
15:06 reportable6 joined 15:28 patrickb left
Geth nqp/new-disp: 91406c9a52 | (Jonathan Worthington)++ | 2 files
Expose getlexstatic as a literal to dispatch

While for the sake of VM safety we don't rely on the literal flag for objects, it does means that Rakudo's dispatchers will be able to avoid adding some guards.
rakudo/new-disp: bae8a2d6cc | (Jonathan Worthington)++ | src/vm/moar/dispatchers.nqp
Don't guard dispatchees on a literal proto

When the optimizer produces a callstatic op, the literal flag is set on the callee in the capture. Take advantage of this to avoid adding any guards on the dispatchees list in this case.
15:49 patrickb joined 16:03 patrickb left 16:32 [Coke] left 17:37 linkable6 left, evalable6 left 17:54 squashable6 left 17:56 squashable6 joined 18:02 reportable6 left 18:39 linkable6 joined
lizmat ugexe tonyo I notice that in the META of 360.zef.pm, any non-zero API value is *not* encoded in the "dist" 19:37
is that intentional, or an oversight ?
case in point: github.com/p6steve/raku-Math-Polyg...META6.json 19:40
19:48 squashable6 left
lizmat "dist":"Math::Polygons:ver\u003c0.0.4\u003e:auth\u003czef:p6steve\u003e" instead of expected 19:49
"dist":"Math::Polygons:ver\u003c0.0.4\u003e:auth\u003czef:p6steve\u003e\u003capi:1\u003e" 19:50
in the JSON
19:50 squashable6 joined 20:03 reportable6 joined
ugexe i dont think anything actually uses that 20:09
although yeah it probably should be included ignoring that
lizmat yet, anyway? 20:10
I mean, technically it's possible to have a distribution with the same version, but with a different API ?
or will fez stop you uploading that ?
ugexe i imagine it works fine. i wouldnt assume too much intent from a field 20:14
id guess it was a mechanism to increase parsing speed by bypassing json-ifying all meta data of every module to create a list of available namespaces. but that would only work for distribution names, and modules actually provide many namespaces through provides 20:16
21:13 [Coke] joined 21:31 codesections joined 22:38 evalable6 joined 22:55 Xliff joined, codesections4 joined, codesections left, codesections4 is now known as codesections