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 declaredat <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
|