01:47 ilbot3 joined 08:40 cognominal joined 09:17 RabidGravy joined 09:34 Ven joined 09:37 Ven joined
dalek kudo/nom: 440da02 | lizmat++ | src/core/allomorphs.pm:
Allomorphs don't need a .gist of their own

As they inherit the Str.gist
09:51
kudo/nom: ae2afdc | lizmat++ | src/core/allomorphs.pm:
Make allomorph.perl show any subclass info
10:03
kudo/nom: 9206848 | lizmat++ | src/core/allomorphs.pm:
Fix infix:<cmp> for allomorphs

  - because of missing :D, one of the base variants was chosen before
  - simplify condition, no need for given if you use ||
10:32
10:44 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Allomorphs don't need a .gist of their own 10:44
travis-ci.org/rakudo/rakudo/builds/130194084 github.com/rakudo/rakudo/compare/3...0da02594ca
10:44 travis-ci left
RabidGravy is it me or are the jvm builds that are failing duplicates of the ones that are already in the "allowed failures"? 10:47
or should they be added to the "allowed failures" at least 10:48
lizmat afaics, something broke "make install" 10:49
RabidGravy for jvm only though right? 10:51
psch well, the r-j build worked, then i removed the r-j build from allowed failures 10:55
and then everything broke again and everyone is waiting for me to fix it... :)
lizmat ++psch :-) 10:56
dalek kudo/nom: 2ddac6a | lizmat++ | src/core/allomorphs.pm:
Use nqp::eqat to check for occurence in string

