Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-01-11

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:00 Quom__ m: say (^5).list
00:00 camelia rakudo-moar 34d2b6: OUTPUT«(0 1 2 3 4)␤»
00:04 Herby_ Quom__, thanks
00:21 perlawhirl joined #perl6
00:21 perlawhirl exit
00:21 yoleaux 7 Jan 2016 15:27Z <bpetering> perlawhirl: NativeCall bindings for libssh is on my TODO in the next month
00:21 yoleaux 8 Jan 2016 00:21Z <RabidGravy> perlawhirl: because you asked about it I made https://github.com/jonathanstowe/IO-Path-Mode :) any suggestions let me know
00:21 perlawhirl hi yoleaux!
00:22 perlawhirl i saw it the day after, hah
00:22 perlawhirl was looking at modules site and was like "oh there is a module" then saw it was added < 25 hours ago
00:22 perlawhirl so thank you
00:22 perlawhirl i've already started using it
00:23 perlawhirl left #perl6
00:24 perlawhirl joined #perl6
00:24 perlawhirl left #perl6
00:31 vendethiel joined #perl6
00:39 uruwi joined #perl6
00:45 grassass joined #perl6
00:46 pierre-vigier joined #perl6
00:57 yurivish_ joined #perl6
00:59 ggoebel7 joined #perl6
01:02 yeahnoob joined #perl6
01:03 vendethiel joined #perl6
01:06 joydo joined #perl6
01:06 dalek ecosystem: ad829c5 | thundergnat++ | META.list:
01:06 dalek ecosystem: Add Prime::Factor to ecosystem
01:06 dalek ecosystem:
01:06 dalek ecosystem: See https://github.com/thundergnat/Prime-Factor
01:06 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/ad829c57a4
01:10 sortiz joined #perl6
01:11 sortiz Hi #perl6
01:11 yoleaux 10 Jan 2016 16:06Z <nine> sortiz: I doubt that Array.flat's behavior is one of the most asked questions in #perl6. I usually read _all_ of #perl6 and cannot remember it coming up all that often.
01:13 Herby_ hello Sortiz
01:14 theorb Probably a stupid question, but ... I'm writing a simple grammar, or at least attempting to.  When I run say StepFile.parsefile("slider.stp"), I simply get back "Nil" ... well, if I say StepFile.parsefile("slider.stp"), I get Nil.  If I assign the result to a variable, and then say the variable, I get (Any).
01:14 theorb In neither case, though, do I get an indication of what went wrong.  Is there an easy way to find and display such a thing?
01:14 gtodd hello sortiz
01:14 theorb (I'm pretty sure it hit a rule I haven't defined yet, which I would have thought would be a fatal error, not just a non-match.)
01:15 gtodd what was the name given to the design "process" behind perl6 .. not iterative or agile or waterfall ... but something like that
01:15 gtodd whirtlpool ?
01:16 gtodd errm whirlpool  ...
01:16 sortiz .tell nine Somewhat exaggerated indeed, but should accept that its a fundamental question.
01:16 yoleaux sortiz: I'll pass your message to nine.
01:21 sortiz m: my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]); .say for @c, @c.flat;
01:21 camelia rakudo-moar 34d2b6: OUTPUT«[[1 a] [2 b]]␤(1 a 2 b)␤»
01:23 sortiz Array.flat isn't a nop for a shaped Arrray.
01:26 theorb Warnock's dilemma hits again -- http://doc.perl6.org/language/grammars and http://doc.perl6.org/type/Grammar do not seem to answer my question.  ...oh!
01:28 * gtodd finds confirmation re: "whirlpool design" in infoworld.com article .. http://bit.ly/1QkfpYu ...
01:28 theorb The syntax for invoking a subrule isn't foo, it's <foo>.
01:35 skids theorb: IIRC there is a Grammar::Debugger module of some sort.  Also, the reason why you get (Any) when you assign to a variable is just a property of Nil, which will set a variable to its default or failing that, its type object, when assigned to it.
01:41 sortiz my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]);  @c.List.flat eqv @c.flat; #When Array is shaped!
01:41 leont «require $name orelse die "Couldn't load $name"» gives me a «Use of uninitialized value of type Mu in string context» ($name is a Str:D), I'm confused
01:41 sortiz M: my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]);  @c.List.flat eqv @c.flat; #When Array is shaped!
01:41 camelia rakudo-MOAR 273e89: OUTPUT«5===SORRY!5=== Error while compiling /tmp/QXXCTd2Dvl␤Shaped arrays not yet implemented. Sorry. ␤at /tmp/QXXCTd2Dvl:1␤------> 3my @c[2;2]7⏏5 .= new(:shape(2, 2), [1, "a"], [2, "b"]␤    expecting any of:␤        constraint␤»
01:41 sortiz m: my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]);  @c.List.flat eqv @c.flat; #When Array is shaped!
01:41 camelia rakudo-moar 34d2b6: OUTPUT«WARNINGS for /tmp/pIYgwtOmqe:␤Useless use of "eqv" in expression ".flat eqv @c.flat" in sink context (line 1)␤»
01:42 sortiz m: my @c[2;2] .= new(:shape(2, 2), [1, "a"], [2, "b"]);  say @c.List.flat eqv @c.flat; #When Array is shaped!
01:42 camelia rakudo-moar 34d2b6: OUTPUT«True␤»
01:43 leont m: my $foo = "Foo"; require $foo orelse die "$foo failed"
01:43 camelia rakudo-moar 34d2b6: OUTPUT«Use of uninitialized value $foo of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.  in code  at /tmp/DEaLgV4erw line 1␤===SORRY!===␤ failed␤»
01:44 leont m: my $foo = "Foo"; require $foo orelse die "{$foo.perl} failed"
01:44 camelia rakudo-moar 34d2b6: OUTPUT«===SORRY!===␤Any failed␤»
01:44 leont WTF!
01:44 leont m: my $foo = "Foo"; require $foo; die "{$foo.perl} failed"
01:44 camelia rakudo-moar 34d2b6: OUTPUT«Could not find Foo in:␤    /home/camelia/.perl6/2015.12-170-g34d2b6f␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit::Repository::A…»
01:52 pierre-vigier joined #perl6
01:53 autarch my Test::Stream prototype (I really emphasize that word) is coming along pretty well - https://github.com/autarch/perl6-Test-Stream - it can generate TAP properly (I think) and it has the start of something that exports the same type of interface as the built-in Test.pm6
01:53 autarch I'd be interested in any feedback folks have on the design, the idiomacity of the code, and thoughts on how to make the whole "show failures from the right context" thing that I have not really implemented properly at all
01:54 sortiz m: my $foo = "Foo"; try { require $foo; CATCH {  die "$foo failed" }}
01:54 camelia rakudo-moar 34d2b6: OUTPUT«Foo failed␤  in block  at /tmp/BA_YShwZ0w line 1␤  in block <unit> at /tmp/BA_YShwZ0w line 1␤␤»
01:54 awwaiid nice autarch! someone at dc.pm was just teaching us about Test::Stream
01:54 autarch well, the p5 one is now called Test2, but that seemed like a silly name for p6
01:54 autarch the thing in core is more like Test0
01:55 autarch p6 core, that is
01:55 sortiz leont: try CATCH works. I suspect require is special cased in the grammar
01:55 autarch leont: please see above
01:55 autarch Exodist: you too
01:56 leont Yeah, the current Test.pm is … really a prototype
01:57 leont autarch: TAP doesn't specify quoting of a few things well, but please backslash quote at least # and \ in test descriptions
01:57 autarch leont: I'm pretty sure that's already done
01:57 * autarch checks
01:57 xpen joined #perl6
01:57 autarch ah, just '#', not '\'
01:57 leont Test.pm doesn't ATM, see https://github.com/Leont/rakudo/commit/3c427999e42e0563774be5619ca584bc005bc736
01:58 autarch I meant it's done in my TAP formatter code ;)
01:58 autarch yeah, neither TAP 12 nor 13 specify _anything_ about escapes at http://testanything.org/
01:59 leont Yeah, p5's Test::More has a similar issue, resulting is parsing issues in the harness when they're adjacent
01:59 autarch I think I need to add escaping of test _names_ as well
01:59 * autarch goes and does that ...
01:59 autarch oh wait, no, already did it, yay me
01:59 autarch but I didn't test it, boo me
02:00 pierre-vigier joined #perl6
02:00 leont Checking what my harness things of your TAP would also be interesting
02:00 autarch yeah, definitely
02:06 leont Got rid of the TAP producer that it carried, having it that tied to TAP was suboptimal (even if it was convenient for self-testing)
02:17 Ben_Goldberg joined #perl6
02:21 xenu joined #perl6
02:34 kaare_ joined #perl6
02:35 pierre-vigier joined #perl6
02:35 atweiden joined #perl6
02:37 Zoffix joined #perl6
02:38 Zoffix .
02:38 yoleaux 10 Jan 2016 20:14Z <stmuk__> Zoffix: I added at('link[type="text/html"]') (which I now see you improved)
02:39 Zoffix Ah, I see.
02:39 muraiki joined #perl6
02:39 autarch leont: escaping done and tested - and I learned that emacs uncomment-region does not play nicely with bugs in perl6-mode along the way
02:43 leont :-)
02:47 pierre-vigier joined #perl6
02:47 Zoffix joined #perl6
02:48 ilbot3 joined #perl6
02:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
02:54 zwu joined #perl6
02:55 muraiki joined #perl6
02:58 molaf__ joined #perl6
03:03 xpen joined #perl6
03:03 pierre-vigier joined #perl6
03:07 pierrot joined #perl6
03:16 pierre-vigier joined #perl6
03:18 Actualeyes joined #perl6
03:26 pierre-vigier joined #perl6
03:34 leedo joined #perl6
03:35 dalek ecosystem: c285433 | (Wenzel P. P. Peppmeyer)++ | META.list:
03:35 dalek ecosystem: add XHTML::Writer
03:35 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/c285433423
03:35 gfldex $modules++
03:48 zwu_ joined #perl6
03:48 pierre-vigier joined #perl6
03:51 pierre-vigier joined #perl6
03:58 Ben_Goldberg joined #perl6
03:58 noganex_ joined #perl6
03:58 pierre-vigier joined #perl6
04:04 sortiz gfldex: I found that Array.flat was specially made for flatten shaped arrays, so its orthogonal to Iterable.flat, that fact should be documented in type/Array to avoid the recurring question.
04:08 vendethiel joined #perl6
04:09 zwu_ how can I call a sub defined in a package our scope, suppose there is A::foo sub,  I have imported it, and I can it in lexical by A::foo();, but I call failed through my $n = 'A'; ::($A)::foo();
04:09 zwu_ I mean ::($n)::foo();
04:12 pjscott joined #perl6
04:13 pierre-vigier joined #perl6
04:21 pierre-vigier joined #perl6
04:23 xpen joined #perl6
04:26 pjscott Synopsis 1: "A Perl 6 interpreter, if invoked as "perl", will assume that it is being fed Perl 5 code unless the code starts with a "class" or "module" keyword, or you specifically tell it you're running Perl 6 code in some other way"
04:26 pjscott But this code does not have 'use v6' and still runs perl6 not perl5:
04:26 pjscott #!/usr/local/bin/perl6
04:26 pjscott say $*PERL;
04:27 pjscott in a file with no extension.
04:28 gfldex pjscott: see https://en.wikipedia.org/wiki/Shebang_%28Unix%29
04:29 pjscott Yes, but synopsis 1 implies that you need a 'use v6' even if you have the #!/usr/local/bin/perl6
04:29 gfldex pjscott: what your operation systems kernel does when it find an executable that isn
04:30 gfldex ... isn't ELF, is beyond the scope of synopsis 1
04:31 geekosaur no, it says if invoked as perl
04:31 geekosaur it is invoked as perl6
04:31 geekosaur unless there is another part you didn't quote
04:33 pjscott S1 says: or you specifically tell it you're running Perl 6 code in some other way, such as by:
04:33 pjscott #!/usr/bin/perl6
04:33 pjscott use v6.0;
04:33 pjscott I interpret that as meaning that if you have a shebang referencing perl6 that you still need a use v6.
04:33 pjscott Unless S1 is trying to say those lines are alternatives
04:33 geekosaur "or" means something else?
04:33 pjscott But it doesn't read that way to  me.
04:35 pjscott I think perl6 is doing the right thing and S1 is at best confusing, but I am not sure what the actual intent is.
04:39 sortiz pjscott: Imagine a future unified "perl" interpreter that implement both of perl5 and perl6.
04:40 geekosaur actually that is the context in which it was written; the original plan was that perl6 would be installed as perl and change itself into perl5 without some early evidence that it was looking at perl6 code. That got dropped
04:40 pjscott sortiz: Got it.
04:40 geekosaur (in part because perl5 is scary polymorphic at times...)
04:40 pjscott I wonder whether this is still a good idea.
04:42 Exodist autarch, I do recomment looking at Test2::API::context(), and the Test2::API::Context.pm which is the object it creates.
04:42 Exodist *recommend
04:42 Exodist specially now that I have de-magiced it.
04:43 autarch Exodist: yeah, I started looking at that - it seemed a bit complex, and I wasn't sure whether the complexity was from a) Perl 5 limitations; b) backwards compat issues; c) inherent complexity in the problem being solved; d) some combo of a-c
04:44 Exodist at is a bit of all of the above, but fact is the problem space is hard, let me see if I can summarize the design.
04:45 autarch pjscott: I don't think the "assume it is being fed Perl 5 code" thing actually works based on a quick test
04:45 Exodist In general a tool (called in a test file) asks for a context. the context finds the place hwere stuff should be reported using caller. It then returns the object. Any nested tool (tool called inside the first) that then asks for a context, MUST get the one the outer tool already got.
04:45 autarch hmm, or maybe it does? i symlinked ./perl to perl6, but perl6 is really rakudobrew in my case
04:46 Exodist that way you don't need to search for the root caller, it is locked into place from the start
04:46 pjscott autarch: agreed.  I didn't know whether it was S1 that was out of date or Rakudo that hadn't caught up.
04:46 autarch Exodist: and the idea is that you can set up and destroy (called release?) a new context along the way?
04:46 Exodist and since everything needs the context it made sense to also make it serve double-duty as the primary event generator, all events need info from it anyway
04:46 Exodist release may not be needed in perl
04:46 Exodist *perl6
04:46 autarch pjscott: actually, rakudobrew is a p5 script, so I have no idea what's supposed to happen
04:47 Exodist it is there to get around the problem that you cannot throw exceptions or do similar things in a DESTROY in perl5
04:47 autarch but given that AFAIK rakudo can't parse p5 I can't see how S1 makes much sense
04:47 Exodist I do not know for sure in perl6, but you can probably just use a destructor
04:47 pjscott autarch: I installed plain rakudo instead.  Although now I do not have panda.
04:47 autarch Exodist: yeah, that might make it easier
04:48 Exodist also, when the context is created it gathers info other than caller, such as what the current hub is, etc.
04:48 pjscott And a 'use v5' results in "Could not find Perl5 in:..."
04:48 Exodist a context also knows what pid/tid it has, which may be even mor eimportant in perl6
04:49 Exodist the problem of having all the right info gathered, and then shared to nested tools is suprisingly complex, specially once threads and IPC come into play
04:49 autarch Exodist: yeah, I've been thinking about the parallel case a lot and I'm not sure exactly how it should work in p6 - I'm not even sure the code I'm writing should care about it
04:49 Exodist but once you get the logic right, and can rely on it, so many other problems just go away, or become trivial to solve
04:49 Exodist I don't know much about perl6, but I am fairly sure you would regret not considering multi-process and threading from the start
04:50 Exodist it is very hard to bolt on after the fact
04:50 hobbs pjscott: "if invoked as 'perl'" isn't true in your context so the rest doesn't matter :)
04:50 Exodist Including those considerations from day 1 was really crucial in my work
04:50 Exodist specially since Test::Builde rhad really crappy thread support, and no multi-process support
04:51 mdih joined #perl6
04:51 autarch pjscott: ok, did a better test - invoking my _actual_ perl6 moar shell wrapper (which captures $0) and running some p6 code via -e works just fine
04:52 autarch and running some p5 code in a file with that "./perl" symlink just blows up because it can't load warnings.pm
04:54 autarch Exodist: actually, the way threading works in p6 should mean that _I_ don't have to think about it much ;)
04:54 autarch I am currently capturing pid/tid for each event's source - so if you had a listener receiving events across multiple pids or tids it could de-interleave them
04:54 hobbs yeah, clearly it's not implemented. But I read it as saying that if it were, any of "use v6", "perl6" in first word of shebang, "perl6" in argv[0], or .p6 extension would be sufficient :)
04:54 Exodist ah, well, that would be nice, what about multi-process?
04:54 autarch or you could make a hub that delivered each pid/tid to its own listener
04:55 autarch Exodist: the question there is how easy it will be to serialize test events, I think
04:55 Exodist autarch, one huge benefit of multi-process in perl5 is that you can fork to have isolated states. That way some parts of a test do not contaminate others.
04:55 autarch Exodist: yep, I had exactly that though too - even if p6 makes threading easy people may want to parallel tests with forks anyway
04:55 Exodist autarch, thats mostly what the perl5 version does
04:55 Exodist it does it with an IPC driver though since there is no obvious/easy way
04:56 Exodist and the main driver writes file sinto a shared temp dir, where the filename has info about which process/thread should read the file.
04:56 Exodist which works, but is no exactly speedy.
04:56 autarch my current thinking in p6-land is that the child process would attach a listener to the hub that serializes events down a pipe and the parent process would listen on that pipe and deserialize events back to the central hub
04:56 Exodist though suprisingly my IPC utperforms the shared variable system Test::Builder used.
04:56 autarch I guess a file would work fine too
04:57 Exodist autarch, I tried something similar with Test2, the problem was that if you fork a couple times, or if a child forks, the shared pipe gets a lot of cross-talk and things get scrambled.
04:57 autarch I think in theory it's possible to make things really easy to serialize by calling "$thing.perl" on them and then EVALing them to deserialize
04:57 Exodist if 2 children try to write to the pipe at the same time, the input could get mixed.
04:57 autarch ah, yeah, that would be bad
04:57 pjscott joined #perl6
04:58 Exodist thats why I went with files.
04:58 autarch yeah, maybe I'll skip the whole pipe thing then
04:58 Exodist I also the other day added a single shared  memory system to notify that events are pending to avoid reading the entire dir every time the system thinks it should poll
04:58 autarch the other thing I'm trying to figure out is what goes in the Test::Stream distro and what goes in a harness
04:59 Exodist in fact, I would LOVE it if I could get some eyes ont he commit for the shm stuff.
04:59 Exodist at the very least I want someone to read my commit message and tell me if I am making a mistake in my logic, even if the code is not read
04:59 autarch also, currently it seems like p5 harness code is TAP-specific, but maybe you want a harness that is about events and not TAP
04:59 Exodist autarch, I have too much on ym plate right now, but I am considering eventually writing a new harness
05:00 Exodist autarch, https://github.com/Test-More/Test2/commit/86aa83662d9b79de214e7496ad2f925b0e87c3e7   I would be very appreciative if you would glance at this and provide feedback, even if just the commit message
05:00 autarch I'd really like to divert p6 from the "TAP is all there is" path that p5 went down - TAP is really not that great
05:00 Exodist if you do take my file based apporach then it will probably be just as important to you
05:00 autarch especially since it hasn't evolved much since the original spec and nothing seems to even implement TAP13
05:00 Exodist autarch, agreed, I have TAP as a starting point, but it is trivial to make a new formatter and arbitrary even types
05:00 Exodist *event types
05:01 autarch the API I have now won't work so well with arbitrary events
05:01 autarch actually, I could make it really easy to have a catchall method that received any unknown events
05:01 autarch but there's also a bunch of code around tracking state of the suite as a whole (like you can't end a suite before it starts, etc) that wouldn't know what to do with new events
05:03 Exodist you have to start somewhere, and to get anything going you have to code to assumptions, but fyi, I think that assumption will actually have to go in the future ;-)
05:04 Exodist I laugh remembering how I thought all this would look when I took it on, what 2 years ago? wow.
05:04 autarch yeah, as I said earlier, this is very much a prototype
05:06 Exodist :-)
05:08 hobbs TAP is full of wacky, but there isn't enough other stuff out there that's machine-readable and not-XML.
05:08 Exodist the important thing is to NOT couple the output format to the system itself
05:08 Exodist that is one of Test::Builders biggest limitations
05:09 Exodist in Test2 there is a TAP formatter that turns events into tap, it is a small file, and nothing else in the system cares about it.  IT is also trivial to write alternative formatters
05:09 autarch hobbs: yeah, I'm all for human readable
05:09 autarch TAP would be decent if there was a TAP14 that spec'd out subtests
05:10 Exodist autarch, if it didn't also account for concurrent subtests I would find the spec useless
05:10 autarch Exodist: yeah, that's exactly how I did this, there are event producers, which send events to a hub, which passes them on to 1+ listeners, and presumably one of the listeners is a formatter
05:10 hobbs yeah, the whole standardization thing just ran out of leadership
05:10 autarch Exodist: what's a concurrent subtest?
05:10 Exodist because the way Test::Builder does it, concurrent subtests are a no-go, everything gets mixed
05:10 Exodist autarch, when you run 2 subtests at the same time, and both are generating events at the same time
05:10 Exodist which requires threeading or forking
05:11 autarch see, that's not up to _TAP_ to solve
05:11 autarch your formatter should buffer the events it needs to produce sane TAP
05:11 Exodist mine does :-)
05:11 Exodist you can do buffere dsubtests, or streamed ones (or one of each...)
05:12 Exodist (subtest_buffered name => sub { ... };  or subtest_streamed name => sub { ... }
05:13 autarch I honestly don't think TAP could handle that sort of concurrency and still retain human-readability cause the only way I can think of to do that would be to to tag every line with a unique id or something - which works fine for something intended to be parsed by a machine
05:13 autarch but the resulting jumble would be incomprehensible if seen raw from the CLI
05:14 autarch although I note that the TeamCity format, which is all about machine-readability, does not bother with this at all, which is kind of annoying
05:15 autarch if everything is going to look like ##[teamcity key="value" foo="bar"] then why not throw in a UUID there too?
05:15 Exodist I think the solution for tap is simply to specify that subtest output should be buffered in a concurrent environment.
05:15 autarch Exodist: btw, I read through the commit you linked and I don't really follow it, but I think I'd need to understand the whole IPC mechanism better
05:15 Exodist not require it in a non-concurrent test, no point.
05:15 autarch Exodist: yeah, that's what I said in the first place ;)
05:15 Exodist autarch, ok, thanks for trying :-)
05:16 autarch the commit seems to do what you describe in the commit message, but I'm not sure _why_ this is helpful - is it just so that the parent process can read things more quickly?
05:16 autarch but what's wrong with just tailing a file (or using inotify/kqueue/etc)?
05:17 Exodist ah, let me explain the problem
05:18 Exodist the IPC driver works by writing events as files in a shared temp dir. This is called a 'cull' where it opens the dir, reads all file listing, then opens and reads any events intended for it.
05:18 Exodist every process.thread has to cull to get events sent to it (it is not just the parent that has to cull)
05:19 Exodist So to make event show up in realtime the cull has to happen regularly
05:19 Exodist this is called polling
05:19 autarch oh, so is each event a separate file?
05:19 Exodist polling happens every time a tool obtains a context, cause it is a good place to hook it
05:19 Exodist yes
05:19 autarch now this makes a bit more sense
05:19 Exodist but, every time something wants to make an event it needs a context, so this happens a lot
05:20 Exodist so opening, reading, and then closing the dir handle every time is a huge expense
05:20 Exodist and most of the time there is nothing to read
05:20 autarch ok, so the shm bit is a flag to indicate whether to bother culling
05:20 Exodist however, this system alters the shm value whenever an event is written. The shm has no useful information, it just means 'a change has happened' whcih tells all threads/procs to do a cull
05:20 Exodist if the shm has not changed they skip the cull
05:20 Exodist this took my 100k-ok test from 6 seconds to 2 seconds
05:21 autarch I do note that with a single file you could "just" tail the file - this is super-efficient with kqueue and inotify, and probably much less efficient if you have to do it in pure Perl
05:21 Exodist which is a huge performance gain
05:21 autarch I mean, I'm assuming that every process gets its own file to write to
05:21 Exodist autarch, but remember, multiple threads/procs are generating events, they would have to lock the file.
05:22 autarch hmm
05:22 Exodist ok, at which point the other procs need to poll for new thread/proc specific files to read
05:22 Exodist any proc/thread can send events to any proc/thread
05:22 Exodist though typically it is more of a tree where each one sends to its parent whcih propogrates them down
05:22 autarch why would two sibling procs be communicating?
05:22 autarch yeah, I was assuming a tree
05:22 Exodist autarch, they won't normally
05:22 Exodist with 1 exception:
05:22 Exodist bail-out
05:23 Exodist a bail-out event is a "global" event
05:23 Exodist it gets written such that all procs/threwads see it and know to stop everything
05:23 autarch it seems like bail-out should propogate up to the top and then back out to the rest of the tree
05:23 Exodist thats one way to do it
05:23 Exodist but the style I have allows for a broadcast.
05:23 Exodist send a global event that all threads are sure to get
05:24 autarch I'll have to really dig into the guts of Test2 at some point I'm sure
05:24 Exodist it is also used to solve another problem perl6 probably does not have
05:24 autarch which is?
05:24 Exodist and that is waiting on child threads/procs. In perl5 this is actually hard, if the main thread exists with child threads running the exit code can still be 0, and the TAP might not sya there has been a problem
05:24 Exodist *exists/exits
05:25 Exodist NO PLAN + the root thread/proc exiting 0 before children are finished... not good
05:25 Exodist but with Test2 I have it wait on children and poison the TAP output if it detects real problems
05:27 Exodist Test::SharedFork and Test::Builde rusing threads both have this. I was able to write test scripts where child procs/threads had failures, but the parent exited early enough that the harness never saw them and let it pass.
05:27 uruwi joined #perl6
05:27 autarch hmm, that might be possible in p6 too ...
05:27 autarch m: for 1..10 { Thread.start( name => $_, sub { sleep 1; say $*THREAD.name } ) }; exit 0
05:27 camelia rakudo-moar 34d2b6: ( no output )
05:28 autarch m: for 1..10 { Thread.start( name => $_, sub { sleep 1; say $*THREAD.name } ) };
05:28 camelia rakudo-moar 34d2b6: OUTPUT«3␤2␤5␤6␤7␤8␤4␤1␤9␤10␤»
05:28 uruwi Sleep shuffle?
05:28 autarch so you can definitely exit before threads fire
05:28 Exodist and if you use done_tersting, it can do a final plan with he count so-far and then the failures come too late
05:28 autarch s/fire/finish/
05:28 Exodist or the children might not ever give their utput at all
05:28 Exodist in perl5 if you exit before a thread finishes it just kills it
05:28 Exodist it wanrs about it, but not in a way that TAP will care about
05:28 Exodist *that a TAP harness will care
05:29 autarch yeah, I have no idea what happens in the p6 internals in the first example I have up there
05:29 Exodist https://github.com/Test-More/Test2/blob/master/lib/Test2/API/Instance.pm#L308   may interest you, it is my solutin to that problem, this gets called in an END { ... } block
05:30 Exodist yikes. (to your example)
05:30 autarch I suspect I could do the same thing in an END block ... let's see
05:31 autarch m: my @threads = (^10).map: { Thread.start( name => $_, sub { sleep 1; say $*THREAD.name } ) }; exit 0; END { .finish for @threads }
05:31 camelia rakudo-moar 34d2b6: OUTPUT«0␤2␤1␤3␤4␤7␤9␤6␤8␤5␤»
05:32 autarch good job camelia
05:32 Upasaka joined #perl6
05:33 oftl joined #perl6
05:33 autarch m: my @threads = class C { has @.threads; method foo { @!threads = (^10).map: { Thread.start( name => $_, sub { sleep 1; say $*THREAD.name } ) }; submethod DESTROY{ .finish for @!threads } }; exit 0;
05:33 camelia rakudo-moar 34d2b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4hzPsryfEp␤Missing block␤at /tmp/4hzPsryfEp:1␤------> 3TROY{ .finish for @!threads } }; exit 0;7⏏5<EOL>␤»
05:34 Cabanossi joined #perl6
05:34 sjohnson joined #perl6
05:35 sjohnson` joined #perl6
05:35 autarch m: class C {
05:35 autarch has @.threads;
05:35 autarch method foo {
05:35 autarch @!threads = (^10).map: { Thread.start( name => $_, sub { sleep 1; say $*THREAD.name } ) }
05:35 autarch say @!threads;
05:35 camelia rakudo-moar 34d2b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/zhDpiz5wNm␤Missing block␤at /tmp/zhDpiz5wNm:1␤------> 3class C {7⏏5<EOL>␤»
05:35 autarch };
05:35 autarch submethod DESTROY { say 'bye'; .finish for @!threads }
05:35 autarch };
05:35 autarch C.new.foo;
05:35 autarch argh
05:36 autarch m: class C { has @.threads; method foo { @!threads = (^10).map: { Thread.start( name => $_, sub { sleep 1; say $*THREAD.name } ) }; say @!threads; }; submethod DESTROY { say 'bye'; .finish for @!threads }; }; C.new.foo;
05:36 camelia rakudo-moar 34d2b6: OUTPUT«[Thread #3 (0) Thread #4 (1) Thread #5 (2) Thread #6 (3) Thread #7 (4) Thread #8 (5) Thread #9 (6) Thread #10 (7) Thread #11 (8) Thread #12 (9)]␤0␤3␤2␤4␤1␤5␤6␤7␤8␤9␤»
05:36 autarch m: class C { has @.threads; method foo { @!threads = (^10).map: { Thread.start( name => $_, sub { sleep 1; say $*THREAD.name } ) }; say @!threads; }; submethod DESTROY { say 'bye'; .finish for @!threads }; }; C.new.foo; exit 0
05:36 camelia rakudo-moar 34d2b6: OUTPUT«[Thread #3 (0) Thread #4 (1) Thread #5 (2) Thread #6 (3) Thread #7 (4) Thread #8 (5) Thread #9 (6) Thread #10 (7) Thread #11 (8) Thread #12 (9)]␤»
05:36 autarch doh, doesn't work, I wonder if that's a bug
05:37 autarch hmm, DESTROY doesn't seem to get called at program exit time at all
05:38 autarch or it just doesn't get called ever?
05:38 autarch m: class D { submethod DESTROY { say self } }; D.new
05:38 camelia rakudo-moar 34d2b6: ( no output )
05:39 autarch m: class D { submethod DESTROY { say self } }; sub foo { my $d = D.new }; foo() for 1..3;
05:39 camelia rakudo-moar 34d2b6: ( no output )
05:39 autarch ok, bed time
05:43 pierre-vigier joined #perl6
05:51 xpen joined #perl6
05:58 pierre-vigier Hi
05:58 pierre-vigier Is there any way in Perl6 to "imitate" the behaviour of is => 'lazy' of perl5 Moo ?
05:59 pierre-vigier scratiching my head on that, and did not find anything yet
06:07 yeahnoob joined #perl6
06:16 sno joined #perl6
06:20 xpen joined #perl6
06:24 BB joined #perl6
06:25 BB hi everyone, I'm new to learn Perl6.
06:26 BB just browse the manual and found many interesting features.
06:26 BB but some of them seems different than Perl5.  for example the context.
06:27 BB anyone know if the contest concept is still the key concept in Perl6?
06:27 BB ex:  $a[1]; or @a[1];
06:30 BB p6: say 3;
06:30 camelia rakudo-moar 34d2b6: OUTPUT«3␤»
06:35 pjscott joined #perl6
06:36 dalek roast: f884279 | (Dan Kogai)++ | S32-num/power.t:
06:36 dalek roast: fix 455353534536453534563454353<[34]>
06:36 dalek roast: review: https://github.com/perl6/roast/commit/f8842792ee
06:36 dalek roast: 5624d6c | (Aleks-Daniel Jakimenko-Aleksejev)++ | S32-num/power.t:
06:36 dalek roast: Merge pull request #95 from dankogai/master
06:36 dalek roast:
06:36 dalek roast: fix 455353534536453534563454353<[34]>
06:36 dalek roast: review: https://github.com/perl6/roast/commit/5624d6ca05
06:37 AlexDaniel joined #perl6
06:37 AlexDaniel I hope that people don't mind that I review&merge some PRs :)
06:38 telex joined #perl6
06:39 average left #perl6
06:45 andreoss joined #perl6
06:51 Actualeyes left #perl6
06:54 Todd_ joined #perl6
06:54 Todd_ This is my first time on this kind of chat.  Do I just start blabbling?
06:55 yoleaux 9 Jan 2016 12:29Z <nine> Todd_: panda will now fall back to curl and then to wget if downloading meta data failed. This should fix the proxy issues.
06:55 sjoshi joined #perl6
06:57 Todd_ Anyone heard any rumors as to when perl 6 will be available for Red hat Eterprise Linux 7?
06:58 andreoss perl6 has been available for a long time for fedora for sure
06:59 Todd_ I posted
06:59 Todd_ https://bugzilla.redhat.com/show_bug.cgi?id=1297077
06:59 Todd_ https://bugzilla.redhat.com/show_bug.cgi?id=1296363
07:00 Todd_ but no response back
07:03 BB joined #perl6
07:04 andreoss are you sure there's no perl6 in EPEL?
07:04 _nadim joined #perl6
07:06 andreoss i'm sure there was rakudo-star in that repo
07:07 _nadim joined #perl6
07:10 andreoss https://dl.fedoraproject.org/pub/epel/6/i386/repoview/rakudo-star.html
07:10 andreoss it's still there. 2011.04 with parrot
07:12 xenu imho package like perl6 should be included in base rhel8 repo, just like other languages
07:12 andreoss i wonder why did they let it in the first place
07:16 Todd_ when is rhel 8 due out? 2020?
07:16 xenu when it's ready ;)
07:16 pierre-vigier joined #perl6
07:17 xenu also, the real question is when centos 8 will be released
07:17 Todd_ I am on Scientific Linux 7.1, which is slightly behind CentOS
07:17 xenu i remember how long it took to release centos 6
07:18 Todd_ CentOS has made a bunch of changes over that embarrasment.  now they are really quick
07:19 dalek ecosystem: 3c66df7 | (Helmut Wollmersdorfer)++ | META.list:
07:19 dalek ecosystem: Add LCS::All to ecosystem
07:19 dalek ecosystem:
07:19 dalek ecosystem: See https://github.com/wollmers/P6-LCS-All
07:19 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/3c66df7d5a
07:20 * geekosaur was under the impression that epel7 was pretty useless and copr was the new way...
07:21 geekosaur ("it only took us over a decade but we finally invented PPAs")
07:21 dalek ecosystem: c653f5c | (Helmut Wollmersdorfer)++ | META.list:
07:21 dalek ecosystem: Add LCS::BV to ecosystem
07:21 dalek ecosystem:
07:21 dalek ecosystem: See https://github.com/wollmers/P6-LCS-BV
07:21 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/c653f5c964
07:25 Todd_ epel does not seem very responsive as of late
07:25 firstdayonthejob joined #perl6
07:26 Todd_ I can try coding in 6 on a Fedora Virtual Mahcine, but that really does me no good in SL7
07:26 xenu you always can compile your own
07:29 sortiz Right now Fedora 23 ships rakudo-star 2015.11
07:29 Todd_ I saw that.  I wonder what effect that would have on the perl 5 that is already there and in the RPM database.  WOuld they be two separatea programs?
07:30 El_Che yes
07:30 Todd_ not see or interact with each other?
07:31 El_Che they have nothing in common
07:31 El_Che with rpm: rakudo builds from source
07:31 El_Che with perl5: rakudo provides a different language and binary (perl6)
07:32 Todd_ so I would have both a functioning 5 and a functioning 6?
07:32 El_Che yes
07:32 Todd_ very cool!
07:32 El_Che you can even go the "brew" road with perl5 to have more up to date perl with the same logic
07:32 El_Che perlbrew -> perl5 from source on a automated way
07:33 El_Che rakudobrew -> perl6 from source on a automated way
07:33 Todd_ Have you built from source?  How long did it take?  (Wine-staging-patched takes about a half hour)
07:33 CIAvash joined #perl6
07:33 El_Che building perl6 is very fast
07:33 sortiz A few minutes.
07:34 Todd_ perl 5 has all these libraries from cpan.  does 6 have something similar?
07:34 Todd_ would I have to rewrite all my old regex's?
07:35 Todd_ I am looking forward to the new sub declarations!
07:36 sortiz http://modules.perl6.org
07:36 sortiz About regexes, mainly yes.
07:37 xenu (note that proper cpan is work in progress)
07:40 El_Che Todd_: perl6 regex have a perl5 compatible mode
07:40 CQ joined #perl6
07:41 Todd_ Mailily yes I have to rewrite or maily yes they will mostly migrate over?  Sorry for the densness
07:41 El_Che Todd_: however, regex are vastly improved imho
07:42 sortiz You have to rewrite.
07:42 sortiz A
07:42 El_Che Todd_: http://doc.perl6.org/language/5to6-nutshell.html#Add_%3AP5_or_%3APerl5_adverb
07:43 El_Che there is a perl5 adverb that let you use perl5 regexes
07:44 FROGGS joined #perl6
07:45 FROGGS o/
07:45 yoleaux 9 Jan 2016 13:45Z <orbus> FROGGS: I'll work on getting you test output when I have some free time - hopefully later today
07:45 yoleaux 9 Jan 2016 23:33Z <orbus> FROGGS: failing tests on arm you asked about http://paste.scsys.co.uk/504181
07:45 yoleaux 10 Jan 2016 20:10Z <mst> FROGGS: https://github.com/andk/pause/issues/198 may be relevant to your interests
07:46 Todd_ so I can use "m:P5/[aeiou]/" ubntill I figure it all out.  Thank you!
07:47 FROGGS mst: thanks, will follow the thread
07:47 Todd_ bye bye
07:48 Todd_ quit
07:48 domidumont joined #perl6
07:49 FROGGS note that not all of P5 regexes are imlemented or are working correctly
07:54 domidumont joined #perl6
07:58 yurivish_ The Signatures documentation talks about how Nil is always allowed to be returned, even when a function is constrained to return e.g. an Int. Is the reasoning behind this documented somewhere? I'm currently writing a lot of Swift and enjoying the way it deals with nullable values (nil is not allowed without explicitly saying so).
07:58 yurivish_ here's the section of the docs about this: http://doc.perl6.org/type/Signature#Constraining_Return_Types
07:59 Actualeyes joined #perl6
08:00 g4 joined #perl6
08:00 g4 joined #perl6
08:02 zakharyas joined #perl6
08:02 [Tux] csv-ip5xs            50000    18.365    12.615
08:02 [Tux] test                 50000    23.649    23.001
08:02 [Tux] test-t               50000    12.985    12.093
08:02 [Tux] csv-parser           50000    51.273     0.555
08:07 eyck joined #perl6
08:10 gfldex yurivish_: think of Nil as a Failure without overhead, see https://doc.perl6.org/type/Failure
08:11 gfldex m: say Failure.^mro
08:11 camelia rakudo-moar 34d2b6: OUTPUT«((Failure) Nil (Cool) (Any) (Mu))␤»
08:12 nine .tell autarch Have you thought about using network connections to communicate the results of test subprocesses to the master? I guess that could be easier than trying to get concurrent writing to files performant cross platform. And it would also make it trivial to run high level clusterwide tests :)
08:12 yoleaux 01:16Z <sortiz> nine: Somewhat exaggerated indeed, but should accept that its a fundamental question.
08:12 yoleaux nine: I'll pass your message to autarch.
08:15 yurivish_ gfldex: Sorry, I don't know enough Perl 6 to understand what you mean :)
08:16 darutoko joined #perl6
08:16 yurivish_ m: my Int $x = Nil; dd $x; my Int $y = Int; dd $y;
08:16 camelia rakudo-moar 34d2b6: OUTPUT«Int $x = Int␤Int $y = Int␤»
08:16 yurivish_ This seems related and also something I'm not sure I understand
08:16 gfldex threading and exceptions don't play well together. So instead of throwing an exception you can return a value, that will throw the exception when the value is assigned to another container
08:17 yurivish_ Right, and you can use Nil to signal a failure too. I guess my question is – why is this the default behavior when you specify a function returns an Int?
08:17 eyck joined #perl6
08:18 yurivish_ An alternative would be to explicitly specify when a return value can potentially be Nil since (unlike Failures?) Nil would just silently be propagated along in your computation. I think.
08:18 gfldex also, it's quite easy to have bindings for some C-lib and many functions can return a null pointer. You have to represent that in some way on the Perl 6 side
08:18 masak morning, #perl6
08:18 masak I haven't kept up -- is there a R* 2015.12 yet?
08:19 gfldex m: my Int|Nil $a; # <-- NYI
08:19 camelia rakudo-moar 34d2b6: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NFvVkvPrKh␤Malformed my␤at /tmp/NFvVkvPrKh:1␤------> 3my Int7⏏5|Nil $a; # <-- NYI␤»
08:19 gfldex ^^^ yurivish_ that's what you want but is NYI
08:20 yurivish_ Oh, interesting. So "nullable" values are default but there's a way to do something like :D that disallows Nil.
08:20 gfldex masak: no
08:20 yurivish_ Could you also do my Int|6 = 5? :P
08:21 yurivish_ though I guess that starts to be something you'd use where clauses for
08:23 gfldex m: class C {}; sub bad_object_factory(--> C){ Nil }; for bad_object_factory() -> C $c { .say }
08:23 camelia rakudo-moar 34d2b6: OUTPUT«Type check failed in binding $c; expected C but got Nil␤  in block <unit> at /tmp/UIR6smPni2 line 1␤␤»
08:25 gfldex yurivish_: Nil is useful if some constructor can return a new object because of bad DB connection or somesuch. The alternative would have been to throw an exception from a constructor, what would have required constructors to be special.
08:25 gfldex s/can/can't/
08:27 masak gfldex: "would have required constructors to be special" -- in what way would it require that?
08:29 gfldex constructors would need to know that they are constructors as they would be required to throw the exception, that indicates that object creation has failed.
08:29 gfldex yurivish_: also see: https://doc.perl6.org/type/Nil
08:31 yurivish_ thanks. will read tomorrow!
08:32 marmay joined #perl6
08:32 rodarmor joined #perl6
08:33 rodarmor Ayo! Can perl6 be extended with perl6 grammars without modifying the compiler?
08:36 dalek doc: dbd4765 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod:
08:36 dalek doc: add links to class Nil and class Failure (yurivish_++)
08:36 dalek doc: review: https://github.com/perl6/doc/commit/dbd47651f0
08:36 dalek doc: fea4938 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod:
08:36 dalek doc: Merge pull request #339 from gfldex/master
08:36 dalek doc:
08:36 dalek doc: add links to class Nil and class Failure (yurivish_++)
08:36 dalek doc: review: https://github.com/perl6/doc/commit/fea493883c
08:38 FROGGS rodarmor: yes
08:38 gfldex rodarmor: that will be possible with Slangs. Technically you could modify the compiler already because it's implemented in Perl 6 and as such very dynamic.
08:38 rodarmor FROGGS: Sweet! Is there an example or docs for slangs up? Is it ready now or not yet?
08:38 FROGGS rodarmor: that's one example: https://github.com/FROGGS/p6-Slang-Piersing/
08:39 FROGGS rodarmor: the usage of nqp:: functions is a cheat and will go away at some point
08:39 CQ left #perl6
08:39 rodarmor FROGGS: This is so cool ^_^
08:39 FROGGS rodarmor: though if you just want to create ops (prefix, postfix, infix, circumfix, postcircumfix), you dont need a slang
08:40 rodarmor I see that it gets access to exiting perl6 tokens.
08:40 rodarmor *existing
08:40 FROGGS yes
08:40 FROGGS tokens and action methods
08:40 rodarmor This is, like, an infinite amount of rope with which to hang myself. I'm looking forward to it.
08:41 FROGGS *g*
08:41 FROGGS an extendable rope, so to say :o)
08:41 gfldex It's an infinite way to invent new kinds of rope.
08:42 rodarmor Maybe, just before it breaks my neck, I can make more rope, and get to the ground safely.
08:42 DrForr rodarmor: I just put up github.com/drforr/perl6-slang-roman that adds Roman numerals last night.
08:42 pdcawley rodarmor: And break your neck on landing?
08:43 rodarmor pdcawley: I'm sure that I can come up with a huge pile of, you know, like, soft, pillowy rope, that will cushion my landing.
08:43 pdcawley if you're going fast enough, it doesn't matter what breaks your fall.
08:43 rodarmor DrForr: sweet
08:43 gfldex DrForr: does it support unicode roman numerals?
08:43 DrForr "It's not a question of where it is, it's a question of how fast you hit it." (mangling that quotation, I know.)
08:44 DrForr gfldex: Glad you asked, why yes it does.
08:44 abraxxa joined #perl6
08:44 gfldex DrForr: is it in the ecosystem already?
08:44 DrForr Yep, even in the modules list, put it there myself.
08:44 gfldex cool
08:45 DrForr Search for 'roman' in the module list.
08:45 gfldex got it
08:48 FROGGS m: say unival("\c[0x216f]")
08:48 camelia rakudo-moar 34d2b6: OUTPUT«1000␤»
08:50 FROGGS wow, that indentation style is as weird as [Tux]++'s # :o)
08:50 gfldex DrForr: would you mind to add the following to the README.md? [![Build Status](https://travis-ci.org/drforr/perl6-slang.roman.svg?branch=master)](https://travis-ci.org/drforr/perl6-slang-roman)
08:51 FROGGS and DrForr++ # that's awesome
08:52 gfldex how do I tell the ecosystem where to find travis results for my modules?
08:54 moritz it knows automagically, I think
08:54 gfldex doesnt work for XHTML::Writer
08:54 gfldex https://github.com/gfldex/perl6-xhtml-writer
08:55 gfldex the little image in the README.md works, so travis is setup correctly
08:55 moritz gfldex: btw the heading in the README.md is wrong, iirc
08:56 gfldex it is, thanks
08:56 pierre-vigier joined #perl6
08:56 moritz gfldex: when did you add the travis?
08:57 gfldex add travis
08:57 gfldex gfldex authored 3 days ago
08:58 moritz hrmpf
08:58 gfldex and i think i pushed it to github right after that
08:58 gfldex maybe it needs a travis run after the module was added
08:58 moritz gfldex: another point regarding the readme: div( id="uniq",
08:58 moritz should that be => instead of = ?
08:58 gfldex indeed, sadly there is no test driven development for markdown yet
08:58 moritz sorry, I can't seem to help with your actual problem :-)
08:59 moritz same with class= in the next line
08:59 vendethiel joined #perl6
08:59 gfldex travis is running right now and the modules site is updates every 10 minutes. So we will know soon enought.
09:13 xpen joined #perl6
09:20 gfldex travis check has changed now from
09:20 gfldex 'not set up' to 'unknown'
09:23 pierre-vigier joined #perl6
09:23 DrForr I'm not going to check in from work but I'll add the Travis blurb tonight when I get home.
09:29 gregf___ joined #perl6
09:31 sno joined #perl6
09:32 gregf_ joined #perl6
09:33 RabidGravy joined #perl6
09:34 _Vi joined #perl6
09:35 virtualsue joined #perl6
09:37 RabidGravy morning
09:40 dakkar joined #perl6
09:44 confundus joined #perl6
09:47 brrt joined #perl6
09:51 vendethiel joined #perl6
09:52 rindolf joined #perl6
09:57 nine masak: R* will be based on 2016.01
09:58 darutoko- joined #perl6
09:58 pierre-vigier joined #perl6
10:02 scoopio joined #perl6
10:02 funrep joined #perl6
10:02 grondilu joined #perl6
10:05 gregf_ joined #perl6
10:08 * abraxxa want 127001 fixed for 2016.01
10:09 pierre-vigier joined #perl6
10:09 Fleurety joined #perl6
10:10 pjscott joined #perl6
10:10 lnrdo joined #perl6
10:12 xpen joined #perl6
10:13 xpen joined #perl6
10:16 pierre-vigier joined #perl6
10:19 vytas joined #perl6
10:26 vytas joined #perl6
10:26 Peter_WR joined #perl6
10:29 daxim joined #perl6
10:29 brrt good * #perl6
10:29 yoleaux 7 Jan 2016 18:49Z <masukomi> brrt: is it currently possible to create a stand-alone executable for *nix system ?
10:31 RabidGravy marnin
10:31 brrt .tell masukomi: i'm sorry for not responding earlier; do you mean of perl6? if so, the answer (unfortunately) is no, not yet; the other answer is, with a special compunitrepo, this should be entirely feasible (e.g. the zip-archive-starting-with-an-executable trick)
10:31 yoleaux brrt: What kind of a name is "masukomi:"?!
10:31 brrt .tell masukomi i'm sorry for not responding earlier; do you mean of perl6? if so, the answer (unfortunately) is no, not yet; the other answer is, with a special compunitrepo, this should be entirely feasible (e.g. the zip-archive-starting-with-an-executable trick)
10:31 yoleaux brrt: I'll pass your message to masukomi.
10:34 El_Che brrt: that would be awsome
10:36 vendethiel joined #perl6
10:37 brrt aye, it would be
10:37 brrt note that bulding moar 'statically' is currently already possible
10:37 brrt but that doesn't really help that much
10:39 brrt note, also, that while i *think* you can build a self-contained perl5, using any of the core modules also requires a full filesystem installation, so the state of the art is already not ideal
10:39 El_Che brrt: isn't cava perl not something like that?
10:40 brrt no idea, actually
10:40 brrt anybody planning to go to FOSDEM this year?
10:41 El_Che you, I hope :)
10:41 brrt well, yes, i kind of promised :-)
10:41 El_Che I will send more info soon
10:43 brrt :-)
10:43 espadrine joined #perl6
10:47 DrForr brrt: Yes, kinda have to :)
10:48 miquelruiz_ left #perl6
10:48 xenu http://search.cpan.org/~mlehmann/App-Staticperl-1.44/staticperl.pod
10:49 xenu i meant
10:49 xenu https://metacpan.org/pod/distribution/App-Staticperl/staticperl.pod
10:49 El_Che brrt, xenu: http://www.cavapackager.com/
10:49 El_Che sadly not FOSS
10:50 brrt interesti9ng
10:51 brrt let's also be very honest about this, a standalone binary of perl6 is the top priority of (afaik) the following set of developers: {}
10:52 brrt nice-to-have, but not as nice as linux-distro-packages, bsd ports, macports, homebrew, windows etc.
10:52 brrt moarvm currently doesn't even build correctly on solaris/illumos, and that's bad enough
10:53 RabidGravy I was going to look at solaris but I couldn't get it to run in a VM so abandoned the plan
10:57 sjoshi joined #perl6
10:58 El_Che brrt: don't understimate the attractiveness of go due to the single binary feature
10:58 pmurias joined #perl6
10:58 El_Che I had a go at Solaris + moarvm
10:59 El_Che Solaris 10: libuv misses interfaces so it doesn't compile
10:59 El_Che Solaris 11: libuv compiles, but has failing tests
10:59 vendethiel joined #perl6
11:00 brrt yeah, it is a sucky state of affairs
11:00 El_Che RabidGravy: do you mean moarvm did not work in your vm or that you coudn't get a running solaris vm?
11:00 RabidGravy I couldn't get a working version of solaris in a VM
11:00 brrt hmmm... if anybody wants to have a stab at it, i'm sure there are plenty of people who can help out
11:01 * brrt brb
11:01 RabidGravy I wasn't sufficiently motivated to chase it down
11:01 El_Che RabidGravy: I have two options in case you find the motivation:
11:01 El_Che - help you with virtualbox + the solaris 11 oracle virtualbox image (it works)
11:02 El_Che - give you access to solaris hw through OpenCSW
11:03 brrt_ joined #perl6
11:04 RabidGravy in the past I've had it working on qemu-kvm but I can't actually remember which version of solaris it was
11:05 El_Che the virtualbox (being oracle's) is surprisingly easy to get running
11:05 brrt_ solaris / illumos don't work well with gnome boxes, probably because gnome-boxes sends signals that are not understood somehow
11:05 wamba joined #perl6
11:05 brrt_ or the keyboard driver doesn't work together or something like that
11:06 bpmedley joined #perl6
11:06 El_Che brrt_: the default desktop on solaris is gnome
11:06 brrt_ virtualbox works much better, yes, but virtualbox doesn't use kvm, and i dislike loading dozens of overlapping-functionality in the already much-too-large linux kernel
11:07 brrt_ or to put it in other words.... now that we're widely building virtualized systems, *not* having a microkernel is quite sucky
11:08 pierre-vigier joined #perl6
11:09 virtualsue joined #perl6
11:10 pmurias joined #perl6
11:13 RabidGravy what? not CDE any more ? ;-)
11:13 El_Che RabidGravy: it was still an option in solaris 10, gone from 11
11:13 brrt_ El_Che: I mean the default easy-to-use qemu-based virtualization package in gnome3
11:14 brrt_ which works well as long as all the world is linux, or even windows
11:15 RabidGravy FreeBSD works quite well in "gnome-boxes" as well
11:16 pierre-vigier One OOP question, is there a way to replicate the Moo/Moose lazy behavior on perl6 object system?
11:17 El_Che pierre-vigier: a builder sub?
11:17 pierre-vigier yes
11:17 virtualsue joined #perl6
11:18 RabidGravy depends how encapsulated you want it
11:18 pierre-vigier the idea would be to have some property that are complex to calculate
11:18 RabidGravy yeah
11:18 pierre-vigier so delay them until neede
11:18 pierre-vigier so delay them until needed
11:19 pierre-vigier then it would be public attribute
11:19 pierre-vigier but read only
11:19 Skarsnik joined #perl6
11:19 pierre-vigier i'm pretty sure there's an easy way, just did not find it :(
11:20 RabidGravy m: class F { has $.foo;  method foo() { if not $!foo.defined { $!foo = "blather" }; $!foo } };   say F.new.foo;
11:20 camelia rakudo-moar 34d2b6: OUTPUT«blather␤»
11:21 andreoss .seen masak
11:21 yoleaux I saw masak 08:27Z in #perl6: <masak> gfldex: "would have required constructors to be special" -- in what way would it require that?
11:21 pierre-vigier indeed, i can do it myself, or even creating a trait
11:22 RabidGravy there is no built in way, but the tools to make it are there
11:22 brrt_ pierre-vigier: do you know about the trait is-cached?
11:23 pierre-vigier yes, it would allow me not to compute twice, might be enough
11:23 pierre-vigier private attribue that is not defined
11:23 brrt_ http://doc.perl6.org/type/Routine#trait_is_cached
11:23 pierre-vigier then built it and add is-cached
11:23 brrt_ well, a public attribute is really a method that provides (by default) read-only access to a private variable
11:24 brrt_ class Foo { has $.foo; } is equivalent to class Foo { has $!foo; method foo { $!foo; } }
11:24 pierre-vigier indeed
11:25 pmurias joined #perl6
11:25 brrt_ well, you can say class Foo { method foo is cached { expensive-calculation(); } }
11:25 brrt_ and it would... do what you mean?
11:29 dalek doc: 150795b | lizmat++ | doc/Type/DateTime.pod:
11:29 dalek doc: Indicate positional candidate to be for 6.d
11:29 dalek doc: review: https://github.com/perl6/doc/commit/150795b99c
11:32 pierre-vigier joined #perl6
11:36 pierre-vigier joined #perl6
11:36 pierre-vigier yep, it would work also to cache
11:36 pierre-vigier just need to check if it is per instance
11:37 pierre-vigier i mean is cached
11:37 awwaiid http://doc.perl6.org/language/variables#Sigils <- This has a nice table with "flattens?"; should I delete that column post-GLR?
11:37 pierre-vigier i never tried
11:43 lnrdo joined #perl6
11:45 lnrdo joined #perl6
11:46 confundus left #perl6
11:47 pierre-vigier joined #perl6
11:55 sortiz awwaiid, I think so. But more important Array.flat should be documented to avoid the confusion with Iterator.flat
11:56 pierre-vigier joined #perl6
11:58 awwaiid sortiz: yeah, but not here I think
11:59 sortiz awwaiid, nop, in types/Array I suppose.
12:02 pmurias joined #perl6
12:08 virtualsue joined #perl6
12:09 dalek ecosystem: 1c2ca86 | (Peter Pentchev)++ | META.list:
12:09 dalek ecosystem: Add Serialize::Naive to the ecosystem.
12:09 dalek ecosystem:
12:09 dalek ecosystem: See https://github.com/ppentchev/Serialize-Naive
12:09 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/1c2ca8643b
12:09 dalek ecosystem: f658e61 | (Zoffix Znet)++ | META.list:
12:09 dalek ecosystem: Merge pull request #119 from ppentchev/ppentchev-add-serialize-naive
12:09 dalek ecosystem:
12:09 dalek ecosystem: Add Serialize::Naive to the ecosystem.
12:09 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/f658e613d4
12:09 dalek rakudo/nom: 308c469 | lizmat++ | src/core/ (3 files):
12:09 dalek rakudo/nom: Move REMOVE-ROOT to Rakudo::Internals
12:09 dalek rakudo/nom:
12:09 dalek rakudo/nom: and streamline with new gained knowledge  :-)
12:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/308c469224
12:11 _Gustaf_ joined #perl6
12:12 kaare_ joined #perl6
12:15 Zoffix .tell jdv79 How is work on the P6 variant of PAUSE/CPAN/MetaCPAN going? Maybe the repo should be moved under the perl6 GitHub organization, so it'd be easier for potential volunteers to finds and contribute to?
12:15 yoleaux Zoffix: I'll pass your message to jdv79.
12:18 cuonglm joined #perl6
12:18 Zoffix .tell jdv79 we also now have #perl6-toolchain you may be interested in joining.
12:18 yoleaux Zoffix: I'll pass your message to jdv79.
12:19 cuonglm Is there any package for completion Perl6 code in emacs now?
12:19 Zoffix I'm unaware of such a package for any editor
12:20 moritz http://blogs.perl.org/users/dmitri/2015/08/ctags-now-supports-perl-6.html if there's general ctags completion support for emacs, that should work with Perl 6 as well
12:21 pmurias To send the "JavaScript backend for Rakudo" grant application, I need to suggest a grant manager. Who should I suggest?
12:21 pierre-vigier joined #perl6
12:22 DrForr I've been working with Tom Hukins so far, seemed decent.
12:23 joydo joined #perl6
12:23 cuonglm @Zoffix: I don't think it work with builtin
12:23 cuonglm @moritz: I don't think it work with builtin
12:24 moritz cuonglm: unless you run ctags over the setting too
12:25 RabidGravy DrForr, Tom's a nice guy worked with IRL for a few years but known him for ever
12:25 _Gustaf__ joined #perl6
12:26 DrForr I keep missing him whenever our paths cross :/
12:27 vendethiel joined #perl6
12:28 dalek rakudo/nom: 14b73ac | lizmat++ | src/core/ (3 files):
12:28 dalek rakudo/nom: Remove FILETEST-E to Rakudo::Internals
12:28 dalek rakudo/nom:
12:28 dalek rakudo/nom: Also, no longer booleanify for internal usage.
12:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/14b73ac7eb
12:29 cuonglm moritz: Can you clarify it? Sorry for my mis-understand
12:38 moritz ... not if you leave the channel :/
12:38 virtualsue joined #perl6
12:38 wamba joined #perl6
12:38 RabidGravy oh well, I understood FWIW
12:40 leont joined #perl6
12:40 moritz but you know what the setting is
12:41 RabidGravy this is true
12:42 vendethiel- joined #perl6
12:42 dalek rakudo/nom: b870ed5 | lizmat++ | src/core/IO/Path.pm:
12:42 dalek rakudo/nom: Remove undocumented, untested and unspecced method
12:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b870ed5e3a
12:46 ugexe is that the .all from s16? `if $io.all(<f r w x s>) -> $size {`
12:47 lizmat it seems so, yes, where you using that ?
12:47 lizmat there are no tests for it, there is no further documentation for it
12:47 timotimo it's not the regular .all that builds a junction
12:48 ugexe no, i just remembered seeing it recently
12:48 ugexe in the spec itself, not in code
12:48 lizmat ok
12:48 lizmat well, it proved to be a very bad optimizing target
12:48 pierre-vigier joined #perl6
12:49 lizmat anyways, it can be easily reinstated if necessary, I just thought I'd clean it up since there were no tests nor doc for it
12:50 FROGGS [Coke], moritz, lizmat, TimToady, timotimo: I'd like to open a #perl6-release channel... any thoughts?
12:50 lizmat FROGGS: +1 for me
12:50 timotimo easier to ask for forgiveness than permission :)
12:51 FROGGS [Coke], moritz, lizmat, TimToady, timotimo: I like to discuss stuff like relying on a feature that pops up in the next weeks/months
12:51 moritz FROGGS: +1
12:51 FROGGS moritz: can you irclog it? :o)
12:52 moritz FROGGS: sure; did you freenode-register it?
12:52 FROGGS moritz: no idea how to do that
12:52 FROGGS but I can google it
12:53 ilbot3 joined #perl6
12:53 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
12:53 LordDrako joined #perl6
12:53 LordDrako hi guys
12:53 moritz FROGGS: /msg ChanServ register #perl6-release
12:53 LordDrako I am fiddling around a bit with perl 6's native call feature and windows api
12:54 LordDrako it appears there is no way to do callbacks
12:54 timotimo LordDrako: you can look into rakudo's t/nativecall/ folder for examples for callbacks
12:55 timotimo t/04-nativecall/
12:57 RabidGravy someone also did an advent post about it I think
12:57 RabidGravy 'ang on
12:57 FROGGS moritz: done so, thank you
12:57 LordDrako timotimo, are these installed with the rakudostar windows installer?
12:58 RabidGravy https://perl6advent.wordpress.com/2015/12/21/day-21-nativecall-backs-and-beyond-c/
12:58 LordDrako hm, does not seem so
12:58 timotimo maybe not; i'll give you the link to github
12:58 LordDrako RabidGravy, that's nice
12:58 timotimo https://github.com/rakudo/rakudo/tree/nom/t/04-nativecall  -  the files with "callbacks" in their names
13:00 dalek rakudo-star-daily: 7839420 | coke++ | log/ (5 files):
13:00 dalek rakudo-star-daily: today (automated commit)
13:00 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/78394201b4
13:00 dalek perl6-roast-data: 17adeb2 | coke++ | / (6 files):
13:00 dalek perl6-roast-data: today (automated commit)
13:00 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/17adeb22d1
13:01 LordDrako hm, how is it that nativecall seems to magically work with __stdcall as well? does it detect the calling convention by examining the symbol mangling?
13:03 LordDrako e.g. windows api functions are stdcall which differs from cdecl in that the called function cleans up the stack, not the calling function
13:03 Skarsnik ?
13:03 brrt_ LordDrako: I think C name mangling is limited and not related to calling convention; i wouldn't know how it works automagically
13:03 brrt_ that's the domain of dyncall and friends
13:03 brrt_ or libffi
13:04 LordDrako in case of mangling in stdcall there is simply an @ and a number at the end of the symbol (e.g. Foo@8) which means it gets 8 bytes of parameters (maybe 2 ints or something)
13:04 timotimo i didn't know it does any name mangling at all
13:04 Skarsnik Look at the source
13:04 Skarsnik It's probably in Moar
13:05 LordDrako the point is, calling a stdcall function using cdecl on the caller side should result in cleaning up the stack twice
13:05 lnrdo joined #perl6
13:06 LordDrako then again I am thinking too much as x86_64 does a lot of things differently
13:06 arnsholt brrt_: C does absolutely no name mangling. That's the reason it's possible to call into without going insane
13:06 Skarsnik Well if you seems to know this stuff, look at the code source to do if it does the right thing :)
13:06 arnsholt Calling convention is completely orthogonal
13:07 * [Coke] wonders where his coffee got to.
13:07 yoleaux 9 Jan 2016 12:28Z <nine> [Coke]: panda will now fall back to curl and then to wget if downloading meta data failed. This should fix the proxy issues.
13:07 [Coke] nine++ thanks!
13:07 [Coke] I am behind the great firewall right now, will give it a shot this morning.
13:07 [Coke] (lowercase gf, not the real GF)
13:08 vendethiel joined #perl6
13:09 dalek rakudo/nom: 8fb2088 | lizmat++ | src/core/Distro.pm:
13:09 dalek rakudo/nom: Don't make an .IO unless we need it
13:09 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8fb20889d0
13:09 brrt_ x86_64 has a single calling convention for windows-x64 LordDrako
13:09 brrt_ also another single calling convention for POSIX
13:10 brrt_ the latter is followed by pretty much all platforms that are not windows on x64
13:10 LordDrako brrt_, I know
13:10 brrt_ well, then, there is probably your answer
13:10 brrt_ :-)
13:10 brrt_ also, the posix version is better
13:10 LordDrako my initial question was focused on 32 bit windows
13:10 brrt_ ah, that wasn't obvious to me
13:10 brrt_ maybe it is in the linker table?
13:11 brrt_ (one of my main theses is: 32 bit x86 is insane. forget about it)
13:11 LordDrako arnsholt, https://en.wikipedia.org/wiki/Name_mangling#C_name_decoration_in_Microsoft_Windows
13:11 [Coke] I see that Slang::Roman is using nqp opcodes; is that the only way to get it to work ? (and is that a bug?)
13:11 LordDrako you will see that in fact some C symbols are mangled in DLLs
13:12 DrForr [Coke]: No idea, I just know it worked.
13:12 arnsholt Oh, wow. I had no idea they did that on Windows
13:12 arnsholt In that case, it may very well be that some kind of introspection is going on
13:13 brrt_ that is some terrible stuff
13:13 brrt_ haha
13:13 DrForr FWIW that's what the other Slangs did.
13:13 RabidGravy it's possibly that the dynaloader is abstracting  that away
13:13 arnsholt Or -ldl, yeah
13:13 arnsholt Given that most of this likely happens in terms of dlopen/dlsym, that may be more likely
13:14 arnsholt Anyways, none of that is implemented in NQP/Moar. All of that would be implemented in dyncall/libffi
13:14 DrForr [Coke]: Also, if you've got a higher-level alternative that doesn't involve writing raw pir (which is what that looks like to me) I'm all ears.
13:14 brrt_ indeed. the JIT contains an impl of generating c call interfaces, but that's only for amd64
13:15 lnrdo_ joined #perl6
13:18 pierre-vigier joined #perl6
13:19 LordDrako on windows it'll be more like LoadLibrary/GetProcAddress/FreeLibrary (more or less equivalent to dlopen/dlsym/dlclose), yet GetProcAddress would still expect a mangled name to find the address of the target function
13:19 wamba joined #perl6
13:20 timotimo FROGGS: https://github.com/FROGGS/p6-Slang-Piersing/blob/master/lib/Slang/Piersing.pm  -  wouldn't this need "use nqp;" at the beginning to continue working?
13:20 arnsholt Huh. In that case I have no better suggestion than looking at the implementation in the FFI library =)
13:21 FROGGS timotimo: probably yes
13:25 dalek rakudo/nom: 7054a2c | lizmat++ | src/core/ (4 files):
13:25 dalek rakudo/nom: Move FILETEST-D to Rakudo::Internals
13:25 dalek rakudo/nom:
13:25 dalek rakudo/nom: Also, no longer booleanify for internal usage.
13:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7054a2c496
13:26 lizmat timotimo: or MONKEY-GUTS ?
13:26 brrt_ or the dyncall library, for that matter
13:26 timotimo or that, yes
13:38 LordDrako timotimo, okay, the callback example is nice, though one thing is not demonstrated: having a struct that contains a pointer to a callback; and as I see it CStruct doesn't even support code refs
13:39 FROGGS LordDrako: true, that's not yet implemented
13:39 lizmat cycling&
13:39 LordDrako FROGGS, okay :-)
13:39 FROGGS LordDrako: we've got an open issue in the old zavolaj repository, musing about the way to implement it
13:39 pierre-vigier joined #perl6
13:39 asdf12z_ joined #perl6
13:39 LordDrako basically I was trying something like this (not sure if syntax would be like that in the future) http://pastebin.com/BVUPraUy
13:40 FROGGS one way would be to allow to cast a function pointer to something callable
13:40 [Coke] I am tempted to skip 2016.01; we need a really good plan for backwards compatibility, and I think it'll take us a little longer to have the infrastructure in place for that.
13:41 LordDrako I'd think when putting a coderef into a CStruct the same marshalling should apply as if it was used as a parameter to a native function directly
13:41 FROGGS [Coke]: please join #perl6-release
13:41 [Coke] (in which ase, we should think about what this means for R*: perhaps we will need a very minimal 2015.12.1 that has some precomp or installer fixes that we agree our safe - whatever is blocking R* at the moment.)
13:41 FROGGS LordDrako: I like your example
13:43 LordDrako FROGGS, also the Pointer[int16] is there because perl6 also complained about Str is encoded('utf16') in the CStruct
13:43 LordDrako so in general I think CStruct, CUnion and native function calls should in most cases use the same rules, that would only seem logical
13:43 Skarsnik You need a release that fix precomp error and other bug (like the loop bug) soon. I think
13:44 FROGGS LordDrako: aye
13:45 Skarsnik Pointer[int16] look weird x)
13:46 Skarsnik FROGGS, why not do perl6/NativeCall repo to group NC relatif stuff like test/issue tracker?
13:47 bpmedley_ joined #perl6
13:47 FROGGS Skarsnik: we use RT today and that works well enough I'd say
13:48 Skarsnik I think RT is not a good 'visible' place to discuss stuff outside: This is a bug, that should do X and not Y
13:48 FROGGS LordDrako: yes, weird, that trait is not implemented for Attributes
13:48 FROGGS Skarsnik: I've seen very nice discussions on RT
13:49 FROGGS LordDrako: can you rakudobug the trait issue?
13:49 llfourn from my perspective the main downside of RT is the person that creates the issue can't close it (or at least I don't know how)
13:49 Skarsnik RT ui sucks x)
13:50 Skarsnik and you can't edit
13:50 LordDrako FROGGS, :O RT has detected a possible cross-site request forgery for this request, because the Referrer header supplied by your browser (rakudo.org:80) is not allowed by RT's configured hostname
13:50 llfourn ^^ I've seen that one before :\
13:50 moritz RT being paranoid
13:50 LordDrako appeared when clicking the "List of all new and open tickets" link here: http://rakudo.org/tickets/
13:51 LordDrako xD
13:51 FROGGS wfm: https://rt.perl.org/
13:52 FROGGS Skarsnik: I know about its UI and the missing edit functionality... but I'd rather like less tickets systems than more
13:55 Skarsnik Not really true
13:55 Skarsnik I probably use more github issue tracker since modules are on github than RT
13:56 [Coke] "let's have more channels for <excellent reason>" ... crap, now I have even more stuff to backlog and potentially discuss! (at least the even moar stuff is better organized. :)
13:56 LordDrako FROGGS, also I am not sure the encoding is the issue in the CStruct: when only using Str I get "CStruct representation only handles int, num, CArray, CPointer, CStruct, CPPStruct and CUnion"
13:56 Skarsnik Oh
13:57 dalek rakudo/nom: aefe2c2 | coke++ | docs/release_guide.pod:
13:57 dalek rakudo/nom: note possibility of delay
13:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/aefe2c26b7
13:57 Skarsnik Probably because it look for shortname eq 'Str'
13:57 Skarsnik and is became Str+{NCencoded}
13:57 timotimo no
13:57 timotimo it checks for reprs, they are orthogonal to class names
13:57 pmurias joined #perl6
13:58 vendethiel joined #perl6
13:58 Skarsnik Str should not pass if it was only that
13:58 LordDrako when using "has Str $.lpszMenuName is encoded('utf16');" in the struct I get "Can't use unknown trait 'is encoded' in an attribute declaration." so there are actually two problems here
13:58 Skarsnik m: say Str.REPR
13:58 camelia rakudo-moar 7054a2: OUTPUT«P6opaque␤»
13:58 timotimo m: say str.REPR
13:58 camelia rakudo-moar 7054a2: OUTPUT«P6str␤»
13:59 Skarsnik and str in struct is... I had segfault with it x)
13:59 RabidGravy m: use NativeCall;  class Foo is repr('CStruct') { has Str $.foo };
13:59 camelia rakudo-moar 7054a2: ( no output )
13:59 LordDrako hm
14:00 Skarsnik adding the trait to attribute should not be hard
14:00 LordDrako m: use NativeCall; class WindowClass is repr('CStruct') { has Str $.lpszMenuName; }
14:00 camelia rakudo-moar 7054a2: ( no output )
14:00 LordDrako m: use NativeCall; class WindowClass is repr('CStruct') { has Str $.lpszMenuName is encoded('utf16'); }
14:01 camelia rakudo-moar 7054a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xraVU4WnjE␤Can't use unknown trait 'is encoded' in an attribute declaration.␤at /tmp/xraVU4WnjE:1␤    expecting any of:␤        rw␤        readonly␤        box_target␤        leading_docs␤      …»
14:01 timotimo ah, so it's just the trait doesn't exist for attributes yet
14:01 andreoss m: my @x = 1..*; sub foo([]) { say "matches []" }
14:01 camelia rakudo-moar 7054a2: ( no output )
14:01 andreoss m: my @x = 1..*; sub foo([]) { say "matches []" }; foo(@x)
14:01 camelia rakudo-moar 7054a2: OUTPUT«matches []␤»
14:01 cdg joined #perl6
14:01 LordDrako ha okay wait
14:02 LordDrako the first error was because of the unsupported coderef
14:02 LordDrako so yeah, it is only the missing trait
14:02 Skarsnik m: use NativeCall; my Str $a; explicitly-manage($a); say $a.^name;
14:02 camelia rakudo-moar 7054a2: OUTPUT«Cannot use 'does' operator with a type object.␤  in sub explicitly-manage at /home/camelia/rakudo-m-inst-1/share/perl6/sources/075EFE4B4CDAAF73190194EA876F81A1F128D1A2 line 344␤  in block <unit> at /tmp/ObLegJxB6Q line 1␤␤»
14:02 Skarsnik m: use NativeCall; my Str $a ="foo"; explicitly-manage($a); say $a.^name;
14:02 camelia rakudo-moar 7054a2: OUTPUT«Str+{NativeCall::ExplicitlyManagedString}␤»
14:03 Skarsnik m: use NativeCall; my Str $a is encoded('utf8') ="foo"; explicitly-manage($a); say $a.^name;
14:03 camelia rakudo-moar 7054a2: OUTPUT«5===SORRY!5=== Error while compiling /tmp/0ygo8cQtm3␤Can't use unknown trait 'is encoded' in a variable declaration.␤at /tmp/0ygo8cQtm3:1␤------> 3NativeCall; my Str $a is encoded('utf8')7⏏5 ="foo"; explicitly-manage($a); say $a.^␤    exp…»
14:03 nine [Coke]: FWIW the #perl6-toolchain channel did wonders for installer discussions
14:04 andreoss i thought it was resolved
14:04 Skarsnik I think adding multi trait_mod:<is>(Attribute $p, :$encoded!) is export(:DEFAULT, :traits) {
14:04 Skarsnik $p does NativeCallEncoded[$encoded];
14:04 Skarsnik }
14:04 Skarsnik should do the trick
14:05 RabidGravy is there some .rotor() incantation where given <a b c d>  I can get <a b> <b c> <c d> ?
14:05 Skarsnik but you have to ensure the Attribute is in a CPPStruct or CStruct REPR
14:05 andreoss m: (my @a = 1..*).Capture.perl.say
14:05 camelia rakudo-moar 7054a2: OUTPUT«Failure.new(exception => X::Cannot::Lazy.new(action => "create a Capture from", what => Any), backtrace => Backtrace.new)␤»
14:06 Actualeyes joined #perl6
14:06 PerlJam m: <a b c d>.rotor(2 => -1);  # RabidGravy
14:06 camelia rakudo-moar 7054a2: ( no output )
14:06 PerlJam m: <a b c d>.rotor(2 => -1).say;  # RabidGravy
14:06 camelia rakudo-moar 7054a2: OUTPUT«((a b) (b c) (c d))␤»
14:06 RabidGravy PerlJam++ # nice one
14:06 LordDrako https://rt.perl.org/Ticket/Display.html?id=127237 not sure if I did something wrong, it's my first ticket here :p
14:07 nowan joined #perl6
14:08 timotimo looks good to me
14:08 andreoss jnthn: should it match or throw an exception for 1..*?
14:09 andreoss regarding #123581
14:09 andreoss m: sub foo([]) { say "[]" }; foo(1..*);
14:09 camelia rakudo-moar 7054a2: OUTPUT«2 unexpected named arguments passed (min,max) in sub-signature␤  in sub foo at /tmp/p7BXWqz3xe line 1␤  in block <unit> at /tmp/p7BXWqz3xe line 1␤␤»
14:09 andreoss m: sub foo([]) { say "[]" }; foo(my @x = 1..*);
14:09 camelia rakudo-moar 7054a2: OUTPUT«[]␤»
14:09 pmurias joined #perl6
14:11 Skarsnik I think the encoded name for Attribute is not a good idea
14:11 timotimo you mean a [] subsignature should always .list?
14:11 andreoss m: multi foo([]) { say "[]" }; foo(my @x = 1..*);
14:11 camelia rakudo-moar aefe2c: OUTPUT«[]␤»
14:12 LordDrako I totally love perl 6 xD
14:12 LordDrako m: my $foo = 23 but role { method Str() { '42' } }; say $foo; say $foo + 1;
14:12 camelia rakudo-moar aefe2c: OUTPUT«42␤24␤»
14:12 andreoss timotimo: i would expect something like `Cannot .elems a lazy list`
14:12 timotimo hmm
14:14 timotimo what nick does Lloyd Fournier have here?
14:14 PerlJam llfourn I believe
14:15 timotimo that makes sense
14:15 timotimo llfourn: why'd you expect the attribute of a role to have a package other than $?CLASS? or rather: what would you expect it to be?
14:16 FROGGS LordDrako++ # RT #127237
14:17 andreoss m: my @x = 1..*;   say @x ~~ []
14:17 camelia rakudo-moar aefe2c: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/83j8ivCRYw line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/83j8ivCRYw line 1␤␤»
14:17 LordDrako FROGGS, ?
14:18 Ch0c0late joined #perl6
14:18 FROGGS LordDrako: are you wondering about the ++?
14:19 nowan joined #perl6
14:19 llfourn timotimo: i'd expect it to be the package it was declared in.
14:19 LordDrako this and why you wrote that the ticket number, because I could not find any change, but now I could, so its only the ++
14:19 LordDrako xD
14:19 FROGGS LordDrako: http://design.perl6.org/S99.html#karma :o)
14:20 llfourn m: role Foo { has $.foo; }; Foo.^attributes[0].package.^name.say
14:20 camelia rakudo-moar aefe2c: OUTPUT«$?CLASS␤»
14:20 llfourn class Foo { has $.foo; }; Foo.^attributes[0].package.^name.say
14:20 llfourn m: class Foo { has $.foo; }; Foo.^attributes[0].package.^name.say
14:20 camelia rakudo-moar aefe2c: OUTPUT«Foo␤»
14:20 llfourn ^^
14:20 Skarsnik hm
14:21 LordDrako FROGGS, is this tracked somehow or is it just an immediate sign of appreciation?
14:22 PerlJam LordDrako: we have no bot tracking karma last time I checked.
14:23 moritz but we have logs
14:23 RabidGravy and immediate warm fuzzies
14:23 moritz so we could retroactively extract karma from the logs
14:23 Juerd I can think of more interesting and useful way to spend time :)
14:23 Juerd Grepping logs is no fun
14:23 LordDrako well I guess it's better without... this might just result in bot orgies ++ing each other
14:24 moritz Juerd: indeed
14:24 moritz in 6 minutes, I have a meeting where we try to track down why (fancy-)grepping logs gives wrong results
14:25 sftf joined #perl6
14:26 llfourn timotimo: I am looking at it closer since apparently it's not obvious. Perhaps I am missing something?
14:27 Roamer` joined #perl6
14:27 llfourn Althought I understand that roles are not the same as other packages I would have thought that for MOP introspection purposes attributes would masquerade as if their were part of a package.
14:28 nine I for one welcome our new journald overloards!
14:28 llfourn timotimo: I will give you an example on the ticket as to why I think this should work
14:28 moritz MOP and masquerade usually don't mix well
14:28 llfourn moritz: do you think that an Attribute.package should not return the role it wass declared in?
14:29 pierre-vigier Small question
14:29 llfourn if it was Attribute.class I would understand it giving a $?CLASS or something
14:29 pierre-vigier i see my travis badge in github
14:29 pierre-vigier how to do to have it displayed on modules.perl6.com
14:30 pierre-vigier how to do to have it displayed on modules.perl6.org
14:30 pierre-vigier ?
14:31 Skarsnik It should be on m.p6.org
14:31 Skarsnik blame Zoffix if not
14:32 pierre-vigier i guess i did have a syntax error somewhere
14:32 Juerd pierre-vigier: On the page, it says "If you want to contribute your own module, please read this guide."
14:32 pierre-vigier do we need a particular travis file?
14:32 Juerd pierre-vigier: "this guide" is a link...
14:32 Skarsnik What is your modules name?
14:32 pierre-vigier i'll check ahain
14:32 pierre-vigier i did read it when doing a module
14:33 Juerd pierre-vigier: Oh, sorry, I think I may have read what you said wrong. Your module is already in the list, but you want it updated?
14:33 pierre-vigier nope, it's up to date
14:33 pierre-vigier but the badge
14:33 pierre-vigier green when test are ok
14:34 Juerd pierre-vigier: Do you have a .travis.yml in your repository?
14:34 pierre-vigier yes
14:34 gfldex the travis code on modules.perl6.org is buggy
14:34 pierre-vigier and it's working on github side
14:34 xpen joined #perl6
14:34 pierre-vigier https://github.com/pierre-vigier/Perl6-Math-Matrix
14:35 Juerd pierre-vigier: Then I'm assuming modules.perl6.org will pick it up eventually
14:36 pierre-vigier one diff i can see with other module is blank line in .travis.yml
14:36 virtualsue joined #perl6
14:36 pierre-vigier i'll check if removing them solve that
14:38 xpen joined #perl6
14:40 _Vi joined #perl6
14:42 RabidGravy I *think* there may be an open issue on perl6/modules regarding the non-displaying of travis results sometimes
14:42 mspo wow, grammar's are slow or it's easy to make mistakes
14:43 Actualeyes joined #perl6
14:43 mspo I'm parsing a 195 bytes string and am running at 96MB + 90% cpu
14:45 gfldex do I understand the following line corretly, when I say it tests for the Content-Type of the response? https://github.com/perl6/modules.perl6.org/blob/master/lib/ModulesPerl6/DbBuilder/Dist/PostProcessor/TravisCI.pm#L36
14:45 xpen_ joined #perl6
14:45 pjscott joined #perl6
14:45 pmurias mspo: running for how long?
14:45 mspo pmurias: doesn't seem to stop
14:46 gfldex the content type returned by api.travis-ci.org is 'application/json;charset=utf-8'
14:46 gfldex Zoffix: see ^^^ please
14:46 vendethiel joined #perl6
14:47 pmurias mspo: seems like a bug (could be in your code), they should be that slow
14:47 pmurias * they shouldn't
14:48 mspo pmurias: I think it's [<this>*||<that>*||<something>*]*
14:48 mspo let me see
14:48 mre gfldex: No It just sets the Accept header to 'Application/vnd.travis-ci.2+json' and thus expects (but desn't test it) to receive a response in that Content-type. It then decodes the response as json (expected as a hash) and gets the key called builds and derefs the array value
14:49 skids joined #perl6
14:50 pjscott joined #perl6
14:50 pmurias mspo: that seems to be an infinite loop
14:51 pmurias as you are matching a zero amount of <this> over and over again
14:51 mre gfldex: it seems that the Travis CI Api knows what it means but it probably just be 'application/json'
14:51 gfldex it then checks ->{state} to be something that is not q{"state":"finished"}, what is returned by the api
14:51 gfldex here a api response: https://api.travis-ci.org/repos/gfldex/perl6-xhtml-writer/builds
14:53 gfldex "result":1 seams to indicate build failure and "result":1 success
14:53 mspo pmurias: indeed
14:53 pierre-vigier Strange, it's the only unknown of the page
14:53 mspo https://gist.github.com/msporleder/e40b5feac1c9eb83383e
14:54 lnrdo_ joined #perl6
14:54 mspo pmurias: I thought tokens would help since they don't backtrack
14:54 pierre-vigier https://api.travis-ci.org/repos/pierre-vigier/Perl6-Math-Matrix/builds
14:55 FROGGS mspo: you can match an empty string quite often without backtracking for example
14:55 mre gfldex: I can't see anything that checks the state (other than to set the $dist->{travis_status})
14:56 pierre-vigier also, XHTML::Writer on your module
14:56 pierre-vigier i see the badge as "not set"
14:56 pierre-vigier but you have a travis file, really strange
14:56 gfldex mre: i will read up on the travis api and file a ticket if there is a mistake
14:56 pierre-vigier i
14:56 pierre-vigier i'll check more tomorrow, late for me here
14:56 pierre-vigier thanks and bye
14:57 Skarsnik I think Zoffix just fix something reletad to tracking master branch and not other
14:57 gfldex " If you do not set the Accept header, you might retrieve our old API formats. These are deprecated and will be removed soon. "
14:58 dalek nqp: 3baf0b6 | (Pawel Murias)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
14:58 dalek nqp: Map the nqp::lstat_time op.
14:58 dalek nqp: review: https://github.com/perl6/nqp/commit/3baf0b66d8
14:58 dalek nqp: a40c4c5 | (Pawel Murias)++ | src/vm/js/ (2 files):
14:58 dalek nqp: [js] Implement (or fix) nqp::stat, nqp::stat_time, nqp::lstat_time, nqp::lstat.
14:58 dalek nqp: review: https://github.com/perl6/nqp/commit/a40c4c537f
14:58 mre gfldex: does it say what the Accept header should be?
14:58 gfldex the accept header is correct but they may have changed the API already, dosn't say any dates
14:59 El_Che I have a mthod signature (Array $matches). If I want to check the type of the array, is the way to go subsets? subset MatchesArray of Array where *.WHAT == Match;
14:59 El_Che something likes List<String> in java
14:59 lnrdo joined #perl6
15:00 mre gfldex: if it matches the docs and it works then I would leave it alone
15:01 gfldex mre: it doesn't work for quite a few modules
15:02 llfourn .tell timotimo I put a rather long explanation on the ticket re why I expect $attr.package to return the role it was declared in. Enjoy!
15:02 yoleaux llfourn: I'll pass your message to timotimo.
15:04 geekosaur perhaps there should be .source or something that points to the entity that defined it, so .package can be the package
15:05 dalek modules.perl6.org: 6ff87ce | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source/GitHub.pm:
15:05 dalek modules.perl6.org: [REBUILD] Fix cached dist builds breaking travis statuses
15:05 dalek modules.perl6.org:
15:05 dalek modules.perl6.org: The check for whether .travis.yml file exists happens only when dist has new commits. Lacking those, the site thinks .travis.yml file was removed and the dist is not setup on travis, so it tosses the cached travis status too. (Closes #50)
15:05 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/6ff87ce90f
15:06 molaf joined #perl6
15:07 llfourn m: class Foo { method meth { } }; class Bar is Foo { }; Bar.^find_method("meth").line.say
15:07 camelia rakudo-moar aefe2c: OUTPUT«1␤»
15:07 llfourn m: class Foo { method meth { } }; class Bar is Foo { }; Bar.^find_method("meth").package.say
15:07 camelia rakudo-moar aefe2c: OUTPUT«(Foo)␤»
15:07 llfourn geekosaur: to me if it works for classes it should work for roles
15:08 llfourn we already have .line .package etc
15:08 llfourn I just think that they shouldn't break for roles -- roles are valid packages they are not valid calsses
15:08 llfourn m: role Foo { method meth { } }; class Bar does Foo { }; Bar.^find_method("meth").package.say
15:09 camelia rakudo-moar aefe2c: OUTPUT«(Foo)␤»
15:09 lnrdo_ joined #perl6
15:09 llfourn and it works for methods so why not attributes...
15:10 dalek modules.perl6.org: 15d1a08 | (Wenzel P. P. Peppmeyer)++ | lib/ModulesPerl6/DbBuilder/Dist/PostProcessor/TravisCI.pm:
15:10 dalek modules.perl6.org: _get_travis_status does test for 'finished' now
15:10 dalek modules.perl6.org: see: https://api.travis-ci.org/repos/gfldex/perl6-xhtml-writer/builds
15:10 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/15d1a08d1d
15:10 dalek modules.perl6.org: 73a921f | (Wenzel P. P. Peppmeyer)++ | lib/ModulesPerl6/DbBuilder/Dist/Source/GitHub.pm:
15:10 dalek modules.perl6.org: Merge branch 'master' of https://github.com/perl6/modules.perl6.org
15:10 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/73a921fcbf
15:10 FROGGS llfourn: roles get punned into classes or get consumed by classes
15:10 dalek doc/sigil-noflat: 47424d8 | (Brock Wilcox)++ | doc/Language/variables.pod:
15:10 dalek doc/sigil-noflat: Remove the reference to auto flattening based on sigils
15:10 dalek doc/sigil-noflat: review: https://github.com/perl6/doc/commit/47424d8765
15:10 FROGGS llfourn: and the methods are added to the class
15:10 FROGGS ohh wait
15:10 FROGGS llfourn: nvm
15:10 dalek doc: 47424d8 | (Brock Wilcox)++ | doc/Language/variables.pod:
15:10 dalek doc: Remove the reference to auto flattening based on sigils
15:10 dalek doc: review: https://github.com/perl6/doc/commit/47424d8765
15:10 dalek doc: 273ffa8 | (Brock Wilcox)++ | doc/Language/variables.pod:
15:10 dalek doc: Merge pull request #340 from perl6/sigil-noflat
15:10 dalek doc:
15:10 dalek doc: Remove the reference to auto flattening based on sigils
15:10 dalek doc: review: https://github.com/perl6/doc/commit/273ffa8a1e
15:11 gfldex Zoffix: i just pushed to modules.perl6.org a trivial fix that should help with travis updates
15:12 llfourn FROGGS: yes I think I have the .gist of it. Not 100% sure I get all of the edge cases.
15:12 llfourn m: role Foo { method foo { } }; Foo.^find_method("foo").package.say
15:12 camelia rakudo-moar aefe2c: OUTPUT«Method 'package' not found for invocant of class 'ForeignCode'␤  in block <unit> at /tmp/nLNfg81Lry line 1␤␤»
15:12 llfourn also interesting to note that it *doesn't* work if you do it directly
15:13 awwaiid gfldex: I noticed that you do a PR for your changes that you then merge -- I was doing a few direct commits before, but I think I'll do a PR/merge even if I'm going to merge it myself going forward. I think it makes it easier to see what has changed and allow for post-facto comments
15:13 geekosaur roles kinda don't exist unless something forces them to be reified as a mixin. MOP lookups wouldn't
15:13 FROGGS llfourn: .^ is implemented to not pun the role
15:14 geekosaur (mixin with an anonymous class)
15:14 llfourn FROGGS: but it works it just doesn't make the method into a Method, it's still a ForiegnCode
15:15 llfourn let's try punning it
15:15 FROGGS llfourn: yes, the transition from ForeignCode to Method happens at compose time
15:15 gfldex awwaiid: i'm doing the PR because _technically_ there is a travis that would catch bad things before they go live. However, I'm not willing to wait for 1h to wait for the build to finish, so I just hit that button right away.
15:15 llfourn m: role Foo { method foo { } }; Foo.new.WHAT.^find_method('foo').package.say
15:15 camelia rakudo-moar aefe2c: OUTPUT«(Foo)␤»
15:15 khw joined #perl6
15:16 llfourn FROGGS: ahh yep that makes sense
15:16 FROGGS m: role Foo { method foo { } }; Foo.^pun.^find_method('foo').package.say
15:16 camelia rakudo-moar aefe2c: OUTPUT«(Foo)␤»
15:17 lnrdo joined #perl6
15:18 ZoffixW joined #perl6
15:18 marmay joined #perl6
15:19 ZoffixW gfldex, are you sure your commit makes sense? The https://api.travis-ci.org/repos/gfldex/perl6-xhtml-writer/builds is an old API
15:20 gfldex ZoffixW: i am not sure
15:20 gfldex ZoffixW: however i am sure that there is a problem
15:21 ZoffixW gfldex, with what?
15:22 gfldex ZoffixW: travis status for XHTML::Writer is not set up, if you click that you go to the travis site that states a passed build
15:22 gfldex ZoffixW: and there are a few other modules with the same problem
15:23 ZoffixW gfldex, that was a caching issue that I just fixed with https://github.com/perl6/modules.perl6.org/commit/6ff87ce90fe368ac51d2a3732d3611205b0219f6
15:23 gfldex ZoffixW: you can drop my commit then
15:23 ZoffixW This is the new Travis API and I see only 'passed'/'errored'/'failed' for the `status` key. It's a shame Travis doesn't bother to document all possible values -_- perl -MData::Dumper -MMojo::UserAgent -wlE 'say Dumper(Mojo::UserAgent->new( max_redirects => 5)->get("https://api.travis-ci.org/repos/gfldex/perl6-xhtml-writer/builds", { Accept => "application/vnd.travis-ci.2+json" })->res->json)' | grep 'state'
15:23 mspo is there an end of string match in regex?
15:23 ZoffixW OK, I'll revert your commit then.
15:24 ZoffixW mspo, $
15:24 ZoffixW mspo, $$ for end of line
15:24 ZoffixW m: say so 'foo bar' ~~ /bar$/; say so 'foo bar' ~~ /foo$/; say so "foo bar\nber" ~~ /bar$/; say so "foo bar\nber" ~~ /bar$$/;
15:24 camelia rakudo-moar aefe2c: OUTPUT«True␤False␤False␤True␤»
15:25 mspo ZoffixW: $ isn't documented
15:26 ZoffixW Yeah. Probably should be somewhere in http://docs.perl6.org/language/regexes#Anchors
15:26 mspo m: say so 'foo bar\nber' ~~ /ber$/;
15:26 camelia rakudo-moar aefe2c: OUTPUT«True␤»
15:27 lnrdo joined #perl6
15:28 muraiki joined #perl6
15:29 mspo I can't seem to match the end ($) as a token
15:29 gfldex m: class C is Str { method Str(){'abc'} }; put C.new;
15:29 camelia rakudo-moar aefe2c: OUTPUT«␤»
15:29 gfldex should it do that? ^^^
15:29 Skarsnik not sure what put force to
15:30 gfldex put calls .Str
15:31 leedo gfldex: if i do C is Stringy, it works
15:32 dalek modules.perl6.org: 93d4c48 | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/Source/GitHub.pm:
15:32 dalek modules.perl6.org: Fix failing test
15:32 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/93d4c48727
15:32 cuonglm joined #perl6
15:33 mspo is this valid? token theend { $ }
15:33 dalek modules.perl6.org: 97d346d | (Zoffix Znet)++ | lib/ModulesPerl6/DbBuilder/Dist/PostProcessor/TravisCI.pm:
15:33 dalek modules.perl6.org: [REBUILD] Revert 15d1a08d1d3fefddec0d19dd9429923927c8460a
15:33 dalek modules.perl6.org:
15:33 dalek modules.perl6.org: The `finished` status is an old Travis API. The new one does not appear to have such a value for `status` key
15:33 dalek modules.perl6.org: review: https://github.com/perl6/modules.perl6.org/commit/97d346d406
15:35 travis-ci joined #perl6
15:35 travis-ci Doc build passed. Brock Wilcox 'Remove the reference to auto flattening based on sigils'
15:35 travis-ci https://travis-ci.org/perl6/doc/builds/101605017 https://github.com/perl6/doc/commit/47424d8765c1
15:35 travis-ci left #perl6
15:37 ZoffixW mspo, you may need to redefine ws token
15:37 pmurias joined #perl6
15:39 mspo or is there another way to say "I'm done parsing this string" in my action class
15:39 lnrdo joined #perl6
15:40 ZoffixW m: grammar Foo { token TOP { 'foo' <end> };  token end { $ }; }; say Foo.parse: "foo"
15:40 camelia rakudo-moar aefe2c: OUTPUT«「foo」␤ end => 「」␤»
15:40 ZoffixW No idea. Grammars are still voodoo to me :)
15:41 mspo I'm starting to grok them a little
15:41 mspo but this is a silly learning program and I really want to get it working ;)
15:43 AndyDee joined #perl6
15:45 awwaiid since when does travis-ci post here on doc builds?
15:45 dj_goku joined #perl6
15:46 FROGGS awwaiid: since half a year or so
15:46 awwaiid I must've just missed it before or maybe none of mine passed :)
15:47 FROGGS awwaiid: it is configured to be silent... only build errors and recoveries are posted
15:47 Ven joined #perl6
15:49 lnrdo_ joined #perl6
15:50 Ven o/
15:50 vendethiel joined #perl6
15:51 sjoshi joined #perl6
15:55 Ven timotimo: do you think SDL2 is stable enough to be used by my students in one of their projects?
15:55 FROGGS Ven: I guess so
15:55 Skarsnik maybe missing some stuff?
15:55 FROGGS Ven: they know how to do stable stuff at least
15:56 daotoad joined #perl6
15:57 mspo fyi https://github.com/perl6/doc/pull/341
15:57 pmurias Ven: \o
15:58 dalek doc: 7cb83fb | (Zoffix Znet)++ | doc/Language/regexes.pod:
15:58 dalek doc: Document $ regex anchor
15:58 dalek doc: review: https://github.com/perl6/doc/commit/7cb83fbf52
15:58 ZoffixW ehh
15:58 ZoffixW mspo, great minds think alike I guess :P
15:59 mspo ZoffixW: I think it's important to put a multi line string in there
15:59 mspo imho
15:59 mspo ZoffixW: to show the distinction of $$
16:01 dalek nqp: 59bb032 | (Pawel Murias)++ | src/vm/js/nqp-runtime/io.js:
16:01 dalek nqp: [js] Follow moar semantics on nqp::stat and ISLNK
16:01 dalek nqp: review: https://github.com/perl6/nqp/commit/59bb032921
16:01 dalek nqp: 9eae708 | (Pawel Murias)++ | t/nqp/19-file-ops.t:
16:01 dalek nqp: Test nqp::stat_* ops more.
16:01 dalek nqp: review: https://github.com/perl6/nqp/commit/9eae708cb0
16:02 sjoshi joined #perl6
16:02 [Coke] travis-ci posts here on doc builds since less than a week ago.
16:03 dalek doc: 5b939ec | (Zoffix Znet)++ | doc/Language/regexes.pod:
16:03 dalek doc: Explicilty mention ^ and $ anchor to string and not line. mspo++
16:03 dalek doc: review: https://github.com/perl6/doc/commit/5b939ec5df
16:03 [Coke] https://github.com/perl6/doc/commit/68ae004
16:05 psy_ joined #perl6
16:07 Dee22 joined #perl6
16:09 llfourn m: $_ .^= name # should set $_ to 'Any' but doesn't work :(
16:09 camelia rakudo-moar aefe2c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/UMkqVfsglm␤Malformed postfix call (only alphabetic methods may be detached)␤at /tmp/UMkqVfsglm:1␤------> 3$_ .7⏏5^= name # should set $_ to 'Any' but doe␤»
16:10 FROGGS .^= seems to by NYI
16:11 FROGGS and might not be hard to implement
16:12 andreoss m: multi foo([]) { say "[]" }; foo(my @x = 1..*);
16:12 camelia rakudo-moar aefe2c: OUTPUT«[]␤»
16:13 andreoss is it a desirible behaviour? I see the ticket is resolved
16:14 moritz m: say (my @x = 1..*) ~~ {}
16:15 moritz m: say (my @x = 1..*) ~~ []
16:15 camelia rakudo-moar aefe2c: OUTPUT«Memory allocation failed; could not allocate 285920 bytes␤»
16:15 camelia rakudo-moar aefe2c: OUTPUT«Cannot .elems a lazy list␤  in block <unit> at /tmp/1uRhG8ZUzN line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/1uRhG8ZUzN line 1␤␤»
16:15 andreoss m: (1..*).Capture.perl.say
16:15 camelia rakudo-moar aefe2c: OUTPUT«\(:max(Inf), :min(1))␤»
16:16 andreoss m: (my @x = 1..*).Capture.perl.say
16:16 camelia rakudo-moar aefe2c: OUTPUT«Failure.new(exception => X::Cannot::Lazy.new(action => "create a Capture from", what => Any), backtrace => Backtrace.new)␤»
16:17 mspo okay I figure it out
16:19 xinming_ joined #perl6
16:20 mspo https://gist.github.com/msporleder/ae031c2829d58f5d7267
16:20 itaipu joined #perl6
16:20 llfourn FROGGS: ah ok at least it's a thing :)
16:21 pmurias how should nqp::stat + ISLNK work? should it follow the symlink and check if the target is a symlink?
16:28 andreoss left #perl6
16:31 vendethiel joined #perl6
16:32 _nadim joined #perl6
16:32 dwarring joined #perl6
16:34 virtualsue joined #perl6
16:52 pmurias joined #perl6
16:54 vendethiel joined #perl6
16:54 Sqirrel joined #perl6
16:54 gfldex pmurias: it should not follow or it will get complicated quickly, symlinks can loop and there may be other pitfalls
16:54 lnrdo joined #perl6
16:55 lnrdo joined #perl6
17:05 anand_ joined #perl6
17:05 anand_ hi
17:05 lnrdo joined #perl6
17:06 kjs_ joined #perl6
17:06 anand_ hi
17:06 rurban joined #perl6
17:11 ZoffixW joined #perl6
17:11 ZoffixW Is it possible to extend the language by adding a method to say, Mu, and have it show up in all the things that inherit from Mu?
17:11 ZoffixW m: use MONKEY-TYPING; augment class Mu { method foo { say 42 }; }; my $x = 42; $x.foo
17:11 mspo thanks for taking my patch, btw
17:11 camelia rakudo-moar aefe2c: OUTPUT«Method 'foo' not found for invocant of class 'Int'␤  in block <unit> at /tmp/FEX_JP3JL1 line 1␤␤»
17:12 nine ZoffixW: AFAIK subclasses do not notice changes to their base classes.
17:13 ZoffixW aw :(
17:13 nine ZoffixW: it's basically a cache invalidation problem
17:13 ZoffixW So much for my plan to take over the world.
17:13 ZoffixW m: use MONKEY-TYPING; augment class Any { method foo { say 43 }; }; Int.^compose; my $x = 42; $x.foo
17:13 camelia rakudo-moar aefe2c: OUTPUT«43␤»
17:14 ZoffixW \o/
17:14 * stmuk_ wonders if the coming R* should warn JVM is broken
17:15 pmurias how hard would it be to unbreak JVM?
17:17 lnrdo_ joined #perl6
17:18 kjs_ joined #perl6
17:18 aigan joined #perl6
17:19 vendethiel joined #perl6
17:20 ilmari r: say $*PERL.compiler.build-date
17:20 camelia rakudo-moar aefe2c: OUTPUT«2016-01-11T14:29:31Z␤»
17:20 camelia ..rakudo-jvm 6c0f93: OUTPUT«2015-11-02T17:18:59Z␤»
17:24 [Coke] pmurias: if we knew how hard it would it be, it would probably be done already.
17:24 [Coke] but it hasn't been on par with moar since well before Christmas.
17:24 [Coke] so even if it we got it passing all the spec tests, it's still not 100%.
17:24 [Coke] (because the fudges vary)
17:26 rurban joined #perl6
17:31 TimToady .botsnack
17:31 yoleaux :D
17:34 nine TimToady: there's a new #perl6-release channel
17:34 TimToady cool
17:34 nine http://irclog.perlgeek.de/perl6-release/2016-01-11
17:35 Juerd I thought it was already released :)
17:36 [Coke] Now we're trying to figure out how not to break stuff.
17:36 nine The second release is actually the hardest one as we have to figure out how to handle versioning :)
17:37 [Coke] mmm
17:37 Juerd Ah :)
17:41 lnrdo joined #perl6
17:43 Skarsnik My main question is what is the version if I say nothing? I really don't want that to be 6.c
17:44 PerlJam Skarsnik: what would you like it to be?
17:44 PerlJam Skarsnik: and why don't you want it to be 6.c?
17:44 timotimo .tell ven SDL2 is stable enough to be used by students. the SDL2::Raw module ... not necessarily :P
17:44 yoleaux 15:02Z <llfourn> timotimo: I put a rather long explanation on the ticket re why I expect $attr.package to return the role it was declared in. Enjoy!
17:44 yoleaux timotimo: I'll pass your message to ven.
17:45 timotimo .tell ven also, only an SDL2 package isn't enough to make great stuff; you'd ideally also have OpenGL bindings
17:45 yoleaux timotimo: I'll pass your message to ven.
17:46 Skarsnik I mean that depend if 6.c include bugs of the chrismas release (even buggy roasty test) and especially since 6.c is still not complete for me (I think not everything is tested/documented)
17:47 captain-adequate joined #perl6
17:48 kjs_ joined #perl6
17:48 nine Skarsnik: those are certainly good thoughts for #perl6-release
17:49 Calibellus joined #perl6
17:50 leont m: say $^T
17:50 camelia rakudo-moar aefe2c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/nS5muYIOYN␤Unsupported use of $^T variable; in Perl 6 please use $*BASETIME␤at /tmp/nS5muYIOYN:1␤------> 3say $^T7⏏5<EOL>␤»
17:50 leont m: say $*BASETIME
17:50 camelia rakudo-moar aefe2c: OUTPUT«Dynamic variable $*BASETIME not found␤  in block <unit> at /tmp/Ld6DfGh5vL line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/Ld6DfGh5vL line 1␤␤»
17:50 leont Less helpful than imagined
17:50 leont I guess I'll have to use BEGIN { now } or some such
17:52 dalek rakudo/nom: 98ee2da | (David Warring)++ | src/core/CompUnit/PrecompilationRepository.pm:
17:52 dalek rakudo/nom: Ensure uniqueness of precomp dependences.
17:52 dalek rakudo/nom:
17:52 dalek rakudo/nom: Some background:
17:52 dalek rakudo/nom: I noticed duplicate entries appearing in some of the `lib/.precomp/*.rev-deps` when doing the following:
17:52 dalek rakudo/nom: ```
17:52 dalek rakudo/nom: $ panda installdeps PDF
17:52 dalek rakudo/nom: $ panda look PDF
17:52 dalek rakudo/nom: .panda-work/1452532671_1$ time perl6 -I lib -e'use PDF::DAO::Doc'
17:52 dalek rakudo/nom: .panda-work/1452532671_1$ time perl6 -I lib -e'use PDF::DAO::Doc'
17:52 dalek rakudo/nom: ```
17:52 dalek rakudo/nom: With this patch, duplicates are removed from `*.rev-deps` and the second `use PDF::DAO::Doc` only takes about half the time.
17:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/98ee2dacda
17:52 dalek rakudo/nom: 42a5832 | niner++ | src/core/CompUnit/PrecompilationRepository.pm:
17:52 dalek rakudo/nom: Merge pull request #681 from dwarring/patch-2
17:52 dalek rakudo/nom:
17:52 dalek rakudo/nom: Ensure uniqueness of precomp dependencies.
17:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42a58329ce
17:53 patrickz joined #perl6
17:56 pmurias [Coke]: do a lot of users use the JVM backend? I could try to fix some things if people are depending on it?
17:57 ZoffixW Rakudobugged the $*BASETIME thing: https://rt.perl.org/Ticket/Display.html?id=127241
17:59 pierre-vigier joined #perl6
18:01 ZoffixW m: ␤=begin Foo␤testing things␤=end Foo␤ say $=Foo
18:01 camelia rakudo-moar aefe2c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/WYDNe0BFeJ␤Pod variable $=Foo not yet implemented. Sorry. ␤at /tmp/WYDNe0BFeJ:4␤------> 3 say $=Foo7⏏5<EOL>␤»
18:01 ZoffixW :(
18:02 nine Seems like nqp-jvm doesn't build
18:04 dalek nqp: b12d795 | (Dagfinn Ilmari Mannsåker)++ | / (2 files):
18:04 dalek nqp: Use skip() instead of ok(1, …) in t/nqp/19-file-ops.t
18:04 dalek nqp:
18:04 dalek nqp: The conversion from say("ok $_ # Skipped: …") for (…) to ok() left the
18:04 dalek nqp: test number in what is now the test description, which rapidly went out
18:04 dalek nqp: of sync with the real test numbers.
18:04 dalek nqp:
18:04 dalek nqp: Instead, add an optional count parameter to skip() and use that.
18:04 dalek nqp: review: https://github.com/perl6/nqp/commit/b12d7951f8
18:04 dalek nqp: ab366b6 | jnthn++ | / (2 files):
18:04 dalek nqp: Merge pull request #272 from ilmari/fix-file-ops-skip
18:04 dalek nqp:
18:04 dalek nqp: Use skip() instead of ok(1, …) in t/nqp/19-file-ops.t
18:04 dalek nqp: review: https://github.com/perl6/nqp/commit/ab366b6d5e
18:04 ilmari jnthn++ # quick merge
18:05 ilmari 2 minutes!
18:07 vendethiel joined #perl6
18:07 jnthn ilmari: I even read it! ;)
18:07 yoleaux 31 Dec 2015 07:54Z <TimToady> jnthn: We now do value loops using your Seq.from-loop routines, after some drama over doing block transforms outside of where @!BLOCKS is a valid way to look things up
18:07 yoleaux 31 Dec 2015 09:37Z <lizmat> jnthn: feels to me that Supply.Promise should really be a promise on the Supplier to be kept in Supplier.done, so we wouldn't need a tap for it
18:07 yoleaux 9 Jan 2016 07:02Z <DrForr> jnthn: Inconistency that probably is out of scope for Grammar::{Debugger,Tracer} - once the TOP rule has matched, if there is more text to be matched by the parse('foo') method it's not reported, so Grammar::Tracer could conceivably report a MATCH when the parse() still fails.
18:07 jnthn Wow, only 3 messages after 2-3 weeks away \o/
18:08 ilmari jnthn: welcome back :)
18:08 itaipu joined #perl6
18:08 El_Che jnthn++ is back :)
18:08 jnthn lizmat: No, .Promise should be callable on any Supply, not just those that come from a Supplier. We could mebbe add one to Supplier as a fast-path if it's actually common
18:09 El_Che jnthn: those 3 people are your mortal enemies don't letting you take the rest you needed :)
18:09 TimToady mwahaha
18:10 jnthn .tell DrForr It's a common enough trap it's worth trying to help folks with; please file a github issue on the module for that if you didn't already :)
18:10 yoleaux jnthn: I'll pass your message to DrForr.
18:10 TimToady actually, mine was just a report of something he doesn't have to worry about anymore :)
18:10 DrForr Will do.
18:10 yoleaux 18:10Z <jnthn> DrForr: It's a common enough trap it's worth trying to help folks with; please file a github issue on the module for that if you didn't already :)
18:10 TimToady well, except insofar as we need to unify the lexical lookups into one mechanism rather than two at some point
18:10 jnthn Geez, when I went for break it was all hugs and stuff here, and now it's all mortal enemies? :)
18:11 El_Che :)
18:11 awwaiid jnthn: *hug*
18:11 DrForr It's there as #24.
18:11 timotimo Mortal Hugbat
18:11 Juerd jnthn: Deadly hugs :|
18:11 timotimo FINISH HUG  ... hugtality!
18:11 TimToady huggable, help
18:11 huggable TimToady, I'm a factoid bot. See me my source at https://github.com/zoffixznet/perl6-IRC-Client-Plugin-Factoid
18:11 awwaiid hug you... TO DEATH
18:11 gtodd jnthn: you mean mortal sibling rivarly  ?
18:12 DrForr Hugs not bugs.
18:12 El_Che DrForr: keep submitting bugs until you get to #42. Those get always fixed :)
18:12 jnthn Oh no, I wrote a module with 24 bugs?! :P
18:12 Juerd DrForr: rakudohug@perl.org? :)
18:12 DrForr No, github.
18:12 jnthn Damn, that means it has a userbase :P
18:12 Juerd githug
18:12 TimToady my thing has more bugs than yours :P
18:13 TimToady well, except insofar as my thing is also your thing...
18:14 El_Che there is the love again
18:14 jnthn Was gonna say, did I get fired... :)
18:14 TimToady yes, and the glaze came out pretty good this time :)
18:15 awwaiid shiney
18:15 jnthn Mmmm...
18:15 * jnthn is waiting for nom to be delivered
18:15 FatalNIX joined #perl6
18:15 FatalNIX Hey guys
18:16 geekosaur (there must be an internet law somewhere that says that if you want people to use your program, plant bugs in it)
18:16 FatalNIX congratulations on the great news from november? :)
18:16 TimToady jnthn: for your future reference, there's now two new channels, #perl6-toolchain and #perl6-release, but they're logged, so no need to join in a hurry
18:17 jnthn What's #perl6-release for, ooc?
18:17 TimToady figuring out the details of how to allow for progress and bug fixes without breaking anything :)
18:17 jnthn Toolchain I can guess. I'm also awful at toolchain things, so I'm not sure if my joining would be a net positive/negative. :)
18:17 jnthn Ah, #perl6-release I should probably join then :)
18:18 FatalNIX How is Perl6 on the JVM progressing?
18:18 TimToady likelier to be interesting to you
18:18 jnthn We didn't spawn a compiler dev one yet?
18:18 TimToady not yet
18:18 TimToady that I know of
18:18 jnthn (For the guts stuff that's not so guts as #moarvm...)
18:18 jnthn OK
18:18 TimToady mabye it's a sekrit
18:18 jnthn ;)
18:19 jnthn FatalNIX: It got less attention in to rush to get the Christmas release out the door. Now I expect it'll get a bit more attention again...
18:20 FatalNIX jnthn, I'm getting a bit eager to try some Mincraft modding with it at some point :)
18:20 ZoffixW :o
18:20 TimToady FatalNIX: the JVM folk are starting to come back online after holidays, and surveying the damage :)
18:20 FatalNIX Minecraft*
18:20 El_Che TimToady: I hope you're now making a cheap pun on the slow startup of the jvm!
18:20 El_Che :)
18:22 ZoffixW m: say $*SPEC.catfile: 42, "\0"
18:22 camelia rakudo-moar 42a583: OUTPUT«42/␀␤»
18:23 patrickz joined #perl6
18:24 dalek rakudo/language_versions: 793258e | (Stefan Seifert)++ | / (8 files):
18:24 dalek rakudo/language_versions: First attempt at adding a CORE.d setting
18:24 dalek rakudo/language_versions: review: https://github.com/rakudo/rakudo/commit/793258e5e9
18:24 dalek rakudo/language_versions: aafd117 | (Stefan Seifert)++ | / (7 files):
18:24 dalek rakudo/language_versions: Bring back IO::CatPath and IO::CatHandle in 6.d
18:24 dalek rakudo/language_versions:
18:24 dalek rakudo/language_versions: nine@sphinx:~> perl6 -e 'IO::ArgFiles.new;'
18:24 dalek rakudo/language_versions: nine@sphinx:~> perl6 -e 'use v6.d; IO::ArgFiles.new;'
18:24 dalek rakudo/language_versions: Could not find symbol '&ArgFiles'
18:24 dalek rakudo/language_versions: review: https://github.com/rakudo/rakudo/commit/aafd117c0e
18:24 rindolf joined #perl6
18:24 nine now with JVM support (untested due to nqp-j breakage)
18:26 FatalNIX I think that will be a nice little test today
18:27 FatalNIX to see if I can make an example hellow world mod with Perl6 for Minecraft. It looks like there is just enough support for it to work with maytbe a tiny bit of java glue
18:27 FatalNIX for the annotations
18:27 lnrdo joined #perl6
18:28 FatalNIX I wonder if the way jvm library functions are called have been syntatically improved though
18:28 ZoffixW m: my ($x, $y) =  $*SPEC.basename($*SPEC.catfile: 42, "foo.txt/"), $*SPEC.basename: "/foo/foo.txt/"; say [ ($x,), ($y,) ]
18:28 camelia rakudo-moar 42a583: OUTPUT«[(foo.txt) ()]␤»
18:29 FatalNIX in a sense that you don't need to deal with method descriptors
18:29 ZoffixW m: class Foo {}; GLOBAL::.keys.say
18:29 camelia rakudo-moar 42a583: OUTPUT«(Foo)␤»
18:29 ZoffixW Is there a similar thing to get a list of all the built-in classes?
18:30 bpmedley joined #perl6
18:30 nine m: CORE::.keys.say
18:30 camelia rakudo-moar 42a583: OUTPUT«(SIGSEGV WhateverCode &FILETEST-X Slip &callframe Pair SIGHUP &flat PromiseStatus CurrentThreadScheduler &RETURN-LIST utf8 &MAKE-DIR-LIST &infix:<∖> StringyEnumeration Distribution &splice &postcircumfix:<{ }> &callsame &GATHER Backtrace PF_INET6 &sinh &…»
18:30 ZoffixW Thanks
18:31 TimToady m: SETTING::.keys.say
18:31 camelia rakudo-moar 42a583: OUTPUT«(&pipe $=pod RESTRICTED-CLASS &symlink !UNIT_MARKER &UNLINK-PATH &SYMLINK-PATH &MAKE-DIR &rmdir EXPORT $_ $! PIO &CHANGE-DIRECTORY &chmod Proc NativeCall &COPY-FILE &rename &link ::?PACKAGE GLOBALish $¢ &shell $=finish &RENAME-PATH &REMOVE-DIR &CHMOD-PATH…»
18:35 ZoffixW m: .say for SETTING::.keys.sort.map: *.WHAT;
18:35 camelia rakudo-moar 42a583: OUTPUT«Cannot call map(List: Whatever); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/uJTLb6mzoG line 1␤␤»
18:35 ZoffixW m: .say for SETTING::.keys.sort.map: { $_.WHAT };
18:35 camelia rakudo-moar 42a583: OUTPUT«(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤(Str)␤…»
18:35 nine TimToady: SETTING:: will be somewhat reduced in a 6.d nested setting: > perl6 -e 'use v6.d; say ::SETTING.WHO.keys'
18:35 ZoffixW Hm. Is that a bug?
18:35 nine ($=pod !UNIT_MARKER EXPORT $_ $! &slurp ::?PACKAGE GLOBALish $¢ $=finish $/ $?PACKAGE)
18:36 nine ZoffixW: I dare say a bug in your code ;)
18:36 nine ZoffixW: that is: if you expect the keys to be something other than Str
18:36 ZoffixW nine, I mean why doesn't this work: m: .say for SETTING::.keys.sort.map: *.WHAT;
18:36 nine ZoffixW: you mean .values, not .keys
18:37 ZoffixW m: .say for SETTING::.values.sort.map: *.WHAT;
18:37 camelia rakudo-moar 42a583: OUTPUT«Sub object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/ZWk3rrXIdf line 1␤Cannot call infix:<cmp>(RESTRICTED-CLASS, Sub); none of these signatures match:␤    (\a, \b)␤    (Real \a, Real \b)␤    (Int:D \a, Int:D …»
18:37 * ZoffixW is confused
18:37 nine m: .say for SETTING::.values.sort.map: *.^name;
18:37 camelia rakudo-moar 42a583: OUTPUT«Sub object coerced to string (please use .gist or .perl to do that)  in block <unit> at /tmp/jcz24kLsUG line 1␤Cannot call infix:<cmp>(RESTRICTED-CLASS, Sub); none of these signatures match:␤    (\a, \b)␤    (Real \a, Real \b)␤    (Int:D \a, Int:D …»
18:37 ZoffixW I figured {  .map: *.WHAT  } was equivalent to {  .map: { $_.WHAT }  }
18:37 timotimo i imagine .values.sort doesn't make much sense
18:38 nine m: .say for CORE::.values.map(*.^name).sort;
18:38 camelia rakudo-moar 42a583: OUTPUT«Any␤Backtrace␤Blob[uint8]␤Block␤Block␤Bool␤CompUnit␤Complex␤CurrentThreadScheduler␤Cursor␤Date␤Distribution␤Duration␤FileChangeEvent␤FileChangeEvent␤Grammar␤HyperSeq␤IO␤Instant␤IntAttrRef␤IntLexRef␤JSONPrettyAction…»
18:39 nine ZoffixW: https://github.com/rakudo/rakudo/blob/nom/src/core/Exception.pm#L2408 for some real world code
18:40 ZoffixW Thanks
18:40 ZoffixW I still think this is a bug and it should Just Work(tm):
18:40 ZoffixW m: say (1, 2, 3).map: {$_}
18:40 camelia rakudo-moar 42a583: OUTPUT«(1 2 3)␤»
18:40 ZoffixW m: say (1, 2, 3).map: *
18:40 camelia rakudo-moar 42a583: OUTPUT«Cannot call map(List: Whatever); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/olYyRtIC58 line 1␤␤»
18:40 timotimo ZoffixW: we accept Whatever as a parameter in many cases already to do "special casing"
18:40 timotimo maybe we should do that in this case, too
18:41 FatalNIX so much unicode
18:41 nine But what's the point of map(*)?
18:41 FatalNIX so many squares and boxes on my screen
18:41 ZoffixW nine, that was just a short example. The real-world code would be:  *.method-call
18:41 PerlJam FatalNIX: welcome to the future :)
18:41 ZoffixW *<hash-key>
18:42 nine ZoffixW: *.method-call does work
18:42 ZoffixW m: say (1, 2, 3).map: *.Int
18:42 camelia rakudo-moar 42a583: OUTPUT«(1 2 3)␤»
18:42 nine m: say (1, 2, 3).map: *.Str
18:42 camelia rakudo-moar 42a583: OUTPUT«(1 2 3)␤»
18:42 ZoffixW :o
18:42 ZoffixW m: say (1, 2, 3).map: *.WHAT
18:42 camelia rakudo-moar 42a583: OUTPUT«Cannot call map(List: Whatever); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/tjyUWBxZDr line 1␤␤»
18:42 ZoffixW Why doesn't this one work?
18:42 timotimo because .WHAT isn't a method call
18:42 ZoffixW Ah. What is it?
18:42 timotimo it's macro-ish and doesn't autocurry with *
18:43 TimToady a postfix pretending to be a method
18:43 ZoffixW I see. Then nevermind.
18:44 timotimo m: say (1, 2, 3).map: *.DEFINITE
18:44 camelia rakudo-moar 42a583: OUTPUT«Cannot call map(List: Bool); none of these signatures match:␤    ($: Hash \h, *%_)␤    (\SELF: &block;; :$label, :$item, *%_)␤    (HyperIterable:D $: &block;; :$label, *%_)␤  in block <unit> at /tmp/6UecYyjBQF line 1␤␤»
18:44 timotimo same in this case apparently
18:44 TimToady they tend to be in CAPS for that reason
18:44 timotimo yeah
18:45 TimToady some of them might be currently implemented as methods, but we don't promise that they will continue to be
18:47 Hotkeys Why are strange things not allowed as var names?
18:48 Hotkeys m: my ???? = 3; say ????
18:48 camelia rakudo-moar 42a583: OUTPUT«5===SORRY!5=== Error while compiling /tmp/B7hoMynQU4␤Malformed my␤at /tmp/B7hoMynQU4:1␤------> 3my7⏏5 ???? = 3; say ????␤»
18:48 ZoffixW .u ????
18:48 yoleaux U+1F436 DOG FACE [So] (????)
18:48 ZoffixW .u Δ
18:48 yoleaux U+0394 GREEK CAPITAL LETTER DELTA [Lu] (Δ)
18:48 ZoffixW .u 9
18:48 yoleaux U+0039 DIGIT NINE [Nd] (9)
18:48 Hotkeys It was the first strange thing j could find on my Android keyboard
18:49 timotimo Hotkeys: has to be a term
18:49 timotimo m: sub term:< > { state $ };
18:49 camelia rakudo-moar 42a583: OUTPUT«5===SORRY!5=== Error while compiling /tmp/MOnEGDGJSY␤Null operator is not allowed␤at /tmp/MOnEGDGJSY:1␤------> 3sub term:< >7⏏5 { state $ };␤»
18:49 ZoffixW As far as Strange Things go, they have to consist of "L" "N" unicode "types" (and maybe a few others I missed). "S" are symbols I think
18:49 timotimo did i put the dog face correctly?
18:49 timotimo i can't see it :(
18:49 ZoffixW No
18:50 ZoffixW m: sub term:<????> { state $ };
18:50 camelia rakudo-moar 42a583: ( no output )
18:50 ZoffixW m: sub term:<????> { state $ }; say ????
18:50 camelia rakudo-moar 42a583: OUTPUT«(Any)␤»
18:51 timotimo would \dogface work?
18:51 timotimo as in: my \dogface?
18:52 ZoffixW Yes, it will
18:52 Hotkeys How would I assign a value to the term
18:52 Hotkeys I've not used terms
18:53 firstdayonthejob joined #perl6
18:53 Hotkeys Not that I'll use dogface a lot
18:53 Hotkeys But I like to know :p
18:53 ZoffixW m: sub term:<????> is rw { state $ }; ????  = 42; say ????
18:53 camelia rakudo-moar 42a583: OUTPUT«42␤»
18:53 Hotkeys Ah
18:53 timotimo in that case, there's no need for the term sub at all
18:54 timotimo just have my \dogface := my $; or something like that
18:54 ZoffixW timotimo, Oh, I thought you meant literal "dogface". It'll work with the word, but not the char
18:54 ZoffixW m: my \???? = 42;
18:54 camelia rakudo-moar 42a583: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EpbFJdPahC␤Malformed my␤at /tmp/EpbFJdPahC:1␤------> 3my7⏏5 \???? = 42;␤»
18:54 timotimo ...
18:54 ZoffixW ?
18:54 timotimo i thought you'd have noticed i can't get that thing on my end by copy-pasting :P
18:54 kjs_ joined #perl6
18:54 ZoffixW I'm not that smart :P
18:55 TimToady joined #perl6
18:56 ZoffixW m: sub term:<????????????????????????> { say "{&?ROUTINE.name.chars-7} puppies" }; ????????????????????????
18:56 camelia rakudo-moar 42a583: OUTPUT«6 puppies␤»
18:56 Hotkeys Lol
18:57 Hotkeys Can that be done with an arbitrary number of puppies
18:57 * ZoffixW tries
18:57 Hotkeys :D
18:57 Hotkeys I'm on the bus right now on my phone
18:58 Hotkeys Otherwise I'd try
18:58 timotimo what is the name of that term? i only see blank space between the < >
18:58 TimToady try the log?  should be 6 puppies
18:58 gfldex left #perl6
18:58 gfldex joined #perl6
18:59 ZoffixW m: sub term:<????> { 1 }; sub postfix:<????> { $^a+1 }; say "{????????????????????????????????????????} puppies"
18:59 timotimo ah, of course!
18:59 camelia rakudo-moar 42a583: OUTPUT«10 puppies␤»
18:59 ZoffixW m: sub term:<????> { 1 }; sub postfix:<????> { $^a+1 }; say "{????????????????????????????????????????????????????????} puppies"
18:59 camelia rakudo-moar 42a583: OUTPUT«14 puppies␤»
18:59 ZoffixW :D
18:59 Hotkeys Yay
18:59 timotimo i don't really understand why it'd need the -7 in there
18:59 TimToady we need a milder term for mojibake that are the correct characters but overlapping
18:59 ZoffixW timotimo, 'term:<>' is 7 chars
18:59 timotimo oh, duh
19:00 timotimo TimToady: maybe something involving subway trains?
19:00 TimToady .oO(mojigroping?)
19:00 Hotkeys mojitrain
19:00 Hotkeys mojiplane
19:00 Hotkeys mojiautomobile
19:00 TimToady mojisardines
19:01 Hotkeys mojimojo
19:01 vendethiel joined #perl6
19:01 mspo mojibake is google-able
19:01 TimToady mojbiake
19:01 Hotkeys Lol
19:01 Hotkeys mojibate
19:01 Hotkeys :)
19:02 lichtkind joined #perl6
19:02 TimToady mojijiji
19:03 TimToady mojjjji
19:05 domidumont joined #perl6
19:05 ZoffixW m: sub term:<????> {class C is Int {my $x = 1; method gist { "$x puppies" }; method boop {$x++; self}}}; sub postfix:<????> { $^a.boop }; say ????????????????????????????????????????????
19:05 camelia rakudo-moar 42a583: OUTPUT«11 puppies␤»
19:05 ZoffixW m: sub term:<????> {class C is Int {my $x = 1; method gist { "$x puppies" }; method boop {$x++; self}}}; sub postfix:<????> { $^a.boop }; say ????????????????????????????????????????????????????????????????????????????????????????
19:05 camelia rakudo-moar 42a583: OUTPUT«22 puppies␤»
19:05 ZoffixW ^_^ completely encapsulated now :D
19:06 TimToady boop is not what puppies make
19:06 timotimo you can still boop a puppy on the nose
19:06 timotimo that counts as boop, doesn't it?
19:06 * TimToady only knows how to bap
19:07 ZoffixW m: class Foo{}
19:07 camelia rakudo-moar 42a583: ( no output )
19:07 ZoffixW m: class Foo is Int{}
19:07 camelia rakudo-moar 42a583: OUTPUT«5===SORRY!5=== Error while compiling /tmp/poMXu0zSBD␤Cannot call trait_mod:<is>(Foo, Int, Hash); none of these signatures match:␤    (Mu:U $child, Mu:U $parent)␤    (Mu:U $child, :$DEPRECATED!)␤    (Mu:U $type, :$rw!)␤    (Mu:U $type, :$nativ…»
19:07 lostinfog joined #perl6
19:07 timotimo didn't we have a helpful error about that at one point?
19:08 TimToady I believe so
19:08 timotimo maybe only for traits with names
19:08 timotimo rather than objects named as traits
19:08 timotimo m: class Foo is export{ }
19:08 camelia rakudo-moar 42a583: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4iiYrPelnJ␤Unable to parse class definition␤at /tmp/4iiYrPelnJ:1␤------> 3class Foo is export{ }7⏏5<EOL>␤»
19:08 timotimo :\
19:08 timotimo m: class Foo is export{}
19:08 camelia rakudo-moar 42a583: OUTPUT«5===SORRY!5=== Error while compiling /tmp/e4kgTlg1kb␤Unable to parse class definition␤at /tmp/e4kgTlg1kb:1␤------> 3class Foo is export{}7⏏5<EOL>␤»
19:09 ZoffixW m: sub foo is export{}
19:09 camelia rakudo-moar 42a583: OUTPUT«5===SORRY!5===␤Trait 'is export' needs whitespace before block␤at /tmp/5tO_UVrVAD:1␤------> 3sub foo is export{}7⏏5<EOL>␤Missing block (apparently claimed by 'is export')␤at /tmp/5tO_UVrVAD:1␤------> 3sub foo is export{}7⏏5<EOL>…»
19:10 TimToady maybe that's what we're thinking of
19:10 TimToady could usefully be extended to packagey defs
19:11 alpha123 joined #perl6
19:12 [Coke] .tell pmurias we have no stats on that sort of thing, but we've never had a java-based christmas.
19:12 yoleaux [Coke]: I'll pass your message to pmurias.
19:13 ZoffixW Rakudobugged: https://rt.perl.org/Ticket/Display.html?id=127242
19:14 itaipu joined #perl6
19:16 TimToady ZoffixW++
19:19 bartolin_ btw, it's only nqp commit 4b1236e535 which prevents building rakudo-j (as of 12 hours ago)
19:19 bartolin_ cmp http://irclog.perlgeek.de/perl6/2016-01-09#i_11857477 (and a few lines below)
19:21 patrickz Has Rakudo* Zef included?
19:22 patrickz Latest released R*.
19:22 timotimo i don't think so
19:22 timotimo maybe the next one will
19:28 leont If I want to pass the equivalent of an arrayref through an API, how do I do that? Use a capture?
19:29 [Coke] leont: we don't really have arrayrefs, per se, and ... what kind of API?
19:30 leont pass it as an argument to a function, that calls a function(named arguments, doesn't look at it), etcetera until it arrives at the right callback
19:31 [Coke] are you implying Nativecall in there somewhere?
19:31 leont No
19:32 [Coke] m: my $a = 1,2,3; sub stuff ($arg) { say $arg.perl }; stuff($a);
19:32 camelia rakudo-moar 42a583: OUTPUT«WARNINGS for /tmp/90005_FEhY:␤Useless use of constant integer 2 in sink context (lines 1, 1)␤Useless use of constant integer 3 in sink context (lines 1, 1)␤1␤»
19:32 [Coke] m: my $a = 1,2,3; sub stuff ($arg) { $arg.perl }; say stuff($a);
19:32 camelia rakudo-moar 42a583: OUTPUT«WARNINGS for /tmp/7dEh125jdr:␤Useless use of constant integer 2 in sink context (lines 1, 1)␤Useless use of constant integer 3 in sink context (lines 1, 1)␤1␤»
19:32 [Coke] arglebargle.
19:33 cdg joined #perl6
19:33 [Coke] my $a = <1 2 3>; sub stuff ($arg) { $arg.perl }; say stuff($a); # that's passing an arrayrefish thing.
19:33 [Coke] so you want to be able from inside stuff to call some other function and pass $arg ?
19:34 leont I need to be able to change the array while at a distance
19:34 leont I could wrap it up in an object, but it feels like there should be an easier way
19:35 Skarsnik is rw?
19:35 leont Skarsnik: it's not one level of functions, and some functions just blindly pass on *%args
19:36 [Coke] if you want to ignore the signatures of things being passed around, perhaps a $*DYNVAR is closer to what you need.
19:37 [Coke] if you can work with signatures, this works:
19:37 [Coke] m: my @a = <1 2 3>; sub stuff (@arg) { @arg[2]="EEK" }; stuff(@a); say @a;
19:37 camelia rakudo-moar 42a583: OUTPUT«[1 2 EEK]␤»
19:37 leont Hmmm, a dynamic variable actually sounds like a good idea
19:37 leont [Coke]: thanks!
19:37 [Coke] but that doesn't work with $a, because by default that's a List, not an Array
19:38 [Coke] excellent. :)
19:39 Skarsnik duh, why did it let you write on the array?
19:39 timotimo only the "outer" reference is read-only
19:39 timotimo we don't have something smart for deep read-only-ness yet
19:40 [Coke] lizmat: saw your note on 127215 - we shoud write up a "how to report a bug" off perl6.org that includes things like --ll-exception
19:40 Skarsnik That an issue for class probably x)
19:42 Skarsnik I had a question, is not supporting circular dependancy a bug?
19:42 kaare_ joined #perl6
19:42 [Coke] I believe that it was ruled notabug.
19:42 [Coke] you can do it with stubs.
19:43 Skarsnik No
19:43 Skarsnik not accross two files
19:43 Skarsnik if you have A.pm6 and B.pm6 that need each other you are screwed
19:44 spider-mario joined #perl6
19:44 Skarsnik I had this issue with Discord, where Users have channels and Channels have a owner that are an user. and I don't even talk about Guild that an user is in and the Guild holding channel lists x)
19:45 zwu joined #perl6
19:45 Skarsnik I had to remove the type constraint of these attribute
19:47 [Coke] right, everything with circular refs has to be in the same file. I thought that was not going to be relaxed, but I don't know if there was an RT about it.
19:48 [Coke] You could keep the source separate, but combine them for building like we do in core.
19:49 kjs_ joined #perl6
19:49 skingsbu joined #perl6
19:49 Skarsnik I am not sure how it's compiled but having a stub should be enought? (that how it work in c++)
19:50 [Coke] I just tried stubbing B in A and then using B; you get an error:
19:50 [Coke] ===SORRY!===
19:51 [Coke] P6M Merging GLOBAL symbols failed: duplicate definition of symbol B
19:51 [Coke] but this works:
19:51 [Coke] m: class B { ... } ; class A { has B $b} ; class B { has A $a}
19:51 camelia rakudo-moar 42a583: ( no output )
19:51 kaare_ joined #perl6
19:51 [Coke] so you could have class A and B in separat files, but create a build.pm that cats them together.
19:52 [Coke] (but with a better name)
19:52 [Coke] there might be a ticket in RT for this already, haven't checked. (for making it work with 2 files)
19:52 Skarsnik I should retry if having circular definition accross 3 file make rakudo go in a loop again x)
19:52 skingsbu do you think DBD::Oracle will be released for version 6?
19:53 Skarsnik 6.c is already out x)
19:53 dalek nqp/flattenropes: 3af6e6f | (Jimmy Zhuo)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
19:53 dalek nqp/flattenropes: remove flattenropes
19:53 dalek nqp/flattenropes: review: https://github.com/perl6/nqp/commit/3af6e6f49d
19:53 skingsbu killer
19:53 Skarsnik You can try the DBIish from abraxxa fork if you want to have Oracle
19:53 TimToady I thought DBIish already supported oracle?
19:54 Skarsnik He has a weird Rakudo bug before x-mas to finish (something with CArray[CArray[int8]])
19:55 skingsbu thanks for the info
20:01 Cabanossi joined #perl6
20:01 kaare_ joined #perl6
20:01 yqt joined #perl6
20:02 Skarsnik [Coke], I think my question was more, should I RT this and it will not be discarded as "It's the spec/a choice so no a bug"
20:05 dalek nqp: a161dbd | (Jimmy Zhuo)++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
20:05 dalek nqp: remove graphs_s op
20:05 dalek nqp: review: https://github.com/perl6/nqp/commit/a161dbde7d
20:08 dalek perl6.org: b952596 | (Patrick Sebastian Zimmermann)++ | / (4 files):
20:08 dalek perl6.org: Give Zef some more prominence.
20:08 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/b9525960a2
20:08 dalek perl6.org: 651721f | (Patrick Sebastian Zimmermann)++ | source/getting-started/index.html:
20:08 dalek perl6.org: Don't lie about Zef in R*.
20:08 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/651721f969
20:08 dalek perl6.org: 86c5f74 | moritz++ | / (3 files):
20:08 dalek perl6.org: Merge pull request #45 from patzim/master
20:08 dalek perl6.org:
20:08 dalek perl6.org: Give Zef some more prominence
20:08 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/86c5f74e21
20:08 quester joined #perl6
20:10 dalek rakudo/nom: 15b4a8f | lizmat++ | src/core/Exception.pm:
20:10 dalek rakudo/nom: Fix for RT #127241
20:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15b4a8fb6b
20:18 [Coke] Skarsnik: ok. the question has come up before, I think it was not going to be fixed, but I have no data to back this up. can't hurt to open a ticket.
20:19 [Coke] the person who might reject it first is basically still on hiatus, but will likely review it when he returns.
20:19 _Vi joined #perl6
20:21 Skarsnik Ok, thx, I will do it tomorrow when I can start my perl6 env x)
20:23 quester left #perl6
20:24 dha joined #perl6
20:24 timotimo nqp-m: say 1 ~~ Int
20:24 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say 1 ~~ I"␤   at gen/moar/stage2/NQPHLL.nqp:521  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic:105)␤ from gen/moar/stage2/NQP.nqp:921  (/home/camelia/rakudo-m-inst-1/share/nqp/lib/nqp.moarvm:comp_unit:872)␤ from …»
20:25 timotimo why didn't my code b0rk ...
20:25 timotimo when i accidentally used ~~
20:28 adhoc joined #perl6
20:32 lnrdo joined #perl6
20:34 moritz nqp-m: say(1 ~~ Int)
20:34 camelia nqp-moarvm: OUTPUT«0␤»
20:35 moritz timotimo: nqp actually implements ~~ (though I think mostly for regexes)
20:35 ELBeavers joined #perl6
20:35 timotimo righto
20:36 nine Who is Patrick Sebastian Zimmermann?
20:39 * bartolin_ guesses patrickz
20:39 patrickz that's me
20:41 nine patrickz: are you sure zef is ready for prime time?
20:41 nine [DEBUG] Installing Inline::Perl5:/home/nine/.zef/store/Inline-Perl5.git to inst#/home/nine/rakudo/install/share/perl6/site
20:41 nine nine@sphinx:~> perl6 -e 'use Inline::Perl5;'
20:41 nine ===SORRY!=== Could not find Inline::Perl5 in:
20:41 patrickz I checked back with ugexe.
20:46 _nadim joined #perl6
20:49 patrickz joined #perl6
20:54 sena_kun joined #perl6
20:54 RabidGravy ooh that's annoying creating an accessor with a Proxy shags up setting from the constructor :(
20:55 cdg_ joined #perl6
20:58 hankache joined #perl6
21:00 hankache hola #perl6
21:00 Skarsnik hello
21:02 wollmers joined #perl6
21:03 dalek rakudo/nom: f90282b | lizmat++ | src/core/ (4 files):
21:03 dalek rakudo/nom: Move FILETEST-F to Rakudo::Internals
21:03 dalek rakudo/nom:
21:03 dalek rakudo/nom: Also, no longer booleanify for internal usage.
21:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f90282b583
21:04 wollmers Where does Panda install modules and how can I set the lib path in P6?
21:05 wollmers Under rakudobrew.
21:06 AK___ joined #perl6
21:06 nine m: say CompUnit::RepositoryRegistry.repository-for-name("site");
21:06 camelia rakudo-moar 15b4a8: OUTPUT«inst#/home/camelia/rakudo-m-inst-1/share/perl6/site␤»
21:06 nine wollmers: ^^^
21:06 nine with fallback to "home" if the user doesn't have write permission on "site"
21:07 AndyDee joined #perl6
21:08 wollmers nine: I didn't find the module name in the file tree. Using UUIDs is not diagnostic friendly.
21:11 * leont has serialized a regex using .perl, how can I turn it into a regex again?
21:12 mspo leont: what does it look like?
21:13 leont "/.*\\.foo/"
21:13 patrickz nine: Tried Inline::Perl5 here as well, fails. Might just as well revert that commit to perl6.org until this is solved. Do you have a commit bit?
21:14 mspo leont: how is it different from the original?
21:15 moritz leont: EVAL
21:15 * [Coke] wonders how much one could abuse IP5 and p6's concurrency to get concurrency around p5 cpan modules. (I'm guessing not far)
21:15 [Coke] er, s/far/much/
21:16 leont Eval? :-/
21:16 patrickz ugexe: http://paste.scsys.co.uk/504257
21:16 leont Given only one interpreter, not very far
21:16 leont But if you'd start multiple (no idea if that's possible) you'd be doing something similar to ithreads
21:17 dalek perl6.org: dcb768c | (Stefan Seifert)++ | / (3 files):
21:17 dalek perl6.org: Revert "Give Zef some more prominence."
21:17 dalek perl6.org:
21:17 dalek perl6.org: This reverts commit b9525960a23835b69e6230b8fbcf171a7fac6923.
21:17 dalek perl6.org:
21:17 dalek perl6.org: zef doesn't properly install Inline::Perl5 and probably other dists
21:17 dalek perl6.org: that compile native libraries during their build. So pull back on
21:17 dalek perl6.org: the publicity until this is fixed.
21:17 dalek perl6.org: review: https://github.com/perl6/perl6.org/commit/dcb768c625
21:17 patrickz nine++
21:17 wollmers nine: say CompUnit::RepositoryRegistry.repository-for-name("site"); inst#/Users/helmut/.rakudobrew/moar-v6.c/install/share/perl6/site
21:17 wollmers nine: use LCS::All; Could not find LCS::All in:     /Users/helmut/.perl6/2015.12     /Users/helmut/.rakudobrew/moar-v6.c/install/share/perl6/site
21:18 wollmers nine: ==> Installing LCS::All LCS::All:ver<0.1.0>:auth<Helmut Wollmersdorfer>:api<> already installed
21:18 dalek rakudo/nom: 6803444 | lizmat++ | src/core/ (4 files):
21:18 dalek rakudo/nom: Move FILETEST-S to Rakudo::Internals
21:18 dalek rakudo/nom:
21:18 dalek rakudo/nom: Also, no longer box the returned native int
21:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6803444f95
21:19 petercommand joined #perl6
21:19 RabidGravy does LCS::All have a proper provides in the META.info?
21:19 nine wollmers: both rakudo 2015.12 and panda at that time had a couple of issues. I suggest upgrading to current git versions of both until we get a release out with the fixes.
21:20 nine Oh and LCS::All is indeed broken!
21:20 nine wollmers: does "use LCS::BV;" work?
21:20 wollmers RabidGravy: Oh, copy & paste typo.
21:22 wollmers RabidGravy: Yes, use LCS::BV works, but is another module.
21:24 rurban joined #perl6
21:27 Psyche^ joined #perl6
21:35 dalek rakudo/nom: 18e981c | lizmat++ | src/core/ (4 files):
21:35 dalek rakudo/nom: Move FILETEST-L to Rakudo::Internals
21:35 dalek rakudo/nom:
21:35 dalek rakudo/nom: Also, no longer booleanify for internal usage.
21:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/18e981cd97
21:36 espadrine joined #perl6
21:45 linuxuser9000 joined #perl6
21:47 wollmers So panda cannot update or remove a broken module, even --force doesn't work.
21:48 mspo I'm not groking the zef/panda situation
21:48 dalek rakudo/nom: 42191ca | lizmat++ | src/core/ (4 files):
21:48 dalek rakudo/nom: Move FILETEST-R to Rakudo::Internals
21:48 dalek rakudo/nom:
21:48 dalek rakudo/nom: Also, no longer booleanify for internal usage.
21:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/42191caa89
21:53 jervo joined #perl6
21:56 wollmers reinstalling from scratch:-(
21:56 nine wollmers: panda update
21:56 nine otherwise panda will use outdated meta data
21:57 wollmers nine: I did panda update
21:58 nine What makes you say that it cannot update the module?
21:59 wollmers nine: got already installed. panda info showed old version and wrong provides, even after --force.
22:01 dalek rakudo/query_repos: be32628 | (Stefan Seifert)++ | src/core/CompUnit/Repository (3 files):
22:01 dalek rakudo/query_repos: CompUnit::Repository::resolve
22:01 dalek rakudo/query_repos:
22:01 dalek rakudo/query_repos: New method to ask the repository chain if a module matching the given
22:01 dalek rakudo/query_repos: DependencySpecification is available. This could for example be used
22:01 dalek rakudo/query_repos: by panda to avoid trying to install an already installed module.
22:01 dalek rakudo/query_repos: review: https://github.com/rakudo/rakudo/commit/be32628b74
22:01 dalek rakudo/query_repos: 9932802 | (Stefan Seifert)++ | src/core/CompUnit/ (3 files):
22:01 dalek rakudo/query_repos: Centralize more precompilation code
22:01 dalek rakudo/query_repos: review: https://github.com/rakudo/rakudo/commit/99328029ee
22:01 dalek rakudo/query_repos: f794ad8 | (Stefan Seifert)++ | src/core/CompUnit/Repository/Installation.pm:
22:01 dalek rakudo/query_repos: CompUnit::Repository::Installation::uninstall
22:01 dalek rakudo/query_repos: review: https://github.com/rakudo/rakudo/commit/f794ad8d0f
22:01 wollmers nine: BTW, the need of update is inconvenient, not usual in cpan or cpanm.
22:02 nine wollmers: panda info shows the meta data it downloaded from the ecosystem, not what's installed
22:02 nine wollmers: also the ecosystem takes a while to pick up changes pushed to a dist's git repository
22:02 nine That may be why panda update did not help
22:03 nine Also if you think that sucks, please just fix it :) Panda's code is not that complicated.
22:03 dalek rakudo/nom: fe726c0 | lizmat++ | src/core/ (4 files):
22:03 dalek rakudo/nom: Move FILETEST-W to Rakudo::Internals
22:03 dalek rakudo/nom:
22:03 dalek rakudo/nom: Also, no longer booleanify for internal usage.
22:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fe726c0849
22:05 wollmers nine: Then, what's the way to use a local module? Should panda-install work with sane meta?
22:05 sena_kun Hi, guys. I wrote a module with direct bindings to bzip2 library. Since it's needed to write nicer high-level API I would like to add it to ecosystem. Is anyone can help me with this?
22:05 wollmers nine: What's "a while"? Minutes, hours?
22:06 nine Don't know the exact timing.
22:06 nine panda install . should do the right thing
22:06 hoelzro sena_kun: you can fork the ecosystem project, and add the raw URL for your META6.json to META.list
22:06 hoelzro then submit a PR against upstream, and one of us will happily merge it =)
22:07 sena_kun hoelzro, and just send PR? Okay, thank you.
22:07 hoelzro I think it would be interesting if panda were installing a dist and detected if that dist's META6.json were newer than its local projects.json
22:07 hoelzro if so, fetch a new projects.json
22:08 TEttinger joined #perl6
22:08 nine hoelzro: absolutely!
22:08 hoelzro granted, you probably can't rely on the filesystem mtime for the change time of META6.json, because panda just fetched it =/
22:08 hoelzro *but*
22:08 nine And also _always_ use the dist's META.info during installation instead of the possibly outdated ecosystem data
22:08 hoelzro you could ask Git, since a vast majority of modules are installed through git repos
22:08 hoelzro mhmm
22:09 El_Che sena_kun: a nice small detail: enable travis support on github for the distribution
22:09 nine I almost started doing that on Saturday but ended up fixing two other issues instead
22:10 hoelzro nine: I could possibly handle that
22:10 sena_kun El_Che, thanks, I'll add it then.
22:13 donaldh joined #perl6
22:13 LordDrako joined #perl6
22:13 LordDrako hi guys
22:13 LordDrako what is the nicest way to get a normal perl array into a typed CArray[...]?
22:14 LordDrako I tried my $foo = CArray[Str].new(@orig); but this does not work (constructor does not support that parameter)
22:14 sena_kun LordDrako, you should manually copy each element.
22:14 LordDrako :O
22:14 sena_kun Give me a secund...
22:14 sena_kun *second
22:15 sena_kun $myarray[$_] = $blob_string[$_] for ^$blob_string.elems;
22:15 sena_kun As a one-liner.
22:16 dha Ew. That's really the best way to do that?
22:16 sena_kun You also should encode string into blog firstly. Like "my Blob $blob = $text.encode". It isn't?
22:16 Skarsnik For now, yes
22:16 PerlJam I don't think there's a better way yet
22:16 timotimo we sadly can't just $my-c-array.list, because it doesn't know about its elem count
22:17 sena_kun s/blog/blob
22:17 dalek rakudo/nom: 43b5642 | lizmat++ | src/core/ (4 files):
22:17 dalek rakudo/nom: Move FILETEST-RW to Rakudo::Internals
22:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/43b5642a29
22:17 Skarsnik But I think a CArray.copy or something should be that hard to have
22:18 timotimo aye
22:18 timotimo it'll end up running a loop a little bit like that internalyl
22:18 timotimo but optimized
22:18 timotimo and at some point it'll be able to memcpy
22:21 Zoffix m: say $*BASETIME
22:21 camelia rakudo-moar fe726c: OUTPUT«Dynamic variable $*BASETIME not found␤  in block <unit> at /tmp/spXfKoM07I line 1␤␤Actually thrown at:␤  in block <unit> at /tmp/spXfKoM07I line 1␤␤»
22:22 Zoffix m: say $*INITTIME
22:22 camelia rakudo-moar fe726c: OUTPUT«Instant:1452550988.047196␤»
22:22 Zoffix lizmat++
22:22 donaldh does perl6-debug work for anyone?
22:23 timotimo i don't think so :(
22:23 donaldh When I run perl6-debug-m it spawns many moar processes for precompilation and then hangs
22:24 timotimo oh
22:24 timotimo *oh*
22:24 timotimo that's not the failure mode i've expected
22:24 awwaiid Is there an existing equivalent to the elixir |> operator? I think it requires a macro and some design to implement
22:24 donaldh precomp seems to break most things for me
22:24 timotimo awwaiid: i have no idea what that does
22:26 awwaiid left |> right(arg1, arg2)  --->   right(left, arg2, arg2); it takes the result of the left side and feeds it in as the first param on the right side, they call it the "pipe" operator and use it to build pipelines of functions passing along and transforming a data blob
22:26 awwaiid a very functional-programming pattern that
22:27 awwaiid you could kinda do it by hand: sub infix:«|>»($result, &f) { &f($result) }; "5" |> say.assuming("hello")
22:28 awwaiid (though it would go at the end, but that's probably ok since map and grep and other pipeline thingies tend to take their data input on the end)
22:28 awwaiid I feel like there was a pipeline operator in p6, but I can't remember it now and don't see it on doc
22:29 nine donaldh: what other things does precomp break?
22:29 leont ===>
22:29 donaldh nine: using a module from a module
22:30 nine donaldh: can you be more specific? That is very well known to work. Otherwise e.g. panda could not do anything.
22:30 donaldh nine: using Grammar::Debugger (probably for that reason)
22:31 nine I think the debugger's problem is that it tries to precompile a module using $*EXECUTABLE which is perl6-debug-m which then tries to precompile a modules using $*EXECUTABLE...
22:31 nine donaldh: that was fixed on Friday
22:31 timotimo it's actually ==> and ==>>
22:31 timotimo m: (1, 2, 3, 4) ==> map { $_ + 1 } ==> say
22:31 camelia rakudo-moar 43b564: OUTPUT«5===SORRY!5===␤Argument to "say" seems to be malformed␤at /tmp/2K8UP7MlZe:1␤------> 3(1, 2, 3, 4) ==> map { $_ + 1 } ==> say7⏏5<EOL>␤Other potential difficulties:␤    Unsupported use of bare "say"; in Perl 6 please use .say if you meant…»
22:31 dalek rakudo/nom: 4e78adc | lizmat++ | src/core/ (4 files):
22:31 dalek rakudo/nom: Move FILETEST-X to Rakudo::Internals
22:31 dalek rakudo/nom:
22:31 dalek rakudo/nom: Also, no longer booleanify for internal usage.
22:31 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4e78adc53e
22:31 timotimo i don't actually know how to feed.
22:32 donaldh nine: does precomp work with JVM ?
22:32 nine donaldh: rakudo JVM doesn't work at all at the moment, so I couldn't tell.
22:32 leont timotimo: the end needs to be something listy, AFAIK
22:33 timotimo hmm
22:33 timotimo m: (1, 2, 3, 4) ==> map { $_ + 1 }
22:33 camelia rakudo-moar 43b564: ( no output )
22:33 timotimo that also works apparently
22:33 timotimo m: (1, 2, 3, 4) ==> map { $_ + 1 } ==> say()
22:33 awwaiid fancy
22:33 camelia rakudo-moar 43b564: OUTPUT«(2 3 4 5)␤»
22:33 timotimo there we go
22:33 awwaiid awesome!
22:34 masak 'night, #perl6
22:34 lizmat gnight masak
22:35 nine donaldh: the debugger could work if you do perl6 -e 'use Debugger::UI::CommandLine' once before using it
22:36 donaldh nine: I installed Debugger::UI::CommandLine so so why does precomp need to run ?
22:36 timotimo donaldh: i don't think installation directly causes precompilation at the moment?
22:37 donaldh WAT?
22:37 donaldh But panda compiles everything in the install location
22:38 nine We precompile but cannot use those precompiled files in most situations
22:38 nine Discussions on how to fix that are ongoing in #perl6-toolchain
22:38 nine I have a trivial patch fixing the debugger issue
22:40 dalek rakudo/nom: 00431fb | (Stefan Seifert)++ | src/core/CompUnit/PrecompilationRepository.pm:
22:40 dalek rakudo/nom: Fix perl6-debug running into a precompilation endless loop
22:40 dalek rakudo/nom:
22:40 dalek rakudo/nom: perl6-debug tries to load Debugger::UI::CommandLine which will be precompiled
22:40 dalek rakudo/nom: on first use with $*EXECUTABLE which is perl6-debug which tries to load ...
22:40 dalek rakudo/nom: Fixed by detecting that we're using the perl6-debug executable and using
22:40 dalek rakudo/nom: perl6 instead.
22:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00431fbb12
22:40 nine Good night
22:41 wollmers panda install . works, but isn't documented.
22:41 donaldh it's called perl6-debug-m
22:41 donaldh oh well
22:41 lizmat good night, nine++
22:41 Zoffix wollmers, would you please open an Issue on https://github.com/tadzik/panda ?
22:42 wollmers Zoffix: still done.
22:42 Zoffix Thanks
22:43 pmurias joined #perl6
22:46 sena_kun joined #perl6
22:49 dalek rakudo/nom: a9c8fe4 | lizmat++ | src/core/ (4 files):
22:49 dalek rakudo/nom: Move FILETEST-RWX to Rakudo::Internals
22:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a9c8fe40a6
22:59 cpage_ joined #perl6
23:00 kid51 joined #perl6
23:00 lnrdo joined #perl6
23:07 dalek nqp: a3dadfc | (Pawel Murias)++ | t/nqp/19-file-ops.t:
23:07 dalek nqp: Correct the amount of skipped tests.
23:07 dalek nqp: review: https://github.com/perl6/nqp/commit/a3dadfc425
23:07 sno joined #perl6
23:08 dalek rakudo/nom: 0c4db8d | lizmat++ | src/core/ (4 files):
23:08 dalek rakudo/nom: Move FILETEST-Z to Rakudo::Internals
23:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c4db8d5eb
23:09 lizmat good night, #perl6!
23:15 skids joined #perl6
23:22 AndyDee joined #perl6
23:27 pmurias joined #perl6
23:33 geraud joined #perl6
23:47 dalek ecosystem: a791bd5 | Altai-man++ | META.list:
23:47 dalek ecosystem: Add Compress::Bzip2::Raw.
23:47 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/a791bd5d39
23:47 dalek ecosystem: e464858 | (Zoffix Znet)++ | META.list:
23:47 dalek ecosystem: Merge pull request #120 from Altai-man/master
23:47 dalek ecosystem:
23:47 dalek ecosystem: Add Compress::Bzip2::Raw: https://github.com/Altai-man/perl6-Compress-Bzip2-Raw
23:47 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/e464858dfe
23:50 Zoffix DrForr, you got a PR on Readline: https://github.com/drforr/perl6-readline/pull/6
23:50 sena_kun Thanks for approving. Good night to everyone.
23:50 Zoffix nigh
23:54 Zoffix Oh boy. I was just about to be grumpy about all the modules in ecosystem with broken JSON in META.... when I realize one of 'em is mine! :D

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

Perl 6 | Reference Documentation | Rakudo