🦋 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.
Xliff use NativeCall; my $c = CArray[int32].new; $c.push: $_ for 1, 2, 3\; $c.gist.say 04:03
m: use NativeCall; my $c = CArray[int32].new; $c.push: $_ for 1, 2, 3\; $c.gist.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3ray[int32].new; $c.push: $_ for 1, 2, 3\7⏏5; $c.gist.say
Xliff m: use NativeCall; my $c = CArray[int32].new; $c.push: $_ for 1, 2, 3; $c.gist.say
camelia Cannot resolve caller push(NativeCall::Types::CArray[int32]:D: Int:D); none of these signatures match:
(Any:U \SELF: |values)
in block <unit> at <tmp> line 1
Xliff ^^ is that a bug?
timo you can't push to a CArray, it does not have a concept of length 04:14
i guess you could implement it as immediately segfaulting for accessing the highest address the system has to offer :P
Xliff timo: Then shouldn't there be an override method with an exception? 04:31
Or gee... how difficult would push be to implement for CArray? 04:32
Gotta step out. bbl
nine Xliff: Implementing push for CArray is simply impossible as a CArray does not know its own length. Thus it doesn't know what the next available index is. 08:24
[Tux] Rakudo v2021.10-89-g3d80bec7c (v6.d) on MoarVM 2021.10-46-gf27cdeaec
csv-ip5xs1.414 - 1.415
csv-ip5xs-2015.588 - 16.301
csv-parser4.246 - 4.323
csv-test-xs-200.379 - 0.393
test7.176 - 7.514
test-t1.604 - 1.627
test-t --race0.991 - 1.014
test-t-2022.932 - 22.971
test-t-20 --race7.323 - 7.561
09:00
Geth nqp: 54b92fb64f | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM for the simplified return handling
13:00
Geth rakudo: fca63e6c08 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get MoarVM's simplified return handling
13:24
rakudo/new-disp-nativecall: 7d88c8fa6f | (Stefan Seifert)++ | lib/NativeCall.rakumod
EVAL raku-nativecall dispatcher code at BEGIN time

We have to conditionally EVAL this code as its using backend-specific NQP ops, but we can at least do so at BEGIN time instead of every time someone loads the NativeCall module.
13:38
Geth rakudo: 4c238bdc96 | MasterDuke17++ (committed using GitHub Web editor) | src/Perl6/Metamodel/EnumHOW.nqp
Make concurrent access to an enum by value safe (#4634)

Previously multiple threads all trying to get an enum key by value could race to modify %!value_to_enum, which would cause an MVM_oops.
Instead make it `$`-sigilled, and initially populate a lexical which is then (atomically) bound to the attribute.
Also make concurrently adding a value to an enum safe by invalidating
  $!value_to_enum, it will get re-generated next time it's needed.
16:51