We have a dedicated nqp::op for checking whether a given string occurs at a position in another string. So no need to substr!
10:58
lizmat which concludes my submissions for the coming days 10:59
commute to OSCON&
11:04 Ven joined 11:21 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make allomorph.perl show any subclass info' 11:21
travis-ci.org/rakudo/rakudo/builds/130195268 github.com/rakudo/rakudo/compare/4...2afdcd746e
11:21 travis-ci left
timotimo huh, how did that happen 11:22
seems like at some point it just went belly-up? 11:23
psch 1e5df4130e6 is the commit that worked on r-j, which is my it exists 11:24
'cause it's the one that removes *nix r-j from allowed_failures
bartolin psch: I was curious and applied your changes from gist.github.com/peschwa/e82fac05cb...6687a15aa1 11:30
could the error during installation (class 'NativeCall::Types::void' not found) be related to precomp again?
psch bartolin: probably, yeah 11:31
bartolin running with RAKUDO_MODULE_DEBUG=1 I saw some lines about failed precompilations.
psch i mean, the error is that it doesn't recognize the type, which i take to mean that the import doesn't work
which could happen when it did precompile in a broken way and thus can't load it then i guess..? 11:32
bartolin yeah, that's what I thought as well
wasn't there a way to disable precompilation?
psch we have a 'no precompilation' pramga i think?
bartolin 'no precompilation' seems to have no effect. 11:33
psch where'd you put it?
bartolin I tried to put it in lib/NativeCall/Types.pm6 and lib/NativeCall/Compiler/GNU.pm6
psch i'd try it in install-core-dist.pl
bartolin m: use NativeCall::Types; say (NativeCall::Types::void).^name 11:36
camelia rakudo-moar 2ddac6: OUTPUTĀ«Could not find symbol '&void'ā¤ in block <unit> at /tmp/BiE9xcmmcm line 1ā¤ā¤Actually thrown at:ā¤ in block <unit> at /tmp/BiE9xcmmcm line 1ā¤ā¤Ā»
bartolin hmm.
psch m: use NativeCall::Types; say NativeCall::Types::.keys 11:37
camelia rakudo-moar 2ddac6: OUTPUTĀ«Could not find symbol '&Types'ā¤ in block <unit> at /tmp/nV3znYAc38 line 1ā¤ā¤Actually thrown at:ā¤ in block <unit> at /tmp/nV3znYAc38 line 1ā¤ā¤Ā»
psch m: use NativeCall; say NativeCall::.keys
camelia rakudo-moar 2ddac6: OUTPUTĀ«()ā¤Ā»
psch m: use Test; ok 1, 1
camelia rakudo-moar 2ddac6: OUTPUTĀ«ok 1 - 1ā¤Ā»
bartolin that works locally with r-m 11:38
anyway, I'll look again and play with 'no precompilation' and some debug statements ... 11:39
12:02 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Fix infix:<cmp> for allomorphs 12:02
travis-ci.org/rakudo/rakudo/builds/130198431 github.com/rakudo/rakudo/compare/a...068485c8c3
12:02 travis-ci left
psch bartolin: fwiw, 'module Foo { our class Bar { } }' also doesn't find Foo::Bar 12:21
bartolin: i'm fairly sure it should... :S
m: module Foo { our class Bar { } }; say Foo::Bar 12:24
camelia rakudo-moar 2ddac6: OUTPUTĀ«(Bar)ā¤Ā»
psch yeah, that works in-line (so to speak) on r-j too 12:25
but stuff the Foo definition into a file, and it doesn't... vOv 12:26
12:36 travis-ci joined
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Use nqp::eqat to check for occurence in string 12:36
travis-ci.org/rakudo/rakudo/builds/130201108 github.com/rakudo/rakudo/compare/9...dac6a8faef
12:36 travis-ci left
timotimo oh come on, travis :| 12:36
psch ...why doesn't 'no precompilation' turn off precompilation? 12:43
for that matter, i also thought 'use lib ...' would turn it off, but that doesn't either...
timotimo use lib will not deactivate precompilation 12:45
instead you.ll end up with a precomp store in that lib directory
moritz there's "no precomp;" if you want to turn off precomp
timotimo m: no precompilation
camelia ( no output )
timotimo i wonder why that doesn't error out when it sees a thing we don't have? 12:46
psch m: no funny-business 12:47
camelia rakudo-moar 2ddac6: OUTPUTĀ«===SORRY!===ā¤Don't know how to 'no funny-business' just yetā¤Ā»
timotimo oh
m: no precomp
camelia rakudo-moar 2ddac6: OUTPUTĀ«===SORRY!===ā¤Don't know how to 'no precomp' just yetā¤Ā»
timotimo so it *is* "no precompilation"
psch m: no precomp
camelia rakudo-moar 2ddac6: OUTPUTĀ«===SORRY!===ā¤Don't know how to 'no precomp' just yetā¤Ā»
psch oh, yeah
but it doesn't do anything. or rather, i still get logging output from RAKUDO_MODULE_DEBUG that says precomp is happening 12:48
i mean, it might be doing something, but it's not turning of precomp vOv
timotimo it only prevents the module it's in from being precompiled
psch ah, yeah 12:50
so, apparently precomp of modules with our-scoped classes ia broken on r-j
timotimo oh crap 12:51
bartolin hmm. if I have Bar.pm6 which has 'no precompilation' and then run "perl6-m -e 'use Bar'" it looks like Bar _gets_ precompiled 12:52
psch bartolin: it aborts
bartolin: when it sees the pragma 12:53
bartolin (according to output with RAKUDO_MODULE_DEBUG=1)
timotimo it can hardly know not to precompile before it started trying
psch 4420 32384 RMD: /home/psch/rakudo/rakudo/Foo.pm aborted precompilation without failure
timotimo because it's not allowed to precompile the "don't precompile me" thingie
bartolin ahh, I see 12:54
psch hm 12:59
maybe even worse: both "module Foo { }" and "unit module Foo;" seem broken
bartolin ok, doing the following seems to work: 1. apply psch's++ patches; 2. add 'no precompilation' to 'lib/NativeCall/Types.pm6'; 3. run perl6-j -Ilib -e 'use NativeCall::Types; say NativeCall::Types::void.^name' 13:00
oh, and remove an existing dir lib/.precomp before step 3
so, maybe your patches are good at least 13:02
psch yeah, probably 13:04
but precomp loading is completely busted on r-j it seems
Foo.pm with "class Foo { }" can't be loaded without having "no precompilation" in there 13:05
bartolin yes, looks like it :-/
psch or well, it gets loaded, and says it imports symbols, but Foo isn't found in the using mainline
which, honestly, even makes me doubt i'm doing the syntax right haha :)
bartolin psch: yesterday you were reluctant to put your changes to the Binder in a commit. since the new error ('NativeCall::Types::void') seems to be unrelated to that -- shouldn't your patches go in? 13:13
dalek kudo/nom: f6bc8b7 | peschwa++ | src/ (4 files):
Fix some cases of extra containers in param binding.

