Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2015-08-20

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:06 rangerprice Perl 6 will have more features than Python ?
00:09 skids Heheh.  We don need no stinkin basics.
00:10 * skids cannot speak to what constitutes a "feature", or Python
00:12 flussence African or European python?
00:12 rangerprice Hahahaha
00:13 rangerprice Another question, Perl 6 will have a increased speed performance ?
00:13 flussence increased relative to what?
00:13 rangerprice relative to Perl 5
00:14 raiph joined #perl6
00:14 laouji joined #perl6
00:17 aborazmeh joined #perl6
00:17 aborazmeh joined #perl6
00:20 skids I think currently the answer is it depends on how many frameworks/modules you usually load into Perl5 to get things that are builtin to Perl6.
00:25 timotimo it depends drastically on what you're doing
00:25 timotimo if you have a very tight loop with numeric code and you use native integers, you can be quite a bit faster with rakudo + moarvm or rakudo + jvm
00:25 timotimo if you're doing something that parallelizes well and you have enough cores, you can end up faster than perl5 by a bit
00:26 timotimo the GLR will, once finished, improve performance related to lists quite a bit, which makes me quite excited every time i think about it :P
00:27 timotimo other than that, you'd really have to go on a case-by-case basis
00:28 timotimo i haven't done a run of the full benchmark suite in a long time
00:28 rangerprice Today perl 6 is a general purpose language. But why perl 6 is not specialized into a specific purpose ? like speed performance, concurrency, or system administration ?
00:28 timotimo and tux's Text::CSV stuff is always noticably slower in the perl 6 version compared to the different perl 5 versions :(
00:28 timotimo that's not the perl way :)
00:29 rangerprice Oh
00:38 laouji joined #perl6
00:40 llfourn joined #perl6
00:42 laouji joined #perl6
00:45 dnmfarrell joined #perl6
00:47 ugexe timotimo: zef works on nom and glr
00:50 timotimo that's excellent news!
00:54 timotimo https://p6weekly.wordpress.com/2015/08/20/2015-33-the-great-list-refactor-is-picking-up-lots-of-steam/  -  published
00:55 ugexe anyone with a .travis.yml  might want to add an appropriate line to test on GLR
00:57 ugexe timotimo++
00:57 timotimo i feel like i've forgotten a bunch of stuff, but that feeling's always there anyway
01:03 timotimo zef takes quite a bit longer to install than panda does :P
01:03 dnmfarrell Hey all I'm trying to create a pseudopod grammar with an "=include" token that has a filepath to another .pod file. I want the grammar to parse that pod file and insert the match object to the current parse tree. Is that possible? Here's what i've got so far: "token include {   ^^\=include \h+ <singleline_text> \n   {     $/.make(self.parsefile(       $/<singleline_text>, :actions($*ACTIONS)     ));    }    }"
01:04 timotimo huh
01:04 arnsholt I'd do it as an action
01:04 timotimo ugexe: i didn't end up with a "zef" binary in the folder it's supposed to end up in
01:04 timotimo you may want to .ast after the ) belonging to parsefile
01:05 timotimo oh
01:05 timotimo you want the match object
01:05 timotimo that's okay then
01:05 arnsholt Just an action method for the include directive, which can "make PseudoPod.parsefile(...)"
01:06 dnmfarrell arnsholt: but the action method is more to do with transformation pod --> html, pod --> markdown etc. The "include" directive is part of the grammar
01:08 arnsholt Aha, in that case I don't have any terribly good ideas
01:08 dnmfarrell I guess I could do it that way, but then i'd have to have the "include" action class everywhere I used the grammar. Hmm, maybe that's a pragmatic way forward...
01:08 arnsholt Except maybe factor it so that you can use the actions to build the AST, and have a separate AST transformer to convert it to different formats
01:09 dalek rakudo-star-daily: 6956f2b | coke++ | log/MoarVM- (5 files):
01:09 dalek rakudo-star-daily: today (automated commit)
01:09 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/6956f2b1ac
01:12 ugexe the zef process takes so long because the test suite builds and test itself
01:12 timotimo mhm
01:14 ugexe thanks for the tip on the bin though... that seems to change daily
01:14 timotimo oh?
01:15 pecastro joined #perl6
01:17 ugexe usually related to hyperoperators it seems.
01:19 Sgeo_ joined #perl6
01:19 ugexe yea... i have something like $*CWD.child("bin").ls(:f, :r).grep(!*.starts-with(".")) which shoes the bin, but tacking on a >>.IO does nothing (iterator>>.IO)
01:20 ugexe shoes/shows
01:23 robinsmidsrod joined #perl6
01:26 dnmfarrell hmm is it possible to inject the parsed pod from =include into $/.CURSOR?
01:26 ugexe fixed anyway though. thanks
01:31 skids my %a = { :a, :b, :c }; %a.pairs>>.say.say; # >>. being somewhat broken is behind a few GLR test failures as well.
01:31 skids erg.
01:31 skids m: my %a = { :a, :b, :c }; %a.pairs>>.say.say; # >>. being somewhat broken is behind a few GLR test failures as well.
01:31 GLRelia rakudo-moar 7880bb: OUTPUT«␤»
01:31 camelia rakudo-moar 93418e: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/4sIayVILz7:1␤␤»
01:32 skids Oh heh, I found something broken two ways on both bots.
01:33 skids That one is reaking S02-types/isDEPRECATED at the very least.
01:37 ShimmerFairy dnmfarrell: are you aware of the P<> formatting code? It's meant to embed things into a Pod file, like standardized copyright info for instance. If you want to make something like =include , you could possibly look into spelling it as P<>
01:39 dnmfarrell ShimmerFairy: no I'm not, P<> is a Perl6 pod formatting code?
01:39 ShimmerFairy It would have the advantage of being compatible with regular Pod6, if nothing else :)  (though rakudo's current parser doesn't support it, sadly)
01:39 dnmfarrell ah
01:39 ShimmerFairy dnmfarrell: yes, you can see here: http://design.perl6.org/S26.html#Placement_links
01:41 dnmfarrell I wonder why it's a formatting code and not a command block. That could create issues if it pointed at a pod file containing command blocks but it was in the middle of a paragraph
01:42 dnmfarrell I guess you could inject blank lines
01:45 ShimmerFairy dnmfarrell: it is interesting, I'll admit, but I think the idea is that it's the "opposite" of a L<> code; instead of pointing you out of the document, it pulls something into the document.
01:45 dayangkun joined #perl6
01:45 dnmfarrell Yeah, very curious, thanks for the link!
01:45 ShimmerFairy dnmfarrell: the example S26 gives for P<> isn't formatted very clearly, but putting P<> as its own paragraph is exactly what's demonstrated
01:45 ShimmerFairy You're welcome. I don't know for sure what your plans are with =include, but I just wanted to point out that something like what you were going for is already specified in the design docs :)
01:47 dnmfarrell I'm writing a pseudopod extension for Perl5 pod https://github.com/dnmfarrell/Pod-Perl5/blob/master/lib/Pod/Perl5/PerlTricks/Grammar.pm
01:47 ShimmerFairy And for what it's worth I think a directive would be clearer (though I guess the more Perl6-y name would be =use :P), however P<> seems harmless enough to let stay in the spec. (P<toc:> for a table of contents looks especially useful)
01:49 ShimmerFairy dnmfarrell: interesting, is it an extension for Pod6 or Pod5? (pseudopod, looking quickly, is for books and such, right?)
01:49 ShimmerFairy If Pod5, interesting choice writing it in Perl 6 :)
01:50 dnmfarrell Well version 0.1 was in Pod::Pseudopod, 'twas a painful experience
01:50 dnmfarrell Pod::Simple literally has a module called "black box"
01:50 dnmfarrell Writing it in Perl 6 was just so much easier. But now I want more features, hence the extension :)
01:52 ShimmerFairy dnmfarrell: well, if you're ever adding a Pseudopod-like thing for Pod6, I'd be interested. I'm actually in the middle of writing a replacement Pod6 parser for rakudo (not public yet, but hopefully soon), so Pod6 design question will be on my mind for a while :)
01:52 ShimmerFairy *questions
01:53 dnmfarrell Interesting ... maybe I should just use Pod6 :) Is there much left to implement of the spec?
01:54 ShimmerFairy dnmfarrell: unfortunately, I would say so. P<> like I said isn't supported, and neither is M<> (M<> is a tag meant for modules to plug in whatever formatting code they want, e.g. M<mymodule:stuff> is meant to generate a specific class with "stuff")
01:55 ShimmerFairy dnmfarrell: If you want to play around with Pod6, then it's perfectly fine. But if you have Serious Documentation™ in Pod5, I wouldn't fully switch that stuff over just yet.
01:57 dnmfarrell ShimmerFairy: thanks for the info. I'm going re-read the Pod6 spec, I think there are some ideas I can borrow for my project :)
01:57 ShimmerFairy Looking at the Pseudopod tutorial, that T<> tag for citation would be implemented as M<citation:my-source> , as an example.
01:57 ShimmerFairy dnmfarrell: it's worth a read for sure :)
02:00 ShimmerFairy Also, G<> and H<> would be M<sup:> and M<sub:>, respectively. The idea of the M<> is that M<Foo:stuff> would generate an object of type Pod::FormattingCode::Named::Foo, in case you're curious :)
02:03 cognominal joined #perl6
02:18 Kyun joined #perl6
02:22 abaugher joined #perl6
02:27 noganex joined #perl6
02:35 kaare_ joined #perl6
02:38 llfourn joined #perl6
02:43 jack_rabbit joined #perl6
03:03 TEttinger joined #perl6
03:03 jack_rabbit joined #perl6
03:05 [Sno] joined #perl6
03:14 CQ_ joined #perl6
03:17 jnthn good...whatever time this is...#perl6 :)
03:17 yoleaux 19 Aug 2015 19:06Z <nine> jnthn: what is .flat actually supposed to mean? Array has a flat method that does Seq.new(self.iterator) while inheriting .iterator from List. List itself on the other hand does not use its own iterator for .flat and inherits Iterable's instead.
03:17 cognominal joined #perl6
03:19 jnthn .tell nine because an Array is a bunch of Scalar containers, we know that nothing will ever flatten, so instead of type-testing everything against Iterable we simply just give back an iterator over the values (and if you use binding to defeact that and put an Iterable directly in there, on your own head be it)
03:19 yoleaux jnthn: I'll pass your message to nine.
03:35 skids jnthn: should Array not allow BIND-POS of uncontainerized things then?  It's been unclear to me how strongly it polices Scalars, whether that was always or just via the iteration related APIs.
03:36 abaugher I have a hash that's hitting my RAM limits. Is there a way to tie a hash to a file, like the old dbm routines or DB_File?
03:37 jnthn skids: It doesn't police it that strongly.
03:38 jnthn skids: We've long had := as being fairly low level
03:38 jnthn skids: The only place it enforces it is assignment.
03:38 skids OK.
03:38 jnthn blunchfast &
03:39 skids Yum.  Though as a word, perhaps does not inspire appetite :-)  enjoy.
03:44 aborazmeh joined #perl6
03:44 aborazmeh joined #perl6
03:45 Loren_ joined #perl6
04:04 dalek doc: 59e885d | skids++ | lib/Language/containers.pod:
04:04 dalek doc: Add an admonition against uncontainerized binding to array elements
04:04 dalek doc: review: https://github.com/perl6/doc/commit/59e885d83f
04:08 abaugher joined #perl6
04:26 laouji joined #perl6
05:12 ugexe smoke testing ecosystem on glr to testers.perl6.org. it doesnt look too bad so far
05:23 araujo joined #perl6
05:29 Kyun_ joined #perl6
05:37 rurban_ joined #perl6
05:46 rurban joined #perl6
06:05 diana_olhovik_ joined #perl6
06:08 xinming joined #perl6
06:11 moritz abaugher: there's certainly nothing in core; you could take a look at modules.perl6.org if something already exists
06:13 dayangkun joined #perl6
06:13 masak morning, #perl6
06:13 * masak .oO( "<+dalek> doc: Add an abonimation" )
06:16 lizmat moritz masak o/
06:16 dalek rakudo/glr: 2a79bce | moritz++ | src/core/metaops.pm:
06:16 dalek rakudo/glr: Fix right-assoc reduce meta op
06:16 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2a79bce2b2
06:16 moritz \o lizmasak
06:16 lizmat .oO( all of a suddent, that sounds very japanese :-)
06:18 * masak .oO( arre-gateaux )
06:21 lizmat :-)
06:26 lizmat m: my @a = 1,2,3; say @a.sort>>.Str
06:26 GLRelia rakudo-moar 2a79bc: OUTPUT«␤»
06:26 camelia rakudo-moar 93418e: OUTPUT«1 2 3␤»
06:27 lizmat m: my @a = 1,2,3; say @a.sort.WHAT
06:27 GLRelia rakudo-moar 2a79bc: OUTPUT«(Seq)␤»
06:27 camelia rakudo-moar 93418e: OUTPUT«(Parcel)␤»
06:27 lizmat seems like doing a >> on a Seq is not working
06:31 moritz m: say (1, 2, 3).sort.List.perl
06:31 GLRelia rakudo-moar 2a79bc: OUTPUT«(1, 2, 3)␤»
06:31 camelia rakudo-moar 93418e: OUTPUT«(1, 2, 3)␤»
06:32 moritz looks like deepmap wasn't really GLRd yet
06:37 domidumont joined #perl6
06:41 domidumont joined #perl6
06:42 jdv79 didn't jnthn mention hyper wasn't fleshed out yet?
06:43 jdv79 even in that gist maybe
06:44 masak there's a gist?
06:44 nine jdv79: I fixed up most of hyper yesterday.
06:44 yoleaux 03:19Z <jnthn> nine: because an Array is a bunch of Scalar containers, we know that nothing will ever flatten, so instead of type-testing everything against Iterable we simply just give back an iterator over the values (and if you use binding to defeact that and put an Iterable directly in there, on your own head be it)
06:44 nine jnthn: thanks for clarification :)
06:46 nine I guess I should have a look at Hash stuff next. It does have some strangeness to it. And I'm not particularly fond of Hash((:a(1))) running into an endless loop...
06:48 jdv79 i meant the thing glr was before it was in the repo
06:51 JimmyZ that is about .hyper()
06:51 JimmyZ vs .race()
06:53 jdv79 >> is hyper , no?
06:54 JimmyZ it is hyper op
06:56 JimmyZ I think you mean  threaded hyper :)
06:56 xfix joined #perl6
06:57 jdv79 when iis it not?
06:58 nine moritz++ # down to 209 failing files
07:02 [Sno] joined #perl6
07:03 araujo_ joined #perl6
07:03 abraxxa joined #perl6
07:04 laben timotimo++ for newest p6weekly
07:04 laben \o/ hello there #perl6
07:04 lizmat indeed, timotimo++
07:04 lizmat laben o/
07:05 araujo_ joined #perl6
07:05 nine laben: sorry it took you so long to find the s/:=/=/ fix for the weird named return value thingy in panda. I've had the patch locally already :/
07:07 laben nine: O.o well, no worries. at least i knew what to do when i got to the other file
07:07 JimmyZ https://github.com/rakudo/rakudo/commit/e9911c01b2a54512da8a03f018fd345ddc12ce2b#diff-c1b40d138bbe6e0c822036ad326487ddR156 # Does this need s/=/:=/, I see only here is not :=
07:07 laben nine: could you check the >> not iterating over Seq thing?
07:08 nine laben: I can have a look this evening
07:08 JimmyZ I mean in the metaops.pm
07:09 laben nine: it could very well fix some problem the modules have (e.g. Shell::Command) without needing to change them to .map
07:13 nine laben: that's why I stopped looking at panda and focused on rakudo instead. I'd much rather fix the underlying issues than commit workarounds :)
07:17 espadrine joined #perl6
07:18 laben m: dd [(), 1, 2]
07:18 GLRelia rakudo-moar 2a79bc: OUTPUT«[$(), 1, 2]␤»
07:18 camelia rakudo-moar 93418e: OUTPUT«$ = [1, 2]␤»
07:18 lizmat I know that fixing Sec>>.method will fix at least the Deprecation tests failures
07:19 lizmat m: dd [slip(), 1, 2]
07:19 GLRelia rakudo-moar 2a79bc: OUTPUT«[1, 2]␤»
07:19 camelia rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Dt1NPE_hIA␤Undeclared routine:␤    slip used at line 1. Did you mean 'flip'?␤␤»
07:19 nine Well it can't be that hard, can it? :)
07:19 lizmat () is not a slip()
07:19 nine m: dd [Slip(), 1, 2]
07:19 GLRelia rakudo-moar 2a79bc: OUTPUT«[Slip(Any), 1, 2]␤»
07:19 camelia rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/HbXd_54rsu␤Undeclared name:␤    Slip used at line 1␤␤»
07:20 laben is it expected that the empy list doesn't get flattened/purged away?
07:20 nine laben: yes, we have much less implicit flattening now
07:20 lizmat laben: after GLR, I think that's the case
07:20 laben ok
07:21 dalek rakudo/glr: 9c599b4 | (Jimmy Zhuo)++ | src/core/metaops.pm:
07:21 dalek rakudo/glr: s/=/:=/
07:21 dalek rakudo/glr:
07:21 dalek rakudo/glr: There are many similar code use :=, so no reason here is not :)
07:21 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/9c599b412f
07:21 dalek rakudo/glr: 1fbbd02 | lizmat++ | src/core/metaops.pm:
07:21 dalek rakudo/glr: Merge pull request #503 from zhuomingliang/patch-3
07:21 dalek rakudo/glr:
07:21 dalek rakudo/glr: s/=/:=/, there are many similar code use :=, so no reason here is not :)
07:21 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/1fbbd02296
07:24 laben m: my @a = [(), 1, 2]; @a = @a>>.flat; dd @a
07:24 GLRelia rakudo-moar 2a79bc: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/O2piGqHabL:1␤␤»
07:24 camelia rakudo-moar 93418e: OUTPUT«@a = [[1, 2]]<>␤»
07:25 laben m: my @a = [(), 1, 2]; @a = @a.map(*.flat); dd @a
07:25 camelia rakudo-moar 93418e: OUTPUT«@a = [1, 2]<>␤»
07:25 GLRelia rakudo-moar 2a79bc: OUTPUT«@a = [().iterator, (1).iterator, (2).iterator]␤»
07:25 laben m: my @a = [(), 1, 2]; @a = @a.map(flat *); dd @a
07:25 GLRelia rakudo-moar 2a79bc: OUTPUT«Cannot call map(Array: List); none of these signatures match:␤    ($: &block, *%_)␤    (HyperIterable:D $: &block, *%_)␤  in block <unit> at /tmp/pOu1UepTbj:1␤␤»
07:25 camelia rakudo-moar 93418e: OUTPUT«Cannot call map(Array: Whatever); none of these signatures match:␤    ($: Whatever, *%_)␤    ($: &block, :$label, *%_)␤  in block <unit> at /tmp/_heb95EsU2:1␤␤»
07:25 laben m: my @a = [(), 1, 2]; @a = @a.map(flat $_); dd @a
07:25 GLRelia rakudo-moar 2a79bc: OUTPUT«Cannot call map(Array: List); none of these signatures match:␤    ($: &block, *%_)␤    (HyperIterable:D $: &block, *%_)␤  in block <unit> at /tmp/MAeYxmgzx1:1␤␤»
07:25 camelia rakudo-moar 93418e: OUTPUT«Cannot call map(Array: Any); none of these signatures match:␤    ($: Whatever, *%_)␤    ($: &block, :$label, *%_)␤  in block <unit> at /tmp/C_brXa_8LT:1␤␤»
07:25 laben m: my @a = [(), 1, 2]; @a = @a.map({flat $_}); dd @a
07:25 GLRelia rakudo-moar 2a79bc: OUTPUT«@a = [$($()), $(1), $(2)]␤»
07:25 camelia rakudo-moar 93418e: OUTPUT«@a = [[1, 2]]<>␤»
07:26 woolfy joined #perl6
07:26 woolfy left #perl6
07:26 dalek rakudo/glr: 7b80988 | (Stefan Seifert)++ | src/core/Hash.pm:
07:26 dalek rakudo/glr: Fix endless recursion in Hash coercer
07:26 dalek rakudo/glr:
07:26 dalek rakudo/glr: Fixes hang in Hash((:a)) and (:a).Hash
07:26 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/7b80988a41
07:26 nine That was easy :)
07:29 lizmat :-)
07:30 laben is there an easy way to remove that empty list when already in an array?
07:30 laben or do i need not to generate it at all?
07:33 darutoko joined #perl6
07:33 Ven joined #perl6
07:33 dalek roast: d0f48cd | (Jimmy Zhuo)++ | integration/advent2012-day10.t:
07:33 dalek roast: .lines returns Seq now, so fix the test.
07:33 dalek roast: review: https://github.com/perl6/roast/commit/d0f48cde65
07:33 JimmyZ ^^ please review :)
07:34 virtualsue joined #perl6
07:34 JimmyZ not whether we also need to fix  https://perl6advent.wordpress.com/2012/12/10/day-10-dont-quote-me-on-it/ or not
07:35 JimmyZ sorry , wrong branch
07:36 lizmat JimmyZ: d0f48cd doesn't feel right to me, fwiw
07:37 lizmat feels like a workaround for a deeper issue
07:37 lizmat that needs to be fixed
07:39 dalek roast: 5a54795 | (Jimmy Zhuo)++ | integration/advent2012-day10.t:
07:39 dalek roast: Revert ".lines returns Seq now, so fix the test."
07:39 dalek roast:
07:39 dalek roast: This reverts commit d0f48cde653fa3add9c4434f5363d475a76638aa.
07:39 dalek roast: review: https://github.com/perl6/roast/commit/5a5479553d
07:40 lizmat m: my @a = (1,2,3).map(*.Str); dd @a   # works as expected
07:40 GLRelia rakudo-moar 7b8098: OUTPUT«@a = ["1", "2", "3"]␤»
07:40 camelia rakudo-moar 93418e: OUTPUT«@a = ["1", "2", "3"]<>␤»
07:40 lizmat m: my ($a,@a) = (42,(1,2,3).map(*.Str)); dd $a, @a  # something wrong here
07:40 GLRelia rakudo-moar 7b8098: OUTPUT«$a = 42␤This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/hJYioNhZeq:1␤␤»
07:40 camelia rakudo-moar 93418e: OUTPUT«$a = 42␤@a = ["1", "2", "3"]<>␤»
07:41 JimmyZ hmm, look like it is
07:45 RabidGravy joined #perl6
07:45 Ven joined #perl6
07:49 nine lizmat: FWIW I've committed similiar spec test changes where we return a Seq now and this was compared with is-deeply. I don't see any other way than .List it before the comparison. We definitly want it to be a Seq and is-deeply rightfully complains that it's not a list.
07:50 nine lizmat: I may be wrong there, but that's as far as my understanding of the GLR goes.
07:52 JimmyZ m: my ($a,@a) = (42,(1,2,3).map(*.Str)); say @a.WHAT
07:52 GLRelia rakudo-moar 7b8098: OUTPUT«(Array)␤»
07:52 camelia rakudo-moar 93418e: OUTPUT«(Array)␤»
07:53 JimmyZ m: my ($a,@a) = (42,(1,2,3).map(*.Str)); dd @a
07:53 GLRelia rakudo-moar 7b8098: OUTPUT«This Seq has already been iterated, and its values consumed␤  in block <unit> at /tmp/NytjYLdwsd:1␤␤»
07:53 camelia rakudo-moar 93418e: OUTPUT«@a = ["1", "2", "3"]<>␤»
07:55 abraxxa joined #perl6
08:22 laouji joined #perl6
08:22 masak m: say Seq ~~ List
08:22 GLRelia rakudo-moar 7b8098: OUTPUT«False␤»
08:22 camelia rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/66hAvrtyZs␤Expected a term, but found either infix ~~ or redundant prefix ~␤  (to suppress this message, please use a space like ~ ~)␤at /tmp/66hAvrtyZs:1␤------> 3say Seq ~~7⏏5 List␤»
08:22 masak heh.
08:27 nine lizmat: nice coincidence. Fixing >> will mean to just continue where I left off yesterday, i.e. HYPER(\op, \obj)
08:30 masak m: repeat -> $thing { say $thing.^name } while False
08:30 GLRelia rakudo-moar 7b8098: OUTPUT«Mu␤»
08:30 camelia rakudo-moar 93418e: OUTPUT«Mu␤»
08:31 masak "Since the loop executes once before evaluating the condition, the bound parameter will be undefined that first time through the loop."
08:31 masak "undefined" is kinda vague there. doesn't say whether it'd be Any or Mu.
08:31 lizmat nine: but I won't be doing, as we're off to YAPC::Asia first evening talks / prereg / social
08:32 laben masak: yesterday i went and made a patch to make ufo compatible with glr too https://gist.github.com/bfac93f00649f1609ec2
08:33 masak laben: if you send a PR, I will merge it.
08:46 laben masak: https://github.com/masak/ufo/pull/27
08:50 masak merged.
08:50 masak m: my %h = <a b c> Z 1, 2, 3; say %h.perl
08:50 GLRelia rakudo-moar 7b8098: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/QQ6G8MWJuU:1␤␤»
08:50 camelia rakudo-moar 93418e: OUTPUT«{:a(1), :b(2), :c(3)}<>␤»
08:51 laben m: my %h = <a b c> Z=> 1, 2, 3; say %h.perl
08:51 GLRelia rakudo-moar 7b8098: OUTPUT«{:a(1), :b(2), :c(3)}␤»
08:51 camelia rakudo-moar 93418e: OUTPUT«{:a(1), :b(2), :c(3)}<>␤»
09:05 zakharyas joined #perl6
09:11 rarara joined #perl6
09:14 nine lizmat: oh, I meant that I would continue myself. Planned for this evening :)
09:14 nine masak: that's because you get an iterator from Z
09:15 nine m: say (<a b c> Z (1, 2, 3)).perl
09:15 GLRelia rakudo-moar 7b8098: OUTPUT«(("a", 1), ("b", 2), ("c", 3)).iterator␤»
09:15 camelia rakudo-moar 93418e: OUTPUT«(("a", 1), ("b", 2), ("c", 3))␤»
09:18 laben is it possible to conditionally define a sub? i tried inside an if, but it doesnt work, even in a BEGIN block
09:20 nine Oh, but EnumMap.STORE already takes an iterable. Just not an iterator
09:22 espadrine joined #perl6
09:22 nine laben: I really have to ask why you would want to do this...
09:23 timotimo o/
09:25 JimmyZ m: my &foo = sub(@a) { ... } without &foo
09:25 camelia rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jcLdArHU4H␤Variable '@a' is not declared␤at /tmp/jcLdArHU4H:1␤------> 3my &foo = sub(7⏏5@a) { ... } without &foo␤»
09:25 GLRelia rakudo-moar 7b8098: OUTPUT«5===SORRY!5=== Error while compiling /tmp/yVSC0R30Mj␤Variable '@a' is not declared␤at /tmp/yVSC0R30Mj:1␤------> 3my &foo = sub(7⏏5@a) { ... } without &foo␤»
09:25 JimmyZ m: my &foo = -> @a { ... } without &foo
09:25 GLRelia rakudo-moar 7b8098: ( no output )
09:25 camelia rakudo-moar 93418e: ( no output )
09:25 laben nine: slip did not exist before glr and i need it for a change in panda
09:25 timotimo i'm glad people appreciate the weekly even if it's late and written with a headached and tired brane :)
09:25 laben nine: wanted to keep retrocompat
09:26 JimmyZ m: sub foo(@a) { ...} ; my &foo = -> @a { ... } without &foo
09:26 GLRelia rakudo-moar 7b8098: OUTPUT«Potential difficulties:␤    Redeclaration of symbol &foo␤    at /tmp/c26fHE1gmA:1␤    ------> 3sub foo(@a) { ...} ; my &foo7⏏5 = -> @a { ... } without &foo␤»
09:26 camelia rakudo-moar 93418e: OUTPUT«Potential difficulties:␤    Redeclaration of symbol &foo␤    at /tmp/kiMNNbXcPt:1␤    ------> 3sub foo(@a) { ...} ; my &foo7⏏5 = -> @a { ... } without &foo␤»
09:26 jdv79 nine: how do you get your fail count?
09:26 jdv79 oh, nm - its back a bit in buffer
09:27 jdv79 i fail 296
09:27 jdv79 maybe because i used TEST_JOBS=4?
09:27 nine masak: ok, the real problem is that Z returns ("a", 1), ("b", 2), ("c", 3) which is no longer automatically flattened before the assignment to %h
09:28 timotimo so it's trying to build ("a", 1) => ("b", 2)?
09:28 nine m: my %h = flat <a b c> Z (1, 2, 3); say %h;
09:28 GLRelia rakudo-moar 7b8098: OUTPUT«a => 1, b => 2, c => 3␤»
09:28 camelia rakudo-moar 93418e: OUTPUT«a => 1, b => 2, c => 3␤»
09:28 nine timotimo: yes, and the ("c", 3) is the single element left
09:28 nine m: my %h = <a b> Z (1, 2); say %h;
09:28 GLRelia rakudo-moar 7b8098: OUTPUT«a 1 => b 2␤»
09:28 camelia rakudo-moar 93418e: OUTPUT«a => 1, b => 2␤»
09:28 timotimo mhm
09:29 nine I'd say that works as expected?
09:31 masak "Thank you - this FETCH & STORE structure was what I was looking for. Kind of ugly though" -- http://stackoverflow.com/questions/31665384/how-does-one-write-custom-accessor-methods-in-perl6
09:31 masak this mirrors my feelings about Proxy quite well :)
09:32 masak "what I was looking for. kind of ugly" :)
09:32 telex joined #perl6
09:32 masak m: my %h = flat <a b c> Z 1, 2, 3; say %h.perl
09:32 GLRelia rakudo-moar 7b8098: OUTPUT«{:a(1), :b(2), :c(3)}␤»
09:32 camelia rakudo-moar 93418e: OUTPUT«{:a(1), :b(2), :c(3)}<>␤»
09:32 masak that works, too.
09:33 jdv79 masak : what would be better?
09:34 nine jdv79: I use TEST_JOBS=16
09:35 nine jdv79: I past the spec test output into a cat | grep Wstat | wc -l to count the failing files
09:36 jdv79 ah
09:36 nine jdv79: am I missing some using this method?
09:37 jdv79 i don' think so
09:37 jdv79 i read the output wrong
09:37 jdv79 i'll check
09:40 laben m: say ::<&slip>:exists
09:40 GLRelia rakudo-moar 7b8098: OUTPUT«True␤»
09:40 camelia rakudo-moar 93418e: OUTPUT«False␤»
09:47 araujo joined #perl6
09:48 jdv79 whatups with hotels and wifi.  you'd think these days it'd be a solved thing...
09:49 araujo joined #perl6
09:52 nine jdv79: if only...
09:52 nine jdv79: are you on the glr branch of roast in addition to rakudo?
09:52 jdv79 yes
09:53 nine ok...may have been a simple explanation :)
09:53 jdv79 209?
09:53 jdv79 is that correct?
09:53 nine yep :)
09:53 jdv79 nie
09:53 jdv79 *nice
10:00 FROGGS o/
10:00 yoleaux 19 Aug 2015 14:04Z <AlexDaniel> FROGGS: I've been waiting for this! So how does it work now? “<timotimo> froggs changed things in order to make them work differently with regards to output grabbing”
10:00 yoleaux 19 Aug 2015 14:05Z <AlexDaniel> FROGGS: I mean, qx// and run.
10:00 yoleaux 19 Aug 2015 14:31Z <laben> FROGGS: got a patch for TestML with a fix for latest nom, seems to work already on glr: https://gist.github.com/986ba2b9e63d1763601d
10:01 FROGGS .tell AlexDaniel I think timotimo meant the state we already had when we spoke last time
10:01 yoleaux FROGGS: I'll pass your message to AlexDaniel.
10:02 masak jdv79: what would be better? that same commenter mentioned C#'s get/set as an ideal.
10:02 FROGGS .tell laben can you please pull request that here? https://github.com/perl6-community-modules/testml-pm6/
10:02 yoleaux FROGGS: I'll pass your message to laben.
10:03 FROGGS laben: or in case you accept the invitation I sent to you, you can push directly
10:03 FROGGS .tell laben Or in case you accept the invitation I sent to you, you can push directly
10:03 yoleaux FROGGS: I'll pass your message to laben.
10:07 laben FROGGS: i can make the PR no problems, give me some time
10:07 yoleaux 10:02Z <FROGGS> laben: can you please pull request that here? https://github.com/perl6-community-modules/testml-pm6/
10:07 yoleaux 10:03Z <FROGGS> laben: Or in case you accept the invitation I sent to you, you can push directly
10:08 FROGGS laben: you can do that on the website directly btw
10:12 masak moritz: re http://irclog.perlgeek.de/perl6/2015-07-28#i_10968311 -- I think TypeScript qualifies.
10:12 masak http://blogs.msdn.com/b/typescript/archive/2015/01/16/announcing-typescript-1-4.aspx
10:13 _itz_ m: my @s = 1,2,3,4; my $foo = @s[0..1, 2..3].join; warn $foo.perl;
10:13 GLRelia rakudo-moar 7b8098: OUTPUT«"1 23 4"  in block <unit> at /tmp/lyfGseV56n:1␤»
10:13 camelia rakudo-moar 93418e: OUTPUT«"1234"  in block <unit> at /tmp/xx3y25Y0Fu:1␤»
10:18 jdv79 so, i have a situation where changing an attr wants to replace self as a side effect
10:18 jdv79 is that even possible with p6?
10:18 laben FROGGS: got no inv for github. still, here it is https://github.com/perl6-community-modules/testml-pm6/pull/4
10:19 laben jdv79: what do you mean?
10:20 luiz_lha joined #perl6
10:21 masak jdv79: no.
10:21 rindolf joined #perl6
10:21 masak jdv79: "replace self" is even a little bit ill-defined.
10:22 masak jdv79: the closest thing I can think of is the `does` operator.
10:22 masak but I'm not sure it works on `self`
10:22 jdv79 in what want ?
10:22 RabidGravy you can re-call the same method with a different invocant using callwith
10:22 ShimmerFairy jdv79: if you mean change what a given variable contains, I think you can only do that with a sub (with an is rw attribute, naturally)
10:23 masak m: role R {}; class C { method foo { self does R } }; given C.new -> $c { $c.foo; say $c ~~ R }
10:23 GLRelia rakudo-moar 7b8098: OUTPUT«True␤»
10:23 camelia rakudo-moar 93418e: OUTPUT«True␤»
10:23 masak oh dear, that worked.
10:23 masak jdv79: yeah, then `does` is your best bet.
10:23 masak jdv79: with it, you can at least turn your object into an anonymous subclass of what it was previously an instance of.
10:23 masak wow, I didn't expect that to work :)
10:23 FROGGS laben: you should have received an invitation now
10:25 jdv79 yeah, I guess i'm trying to figure out how to mangle containers like p5 refs
10:25 jdv79 failing so far
10:25 masak `does` gets you quite far, I think.
10:25 jdv79 just have to fail enough to not:)
10:25 masak you can inject methods and attributes that way, for example.
10:26 masak &
10:26 jdv79 the essntial bit im trying to do is inplace replace self with another obj of another class
10:26 ShimmerFairy jdv79: would something like  sub change-me($foo is rw) { $foo = Bar.new($foo) }  be sufficient?
10:27 jdv79 maybe, i'll try something like that
10:33 nine scary:
10:33 nine m: class Bar {}; class Foo { method bar(\SELF is rw:) { SELF = Bar.new; }; }; my $foo = Foo.new; $foo.bar; say $foo.WHAT
10:33 GLRelia rakudo-moar 7b8098: OUTPUT«(Bar)␤»
10:33 camelia rakudo-moar 93418e: OUTPUT«(Bar)␤»
10:34 nine I should have called that method barify or so ;)
10:35 nine m: class Bar {}; class Foo { method barify(\SELF is rw:) { SELF = Bar.new; }; }; my $foo = Foo.new; my $bar = $foo; $bar.barify; say $foo.WHAT; say $bar.WHAT
10:35 GLRelia rakudo-moar 7b8098: OUTPUT«(Foo)␤(Bar)␤»
10:35 camelia rakudo-moar 93418e: OUTPUT«(Foo)␤(Bar)␤»
10:36 ShimmerFairy nine: welp, I guess you can do it in a method after all :P
10:37 jdv79 thanks
10:39 rurban_ joined #perl6
10:41 jdv79 but its not really "inplace"
10:41 jdv79 m: class Bar {}; class Foo { method bar(\SELF is rw:) { SELF =  Bar.new; }; }; my $foo = Foo.new; my $f2 = $foo; $foo.bar; say $foo; say $f2;
10:41 GLRelia rakudo-moar 7b8098: OUTPUT«Bar.new␤Foo.new␤»
10:41 camelia rakudo-moar 93418e: OUTPUT«Bar.new␤Foo.new␤»
10:43 ShimmerFairy m: class Bar {}; class Foo { method bar(\SELF is rw:) { SELF =  Bar.new; }; }; my $foo = Foo.new; $foo.bar; say $foo;
10:43 GLRelia rakudo-moar 7b8098: OUTPUT«Bar.new␤»
10:43 camelia rakudo-moar 93418e: OUTPUT«Bar.new␤»
10:43 jkva joined #perl6
10:43 ShimmerFairy jdv79: looks pretty in-place to me :)
10:44 jdv79 it changing the "reference".  i want to change the "referent".  if that makes sense.
10:45 jdv79 i think its not possible
10:46 jdv79 is there a way to rebless?
10:46 ShimmerFairy jdv79: I don't know P5 refs, so I don't understand that terminology enough to help. Best I can guess is that "is copy" instead of "is rw" lets you change SELF as though you had copied it.
10:46 jdv79 i imagine not as it would require uncomposing which is probably impossible
10:47 jdv79 definitely a pickle...
10:49 ShimmerFairy jdv79: am I right in thinking that, in C terms, you want to change what the pointer is pointing to, instead of changing the thing being pointed at?
10:50 laben oh my, for Template6 and Flower, their precompilation bug seems not to be triggered anymore on glr, but they fail every test
10:50 jdv79 yeah, i was going to say that - sorry
10:50 nine jdv79: nqp::rebless
10:50 ShimmerFairy jdv79: no worries, I don't know P5, so I wouldn't understand its terminology :)
10:50 jdv79 well, its not complicated - ref is ptr basically
10:51 nine m: use nqp; class Bar {has $.bar is rw;}; class Foo { method barify() { nqp::rebless(self, Bar); self.bar = 1 }; }; my $foo = Foo.new; my $bar = $foo; $bar.barify; say $foo.WHAT; say $bar.bar
10:51 GLRelia rakudo-moar 7b8098: OUTPUT«(Bar)␤1␤»
10:51 camelia rakudo-moar 93418e: OUTPUT«(Bar)␤1␤»
10:53 nine jdv79: do I even want to know, why you're asking for this?
10:54 laben m: sub swap(\a, \b) { (a, b) = (b, a) }; my ($a, $b) = (5, 'd'); say $a~$b; swap($a,$b); say $a~$b;
10:54 GLRelia rakudo-moar 7b8098: OUTPUT«5d␤dd␤»
10:54 camelia rakudo-moar 93418e: OUTPUT«5d␤d5␤»
10:54 jdv79 whoa.  nine++  that seems to work
10:55 jdv79 i'll show it soon when its complete enough to make sense
10:55 jdv79 a few days i hope
10:55 jdv79 thanks!
10:56 nine jdv79: please make sure, that you really, really have the problem you're solving with this hack :)
10:56 jdv79 yeah .  i don't like dipping into nqp like that
10:57 jdv79 but at least it will illustrate things a bit
10:57 jdv79 hopefully a better solution will come up
11:06 notch joined #perl6
11:06 AlexDaniel joined #perl6
11:15 leont joined #perl6
11:17 shalice joined #perl6
11:18 shalice dalek
11:21 Ven joined #perl6
11:22 suneesh joined #perl6
11:34 Psyche^ joined #perl6
11:35 jdv79 hmm. hotel amaris says 110 is "low cost".  i might not.
11:38 FROGGS_ joined #perl6
11:42 DrForr We got EUR59/night for Evozon's rooms... Or is this SPW?
11:45 nine SPW
12:07 RabidGravy joined #perl6
12:09 RabidGravy there car all legal for another year
12:11 jdv79 what?
12:12 nine I think the repairs went well ;)
12:13 timotimo either repairs or an inspection
12:13 nine or both
12:15 timotimo true
12:17 masak or neither
12:24 notch Hi all. General question - is the page at "http://perl6.org/compilers/features" very outdated? No changes made to it since Feb 22, but I've read (many) things on concurrency or Unicode support recently. Shoud these improvements be reflected in the Compilers features chart?
12:25 RabidGravy mot test and car tax paid
12:25 timotimo ah, yes, that'd be a good idea
12:27 virtualsue_ joined #perl6
12:27 laben mh, i can make a PR for a non-master branch on github, right? i would like to publish my fixes for panda in its glr branch
12:28 timotimo sure
12:28 timotimo when opening a PR, you can select the target near the top
12:28 timotimo near the title of the PR
12:29 laben yeah, i'm seeing it right now. sorry but i never really used github from this POV, i need to learn everithing
12:29 timotimo :)
12:29 timotimo don't worry
12:29 timotimo nobody was born knowing everything about github
12:32 Ven moritz, masak, mouq: anyone of you with OP on #6macros?
12:34 Ulti http://stackoverflow.com/questions/31958891/perl6-getc-in-raw-mode
12:36 Ven moritz: at least, I'm afraid I'll have to ask you to clean the logs
12:37 _itz_ 27C in Olten next Thu
12:38 laben timotimo: as an official confirmation, i'll announce you https://github.com/tadzik/panda/pull/202, with this even bootstrap works fine
12:44 zakharyas1 joined #perl6
12:44 timotimo sweet!
12:44 tadzik oh
12:45 tadzik very nice :)
12:46 laben tadzik: the only things i feel could resolve by themselves inside rakudo-glr are the File::Find and Shell::Command PRs
12:47 laben tadzik: anyway i tested them on nom too, so they have retro-compatibility
12:52 tadzik cool
12:53 rarara Util: "Try "say" instead of "print ..."" LOL
12:53 rarara Ulti
12:53 timotimo very wool.
12:53 timotimo cool.
12:57 rarara I think there is a problem in REPL, would like to maybe see if I can fix it, but don't know where to put my hands
12:57 rarara the problem is that it doesn't work with copy and paste using middle button mouse in linux
12:57 rarara can anybody help?
12:58 colomon joined #perl6
13:02 Ven rarara: I think it's recommended to use linenoise
13:02 rarara Ven I am using it, I think
13:02 luiz_lha joined #perl6
13:03 rarara Also I don't know how to remove Linenoise to do tests
13:04 rarara linenoise.c -- guerrilla line editing library against the idea that a  * line editing lib needs to be 20,000 lines of C code.
13:04 rarara WTF
13:04 daxim_ what does %song-data{~$} = +$, [$.words];  mean in English?
13:05 daxim_ it's from the recent blog entry
13:06 rarara how do you remove a package with panda?
13:06 daxim_ nevermind, the software removed stuff between <>
13:06 espadrine joined #perl6
13:12 skids joined #perl6
13:13 rmgk_ joined #perl6
13:14 timotimo rarara: well, gnu readline is about that big
13:15 timotimo and linenoise was created in the hopes of making a readline replacement that doesn't have to be so gigantic
13:17 Ven is "Cool is the supertype of everything in Perl6, and its subtype Any is the supertype of every primitive class type" valid?
13:17 Ven well, it's hard to digest...
13:17 rarara timotimo ok, do you know how to uninstall linenoise? does rm `locate Linenoise` suffices
13:17 rarara ?
13:18 timotimo welll....
13:18 timotimo we don't really have a good way to do uninstallation yet :|
13:18 timotimo or perhaps zef can uninstall? ugexe?
13:19 CQ zef -v uninstall CSV::Parser ...from https://github.com/ugexe/zef
13:24 virtualsue joined #perl6
13:24 rarara didn't manage to use zef
13:24 rarara but rm `locate Linenoise` did the job
13:26 rarara Without Linenoise there is no bug in REPL
13:26 rarara but it misses Readline
13:26 timotimo so linenoise is setting some flag for the terminal that intercepts middle mouse clicks?
13:27 rarara timotimo don't know, would be interesting to see if it is a general problem or specific
13:29 rarara timotimo there is the same problem with copy paste
13:29 rarara I cannot paste more than 1 line in REPL
13:29 rarara with linenoise
13:29 rarara but I use Linux, don't know about windows
13:30 rarara https://github.com/antirez/linenoise/issues/43 this is bug upstream
13:31 rarara apparently they are guerrilla
13:35 khw joined #perl6
13:39 Sgeo joined #perl6
13:42 leont Can someone add https://github.com/Leont/yamlish and https://github.com/Leont/path-iterator to the ecosystem?
13:46 RabidGravy leont, it's sent a pull request for the additional lines in https://github.com/perl6/ecosystem/blob/master/META.list
13:47 _itz_ or just get commit access
13:48 hoelzro good *, #perl6!
13:48 RabidGravy or that
13:48 RabidGravy yo
13:49 nine notch: the features page indeed seems to be a bit outdated. We do have NFG by default for example.
13:51 ugexe i wonder, should uninstall also be a part of CURLI?
13:53 Ven joined #perl6
13:53 RabidGravy yes
13:54 flussence (what nine said) I agree, that page is ancient history by now. It was more useful as a cheatsheet for which screws were loose in each VM than as a general feature reference point. I guess the new front page being worked on would fulfil the same purpose.
13:57 _itz_ I wonder also if less emphasis should be put on the other VMs at the moment or the coming months given the current focus
13:57 Ven don't we have also have double colon LTM stopper thanks to FROGGS_ ++ ?
13:57 _itz_ less visible on the web pages I mean
13:58 Ven I guess that "LoL" item will want a removal?
13:59 nine yes
13:59 ShimmerFairy m: my "abc" ~~ / a :: bc /
13:59 GLRelia rakudo-moar 7b8098: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ps04q4gUZn␤Malformed my␤at /tmp/Ps04q4gUZn:1␤------> 3my7⏏5 "abc" ~~ / a :: bc /␤»
13:59 camelia rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4mLfgVfCYF␤Malformed my␤at /tmp/4mLfgVfCYF:1␤------> 3my7⏏5 "abc" ~~ / a :: bc /␤»
13:59 ShimmerFairy m: say "abc" ~~ / a :: bc /
13:59 GLRelia rakudo-moar 7b8098: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YENYM3CiNF␤:: not yet implemented␤at /tmp/YENYM3CiNF:1␤------> 3say "abc" ~~ / a ::7⏏5 bc /␤»
13:59 camelia rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Jv0lmZ4ehb␤:: not yet implemented␤at /tmp/Jv0lmZ4ehb:1␤------> 3say "abc" ~~ / a ::7⏏5 bc /␤»
13:59 ShimmerFairy Ven: nope on ::    :)
13:59 Ven I'm not sure where the "features" page is in the perl6/perl6.org repo
14:00 flussence it isn't; check the footer
14:00 Ven uh, thanks flussence++
14:02 hoelzro nine: I just tried to install Inline::Perl5, and I noticed it now requires Sub::Name in Perl5 land.  Is there a way you could fallback to work without it, or is that just a hard requirement of the P5 environment?
14:04 Ven "Any is the supertype of every defined value" how does that sound?
14:05 domidumont joined #perl6
14:05 nine hoelzro: it's only needed for v6::inline support. I guess with https://gist.github.com/niner/7e9f4a7b761a94bb811b most people would not even notice the missing functionality.
14:05 nine Ven: wrong :)
14:05 ShimmerFairy Ven: I think that messes with the meaning of "defined" in the language itself.
14:06 Ven nine: I'm trying to make a gross oversimplification, but even then, I can't find a small enough one
14:06 ShimmerFairy Any is the type from which most (if not all) normal objects inherit from. The ones that inherit from Mu instead tend to be weird things, e.g. Junction :)
14:06 hoelzro nine: probably not; I don't mind having to install Sub::Name, I'm just wondering how that could be handled at build/test time
14:07 * Ven sighs and adds a "Perl6 pre-declared types" slide
14:07 dalek ecosystem: c6f3384 | leont++ | META.list:
14:07 dalek ecosystem: Add YAMLish and Path::Iterator
14:07 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/c6f3384bf3
14:07 dalek ecosystem: 746ac3c | ugexe++ | META.list:
14:07 dalek ecosystem: Merge pull request #52 from Leont/leont
14:07 dalek ecosystem:
14:07 dalek ecosystem: Add YAMLish and Path::Iterator to ecosystem
14:07 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/746ac3c4dd
14:07 timotimo just one slide? ;)
14:07 Ven timotimo: I'd love not to say too much about it.
14:07 Ven Maybe I should just say nothing. sshhh!
14:07 Ven ShimmerFairy: really, the issue is trying to fit Mu, Any, Cool, Whatever and the other base types
14:08 Ven "The Any type encompasses all normal value and object types. It is the unit type, but includes units that are containers of multiple values."
14:08 nine hoelzro: maybe I should just inline it. It provides only one function of which 15 % is parameter checking and 33 % debug support
14:09 notch nine, flussence: thanks. as I understood this new page will come together with a v1.0?
14:09 nine notch: that would be good timing
14:10 hoelzro nine: you could always use it if it's available, and make a note in the docs
14:13 Ven "    Cool        Perl 6 Convenient OO Loopbacks" methods on Any are loopbacks for array of unit values, and methods on Cool are only on one value?
14:13 Ven m: say $ ~~ Any; say $ ~~ Cool;
14:13 GLRelia rakudo-moar 7b8098: OUTPUT«True␤False␤»
14:13 camelia rakudo-moar 93418e: OUTPUT«True␤False␤»
14:16 espadrine joined #perl6
14:16 nine Oh btw. at all: I would love to hear about real world use cases of Inline::Perl5, even if it's just for toying around. Would give me a better feel for what's needed and also food for my YAPC talk :)
14:16 laben leont: you left yamlish description inside path-iterator META.info file
14:17 leont D'oh!
14:19 DrForr nine: Well, you've of course got my module and conversion tool, so if anyone uses those, by proxy you get kudos :)
14:19 * [Coke] submits a patch to dev.perl.org with updated info, waiting for it to get pushed.
14:20 PerlJam nine: I've used it a couple of times to get at Spreadsheet::ParseExcel and Excel::Writer::XLSX so that I could pull some data from a spreadsheet and use P6 to do things with it and generate new spreadsheets
14:20 DrForr Dunno if anyone's actually created a module with it, I know that a few people here have 'used it in anger'...
14:22 hoelzro nine: I've been playing with it for a side project
14:22 hoelzro I haven't picked that up in a few weeks, though =/
14:22 laben DrForr: anger for what, ooc?
14:23 DrForr They never mentioned.
14:24 abaugher moritz: Thanks, I didn't find anything on the modules list. The 'modules wanted' list has them. S29 seems to say 'tie' should be done as containers, something like "class FileHash is Hash". That's probably beyond my level now, but maybe I'll give it a shot soon.
14:28 * JimmyZ thinks Inline-Perl5 would be the first productionish module of Perl 6 ;)
14:31 nine PerlJam: oh that's interesting. Do you remember any difficulties?
14:32 PerlJam nine: Nope.  I mostly remember being happy that everything Just Worked  :)
14:32 lucasb joined #perl6
14:33 cognominal joined #perl6
14:34 nine hoelzro: can you elaborate a bit?
14:38 Ulti rarara: not me, just linking it here for someone to answer
14:38 Ulti also so I can find it later ;)
14:38 Ulti IRC is the best TODO list because sometimes someone else does it for you
14:39 Ulti I sift through most URLs on here in the evening to send stuff to the subreddit
14:43 [Coke] trying to update the daily run scripts to use Inline::Perl5 so we can report on those also. panda bootstrap hanging here: Compiling lib/File/Find.pm to mbc
14:43 [Coke] (cloned panda into ./panda - cd panda && ../install/bin/perl6 bootstrap.pl)
14:44 [Coke] also, when it says fetching File::Find - is it really fetching, or using the copy in ext/ ?
14:44 nine [Coke]: I changed line 40 in t/harness to +$ENV{'PERL6LIB'} = join ',', qw( lib . /home/nine/Inline-Perl5/lib );
14:44 nine [Coke]: to run S01 spec tests
14:46 laben [Coke]: the one it builds and installs is the one fetched from git, the one in ext is used only for making included panda work OOTB
14:46 lizmat ugexe: re http://irclog.perlgeek.de/perl6/2015-08-20#i_11087501 I would say: yes, uninstall should be part of any CompUnitRepo API module
14:46 lizmat so also of CURLI
14:48 Ven m: subset A; say Mu.new ~~ A; # why does this throw instead of just returning False?
14:48 GLRelia rakudo-moar 7b8098: OUTPUT«X::Multi::NoMatch exception produced no message␤  in block <unit> at /tmp/0bgzkBXHlx:1␤␤»
14:48 camelia rakudo-moar 93418e: OUTPUT«X::Multi::NoMatch exception produced no message␤  in block <unit> at /tmp/56rzDPEq8I:1␤␤»
14:48 [Coke] Ugh. Want to have a way to build without re-fetching things over the network all the time. (already doing this for rakudo, roast, pugs, nqp, moar, parrot, etc.)
14:49 [Coke] anyway, the panda install is busted for me on that setup. Will try nine's trick of using an uninstalled copy, but I'd rather test the install while I'm doing this.
14:49 JimmyZ what about zef?
14:50 laben [Coke]: also, for now File::Find Shell::Command and Panda need to have patches applied to them to work on glr, you can find them in PRs in their repos
14:50 JimmyZ panda doesn't work for me for a long time , but zef works here
14:50 hoelzro nine: I mean something like this: https://gist.github.com/hoelzro/2a6a16ed3980426177b5
14:50 RabidGravy nine, you'll be glad to know that Term::ReadKey works with I::P5
14:50 dalek nqp: 01161fd | (Kamil Kułaga)++ | src/vm/jvm/QAST/Compiler.nqp:
14:50 dalek nqp: Probable code typo found by coke
14:50 dalek nqp:
14:50 dalek nqp: https://github.com/perl6/nqp/commit/87d8a61a9a78da4d8873dde1017d91d7ea6bf285
14:50 dalek nqp: review: https://github.com/perl6/nqp/commit/01161fd38c
14:50 dalek nqp: f95126b | lizmat++ | src/vm/jvm/QAST/Compiler.nqp:
14:50 dalek nqp: Merge pull request #242 from teodozjan/patch-1
14:50 dalek nqp:
14:50 dalek nqp: Probable code typo found by coke
14:50 dalek nqp: review: https://github.com/perl6/nqp/commit/f95126b301
14:51 RabidGravy which is nice
14:51 [Coke] I'm not doing this for glr at the moment.
14:52 nine RabidGravy: oh that's cool indeed :)
14:52 RabidGravy I'm not sure I want to encourage it as it is bound to give rise to bug reports
14:52 jdv79 lizmat: how do i push a p6 dist to cpan then?
14:53 nine RabidGravy: why?
14:53 RabidGravy ReadMode(0) appears to work differently for some reason
14:54 laben [Coke]: strange, so you say panda stalls for you on nom?
14:54 hoelzro RabidGravy: it might have something to do with how MoarVM treats STD*
14:54 hoelzro I had to compensate for that in Linenoise
14:54 lizmat jdv79: like you would upload any Distribution to PAUSE with a PAUSE ID
14:55 nine RabidGravy: maybe that would be a nice example for my talk. I like to make people aware of potential difficulties and how to get around them.
14:55 lizmat just make sure there is a META6.json file in the top directory
14:56 RabidGravy nine, https://gist.github.com/jonathanstowe/deba1f4a74330cefa995
14:57 woolfy joined #perl6
14:57 [Coke] nine: PERL6lib is comma separated?
14:57 [Coke] laben: yes.
14:57 nine [Coke]: yes
14:57 woolfy Awesome news.  Oetiker+Partner donates 5000 Swiss Francs to Perl 6.  http://news.perlfoundation.org/2015/08/oetiker-partner-donate-5000chf.html
14:57 RabidGravy yay
14:58 nine woolfy: yeah!
14:58 RabidGravy hoelzro, ah I may have to check this out
14:59 [Coke] nine: tried: export PERL6LIB=`pwd`/Inline-Perl5/lib,`pwd`/lib, but "perl t/spec/test_summary" still skips the tests when running those files.
14:59 [Coke] WOOT.
14:59 nine [Coke]: that's because t/harness overwrites PERL6LIB
14:59 nine [Coke]: hence I patched it locally
14:59 laben [Coke]: never seen that happen, how could i (help you) investigate this problem?
14:59 woolfy left #perl6
15:00 [Coke] I'm not using t/harness.
15:00 araujo joined #perl6
15:00 skids m: say ([\-] 1,2,3)
15:00 GLRelia rakudo-moar 7b8098: OUTPUT«-1 -4␤»
15:00 camelia rakudo-moar 93418e: OUTPUT«1 -1 -4␤»
15:00 nine [Coke]: t/fudgeandrun does so, too. Maybe your setup as well?
15:01 nine [Coke]: did you run perl6 configure.pl6 in Inline-Perl5 directory? It has to compile a lib for Perl 5
15:01 skids mortiz: per PR#502's now-obselete third commit some takes are missing from [/op]
15:01 [Coke] nine - no, I didn't. (this is why I want to use panda and not cheat :)
15:01 skids *[\op
15:02 skids ergh I can't type.  *moritz
15:02 [Coke] nine: Could not find LibraryMake
15:03 JimmyZ (Oetiker+Partner)++
15:04 nine [Coke]: how did I do this??
15:04 [Coke] you probably already had some prereqs installed?
15:04 nine [Coke]: oh, could be that I compiled using nom and switched rakudo to glr only later. Compilation does not depend on perl6, so one can re-use the same lib for both branches.
15:06 [Coke] nine: I'm on a fresh copy of nom.
15:06 timotimo praised be oetiker+partner!
15:06 PerlJam Did someone court Oetiker+Partner for the donation or was it "random"?
15:07 timotimo since they are based in olten, i bet they have something to do with the SPW
15:07 PerlJam ah
15:07 timotimo in fact, they are one of the sponsors listed on the spw website
15:07 [Coke] laben: starting with https://github.com/coke/perl6-roast-data/blob/master/bin/rakudo.moar-jit.sh, modifying that to grab panda, inline-perl5 ... it's a bunch of small change to that script, but basically, doing a make install, then using the installed perl6 to run panda hangs on teh aforementioned step.
15:07 nine [Coke]: if you're on Linux, just run this from your Inline-Perl5 directory: gcc -Wall p5helper.c `perl -MExtUtils::Embed -e ccopts -e ldopts` -shared -o lib/Inline/p5helper.so -fPIC -g
15:08 [Coke] nine: "just" ?
15:08 [Coke] I'll make panda work instead.
15:08 nine or that :)
15:08 timotimo oh wow
15:08 [Coke] .. later, though. this easy thing has already gotten out of control. :)
15:09 timotimo tobi oetiker is the person who made MRTG and RRDtool, and O+P also made SmokePing
15:09 nine wow indeed
15:10 leont nine: do you always build it with ldopts?
15:10 nine leont: that's what perlembed told me to do
15:10 leont It's meant for executables, not shared objects. It's probably ok, there is a chance that has some consequence on some platforms.
15:11 laben [Coke]: did you try rakudobrew to help install and manage both rakudo and panda?
15:11 [Coke] laben: no.
15:12 * oetiker bow gracefully
15:12 lizmat oetiker++  :-)
15:12 [Coke] I'm specifically doing this for the daily spec test run, which already has a build setup (does rakudobrew provide a way to build from local checkouts rather than fetching over the network?)
15:12 [Coke] oetiker++
15:12 PerlJam oetiker++
15:12 nine oetiker++ # counter is far behind
15:13 tony-o is there actually a counter?
15:13 laben i would recommend, it makes keeping up with commits very easy and simply keeps the git repo around, so no big fetch every time
15:13 nine leont: without it I get Unhandled exception: Cannot locate native library 'lib/Inline/p5helper.so': lib/Inline/p5helper.so: undefined symbol: boot_DynaLoader
15:13 nine tony-o: probably not :)
15:13 lizmat [Coke]: it is one of my goals to allow Installed modules to be re-precompiled when rakudo changes
15:13 PerlJam tony-o: only in our collective consciousness :)
15:13 lizmat without needing to refetch them from anywahere
15:14 lizmat *anywhere
15:14 ugexe zef keeps the repos around in /tmp/module-name and does a git pull if it exists already
15:14 leont nine: yes, it certainly contains essential things, it will also contain useless things (you don't need most -l flags except on Windows/Cygwin for example), it may contain harmful things.
15:14 leont Not saying it's wrong, I'm saying it may be subtly wrong somewhere.
15:15 nine that's the worst kind of wrong...
15:15 ugexe lizmat: ive been thinkg how to do that as well, mostly boiling down to saving the dependency graph in the MANIFEST
15:15 oetiker at O+P we love perl ... most of our tools are made with perl ... so we thought that it would make sense to invest a bit into perl 6 ... especially hoping that other small shops would maybe follow our lead
15:15 tony-o i only love perl6
15:16 _itz_ oetiker++ # I've used rrdtool many times over the years
15:16 ugexe and possibly a way to re-run the hooks/ (as well as saving the hooks)
15:16 leont It's probably nothing, I'll try to look into it when I have time
15:17 tony-o is the hooks thing still the biggest challenge with that?  a lot of BUILD.pm junk still out there
15:17 lizmat ugexe: as a core developer, re-installing modules should be possible without network access, every time I to "make install"
15:17 tony-o lizmat: if pull fails it tries to build what is there
15:17 ugexe lizmat: right. if the manifest contained a dependency graph then it would be possible
15:18 lizmat tony-o: I don't want it to try: I don't want modules changes as well whenever I do a make install of rakudo and I happen to have network connectivity
15:18 nine Oh that's a cute one: adding debug output to deepmap makes many more hyper tests pass
15:18 tony-o lizmat++
15:19 timotimo so you're potentionally sinking something that didn't get sunk before?
15:21 nine timotimo: .perl reifies the list. deepmap(\op, \obj) really requires obj to be a fully reified list. It's accessing $!reified directly
15:21 timotimo ah, mhh
15:22 * skids agrees strongly with lizmat++, was actually perturbed to discover build/test targets bailing for lack of net.
15:23 moritz \o
15:23 tony-o skids: i think lizmat is more referring to when recompiling a bunch of modules all at once, those modules shouldn't be automatically upgraded to a new(er) version if available.  just recompile the ones already available in the system
15:24 lizmat tony-o: indeed
15:24 tony-o i'm taking yours to mean that build/test stage should fail if the module requires net but it isn't available (skids)
15:24 nine oetiker: maybe I should try to sell it as an investment to our mangement instead of as a donation. We are donating, but more tranditionally to social institutions.
15:26 JimmyZ oetiker: thank you!
15:26 lizmat .oO( the new trend in mangening :-)
15:28 PerlJam nine: how would you do that?   You don't typically expect a return for donations, but you do for investments.  What would their ROI for Perl 6 be?
15:29 lizmat ROI could be in personnel enthusiasm for work
15:29 mst but also in potentially increased development speed
15:29 skids tony-o: the general principle of the matter, really.  It's ok to quickly check for updates and notify the builder they are available, but you don't want code changing automatically when you are debugging stuff, and definitely don;t quit because your git pull failed.
15:29 nine PerlJam: it would be a long term investment, that's for sure. Well, keeping Perl alive can only be a good thing when you sit on a quarter million LOC Perl code.
15:29 PerlJam lizmat: that might work for nine, but I'm not sure it would work for "management" :)
15:29 mst 'spnsorship' is often an effective term
15:30 skids .oO(kids these days.  When I was a kid you had to walk 25 feet up a flight of stairs to get your sibling off the phone before downloading anything.)
15:30 tony-o skids: i believe that is what lizmat was hinting at, the default should be not checking for updates when rakudo version changed from the last one.  zef doesn't die if the git pull fails
15:31 tony-o s/hinting/stating/
15:31 PerlJam nine: what mst said too
15:32 skids tony-o: Right.  I would say as long as the timeouts are kept short, though, it's OK to quickly look and spit out a "hey there are updates, btw" message.
15:32 ugexe the build process will get better as CURLI matures and the manifest contains more meta information
15:32 lizmat ugexe: indeed  :-)
15:32 [Coke] skids++ #old timer.
15:33 * lizmat remembers having the neighbours come over to use our phone because they didn't have any
15:34 PerlJam .oO( and it was rotary dial )
15:34 lizmat oh yes....  :-)
15:34 * [Coke] remembers what a big deal it was getting a touch tone phone.
15:34 * skids remembers having a shared "party line".
15:34 [Coke] I still have a blue princess rotary somewhere in the house.
15:35 CQ I saw a picture somewhere that had a phone booth and a letterbox for posting letters with the caption "For the kids of today: yesterdays mobile phone and Mail Inbox" : )
15:35 * _itz_ remembers CCITT5
15:39 PerlJam _itz_: did you ever um ... take advantage of it?  ;)
15:39 FROGGS_ Ven: we don't have the :: yet me thinks
15:40 RabidGravy I've "dialled" a pay phone using the "hook" when the dial wasn't working
15:41 _itz_ PerlJam: errrr no of course not :)
15:41 tony-o phreaker
15:42 tony-o how old are you [Coke], i remember getting our first touch tone phone too
15:42 moritz m: use nqp; say nqp::elems(nqp::geattr(<a b c>.sort.List, List, '$!reified'))
15:42 GLRelia rakudo-moar 7b8098: OUTPUT«===SORRY!===␤No registered operation handler for 'geattr'␤»
15:42 camelia rakudo-moar 93418e: OUTPUT«===SORRY!===␤No registered operation handler for 'geattr'␤»
15:42 RabidGravy infact IIRC when BT first introduced button pay phones you could circumvent the paying part with the hook
15:42 moritz m: use nqp; say nqp::elems(nqp::getattr(<a b c>.sort.List, List, '$!reified'))
15:42 GLRelia rakudo-moar 7b8098: OUTPUT«0␤»
15:42 camelia rakudo-moar 93418e: OUTPUT«P6opaque: no such attribute '$!reified'␤  in block <unit> at /tmp/AoBF_qoEx7:1␤␤»
15:42 dalek rakudo/glr: 3724b5d | (Stefan Seifert)++ | src/core/metaops.pm:
15:42 dalek rakudo/glr: Fix unary hyper operators
15:42 dalek rakudo/glr:
15:42 dalek rakudo/glr: deepmap(\op, \obj) really required obj to be a fully reified list.
15:42 dalek rakudo/glr: It's accessing $!reified directly. List.FLATTENABLE_LIST reifies
15:42 dalek rakudo/glr: and returns $!reified. Seems like a perfect match.
15:42 dalek rakudo/glr:
15:42 dalek rakudo/glr: All but one hyper test pass now.
15:42 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/3724b5d411
15:43 moritz nine++ # I was just looking into that one :-)
15:43 ugexe nine++
15:44 dalek rakudo/glr: 2c088cc | moritz++ | src/core/metaops.pm:
15:44 dalek rakudo/glr: Apply the deepmap fix to nodemap too
15:44 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/2c088cc797
15:44 ugexe i gave up on that one
15:44 tony-o ugexe: check this out man, https://gist.github.com/tony-o/0b841686d7e00bc1e08c
15:44 skids moritz: per backlog, [\op] still needs some work.
15:44 tony-o benchmark of to-json
15:45 moritz m: say [\+] 1, 2, 3, 4
15:45 GLRelia rakudo-moar 7b8098: OUTPUT«3 6 10␤»
15:45 camelia rakudo-moar 93418e: OUTPUT«1 3 6 10␤»
15:45 ugexe nice, does the build in from-json parse the output of it ok?
15:45 andreoss joined #perl6
15:46 tony-o jsonlint parses it okay
15:46 nine moritz: I really wonder why exactly one test in hyper.rakudo.moar is failing.
15:47 ugexe sweet, that would help generating projects.json files and manifest quicker
15:47 tony-o ugexe: here is the output - https://gist.github.com/tony-o/18483cd4a55d52d57811
15:47 nine moritz: no idea why this is the only test where such an inner list gets itemized: # expected: $[$[-1, -2], $[-3, $[-4, -5]]] #      got: $[$[$(-1, -2)], $[$(-3, $[$(-4, -5)])]]
15:47 [Coke] ww
15:47 [Coke] m: say "\x[212b]" eq "\x[c5]"
15:47 GLRelia rakudo-moar 2c088c: OUTPUT«True␤»
15:47 camelia rakudo-moar 93418e: OUTPUT«True␤»
15:47 ugexe oh, you need to add escaping
15:47 tony-o it does escape
15:48 [Coke] Is that a result of NFG, straight up unicode normalness, or a bug?
15:48 ugexe oh im thinking of the extra escape characters from the .perl
15:48 [Coke] m: say "\x[212a]" eq "K" # noticed first with this.
15:48 GLRelia rakudo-moar 2c088c: OUTPUT«True␤»
15:48 camelia rakudo-moar 93418e: OUTPUT«True␤»
15:48 Ven joined #perl6
15:48 [Coke] .u K
15:48 yoleaux U+004B LATIN CAPITAL LETTER K [Lu] (K)
15:49 timotimo nine: so we now have working >>.foo? awesome :)
15:49 Ven wow, that's a lot of money. (Oetiker+Partner)++, and of course woolfy++ :)
15:51 nine timotimo: either that or we are missing spec tests for hyper
15:51 nine wait, there are _more_ spec test files failing now?
15:51 skids m: say ([R/] pi,4,e,2)
15:51 GLRelia rakudo-moar 2c088c: OUTPUT«1.0674667778342␤»
15:51 camelia rakudo-moar 93418e: OUTPUT«0.0585498315243192␤»
15:51 skids moritz: also that ^^
15:52 RabidGravy what larks
15:52 timotimo m: say "what's my version?"
15:52 GLRelia rakudo-moar 2c088c: OUTPUT«what's my version?␤»
15:52 camelia rakudo-moar 93418e: OUTPUT«what's my version?␤»
15:52 dalek roast/glr: 211dc1d | (Stefan Seifert)++ | S03-metaops/eager-hyper.t:
15:52 dalek roast/glr: Adjust eager-hyper.t to the fact that gather returns a Seq now
15:52 dalek roast/glr: review: https://github.com/perl6/roast/commit/211dc1d506
15:52 hoelzro oetiker++ very nice!
15:52 timotimo camelia's rakudo version is out of date by about 2 days :(
15:52 moritz m: say [\<] 1, 0
15:52 GLRelia rakudo-moar 2c088c: OUTPUT«===SORRY!===␤␤The 'gimme' method was an internal method used by rakudo before the Great␤List Refactor.  The fact that you are seeing this message, means that you␤have code that was using that unsupported rakudo internal API.␤␤Please refactor th…»
15:52 camelia rakudo-moar 93418e: OUTPUT«True False␤»
15:53 domm joined #perl6
15:55 nine Oh, I broke Inline::Perl5 :(
15:55 nine m: for Any.^methods>>.name -> $name { say $name; }
15:55 GLRelia rakudo-moar 2c088c: OUTPUT«This type does not support elems␤  in block <unit> at /tmp/bu4jVb8Jv9:1␤␤»
15:55 camelia rakudo-moar 93418e: OUTPUT«invoke␤exists_key␤EXISTS-KEY␤delete_key␤DELETE-KEY␤delete_pos␤DELETE-POS␤list␤flat␤eager␤hash␤Hash␤Parcel␤List␤elems␤end␤keys␤kv␤values␤pairs␤antipairs␤invert␤pairup␤squish␤rotor␤reverse␤sort␤reduce␤c…»
15:57 laben nine: it did fix Shell::Command (no more need for my PR), but not File::Find
15:58 jdv79 lizmat: how is that Perl6 distinction made
15:58 lizmat the existence of a META6.json in the distribution is the flag
15:58 jdv79 k
15:58 jdv79 m: sub foo ($a? where * ~~ /<[a..z]>/) {}; foo()
15:58 GLRelia rakudo-moar 2c088c: OUTPUT«Use of uninitialized value of type Any in string context  in whatevercode  at /tmp/IRF9YOto_7:1␤Use of uninitialized value of type Any in string context  in whatevercode  at /tmp/IRF9YOto_7:1␤Constraint type check failed for parameter '$a'␤  in sub f…»
15:58 camelia rakudo-moar 93418e: OUTPUT«Use of uninitialized value of type Any in string context  in whatevercode  at /tmp/OdvsLbSQJR:1␤Use of uninitialized value of type Any in string context  in whatevercode  at /tmp/OdvsLbSQJR:1␤Constraint type check failed for parameter '$a'␤  in sub f…»
15:59 jdv79 shouldnt somethin like that work better
16:00 nine I guess Any.^methods>>.name previously silently returned an empty list
16:01 dalek rakudo/glr: 83a29ca | moritz++ | src/core/metaops.pm:
16:01 dalek rakudo/glr: Add missing first value in triangle reduce
16:01 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/83a29ca962
16:02 timotimo nine: can you find out why camelia's rakudo-moar is out of date? is it failing to build?
16:02 Ven m: multi sub compare-zero(1..*) { More }
16:02 GLRelia rakudo-moar 2c088c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/cBy9cWOFbP␤Missing block␤at /tmp/cBy9cWOFbP:1␤------> 3multi sub compare-zero(17⏏5..*) { More }␤»
16:02 camelia rakudo-moar 93418e: OUTPUT«5===SORRY!5=== Error while compiling /tmp/U_4H50GKuY␤Missing block␤at /tmp/U_4H50GKuY:1␤------> 3multi sub compare-zero(17⏏5..*) { More }␤»
16:02 Ven multi sub compare-zero($ where 1..*) { More }
16:02 Ven m: multi sub compare-zero($ where 1..*) { More } #w hoops
16:02 GLRelia rakudo-moar 2c088c: ( no output )
16:02 camelia rakudo-moar 93418e: ( no output )
16:03 moritz timotimo: I can take a look
16:03 timotimo cool, thank you, moritz++
16:04 nine moritz: oh, thanks for fixing my thinko! I somehow thought of "until" as "do { ... } until"
16:04 nine Oh noes... Any.^methods>>.name actually did work as advertised before my hyper fix
16:06 moritz timotimo: nqp-j build failure: Use of undeclared variable '$EX_CAT_AWIAT' at line 92, near " +| $EX_CA"
16:06 timotimo huh!
16:06 moritz timotimo: while trying to build gen/jvm/stage1/QAST.jar
16:06 timotimo nobody noticed that typo, eh?
16:06 ugexe someone commented on the PR about the typo
16:06 laben didn't that get fixed by [Coke]?
16:07 moritz did somebody else bump the NQP revision?
16:07 timotimo i'm working on a patch
16:07 timotimo oh
16:07 laben https://github.com/perl6/nqp/commit/01161fd38c
16:08 timotimo yeah, it did got fixed, but perhaps the nqp revision of rakudo didn't get bumped
16:09 dalek rakudo/nom: 59d6cf8 | timotimo++ | tools/build/NQP_REVISION:
16:09 dalek rakudo/nom: bump NQP for AWIAT typo fix for jvm
16:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/59d6cf88ab
16:10 timotimo evalbot control rebuild
16:10 timotimo (or something like that?)
16:11 xinming joined #perl6
16:12 yqt joined #perl6
16:13 moritz timotimo: that used to work a few years ago, but doesn't anymore
16:13 timotimo OK :)
16:13 timotimo BBIAB
16:13 laben omg i got an exception directly from moar "This type does not support elems"...
16:14 Ven timotimo: the typo was noticed, someone commented on the commit IIRC
16:14 moritz m: say [<] ()
16:14 camelia rakudo-moar 93418e: OUTPUT«True␤»
16:14 GLRelia rakudo-moar 83a29c: OUTPUT«␤The 'gimme' method was an internal method used by rakudo before the Great␤List Refactor.  The fact that you are seeing this message, means that you␤have code that was using that unsupported rakudo internal API.␤␤Please refactor this code using t…»
16:14 nine m: say (1,2).^name; say (1,2).FLATTENABLE_LIST.^name; say Any.^methods.^name; say Any.^methods.FLATTENABLE_LIST.^name; # WTF?!
16:14 GLRelia rakudo-moar 83a29c: OUTPUT«List␤IterationBuffer␤List␤List␤»
16:14 camelia rakudo-moar 93418e: OUTPUT«Parcel␤Parcel␤Parcel␤Parcel␤»
16:15 nine How can Any.^methods give me a List but its FLATTENABLE_LIST method return a different type than other lists?
16:17 moritz nine: something bootstrappy, most likely; I'm pretty sure .^methods is written in NQP, so it returns a NQP-level array that's auto-mapped (?) into a List
16:17 nine moritz: any idea where I could find this auto-mapping code? I'd be very interested in how such a List would look like.
16:18 nine + I think it's a bug worth fixing that $!reified is a List instead of an IterationBuffer
16:20 nine Metamodel/BOOTSTRAP.nqp line 2604 looks like it
16:21 dalek rakudo/glr: 5e3cfb3 | moritz++ | src/core/metaops.pm:
16:21 dalek rakudo/glr: GLRify [>] (and in general, non-triangle METAOP_REDUCE_CHAIN)
16:21 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/5e3cfb3a0f
16:23 domidumont joined #perl6
16:23 moritz m: say [\<] 1, 2
16:23 GLRelia rakudo-moar 83a29c: OUTPUT«===SORRY!===␤␤The 'gimme' method was an internal method used by rakudo before the Great␤List Refactor.  The fact that you are seeing this message, means that you␤have code that was using that unsupported rakudo internal API.␤␤Please refactor th…»
16:23 camelia rakudo-moar 93418e: OUTPUT«True True␤»
16:23 [Coke] on hack, examples has a process running for 73 hours that is pegging 3 cpus.
16:24 timotimo auto-mapping refers to "hllize" most likely
16:24 timotimo somewhere, likely in BOOTSTRAP, we set up that mapping
16:25 moritz [Coke]: thanks, killing it
16:25 nine timotimo: I guess that's it? List.HOW.add_attribute(List, scalar_attr('$!reified', Mu, List));
16:25 nine timotimo: should be IterationBuffer, but of course that's running into bootstrap issues :)
16:26 nine which are solvable
16:26 * FROGGS now compiles glr
16:27 moritz .tell [ptc] a perl6-examples job on hack was running for 72 CPU hours before I killed it; please investigate (and add a CPU limit to all cron jobs)
16:27 yoleaux moritz: I'll pass your message to [ptc].
16:27 nine But it didn't change anything :/
16:27 timotimo that's not what sets up the type "nqp::hllize" uses, but it seems worth fixing anyway
16:28 moritz no, it's only the default type for the attribute
16:29 nowan joined #perl6
16:29 nine line 2885?
16:30 moritz nine: the line number is a bit off, but foreign_transform_array it is
16:30 nine moritz: oh, of course. I added a couple of lines for IterationBuffer :)
16:30 moritz nine: :-)
16:30 travis-ci joined #perl6
16:30 travis-ci Rakudo build errored. Timo Paulssen 'bump NQP for AWIAT typo fix for jvm'
16:30 travis-ci https://travis-ci.org/rakudo/rakudo/builds/76486980 https://github.com/rakudo/rakudo/compare/5ad81220a27d...59d6cf88ab9a
16:30 travis-ci left #perl6
16:33 nine foreign_transform_array creates a List object and binds $farray to the list's $!reified. But where is $farray actually converted to a List object?
16:33 FROGGS nine: at what test files are you working?
16:33 timotimo damn, my bump seemingly went wrong
16:34 moritz nine: the block returns the new List object
16:34 moritz nine: which is the conversion, really
16:34 timotimo huh, what state was my git repository in ?!
16:34 nine FROGGS: currently on the S01 tests, i.e. Inline::Perl5 failing due to Any.^methods>>.name giving me a "This type does not support elems" in src/core/metaops.pm line 476
16:35 FROGGS timotimo: Idaho?
16:35 FROGGS nine: kthx
16:35 dalek rakudo/nom: 815fff3 | timotimo++ | tools/build/NQP_REVISION:
16:35 dalek rakudo/nom: the previous bump was apparently bogus
16:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/815fff36ac
16:36 JimmyZ joined #perl6
16:36 nine moritz: do I understand correctly that it binds an nqp::list to $!reified and when I try to do something in Perl 5 with $!reified it gets hllized to a List using the same mechanism?
16:36 nine moritz: in Perl 6 of course :)
16:37 moritz nine: I think so, yes
16:38 timotimo m: use nqp; sub test() { my \foo = nqp::list(); say foo.WHAT; foo }; my $test = test(); say $test.WHAT
16:38 GLRelia rakudo-moar 5e3cfb: OUTPUT«␤␤»
16:38 camelia rakudo-moar 93418e: OUTPUT«␤␤»
16:38 timotimo m: use nqp; sub test() { my \foo = nqp::list(); say foo.WHAT.name; foo }; my $test = test(); say $test.WHAT.name
16:38 GLRelia rakudo-moar 5e3cfb: OUTPUT«Cannot find method 'name': no method cache and no .^find_method␤  in sub test at /tmp/LpZNts9CUk:1␤  in block <unit> at /tmp/LpZNts9CUk:1␤␤»
16:38 camelia rakudo-moar 93418e: OUTPUT«Cannot find method 'name': no method cache and no .^find_method␤  in sub test at /tmp/0S05Pk92MO:1␤  in block <unit> at /tmp/0S05Pk92MO:1␤␤»
16:38 timotimo m: use nqp; sub test() { my \foo = nqp::list(); say foo.WHAT.^name; foo }; my $test = test(); say $test.WHAT.^name
16:38 GLRelia rakudo-moar 5e3cfb: OUTPUT«BOOTArray␤BOOTArray␤»
16:38 camelia rakudo-moar 93418e: OUTPUT«BOOTArray␤BOOTArray␤»
16:38 moritz nine: in the old design, $!refied was actually a nqp list, so people would never use it as a p6 object
16:41 moritz the reduce metaop patches I'm doing here are so full of thinkos :(
16:42 Ven moritz++ # patching stuff :)
16:43 dalek rakudo/glr: 91fc607 | moritz++ | src/core/metaops.pm:
16:43 dalek rakudo/glr: GLR-ify METAOP_REDUCE_CHAIN
16:43 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/91fc607358
16:43 nine IterationBuffer is just a VMArray like nqp::list. Is there any way I can convert the nqp::list to an IterationBuffer?
16:44 FROGGS uhh, are there known speshbugs discovered by the glr branch?
16:44 FROGGS timotimo: ^^
16:45 timotimo i don't know of any yet
16:45 FROGGS i.e. `perl6 t/spec/S05-mass/rx.rakudo.moar` vs. `MVM_SPESH_DISABLE=1 perl6 t/spec/S05-mass/rx.rakudo.moar`
16:46 moritz m: sub infix:<foo>(*@a) is assoc<list> { @a.join('|') }; say [\foo] 1, 2, 3
16:46 camelia rakudo-moar 93418e: OUTPUT«1 1|2 1|2|3␤»
16:46 GLRelia rakudo-moar 5e3cfb: OUTPUT«␤The 'gimme' method was an internal method used by rakudo before the Great␤List Refactor.  The fact that you are seeing this message, means that you␤have code that was using that unsupported rakudo internal API.␤␤Please refactor this code using t…»
16:48 moritz m: say [**] 2, 3
16:48 GLRelia rakudo-moar 91fc60: OUTPUT«9␤»
16:48 camelia rakudo-moar 93418e: OUTPUT«8␤»
16:49 FROGGS timotimo: can you reproduce that ooc?
16:49 anaeem1 joined #perl6
16:49 timotimo rebuilding at the moment
16:50 timotimo has to be fudged first ...
16:51 japhb .tell jnthn I am seriously loving https://gist.github.com/anonymous/6607717a5d201a9acf82 ... I'm using it for language bragging rights with various friends.  Can't wait to be using the finished API.  :-)
16:51 yoleaux japhb: I'll pass your message to jnthn.
16:53 nine I can work around it if I do my Mu $items := obj.FLATTENABLE_LIST; $items := nqp::getattr($items, List, '$!reified') if nqp::istype($items, List); but this is ridiculous...
16:53 moritz nine: nah, the HLLize needs fixing
16:54 nine moritz: but how can I turn an nqp::list into an IterationBuffer? Both have the same repr, so I guess it should be possible somehow?
16:54 moritz nine: how would you construct a List from an NQP array?
16:54 moritz hm
16:55 timotimo nine: did you see line 2871 in BOOTSTRAP.nqp? that's where we register types to be used for hllize and other such things (like slurpy parameter types and such)
16:55 moritz if IterationBuffer was a subclass, a rebless would help
16:55 nine moritz: yes, that's the code I'm looking at
16:55 timotimo oh, i think that's what you were quoting up above
16:56 nine "This REPR cannot change type" :(
16:56 travis-ci joined #perl6
16:56 travis-ci Rakudo build passed. Timo Paulssen 'the previous bump was apparently bogus'
16:56 travis-ci https://travis-ci.org/rakudo/rakudo/builds/76491365 https://github.com/rakudo/rakudo/compare/59d6cf88ab9a...815fff36ac7c
16:56 travis-ci left #perl6
16:57 dalek rakudo/glr: 8afab2e | moritz++ | src/core/metaops.pm:
16:57 dalek rakudo/glr: GLR-ize METAOP_REDUCE_LIST (triangle form; the other one does not need changes)
16:57 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/8afab2eb1e
16:57 nine m: use nqp; my \l := nqp::list; say nqp::reprname(l); say nqp::reprname(IterationBuffer)
16:57 GLRelia rakudo-moar 91fc60: OUTPUT«VMArray␤VMArray␤»
16:57 camelia rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/c_GwhhOB8y␤Undeclared name:␤    IterationBuffer used at line 1␤␤»
16:58 timotimo what keeps us from making VMArray able to change type?
16:58 timotimo as long as the repr data is compatible (in other words: identical)
16:58 nine timotimo: it is even the same repr
16:58 nine timotimo: so it's just a book keeping issue
16:59 timotimo FROGGS: i can reproduce
17:00 FROGGS timotimo: the exception is thrown here: MoarVM/src/6model/6model.c:178:            "Cannot look for method '%s' on a null object",
17:00 moritz m: .say for <a b c>.reverse
17:00 camelia rakudo-moar 815fff: OUTPUT«c␤b␤a␤»
17:00 GLRelia rakudo-moar 91fc60: OUTPUT«c␤b␤a␤»
17:01 FROGGS timotimo: does that mean we have a problem in our method cache?
17:01 FROGGS or... well, I dunno
17:01 timotimo i don't think so
17:02 timotimo my first thought is we optimize away something and some register ends up being null instead of having some value we expected
17:05 timotimo well, i've found the place where we try to findmeth and it asplodes
17:05 timotimo and there's only one value that'd get sunk. it's either pulled in from a wval or it's the return value of something
17:06 telex joined #perl6
17:08 timotimo the thing it's calling is apparently just the inner block; this is happening inside of Cursor's MATCH, btw
17:09 FROGGS timotimo: in the while in the else, right?
17:09 Ven m: say 42.WHY
17:09 GLRelia rakudo-moar 8afab2: OUTPUT«(Any)␤»
17:09 camelia rakudo-moar 815fff: OUTPUT«(Any)␤»
17:12 timotimo correct
17:13 KCL_ joined #perl6
17:13 timotimo the code that gets called where we try to sink the return value doesn't end up in the spesh log
17:14 timotimo i've gotta go buy some groceries :|
17:15 timotimo pre-spesh there was an isconcrete there that'd skip the sink attempt
17:15 timotimo that gets kicked out completely by spesh
17:15 timotimo apparently that's wrong
17:17 timotimo so how do we end up with a "known concreteness" value there?
17:17 laben O.o newest glr discovered another panda bootstrap bug, investigating...
17:18 timotimo perhaps merged registers doesn't do using log guards properly?
17:23 timotimo ah! i found the problem
17:25 timotimo FROGGS: thanks for the excellent hint; i just fixed the problem in moar; can you verify it fixes things?
17:25 laben sorry i got mixed again in the "Seq already consumed" error and the normal things dont work, what can i do?
17:25 timotimo i've got to actually buy groceries now :)
17:26 FROGGS uhh!
17:27 muraiki joined #perl6
17:28 FROGGS timotimo++ # that did it! \o/
17:30 dalek nqp: ab46da4 | (Stéphane Payrard)++ | docs/qast.markdown:
17:30 dalek nqp: stub to document QAST::ParamTypeCheck
17:30 dalek nqp: review: https://github.com/perl6/nqp/commit/ab46da49fd
17:30 dalek nqp: 8717925 | FROGGS++ | docs/qast.markdown:
17:30 dalek nqp: Merge pull request #243 from cognominal/master
17:30 dalek nqp:
17:30 dalek nqp: stub to document QAST::ParamTypeCheck
17:30 dalek nqp: review: https://github.com/perl6/nqp/commit/871792505f
17:34 laben nvm it was a thinko, working on it
17:43 nine How can I give a stub a repr in BOOTSTRAP?
17:44 FROGGS nine: dunno what you mean :o/
17:44 FROGGS nine: but can you tell me if Str.ords should return a Seq? changing a 'returns List:D' to 'returns Seq:D' would fix a spectest...
17:46 nine FROGGS: class IterationBuffer is repr('VMArray'). I need to stub that in BOOTSTRAP.nqp but cannot find a syntax hat allows me to add the is repr
17:46 FROGGS nine: sorry, $wife forces me to eat dinner now :o(
17:47 FROGGS I'm back in about 30 minutes
17:47 nine FROGGS: considering that the GLR is about not copying lists anymore unless absolutely necessary, I'd say we should return Seq wherever possible
17:53 dalek rakudo/glr: 328aa98 | moritz++ | src/core/metaops.pm:
17:53 dalek rakudo/glr: Fix right-assoc meta reduce
17:53 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/328aa98900
17:57 timotimo damn, i just stumbled over my power cord and catapulted my laptop off of the table
17:57 moritz ok, reduce.t now runs up to test 364, and passes those that nom pass
17:57 timotimo time to use that thinkpad protection programme i signed up for
17:57 moritz and then it dies in push-exactly
17:57 moritz so a gather/take bug
18:00 moritz out of my league, I fear
18:00 moritz reduce meta op porting finished.
18:04 Guest6532 joined #perl6
18:16 timotimo FROGGS: we may want a moarvm and nqp bump for that fix
18:21 RabidGravy timotimo, it's usually the headphones I do it with.  Though back around the turn of the century I did extensively remodel a laptop by propelling it off a desk to fall on to the very sticky out PCMCIA WiFi card, bending both card and slot.  Strangely, given some gaffa tape to fix the wobbliness it carried on working.
18:22 timotimo hmm.
18:22 timotimo i used this opportunity to set up my email on my smartphone so i can get an answer from the support there
18:24 RabidGravy The laptop finally bit the dust a few months later when I put it in the over-head luggage rack on a train and it managed to propel itself off when the train braked and smacked me in the head, giving me concussion and broke the screen
18:24 timotimo ouch
18:25 timotimo i'm going to open up the device to see if it'd take more damage if i plug in the power cord
18:25 Averna joined #perl6
18:25 timotimo otherwise the battery'll run out and that'd be it ...
18:25 [Coke] everything but glr died on today's run, so glr is at 100%. :P
18:26 [Coke] ah, happened to catch "error: pathspec '2015.07.2-28-g6fe08b4"
18:26 nine Wow, so we can stop working now?
18:27 RabidGravy beers all round I guess
18:27 [Coke] the bad nqp dep get fixed/
18:27 [Coke] ?
18:28 [Coke] looks like, running again...
18:33 nine Ok, I patched MoarVM so I can rebless an nqp::list to IterationBuffer. I patched nqp so I can give a stub a repr. I patched rakudo to rebless the nqp::list to IterationBuffer before binding to $!reified.
18:33 nine And now perl6 throws a huge backtrace because something expects a List but now gets an IterationBuffer :/
18:35 moritz it's yaks all the way down
18:37 RabidGravy what kind of noise do yaks make?
18:38 RabidGravy speaking of repr - is it possible to create a new repr in user space or is it a lower level thing exclusively
18:39 KCL joined #perl6
18:39 moritz it's a low-level thing
18:41 RabidGravy plan A then
18:44 [Coke] onomatopoeically, a yak would make kind of a barfing noise.
18:45 virtualsue joined #perl6
18:45 moritz programmatically, it would make no noise, because it hides so the programmer doesn't shave it
18:45 zakharyas joined #perl6
18:48 muraiki this led me to finding http://www.yak-lang.org/ which while I don't understand it, it uses racket so it must be awesome somehow
18:50 jkva joined #perl6
18:51 skids moritz: https://gist.github.com/skids/11e5cf9935e48f2a4cb9
18:53 leont joined #perl6
18:54 RabidGravy disappointed with freesound.org on this matter but I think this is the sound yaks make https://freesound.org/people/Corsica_S/sounds/109936/
18:55 diana_olhovik_ joined #perl6
18:57 moritz skids: I think this just hides a deeper bug
18:57 llfourn joined #perl6
18:57 skids Howso?  It was dispatching 3 args to a 1-arg metaop -- should it not have had the 3 args?
18:58 moritz skids: then why the special case for 2?
18:59 skids Because of the special case that elides the &reduce at the top
18:59 skids Which strikes me as an optimization.
19:00 mr-foobar joined #perl6
19:01 moritz skids: ok, you convinced me
19:01 nine m: my @a = 1,2; say for ^@a.elems;
19:01 GLRelia rakudo-moar 328aa9: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9ebi0Avoyc␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/9ebi0Avoyc:1␤------> 3my @a = 1,2; say7⏏5 for ^@a.elems;␤»
19:01 camelia rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MgdDjH5QwA␤Unsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument␤at /tmp/MgdDjH5QwA:1␤------> 3my @a = 1,2; say7⏏5 for ^@a.elems;␤»
19:01 nine m: my @a = 1,2; .say for ^@a.elems;
19:01 GLRelia rakudo-moar 328aa9: OUTPUT«0␤1␤»
19:01 camelia rakudo-moar 815fff: OUTPUT«0␤1␤»
19:02 [Coke] skids: the test you added for 123776 is different than the ticket - you're overriding a value there, not keeping the BEGIN one in the absence of a non BEGIN value.
19:02 * skids looks
19:04 [Coke] skids; merged RT#123770 and RT#124839
19:04 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123770
19:05 dalek rakudo/glr: 0d2f911 | moritz++ | src/core/metaops.pm:
19:05 dalek rakudo/glr: Fix [X~]. Patch by skids++
19:05 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/0d2f911e39
19:05 skids Huh, must have been real tired.
19:06 * FROGGS is back
19:07 moritz nine: fwiw deepmap also creates a List by binding an NQP list to $!reified
19:08 dalek rakudo/glr: 5679420 | FROGGS++ | src/core/Str.pm:
19:08 dalek rakudo/glr: change the return type constraint to Seq:D for ords()
19:08 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/5679420d70
19:08 dalek roast/glr: f70ab58 | skids++ | S04-phasers/begin.t:
19:08 dalek roast/glr: Fix test for RT#123776
19:08 dalek roast/glr: review: https://github.com/perl6/roast/commit/f70ab58537
19:08 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123776
19:08 nine moritz: deepmap is what I'm working at
19:08 skids Oh dear I was on glr.
19:08 [Coke] lizmat: why did https://github.com/perl6/roast/commit/04520b26ec4c5eda97a53140d3c1105bf2e7f183 change so much more than just done-testing?
19:08 [Sno] joined #perl6
19:09 skids Now I actually am forced to learn more git.
19:09 dalek roast/glr: a7f470c | PerlJam++ | S32-hash/invert.t:
19:09 dalek roast/glr: update invert tests for glr
19:09 dalek roast/glr: review: https://github.com/perl6/roast/commit/a7f470c15b
19:09 dalek roast/glr: 971fda7 | PerlJam++ | S32-hash/antipairs.t:
19:09 dalek roast/glr: add tests for antipairs
19:09 dalek roast/glr: review: https://github.com/perl6/roast/commit/971fda72c8
19:10 FROGGS [Coke]: wow, that patch changes a lot
19:10 leont Wait, done is now done-testing (almost-again)?
19:11 [Coke] done is being freed up for async stuff.
19:11 [Coke] FROGGS: some of them seem to be sigfigs, but there's more than that.
19:12 dalek rakudo/glr: 7d238fe | PerlJam++ | src/core/ (2 files):
19:12 dalek rakudo/glr: Implement invert/antipairs
19:12 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/7d238fe172
19:12 skids yay I now have used git cherry-pick for my first time.  Do I get a big V painted on my forehead?
19:12 leont I was already surprised, done is a rather valuable name
19:13 dalek roast: e369518 | skids++ | S04-phasers/begin.t:
19:13 dalek roast: Fix test for RT#123776
19:13 dalek roast: review: https://github.com/perl6/roast/commit/e369518ece
19:13 synbot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=123776
19:13 espadrine joined #perl6
19:13 FROGGS skids: :D
19:13 FROGGS is that signature valid? +    method absolutify(CompUnitRepo::Locally:_: |c) {
19:13 moritz I think so
19:13 FROGGS m: sub foo(IO:_: |c) { }
19:14 GLRelia rakudo-moar 567942: ( no output )
19:14 camelia rakudo-moar 815fff: ( no output )
19:14 moritz :_ is a modifier like :D (though it's redundant, it allows everything)
19:14 moritz and the last : is the invocant marker
19:14 FROGGS ohh
19:14 FROGGS never seen it
19:14 moritz 'cause there's no reason to write it
19:14 FROGGS aye
19:15 moritz except maybe stating that you thought about making it :D, and explicitly decided against it
19:17 masak :_: suffers from lack of visual-pill-ness.
19:19 masak or, perhaps more to the point, the two things :_ and : turn into a visual pill when they don't deserve to.
19:19 masak 'night, #perl6
19:19 [Coke] ~~
19:20 colomon o/
19:20 nine Why did I have to try this?
19:20 abaugher joined #perl6
19:20 moritz nine: because you're awesome!
19:22 vendethiel joined #perl6
19:24 dalek rakudo/glr: 5f95fa8 | PerlJam++ | src/core/Hash.pm:
19:24 dalek rakudo/glr: Remove apparently old "XXX GLR" comment
19:24 dalek rakudo/glr: review: https://github.com/rakudo/rakudo/commit/5f95fa8d91
19:29 timotimo Finally I have glowing bear set up on my tablet
19:30 Juerd joined #perl6
19:30 jdv79 nine++
19:31 integral joined #perl6
19:32 nine I only get "This representation (VMArray) does not support attribute storage" but the stack trace is useless and I can't find a place where $!reified of a List is accessed directly and treated like anything but an nqp::list or IterationBuffer
19:34 FROGGS hmmm, hard to tell
19:35 nine Or maybe the stack trace is usefull and only I can't see it: https://gist.github.com/niner/c46e336fb3f2e26a7990
19:38 skids Well, only to you, because the line numbers are from your m-CORE
19:41 lsm-desktop joined #perl6
19:41 geekosaur joined #perl6
19:41 jkva joined #perl6
19:43 RabidGravy timotimo, I thought you said glowing beer and got all excited
19:44 zakharyas joined #perl6
19:50 yqt joined #perl6
19:56 [Tux] joined #perl6
19:57 llfourn joined #perl6
20:01 jkva joined #perl6
20:02 abaugher joined #perl6
20:06 mr-foobar joined #perl6
20:10 FROGGS m: say List ~~ Coolllllll
20:10 camelia rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/3XhpvxpADY␤Undeclared name:␤    Coolllllll used at line 1␤␤»
20:10 GLRelia rakudo-moar b866b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Bi75JfyIe_␤Undeclared name:␤    Coolllllll used at line 1␤␤»
20:10 FROGGS m: say List ~~ Cool
20:10 GLRelia rakudo-moar b866b6: OUTPUT«True␤»
20:10 camelia rakudo-moar 815fff: OUTPUT«True␤»
20:10 FROGGS m: say Seq ~~ Cool
20:10 GLRelia rakudo-moar b866b6: OUTPUT«False␤»
20:10 camelia rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7RiQv7HDe4␤Expected a term, but found either infix ~~ or redundant prefix ~␤  (to suppress this message, please use a space like ~ ~)␤at /tmp/7RiQv7HDe4:1␤------> 3say Seq ~~7⏏5 Cool␤»
20:18 rurban joined #perl6
20:24 FROGGS hmmm, I want to make Seq ~~ Cool true...
20:24 FROGGS this makes two test files pass
20:24 FROGGS and it *feels* right to me
20:25 RabidGravy multi method ACCEPTS(Seq $) { True } ;
20:25 RabidGravy ;-)
20:25 FROGGS :P
20:25 nine FROGGS: how does that help?
20:26 FROGGS nine: "foo".ords.chrs is meant to work
20:26 FROGGS and .chrs is in Any or so
20:26 FROGGS and since List and Array are Cool I think Seq should be too...
20:32 jkva joined #perl6
20:35 FROGGS m: say join("|", [])
20:35 camelia rakudo-moar 815fff: OUTPUT«␤»
20:35 GLRelia rakudo-moar 84375c: OUTPUT«␤»
20:38 FROGGS m: say join("|", [ "a", "b", "c" ])
20:38 GLRelia rakudo-moar 84375c: OUTPUT«a|b|c␤»
20:38 camelia rakudo-moar 815fff: OUTPUT«a b c␤»
20:38 jkva_ joined #perl6
20:41 FROGGS m: sub foo(*@values) { say @values[0] }; foo [1, 2, 3] # that's a glr bug, right?
20:41 GLRelia rakudo-moar 84375c: OUTPUT«1␤»
20:41 camelia rakudo-moar 815fff: OUTPUT«1 2 3␤»
20:42 leont m: sub foo(**@values) { say @values[0] }; foo [1, 2, 3]
20:42 GLRelia rakudo-moar 84375c: OUTPUT«1 2 3␤»
20:42 camelia rakudo-moar 815fff: OUTPUT«1 2 3␤»
20:45 nine How could I have broken EXPORT, so I'd get a "Method 'EXISTS-KEY' not found for invocant of class 'Mu'" in src/core/traits.pm:252?
20:46 FROGGS https://gist.github.com/jnthn/aa370f8b32ef98e4e7c9#file-glr-p6-L64
20:47 nine m: sub foo(*@values) { say @values[0] }; foo | [1, 2, 3]
20:47 FROGGS nine: I guess the thing that is now Mu shouldn't be
20:47 GLRelia rakudo-moar 84375c: OUTPUT«1␤»
20:47 camelia rakudo-moar 815fff: OUTPUT«1␤»
20:47 laben there was an explaination around about *@ and **@, should be in irc logs
20:48 nine FROGGS: I guess it's the single arg rule that makes it interpolate
20:48 nine m: sub foo(*@values) { say @values[0] }; foo $[1, 2, 3]
20:48 GLRelia rakudo-moar 84375c: OUTPUT«1 2 3␤»
20:48 camelia rakudo-moar 815fff: OUTPUT«(Any)␤»
20:52 FROGGS nine: so I'll adjust the expectation of the tests
20:52 nine FROGGS: it's just my guess however :) I'd really like jnthn++ or TimToady++ to confirm that
20:53 FROGGS yeah...
20:57 skids IIRC *@ always flattens.
20:57 skids m: sub foo(*@a) { @a.perl.say }; foo [1,2,3],[4,5,6]
20:57 GLRelia rakudo-moar 84375c: OUTPUT«[1, 2, 3, 4, 5, 6]␤»
20:57 camelia rakudo-moar 815fff: OUTPUT«[[1, 2, 3], [4, 5, 6]]<>␤»
20:59 FROGGS m: sub foo(*@a) { @a.perl.say }; foo [[1,2,3],[4,5,6]]
20:59 GLRelia rakudo-moar 84375c: OUTPUT«[$[1, 2, 3], $[4, 5, 6]]␤»
20:59 camelia rakudo-moar 815fff: OUTPUT«[[[1, 2, 3], [4, 5, 6]]]<>␤»
20:59 FROGGS okay
20:59 moritz m: sub foo(|a) { a.perl.say }; foo [1,2,3],[4,5,6]
20:59 GLRelia rakudo-moar 84375c: OUTPUT«\([1, 2, 3], [4, 5, 6])␤»
20:59 camelia rakudo-moar 815fff: OUTPUT«\([1, 2, 3], [4, 5, 6])␤»
21:00 laben >.<  so much time lost because i fixed revdeps but forgot to remove installed libs and panda was going on and on with rebuilding them
21:02 nine laben: I wasted the whole evening without any progress ;?
21:02 nine :/
21:03 laben nine: that's when you need to stop and do something else, get your head away. when you return, you'll have a better POV
21:05 nine laben: wisely spoken
21:06 nine Does panda need any more rakudo fixes?
21:06 laben panda does need panda fixes, one of which i just added to the PR
21:08 laben panda's code will probably need a good reread after glr has stabilized, if the fixes are not consistent enough
21:09 laben for now, i will follow my own advice and go to bed early, for once
21:09 laben good work | rest #perl6
21:10 FROGGS gnight laben
21:13 RabidGravy toodlepip
21:14 ShimmerFairy joined #perl6
21:15 aborazmeh joined #perl6
21:15 aborazmeh joined #perl6
21:21 nine dalek down?
21:22 FROGGS seems like
21:22 nine Woah! Only 189/1047 spec test files failing now. Good work people!
21:22 FROGGS my commit to roast did not show up also
21:22 FROGGS 189? really?
21:23 FROGGS 197 test files fail on my box
21:23 nine Including my latest commit?
21:23 FROGGS ohh, perhaps not, no
21:23 nine That would rescue my evening if I fixed 8 files with that :)
21:24 FROGGS *g*
21:25 timotimo How about that bump for moar and nqp revisions?
21:26 FROGGS nine: and I potentially made three more pass with an upcoming commit :o)
21:26 FROGGS timotimo: yes, we need to do that
21:27 timotimo I am without development machine at the moment
21:27 nine I get 198 failing without my commit
21:27 timotimo Though I could turn the laptop on for an hour or so
21:28 FROGGS nine: you probably miss a roast commit
21:28 FROGGS timotimo: I'll do it in a second
21:28 nine m: my %a = { :a, :b, :c }; %a.pairs>>.say.say;
21:28 GLRelia rakudo-moar 3df39d: OUTPUT«b => True␤a => True␤c => True␤True True True␤»
21:28 camelia rakudo-moar 815fff: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/hVysqI5mFY:1␤␤»
21:29 nine m: my %a = { :a, :b, :c }; %a.pairs.say;
21:29 camelia rakudo-moar 815fff: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/qMzWFXM_8l:1␤␤»
21:29 GLRelia rakudo-moar 3df39d: OUTPUT«a => True c => True b => True␤»
21:29 nine m: my %a = { :a, :b, :c };
21:29 GLRelia rakudo-moar 3df39d: ( no output )
21:29 camelia rakudo-moar 815fff: OUTPUT«Odd number of elements found where hash initializer expected␤  in block <unit> at /tmp/MyImK5AflE:1␤␤»
21:29 nine ??
21:30 FROGGS nine: don't use curlies
21:31 FROGGS m: my %a = ( :a, :b, :c );
21:31 GLRelia rakudo-moar 3df39d: ( no output )
21:31 camelia rakudo-moar 815fff: ( no output )
21:31 FROGGS m: my %a = :a, :b, :c;
21:31 camelia rakudo-moar 815fff: ( no output )
21:31 GLRelia rakudo-moar 3df39d: ( no output )
21:31 nine m: my %a = ( :a, :b, :c ); %a.pairs>>.say.say;
21:31 GLRelia rakudo-moar 3df39d: OUTPUT«b => True␤a => True␤c => True␤True True True␤»
21:31 camelia rakudo-moar 815fff: OUTPUT«b => True␤a => True␤c => True␤True True True␤»
21:34 nine Well I was trying it only because skids++ mentioned it as the reason for deprecations.t failing. It now passes :)
21:40 nine FROGGS: what do you think of https://gist.github.com/niner/c7137af6c613bdef985d as a fix for t/spec/S02-names-vars/perl.t?
21:41 FROGGS we are down to 184 test files fwiw
21:45 RabidGravy and tomorrow it will be less
21:45 dalek joined #perl6
21:46 FROGGS nine: I dont understand why this would fix it
21:47 RabidGravy the software fairies are smiling on you
21:48 nine FROGGS: well .perl on an an itemized empty hash would print ${} which triggers a worry about using $() in Perl 6 instead of ${} while {}.item doesn't and should mean the same, shouldn't it?
21:48 FROGGS nine: on my box it fails for \42
21:49 nine FROGGS: you sure? that's just a warning
21:50 FROGGS ok 41 - ("False").perl returned something whose EVAL()ed stringification is unchanged
21:50 FROGGS ok 42 - ("False").perl returned something whose EVAL()ed .WHAT is unchanged
21:50 FROGGS Type check failed in binding <anon>; expected 'Any' but got 'Mu'
21:50 FROGGS and after False (?0) comes \42
21:50 nine ???
21:51 nine FROGGS: oh, you're running perl.t, not perl.rakudo.moar
21:51 FROGGS ups
21:52 FROGGS sorry
21:53 nine So, would it make sense?
21:54 FROGGS m: my $h = {}; say $h.perl; say $h.perl.EVAL
21:54 camelia rakudo-moar 815fff: OUTPUT«{}␤␤»
21:54 GLRelia rakudo-moar 7896e4: OUTPUT«${}␤5===SORRY!5=== Error while compiling EVAL_0␤Unsupported use of ${}; in Perl 6 please use $()␤at EVAL_0:1␤------> 3${}7⏏5<EOL>␤»
21:54 FROGGS aha
21:54 FROGGS nine: yes, I think it is sane
21:54 FROGGS err, make sense to apply
21:55 FROGGS gnight
21:58 llfourn joined #perl6
22:05 Juerd joined #perl6
22:07 rangerprice joined #perl6
22:09 rangerprice Hi
22:10 vendethiel o/, rangerprice
22:10 rangerprice So, why Perl 6 has not metaprogramming features ?
22:11 vendethiel rangerprice: it has tons of them
22:11 rangerprice serious ?
22:12 vendethiel rangerprice: yes. meta-programming for objects, macros, lexical scope, etc
22:12 rangerprice Perl 6 is an homoiconic language ?
22:12 vendethiel m: sub f { g(); }; sub g { say callframe(1); }
22:12 GLRelia rakudo-moar 7896e4: ( no output )
22:12 camelia rakudo-moar 815fff: ( no output )
22:12 jkva joined #perl6
22:12 vendethiel no, not homoiconic. Lisp isn't the only language with macros ;)
22:12 vendethiel m: sub f { g(); }; sub g { say callframe(1); }; f();
22:12 GLRelia rakudo-moar 7896e4: OUTPUT«/tmp/bDIVSRz4bf at line 1␤»
22:12 camelia rakudo-moar 815fff: OUTPUT«/tmp/oOVP5T3ihV at line 1␤»
22:13 rangerprice You are a Perl 6 developer venderthiel ?
22:15 vendethiel rangerprice: user, at least ;-)
22:16 vendethiel rangerprice: I wrote the learnxinyminutes, though I guess I still need to translate it to french!
22:16 vendethiel but the developers are most definitely sleeping atthis hour
22:18 rangerprice venderthiel: if you need traduction, i'm here
22:19 ugexe in a hash of array of hash/array etc (like projects.json for instance) is there a short and sweet way to find any instances of a specific key, any number of levels deep (but if it makes it easier, always at the end node), without knowing the exact structure of arrays and hashes?
22:22 vendethiel m: multi get(%hash, $key) { [//] %hash{$key}, (get($^v, $key) for %hash.values) }; multi get($, $) { Nil }; my %a = a => {b => 2};say get(%a, 'b');
22:22 GLRelia rakudo-moar 7896e4: OUTPUT«5===SORRY!5=== Error while compiling /tmp/rzcESsxGvI␤Placeholder variable '$^v' cannot override existing signature␤at /tmp/rzcESsxGvI:1␤------> 3multi 7⏏5get(%hash, $key) { [//] %hash{$key}, (ge␤»
22:22 camelia rakudo-moar 815fff: OUTPUT«5===SORRY!5=== Error while compiling /tmp/eGTZKZRWhj␤Placeholder variable '$^v' cannot override existing signature␤at /tmp/eGTZKZRWhj:1␤------> 3multi 7⏏5get(%hash, $key) { [//] %hash{$key}, (ge␤»
22:22 vendethiel m: multi get(%hash, $key) { [//] %hash{$key}, do for %hash.values { get($_, $key)} }; multi get($, $) { Nil }; my %a = a => {b => 2};say get(%a, 'b');
22:22 GLRelia rakudo-moar 7896e4: OUTPUT«2␤»
22:22 camelia rakudo-moar 815fff: OUTPUT«2␤»
22:22 vendethiel ugexe: something like this? :)
22:24 TEttinger joined #perl6
22:28 vendethiel I guess that doesn't work past one level, uh
22:29 ugexe yeah :(
22:29 rangerprice It would be great if perl have native c++ code integration in syntax
22:29 leont Good luck with that!
22:29 vendethiel rangerprice: that simply wouldn't be parsable. if your usecase is c/c++ code interop, nativecall is good at this
22:30 ugexe i was hoping there was a way to abuse antipairs or something to turn the hash inside out
22:30 RabidGravy except for the c++ name mangling part
22:31 vendethiel ugexe: there might very well be! i'm not versed into anti-pairs
22:31 leont RabidGravy: and its typesystem, and a bunch of other things
22:31 vendethiel leont: just think about name resolution! and ADL
22:31 rangerprice venderthiel : what metaprogramming features has perl
22:31 leont ADL will be fun too, yes
22:31 RabidGravy trivial to make a C wrapper of a C++  class in such a way the perl can use it
22:32 AlexDaniel joined #perl6
22:32 vendethiel rangerprice: you can use "tab" to autocomplete my name :)
22:32 vendethiel rangerprice: as I said: MOP for the objects, macros, callframe()-style, etc.
22:32 vendethiel rangerprice: the debugger is written only in perl6 code.
22:33 rangerprice oh
22:33 vendethiel here's teh debugger: https://github.com/jnthn/rakudo-debugger some metaprogramming code that adds a "monitor" keyword: https://github.com/jnthn/oo-monitors
22:35 RabidGravy at various times in the lifetime of a program yoy can get access to and modify the behaviour and meta data of nearly all the meta objects
22:36 RabidGravy what you do to them is obviously down to the program design
22:38 RabidGravy see also https://github.com/jonathanstowe/Staticish which takes some awful liberties with class composition to make a "static" class
22:41 rangerprice Why Perl is a hight level programming language and not a mid-level ? why perl has not C keyword like: const, static, constexpr...to produce a more optimized perl code ?
22:43 vendethiel static isn't related to optimization
22:43 vendethiel constexpr is akin to our BEGIN/constant
22:43 vendethiel const is "just" immutable data things in perl
22:44 RabidGravy it is optimised, but for programmer and design efficiency in mind rather than succinct machine code generation
22:46 RabidGravy "post-modern" - they've been banging on about moores law for years let's use it to make software developers lives happier
22:46 rangerprice okay, if perl can be optimized without an equivalent of the tons of keywords provided by C, why C need all this tons of keywords to produce optimized assembly and perl not ?
22:47 RabidGravy because perl doesn't make assembly (it could if you cared to make it happen of course)
22:48 skids joined #perl6
22:49 rangerprice oh
22:49 rangerprice oh i understand now
22:51 lizmat .tell [Coke] re https://github.com/perl6/roast/commit/04520b26ec4c5eda97a53140d3c1105bf2e7f183  I have *no* idea, I just reran the generate script
22:51 yoleaux lizmat: I'll pass your message to [Coke].
22:51 RabidGravy perl 6 is just a specification, the specification indicates that it will run on some virtual machine, the nature and implementation of the VM is a separate matter
22:51 lizmat .tell [Coke] I assumed it to be a hash ordering thing
22:51 yoleaux lizmat: I'll pass your message to [Coke].
22:59 cognominal rangerprice, in modern language most optimization is moved at the runtime. The runtime gets more info than the programmer and static optimizers can dream of.
23:01 cognominal And the time spent doing dynamic analysis is recouped by the optimisation produced except for very slow processors.
23:01 rangerprice oh
23:02 vendethiel ...in theory, at least ;-)
23:02 * vendethiel looks at SufficientlySmartCompiler
23:02 cognominal This has been pionnered by the Self language, used by Hotspot Java and now every javascript interprer.
23:03 * vendethiel 's not sure he'd use "self language" rather than "whichever VMs the great engineers built" :P. didn't IBM sell self and all, back then?
23:03 cognominal rakudo has most of the infrastructure to do it, but is not quite there yet.
23:04 cognominal self was a resarch language at Sun Microsystems. I think you can trace the self engineers moving from self, to java, to  javascript and Go :)
23:05 cognominal And then, there are the self taught people like jnthn :)
23:08 cognominal speaking of languages, I noted on #perlfr that Perl is rococo when the tendancy is now neoclassic like go  :(   But TimToady would argue that Perl is postmodern, not rococo. Things are there for a reason.
23:09 RabidGravy Yeah I'd go with post-modern too
23:10 cognominal well, that was an architectural pun, where neoclassic comes after rococo baroque :)
23:11 cognominal And go is definitevely neoclassical.
23:13 RabidGravy yeah but taken to the concrete extreme it would imply that perl (rococo) is a sentimental re-imaging of the pre-classical (e.g. cobol)
23:13 jkva joined #perl6
23:13 RabidGravy which clearly isn't the case
23:13 RabidGravy metaphor not pun
23:14 cognominal yea
23:14 RabidGravy :)
23:24 RabidGravy of course the problem with the whole analogy set is that in architectural (and indeed the arts generally) we're talking timescales of hundreds of years, in programming at most tens of years
23:28 * TimToady now at YAPC::Asia venue
23:29 RabidGravy yay!
23:30 cognominal RabidGravy, we could do a mapping like does Sagan with his cosmic calendar. There is clearly an event acceleration at the end and maybe some more complexity.
23:33 cognominal With the VM fashion, there is clearly the equivalent of endosymbiosis going on in the computer world.  And that brings Sagan's wife, Lynn Margulis, in the picture :)
23:39 aborazmeh joined #perl6
23:39 aborazmeh joined #perl6
23:39 tony-o peter sagan?
23:42 cognominal https://fr.wikipedia.org/wiki/Carl_Sagan  https://en.wikipedia.org/wiki/Cosmic_Calendar
23:46 tony-o i know
23:46 cognominal I don't know peter sagan
23:46 tony-o he's a professional bicycle racer
23:46 tony-o he also has event accelerations near the end
23:48 cognominal :)
23:59 llfourn joined #perl6
23:59 mjgardner joined #perl6

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

Perl 6 | Reference Documentation | Rakudo