Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-10-16

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:03 p3rln00b m: say Proxy ~~ Cool
00:03 camelia rakudo-moar b744de: OUTPUT«False␤»
00:04 p3rln00b The test showed that was... a LIE! :P
00:11 flexibeast joined #perl6
00:15 khw joined #perl6
00:17 bjz joined #perl6
00:31 _slade_ joined #perl6
00:47 TEttinger joined #perl6
01:02 FROGGS_ joined #perl6
01:08 seatek I LOVE being able to create custom types. It's strange though - when inheriting attributes from a parent, you can use its custom types. BUT if you use those custom types for attributes only defined in your child class, Perl doesn't know about that type (even though it "should" be in the same scope).
01:13 seatek (you must "use" your custom type definition files, in all your class definition files.. you can't rely on a parent class that you inherit from to be able to "use" your special types into the child -- even though the child knows enough about those special types to inherit parent attributes of those types)
01:14 seatek it seems ;)
01:16 seatek it's as if inherited attributes are almost in a different namespace, at least something that can know about different types than what the full child would know about
01:18 seatek I may not be understanding entirely how the parent gets rolled into the child fully. but it's strange that a child can know about parent attribute types, but wont' know about those same types for its own attributes
01:19 aborazmeh joined #perl6
01:19 aborazmeh joined #perl6
01:21 ShimmerFairy joined #perl6
01:24 Jesmaybe_ joined #perl6
01:31 khisanth_ joined #perl6
01:36 Jesmaybe_ joined #perl6
01:46 Herby__ joined #perl6
01:46 Herby__ o/
01:47 ilbot3 joined #perl6
01:47 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!
01:47 BenGoldberg m: say Numeric.new;
01:47 camelia rakudo-moar b744de: OUTPUT«Numeric<58621680>␤»
01:49 p3rln00b seatek: parents don't get rolled. You may be thinking of roles.
01:51 p3rln00b m: class Foo {}; class Bar is Foo {}; class Meow is Bar {}; dd Meow.^mro
01:51 camelia rakudo-moar b744de: OUTPUT«(Meow, Bar, Foo, Any, Mu)␤»
01:51 p3rln00b m: role Foo {}; role Bar is Foo {}; class Meow is Bar {}; dd Meow.^mro
01:51 camelia rakudo-moar b744de: OUTPUT«(Meow, Bar, Foo, Any, Mu)␤»
01:51 p3rln00b well, roles get composed into the class as if methods were right in there.
01:51 p3rln00b oh
01:52 p3rln00b m: role Foo {}; role Bar does Foo {}; class Meow does Bar {}; dd Meow.^mro
01:52 camelia rakudo-moar b744de: OUTPUT«(Meow, Any, Mu)␤»
01:52 p3rln00b There we go
01:52 p3rln00b (`is` version punned them, so the roles were like classes)
01:52 japhb nine: Why in XStats do you have to do `use Inline::Perl6; BEGIN { Inline::Perl6::initialize; }` ?  Why can't Inline::Perl6 hook the import call during use and initialize then?
01:55 seatek p3rln00b, I was inheriting from the parent class using the "is" keyword -- class Blah is Blecky {...}
01:55 seatek p3rln00b, that brings in all parent attributes just fine
01:56 seatek p3rln00b, even attributes of a custom type
01:58 seatek p3rln00b, however, the child class can use those attributes just fine -- even the custom typed attributes
01:58 seatek p3rln00b, but if they child class tries to use that custom type on its own attributes, it doesn't know about the custom type
01:59 FROGGS__ joined #perl6
02:00 seatek custom types that are defined with "subset" of existing types that is
02:02 seatek i'm not sure if we've got file lexical scoping going on for classes in relation to types, but it seems to behave like that
02:04 Jesmaybe_ joined #perl6
02:05 noganex joined #perl6
02:07 japhb seatek: Try 'our subset'
02:08 * japhb doesn't remember offhand, but subsets might be my by default
02:08 japhb Actually, come to think of it, may need to 'is export' the subset.
02:13 seatek japhb, tried our.. yeah.. and when I "use" it, it's being used as a unit module with my package EXPORT::DEFAULT
02:14 seatek it works great when I include it in every single class file... but when I just use it in the parent's file.. the types don't propagate to the childen.... but the attributes do! with those types! it's bizarre
02:16 japhb seatek: A type once defined has to *exist* everywhere in the compiler.  But its *name* doesn't have to be everywhere, and in fact since new names are a mutation of the language, you don't want them to magically appear where you don't expect them.
02:16 japhb Do you have the subset defined in the same file that defines the parent class, or is it in a module used by the parent class?
02:24 seatek japhb, it's in a file used by the parent... that's what i figured that it was lexically scoped at the file
02:28 seatek I can use other stuff in the parent, and the children see it... like other class definitions....  just not unit module Blah::blah packages that define types
02:29 seatek So it sounds like if I include these types in all my child classes, each one of those will get a whole new definition of all those types all across the compiler... duplicates everywhere, just named differently for each child, yes? ;)
02:32 seatek it's a peculiar bit of encapsulation going on that lets children work with parent custom types within itself... yet can't work with those same types within itself... (unless they are defined in the same file lexical scope)
02:43 canopus joined #perl6
03:00 skids joined #perl6
03:13 aries_liuxueyang joined #perl6
03:23 Jesmaybe_ joined #perl6
03:27 Jesmaybe_ joined #perl6
03:29 Jesmaybe_ joined #perl6
03:35 Jesmaybe_ joined #perl6
03:38 Jesmaybe_ joined #perl6
03:44 Jesmaybe_ joined #perl6
03:49 Jesmaybe_ joined #perl6
04:02 Herby__ going through perl6intro.com, it briefly talks about Junctions
04:03 Herby__ m: my $var = 2; if $var == 1|2|3 { say "The variable is 1 or 2 or 3" };
04:03 camelia rakudo-moar b744de: OUTPUT«The variable is 1 or 2 or 3␤»
04:03 Herby__ What are some situations where'd you want to utilize Junctions?
04:08 Jesmaybe_ joined #perl6
04:16 TimToady anywhere that takes a smartmatch argument, like a 'when', or a 'where', or a 'grep'
04:18 Herby__ Thanks.  Just found this article by zoffix as well: http://perl6.party/post/Perl-6-Schrodinger-Certified-Junctions
04:22 pierre_ joined #perl6
04:42 Jesmaybe_ joined #perl6
04:43 Cabanossi joined #perl6
05:15 pierrot joined #perl6
05:15 pierrot joined #perl6
05:18 wamba joined #perl6
06:44 Jesmaybe_ joined #perl6
06:54 firstdayonthejob joined #perl6
06:59 canopus joined #perl6
06:59 domidumont joined #perl6
07:04 domidumont joined #perl6
07:05 setty2 joined #perl6
07:26 canopus joined #perl6
07:28 rindolf joined #perl6
07:30 Cabanossi joined #perl6
07:31 cibs joined #perl6
07:53 domidumont joined #perl6
08:02 andrzejku joined #perl6
08:05 dalek doc: 7889e4f | (Steve Mynott)++ | bin/p6doc:
08:05 dalek doc: remove extra dot from p6doc -f result
08:05 dalek doc: review: https://github.com/perl6/doc/commit/7889e4f8cc
08:05 RabidGravy joined #perl6
08:06 bjz joined #perl6
08:21 wamba joined #perl6
08:22 wamba joined #perl6
08:23 wamba joined #perl6
08:24 wamba joined #perl6
08:33 harrison_ joined #perl6
08:34 espadrine joined #perl6
08:44 RabidGravy boom
08:46 Jesmaybe_ joined #perl6
08:49 wamba joined #perl6
08:56 dalek Inline-Perl5: 77503c2 | niner++ | / (2 files):
08:56 dalek Inline-Perl5: Fixup tests after making Perl5Attributes non-parametric
08:56 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/77503c214a
08:58 ale1ster joined #perl6
08:58 nine japhb: it's because at least in theory, there's an OO interface, too. And for that you expect action only at the Inline::Perl6->new call. But the OO interface is not that useful anyway, since we can only have one rakudo running at a time.
08:59 nine japhb: I ought to replace it with something like use Inline::Perl6 'OO';
09:08 FROGGS o/
09:09 ale1ster2 joined #perl6
09:19 nadim joined #perl6
09:29 dalek Inline-Perl5: b53fb8f | niner++ | .travis.yml:
09:29 dalek Inline-Perl5: Update rakudo requirement for travis
09:29 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/b53fb8f354
09:33 obfusk joined #perl6
09:34 darutoko joined #perl6
09:39 dalek Inline-Perl5: 45acfcf | niner++ | .travis.yml:
09:39 dalek Inline-Perl5: Update rakudo requirement for travis
09:39 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/45acfcff78
09:46 hchienjo joined #perl6
09:46 flexibeast joined #perl6
09:47 Jesmaybe_ joined #perl6
09:55 dalek Inline-Perl5: 431344a | niner++ | lib/Inline/Perl5.pm6:
09:55 dalek Inline-Perl5: Fix Inline::Perl6 tests failing since 61473e48627009260133428526ea09721c1fe994
09:55 dalek Inline-Perl5:
09:55 dalek Inline-Perl5: Seems like the itemization provided by array assignment is needed for the
09:55 dalek Inline-Perl5: return values to make it back to Perl 5.
09:56 dalek Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/431344a807
10:01 xinming joined #perl6
10:06 CIAvash joined #perl6
10:20 cdg joined #perl6
10:30 sjoshi joined #perl6
10:36 dalek Inline-Perl6: 551aac4 | niner++ | / (9 files):
10:36 dalek Inline-Perl6: Remove the need for manually calling initialize
10:36 dalek Inline-Perl6:
10:36 dalek Inline-Perl6: When using the OO-interface, one probably expects loading of rakudo to happen
10:36 dalek Inline-Perl6: at the Inline::Perl6->new call. That's why for the non-OO interface, one had
10:36 dalek Inline-Perl6: to call Inline::Perl6::initialize manually up until now.
10:36 dalek Inline-Perl6:
10:36 dalek Inline-Perl6: The OO-interface doesn't give the user any advantages as we can load only one
10:36 dalek Inline-Perl6: rakudo at a time anyway. So de-emphasize that usage a bit by requiring an
10:36 dalek Inline-Perl6: import argument. In absence of this, we initialize rakudo right away when
10:36 dalek Inline-Perl6: loading Inline::Perl6.
10:36 dalek Inline-Perl6:
10:36 dalek Inline-Perl6: If you see lots of "subroutine redefined" warnings, you just need to remove
10:36 dalek Inline-Perl6: your Inline::Perl6::initialize call.
10:36 dalek Inline-Perl6: review: https://github.com/niner/Inline-Perl6/commit/551aac4505
10:38 nine japhb: ^^^
10:49 BenGoldberg joined #perl6
10:51 bisectable6 joined #perl6
10:51 committable6 joined #perl6
10:58 committable6 joined #perl6
11:04 Velvet joined #perl6
11:31 TimToady joined #perl6
11:41 Velvet Hello everyone. Do not throw me tomatoes and rotten eggs. Gyus, i need help. How can i make perl6 work with apache on windows? I tried to find any info but unsuccessfully. If i wright #!perl6 at the start of file apache says he can't create child process, if i white #!C:\rakudo\bin\perl6.bat - apache says "End of script output before headers: index.pl". Can anyone say what i'm doing wrong(except i'm thying to do this on windows)?
11:42 wamba joined #perl6
11:48 Jesmaybe_ joined #perl6
11:55 nine Velvet: your best bet is probably to find some (non-Perl6 specific) Apache+CGI tutorial for Windows to know all the steps necessary and adapt it. #!perl6 will only work if the installed perl6.bat is in Apache's %PATH%
11:56 nine There's no executable bit on Windows, but maybe there's something else.
11:56 nine It may also just be that your index.pl does run but doesn't print valid HTTP headers? Try adding a note "I'm running"; to the very top of index.pl and see if it shows up in Apache's error.log
11:58 FROGGS Velvet: https://www.devside.net/wamp-server/running-exe-and-batch-files-as-cgi-scripts-in-apache-under-windows
12:00 FROGGS (it would be literally: 'note "I'm running";', since note() is a thing in Perl 6)
12:12 dalek whateverable: 379fa80 | MasterDuke17++ | / (4 files):
12:12 dalek whateverable: Generate the list of releases to run automatically
12:12 dalek whateverable:
12:12 dalek whateverable: There is also a behavior change in the 'releases' command and the
12:12 dalek whateverable: addition of 'v?6\.?c' and 'all' commands. 'releases' and 'v?6\.?c'
12:12 dalek whateverable: run for all tags since 2015-12, while 'all' runs for all tags that
12:12 dalek whateverable: use MoarVM (starts at 2014-01).
12:12 dalek whateverable: review: https://github.com/perl6/whateverable/commit/379fa80a9c
12:27 Ven joined #perl6
12:27 cpage_ joined #perl6
12:30 stmuk jeff (drforr) @ http://www.madbishopandbear.co.uk/ today 5pm BST
12:50 stmuk http://pl6anet.org/drop/rakudo-star-2016.10-RC0.tar.gz
12:51 flexibeast joined #perl6
12:53 bjz_ joined #perl6
13:00 flexibeast joined #perl6
13:01 yqt joined #perl6
13:03 Ven joined #perl6
13:06 Ven joined #perl6
13:06 domidumont joined #perl6
13:09 araujo joined #perl6
13:11 araujo joined #perl6
13:12 stmuk http://stevemynott.blogspot.co.uk/2016/10/there-is-release-candidate-for-rakudo.html
13:14 araujo joined #perl6
13:17 araujo joined #perl6
13:19 araujo joined #perl6
13:20 Ven joined #perl6
13:22 araujo joined #perl6
13:26 araujo joined #perl6
13:29 araujo joined #perl6
13:33 Guest76840 joined #perl6
13:36 Guest76840 joined #perl6
13:38 Guest76840 joined #perl6
13:40 Guest76840 joined #perl6
13:40 buggable joined #perl6
13:40 NeuralAnomaly joined #perl6
13:40 huggable joined #perl6
13:43 dalek doc: e492e5a | coke++ | doc/Language/testing.pod6:
13:43 dalek doc: remove trailing ws
13:43 dalek doc: review: https://github.com/perl6/doc/commit/e492e5a0c1
13:43 Guest76840 joined #perl6
13:45 mephinet joined #perl6
13:45 Guest76840 joined #perl6
13:45 khisanth_ joined #perl6
13:47 mephinet joined #perl6
13:48 Guest76840 joined #perl6
13:49 Jesmaybe_ joined #perl6
13:51 Guest76840 joined #perl6
13:53 Guest76840 joined #perl6
13:55 [Coke] (didn't look like a merge) probably doing a ff and directly applying commits where it can.
13:55 [Coke] (and I might have done 3 "git merge master"s before doing a push
13:56 Guest76840 joined #perl6
13:59 Guest76840 joined #perl6
14:01 Guest76840 joined #perl6
14:03 andrzejku hello :)
14:05 dalek doc/spellcheck: 3974b1c | coke++ | doc/Language/subscripts.pod6:
14:05 dalek doc/spellcheck: other instances used the US version
14:05 dalek doc/spellcheck: review: https://github.com/perl6/doc/commit/3974b1cbfb
14:05 dalek doc/spellcheck: 14567d4 | (Tom Browder)++ | doc/Language/testing.pod6:
14:05 dalek doc/spellcheck: add caution about done-testing
14:05 Guest76840 joined #perl6
14:05 dalek joined #perl6
14:06 CIAvash joined #perl6
14:07 Guest76840 joined #perl6
14:12 Guest76840 joined #perl6
14:15 Guest76840 joined #perl6
14:28 AlexDaniel hmmm I'm wondering. Debian freeze is approaching slowly, there's rakudo 2016.09 in unstable and 2016.06 in testing, which looks kinda right. However, there is no panda or zef in repos. Is it how it is supposed to be or should we get someone to package it?
14:30 Ven joined #perl6
14:35 cdg joined #perl6
14:37 moritz AlexDaniel: it would be nice to have panda or zef in Debian, but typically the way to get something done is to do it yourself
14:38 Herby__ joined #perl6
14:38 Herby__ o/
14:38 AlexDaniel moritz: yeah but right now my question is “is it something that we want or not?”
14:38 moritz AlexDaniel: yes, it's something we want
14:39 stmuk zef is probably easiest since it doesn't have module dependencies
14:39 moritz +1 to going for easy first
14:40 El_Che would be a clash between system-wide path and ~/.perl6 ? E.g. what do we want as default
14:41 andrzejku joined #perl6
14:42 moritz IMHO local installation should be the default
14:43 El_Che moritz: I agree
14:43 El_Che to often users:
14:44 El_Che 1. get stuck with unwritable paths and give up
14:44 El_Che 2. users use root and write stuff all over the place
14:45 Ven joined #perl6
14:50 Jesmaybe_ joined #perl6
14:50 zakharyas joined #perl6
14:52 cdg joined #perl6
14:52 khw joined #perl6
15:01 geekosaur joined #perl6
15:13 geekosaur joined #perl6
15:29 seatek joined #perl6
15:36 skids joined #perl6
15:51 Jesmaybe joined #perl6
16:03 espadrine joined #perl6
16:06 mephinet joined #perl6
16:18 fumlead joined #perl6
16:26 Xliff Still looking for help on this error. Anyone have any ideas?
16:26 Xliff https://gist.github.com/Xliff/0f537c12b415fa0800a55f9484a25b1a
16:28 ugexe xliff: for one that gist is confusing - you have the same block commented out twice in two different spots yet only mention the block singularly in your comment
16:29 Xliff ugexe: Second mention is clear enough.
16:29 Xliff If that block is uncommented, I get a weird error message
16:30 Xliff And I don't understand exactly what the problem is. Conditional package loading is in spec, right?
16:31 Xliff ugexe: Gist updated. Let me know if that clarifies anything.
16:32 ugexe it does not
16:32 ugexe your update does not update the code in the gist where that same block is duplicated twice
16:32 ugexe so no one knows which block you are saying to uncomment
16:33 ugexe or if you mean to remove comments on both blocks
16:34 ugexe https://gist.github.com/ugexe/77ef72a232773ef2ededf5ce74f89e7d Line 8 and 31 are the same block you say  to remove
16:35 Xliff Actually the second block is an excerpt from the first.
16:35 Xliff So you are saying repeating the entire block rather than relying on the user to interpret context?
16:35 simonsayz joined #perl6
16:36 ugexe im saying i dont understand what you are saying the problem is
16:36 ugexe because what you say the problem is (the code to comment out) is in two spots
16:38 fumlead I'm new to Perl6. Can you tell me, how can I get docs? Perl5 has an amazing docs (man perl and perldoc). But how I can get docs, for example, for some Perl6 package installed?
16:38 Xliff ugexe: Updated again. I didn't even notice that.
16:38 Xliff Shows how long I've been working on this problem when I am frustrated enough to not see that mistake.
16:39 zakharyas joined #perl6
16:39 Xliff fumlead: If there are docs for perl6 modules. You should be able to see them on modules.perl6.org
16:39 ugexe maybe you should golf this down - remove the Color module stuff and replace it with a small Foo::Bar module with 2 exports. put it all in a single file we can just c&p and run
16:39 decent joined #perl6
16:40 Xliff ugexe: That is golfed down. The module contents are not the issue. It is the requires in sub EXPORT() that are the problem.
16:40 Xliff I could replace the "Color" module with anything and I would still get the error.
16:41 ugexe sure, but most people aren't motivated enough to create all those Color module shims to test this code
16:41 Xliff *sigh*
16:41 simonsayz left #perl6
16:41 Xliff I can post a link to the github. Then you wouldn't need to.
16:42 ugexe you might even find by inlining the packages it suddenly works
16:43 Xliff Yeah, there are two things I'm trying here though: 1) Selective package loading; 2) Optional package loading
16:43 Xliff But before that, I really would like to know what that error means. It's definitely LTA
16:44 Xliff Updated gist with link to repository.
16:47 ugexe on an unrelated note this wont work for CompUnit::Repository::Installation https://github.com/Xliff/p6-color-names/blob/master/lib/Color/Names.pm#L28
16:49 Xliff Huh!
16:49 Xliff What error are you getting ugexe?
16:50 Xliff Everytime I Rakudobrew I try this code and so far... no error there.
16:50 ugexe i didnt run it. i just know how CUR works
16:50 Xliff OOO Kay
16:50 Xliff I did run it. No error.
16:50 ugexe dont forget: CURI stuff gets all sha1'd
16:50 ugexe is your module installed in CURI?
16:51 ugexe or does it find modules that are located there?
16:51 Xliff No. It's not. I am using -I lib
16:51 ugexe right, thats why you didnt get an error
16:51 Xliff So that might be why I am not running into it.
16:51 Xliff Well crap. That blows selective module loading.
16:52 Xliff Still... the optional test and load for the Color class generates the same error.
16:52 zakharyas joined #perl6
16:52 Xliff Thanks for checking me on that bit with SHA1. Kinda a drawback when looking to dynamically load modules.
16:53 Xliff So there is still #2 that generates same error that I need to figure out.
16:55 p3rln00b fumlead: we're not at the Perl 5's quality yet. Language docs are on https://docs.perl6.org/ ; module docs are on http://modules.zef.pm/ ; and something akin to perldoc is p6doc https://modules.perl6.org/repo/p6doc but your mileage with it may vary
16:57 geekosaur Xliff, make sure you are getting an up to date rakudo. I found my rakudobrew was stuck on 2016.04 for some reason and had to nuke and redo it
16:57 Xliff $ perl6 --version
16:57 Xliff This is Rakudo version 2016.09-191-gbf7945e built on MoarVM version 2016.09-46-geceb429
16:57 Xliff implementing Perl 6.c.
16:57 ugexe xliff: selective module loading works - its something about selecting (or dynamic?) exporting
16:57 fumlead p3rln00b: now I'm trying to use p6doc, but I can't find its executable. `panda list` shows, that it's installed, but `p6doc` not found
16:58 Xliff ugexe: So the problem is that "require" in sub EXPORT() is blowing stuff up, then?
16:59 Xliff I really would prefer not to do the module loading in sub EXPORT(), but I don't know where else to put it.
16:59 Xliff INIT {} doesn't seem right, either.
16:59 Xliff So to be clear: I'd like to do optional module loading at load time, but before execution time.
16:59 samcv p3rln00b, i have the latest rakudo, nqp and moarvm but i'm still not seeing that error or any printout. is there anything else i can try?
17:00 p3rln00b fumlead: how did you install your Perl 6?
17:00 Xliff BEGIN {} is compile time, so that doesn't work, either.
17:00 p3rln00b samcv: what about the module itself, IRC::Client. Did you update it? Current version is 3.006003
17:00 ugexe require ::() is runtime no matter how you cut it
17:01 Xliff ugexe: Yeah, but those parts of the code are no longer necessary now that you've pointed out the issues with CURI.
17:01 fumlead p3rln00b: using rakudobrew. I have perl6 in ~/.rakudobrew/bin. As I see on p6doc's github page, p6doc should be there, but it doesn't
17:01 samcv yeah i did update it yesterday but i can double check
17:01 p3rln00b fumlead: run rakudobrew rehash
17:02 Xliff ugexe: So now it's only the "require Color" that I'm concerned about.
17:02 samcv yeah i have 3.006003
17:02 p3rln00b samcv: no idea.
17:02 Xliff If that is the only require directive uncommented, it still generates the same error.
17:02 ugexe what if you require something outside of your module, like `require Test;`?
17:03 p3rln00b samcv: do you get normal debug output, like all the events happening?
17:03 samcv no i don't
17:03 samcv no events print out
17:03 samcv well other than joining the channel
17:04 wamba joined #perl6
17:04 p3rln00b samcv: that's what I get when I run your bot from yesterday: http://i.imgur.com/4nsDkeG.png
17:04 Xliff ugexe: Actually, the "Color" module is external.
17:05 Xliff Lemme switch just for funzis.
17:05 p3rln00b samcv: you could try installing Terminal::ANSIColor ... maybe there's a bug with the fallback. But that still wouldn't explain why you aren't getting other messages, like the error about Proc.write taking a Blob and not a Str, from last night
17:06 samcv yeah
17:06 Xliff ugexe: Same error.
17:06 fumlead p3rln00b: oh, it's working now. Thanks. p6doc was "installed as dependency", so I manually installed it using `panda install p6doc`
17:06 Xliff ugexe: FYI, the "Color" module is p3rln00b's.
17:07 Xliff *cough*Zoffix*cough*
17:07 AlexDaniel where's the source code for http://modules.zef.pm/ ?
17:07 ugexe Xliff: think you can golf that down into a 1 liner yet? something like perl6 -e 'module Foo { ... }; module Bar { sub EXPORT(@_){ require Test; }; import Bar;'?
17:07 AlexDaniel is it this https://github.com/tony-o/zefwww ?
17:07 p3rln00b fumlead: yeah, you gotta run that each time you install binaries. Basically rakudobrew is more for people who want to run multiple Perl 6 installations, so it needs to update paths. Regular users usually just get Rakudo Star distro: http://rakudo.org/downloads/star/
17:07 Xliff ugexe: I didn't know you could do that.
17:08 ugexe AlexDaniel: I think so. that's tony-o's project anyway
17:09 Xliff ugexe: I think one of the larger issues with this is that I think you need a file-based module to expose the error.
17:10 AlexDaniel uhhhhh
17:10 ugexe Xliff: could be - there are bugs that appear with a CUR::FileSystem (-Ilib) module but not with a CURI module
17:10 ugexe due to the order of global merge, precomp, etc
17:10 samcv p3rln00b, well i'm gonna try running a local irc server instead instead of freenode
17:10 samcv see if that changes anything
17:11 fumlead p3rln00b: I've an Arch linux distribution, so I can't use binaries from there without headache. However, I don't want to build it from source manually. So, rakudobrew is my choice)
17:11 sqttestbot joined #perl6
17:11 ugexe Xliff: running with `RAKUDO_MODULE_DEBUG=1` might give a hint if its a problem loading a specific name
17:12 samcv fumlead, it doesn't take that long to compile it from aur
17:12 AlexDaniel ah no
17:12 AlexDaniel it's https://github.com/tony-o/perl-zefserver
17:12 samcv took me like 10-15 minutes for nqp rakudo and moarvm on my laptop
17:13 ugexe you could also try `require </absolute/path/to/module.pm6>` which uses a file system based loader (CUR::AbsolutePath) thats different from CUR::FileSystem
17:13 p3rln00b samcv: ^ works on Freenode too. Output shows up, including the Blob error: http://i.imgur.com/F0OeXwp.png
17:14 samcv what distro are you using?
17:15 p3rln00b Bodhi Linux. It's a minimalistic fork of Ubuntu
17:15 ugexe yet another option is to stub all the sub routine names it can export (itself or from other modules) and use MONKEY-TYPING + augment/supercede to replace the stubs with implementations
17:16 samcv hmm i'm running arch. but let me try on my debian stretch server
17:16 ugexe i use class instances to dynamically load modules and keep things scoped properly in zef
17:17 p3rln00b huggable: hug me
17:17 * huggable hugs p3rln00b
17:17 p3rln00b ^ runs on Debian. I see output on it
17:17 * p3rln00b &
17:17 ugexe such a technique could also be used where your stubbed subs simply use the class instance for its implementation
17:18 Xliff ugexe: Well, this has been a day of setbacks.
17:18 Xliff Still, I would like to get this module in a workable state.
17:19 Xliff So selective module loading is out for now. I've already committed its removal.
17:19 Xliff However the "require Color" bit should still work, but gives same error.
17:19 Xliff Wonder if I could move that to INIT {} and have it still work.
17:20 Xliff Yup
17:22 Xliff So moving the requires out of sub EXPORT() makes it work (already knew that) but I've lost the ability to: 1) determine the modules in the Color::Names::* namespace, 2) selectively load from that list of modules.
17:23 Xliff Ah well.
17:23 ugexe you can still do those things, but at runtime
17:23 Xliff Maybe I could do part of 1) using META.info (it was the hope that 3rd party users could drop their own custom definitions in lib/Color/Names and get it automatically picked up without having to reinstall.
17:29 ugexe perl6 -MZef::Client -MZef::Config -e '.say for Zef::Client.new(config => Zef::Config::parse-file(Zef::Config::guess-path)).list-installed().map: { .dist.provides.keys };' # you can parse this list for Color::Names::* for instance
17:30 Sgeo joined #perl6
17:31 ugexe or parse perl6 -MZef::Client -MZef::Config -e '.say for Zef::Client.new(config => Zef::Config::parse-file(Zef::Config::guess-path)).list-available().map: { .dist.identity };' to find what is available in the ecossytem
17:35 Xliff ugexe: Could not find symbol '&guess-path'
17:36 Xliff In the meantime I guess I can do another mission in Shadow Warrior 2
17:37 ugexe did you -MZef::Config?
17:38 ugexe perl6 -MZef::Client -MZef::Config -e '...'
17:38 Derperperd joined #perl6
17:42 fumlead1 joined #perl6
17:45 ugexe perl6 -e 'say $*REPO.repo-chain.grep(* ~~ CompUnit::Repository::Installation).map(*.prefix.child("dist").dir.Slip).map({ try Rakudo::Internals::JSON.from-json(.IO.slurp) }).map(*.<provides>.keys.Slip).Slip'
17:45 ugexe all installed module's `provide`-ed module names
17:47 ugexe perl6 -e 'say $*REPO.repo-chain.grep(* ~~ CompUnit::Repository::Installation).map(*.installed())>>.map(*.meta.<provides>.keys).Slip' # same
17:47 avar cool, maybe more useful to add \n and sort:
17:47 avar perl6 -e '.say for $*REPO.repo-chain.grep(* ~~ CompUnit::Repository::Installation).map(*.prefix.child("dist").dir.Slip).map({ try Rakudo::Internals::JSON.from-json(.IO.slurp) }).map(*.<provides>.keys.Slip).Slip.sort'
17:47 avar re your first example, same aside from that
17:49 ugexe it wants to be consumed by code, not a user
17:50 setty1 joined #perl6
17:51 awwaiid good day, #perl6!
17:51 ugexe otherwise you can't short circuit it if you find everything you're looking for without having created all those Distribution objects
17:52 El_Che new rakudo
17:52 El_Che \o/
17:52 El_Che building packages now
17:53 Jesmaybe joined #perl6
17:55 fumlead samcv: I'm trying to build rakudo from aur now, but `The nqp-m binary is too old` (nqp is installed and up-to-date, i checked). Do you know the solution?
17:55 samcv too old for what. are you trying to install the 2016.10?
17:57 samcv https://cry.nu/files/PKGBUILD.moarvm https://cry.nu/files/PKGBUILD.nqp https://cry.nu/files/PKGBUILD.rakudo
17:57 samcv you can dl these fumlead and i just run makepkg on them manually
17:57 samcv you have to install nqp or i forget maybe rakudo first
17:57 girafe joined #perl6
17:58 fumlead samcv: trying to install rakudo-git, version 20160917-1
17:58 samcv oh git. then you will need moarvm-git and nqp-git too probably
17:58 samcv those pkgbuilds i gave are for 2016.10 but if you want more recent then
17:58 samcv you need to install them in the right order
17:58 _slade_ joined #perl6
17:59 samcv rakudo last, and moarvm or nqp first i forget which
17:59 samcv probably nqp
17:59 fumlead samcv: okay, thank you, i'd try
17:59 El_Che in my packages i do moarvm, nqp, rakudo: https://github.com/nxadm/rakudo-pkg/blob/master/docker/pkg_rakudo.sh
17:59 El_Che in that order
17:59 samcv ah that' sit then
18:06 fumlead yes, moarvm -> nqp -> rakudo seems to be the write sequence
18:07 setty1 joined #perl6
18:08 Jesmaybe joined #perl6
18:08 p3rln00b Yup
18:12 Dunearhp joined #perl6
18:14 iBakeCake joined #perl6
18:19 dalek doc: 7bd27cb | Nic++ | doc/Language/traps.pod6:
18:19 dalek doc: Add 'once' Block to Traps (#968)
18:19 dalek doc:
18:19 dalek doc: Added a section to traps about using once blocks within
18:19 dalek doc: other blocks of code.
18:19 dalek doc:
18:19 dalek doc: Resolves issue #959
18:19 dalek doc: review: https://github.com/perl6/doc/commit/7bd27cbf79
18:30 samcv hmm i don't get any errors normally but when i run using perl6-debug I get this https://i.imgur.com/81wU5TC.png
18:33 samcv not at all the error i was expecting though but that makes more sense why i don't see it print out anything
18:34 samcv but p3rlnoob didn't get an error there so ¯\_(ツ)_/¯
18:36 AlexDaniel .tell nicq20 fwiw, until your PR is merged you can do all kinds of scary stuff in your branch (e.g. rewrite history). This is useful if you don't want some “oops” commits to go into the main repo
18:36 yoleaux AlexDaniel: I'll pass your message to nicq20.
18:37 samcv is .tell a bot command here?
18:37 mst yarr
18:37 mst hence the response from the bot yoleaux
18:37 samcv oh sorry didn't know it was a bot :P
18:37 AlexDaniel .tell nicq20 I am mentioning this because I have just squished your last PR (and previous one as well). I am not sure if we have any consensus on squishing, but it is probably a good idea to keep your PRs clean
18:37 yoleaux AlexDaniel: I'll pass your message to nicq20.
18:38 samcv name doesn't end in bot
18:38 mst you're right, it doesn't
18:38 samcv .tell p3rln00b hmm i don't get any errors normally but when i run using perl6-debug I get this https://i.imgur.com/81wU5TC.png not at all the error i was expecting though but that makes more sense why i don't see it print out anything if it was erroring out before
18:38 yoleaux samcv: I'll pass your message to p3rln00b.
18:38 samcv thx yoleaux
18:39 AlexDaniel .tel nicq20 this way it is easier to review a PR, there's no desire to squish it, and the history in the main repo is so clean you can eat off it
18:39 AlexDaniel .tell nicq20 this way it is easier to review a PR, there's no desire to squish it, and the history in the main repo is so clean you can eat off it
18:39 yoleaux AlexDaniel: I'll pass your message to nicq20.
18:40 AlexDaniel ah, it's “squash” and not “squish”, oops :)
18:53 japhb .tell nine Ah, thank you!  Much cleaner.  :-)
18:53 yoleaux japhb: I'll pass your message to nine.
18:53 BenGoldberg . o O ( Squash as in pumpkins, volleyball, squash racquets, the filesystem, ??? )
18:55 nine :)
18:55 yoleaux 18:53Z <japhb> nine: Ah, thank you!  Much cleaner.  :-)
18:57 japhb .tell ab5tract_ Thank you for the Terminal::Print PR merge.  :-)
18:57 yoleaux japhb: I'll pass your message to ab5tract_.
18:59 TEttinger joined #perl6
19:02 AlexDaniel samcv: actually, there are so many bots on this channel you can almost smell it
19:03 AlexDaniel here is a good list: https://github.com/perl6/doc/issues/711#issuecomment-235414744
19:08 iBakeCake samcv: hmmm... does that happen without you using any Proc::Async?
19:09 AlexDaniel about 4% of users on this channel are bots. Actually, not that much
19:10 iBakeCake samcv: if it still happens, please file a bug against IRC::Client. If it doesn't then try starting Proc::Async and communicate with it via a Channel ( https://docs.perl6.org/type/Channel ). I suspect that maybe your communication with the proc occurs from other threads and that's currently a known limitation with P6
19:10 iBakeCake AlexDaniel: that assumes you know all the bots :)
19:11 samcv okay i will try that iBakeCake
19:11 AlexDaniel iBakeCake: of course not. I can barely track you, let alone bots
19:12 moritz most bots have the voice flag here
19:12 moritz so that's an easy indication
19:12 samcv is 4 most?
19:12 AlexDaniel moritz: only 4 out of 13 I counted
19:12 Jesmaybe joined #perl6
19:12 samcv in some of my other channels bots reply if you type .bots
19:13 samcv well are supposed to :P
19:13 moritz mst: remind me how to permanently give a bot the voice flag?
19:13 mst moritz: chanserv +V
19:14 AlexDaniel again, I'd much rather have something that will reply on “.zoffix” and tell me his current nickname…
19:14 iBakeCake samcv: OTOH, I don't think a Channel guarantees the *same* thread will be used, just that only one will ever run it, so that might not work. Um... no idea :)
19:14 moritz mst: thanks
19:14 mst moritz: feel free to ask more questions if that wasn't sufficient
19:15 moritz mst: flags #perl6 +V <username> ?
19:15 mst yeah, or 'access #perl6 add <username> +V' I think
19:16 iBakeCake AlexDaniel: I think Zoffix would find it amusing to make such a bot, except it'll pick a random nick from the channel :P
19:16 moritz #perl6's DDD borat :-)
19:18 sjoshi joined #perl6
19:18 moritz mst: no luck yet; chanserv complains that the user isn't registered
19:18 mst moritz: oh, well, you said 'username'
19:18 moritz ah
19:19 mst moritz: that won't work without .... a username
19:19 moritz mst: I guess I meant nickname, or nick mask, or something
19:19 domidumont joined #perl6
19:19 AlexDaniel mst: do I get it right that bots should be registered?
19:19 AlexDaniel mst: and that I can't just group them on my nick for example?
19:19 mst moritz: how about rather than guessing which question to ask, you tell me what you're actually trying to achieve, including pointing at the currently connected bot
19:20 geekosaur AlexDaniel, if you want to be able to do nickserv or chanserv based things with them, certainly
19:20 geekosaur doing it just on a nick is spoofable
19:20 AlexDaniel yea
19:20 mephinet joined #perl6
19:21 moritz mst: bisectable6, buggable, committable6, evalable, Undercover, NeuralAnomaly are the bots I'd like voice'd
19:21 evalable uhm, says I have too many accounts registered
19:22 evalable … and I have one
19:24 mst IIRC that would imply you have more than one registration to that email address
19:24 evalable interesting
19:25 mst moritz: ok, so, you can probably do it via hostmask + ident
19:25 mst moritz: depends, the ones on servers are easy enough, the ones whose rdns is a dynamic range, eh
19:25 evalable ah, found something
19:25 mst honestly, I'd just set +V for the nicks for the moment
19:25 mst I don't recall us ever needing +m in here
19:26 mst so people getting spurious voice doesn't strike me as a threat model worth caring about a lot
19:26 evalable mst: is there any place where I can ask for one more account? If I counted it correctly, right now I have two
19:27 moritz mst: so, how do I set up autovoice based on nick?
19:27 mst hmm
19:28 mst I just ran: /msg chanserv access #perl6 add bisectable6!~Bisectabl@2001:41d0:2:5eb5:: +V
19:28 mst moritz: if you repeat that for the other bots, assuming they have static ips
19:28 mst evalable: yeah, cuz one human and one bot account
19:28 evalable6 mst, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/xmTxyAmPe4␤Undeclared routines:␤    acco…»
19:28 evalable6 mst, Full output: https://gist.github.com/abe047ac5336071cd8d7f52b829ebf8b
19:28 mst ...
19:28 evalable mst: what if I have more than one bot? :)
19:29 mst evalable: they'll have to share
19:29 evalable mst: should I just GROUP them all?
19:29 evalable6 mst, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/mQtemHuZ2j␤Undeclared routines:␤    have…»
19:29 evalable6 mst, Full output: https://gist.github.com/d70458fb40364cb5b7b5bf1dfffc7b86
19:30 canopus joined #perl6
19:31 moritz mst: thanks, seems to work
19:31 moritz ls
19:31 moritz argl
19:38 Jesmaybe joined #perl6
19:40 evalable6 I wonder what is the limit
19:40 perigrin the sky traditionally.
19:46 Jesmaybe joined #perl6
19:50 El_Che New rakudo 2016.10 debs and rpms: https://github.com/nxadm/rakudo-pkg/releases/tag/2016.10
19:52 avar rakudo star still at 2016.07 :(
19:52 El_Che I saw stmuk is testing 2016.10
19:52 avar \o/
19:52 El_Che (on twitter)
19:53 avar ah yes: http://stevemynott.blogspot.nl/2016/10/there-is-release-candidate-for-rakudo.html
19:54 zakharyas joined #perl6
19:59 Derperperd joined #perl6
20:02 cognominal joined #perl6
20:03 kent\n joined #perl6
20:07 ale1ster joined #perl6
20:07 labster joined #perl6
20:16 fumlead How to get a type of variable?
20:16 fumlead something like $var.type
20:19 arnsholt $var.WHAT
20:22 fumlead thanks
20:23 bjz joined #perl6
20:24 fumlead left #perl6
20:34 bisectable6 joined #perl6
20:34 committable6 joined #perl6
20:34 evalable6 joined #perl6
20:35 AlexDaniel moritz: all whateverable bots are now logged in as “whateverable”
20:35 AlexDaniel ah
20:36 AlexDaniel moritz: so perhaps “access #perl6 add whateverable +V” will work better?
20:36 AlexDaniel (e.g. evalable6 has no +v right now)
20:43 bjz_ joined #perl6
20:43 cdg joined #perl6
20:44 cdg joined #perl6
20:51 bisectable6 joined #perl6
20:51 evalable6 joined #perl6
20:51 committable6 joined #perl6
21:23 geekosaur joined #perl6
21:29 tbrowder m: my $x = 5 x '  '; say "x = '$x'"
21:29 camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
21:29 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
21:30 fumlead joined #perl6
21:30 tbrowder okay, I thought the 'x' operator could be used to generate a string of chars!
21:30 kurahaupo__ joined #perl6
21:31 fumlead How I can create an executable on Linux? I mean, how I can distribute my program without perl6 interpreter?
21:33 tbrowder m: my $x = 5 x " "; say "x = '$x'"
21:33 camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
21:33 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
21:33 kurahaupo__ fumlead: simplest would be to make perl6 a dependency of your package
21:33 tbrowder m: my $x = 5 x " a"; say "x = '$x'"
21:33 camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
21:33 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
21:34 lucasb_ joined #perl6
21:34 geekosaur you cannot currently make a self-contained executable
21:34 tbrowder m: my $x = 5 x a'; say "x = '$x'"
21:34 camelia rakudo-moar ae1f2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3my $x = 5 x a7⏏5'; say "x = '$x'"␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statemen…»
21:34 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/TbzuDhkgNS␤Two terms in a row␤at /tmp/Tb…»
21:34 evalable6 tbrowder, Full output: https://gist.github.com/5328cde0954f2e6d999767147bdb4214
21:34 tbrowder m: my $x = 5 x 'a'; say "x = '$x'"
21:34 camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
21:34 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
21:34 lucasb_ tbrowder: try 'a' x 5
21:35 tbrowder m: my $x = 'a' x 5; say "x = '$x'"
21:35 camelia rakudo-moar ae1f2f: OUTPUT«x = 'aaaaa'␤»
21:35 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = 'aaaaa'»
21:35 El_Che fumlead: you can create a package containing the perl6 runtime and you program and modules. Or use something like docker if running linux
21:35 El_Che docker is nice because you can upgrade perl6 indepently of other applications
21:35 tbrowder argh!!  thanks, lucasb_
21:36 lucasb_ can someone silence evalable6? since camelia is already here
21:36 fumlead rakudo supports jvm backend, right? So, can I create a jar file?
21:37 El_Che fumlead: in the near future, probably. For now, I think the moarvm backend is the only way to go
21:38 tbrowder RTFDocs i see the second arg is coerced to an int, so i must coerce myself to do the same...
21:39 geekosaur fumlead, the jvm backend is significantly buggier
21:40 tbrowder m: my $x = ' ' x 5; say "x = '$x'"
21:40 camelia rakudo-moar ae1f2f: OUTPUT«x = '     '␤»
21:40 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = '     '»
21:40 fumlead Okay, why I can't generate MoarVM bytecode? `perl6 --target=mbc test.pl` doesn't seems to work
21:44 tbrowder could the poor noob be given an error msg for the wrong order of args?
21:45 tbrowder m: my $x = 5 x 5; say "x = '$x'"
21:45 camelia rakudo-moar ae1f2f: OUTPUT«x = '55555'␤»
21:45 evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = '55555'»
21:47 tbrowder can anyone show an example why coercing the second arg to an int would be useful?
21:50 iBakeCake tbrowder: as opposed to what?
21:51 tbrowder instead of constraining the second arg to an int?
21:51 lucasb_ tbrowder: I think that was always the nature of Perl. It's ok to use a string as a number and number as string
21:52 iBakeCake You can also use, say, an @array with the number of elements you want to duplicate with
21:52 tbrowder or, better, accept:  int x str OR str x int
21:52 iBakeCake :/
21:52 iBakeCake That's certainly not better.
21:52 iBakeCake my $foo = $bar x $ber;  # guess the result
21:53 lucasb_ $ber times the stringfication of $bar :)
21:53 giftnuss_ joined #perl6
21:54 iBakeCake lucasb_: no, you can't tell, if tbrowder's suggestion were in place.
21:54 fumlead left #perl6
21:54 tbrowder why? the two options could be multi methods couldn't they
21:54 name joined #perl6
21:55 skids m: my $bar = 5; say $bar x $ber
21:55 tbrowder here are the current signature according to the docs:
21:55 camelia rakudo-moar ae1f2f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$ber' is not declared. Did you mean '$bar'?␤at <tmp>:1␤------> 3my $bar = 5; say $bar x 7⏏5$ber␤»
21:55 evalable6 skids, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/1LQcdJqr5u␤Variable '$ber' is not declared. Did you mean '$bar'?␤at /tmp/1LQcdJqr5u:1␤------> my $bar = 5; say $bar x <HERE>$ber»
21:55 iBakeCake tbrowder: yes, but programmer can't tell what it's doing when reading the code.
21:55 iBakeCake So your multies don't add any benefits. They just produce confusing code.
21:55 iBakeCake AlexDaniel: your bot is malfunctioning?
21:55 japhb ab5tract_: Are you around?
21:56 tbrowder https://www.irccloud.com/pastebin/3vWTfCe0/
21:57 iBakeCake tbrowder: that's incorrect.
21:57 iBakeCake m: &infix:<x>.candidates».signature.say
21:57 camelia rakudo-moar ae1f2f: OUTPUT«(() ($x) ($s, Num:D $n) ($s, $n) (Str:D $s, Int:D $repetition --> Str:D) (str $s, int $repetition --> str))␤»
21:57 evalable6 iBakeCake, rakudo-moar 34e515d: OUTPUT«(() ($x) ($s, Num:D $n) ($s, $n) (Str:D $s, Int:D $repetition --> Str:D) (str $s, int $repetition --> str))»
21:58 iBakeCake tbrowder: and 5 x 'dsadas' failing silently is incorrect and shall be fixed shortly
21:58 MasterDuke iBakeCake: i killed evalable for now
21:58 iBakeCake MasterDuke++
21:59 tbrowder iBakeCake: good to hear, and i guess the docs need updating
22:01 iBakeCake tbrowder: I'll update them after the fix. The candidates may change
22:01 iBakeCake tbrowder: where in the docs is it?
22:02 tbrowder i'll show you, i'm making a slight correction without changing the sigs...see what you think
22:02 flexibeast joined #perl6
22:02 Jesmaybe joined #perl6
22:03 bjz joined #perl6
22:05 Jesmaybe joined #perl6
22:07 dalek doc: 2bc0df8 | (Tom Browder)++ | doc/Language/operators.pod6:
22:07 dalek doc: give fair notice of a possible silent error
22:07 dalek doc: review: https://github.com/perl6/doc/commit/2bc0df8430
22:09 tbrowder just above that change is where the signatures are listed
22:09 iBakeCake got it
22:10 Jesmaybe joined #perl6
22:16 TEttinger joined #perl6
22:17 AlexDaniel iBakeCake: obviously, yes, it does :)
22:18 AlexDaniel that's totally my mistake though
22:20 evalable6 joined #perl6
22:20 AlexDaniel m: say 42
22:20 camelia rakudo-moar ae1f2f: OUTPUT«42␤»
22:20 evalable6 AlexDaniel, rakudo-moar 34e515d: OUTPUT«42»
22:20 AlexDaniel iBakeCake: lesson learned: don't leave stuff uncommitted
22:21 Jesmaybe joined #perl6
22:22 lucasb_ tbrowder: I think you was to fast in adding that note. It will be fixed
22:22 lucasb_ *too
22:22 iBakeCake lucasb_: nah, that note is about zeros and negative numbers :)
22:23 dalek doc: f6314f6 | (Tom Browder)++ | doc/Language/operators.pod6:
22:23 dalek doc: give examples of incorrect args
22:23 dalek doc: review: https://github.com/perl6/doc/commit/f6314f6bd6
22:23 tbrowder and i'm making another tweak, too...see it shortly...
22:23 tbrowder ah, there it is...
22:24 iBakeCake haha! Now THIS one is incorrect :D
22:24 iBakeCake m: say 'a'.Int
22:24 camelia rakudo-moar ae1f2f: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
22:24 lucasb_ well, since ('a' x 0) or ('a' x -1) doesn't warn, I would not expect '0' and '-1' to warn too
22:24 iBakeCake You'd get that ^ with the 5 x 'a' example
22:25 Jesmaybe joined #perl6
22:26 tbrowder i did try the examples i added and got no warnings or errors: This is Rakudo version 2016.06-976-ga09c8dc built on MoarVM version 2016.09-46-geceb429
22:26 iBakeCake 'cause there's a bug :)
22:26 tbrowder roger!
22:26 iBakeCake Your rakudo is ridiculously outdated :)
22:26 evalable6 joined #perl6
22:27 evalable6 joined #perl6
22:27 iBakeCake tbrowder: how did you build it? I'm surprised it's using a much newer version of MoarVM
22:27 AlexDaniel m: say 42
22:27 camelia rakudo-moar ae1f2f: OUTPUT«42␤»
22:27 AlexDaniel \o/
22:27 * AlexDaniel leaves without committing it again
22:30 tbrowder well, sorry. i do update it when i think about it--i usually make sure i'm on the nom branch, update it, and build from there, but i may have been on another branch the last timebut now that you mention it, yesterday i found an existing ~/.rakudobrew can interfere with a Star install from a tarball
22:30 tbrowder i do NOT have ~/.rakudobrew
22:31 Jesmaybe joined #perl6
22:32 cpage_ joined #perl6
22:37 lizmat joined #perl6
22:49 Herby__ \o
22:49 dalek doc: 9677f76 | (Zoffix Znet)++ | doc/Language/operators.pod6:
22:49 dalek doc: Improve infix:<x>
22:49 dalek doc: review: https://github.com/perl6/doc/commit/9677f761c0
22:51 Herby__ does perl 6 have a built-in prettyprint of some sort?
22:51 Herby__ i see tony-o has a Data::Dump module available
22:51 iBakeCake tbrowder: well, I removed note about $b <= 0 warnings, since right before the example there is a mention that an empty string is given in those cases, so I don't see the reason why a note is necessary. I also removed several of the incorrect examples (that now throw). Lastly, for the signature, I left just one in. IMO the others are more of a Rakudo's internal detail rather than something user-facingly
22:51 iBakeCake important
22:51 iBakeCake m: dd <just this one>
22:51 camelia rakudo-moar 2dd0dd: OUTPUT«("just", "this", "one")␤»
22:51 AlexDaniel does anybody know where is MadcapJake nowadays?
22:51 iBakeCake Herby__: ^   there's also a slightly bitrotten .DUMP method that is way more verbose.
22:52 iBakeCake m: say 'a' x 'b'
22:52 camelia rakudo-moar 2dd0dd: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5b' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
22:52 tbrowder iBakeCake: perl6 version is "2016.09-213-gae1f2f8 built on MoarVM version 2016.10-5-g3f1ef57", is that better?
22:53 Herby__ iBakeCake: foolish question but what do you mean by bitrotten?
22:53 iBakeCake tbrowder: you still have a weird configuration that your Rakudo is using a MoarVM version that it was never meant to be using.
22:53 iBakeCake Herby__: https://en.wikipedia.org/wiki/Software_rot
22:54 iBakeCake m: $*PERL.version.say
22:54 camelia rakudo-moar 2dd0dd: OUTPUT«v6.c␤»
22:54 Herby__ ah k
22:54 iBakeCake m: $*PERL.compiler.version.say
22:54 AlexDaniel Herby__: nevermind, it should work!
22:54 camelia rakudo-moar 2dd0dd: OUTPUT«v2016.10.7.g.2.dd.0.ddb␤»
22:54 Herby__ thanks
22:55 iBakeCake tbrowder: basically each Rakudo commit knows which version of MoarVM build and in your case your MoarVM is way higher than what the commit for your Rakudo would build
22:55 tbrowder hm, any ideas? i do have a fork of MoarVM but I don't think I have installed it...
22:56 iBakeCake hmmm
22:56 iBakeCake 1 sec
22:56 tbrowder should I just blow away what I have and start over?
22:56 iBakeCake ah
22:56 iBakeCake *nah
22:56 lizmat joined #perl6
22:56 iBakeCake wtf
22:57 iBakeCake tbrowder: I think it's just 'cause you did not pull the rakudo tag in. If I look up that commit, it's actually *is* a 2016.10 rakudo.
22:58 iBakeCake git pull --tags        does it I think
22:58 iBakeCake (unsure whether it's supposed to pull in tags automagically anyway)
23:00 tbrowder here's my rakudo build command  in my rakudo fork repo:  corrections, please: "perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=/usr/local/rakudo-git.d"
23:00 iBakeCake tbrowder: how do you pull in new changes from the repo?
23:01 tbrowder git pull upstream nom
23:01 lizmat_ joined #perl6
23:02 iBakeCake I got `git pull` and I build with `perl Configure.pl --gen-moar --gen-nqp --backends=moar; make; make test; make install` and my -v gives me "This is Rakudo version 2016.10-4-g2b5226c built on MoarVM version 2016.10-5-g3f1ef57"
23:02 iBakeCake tbrowder: what does `git describe` gives you?
23:03 tbrowder 2016.09-214-g2dd0ddb
23:03 iBakeCake tbrowder: what if you do   git pull upstream nom --tags    what does git describe give you then?
23:04 tbrowder 2016.10-7-g2dd0ddb
23:04 iBakeCake \o/
23:05 tbrowder huzzah? rebuild?
23:05 iBakeCake tbrowder: I guess git doesn't automatically pull in tags when you explicitly give it a location to pull from
23:05 iBakeCake tbrowder: yeah
23:05 iBakeCake Now it'll give you the right version..... along with the 'a' x 'b' fix
23:07 tbrowder so should i set a git command in my build script to do the "right thing" every time before running Configure.pl?
23:07 iBakeCake tbrowder: I guess. I'm no git guru or anything :)
23:08 tbrowder well you're more of a guru tham moi!!
23:08 tbrowder (better speller, too)
23:12 tbrowder https://www.irccloud.com/pastebin/QthxyyUr/
23:12 tbrowder does that look right?
23:13 tbrowder 2016.10-7-g2dd0ddb built on MoarVM version 2016.10-5-g3f1ef57
23:13 iBakeCake yup
23:14 tbrowder thanks so much, iBakeCake!
23:14 iBakeCake Any time.
23:15 tbrowder but i don't see a fix for: say 5 x ' '
23:15 iBakeCake That's cause ' ' is numifies to 0
23:15 iBakeCake m: dd '             '.Int
23:15 camelia rakudo-moar 2dd0dd: OUTPUT«0␤»
23:15 iBakeCake m: dd '     heh        '.Int
23:15 camelia rakudo-moar 2dd0dd: OUTPUT«Failure.new(exception => X::Str::Numeric.new(source => "     heh        ", pos => 5, reason => "base-10 number must begin with valid digits or '.'"), backtrace => Backtrace.new)␤»
23:15 iBakeCake m: 'a' x 'b'
23:15 camelia rakudo-moar 2dd0dd: OUTPUT«WARNINGS for <tmp>:␤Useless use of "x" in expression "'a' x 'b'" in sink context (line 1)␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5b' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Act…»
23:16 tbrowder i thought the fix would be to warn of coercion to <= 0?
23:17 tbrowder are you sure i have the right version?
23:17 tbrowder m: say 5 x 1 '
23:17 camelia rakudo-moar 2dd0dd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say 5 x 17⏏5 '␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        statement modifier␤      …»
23:17 tbrowder m: say 5 x ' '
23:17 camelia rakudo-moar 2dd0dd: OUTPUT«␤»
23:17 iBakeCake No, the fix was to not silence Failures when coersing to Int. Returning empty string for <= 0 is part of behaviour
23:21 tbrowder well that fix doesn't help dummies...i don't understand why another multi with a sig of (int, str) couldn't be used to provide an exception
23:21 tbrowder a clear reversal of desired usage
23:22 tbrowder a clear reversal of correct usage
23:22 tbrowder or (Int:D, Str:D)
23:23 tbrowder or a fancy restraint sig
23:23 iBakeCake I rather these supposed dummies RTFM than real programmers be inconvinienced with bogus exepcions
23:24 iBakeCake like 42 x $str-user-input
23:24 iBakeCake As well as IntStr x IntStr
23:25 iBakeCake m: my ($a, $b) = <5 10>; dd $a x $b
23:25 camelia rakudo-moar 2dd0dd: OUTPUT«"5555555555"␤»
23:25 iBakeCake ^ your version here would throw
23:27 tbrowder i want my messed up version to throw!
23:27 tbrowder m: my ($a, $b) = [5,  ' ']; dd $a x $b
23:27 camelia rakudo-moar 2dd0dd: OUTPUT«""␤»
23:28 tbrowder m: my [$a, $b] = [5,  ' ']; dd $a x $b
23:28 camelia rakudo-moar 2dd0dd: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed my␤at <tmp>:1␤------> 3my7⏏5 [$a, $b] = [5,  ' ']; dd $a x $b␤»
23:28 tbrowder m: my $a = 5; my $b = ' '; dd $a x $b
23:28 camelia rakudo-moar 2dd0dd: OUTPUT«""␤»
23:29 tbrowder anyhow, i'll go quietly into the night--thanks for yr help
23:31 Herby__ i'm getting stumped here on something that should be simple.  I have an array: @movie  , and @movies[0].elems tells me it has 10 elements
23:31 Herby__ but if i try to loop through @movies[0], it only returns 1 elements
23:31 Herby__ element
23:32 iBakeCake tbrowder: checking for that rare special case is expensive and would impact all other cases. It's just not worth it. The behaviour is entirely consistent in that an .Int of empty string is zero
23:32 gfldex Herby__: you are missing a .flat
23:32 gfldex Herby__: or some other way to turn the item into a list
23:33 iBakeCake m: my @movies = (^3),; dd @movies[0].elems; for |@movies[0] { .say }
23:33 camelia rakudo-moar 2dd0dd: OUTPUT«3␤0␤1␤2␤»
23:33 Herby__ hmmm
23:33 Herby__ yeah, thats what I was missing
23:34 Herby__ thanks
23:34 iBakeCake I meant, an .Int of a string with nothing but whitespace in it is 0
23:35 tbrowder okay, i understand expensive...
23:35 gfldex m: my @m = [1,2,3],<a b c>; dd @m[0].map({$_})
23:35 camelia rakudo-moar 2dd0dd: OUTPUT«(1, 2, 3).Seq␤»
23:41 tbrowder and i can learn the RWTDI
23:42 tbrowder the silent fail on ' ' sure explains the problems i'm having with another program!  fix coming shortly :)
23:45 seatek I've been playing around with inheritance vs roles in classes. I'm reaching the general conclusion that roles are best when you're not dealing with attributes... mostly just methods that do specialized things. Whereas inheritance works best when you're dealing with common attributes, and methods that rely on those attributes. Sound about right?
23:46 seatek that's so general... sorry.. but those are pretty general and simlar things, roles and inheritance. ;)
23:50 seatek I'm left kinda wondering what the benefit of roles actually are, other than getting errors when you "does" something with the same attribute or method names.
23:54 seatek I could see using roles as abstract interfaces though... just found that reading...

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

Perl 6 | Reference Documentation | Rakudo