This fixes e.g. < my $b = Buf.new; $b.push(Buf.new(1,2)) >, but doesn't fix RT #126493 for example. This might mean there's a better, more complete version around, but this is still better than nothing.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126493
psch bartolin: well... :)
bartolin lol
psch++ 13:14
psch bartolin: fwiw, the reluctance was because i had thought that my interpretation of "don't mess up explicit $_ binding" for the r-j Binder was wrong
bartolin: since the failing bit was a given/when
bartolin aha, I see
psch hmm 13:19
CompUnit::Loader.load-precompilation-file just does nothing on r-j..?
i mean, the call to loadbytecodefh is moar-only
bartolin psch: but in CompUnit::PrecompilationRepository is an '#?if moar' statement, so load-precompilation-file not called there on JVM 13:25
psch ah, alright then :) 13:26
14:02 Ven joined 14:11 travis-ci joined
travis-ci Rakudo build failed. Pepe Schwarz 'Fix some cases of extra containers in param binding. 14:11
travis-ci.org/rakudo/rakudo/builds/130215385 github.com/rakudo/rakudo/compare/2...bc8b7dec65
14:11 travis-ci left
psch yes travis, soon. maybe... 14:12
[Tux] This is Rakudo version 2016.04-199-gf6bc8b7 built on MoarVM version 2016.04-134-g9879233 14:27
test 20.853
test-t 13.463
csv-parser 35.589
14:34 Ven joined
nine psch: odd. I specifically tried to make sure loading precompiled files works on the JVM before merging my branch :/ 15:11
psch nine: the precomp files are jars, aren't they? 15:18
'cause calling loadNew skips all the "pull the jar appart and check its serialization" stuff 15:19
also apparently a Buf is a VMArrayInstance_u8, not _i8
also loadbytecodebuffer didn't have a fail branch for that instanceof check 15:20
well, that's the changes i'm trying right now, fwiw :)
nine I was actually surprised when it seemed to work :) 15:25
psch m: say 4260626932.base(16) 15:43
camelia rakudo-moar f6bc8b: OUTPUTĀ«FDF401F4ā¤Ā»
psch m: say (0xffffffff - 4260626932).base(16)
camelia rakudo-moar f6bc8b: OUTPUTĀ«20BFE0Bā¤Ā»
psch hm, that doesn't immediately help me vOv
that's the first 4 bytes of a precomp file, fwiw 15:44
well, after the bitshifting and bitanding at the start of loadBuffer, which is what's after the readAllBytes call in loadFile... 15:45
huh 15:48
0x504B0304 is what we expect at the start of a .jar file
$ xxd install/share/perl6/precomp/A7D2CC4F2100F2EFB26241A5A219EDE670349041.1.463240427251E9/09/09A0291155A88760B69483D7F27D1FBD8A131A35 | head
0000000: 0a50 4b03 0414 0008 0808 0045 7dae 4800 .PK........E}.H.
but we get 0x0a504b0304
oh, wasn't there some "mush it together with our own delimiters" magic going on..? 15:49
nine psch: precomp files are now a combination of dependency information + the bytecode file 15:50
the first part is actually human readable 15:51
The bytecode part starts after the first empty line
psch yeah, that's what i just realized
i mean, the fact that we start with a line break and then comes the jar 15:52
nine That would be a file with no dependencies
psch yeah, which is a problem if we don't have anything implemented that tosses everything that's before the line break before feeding it into the ClassLoader... :) 15:53
nine But that should be taken care of by using loadbytecodebuffer instead of loadbytecodefile?
or loadbytecode rather
psch well, yeah, if it was implemented in loadbytecodebuffer it probably would :D 15:54
but currently it just feeds the whole file, including empty line (or dependency information) into the class loader
or, well, upstream it actually realizes its a VMArrayInstance_i8 and not _u8 and just does nothing 15:55
well, unless i missed an nqp bump here of course
s/file/buffer/
github.com/perl6/nqp/blob/master/s...java#L5642 gets called 15:56
from github.com/rakudo/rakudo/blob/nom/...der.pm#L58 15:57
if the caller of load-precompilation doesn't break the $buf apart...
nine This is the place: github.com/rakudo/rakudo/blob/nom/...ile.pm#L41 15:59
psch m: say $*IN.get.split[*-1] 16:00
camelia rakudo-moar f6bc8b: OUTPUTĀ«Cannot call split(Str: ); none of these signatures match:ā¤ (Cool $: Regex:D $pat, $limit = Inf;; :$all, *%_)ā¤ (Cool $: Cool:D $pat, $limit = Inf;; :$all, *%_)ā¤ (Str:D $: Regex:D $pat, $parts = *;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *ā€¦Ā»
psch m: say $*IN.get.split()[*-1]
camelia rakudo-moar f6bc8b: OUTPUTĀ«Cannot call split(Str: ); none of these signatures match:ā¤ (Cool $: Regex:D $pat, $limit = Inf;; :$all, *%_)ā¤ (Cool $: Cool:D $pat, $limit = Inf;; :$all, *%_)ā¤ (Str:D $: Regex:D $pat, $parts = *;; :$v is copy, :$k, :$kv, :$p, :$skip-empty, *ā€¦Ā»
psch oh grr
m: say $*IN.get.comb[*-1]
camelia rakudo-moar f6bc8b: OUTPUTĀ«lā¤Ā»
psch humm, does that chomp..? :)
nine Yes, all line reading methods should chomp 16:01
psch i am so confused right now 16:11
i mean, what i do know is that the buf that arrives in loadbytecodebuffer still has the line break
and testing around with the pattern (i.e. < $h.get; ... ; $h.slurp-rest(:bin) >) i don't get any data from the slurp-rest 16:12
gist.github.com/peschwa/7423e9802b...8dd77f84d1 like this 16:13
nine Maybe this combination of Str get and slurp-rest(:bin) doesn't work as well on the JVM
psch *also* scary is the new part in the updated gist 16:14
nine Shouldn't it be $h.slurp-rest(:bin)?
Or $h.slurp-rest: :bin
psch doesn't change anything
m: class A { methdo foo($) { } }; A.foo 1
camelia rakudo-moar f6bc8b: OUTPUTĀ«===SORRY!=== Error while compiling /tmp/3JBUIlBsvDā¤Unexpected block in infix position (missing statement control word before the expression?)ā¤at /tmp/3JBUIlBsvD:1ā¤------> class A { methdo foo($)ā { } }; A.foo 1ā¤ expecting any of:ā€¦Ā»
psch m: class A { method foo($) { } }; A.foo 1 16:15
camelia rakudo-moar f6bc8b: OUTPUTĀ«===SORRY!=== Error while compiling /tmp/mkAqX8uRQXā¤Two terms in a rowā¤at /tmp/mkAqX8uRQX:1ā¤------> class A { method foo($) { } }; A.fooā 1ā¤ expecting any of:ā¤ infixā¤ infix stopperā¤ statement endā¤ ā€¦Ā»
psch m: class A { method foo(:$a!) { } }; A.foo :a
camelia ( no output )
psch nameds are weird vOv
bartolin I seem to remember a bug for JVM wrt :chomp
some tests in S16-io/lines.t are fudged for JVM
.. though i'm not sure, that is related here
psch bbi20 or so o/ 16:16
bartolin not ok 463 - handle 1,2: chomp => True / colons
expected: 'onetwo'
got: 'one:
:two:
^^ that's one of the failing tests there. 16:17
nine I dare say the main issue here is different buffers used by different ways to read the file 16:28
psch well, i don't get it 16:43
i mean, something is weird with using a combination of .get and .slurp-rest, as the gist shows
i had thought it might be cause of all the ByteBuffer.flip()ing we do, but i don't grok what exactly we do in SyncHandle.read in the first place, so i don't know... :) 16:44
bartolin btw, I see no test for slurp-rest(:bin) in roast 16:46
nine psch: the weird thing is that while I can reproduce the problem with mixing get() and slurp-rest, it doesn't seem to affect precomp loading. 16:48
Run this twice: RAKUDO_MODULE_DEBUG=1 ./perl6-j -Ilib -e 'use Test'
Loading precompiled
/home/nine/rakudo/lib/.precomp/614C136150B073F1BC3374FAF4340A880DA97C37.1.46324436631E9/3A/3AF393AF91BDB1C86C71740C13F8E9A89BF7C3ED
Both times it seems to load the precompiled file just fine. I would assume that if loading was broken, it would kind of explode 16:49
psch nine: try 'use NativeCall' instead of Test
nine That looks like a different issue
Or maybe it really doesn't explode. I modified the precomp file so it definitely would no longer be valid and I still get no error. 16:50
psch fwiw, locally even "class Foo { }" doesn't load correctly without 'no precompilation'
nine What's the easiest way to add debug output to the Java code? 16:53
bartolin nine: and if you add '; ok 1' after 'use Test'?
nine psch: we never even tried to load the precomp due to the type difference you noticed 17:10
psch nine: yeah, but fixing that isn't enough, because the first few bytes aren't right 17:11
because it still has the 0x0a
nine I may have a workaround for that 17:15
Well, still not right there yet: java.lang.ClassFormatError: Incompatible magic value 173034243 17:20
Ah, a simple off by one error....another try 17:21
TimToady huh, my forest fire program is bust, something is deconting my neighbors... 17:43
(the program depends on the calculated neighbors being lvalues pointing back into the grid) 17:44
I wonder when it was borken... 17:45
17:46 sortiz joined
TimToady m: gist.github.com/anonymous/5eb500b8...daeccd5d8d 18:19
camelia rakudo-moar f6bc8b: OUTPUTĀ«Bad decontā¤ in block <unit> at /tmp/mTNZ5_iO1d line 13ā¤ā¤Ā»
TimToady there's a cutdown version of it
the forest fire program won't work unless we can assign back to a spot through the neighbor slice 18:22
jnthn star: gist.github.com/anonymous/5eb500b8...daeccd5d8d 18:23
camelia ( no output )
TimToady was planning to use the forest fire program at oscon maybe... 18:25
and it's just a lot cleaner to use a referential slice than an indirection... 18:27
I suppose if nothing is obvious, we could bisect 18:30
jnthn m: use nqp; my @spot = [rand xx 10] xx 10; say nqp::iscont($_) for (gather { take-rw @spot[0][0]; })
camelia rakudo-moar f6bc8b: OUTPUTĀ«0ā¤Ā»
jnthn star: use nqp; my @spot = [rand xx 10] xx 10; say nqp::iscont($_) for (gather { take-rw @spot[0][0]; })
camelia star-m 2016.01: OUTPUTĀ«0ā¤Ā»
jnthn darn, over-recued it apparently 18:31
star: use nqp; my @spot = [rand xx 10] xx 10; for (gather { take-rw @spot[0][0]; }) <-> $_ { say nqp::iscont($_) } 18:32
camelia star-m 2016.01: OUTPUTĀ«Parameter '$_' expected a writable container, but got Num valueā¤ in block <unit> at /tmp/nedoaWaoQZ line 1ā¤ā¤Ā»
jnthn hm, if that doesn't work, how does it work on star from 2016.01 at all? 18:33
TimToady eager?
star: use nqp; my @spot = [rand xx 10] xx 10; for (eager gather { take-rw @spot[0][0]; }) <-> $_ { say nqp::iscont($_) } 18:34
camelia star-m 2016.01: OUTPUTĀ«1ā¤Ā»
jnthn m: use nqp; my @spot = [rand xx 10] xx 10; for (eager gather { take-rw @spot[0][0]; }) <-> $_ { say nqp::iscont($_) }
camelia rakudo-moar f6bc8b: OUTPUTĀ«Parameter '$_' expected a writable container, but got Num valueā¤ in block <unit> at /tmp/gNaXPsd7dl line 1ā¤ā¤Ā»
jnthn star: use nqp; my @spot = [rand xx 10] xx 10; for (eager gather { take-rw @spot[0][0]; }) <-> $_ { say nqp::iscont($_) }
camelia star-m 2016.01: OUTPUTĀ«1ā¤Ā»
jnthn aha
TimToady is that, 'aha, eager', or 'aha, I know what the problem is'? :) 18:35
jnthn m: use nqp; say nqp::iscont (eager gather { take-rw my $a })[0] 18:37
camelia rakudo-moar f6bc8b: OUTPUTĀ«0ā¤Ā»
jnthn star: use nqp; say nqp::iscont (eager gather { take-rw my $a })[0]
camelia star-m 2016.01: OUTPUTĀ«1ā¤Ā»
jnthn m: use nqp; say nqp::iscont (gather { take-rw my $a })[0]
camelia rakudo-moar f6bc8b: OUTPUTĀ«1ā¤Ā»
jnthn star: use nqp; say nqp::iscont (gather { take-rw my $a })[0]
camelia star-m 2016.01: OUTPUTĀ«1ā¤Ā»
jnthn I think that points the finger pretty strongly at eager 18:38
TimToady m: use nqp; say nqp::iscont (eager my $a)[0] 18:40
camelia rakudo-moar f6bc8b: OUTPUTĀ«0ā¤Ā»
TimToady m: use nqp; say nqp::iscont (my $a)[0]
camelia rakudo-moar f6bc8b: OUTPUTĀ«1ā¤Ā»
TimToady kinda surprised we don't have a test that caught that... 18:41
jnthn Me too 18:43
m: use nqp; my \a = (gather { take-rw my $a }).list; say a.elems; say nqp::iscont(a[0]);
camelia rakudo-moar f6bc8b: OUTPUTĀ«1ā¤0ā¤Ā»
jnthn star: use nqp; my \a = (gather { take-rw my $a }).list; say a.elems; say nqp::iscont(a[0]);
camelia star-m 2016.01: OUTPUTĀ«1ā¤1ā¤Ā»
TimToady so the implicit eager in .elems is also clobbering it 18:45
explains some of my results with the big program
could fix the immediate assertion failure by removing eager, but still failed the same way later 18:46
m: use nqp; my \a = (my $a).list; say a.elems; say nqp::iscont(a[0]); 18:47
camelia rakudo-moar f6bc8b: OUTPUTĀ«1ā¤0ā¤Ā»
jnthn m: use nqp; my \ib = IterationBuffer.new; (gather { take-rw my $a }).iterator.push-all(ib); say nqp::iscont(ib[0]);
camelia rakudo-moar f6bc8b: OUTPUTĀ«0ā¤Ā»
TimToady don't need the gather
jnthn star: use nqp; my \ib = IterationBuffer.new; (gather { take-rw my $a }).iterator.push-all(ib); say nqp::iscont(ib[0]);
camelia star-m 2016.01: OUTPUTĀ«1ā¤Ā»
jnthn star: use nqp; my \ib = IterationBuffer.new; (my $a).list.iterator.push-all(ib); say nqp::iscont(ib[0]); 18:49
camelia star-m 2016.01: OUTPUTĀ«0ā¤Ā»
TimToady star: use nqp; my \a = (my $a).list; say a.elems; say nqp::iscont(a[0]); 18:50
camelia star-m 2016.01: OUTPUTĀ«1ā¤0ā¤Ā»
jnthn m: use nqp; say nqp::iscont (my $a).list[0]
camelia rakudo-moar f6bc8b: OUTPUTĀ«0ā¤Ā»
jnthn star: use nqp; say nqp::iscont (my $a).list[0]
camelia star-m 2016.01: OUTPUTĀ«0ā¤Ā»
TimToady star: use nqp; my \a = (my $a,).list; say a.elems; say nqp::iscont(a[0]);
camelia star-m 2016.01: OUTPUTĀ«1ā¤1ā¤Ā»
TimToady .list is no-oping on Scalar, seems
jnthn But that doesn't look like a change?
TimToady m: use nqp; my \a = (my $a,).list; say a.elems; say nqp::iscont(a[0]); 18:51
camelia rakudo-moar f6bc8b: OUTPUTĀ«1ā¤1ā¤Ā»
TimToady hmm
odd
jnthn m: use nqp; say nqp::iscont (gather { take-rw my $a }).iterator.pull-one 18:53
camelia rakudo-moar f6bc8b: OUTPUTĀ«0ā¤Ā»
jnthn star: use nqp; say nqp::iscont (gather { take-rw my $a }).iterator.pull-one
camelia star-m 2016.01: OUTPUTĀ«0ā¤Ā»
jnthn That's also odd
TimToady maybe the problem is in .push-all?
jnthn Well, except I'd expect that pull-one to give back a container there too? 18:54
star: say (gather { take-rw my $a }).iterator.pull-one.perl
camelia star-m 2016.01: OUTPUTĀ«Anyā¤Ā»
TimToady well, but if it fails in star...
jnthn Yeah, it can't be The Thing to blame but it's still odd
star: say (gather { take-rw my $a }).iterator.pull-one.VAR.WHAT
camelia star-m 2016.01: OUTPUTĀ«(Any)ā¤Ā»
TimToady might be a different bug we fixed after star 18:55
jnthn m: say (gather { take-rw my $a }).iterator.pull-one.VAR.WHAT
camelia rakudo-moar f6bc8b: OUTPUTĀ«(Any)ā¤Ā»
jnthn That seems wrong in both
There's a missing `is rw` on the pull-one
TimToady could that explain the original problem too? 18:57
jnthn We'll see :)
(Building...)
Yes, seems like it fixes the original too 18:59
TimToady looks like about a 1/3 of the method pull-one have 'is raw', and the rest are bare 19:00
did you put 'is rw' or 'is raw'? 19:01
surely 'is rw' would break some things 19:02
jnthn raw :)
Adding your case as a test, then will do a spectest run
TimToady I worry a bit about all the bare pull-ones that are out there 19:03
I suppose special ones might know there can't be an lvalue
but you'd think the lack of 'is raw' is causing unnecessary deconts in various spots 19:04
jnthn Yeah, worth reviewing them all
TimToady well, thanks for lookin' at this 19:05
TimToady was sufficiently panicky about his oscon talk without the ohnoez 19:06
jnthn Don't think I'm up for the full audit this evening :) 19:07
But will push this fix and test provided spectest looks good
TimToady jnthn++ 19:08
TimToady is kinda glad it turned out to be a sin of omission rather than a sin of commission :) 19:09
jnthn :)
TimToady probably a "revealed check" situation, in chess terms 19:10
jnthn Up to S17 and no problems so far.
TimToady (my original plaint, that is) 19:11
hard to see how something could be relying on a premature decont... 19:12
maybe I just don't have a good enough imagination... 19:13
19:13 Ven joined
dalek kudo/nom: ad82657 | jnthn++ | src/core/Seq.pm:
Add missing `is raw` needed to fix `take-rw`.
19:15
ast: 6fceefc | jnthn++ | S04-statements/gather.t:
Test for `take-rw`.
jnthn There we go :)
Good luck with the talk :)
TimToady thanks for pulling my ox out of the ditch, whether or not you consider it the sabbath :) 19:16
jnthn :) 19:17
jnthn wanders off to the corner shop 19:18
TimToady fyi forest fire works again, \o/ 19:25
japhb TimToady: Is it the same one used in perl6-bench? Or something different? 19:32
moritz would guess Rosettacode 19:36
TimToady it's pretty close to RC's version 19:38
not the old one that copies arrays
timotimo how's the performance? should we put the new code into perl6-bench, or do we have to fix the one in perl6-bench? 19:39
TimToady well, the new one is always gonna be faster than the old one 19:40
timotimo not if it's purely a bugfix change 19:41
then we might have to make it slower
though what with 6.c that shouldn't be necessary often
TimToady there was some period of time between star and now that the new one wasn't working 19:42
dunno if the old one has had any dropouts 19:43
lunch & 19:44
timotimo i think we had a period of time where the rc-forest-fire in perl6-bench didn't work 19:45
japhb *sigh* 19:49
22:43 Ven joined
nine Turns out: practically nothing about my first attempt at a loadbytecodebuffer implementation for JVM was right :) 23:04