»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
p3rln00b m: say Proxy ~~ Cool 00:03
camelia rakudo-moar b744de: OUTPUT«False␤»
p3rln00b The test showed that was... a LIE! :P 00:04
00:10 flexibea` is now known as flexibeast 00:11 flexibeast left, flexibeast joined 00:15 khw joined 00:17 bjz joined 00:24 lucasb_ left 00:31 _slade_ joined 00:41 khw left 00:46 TEttinger left 00:47 TEttinger joined 01:02 FROGGS_ joined
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:08
(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:13
it seems ;) 01:14
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:16
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:18
01:19 aborazmeh joined, aborazmeh left, aborazmeh joined 01:21 ShimmerFairy joined 01:24 Jesmaybe_ joined 01:26 Jesmaybe_ left 01:31 khisanth_ joined 01:36 Jesmaybe_ joined 01:45 Herby__ joined
Herby__ o/ 01:45
BenGoldberg m: dd Number.new; 01:47
camelia rakudo-moar b744de: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared name:␤ Number used at line 1. Did you mean 'NumStr'?␤␤»
BenGoldberg m: dd Numeric.new;
camelia rakudo-moar b744de: OUTPUT«Numeric.new␤»
01:47 ilbot3 joined
BenGoldberg m: say Numeric.new; 01:47
camelia rakudo-moar b744de: OUTPUT«Numeric<58621680>␤»
p3rln00b seatek: parents don't get rolled. You may be thinking of roles. 01:49
01:50 yqt left
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)␤»
p3rln00b m: role Foo {}; role Bar is Foo {}; class Meow is Bar {}; dd Meow.^mro
camelia rakudo-moar b744de: OUTPUT«(Meow, Bar, Foo, Any, Mu)␤»
p3rln00b well, roles get composed into the class as if methods were right in there.
oh
m: role Foo {}; role Bar does Foo {}; class Meow does Bar {}; dd Meow.^mro 01:52
camelia rakudo-moar b744de: OUTPUT«(Meow, Any, Mu)␤»
p3rln00b There we go
(`is` version punned them, so the roles were like classes)
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?
seatek p3rln00b, I was inheriting from the parent class using the "is" keyword -- class Blah is Blecky {...} 01:55
p3rln00b, that brings in all parent attributes just fine
p3rln00b, even attributes of a custom type 01:56
p3rln00b, however, the child class can use those attributes just fine -- even the custom typed attributes 01:58
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
seatek custom types that are defined with "subset" of existing types that is 02:00
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:02
02:03 FROGGS_ left 02:04 Jesmaybe_ left, Jesmaybe_ joined 02:05 noganex joined
japhb seatek: Try 'our subset' 02:07
japhb doesn't remember offhand, but subsets might be my by default 02:08
Actually, come to think of it, may need to 'is export' the subset.
seatek japhb, tried our.. yeah.. and when I "use" it, it's being used as a unit module with my package EXPORT::DEFAULT 02:13
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:14
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
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?
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:24
02:25 aborazmeh left
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:28
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:29
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:32
02:39 canopus left 02:43 canopus joined 03:00 skids joined 03:12 aries_liuxueyang left 03:13 aries_liuxueyang joined 03:20 Jesmaybe_ left 03:23 Jesmaybe_ joined 03:24 Jesmaybe_ left 03:27 Jesmaybe_ joined 03:29 Jesmaybe_ left, Jesmaybe_ joined 03:33 Jesmaybe_ left 03:35 Jesmaybe_ joined 03:37 Jesmaybe_ left 03:38 Jesmaybe_ joined 03:44 Jesmaybe_ left, Jesmaybe_ joined 03:48 Jesmaybe_ left 03:49 Jesmaybe_ joined 03:59 Jesmaybe_ left
Herby__ going through perl6intro.com, it briefly talks about Junctions 04:02
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␤»
Herby__ What are some situations where'd you want to utilize Junctions?
04:08 Jesmaybe_ joined 04:10 Jesmaybe_ left 04:16 BenGoldberg left
TimToady anywhere that takes a smartmatch argument, like a 'when', or a 'where', or a 'grep' 04:16
Herby__ Thanks. Just found this article by zoffix as well: perl6.party/post/Perl-6-Schrodinger...-Junctions 04:18
04:22 pierre_ joined 04:26 pierre_ left 04:29 Herby__ left 04:42 Jesmaybe_ joined 04:43 Cabanossi joined 04:46 rgrinberg left 04:47 Jesmaybe_ left 05:15 pierrot joined, pierrot left, pierrot joined 05:18 wamba joined 06:44 Jesmaybe_ joined 06:49 Jesmaybe_ left 06:52 canopus left 06:54 firstdayonthejob joined 06:59 canopus joined, domidumont joined 07:03 skids left 07:04 domidumont left, domidumont joined 07:05 setty2 joined 07:13 shin_ left 07:18 canopus left 07:22 domidumont left 07:26 canopus joined 07:28 Cabanossi left, rindolf joined 07:30 Cabanossi joined 07:31 cibs joined 07:53 domidumont joined 07:57 domidumont left 08:00 bjz left 08:01 seatek left 08:02 andrzejku joined 08:03 aries_liuxueyang left
dalek c: 7889e4f | (Steve Mynott)++ | bin/p6doc:
remove extra dot from p6doc -f result
08:05
08:05 RabidGravy joined 08:06 bjz joined 08:21 wamba left, wamba joined, wamba left 08:22 wamba joined, wamba left 08:23 wamba joined 08:24 wamba left, wamba joined 08:25 wamba left 08:33 harrison_ joined 08:34 espadrine joined 08:40 harrison_ is now known as hchienjo
RabidGravy boom 08:44
08:46 Jesmaybe_ joined 08:49 wamba joined 08:50 Jesmaybe_ left
dalek line-Perl5: 77503c2 | niner++ | / (2 files):
Fixup tests after making Perl5Attributes non-parametric
08:56
08:58 ale1ster joined
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
japhb: I ought to replace it with something like use Inline::Perl6 'OO';
09:07 FROGGS__ is now known as FROGGS
FROGGS o/ 09:08
09:09 ale1ster2 joined 09:11 ale1ster left 09:18 wamba left 09:19 nadim joined 09:21 flexibeast left
dalek line-Perl5: b53fb8f | niner++ | .travis.yml:
Update rakudo requirement for travis
09:29
09:32 _slade_ left 09:33 obfusk joined, hchienjo left 09:34 darutoko joined
dalek line-Perl5: 45acfcf | niner++ | .travis.yml:
Update rakudo requirement for travis
09:39
09:42 labster left 09:46 hchienjo joined, flexibeast joined 09:47 Jesmaybe_ joined 09:51 Jesmaybe_ left
dalek line-Perl5: 431344a | niner++ | lib/Inline/Perl5.pm6:
Fix Inline::Perl6 tests failing since 61473e48627009260133428526ea09721c1fe994

Seems like the itemization provided by array assignment is needed for the return values to make it back to Perl 5.
09:56
10:00 TEttinger left 10:01 xinming joined 10:06 CIAvash joined 10:16 ale1ster2 left 10:20 cdg joined 10:30 sjoshi joined
dalek line-Perl6: 551aac4 | niner++ | / (9 files):
Remove the need for manually calling initialize

When using the OO-interface, one probably expects loading of rakudo to happen at the Inline::Perl6->new call. That's why for the non-OO interface, one had to call Inline::Perl6::initialize manually up until now.
The OO-interface doesn't give the user any advantages as we can load only one rakudo at a time anyway. So de-emphasize that usage a bit by requiring an import argument. In absence of this, we initialize rakudo right away when loading Inline::Perl6.
If you see lots of "subroutine redefined" warnings, you just need to remove your Inline::Perl6::initialize call.
10:36
nine japhb: ^^^ 10:38
10:49 BenGoldberg joined, hchienjo left 10:51 committable6 left, bisectable6 joined, committable6 joined 10:55 cdg left 10:58 committable6 left, committable6 joined 11:01 sjoshi left 11:04 Velvet joined 11:29 TimToady left 11:31 TimToady joined
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:41
11:42 wamba joined 11:46 CIAvash left 11:48 Jesmaybe_ joined 11:53 Jesmaybe_ left
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:55
There's no executable bit on Windows, but maybe there's something else. 11:56
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
FROGGS Velvet: www.devside.net/wamp-server/runnin...er-windows 11:58
11:59 setty2 left
FROGGS (it would be literally: 'note "I'm running";', since note() is a thing in Perl 6) 12:00
dalek ateverable: 379fa80 | MasterDuke17++ | / (4 files):
Generate the list of releases to run automatically

There is also a behavior change in the 'releases' command and the addition of 'v?6\.?c' and 'all' commands. 'releases' and 'v?6\.?c' run for all tags since 2015-12, while 'all' runs for all tags that use MoarVM (starts at 2014-01).
12:12
12:27 Ven joined, cpage_ joined
stmuk jeff (drforr) @ www.madbishopandbear.co.uk/ today 5pm BST 12:30
12:49 flexibeast left
stmuk pl6anet.org/drop/rakudo-star-2016.10-RC0.tar.gz 12:51
12:52 flexibeast joined 12:53 bjz_ joined 12:54 bjz left 12:59 flexibeast left 13:00 flexibeast joined 13:01 yqt joined 13:02 Ven left, araujo_ left 13:03 Ven joined 13:06 Ven left, Ven joined, domidumont joined 13:09 araujo joined 13:11 araujo left, araujo joined
stmuk stevemynott.blogspot.co.uk/2016/10/...akudo.html 13:12
13:13 araujo left 13:14 flexibeast left, araujo joined 13:16 araujo left 13:17 araujo joined, Ven left 13:19 araujo left, araujo joined 13:20 Ven joined 13:21 araujo left 13:22 araujo joined 13:24 araujo left 13:26 araujo joined 13:28 araujo left 13:29 araujo joined 13:31 araujo left 13:32 khisanth_ left 13:33 Guest76840 joined, wamba left 13:35 Guest76840 left 13:36 Guest76840 joined 13:37 Guest76840 left 13:38 Guest76840 joined 13:40 Guest76840 left, NeuralAnomaly left, Guest76840 joined, buggable joined, NeuralAnomaly joined, huggable joined 13:42 Guest76840 left
dalek c: e492e5a | coke++ | doc/Language/testing.pod6:
remove trailing ws
13:43
13:43 Guest76840 joined 13:44 Guest76840 left 13:45 mephinet joined, Guest76840 joined, khisanth_ joined 13:46 mephinet left 13:47 mephinet joined, Guest76840 left 13:48 Guest76840 joined 13:49 Jesmaybe_ joined 13:50 Guest76840 left 13:51 Guest76840 joined, mephinet left 13:53 Guest76840 left, Guest76840 joined 13:54 Jesmaybe_ left
[Coke] (didn't look like a merge) probably doing a ff and directly applying commits where it can. 13:55
(and I might have done 3 "git merge master"s before doing a push
13:56 Guest76840 left, Guest76840 joined 13:58 Guest76840 left 13:59 Guest76840 joined 14:01 Guest76840 left, Guest76840 joined
andrzejku hello :) 14:03
14:03 Guest76840 left 14:04 darutoko left
dalek c/spellcheck: 3974b1c | coke++ | doc/Language/subscripts.pod6:
other instances used the US version
14:05
doc/spellcheck: 14567d4 | (Tom Browder)++ | doc/Language/testing.pod6:
doc/spellcheck: add caution about done-testing
14:05 dalek left, Guest76840 joined, dalek joined, ChanServ sets mode: +v dalek 14:06 CIAvash joined, CIAvash left 14:07 Guest76840 left 14:08 Guest76840 joined 14:09 Guest76840 left 14:12 Guest76840 joined 14:14 Guest76840 left 14:15 Guest76840 joined 14:25 mst is now known as {{{{{{{{{{, {{{{{{{{{{ is now known as mst
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:28
14:28 bjz_ left 14:30 Ven left, Ven joined 14:35 cdg joined
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:37
14:38 Herby__ joined
Herby__ o/ 14:38
AlexDaniel moritz: yeah but right now my question is “is it something that we want or not?”
moritz AlexDaniel: yes, it's something we want
stmuk zef is probably easiest since it doesn't have module dependencies 14:39
moritz +1 to going for easy first
14:39 andrzejku left
El_Che would be a clash between system-wide path and ~/.perl6 ? E.g. what do we want as default 14:40
14:40 cdg left 14:41 andrzejku joined
moritz IMHO local installation should be the default 14:42
El_Che moritz: I agree 14:43
to often users:
1. get stuck with unwritable paths and give up 14:44
2. users use root and write stuff all over the place
14:45 Ven left, Ven joined 14:50 Jesmaybe_ joined, zakharyas joined 14:52 cdg joined, khw joined 14:55 Jesmaybe_ left 14:56 geekosaur left 14:57 Ven left 15:01 geekosaur joined 15:11 geekosaur left 15:13 geekosaur joined 15:29 seatek joined 15:36 skids joined 15:38 zakharyas left 15:45 espadrine left 15:51 Jesmaybe joined 15:56 Jesmaybe left 16:03 espadrine joined 16:06 mephinet joined 16:18 fumlead joined 16:22 cdg left
Xliff Still looking for help on this error. Anyone have any ideas? 16:26
gist.github.com/Xliff/0f537c12b415...9484a25b1a
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:28
Xliff ugexe: Second mention is clear enough. 16:29
If that block is uncommented, I get a weird error message
And I don't understand exactly what the problem is. Conditional package loading is in spec, right? 16:30
ugexe: Gist updated. Let me know if that clarifies anything. 16:31
ugexe it does not 16:32
your update does not update the code in the gist where that same block is duplicated twice
so no one knows which block you are saying to uncomment
or if you mean to remove comments on both blocks 16:33
gist.github.com/ugexe/77ef72a23277...ce74f89e7d Line 8 and 31 are the same block you say to remove 16:34
Xliff Actually the second block is an excerpt from the first. 16:35
So you are saying repeating the entire block rather than relying on the user to interpret context?
16:35 simonsayz joined
ugexe im saying i dont understand what you are saying the problem is 16:36
because what you say the problem is (the code to comment out) is in two spots
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
16:38 decent_ left
Xliff ugexe: Updated again. I didn't even notice that. 16:38
Shows how long I've been working on this problem when I am frustrated enough to not see that mistake. 16:39
16:39 zakharyas joined
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
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
I could replace the "Color" module with anything and I would still get the error.
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
Xliff I can post a link to the github. Then you wouldn't need to. 16:41
ugexe you might even find by inlining the packages it suddenly works 16:42
Xliff Yeah, there are two things I'm trying here though: 1) Selective package loading; 2) Optional package loading 16:43
But before that, I really would like to know what that error means. It's definitely LTA
Updated gist with link to repository. 16:44
ugexe on an unrelated note this wont work for CompUnit::Repository::Installation github.com/Xliff/p6-color-names/bl...mes.pm#L28 16:47
Xliff Huh! 16:49
What error are you getting ugexe?
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
Xliff OOO Kay
I did run it. No error.
ugexe dont forget: CURI stuff gets all sha1'd
is your module installed in CURI?
16:50 zakharyas left
ugexe or does it find modules that are located there? 16:51
Xliff No. It's not. I am using -I lib
ugexe right, thats why you didnt get an error
Xliff So that might be why I am not running into it.
Well crap. That blows selective module loading.
Still... the optional test and load for the Color class generates the same error. 16:52
16:52 zakharyas joined
Xliff Thanks for checking me on that bit with SHA1. Kinda a drawback when looking to dynamically load modules. 16:52
So there is still #2 that generates same error that I need to figure out. 16:53
16:55 Sgeo left
p3rln00b fumlead: we're not at the Perl 5's quality yet. Language docs are on docs.perl6.org/ ; module docs are on modules.zef.pm/ ; and something akin to perldoc is p6doc modules.perl6.org/repo/p6doc but your mileage with it may vary 16:55
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
This is Rakudo version 2016.09-191-gbf7945e built on MoarVM version 2016.09-46-geceb429
implementing Perl 6.c.
ugexe xliff: selective module loading works - its something about selecting (or dynamic?) exporting
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
Xliff ugexe: So the problem is that "require" in sub EXPORT() is blowing stuff up, then? 16:58
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
INIT {} doesn't seem right, either.
So to be clear: I'd like to do optional module loading at load time, but before execution time.
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?
p3rln00b fumlead: how did you install your Perl 6? 17:00
Xliff BEGIN {} is compile time, so that doesn't work, either.
p3rln00b samcv: what about the module itself, IRC::Client. Did you update it? Current version is 3.006003
ugexe require ::() is runtime no matter how you cut it
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
samcv yeah i did update it yesterday but i can double check
p3rln00b fumlead: run rakudobrew rehash
Xliff ugexe: So now it's only the "require Color" that I'm concerned about. 17:02
samcv yeah i have 3.006003
p3rln00b samcv: no idea.
Xliff If that is the only require directive uncommented, it still generates the same error.
ugexe what if you require something outside of your module, like `require Test;`?
p3rln00b samcv: do you get normal debug output, like all the events happening? 17:03
samcv no i don't
no events print out
well other than joining the channel
17:04 wamba joined
p3rln00b samcv: that's what I get when I run your bot from yesterday: i.imgur.com/4nsDkeG.png 17:04
Xliff ugexe: Actually, the "Color" module is external.
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
samcv yeah 17:06
Xliff ugexe: Same error.
fumlead p3rln00b: oh, it's working now. Thanks. p6doc was "installed as dependency", so I manually installed it using `panda install p6doc`
Xliff ugexe: FYI, the "Color" module is p3rln00b's.
*cough*Zoffix*cough* 17:07
AlexDaniel where's the source code for modules.zef.pm/ ?
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;'?
AlexDaniel is it this github.com/tony-o/zefwww ?
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: rakudo.org/downloads/star/
Xliff ugexe: I didn't know you could do that. 17:08
ugexe AlexDaniel: I think so. that's tony-o's project anyway
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:09
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
due to the order of global merge, precomp, etc
samcv p3rln00b, well i'm gonna try running a local irc server instead instead of freenode
see if that changes anything
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
17:11 sqttestbot joined
ugexe Xliff: running with `RAKUDO_MODULE_DEBUG=1` might give a hint if its a problem loading a specific name 17:11
17:12 zakharyas left
samcv fumlead, it doesn't take that long to compile it from aur 17:12
AlexDaniel ah no
it's github.com/tony-o/perl-zefserver
samcv took me like 10-15 minutes for nqp rakudo and moarvm on my laptop
17:12 sqttestbot left
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: i.imgur.com/F0OeXwp.png
samcv what distro are you using? 17:14
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
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
p3rln00b huggable: hug me 17:17
huggable hugs p3rln00b
p3rln00b ^ runs on Debian. I see output on it
p3rln00b &
ugexe such a technique could also be used where your stubbed subs simply use the class instance for its implementation
Xliff ugexe: Well, this has been a day of setbacks. 17:18
Still, I would like to get this module in a workable state.
So selective module loading is out for now. I've already committed its removal. 17:19
However the "require Color" bit should still work, but gives same error.
Wonder if I could move that to INIT {} and have it still work.
Yup 17:20
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:22
Ah well. 17:23
ugexe you can still do those things, but at runtime
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.
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:29
17:30 Sgeo joined
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:31
Xliff ugexe: Could not find symbol '&guess-path' 17:35
In the meantime I guess I can do another mission in Shadow Warrior 2 17:36
ugexe did you -MZef::Config? 17:37
perl6 -MZef::Client -MZef::Config -e '...' 17:38
17:38 Derperperd joined 17:42 fumlead1 joined 17:44 fumlead left, fumlead1 is now known as fumlead
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
all installed module's `provide`-ed module names
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:
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'
re your first example, same aside from that
ugexe it wants to be consumed by code, not a user 17:49
17:50 setty1 joined
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
El_Che new rakudo 17:52
\o/
building packages now
17:53 Jesmaybe joined
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?
cry.nu/files/PKGBUILD.moarvm cry.nu/files/PKGBUILD.nqp cry.nu/files/PKGBUILD.rakudo 17:57
17:57 Jesmaybe left
samcv you can dl these fumlead and i just run makepkg on them manually 17:57
you have to install nqp or i forget maybe rakudo first
17:57 girafe joined
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
those pkgbuilds i gave are for 2016.10 but if you want more recent then
you need to install them in the right order
17:58 _slade_ joined
samcv rakudo last, and moarvm or nqp first i forget which 17:59
probably nqp
fumlead samcv: okay, thank you, i'd try
El_Che in my packages i do moarvm, nqp, rakudo: github.com/nxadm/rakudo-pkg/blob/m..._rakudo.sh
in that order
samcv ah that' sit then
18:06 setty1 left
fumlead yes, moarvm -> nqp -> rakudo seems to be the write sequence 18:06
18:07 setty1 joined 18:08 Jesmaybe joined
p3rln00b Yup 18:08
18:12 Dunearhp joined 18:13 p3rln00b left 18:14 iBakeCake joined
dalek c: 7bd27cb | Nic++ | doc/Language/traps.pod6:
Add 'once' Block to Traps (#968)

Added a section to traps about using once blocks within other blocks of code.
Resolves issue #959
18:19
18:28 setty1 left
samcv hmm i don't get any errors normally but when i run using perl6-debug I get this i.imgur.com/81wU5TC.png 18:30
not at all the error i was expecting though but that makes more sense why i don't see it print out anything 18:33
but p3rlnoob didn't get an error there so ¯\_(ツ)_/¯ 18:34
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.
samcv is .tell a bot command here? 18:37
18:37 Jesmaybe left
mst yarr 18:37
hence the response from the bot yoleaux
samcv oh sorry didn't know it was a bot :P
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
yoleaux AlexDaniel: I'll pass your message to nicq20.
samcv name doesn't end in bot 18:38
mst you're right, it doesn't
samcv .tell p3rln00b hmm i don't get any errors normally but when i run using perl6-debug I get this 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
yoleaux samcv: I'll pass your message to p3rln00b.
samcv thx yoleaux
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
.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
yoleaux AlexDaniel: I'll pass your message to nicq20.
AlexDaniel ah, it's “squash” and not “squish”, oops :) 18:40
18:51 Derperperd left
japhb .tell nine Ah, thank you! Much cleaner. :-) 18:53
yoleaux japhb: I'll pass your message to nine.
BenGoldberg . o O ( Squash as in pumpkins, volleyball, squash racquets, the filesystem, ??? )
nine :) 18:55
yoleaux 18:53Z <japhb> nine: Ah, thank you! Much cleaner. :-)
japhb .tell ab5tract_ Thank you for the Terminal::Print PR merge. :-) 18:57
yoleaux japhb: I'll pass your message to ab5tract_.
18:58 espadrine left 18:59 TEttinger joined
AlexDaniel samcv: actually, there are so many bots on this channel you can almost smell it 19:02
here is a good list: github.com/perl6/doc/issues/711#is...-235414744 19:03
iBakeCake samcv: hmmm... does that happen without you using any Proc::Async? 19:08
AlexDaniel about 4% of users on this channel are bots. Actually, not that much 19:09
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 ( 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
AlexDaniel: that assumes you know all the bots :)
samcv okay i will try that iBakeCake 19:11
AlexDaniel iBakeCake: of course not. I can barely track you, let alone bots
moritz most bots have the voice flag here 19:12
so that's an easy indication
samcv is 4 most?
AlexDaniel moritz: only 4 out of 13 I counted
19:12 Jesmaybe joined
samcv in some of my other channels bots reply if you type .bots 19:13
well are supposed to :P
moritz mst: remind me how to permanently give a bot the voice flag?
mst moritz: chanserv +V
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 :)
moritz mst: thanks
mst moritz: feel free to ask more questions if that wasn't sufficient
moritz mst: flags #perl6 +V <username> ? 19:15
mst yeah, or 'access #perl6 add <username> +V' I think
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
moritz mst: no luck yet; chanserv complains that the user isn't registered 19:18
19:18 domidumont left
mst moritz: oh, well, you said 'username' 19:18
moritz ah
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
AlexDaniel mst: do I get it right that bots should be registered? 19:19
mst: and that I can't just group them on my nick for example?
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
geekosaur AlexDaniel, if you want to be able to do nickserv or chanserv based things with them, certainly 19:20
doing it just on a nick is spoofable
AlexDaniel yea
19:20 mephinet left, mephinet joined, sjoshi left
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
… and I have one 19:22
mst IIRC that would imply you have more than one registration to that email address 19:24
evalable interesting
19:24 canopus left
mst moritz: ok, so, you can probably do it via hostmask + ident 19:25
moritz: depends, the ones on servers are easy enough, the ones whose rdns is a dynamic range, eh
evalable ah, found something
mst honestly, I'd just set +V for the nicks for the moment
I don't recall us ever needing +m in here
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
moritz mst: so, how do I set up autovoice based on nick? 19:27
mst hmm
19:27 ChanServ sets mode: +v bisectable6
mst I just ran: /msg chanserv access #perl6 add bisectable6!~Bisectabl@2001:41d0:2:5eb5:: +V 19:28
moritz: if you repeat that for the other bots, assuming they have static ips
evalable: yeah, cuz one human and one bot account
evalable6 mst, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/xmTxyAmPe4␤Undeclared routines:␤ acco…»
mst, Full output: gist.github.com/abe047ac5336071cd8...2b829ebf8b
mst ...
evalable mst: what if I have more than one bot? :) 19:29
mst evalable: they'll have to share
evalable mst: should I just GROUP them all?
evalable6 mst, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/mQtemHuZ2j␤Undeclared routines:␤ have…»
mst, Full output: gist.github.com/d70458fb40364cb5b7...1dfffc7b86
19:30 canopus joined
moritz mst: thanks, seems to work 19:31
ls
argl
19:36 domidumont left 19:37 Jesmaybe left 19:38 Jesmaybe joined, committable6 left 19:39 evalable6 left, bisectable6 left
evalable6 I wonder what is the limit 19:40
perigrin the sky traditionally.
19:43 Jesmaybe left 19:44 ChanServ sets mode: +v Undercover 19:46 Jesmaybe joined
El_Che New rakudo 2016.10 debs and rpms: github.com/nxadm/rakudo-pkg/releas...ag/2016.10 19:50
avar rakudo star still at 2016.07 :( 19:52
El_Che I saw stmuk is testing 2016.10
avar \o/
El_Che (on twitter)
avar ah yes: stevemynott.blogspot.nl/2016/10/the...akudo.html 19:53
19:54 zakharyas joined 19:55 andrzejku left 19:59 Derperperd joined 20:00 Jesmaybe left 20:02 cognominal joined 20:03 kent\n joined 20:07 ale1ster joined, labster joined
fumlead How to get a type of variable? 20:16
something like $var.type
arnsholt $var.WHAT 20:19
fumlead thanks 20:22
20:23 bjz joined 20:24 fumlead left 20:34 bisectable6 joined, ChanServ sets mode: +v bisectable6, committable6 joined, ChanServ sets mode: +v committable6, evalable6 joined
AlexDaniel moritz: all whateverable bots are now logged in as “whateverable” 20:35
ah
moritz: so perhaps “access #perl6 add whateverable +V” will work better? 20:36
(e.g. evalable6 has no +v right now)
20:38 TEttinger left, ale1ster left 20:43 bjz_ joined, cdg joined 20:44 bjz left, cdg left, cdg joined 20:49 FROGGS left 20:50 zakharyas left 20:51 bisectable6 left, evalable6 left, committable6 left, bisectable6 joined, ChanServ sets mode: +v bisectable6, evalable6 joined, committable6 joined, ChanServ sets mode: +v committable6 21:22 geekosaur left 21:23 geekosaur joined 21:26 bjz_ left
tbrowder m: my $x = 5 x ' '; say "x = '$x'" 21:29
camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
21:30 fumlead joined
tbrowder okay, I thought the 'x' operator could be used to generate a string of chars! 21:30
21:30 kurahaupo__ joined
fumlead How I can create an executable on Linux? I mean, how I can distribute my program without perl6 interpreter? 21:31
tbrowder m: my $x = 5 x " "; say "x = '$x'" 21:33
camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
kurahaupo__ fumlead: simplest would be to make perl6 a dependency of your package
tbrowder m: my $x = 5 x " a"; say "x = '$x'"
camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
21:34 lucasb_ joined
geekosaur you cannot currently make a self-contained executable 21:34
tbrowder m: my $x = 5 x a'; say "x = '$x'"
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…»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«(exit code 1) ===SORRY!=== Error while compiling /tmp/TbzuDhkgNS␤Two terms in a row␤at /tmp/Tb…»
tbrowder, Full output: gist.github.com/5328cde0954f2e6d99...147bdb4214
tbrowder m: my $x = 5 x 'a'; say "x = '$x'"
camelia rakudo-moar ae1f2f: OUTPUT«x = ''␤»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ''»
lucasb_ tbrowder: try 'a' x 5
tbrowder m: my $x = 'a' x 5; say "x = '$x'" 21:35
camelia rakudo-moar ae1f2f: OUTPUT«x = 'aaaaa'␤»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = 'aaaaa'»
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
docker is nice because you can upgrade perl6 indepently of other applications
tbrowder argh!! thanks, lucasb_
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?
El_Che fumlead: in the near future, probably. For now, I think the moarvm backend is the only way to go 21:37
tbrowder RTFDocs i see the second arg is coerced to an int, so i must coerce myself to do the same... 21:38
geekosaur fumlead, the jvm backend is significantly buggier 21:39
tbrowder m: my $x = ' ' x 5; say "x = '$x'" 21:40
camelia rakudo-moar ae1f2f: OUTPUT«x = ' '␤»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = ' '»
fumlead Okay, why I can't generate MoarVM bytecode? `perl6 --target=mbc test.pl` doesn't seems to work
tbrowder could the poor noob be given an error msg for the wrong order of args? 21:44
m: my $x = 5 x 5; say "x = '$x'" 21:45
camelia rakudo-moar ae1f2f: OUTPUT«x = '55555'␤»
evalable6 tbrowder, rakudo-moar 34e515d: OUTPUT«x = '55555'»
tbrowder can anyone show an example why coercing the second arg to an int would be useful? 21:47
iBakeCake tbrowder: as opposed to what? 21:50
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
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
iBakeCake :/
That's certainly not better.
my $foo = $bar x $ber; # guess the result
lucasb_ $ber times the stringfication of $bar :) 21:53
21:53 giftnuss_ joined
iBakeCake lucasb_: no, you can't tell, if tbrowder's suggestion were in place. 21:54
21:54 fumlead left
tbrowder why? the two options could be multi methods couldn't they 21:54
21:54 name joined
skids m: my $bar = 5; say $bar x $ber 21:55
tbrowder here are the current signature according to the docs:
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␤»
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»
iBakeCake tbrowder: yes, but programmer can't tell what it's doing when reading the code.
So your multies don't add any benefits. They just produce confusing code.
AlexDaniel: your bot is malfunctioning?
japhb ab5tract_: Are you around?
tbrowder www.irccloud.com/pastebin/3vWTfCe0/ 21:56
iBakeCake tbrowder: that's incorrect. 21:57
m: &infix:<x>.candidates».signature.say
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))␤»
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))»
iBakeCake tbrowder: and 5 x 'dsadas' failing silently is incorrect and shall be fixed shortly 21:58
21:58 evalable6 left
MasterDuke iBakeCake: i killed evalable for now 21:58
iBakeCake MasterDuke++
tbrowder iBakeCake: good to hear, and i guess the docs need updating 21:59
iBakeCake tbrowder: I'll update them after the fix. The candidates may change 22:01
tbrowder: where in the docs is it?
tbrowder i'll show you, i'm making a slight correction without changing the sigs...see what you think 22:02
22:02 flexibeast joined, Jesmaybe joined 22:03 bjz joined 22:04 Jesmaybe left 22:05 Jesmaybe joined 22:06 Jesmaybe left
dalek c: 2bc0df8 | (Tom Browder)++ | doc/Language/operators.pod6:
give fair notice of a possible silent error
22:07
tbrowder just above that change is where the signatures are listed 22:09
iBakeCake got it
22:10 Jesmaybe joined 22:12 RabidGravy left 22:13 Derperperd left 22:16 bjz left, TEttinger joined, Jesmaybe left
AlexDaniel iBakeCake: obviously, yes, it does :) 22:17
that's totally my mistake though 22:18
22:20 evalable6 joined
AlexDaniel m: say 42 22:20
camelia rakudo-moar ae1f2f: OUTPUT«42␤»
evalable6 AlexDaniel, rakudo-moar 34e515d: OUTPUT«42»
22:20 evalable6 left
AlexDaniel iBakeCake: lesson learned: don't leave stuff uncommitted 22:20
22:21 cpage_ left, Jesmaybe joined
lucasb_ tbrowder: I think you was to fast in adding that note. It will be fixed 22:22
*too
iBakeCake lucasb_: nah, that note is about zeros and negative numbers :)
dalek c: f6314f6 | (Tom Browder)++ | doc/Language/operators.pod6:
give examples of incorrect args
22:23
tbrowder and i'm making another tweak, too...see it shortly...
ah, there it is...
iBakeCake haha! Now THIS one is incorrect :D 22:24
m: say 'a'.Int
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␤␤»
lucasb_ well, since ('a' x 0) or ('a' x -1) doesn't warn, I would not expect '0' and '-1' to warn too
iBakeCake You'd get that ^ with the 5 x 'a' example
22:24 Jesmaybe left 22:25 Jesmaybe joined
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 :)
tbrowder roger!
iBakeCake Your rakudo is ridiculously outdated :)
22:26 evalable6 joined 22:27 evalable6 left, evalable6 joined
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
camelia rakudo-moar ae1f2f: OUTPUT«42␤»
AlexDaniel \o/
AlexDaniel leaves without committing it again
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
i do NOT have ~/.rakudobrew
22:31 Jesmaybe left, Jesmaybe joined 22:32 cpage_ joined 22:34 cdg left 22:35 Jesmaybe left 22:37 lizmat joined, kurahaupo__ left 22:39 firstdayonthejob left 22:45 name left
Herby__ \o 22:49
22:49 lizmat left
dalek c: 9677f76 | (Zoffix Znet)++ | doc/Language/operators.pod6:
Improve infix:<x>
22:49
Herby__ does perl 6 have a built-in prettyprint of some sort? 22:51
i see tony-o has a Data::Dump module available
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
important
m: dd <just this one>
camelia rakudo-moar 2dd0dd: OUTPUT«("just", "this", "one")␤»
AlexDaniel does anybody know where is MadcapJake nowadays?
iBakeCake Herby__: ^ there's also a slightly bitrotten .DUMP method that is way more verbose.
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␤␤»
tbrowder iBakeCake: perl6 version is "2016.09-213-gae1f2f8 built on MoarVM version 2016.10-5-g3f1ef57", is that better?
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.
Herby__: en.wikipedia.org/wiki/Software_rot
m: $*PERL.version.say 22:54
camelia rakudo-moar 2dd0dd: OUTPUT«v6.c␤»
Herby__ ah k
iBakeCake m: $*PERL.compiler.version.say
AlexDaniel Herby__: nevermind, it should work!
camelia rakudo-moar 2dd0dd: OUTPUT«v2016.10.7.g.2.dd.0.ddb␤»
Herby__ thanks
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...
iBakeCake hmmm 22:56
1 sec
tbrowder should I just blow away what I have and start over?
iBakeCake ah
*nah
22:56 lizmat joined
iBakeCake wtf 22:56
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:57
git pull --tags does it I think 22:58
(unsure whether it's supposed to pull in tags automagically anyway)
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?
tbrowder git pull upstream nom 23:01
23:01 lizmat_ joined 23:02 lizmat left
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
tbrowder: what does `git describe` gives you?
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 lizmat_ is now known as lizmat
tbrowder 2016.10-7-g2dd0ddb 23:04
iBakeCake \o/
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
tbrowder: yeah
Now it'll give you the right version..... along with the 'a' x 'b' fix
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 :)
tbrowder well you're more of a guru tham moi!! 23:08
(better speller, too)
23:08 lizmat left
tbrowder www.irccloud.com/pastebin/QthxyyUr/ 23:12
does that look right?
2016.10-7-g2dd0ddb built on MoarVM version 2016.10-5-g3f1ef57 23:13
iBakeCake yup
tbrowder thanks so much, iBakeCake! 23:14
iBakeCake Any time.
23:14 girafe left
tbrowder but i don't see a fix for: say 5 x ' ' 23:15
iBakeCake That's cause ' ' is numifies to 0
m: dd ' '.Int
camelia rakudo-moar 2dd0dd: OUTPUT«0␤»
iBakeCake m: dd ' heh '.Int
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)␤»
iBakeCake m: 'a' x 'b'
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…»
tbrowder i thought the fix would be to warn of coercion to <= 0? 23:16
are you sure i have the right version? 23:17
m: say 5 x 1 '
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␤ …»
tbrowder m: say 5 x ' '
camelia rakudo-moar 2dd0dd: OUTPUT«␤»
iBakeCake No, the fix was to not silence Failures when coersing to Int. Returning empty string for <= 0 is part of behaviour
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
a clear reversal of desired usage
a clear reversal of correct usage 23:22
or (Int:D, Str:D)
or a fancy restraint sig 23:23
iBakeCake I rather these supposed dummies RTFM than real programmers be inconvinienced with bogus exepcions
like 42 x $str-user-input 23:24
As well as IntStr x IntStr
m: my ($a, $b) = <5 10>; dd $a x $b 23:25
camelia rakudo-moar 2dd0dd: OUTPUT«"5555555555"␤»
iBakeCake ^ your version here would throw
tbrowder i want my messed up version to throw! 23:27
m: my ($a, $b) = [5, ' ']; dd $a x $b
camelia rakudo-moar 2dd0dd: OUTPUT«""␤»
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␤»
tbrowder m: my $a = 5; my $b = ' '; dd $a x $b
camelia rakudo-moar 2dd0dd: OUTPUT«""␤»
tbrowder anyhow, i'll go quietly into the night--thanks for yr help 23:29
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
but if i try to loop through @movies[0], it only returns 1 elements
element
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
Herby__: or some other way to turn the item into a list
iBakeCake m: my @movies = (^3),; dd @movies[0].elems; for |@movies[0] { .say } 23:33
camelia rakudo-moar 2dd0dd: OUTPUT«3␤0␤1␤2␤»
Herby__ hmmm
yeah, thats what I was missing
thanks 23:34
iBakeCake I meant, an .Int of a string with nothing but whitespace in it is 0
tbrowder okay, i understand expensive... 23:35
gfldex m: my @m = [1,2,3],<a b c>; dd @m[0].map({$_})
camelia rakudo-moar 2dd0dd: OUTPUT«(1, 2, 3).Seq␤»
tbrowder and i can learn the RWTDI 23:41
the silent fail on ' ' sure explains the problems i'm having with another program! fix coming shortly :) 23:42
23:42 rindolf left
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:45
that's so general... sorry.. but those are pretty general and simlar things, roles and inheritance. ;) 23:46
23:48 lucasb_ left
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:50
I could see using roles as abstract interfaces though... just found that reading... 23:54