01:48 ilbot3 joined 04:39 edehont joined 05:43 domidumont joined 05:48 domidumont joined 05:55 FROGGS joined
FROGGS I believe there is a precomp issue... 05:56
m: use NativeCall; my CArray[Str] $prefixes.=new;
camelia ( no output )
FROGGS that doesnt work when being precompiled
damn, it is not easy to golf down 05:58
(only fails in one of my modules)
interesting... 06:07
X::TypeCheck::Assignment.new(symbol => "\$prefixes", operation => Any, got => NativeCall::Types::CArray[Str].new, expected => NativeCall::Types::CArray[Str])
06:27 FROGGS joined
FROGGS the issue seems to be near rakudo/src/vm/moar/ops/container.c:101 06:27
06:32 FROGGS_ joined
FROGGS_ yeah, either the cache or the condition to throw is borken 06:32
07:13 FROGGS joined
FROGGS jnthn: do I need to do anything to update STABLE(obj)->type_check_cache? 07:17
07:20 FROGGS_ joined
FROGGS_ in CArray.^parameterize we do: my $what := arr.^mixin: TypedCArray[Str]; 07:20
and that might not be enuff
07:20 zakharyas joined 07:24 domidumont joined
dalek arVM/even-moar-jit: 985bb59 | brrt++ | src/jit/tile. (2 files):
Publish tile construction API

So we can create pseudotiles in the register allocator too
07:34
arVM/even-moar-jit: 168e11a | brrt++ | src/jit/ (5 files):
Add preliminary register spilling

This is work-in-progress, doesn't work yet
07:51 FROGGS joined
FROGGS I wonder if nqp::settypecache(arr, [arr.WHAT]) would help... 07:52
08:08 zakharyas joined
jnthn FROGGS: It's highly unlikely to be a real type check failure, and more likely to be a type interning failure 08:41
FROGGS: Does NativeCall use the parametric type ops? 08:45
Or the wrappers around them in Metamodel::Primitives?
If not you can end up producing two copies of the same type, breaking identity
konobi jnthn: github.com/Microsoft/checkedc 08:59
pretty interesting read
jnthn Yeah, it's already open in a browser tab for me to read when I get a spare moment ;) 09:00
(Saw the link from elsewhere)
FROGGS github.com/rakudo/rakudo/blob/nom/...s.pm6#L138 09:11
jnthn Yeah, that ain't using it 09:14
There's an example using the NQP ops in github.com/rakudo/rakudo/blob/nom/...OW.nqp#L49 09:15
FROGGS ohh awesome
jnthn But it'd be really nice to add some wrapper methods around those ops into github.com/rakudo/rakudo/blob/nom/...mitives.pm and use that 09:16
(Though feel free to make it work at all first, then do that later)
It's basically in interning mechanism that can be keyed on other types, and it unifies common keys when loading precomps
FROGGS I guess I have to read these sentences several times :o) 09:30
(as usual)
09:35 cognominal joined 09:48 rurban_ joined 10:11 cognominal joined 10:21 ggoebel116 joined 10:24 zakharyas joined
FROGGS ohh, forgot to mention: thanks 11:14
11:49 cognominal joined
psch m: use QRegex::P6Regex:from<NQP>; use QAST:from<NQP>; my $rx-qast = QAST::Regex.new( :rxtype<altseq>, QAST::Regex.new(:rxtype<literal>, "foo"), QAST::Regex.new(:rxtype<literal>, "bar")); say "foo" ~~ /$x/ 12:20
camelia rakudo-moar d92722: OUTPUT«===SORRY!===␤While looking for 'QRegex/P6Regex.moarvm': no such file or directory␤»
psch m: use QAST:from<NQP>; my $rx-qast = QAST::Regex.new( :rxtype<altseq>, QAST::Regex.new(:rxtype<literal>, "foo"), QAST::Regex.new(:rxtype<literal>, "bar")); say "foo" ~~ /$x/
camelia rakudo-moar d92722: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Variable '$x' is not declared␤at <tmp>:1␤------> rxtype<literal>, "bar")); say "foo" ~~ /⏏$x/␤»
psch m: use QAST:from<NQP>; my $x = QAST::Regex.new( :rxtype<altseq>, QAST::Regex.new(:rxtype<literal>, "foo"), QAST::Regex.new(:rxtype<literal>, "bar")); say "foo" ~~ /$x/
camelia rakudo-moar d92722: OUTPUT«X::TypeCheck::Binding exception produced no message␤ in block <unit> at <tmp> line 1␤␤»
FROGGS m: use QAST:from<NQP>; my $x := QAST::Regex.new( :rxtype<altseq>, QAST::Regex.new(:rxtype<literal>, "foo"), QAST::Regex.new(:rxtype<literal>, "bar")); say "foo" ~~ /$x/ 12:31
camelia rakudo-moar d92722: OUTPUT«X::TypeCheck::Binding exception produced no message␤ in block <unit> at <tmp> line 1␤␤»
12:42 cognominal joined 14:43 cognominal joined 14:47 edehont joined 14:59 FROGGS joined 15:27 rurban_ joined, edehont joined 15:36 cognominal joined 15:37 edehont joined 15:39 FROGGS joined 16:00 FROGGS joined 16:15 domidumont joined 17:13 mst joined 18:18 vendethiel joined 18:40 FROGGS[mobile] joined 19:25 FROGGS joined 20:19 edehont joined 20:43 cognominal joined 20:53 rurban_ joined 21:15 mst joined 21:19 mst joined 21:21 mst joined 21:29 cognominal joined 21:53 mst joined 21:54 mst joined 21:58 mst joined 21:59 mst joined 22:02 mst joined 22:03 mst joined 22:04 ggoebel116 joined 23:24 ggoebel116 joined 23:59 cognominal joined