skids | gist.github.com/skids/18fa6fb1de77...6e82e9fcc2 # needs a lot of review. | 05:04 | |
[Tux] | This is Rakudo version 2017.03-13-g0c6281518 built on MoarVM version 2017.03-4-gfe1dc84a | 07:00 | |
csv-ip5xs 3.050 | |||
test 12.557 | |||
test-t 4.997 - 4.999 | |||
csv-parser 12.998 | |||
All tests successful. | 07:01 | ||
Files=29, Tests=22333, 18 wallclock secs ( 2.47 usr 0.14 sys + 58.56 cusr 1.26 csys = 62.43 CPU) | |||
Result: PASS | |||
samcv | pass is always good | 07:18 | |
[Tux], do you know if the time for the tests is graphed anywhere? | 07:19 | ||
[Tux] | dogbert17 is working on profiling | ||
huggable, speed | 07:20 | ||
huggable | [Tux], tux.nl/Talks/CSV6/speed4.html | ||
[Tux] | that is the graph. auto-updated on every test result | ||
samcv | yeah i know that one | 07:24 | |
i check it every once in a while | |||
Geth | roast: a03b2afa17 | (David Warring)++ | S02-types/array-shapes.t add basic tests on Z= shape filling irclog.perlgeek.de/perl6/2017-03-20#i_14297219 |
08:06 | |
roast: bc790e45bd | (Samantha McVey)++ | S05-modifier/ignorecase.t Add tests for /:i / regex matching of ligatures RT #126793 |
08:16 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126793 | ||
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 | (timeout) | ||
Geth | rakudo/nom: e5528ddf8d | (Elizabeth Mattijsen)++ | src/core/Thread.pm Give Thread a numeric representation So that "say +$*THREAD" actually works. Found during debugging some race/hyper prototype. |
08:54 | |
lizmat | m: say +$*THREAD | ||
camelia | Cannot resolve caller Numeric(Thread: ); none of these signatures match: (Mu:U \v: *%_) in block <unit> at <tmp> line 1 |
||
lizmat | should be fixed now | ||
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 | Array @a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | ||
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 | 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 ā¦ |
||
lizmat | afk for a few hours& | 09:30 | |
samcv | does anybody know what :pge stands for? see this line github.com/perl6/nqp/blob/master/t...egex.t#L84 | 10:38 | |
j: use nqp; say(nqp::atkey(nqp::backendconfig(), 'jvm')) | 10:47 | ||
camelia | java.lang.NullPointerException in block <unit> at <tmp> line 1 |
||
samcv | j: use nqp; say("'" ~ nqp::atkey(nqp::backendconfig(), 'jvm') ~ "'") | ||
camelia | java.lang.NullPointerException in block <unit> at <tmp> line 1 |
||
samcv | j: use nqp; my %hash = nqp::backendconfig(); say %hash<jvm> | 10:48 | |
camelia | (Any) | ||
samcv | j: use nqp; my %hash = nqp::backendconfig(); say %hash.keys | ||
camelia | (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) | ||
samcv | j: use nqp; my %hash = nqp::backendconfig(); say %hash<runtime.jars> | 10:49 | |
camelia | /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ā¦ | ||
samcv | j: use nqp; say nqp::existskey(nqp::backendconfig(), 'runtime.jars'); | 10:50 | |
camelia | 1 | ||
timotimo | samcv: maybe parrot grammar engine? | 10:53 | |
samcv | ah ok | ||
so i will rip it out then | |||
parrot has been fully removed from nqp right? | |||
timotimo | no | ||
only from rakudo | |||
jnthn | lizmat: You forgot to close the channel in your hanging example above | ||
samcv | k | ||
hmm it looks like it's todoing # todo :pugs<feature> :pge<feature> | 11:01 | ||
so if it is :pugs it will todo for moar | 11:02 | ||
timotimo | you're looking at some ancient code, i'd expect | ||
samcv | though i'm not sure why | ||
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/// | ||
er, i mean m// of course | |||
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 | ||
samcv | also how would it think that. weird | ||
timotimo | nah, i think it's only when the highliter thinks it's dealing with perl5 code | ||
samcv | ah | ||
timotimo | yeah, i'm kind of stumpd. at this point i'd print out some stuff in there ... | 11:06 | |
ideally with "note" so that the tap parser doesn't get surprised | |||
samcv | almost done updating all these files. olddd | 11:21 | |
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 | ||
camelia | 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ā¦ |
||
jnthn | nqp: say(nqp::getcomp('nqp').backend.name) # I think | ||
camelia | moar | ||
samcv | kk | 11:23 | |
j: use nqp; say(nqp::getcomp('nqp').backend.name) # I think | 11:24 | ||
camelia | Cannot call method 'backend' on a null object in block <unit> at <tmp> line 1 |
||
samcv | m: use nqp; say(nqp::getcomp('nqp').backend.name) # I think | ||
camelia | Cannot call method 'backend' on a null object in block <unit> at <tmp> line 1 |
||
samcv | nqp-j: use nqp; say(nqp::getcomp('nqp').backend.name) # I think | ||
camelia, help | |||
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> | ||
samcv | nqp-jvm: use nqp; say(nqp::getcomp('nqp').backend.name) # I think | 11:25 | |
camelia | Error occurred during initialization of VM Could not allocate metaspace: 1073741824 bytes |
||
timotimo | wow jesus | ||
samcv | oh well not gonna use that. gonna go with the way that is already working | ||
timotimo | okay, perhaps it's just broken in general | ||
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 |
||
samcv | night all | 11:40 | |
timotimo | night | ||
jnthn | 'night, samcv | 11:42 | |
masak .oO( Could not allocate meatspace ) | 11:45 | ||
[Coke] | timotimo: parrot was removed from nqp too. | 13:15 | |
(at least, I don't see it in src/vm) | 13:16 | ||
timotimo | huh, i thought we kept support for that | 13:17 | |
[Coke] | it was removed much later than from rakudo | 13:19 | |
Geth | rakudo: FCO++ created pull request #1046: Fix triangle reduction with listinfix ops |
18:12 | |
roast: FCO++ created pull request #258: Test triangle reduce with listinfix op. RT #131009 |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=131009 | ||
stmuk_ | pl6anet.org should be fixed now | 18:19 | |
IOninja | stmuk_++ | ||
lizmat | stmuk_++ # whee :-) | 18:22 | |
timotimo | nice | 18:24 | |
Geth | rakudo/nom: 16f950b305 | (Fernando Correa)++ | src/core/metaops.pm Fix triangle reduction with listinfix ops The triangle reduction was appending the data inside of a array and applying the op on that. It was changed to push the data and apply the op on that array with each item deconted. RT #131009 |
18:49 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=131009 | ||
Geth | rakudo/nom: 9584a6badd | lizmat++ | src/core/metaops.pm Merge pull request #1046 from FCO/reduce-triangule-listinfix Fix triangle reduction with listinfix ops |
||
rakudo/nom: 1132b1ac75 | (Elizabeth Mattijsen)++ | src/core/Semaphore.pm Use nqp::p6bool in lieu of ?? !! Since we optimized this case recently, this is faster. |
18:51 | ||
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 | ||
timotimo | OK | ||
just going through ?? T !! F in general? | |||
lizmat | well, apart from a loop with nqp::p6bool vs ?? True !! False | ||
no, actually I ran into it why checking up on a bunch of async stuff | 19:19 | ||
*while | |||
timotimo | OK | 19:20 | |
no complaint, just curious | |||
Geth | roast: fbe36ef8bf | (Fernando Correa de Oliveira)++ | S03-metaops/reduce.t Test triangle reduce with listinfix op. RT #131009 |
19:59 | |
roast: 2f73cfa64b | (Fernando Correa de Oliveira)++ | S03-metaops/reduce.t Merge pull request #258 from FCO/test-131009 Test triangle reduce with listinfix op. RT #131009 |
|||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=131009 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=131009 | ||
arnsholt | jnthn: Is it possible to make a REPR such that the assignment operator gets copying/value semantics? | 20:16 | |
[Coke] | ===> Searching for: DBIish | ||
Failed to update p6c mirror No such method 'IO' for invocant of type 'Any' | |||
lizmat | arnsholt: don't we have that already ? | 20:24 | |
pyrimidine | I've run into an odd issue with a ticket on RT, #130709 | 20:27 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130709 | ||
pyrimidine | It's essentially fixed (thanks to nine++ and llfourn++) but I can't close the ticket, nor even comment on it | 20:28 | |
It's weird | |||
can someone with perl6 RT privileges try closing it out? | 20:29 | ||
arnsholt | lizmat: I have no idea. Thus my asking =) | 20:38 | |
lizmat | arnsholt: I meant, isn't that the standard REPR ? | 20:39 | |
IOninja | pyrimidine, did the fix come with tests to cover the bug? | ||
arnsholt | No, that's not what I want | 20:40 | |
IOninja | [Coke], what versions of perl6/zef? | ||
arnsholt | What I'm looking for is where "$copy = $original; $original.mutate" does *not* change $copy | ||
pyrimidine | IOninja: did nine add 'require' tests for those fixes? I think he did... | ||
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 | ||
camelia | Int $original = 43 Int $copy = 42 |
||
lizmat | arnsholt: aren't you confusing binding with assignment ? | 20:42 | |
IOninja | pyrimidine: hm, it's failing to log me in from my phone :/ | 20:43 | |
[Coke] | 2017.03-13-g0c6281518 - I have no idea how to get zef version atm. | 20:46 | |
IOninja: ^^ | |||
'zef locate zef' gives zef:ver<0.1.4> - and a ton of warnings. | 20:47 | ||
IOninja | [Coke], does zef update work? | 20:49 | |
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 ecosystem-api.p6c.org/projects.json | ||
jnthn | arnsholt: What MoarVM misses so far is an "on-stack" (well, in-register :)) way of having complex values. | 20:52 | |
arnsholt: And of course, having to emulate that lot on the JVM will be mucho headache. | |||
IOninja | we should really stick that ecosystem URL onto HTTPS | 20:53 | |
sticking a bogus source for a module and what not. | 20:54 | ||
. | |||
arnsholt | jnthn: Right, right. At least it's a possibility | 20:58 | |
arnsholt goes back to pondering | |||
[Coke] | IOninja: zef update shows the errors; running it again does not show the errors. | 21:02 | |
zef locate zef still emits many 'use of Nil's however. | 21:03 | ||
lizmat | jnthn: a proof of concept for HyperMap / RaceMap: gist.github.com/lizmat/b76e88519b7...0941bb6e6a | 21:06 | |
jnthn: please let me know what you think of it | |||
samcv | ok cool. i can finally make JVM not be part of the allowed failures on travis | 21:12 | |
soon | |||
lizmat | afk for a few hours, maybe until tomorrow& | 21:13 | |
IOninja updates to HEAD to see if zef works... | 21:17 | ||
gfldex | are nextsame and callwith meant to be confused by being placed inside a gather block? | 21:19 | |
if the answer is "yes" that's a ENODOC | 21:20 | ||
I take that question back. | 21:29 | ||
IOninja | gfldex: don't think so... Do you have an example of the confusion? | ||
[Coke]: reproed the issue :} | 21:30 | ||
gfldex | nextsame never returns so a `gather for nextsame` wont work | ||
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 | Attempt to return outside of any Routine in block <unit> at <tmp> line 1 |
||
IOninja | heh | ||
gfldex: no idea. Maybe someone else knows the answer | 21:34 | ||
oh well, that `for` is incorrect, right; but the attempt to return thing is weird | |||
m: multi foo(Int $x) { state $s; if $x { $s = gather { 42.take; nextsame } } else { $s } }; multi foo($) {^10 }; foo 42; dd foo 0 | |||
camelia | Attempt to return outside of any Routine in block <unit> at <tmp> line 1 |
||
gfldex | m: class A { multi method m { 1 } }; class B { multi method m { callsame } }; say B.new.m; | 21:35 | |
camelia | Nil | ||
IOninja | [Coke]: and it seems rakudo problem >_< | 21:37 | |
IOninja builds a few commits to narrow it down | |||
gfldex | i take my backtaking back but only for callsame/callwith | 21:39 | |
dogbert17 | o/ anyone up for a stupid question | 21:40 | |
IOninja | Yes! | ||
dogbert17 | wrt running spectests | ||
gfldex | here is some code | ||
gist.github.com/gfldex/615a2926fe9...e3ba089a18 | |||
IOninja | As long as you agree to accept a stupid answer. | ||
dogbert17 | explain this | ||
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? | ||
IOninja surprised that doesn't infiniloop | |||
dogbert17 | make spectest HARNESS_TYPE=6 TEST_JOBS=4 ... t/spec/S01-perl-5-integration/class.rakudo.moar ................... ok | ||
IOninja, see the oddity? | 21:42 | ||
IOninja | Ah, it's `is IO::Path` | ||
gfldex | the commented out section works but I don't like the Slip business | ||
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? | ||
gather for |callsame() { | |||
dogbert17 | why does harness6 run the p5 integration tests while harness5 claims Inline::Perl5 is not installed? | ||
gfldex | doesn't help | ||
IOninja | gfldex: dunno then | ||
gfldex | the $_ inside the loop is Nil either way | 21:44 | |
m: dd Nil.Slip | |||
camelia | slip(Nil,) | ||
dogbert17 must be misunderstanding something here | |||
IOninja | dogbert17: dunno | 21:45 | |
is Inline::Perl5 installed? | |||
m: exit 42 | 21:46 | ||
camelia | ( no output ) | ||
IOninja | m: dd !try { require Inline::Perl5; 1 } | ||
camelia | Bool::True | ||
IOninja | m: use Inline::Perl5 | ||
camelia | ===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ā¦ |
||
IOninja | Riiight | ||
dogbert17 | is that good or bad :) | ||
IOninja | Bad | ||
Oh wait good | 21:47 | ||
dogbert17 | ? | ||
IOninja | Nevermind. Got confused by the ! | ||
dogbert17 | so bad then | ||
IOninja | dogbert17: so is it installed or not? | ||
dogbert17 | how do I know | ||
IOninja | ./perl6 -MInline::Perl5 -e '' | 21:48 | |
dogbert17 | not installed | ||
but that does not stop harness6 | 21:49 | ||
IOninja | m: run($*EXECUTABLE, '-e', 'exit !try { require Inline::Perl5 }') | ||
camelia | 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 |
||
IOninja | *sigh* | ||
dogbert17 | if I run that I get 'Could not find Inline::Perl5 at line 0 in:' | 21:50 | |
IOninja | man the double negatives in that code annoys my Englishified brain -_- | 21:51 | |
in my $perl5 = not run($perlpath, '-e', 'exit !try { require Inline::Perl5 }'); | |||
say "Inline::Perl5 not installed: not running Perl 5 integration tests" if !$perl5; | |||
dogbert17: no idea. | 21:52 | ||
dogbert17: but the script that runs stuff is this one github.com/rakudo/rakudo/blob/nom/...rness6#L26 | |||
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 | ||
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 | ||
dogbert17 | harness6 actually manages to run the p5 integration tests so | 21:54 | |
IOninja | do they all pass tho? | 21:55 | |
dogbert17 | oh yes | 21:56 | |
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:57 | |
dogbert17 | there might definitely be more than one perl6 on my system | 21:58 | |
gfldex | jnthn: that leaves the question if it should work | ||
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:01 | |
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 | |
tried with S01-perl-5-integration/basic.t | |||
jnthn | gfldex: Yes, that's a more difficult question than I have brane for tonight. :) | 22:04 | |
But `my \target = callsame; gather for target { }` seems to work without trouble | |||
dogbert17 | this leads me to suspect that there's something buggy with the detection code (double negatives) you pointed to | ||
IOninja | dogbert17: did you remove the skip? github.com/perl6/roast/blob/master...basic.t#L6 | 22:05 | |
gfldex | jnthn: nextcallee works too, as a workaround at least | ||
dogbert17 | no | ||
jnthn | gfldex: My initial gut feeling is "we can fix it" and "we probably should fix it" :) | 22:06 | |
Though I may be missing a reason why it's the way it is | 22:07 | ||
lizmat: Will have to dig further through your gist tomorrow when I can think clearer. | 22:08 | ||
dogbert17 | IOninja: there must be a bug in the detection code, i.e. github.com/rakudo/rakudo/blob/nom/...rness6#L26 | 22:11 | |
Geth | star: hankache++ created pull request #87: Update perl6intro.pdf |
||
gfldex | m: my &dir = &::dir.assuming(:recursive); | 22:14 | |
camelia | No such method 'assuming' for invocant of type 'Callable' in block <unit> at <tmp> line 1 |
||
gfldex | m: my &dir = (&::dir).assuming(:recursive); | ||
camelia | No such method 'assuming' for invocant of type 'Callable' in block <unit> at <tmp> line 1 |
||
jnthn | &OUTER::dir maybe? | ||
gfldex | m: my &dir = &OUTER::dir.assuming(:recursive); | 22:15 | |
camelia | ( no output ) | ||
gfldex | m: say Package ~~ Callable | ||
camelia | 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 |
||
IOninja | The `&` sigil makes the typecheck to callable | 22:16 | |
m: my &x =42 | |||
camelia | Type check failed in assignment to &x; expected Callable but got Int (42) in block <unit> at <tmp> line 1 |
||
IOninja | m: my &x; &.assuming | ||
camelia | 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 |
||
gfldex | now i'm getting āCannot invoke this object (REPR: Uninstantiable; Callable)ā | ||
IOninja | m: my &x; &x.assuming | ||
camelia | No such method 'assuming' for invocant of type 'Callable' in block <unit> at <tmp> line 1 |
||
IOninja | m: my &x; &x() | 22:17 | |
camelia | Cannot invoke this object (REPR: Uninstantiable; Callable) in block <unit> at <tmp> line 1 |
||
IOninja | Check you got proper value up in it | ||
dogbert17 | is this code really correct? my Str $perlpath = ~$*EXECUTABLE; my $perl5 = not run($perlpath, '-e', 'exit !try { require Inline::Perl5 }'); | ||
gfldex | m: my &dir = &OUTER::dir.assuming(:recursive); dd &dir | 22:18 | |
camelia | Callable &dir = Callable | ||
IOninja | m: my &dir = &OUTER::dir.assuming(:recursive); dd &dir.name | ||
camelia | No such method 'name' for invocant of type 'Callable' in block <unit> at <tmp> line 1 |
||
IOninja | It's not it | ||
gfldex | m: my &dir = &OUTER::dir; dd &dir | ||
camelia | Callable &dir = Callable | ||
IOninja | m: my &dir; dd &dir # the sigil alone makes it a Callable | ||
camelia | Callable &dir = Callable | ||
gfldex | m: dd &OUTER::dir; | 22:19 | |
camelia | Nil | ||
IOninja | m: dd &CORE::dir; | ||
camelia | Sub dir = sub dir (| is raw) { #`(Sub|49304880) ... } | ||
gfldex | that should work | ||
IOninja | m: my &dir = &CORE::dir.assuming(:recursive); dd &dir.name | ||
camelia | "__PRIMED_ANON" | ||
IOninja eyes that name... | |||
gfldex | well, not in my case because I overloaded dir :) | 22:20 | |
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]. | ||
IOninja | star: use LWP::Simple; use JSON::Fast; from-json(LWP::Simple.get: "ecosystem-api.p6c.org/projects.json....elems.say | 22:22 | |
camelia | 13 | ||
IOninja | 13 dists don't even got provides :( | ||
samcv | aww | 22:26 | |
Geth | star: 67bf440345 | (Naoum Hankache)++ | docs/perl6intro.pdf Update perl6intro.pdf |
22:27 | |
star: 1beecd8f73 | (Zoffix Znet)++ | docs/perl6intro.pdf Merge pull request #87 from hankache/master Update perl6intro.pdf |
|||
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: gist.github.com/zoffixznet/0fa97b3...0cb77261d1 | 22:30 | |
yoleaux2 | IOninja: I'll pass your message to ugexe. | ||
IOninja is done for the day | |||
\o | |||
timotimo | META6::bin has a travis set up, but it doesn't have a t/ folder | 22:31 | |
but that project doesn't have anything in lib/ so it's okay for it to not have a provides section | |||
unless we require an empty provides section in that case? | 22:32 | ||
dogbert17 | o/ timotimo | ||
timotimo | o/ dogbert | 22:33 | |
dogbert17 | I'm pestering people here with harness6 | 22:34 | |
IOninja | .tell ugexe by "ecosystem JSON" I mean: ecosystem-api.p6c.org/projects.json | ||
yoleaux2 | IOninja: I'll pass your message to ugexe. | ||
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:35 | |
timotimo | i'm the wrong person to ask perl5 stuff | 22:36 | |
i haven't written more than 5 lines of perl5 in my whole life | |||
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 | ||
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 | ||
timotimo | maybe that's covered by the lexical require changes that recently landed | 22:39 | |
dogbert17 | it this code to be exact: github.com/rakudo/raākudo/blob/nom...rness6#L26 | ||
I think it is borked | 22:40 | ||
IOninja | dogbert17: oh, I'm dumb. | ||
dogbert17 | not as dumb as I am :) | ||
IOninja | Oh never mind. The double negative in that code bit me again.... | 22:41 | |
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 | |||
(that is before lexical require) | |||
dogbert17 | do you agree that it is borked? | ||
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 | |
(because $*OUT is closed or something) | |||
dogbert17 | what happens if you change the code an try looking for a module that does not exist? | ||
compared to one that does | 22:43 | ||
IOninja | oh yeah it is the issue after all | ||
dogbert17 | yay I'm not going insane after all | 22:44 | |
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: gist.github.com/zoffixznet/0fa97b3...0cb77261d1 | ||
22:34Z <IOninja> ugexe: by "ecosystem JSON" I mean: ecosystem-api.p6c.org/projects.json | |||
dogbert17 | dunno how to fix it though, what is the right way to do this? | ||
ugexe | the `zef locate zef` | ||
would have to be zef locate Zef | 22:46 | ||
or Zef::CLI etc | |||
IOninja | Ah | ||
.tell [Coke] re warnings in zef: irclog.perlgeek.de/perl6-dev/2017-...i_14303217 | 22:47 | ||
yoleaux2 | IOninja: I'll pass your message to [Coke]. | ||
ugexe | that link wasn't to any ecosystem warnigns though | ||
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 | ||
star: use LWP::Simple; use JSON::Fast; from-json(LWP::Simple.get: "ecosystem-api.p6c.org/projects.json....elems.say | |||
camelia | 13 | ||
IOninja | the 13 dists comment was from that ^ | ||
ugexe | provides is mandatory, even if its empty | 22:49 | |
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 | ||
IOninja | or rather it does have the issue, but why it's not reporting Inline::Perl5 as installed... | ||
dogbert17 | I see a difference between the two | 22:56 | |
IOninja | Oh, I see it now too. | ||
dogbert17++ | |||
Geth | rakudo/nom: b15cd202fd | (Zoffix Znet)++ | t/harness6 Fix incorrect detection of Inline::Perl5; dogbert17++ The `try` was missing `1;` at the end and so was always reporting incorrectly. Fix by rewording code to avoid double-negatives and using more clear code to try if the module is installed. |
22:59 | |
IOninja | I think that fixes it? | ||
dogbert17 | IOninja++, will test before hitting the sack | 23:00 | |
Geth | rakudo/nom: 28acf0bc98 | (Zoffix Znet)++ | t/harness6 Use consistent kebob-case |
23:03 | |
IOninja | hum... actually, if that was the reason, wouldn't it always claim that it *wasn't* found? | 23:07 | |
dogbert17 | IOninja: it works :) | ||
I believe the original code contained way to many negations | 23:08 | ||
IOninja | Indeed :) | ||
dogbert17 | it seems most of the harness6 bug have been ironed out (only knows of one more) | 23:09 | |
*bugs | |||
IOninja | My job's done then! | 23:11 | |
IOninja flies away, cape flapping in the wind | |||
timotimo | i think there's still an extremely rare case it can segfault with | ||
dogbert17 | is it the thing jnthn suspect is a spesh bug? | 23:12 | |
timotimo | hm, dunno | ||
dogbert17 | I think nwc10 has found an error but he had to run spectest around the clock in order for it to trigger | 23:14 | |
timotimo | "cannot look up attributes in a * type object" | 23:15 | |
dogbert17 | time for bed, good night | 23:22 | |
timotimo | nite dogbert |