Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-03-21

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:40 [Tux] joined #perl6-dev
01:14 [Tux] joined #perl6-dev
02:48 ilbot3 joined #perl6-dev
02:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
05:04 skids joined #perl6-dev
05:04 skids https://gist.github.com/skids/18fa6fb1de776400abd43b6e82e9fcc2 # needs a lot of review.
06:52 RabidGravy joined #perl6-dev
07:00 [Tux] This is Rakudo version 2017.03-13-g0c6281518 built on MoarVM version 2017.03-4-gfe1dc84a
07:00 [Tux] csv-ip5xs        3.050
07:00 [Tux] test            12.557
07:00 [Tux] test-t           4.997 - 4.999
07:00 [Tux] csv-parser      12.998
07:01 [Tux] All tests successful.
07:01 [Tux] Files=29, Tests=22333, 18 wallclock secs ( 2.47 usr  0.14 sys + 58.56 cusr  1.26 csys = 62.43 CPU)
07:01 [Tux] Result: PASS
07:18 samcv pass is always good
07:19 samcv [Tux], do you know if the time for the tests is graphed anywhere?
07:19 [Tux] dogbert17 is working on profiling
07:20 [Tux] huggable, speed
07:20 huggable [Tux], http://tux.nl/Talks/CSV6/speed4.html
07:20 [Tux] that is the graph. auto-updated on every test result
07:24 samcv yeah i know that one
07:24 samcv i check it every once in a while
08:06 Geth ¦ roast: a03b2afa17 | (David Warring)++ | S02-types/array-shapes.t
08:06 Geth ¦ roast: add basic tests on Z= shape filling
08:06 Geth ¦ roast:
08:06 Geth ¦ roast: https://irclog.perlgeek.de/perl6/2017-03-20#i_14297219
08:06 Geth ¦ roast: review: https://github.com/perl6/roast/commit/a03b2afa17
08:06 dct joined #perl6-dev
08:16 Geth ¦ roast: bc790e45bd | (Samantha McVey)++ | S05-modifier/ignorecase.t
08:16 Geth ¦ roast: Add tests for /:i / regex matching of ligatures RT #126793
08:16 Geth ¦ roast: review: https://github.com/perl6/roast/commit/bc790e45bd
08:16 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126793
08:52 lizmat m: my $c = Channel.new; $c.send($_) for ^10; $c.iterator.push-all(my @a); dd @a   # looks like I found a bug in Channel.iterator
08:52 camelia rakudo-moar 0c6281: OUTPUT: «(timeout)»
08:54 Geth ¦ rakudo/nom: e5528ddf8d | (Elizabeth Mattijsen)++ | src/core/Thread.pm
08:54 Geth ¦ rakudo/nom: Give Thread a numeric representation
08:54 Geth ¦ rakudo/nom:
08:54 Geth ¦ rakudo/nom: So that "say +$*THREAD" actually works.  Found during debugging some
08:54 Geth ¦ rakudo/nom: race/hyper prototype.
08:54 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e5528ddf8d
08:54 lizmat m: say +$*THREAD
08:54 camelia rakudo-moar 0c6281: OUTPUT: «Cannot resolve caller Numeric(Thread: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at <tmp> line 1␤␤»
08:54 lizmat should be fixed now
08:58 lizmat m: my $c = Channel.new; $c.send($_) for ^10; $c.close; $c.iterator.push-all(my @a); dd @a   # ah, need to close the channel  :-)
08:58 camelia rakudo-moar 0c6281: OUTPUT: «Array @a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]␤»
09:16 lizmat m: my $a = 42; my $c = Channel.new; $c.send($a); $c.receive++; dd $a   # jnthn: any particular reason why this doesn't / shouldn't work ?
09:16 camelia rakudo-moar e5528d: OUTPUT: «Cannot resolve caller postfix:<++>(Int); the following candidates␤match the type but require mutable arguments:␤    (Mu:D $a is rw)␤    (Int:D $a is rw)␤␤The following do not match for other reasons:␤    (Bool:D $a is rw)␤    (Bool:U $a is …»
09:30 lizmat afk for a few hours&
10:18 astj joined #perl6-dev
10:18 astj joined #perl6-dev
10:38 samcv does anybody know what :pge stands for? see this line https://github.com/perl6/nqp/blob/master/t/qregex/01-qregex.t#L84
10:47 samcv j: use nqp; say(nqp::atkey(nqp::backendconfig(), 'jvm'))
10:47 camelia rakudo-jvm fb4f16: OUTPUT: «java.lang.NullPointerException␤  in block <unit> at <tmp> line 1␤␤»
10:47 samcv j: use nqp; say("'" ~ nqp::atkey(nqp::backendconfig(), 'jvm') ~ "'")
10:47 camelia rakudo-jvm fb4f16: OUTPUT: «java.lang.NullPointerException␤  in block <unit> at <tmp> line 1␤␤»
10:48 samcv j: use nqp; my %hash = nqp::backendconfig(); say %hash<jvm>
10:48 camelia rakudo-jvm fb4f16: OUTPUT: «(Any)␤»
10:48 samcv j: use nqp; my %hash = nqp::backendconfig(); say %hash.keys
10:48 camelia rakudo-jvm fb4f16: OUTPUT: «(nativecall.ld nativecall.ldout nativecall.so prefix runtime.jars nativecall.ldflags nativecall.libs nativecall.perllibs nativecall.cc nativecall.ccdlflags nativecall.ccflags nativecall.o runtime.bootclasspath nativecall.lddlflags runtime.classpath)␤»
10:49 samcv j: use nqp; my %hash = nqp::backendconfig(); say %hash<runtime.jars>
10:49 camelia rakudo-jvm fb4f16: OUTPUT: «/home/camelia/rakudo-j-inst-1/share/nqp/runtime/asm-4.1.jar:/home/camelia/rakudo-j-inst-1/share/nqp/runtime/asm-tree-4.1.jar:/home/camelia/rakudo-j-inst-1/share/nqp/runtime/jline-1.0.jar:/home/camelia/rakudo-j-inst-1/share/nqp/runtime/jna.jar:/home/cameli…»
10:50 samcv j: use nqp; say nqp::existskey(nqp::backendconfig(), 'runtime.jars');
10:50 camelia rakudo-jvm fb4f16: OUTPUT: «1␤»
10:53 timotimo samcv: maybe parrot grammar engine?
10:53 samcv ah ok
10:53 samcv so i will rip it out then
10:53 samcv parrot has been fully removed from nqp right?
10:53 timotimo no
10:53 timotimo only from rakudo
10:53 jnthn lizmat: You forgot to close the channel in your hanging example above
10:53 samcv k
11:01 samcv hmm it looks like it's todoing # todo :pugs<feature> :pge<feature>
11:02 samcv so if it is :pugs it will todo for moar
11:02 timotimo you're looking at some ancient code, i'd expect
11:02 samcv though i'm not sure why
11:03 samcv the regex is only matching pge. hmm maybe cause it's not matching the line properly
11:03 timotimo i really love it when highlighters think stuff like "if $m {" is the beginning of a m///
11:03 timotimo er, i mean m// of course
11:04 samcv not mine i hope ;P
11:04 timotimo it's not anchored at the RHS, but it really should be requiring a ":pge" in there
11:04 samcv also how would it think that. weird
11:04 timotimo nah, i think it's only when the highliter thinks it's dealing with perl5 code
11:04 samcv ah
11:06 timotimo yeah, i'm kind of stumpd. at this point i'd print out some stuff in there ...
11:06 timotimo ideally with "note" so that the tap parser doesn't get surprised
11:21 samcv almost done updating all these files. olddd
11:22 samcv timotimo, what's the proper way of getting what backend you're on in nqp
11:22 jnthn nqp: say(nqp::getcomp('nqp).backend.name) # I think
11:22 camelia nqp-moarvm: OUTPUT: «Confused at line 2, near "say(nqp::g"␤   at gen/moar/stage2/NQPHLL.nqp:765  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:915  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/mo…»
11:22 jnthn nqp: say(nqp::getcomp('nqp').backend.name) # I think
11:22 camelia nqp-moarvm: OUTPUT: «moar␤»
11:23 samcv kk
11:24 samcv j: use nqp; say(nqp::getcomp('nqp').backend.name) # I think
11:24 camelia rakudo-jvm fb4f16: OUTPUT: «Cannot call method 'backend' on a null object␤  in block <unit> at <tmp> line 1␤␤»
11:24 samcv m: use nqp; say(nqp::getcomp('nqp').backend.name) # I think
11:24 camelia rakudo-moar e5528d: OUTPUT: «Cannot call method 'backend' on a null object␤  in block <unit> at <tmp> line 1␤␤»
11:24 samcv nqp-j: use nqp; say(nqp::getcomp('nqp').backend.name) # I think
11:24 samcv camelia, help
11:24 camelia samcv: Usage: <(rakudo-jvm|rakudo-moar|p5-to-p6|prof-m|nqp-jvm|star-m|debug-cat|nqp-moarvm|nqp-js|p56|nqp-q|r-j|p6|m|r-m|nqp-m|nqp-mvm|rakudo|sm|perl6|r-jvm|r|j|nqp|rm|star|nom|rj)(?^::\s(?!OUTPUT)) $perl6_program>
11:25 samcv nqp-jvm: use nqp; say(nqp::getcomp('nqp').backend.name) # I think
11:25 camelia nqp-jvm: OUTPUT: «Error occurred during initialization of VM␤Could not allocate metaspace: 1073741824 bytes␤»
11:25 timotimo wow jesus
11:25 samcv oh well not gonna use that. gonna go with the way that is already working
11:25 timotimo okay, perhaps it's just broken in general
11:29 samcv good thing i added testing on jvm nqp a few days ago. gonna PR so this can get tested before pushing it to make sure didn't break jvm more than currently is
11:29 Geth ¦ nqp: samcv++ created pull request #348: Update qregex tests to allow backend specific todo's
11:29 Geth ¦ nqp: review: https://github.com/perl6/nqp/pull/348
11:40 samcv night all
11:40 timotimo night
11:42 jnthn 'night, samcv
11:45 * masak .oO( Could not allocate meatspace )
13:02 ggoebel joined #perl6-dev
13:11 robertle joined #perl6-dev
13:15 [Coke] timotimo: parrot was removed from nqp too.
13:16 [Coke] (at least, I don't see it in src/vm)
13:17 timotimo huh, i thought we kept support for that
13:19 [Coke] it was removed much later than from rakudo
13:54 skids joined #perl6-dev
17:43 japhb joined #perl6-dev
18:12 Geth ¦ rakudo: FCO++ created pull request #1046: Fix triangle reduction with listinfix ops
18:12 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1046
18:12 Geth ¦ roast: FCO++ created pull request #258: Test triangle reduce with listinfix op. RT #131009
18:12 Geth ¦ roast: review: https://github.com/perl6/roast/pull/258
18:12 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=131009
18:19 stmuk_ pl6anet.org should be fixed now
18:19 IOninja stmuk_++
18:22 lizmat stmuk_++  # whee   :-)
18:24 timotimo nice
18:32 FROGGS joined #perl6-dev
18:49 Geth ¦ rakudo/nom: 16f950b305 | (Fernando Correa)++ | src/core/metaops.pm
18:49 Geth ¦ rakudo/nom: Fix triangle reduction with listinfix ops
18:49 Geth ¦ rakudo/nom:
18:49 Geth ¦ rakudo/nom: The triangle reduction was appending the data inside of a array and applying the
18:49 Geth ¦ rakudo/nom: op on that. It was changed to push the data and apply the op on that array with
18:49 Geth ¦ rakudo/nom: each item deconted. RT #131009
18:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/16f950b305
18:49 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=131009
18:49 Geth ¦ rakudo/nom: 9584a6badd | lizmat++ | src/core/metaops.pm
18:49 Geth ¦ rakudo/nom: Merge pull request #1046 from FCO/reduce-triangule-listinfix
18:49 Geth ¦ rakudo/nom:
18:49 Geth ¦ rakudo/nom: Fix triangle reduction with listinfix ops
18:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9584a6badd
18:51 Geth ¦ rakudo/nom: 1132b1ac75 | (Elizabeth Mattijsen)++ | src/core/Semaphore.pm
18:51 Geth ¦ rakudo/nom: Use nqp::p6bool in lieu of ?? !!
18:51 Geth ¦ rakudo/nom:
18:51 Geth ¦ rakudo/nom: Since we optimized this case recently, this is faster.
18:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1132b1ac75
18:53 raschipi joined #perl6-dev
19:18 timotimo lizmat: i only see try_acquire used once across all of rakudo and that's maybe_new_thread in ThreadPoolScheduler; were you able to measure any impact of that method?
19:18 lizmat timotimo: no
19:18 timotimo OK
19:18 timotimo just going through ?? T !! F in general?
19:18 lizmat well, apart from a loop with nqp::p6bool vs ?? True !! False
19:19 lizmat no, actually I ran into it why checking up on a bunch of async stuff
19:19 lizmat *while
19:20 timotimo OK
19:20 timotimo no complaint, just curious
19:47 hankache joined #perl6-dev
19:59 Geth ¦ roast: fbe36ef8bf | (Fernando Correa de Oliveira)++ | S03-metaops/reduce.t
19:59 Geth ¦ roast: Test triangle reduce with listinfix op. RT #131009
19:59 Geth ¦ roast: review: https://github.com/perl6/roast/commit/fbe36ef8bf
19:59 Geth ¦ roast: 2f73cfa64b | (Fernando Correa de Oliveira)++ | S03-metaops/reduce.t
19:59 Geth ¦ roast: Merge pull request #258 from FCO/test-131009
19:59 Geth ¦ roast:
19:59 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=131009
19:59 Geth ¦ roast: Test triangle reduce with listinfix op. RT #131009
19:59 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=131009
19:59 Geth ¦ roast: review: https://github.com/perl6/roast/commit/2f73cfa64b
20:08 pyrimidine joined #perl6-dev
20:16 arnsholt jnthn: Is it possible to make a REPR such that the assignment operator gets copying/value semantics?
20:16 [Coke] ===> Searching for: DBIish
20:16 [Coke] Failed to update p6c mirror No such method 'IO' for invocant of type 'Any'
20:24 lizmat arnsholt: don't we have that already ?
20:27 pyrimidine I've run into an odd issue with a ticket on RT, #130709
20:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130709
20:27 hankache joined #perl6-dev
20:28 pyrimidine It's essentially fixed (thanks to nine++ and llfourn++) but I can't close the ticket, nor even comment on it
20:28 pyrimidine It's weird
20:29 pyrimidine can someone with perl6 RT privileges try closing it out?
20:38 arnsholt lizmat: I have no idea. Thus my asking =)
20:39 lizmat arnsholt: I meant, isn't that the standard REPR ?
20:39 IOninja pyrimidine, did the fix come with tests to cover the bug?
20:40 arnsholt No, that's not what I want
20:40 IOninja [Coke], what versions of perl6/zef?
20:40 arnsholt What I'm looking for is where "$copy = $original; $original.mutate" does *not* change $copy
20:40 pyrimidine IOninja: did nine add 'require' tests for those fixes?  I think he did...
20:41 arnsholt (Context is mulling over possible ways of getting NativeCall into better shape)
20:41 lizmat m: my $original = 42; my $copy = $original; $original++; dd $original, $copy
20:41 camelia rakudo-moar 1132b1: OUTPUT: «Int $original = 43␤Int $copy = 42␤»
20:42 lizmat arnsholt: aren't you confusing binding with assignment ?
20:43 IOninja pyrimidine: hm, it's failing to log me in from my phone :/
20:46 [Coke] 2017.03-13-g0c6281518 - I have no idea how to get zef version atm.
20:46 [Coke] IOninja: ^^
20:47 [Coke] 'zef locate zef' gives zef:ver<0.1.4> - and a ton of warnings.
20:49 IOninja [Coke], does zef update work?
20:51 jnthn arnsholt: Essentially, yes. The whole flattend_stable thing in P6opaque, for example, was designed with complex object nesting in mind, and bind_attribute should already be capable of being given a boxed version of a value and flattning it into a "native" (read: nested) slot. Since assignment of Scalar really boils down to an attribute bind, then there's nothing really in the way.
20:51 IOninja [Coke], and can you access http://ecosystem-api.p6c.org/projects.json
20:52 jnthn arnsholt: What MoarVM misses so far is an "on-stack" (well, in-register :)) way of having complex values.
20:52 jnthn arnsholt: And of course, having to emulate that lot on the JVM will be mucho headache.
20:53 IOninja we should really stick that ecosystem URL onto HTTPS
20:54 IOninja sticking a bogus source for a module and what not.
20:54 IOninja .
20:58 arnsholt jnthn: Right, right. At least it's a possibility
20:58 * arnsholt goes back to pondering
21:02 [Coke] IOninja: zef update shows the errors; running it again does not show the errors.
21:03 [Coke] zef locate zef still emits many 'use of Nil's however.
21:06 lizmat jnthn: a proof of concept for HyperMap / RaceMap: https://gist.github.com/lizmat/b76e88519b74667c8433190941bb6e6a
21:06 lizmat jnthn: please let me know what you think of it
21:12 samcv ok cool. i can finally make JVM not be part of the allowed failures on travis
21:12 samcv soon
21:13 lizmat afk for a few hours, maybe until tomorrow&
21:17 * IOninja updates to HEAD to see if zef works...
21:19 gfldex are nextsame and callwith meant to be confused by being placed inside a gather block?
21:20 gfldex if the answer is "yes" that's a ENODOC
21:28 pyrimidine joined #perl6-dev
21:29 gfldex I take that question back.
21:29 IOninja gfldex: don't think so... Do you have an example of the confusion?
21:30 IOninja [Coke]: reproed the issue :}
21:30 gfldex nextsame never returns so a `gather for nextsame` wont work
21:33 IOninja m: multi foo(Int $x) { state $s; if $x { $s = gather { .take for |nextsame } } else { $s } }; multi foo($) {^10 }; foo 42; dd foo 0
21:33 camelia rakudo-moar 1132b1: OUTPUT: «Attempt to return outside of any Routine␤  in block <unit> at <tmp> line 1␤␤»
21:33 IOninja heh
21:34 IOninja gfldex: no idea. Maybe someone else knows the answer
21:34 IOninja oh well, that `for` is incorrect, right; but the attempt to return thing is weird
21:34 IOninja m: multi foo(Int $x) { state $s; if $x { $s = gather { 42.take; nextsame } } else { $s } }; multi foo($) {^10 }; foo 42; dd foo 0
21:34 camelia rakudo-moar 1132b1: OUTPUT: «Attempt to return outside of any Routine␤  in block <unit> at <tmp> line 1␤␤»
21:35 gfldex m: class A { multi method m { 1 } }; class B { multi method m { callsame } }; say B.new.m;
21:35 camelia rakudo-moar 1132b1: OUTPUT: «Nil␤»
21:37 IOninja [Coke]: and it seems rakudo problem >_<
21:37 * IOninja builds a few commits to narrow it down
21:39 gfldex i take my backtaking back but only for callsame/callwith
21:40 dogbert17 o/ anyone up for a stupid question
21:40 IOninja Yes!
21:40 dogbert17 wrt running spectests
21:40 gfldex here is some code
21:40 gfldex https://gist.github.com/gfldex/615a2926fe92c447a3eef5e3ba089a18
21:40 IOninja As long as you agree to accept a stupid answer.
21:40 dogbert17 explain this
21:41 dogbert17 make spectest HARNESS_TYPE=5 TEST_JOBS=4  ...  Inline::Perl5 not installed: not running Perl 5 integration tests
21:41 gfldex jnthn: if you got the time could you unconfuse me about interaction of gather and callsame/callwith please?
21:41 * IOninja surprised that doesn't infiniloop
21:41 dogbert17 make spectest HARNESS_TYPE=6 TEST_JOBS=4  ...  t/spec/S01-perl-5-integration/class.rakudo.moar ................... ok
21:42 dogbert17 IOninja, see the oddity?
21:42 IOninja Ah, it's `is IO::Path`
21:42 gfldex the commented out section works but I don't like the Slip business
21:43 gfldex i left out the lazy before gather for now
21:43 IOninja gfldex: the gather version is missing the slip before callsame() doesn't it?
21:43 IOninja gather for |callsame() {
21:43 dogbert17 why does harness6 run the p5 integration tests while harness5 claims Inline::Perl5 is not installed?
21:43 gfldex doesn't help
21:43 IOninja gfldex: dunno then
21:44 gfldex the $_ inside the loop is Nil either way
21:44 gfldex m: dd Nil.Slip
21:44 camelia rakudo-moar 1132b1: OUTPUT: «slip(Nil,)␤»
21:44 * dogbert17 must be misunderstanding something here
21:45 IOninja dogbert17: dunno
21:45 IOninja is Inline::Perl5 installed?
21:46 IOninja m: exit 42
21:46 camelia rakudo-moar 1132b1: ( no output )
21:46 IOninja m: dd !try { require Inline::Perl5; 1 }
21:46 camelia rakudo-moar 1132b1: OUTPUT: «Bool::True␤»
21:46 IOninja m: use Inline::Perl5
21:46 camelia rakudo-moar 1132b1: OUTPUT: «===SORRY!===␤Could not find Inline::Perl5 at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6␤    CompUni…»
21:46 IOninja Riiight
21:46 dogbert17 is that good or bad :)
21:46 IOninja Bad
21:47 IOninja Oh wait good
21:47 dogbert17 ?
21:47 IOninja Nevermind. Got confused by the !
21:47 dogbert17 so bad then
21:47 IOninja dogbert17: so is it installed or not?
21:47 dogbert17 how do I know
21:48 IOninja ./perl6 -MInline::Perl5 -e ''
21:48 dogbert17 not installed
21:49 dogbert17 but that does not stop harness6
21:49 IOninja m: run($*EXECUTABLE, '-e', 'exit !try { require Inline::Perl5 }')
21:49 camelia rakudo-moar 1132b1: OUTPUT: «run is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in sub run at src/RESTRICTED.setting line 14␤  in block <unit> at <tmp> line 1␤␤»
21:49 IOninja *sigh*
21:50 hankache joined #perl6-dev
21:50 dogbert17 if I run that I get 'Could not find Inline::Perl5 at line 0 in:'
21:51 IOninja man the double negatives in that code annoys my Englishified brain -_-
21:51 IOninja in my $perl5 = not run($perlpath, '-e', 'exit !try { require Inline::Perl5 }');
21:51 IOninja say "Inline::Perl5 not installed: not running Perl 5 integration tests" if !$perl5;
21:52 IOninja dogbert17: no idea.
21:52 IOninja dogbert17: but the script that runs stuff is this one https://github.com/rakudo/rakudo/blob/nom/t/harness6#L26
21:52 jnthn gfldex: callsame looks for $*DISPATCHER, but by the time you actually enter the gather then the multi dir is no longer in dynamic scope
21:53 dogbert17 IOninja: yeah, will have to ponder this, very strange
21:53 jnthn gfldex: That'd be my first guess at what's going on, anyways
21:54 dogbert17 harness6 actually manages to run the p5 integration tests so
21:55 IOninja do they all pass tho?
21:56 dogbert17 oh yes
21:57 IOninja That sounds like it's using wrong perl6 (you have a system one installed with Inline::Perl5 maybe?) or maybe it pays attention to PERL6LIB env var that you got set or something like that
21:58 dogbert17 there might definitely be more than one perl6 on my system
21:58 gfldex jnthn: that leaves the question if it should work
22:01 jnthn lizmat: Hm, in the initial prototyping I did I had the thread that we inovke the .hyper/.race on play coordinator; it would then .push-exactly elements into the batch buffers and then hand them off to workers. That approach avoided the need to lock on the source iterator, which seemed a bit simpler
22:03 dogbert17 IOninja: there is som BS going on, even if I manipulate a test so that it should fail, harness6 still claims 'All tests successful.'
22:03 dogbert17 tried with S01-perl-5-integration/basic.t
22:04 jnthn gfldex: Yes, that's a more difficult question than I have brane for tonight. :)
22:04 jnthn But `my \target = callsame; gather for target { }` seems to work without trouble
22:04 dogbert17 this leads me to suspect that there's something buggy with the detection code (double negatives) you pointed to
22:05 IOninja dogbert17: did you remove the skip? https://github.com/perl6/roast/blob/master/S01-perl-5-integration/basic.t#L6
22:05 gfldex jnthn: nextcallee works too, as a workaround at least
22:05 dogbert17 no
22:06 jnthn gfldex: My initial gut feeling is "we can fix it" and "we probably should fix it" :)
22:07 jnthn Though I may be missing a reason why it's the way it is
22:08 jnthn lizmat: Will have to dig further through your gist tomorrow when I can think clearer.
22:11 dogbert17 IOninja: there must be a bug in the detection code, i.e. https://github.com/rakudo/rakudo/blob/nom/t/harness6#L26
22:11 Geth ¦ star: hankache++ created pull request #87: Update perl6intro.pdf
22:11 Geth ¦ star: review: https://github.com/rakudo/star/pull/87
22:14 gfldex m: my &dir = &::dir.assuming(:recursive);
22:14 camelia rakudo-moar 1132b1: OUTPUT: «No such method 'assuming' for invocant of type 'Callable'␤  in block <unit> at <tmp> line 1␤␤»
22:14 gfldex m: my &dir = (&::dir).assuming(:recursive);
22:14 camelia rakudo-moar 1132b1: OUTPUT: «No such method 'assuming' for invocant of type 'Callable'␤  in block <unit> at <tmp> line 1␤␤»
22:14 jnthn &OUTER::dir maybe?
22:15 gfldex m: my &dir = &OUTER::dir.assuming(:recursive);
22:15 camelia rakudo-moar 1132b1: ( no output )
22:15 gfldex m: say Package ~~ Callable
22:15 camelia rakudo-moar 1132b1: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Expected a term, but found either infix ~~ or redundant prefix ~␤  (to suppress this message, please use a space like ~ ~)␤at <tmp>:1␤------> 3say Package ~~7⏏5 Callable␤»
22:16 IOninja The `&` sigil makes the typecheck to callable
22:16 IOninja m: my &x =42
22:16 camelia rakudo-moar 1132b1: OUTPUT: «Type check failed in assignment to &x; expected Callable but got Int (42)␤  in block <unit> at <tmp> line 1␤␤»
22:16 IOninja m: my &x; &.assuming
22:16 camelia rakudo-moar 1132b1: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable &.assuming used where no 'self' is available␤at <tmp>:1␤------> 3my &x; &.assuming7⏏5<EOL>␤    expecting any of:␤        term␤»
22:16 gfldex now i'm getting „Cannot invoke this object (REPR: Uninstantiable; Callable)“
22:16 IOninja m: my &x; &x.assuming
22:16 camelia rakudo-moar 1132b1: OUTPUT: «No such method 'assuming' for invocant of type 'Callable'␤  in block <unit> at <tmp> line 1␤␤»
22:17 IOninja m: my &x; &x()
22:17 camelia rakudo-moar 1132b1: OUTPUT: «Cannot invoke this object (REPR: Uninstantiable; Callable)␤  in block <unit> at <tmp> line 1␤␤»
22:17 IOninja Check you got proper value up in it
22:17 dogbert17 is this code really correct?       my Str $perlpath = ~$*EXECUTABLE; my $perl5 = not run($perlpath, '-e', 'exit !try { require Inline::Perl5 }');
22:18 gfldex m: my &dir = &OUTER::dir.assuming(:recursive); dd &dir
22:18 camelia rakudo-moar 1132b1: OUTPUT: «Callable &dir = Callable␤»
22:18 IOninja m: my &dir = &OUTER::dir.assuming(:recursive); dd &dir.name
22:18 camelia rakudo-moar 1132b1: OUTPUT: «No such method 'name' for invocant of type 'Callable'␤  in block <unit> at <tmp> line 1␤␤»
22:18 IOninja It's not it
22:18 gfldex m: my &dir = &OUTER::dir; dd &dir
22:18 camelia rakudo-moar 1132b1: OUTPUT: «Callable &dir = Callable␤»
22:18 IOninja m: my &dir; dd &dir # the sigil alone makes it a Callable
22:18 camelia rakudo-moar 1132b1: OUTPUT: «Callable &dir = Callable␤»
22:19 gfldex m: dd &OUTER::dir;
22:19 camelia rakudo-moar 1132b1: OUTPUT: «Nil␤»
22:19 IOninja m: dd &CORE::dir;
22:19 camelia rakudo-moar 1132b1: OUTPUT: «Sub dir = sub dir (| is raw) { #`(Sub|49304880) ... }␤»
22:19 gfldex that should work
22:19 IOninja m: my &dir = &CORE::dir.assuming(:recursive); dd &dir.name
22:19 camelia rakudo-moar 1132b1: OUTPUT: «"__PRIMED_ANON"␤»
22:19 * IOninja eyes that name...
22:20 gfldex well, not in my case because I overloaded dir :)
22:21 IOninja .tell [Coke] I built 2017.02 Rakudo and old (a507fbb) zef commit and it still has those warnings. It makes me think there's something bustified in the ecosystem JSON
22:21 yoleaux2 IOninja: I'll pass your message to [Coke].
22:22 IOninja star: use LWP::Simple; use JSON::Fast; from-json(LWP::Simple.get: "http://ecosystem-api.p6c.org/projects.json").grep(*.<provides>.defined.not).elems.say
22:22 camelia star-m 2016.10: OUTPUT: «13␤»
22:22 IOninja 13 dists don't even got provides :(
22:22 pyrimidine joined #perl6-dev
22:26 samcv aww
22:27 Geth ¦ star: 67bf440345 | (Naoum Hankache)++ | docs/perl6intro.pdf
22:27 Geth ¦ star: Update perl6intro.pdf
22:27 Geth ¦ star: review: https://github.com/rakudo/star/commit/67bf440345
22:27 Geth ¦ star: 1beecd8f73 | (Zoffix Znet)++ | docs/perl6intro.pdf
22:27 Geth ¦ star: Merge pull request #87 from hankache/master
22:27 Geth ¦ star:
22:27 Geth ¦ star: Update perl6intro.pdf
22:27 Geth ¦ star: review: https://github.com/rakudo/star/commit/1beecd8f73
22:30 IOninja .ask ugexe would you know what 'causes these warnings? I built a few oldish commits and it seems the issue is somewhere in the ecosystem JSON, but I'm unsure what to look for; 13 dists don't have `provides` but it doesn't seem to be it: https://gist.github.com/zoffixznet/0fa97b3a4ae8bc6288b8740cb77261d1
22:30 yoleaux2 IOninja: I'll pass your message to ugexe.
22:30 * IOninja is done for the day
22:30 IOninja \o
22:31 timotimo META6::bin has a travis set up, but it doesn't have a t/ folder
22:31 timotimo but that project doesn't have anything in lib/ so it's okay for it to not have a provides section
22:32 timotimo unless we require an empty provides section in that case?
22:32 dogbert17 o/ timotimo
22:33 timotimo o/ dogbert
22:34 dogbert17 I'm pestering people here with harness6
22:34 IOninja .tell ugexe by "ecosystem JSON" I mean: http://ecosystem-api.p6c.org/projects.json
22:34 yoleaux2 IOninja: I'll pass your message to ugexe.
22:35 dogbert17 timotimo: is this the correct way to tell if a module is available?   my Str $perlpath = ~$*EXECUTABLE; my $perl5 = not run($perlpath, '-e', 'exit !try { require Inline::Perl5 }')
22:36 timotimo i'm the wrong person to ask perl5 stuff
22:36 timotimo i haven't written more than 5 lines of perl5 in my whole life
22:37 dogbert17 this is p6 code in harness6 which tries to detect if we have Inline::Perl5 in our lib path
22:37 timotimo oh, right
22:38 geekosaur it's not perl 5, certainly, $*EXECUTABLE would explode ($* followed by a bareword)
22:38 dogbert17 for me it seems to return the same answer regardless of which module I'm looking for
22:39 timotimo maybe that's covered by the lexical require changes that recently landed
22:39 dogbert17 it this code to be exact: https://github.com/rakudo/ra​kudo/blob/nom/t/harness6#L26
22:40 dogbert17 I think it is borked
22:40 IOninja dogbert17: oh, I'm dumb.
22:40 dogbert17 not as dumb as I am :)
22:41 IOninja Oh never mind. The double negative in that code bit me again....
22:41 IOninja But for a second I thought I had 2017.02 release active in my rakudobrew when I tried the perl6 -e 'dd not run($*EXECUTABLE, "-e", q|exit !try { require Inline::Perl5 }|)' line
22:41 IOninja (that is before lexical require)
22:41 dogbert17 do you agree that it is borked?
22:42 IOninja But it works and code makes sense. Dunno why it fails. Try placing strategic `dd` and debug variables? Maybe the real issue is that `say` simply doesn't get output
22:42 IOninja (because $*OUT is closed or something)
22:42 dogbert17 what happens if you change the code an try looking for a module that does not exist?
22:43 dogbert17 compared to one that does
22:43 IOninja oh yeah it is the issue after all
22:44 dogbert17 yay I'm not going insane after all
22:45 ugexe IOninja: oh yeah I forgot - that works for module names, not distribution names
22:45 yoleaux2 22:30Z <IOninja> ugexe: would you know what 'causes these warnings? I built a few oldish commits and it seems the issue is somewhere in the ecosystem JSON, but I'm unsure what to look for; 13 dists don't have `provides` but it doesn't seem to be it: https://gist.github.com/zoffixznet/0fa97b3a4ae8bc6288b8740cb77261d1
22:45 yoleaux2 22:34Z <IOninja> ugexe: by "ecosystem JSON" I mean: http://ecosystem-api.p6c.org/projects.json
22:45 dogbert17 dunno how to fix it though, what is the right way to do this?
22:45 ugexe the `zef locate zef`
22:46 ugexe would have to be zef locate Zef
22:46 ugexe or Zef::CLI etc
22:46 IOninja Ah
22:47 IOninja .tell [Coke] re warnings in zef: https://irclog.perlgeek.de/perl6-dev/2017-03-21#i_14303217
22:47 yoleaux2 IOninja: I'll pass your message to [Coke].
22:47 ugexe that link wasn't to any ecosystem warnigns though
22:48 ugexe or do you just mean that command gave you warnings for 13 dists from the ecosystem? (probably because dist name has no exact matching module name)
22:48 IOninja Well, it's just I didn't have them before and I built old commits so I figured it must've been in ecosystem, but I forgot to consider the command was wrong
22:48 IOninja star: use LWP::Simple; use JSON::Fast; from-json(LWP::Simple.get: "http://ecosystem-api.p6c.org/projects.json").grep(*.<provides>.defined.not).elems.say
22:48 camelia star-m 2016.10: OUTPUT: «13␤»
22:48 IOninja the 13 dists comment was from that ^
22:49 ugexe provides is mandatory, even if its empty
22:50 skids joined #perl6-dev
22:54 IOninja dogbert17: I'm working on it.. I'm just trying to figure out why perl5 harness doesn't have this issue
22:54 timotimo oh, ok
22:54 IOninja or rather it does have the issue, but why it's not reporting Inline::Perl5 as installed...
22:56 dogbert17 I see a difference between the two
22:56 IOninja Oh, I see it now too.
22:56 IOninja dogbert17++
22:59 Geth ¦ rakudo/nom: b15cd202fd | (Zoffix Znet)++ | t/harness6
22:59 Geth ¦ rakudo/nom: Fix incorrect detection of Inline::Perl5; dogbert17++
22:59 Geth ¦ rakudo/nom:
22:59 Geth ¦ rakudo/nom: The `try` was missing `1;` at the end and so was always reporting
22:59 Geth ¦ rakudo/nom: incorrectly.
22:59 Geth ¦ rakudo/nom:
22:59 Geth ¦ rakudo/nom: Fix by rewording code to avoid double-negatives and using more clear
22:59 Geth ¦ rakudo/nom: code to try if the module is installed.
22:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b15cd202fd
22:59 IOninja I think that fixes it?
23:00 dogbert17 IOninja++, will test before hitting the sack
23:03 Geth ¦ rakudo/nom: 28acf0bc98 | (Zoffix Znet)++ | t/harness6
23:03 Geth ¦ rakudo/nom: Use consistent kebob-case
23:03 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/28acf0bc98
23:07 IOninja hum... actually, if that was the reason, wouldn't it always claim that it *wasn't* found?
23:07 dogbert17 IOninja: it works :)
23:08 dogbert17 I believe the original code contained way to many negations
23:08 IOninja Indeed :)
23:09 dogbert17 it seems most of the harness6 bug have been ironed out (only knows of one more)
23:09 dogbert17 *bugs
23:11 IOninja My job's done then!
23:11 * IOninja flies away, cape flapping in the wind
23:11 timotimo i think there's still an extremely rare case it can segfault with
23:12 dogbert17 is it the thing jnthn suspect is a spesh bug?
23:12 timotimo hm, dunno
23:14 dogbert17 I think nwc10 has found an error but he had to run spectest around the clock in order for it to trigger
23:15 timotimo "cannot look up attributes in a * type object"
23:22 dogbert17 time for bed, good night
23:22 timotimo nite dogbert
23:53 pyrimidine joined #perl6-dev

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary