Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2016-08-30

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:04 n1lp7r joined #perl6
00:05 kyclark joined #perl6
00:20 timotimo you know how there's now no longer a list of subs you have to remember "which work on $_ if no argument given and which don't"
00:20 timotimo we usually say "well, now you can .say"
00:20 timotimo but now there's the list of methods of Any that might be interesting to you that you'd have to remember
00:20 timotimo so you can decide whether you can .subname or have to .&subname
00:25 n1lp7r joined #perl6
00:26 pierre_ joined #perl6
00:29 jcallen_ joined #perl6
00:29 Jonis joined #perl6
00:37 SmokeMachine____ hi!
00:37 SmokeMachine____ this should work?
00:37 SmokeMachine____ m: use experimental :macros; sub a(:$b!){}; macro m($b){quasi{ a(:{{{$b}}}) }}; m("bla")
00:37 camelia rakudo-moar f2df2c: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub a at <tmp> line 1␤  in any  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
00:37 SmokeMachine____ m: use experimental :macros; sub a(:$b!){}; macro m($b){quasi{ a(:b({{{$b}}})) }}; m("bla")
00:37 camelia rakudo-moar f2df2c: OUTPUT«Too many positionals passed; expected 0 arguments but got 1␤  in sub a at <tmp> line 1␤  in any  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
00:38 mohae joined #perl6
00:38 SmokeMachine____ should one of those work?
00:39 SmokeMachine____ should any of those work? (sorry)
00:39 r_i_d joined #perl6
00:41 kyclark http://lpaste.net/181419
00:42 kyclark I’m working on a script to find overlapping genes.  I’m not getting expected output.  Perl is reporting overlap when there is none.
00:42 kyclark Sample input data given at the top.
00:43 kyclark Comments/suggestions welcome!
00:46 kyclark Maybe it’s too late and I should try again tomorrow.
00:53 AlexDaniel SmokeMachine____: well, macros do not work at the moment
00:53 AlexDaniel SmokeMachine____: so yes, it should work in the future… hopefully :)
00:58 SmokeMachine____ AlexDaniel: does not work at all?
00:58 AlexDaniel kyclark: and the expected output is?
00:58 AlexDaniel SmokeMachine____: yeah, I think so
00:58 SmokeMachine____ 😞
00:59 AlexDaniel kyclark: ah, I see
00:59 BenGoldberg joined #perl6
00:59 kaare_ joined #perl6
01:03 kyclark Expected is that the last two overlaps should not appear
01:04 r_i_d ls
01:05 r_i_d In writing tests, how do you "use" the file you want to test?
01:06 AlexDaniel kyclark: a, pft
01:06 AlexDaniel kyclark: they actually overlap
01:06 AlexDaniel kyclark: this part: %gene1<pos>[0,*-1].join('..')
01:06 AlexDaniel kyclark: assumes that the list is ordered
01:06 AlexDaniel but it is not
01:07 AlexDaniel kyclark: change it to this and you'll see what is going on: %gene1<pos>.sort[0,*-1].join('..')
01:07 cdg joined #perl6
01:10 r_i_d I have two files, a program.pm6 and a program-test.pm6.  How do I make the test aware of the program file?
01:11 AlexDaniel r_i_d: not sure, but maybe you want to set PERL6LIB env variable to . or use 「use lib '.';」 in one of the files
01:14 AlexDaniel kyclark: the problem itself, however, is slightly different
01:14 AlexDaniel m: .say for ‘7235’..‘9016’
01:14 camelia rakudo-moar f2df2c: OUTPUT«7235␤7236␤7225␤7226␤7215␤7216␤7135␤7136␤71​25␤7126␤7115␤7116␤7035␤7036␤7025␤7026␤7015␤7016␤8​235␤8236␤8225␤8226␤8215␤8216␤8135␤8136␤8125␤8126␤​8115␤8116␤8035␤8036␤8025␤8026␤8015␤8016␤9235…»
01:14 r_i_d i just tried use lib '.'; and it failed with "Undeclared name:".
01:15 AlexDaniel kyclark: so it looks like you have to do this: pos  => [+%data<start> .. +%data<end>],
01:15 AlexDaniel kyclark: … honestly ranges with numeric Strs hardly make any sense… and that's what you have encountered
01:16 AlexDaniel r_i_d: what's the full error? Perhaps something is indeed undeclared? :)
01:18 r_i_d the program declares an object -- the test works fine inside the program, but fails when in it's own .t file.
01:19 r_i_d the failure is that the object is undeclared, so I'm not linking it right.
01:20 AlexDaniel r_i_d: well, the dot means that it should be in the current directory. Maybe that's not the case? If so, provide another path?
01:23 r_i_d It's just the two files in the same directory file.pm6 and test-file.  Do I have to declare it in the test file like I would in C?
01:29 r_i_d I don't have panda (I'm on a raspberry pi) so I cant build a module with a DATA6.json file. I'm just trying to test an object to learn how testing works in perl6.  I can't imagine it being complicated.
01:31 grondilu r_i_d: I have a raspberry pi and I have pand installed.
01:31 grondilu *panda
01:31 grondilu (I'm not using it much lately, though)
01:32 grondilu (ever since I've realized even a VM is much faster than a Pi)
01:33 r_i_d i just want to 1: declare a class in a .pm6 file and 2: declare an object of that class in a .t  file. Nothing fancy
01:33 grondilu it's very simple
01:33 gfldex r_i_d: did you export the class?
01:34 grondilu $ echo -e "unit class Foo;" > Foo.pm6;  echo "use Foo;" > test.t; perl6 -I. test.t
01:35 grondilu (also use Test; of course)
01:36 r_i_d oh.
01:36 grondilu did that help?
01:37 grondilu (the suspense is killing me)
01:40 r_i_d oops
01:41 r_i_d I succeeded in overwriting my document with "unit class Foo;"
01:41 r_i_d but I think I'm on the right track.
01:46 r_i_d my file is gone, but perl doesn't complain about an undeclared object.
01:48 MasterDuke joined #perl6
01:49 bob777 joined #perl6
01:52 grondilu you may have a ~ backup
01:52 kyclark AlexDaniel, thanks!  This fixes it:
01:52 kyclark pos  => [+%data<start> .. +%data<end>],
01:53 kyclark You were right on.
01:53 r_i_d I don't need it, it was just a dummy object.
01:55 AlexDaniel kyclark: https://docs.perl6.org/language​/traps#String_Ranges/Sequences
01:55 AlexDaniel kycl
01:56 kyclark Thanks very much.  It makes sense now.
01:57 AlexDaniel kyclark: basically I'd just wipe stringy ranges from the language… this is such a fail…
01:57 AlexDaniel one of the greatest ideas behind perl 6 is different operators for numeric stuff
01:58 AlexDaniel and yet we managed to step into the same turd with .. op
01:58 kyclark I would agree with that.  It’s something I dig about Haskell.  I know the operator has my back, will throw up on bad types.
01:58 r_i_d :grondilu Thank YOU! This works perfectly.
02:11 tbrowder ugexe: changes to zef look good! thanks!
02:13 tbrowder ugexe: i should say they work great!
02:14 dalek whateverable: dc40d25 | MasterDuke17++ | Whateverable.pm6:
02:14 dalek whateverable: Be less restrictive about mime types
02:14 dalek whateverable:
02:14 dalek whateverable: Allow any mime type that contains 'text/plain' or 'perl' in it.
02:14 dalek whateverable: Also, attempt to decode the response based on the given charset,
02:14 dalek whateverable: so ISO-8859-1 should be supported in addition to UTF-8. Closes #17.
02:14 dalek whateverable: review: https://github.com/perl6/wha​teverable/commit/dc40d250c6
02:32 * grondilu took the liberty to create an issue about the enumeration constants discussed earlier:
02:32 grondilu https://github.com/perl6/roast/issues/147
02:34 wamba joined #perl6
02:35 pierre_ joined #perl6
02:42 noganex joined #perl6
02:46 zacts joined #perl6
02:53 pmichaud ...can we or should we figure out a way to separate rakudobug tickets from language change request tickets?
02:53 yoleaux 22 Aug 2016 13:59Z <[Coke]> pmichaud: if I can have access to edit web pages on rakudo.org
02:53 pierre_ joined #perl6
02:53 pmichaud for example:  RT #129131 is a language RFC, not a rakudo bug.
02:53 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=129131
02:55 pmichaud yoleaux: tell [Coke] You're currently listed as an editor on rakudo.org... shall I increase that to "administrator"?
02:55 pmichaud .tell [Coke] You're currently listed as an editor on rakudo.org... shall I increase that to "administrator"?
02:55 yoleaux pmichaud: I'll pass your message to [Coke].
03:04 BenGoldberg m: my $foo = '7236'; say ++$foo;
03:04 camelia rakudo-moar f2df2c: OUTPUT«7237␤»
03:04 BenGoldberg m: my $foo = '7236'; say ++$foo.WHAT;
03:04 camelia rakudo-moar f2df2c: OUTPUT«Cannot resolve caller prefix:<++>(Str); none of these signatures match:␤    (Mu:D $a is rw)␤    (Mu:U $a is rw)␤    (Int:D $a is rw)␤    (int $a is rw)␤    (Bool $a is rw)␤    (Num:D $a is rw)␤    (Num:U $a is rw)␤    (num $a is rw)␤  in …»
03:04 BenGoldberg m: my $foo = '7236'; (++$foo).WHAT.say;
03:04 camelia rakudo-moar f2df2c: OUTPUT«(Str)␤»
03:05 pmichaud m: .say for 'file08.jpg'..'file15.jpg'
03:05 camelia rakudo-moar f2df2c: OUTPUT«file08.jpg␤file07.jpg␤file06.jpg␤file05.j​pg␤file18.jpg␤file17.jpg␤file16.jpg␤file15.jpg␤»
03:05 BenGoldberg m: ‘a00.b’..‘a16.b’
03:05 camelia rakudo-moar f2df2c: OUTPUT«WARNINGS for <tmp>:␤Useless use of ".." in expression "‘a00.b’..‘a16.b’" in sink context (line 1)␤»
03:06 BenGoldberg m: .say for ‘a00.b’..‘a16.b’
03:06 camelia rakudo-moar f2df2c: OUTPUT«a00.b␤a01.b␤a02.b␤a03.b␤a04.b␤a05.b␤a06​.b␤a10.b␤a11.b␤a12.b␤a13.b␤a14.b␤a15.b␤a16.b␤»
03:06 BenGoldberg m: .say for ‘a00.b’..‘a10.b’
03:06 camelia rakudo-moar f2df2c: OUTPUT«a00.b␤a10.b␤»
03:07 BenGoldberg m: ‘a00.b’.SUCC.say;
03:07 camelia rakudo-moar f2df2c: OUTPUT«Method 'SUCC' not found for invocant of class 'Str'␤  in block <unit> at <tmp> line 1␤␤»
03:07 BenGoldberg m: ‘a00.b’.succ.say;
03:07 camelia rakudo-moar f2df2c: OUTPUT«a01.b␤»
03:07 pmichaud that last one looks like a rakudobug to me.
03:07 pmichaud the 'a00.b'..'a10.b' one.
03:07 BenGoldberg Pretty strange :)
03:08 pmichaud m: .say for 'a00.bb'..'a10.bb'
03:08 camelia rakudo-moar f2df2c: OUTPUT«a00.bb␤a10.bb␤»
03:08 pmichaud m: .say for 'a00.txt'..'a10.txt'
03:08 camelia rakudo-moar f2df2c: OUTPUT«a00.txt␤a10.txt␤»
03:08 pmichaud m: .say for 'a00.txt'..'a11.txt'
03:08 camelia rakudo-moar f2df2c: OUTPUT«a00.txt␤a01.txt␤a10.txt␤a11.txt␤»
03:08 pmichaud m: .say for 'a01.txt'..'a11.txt'
03:08 camelia rakudo-moar f2df2c: OUTPUT«a01.txt␤a11.txt␤»
03:08 pmichaud m: .say for 'a01.txt'..'a12.txt'
03:08 camelia rakudo-moar f2df2c: OUTPUT«a01.txt␤a02.txt␤a11.txt␤a12.txt␤»
03:08 BenGoldberg m: .say for '0b000' .. '0b111'
03:08 camelia rakudo-moar f2df2c: OUTPUT«0b000␤0b001␤0b010␤0b0​11␤0b100␤0b101␤0b110␤0b111␤»
03:09 BenGoldberg m: .EVAL.say for '0b000' .. '0b111'
03:09 camelia rakudo-moar f2df2c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤»
03:10 BenGoldberg m: .EVAL.say for '0o00' .. '0o77'
03:10 camelia rakudo-moar f2df2c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤10␤11␤12␤13␤1​4␤15␤16␤17␤18␤19␤20␤21␤22␤23␤24␤25␤26␤27​␤28␤29␤30␤31␤32␤33␤34␤35␤36␤37␤38␤39␤40␤​41␤42␤43␤44␤45␤46␤47␤48␤49␤50␤51␤52␤5…»
03:10 BenGoldberg m: .EVAL.say for '0x00' .. '0xff'
03:10 camelia rakudo-moar f2df2c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤8␤9␤5===SORRY!5=== Error while compiling /home/camelia/EVAL_10␤Confused␤at /home/camelia/EVAL_10:1␤------> 0x0:7⏏5<EOL>␤    expecting any of:␤        colon pair␤»
03:11 BenGoldberg m: .say for '0x00' .. '0xff'
03:11 camelia rakudo-moar f2df2c: OUTPUT«0x00␤0x01␤0x02␤0x03␤0x04␤0x05␤0x06␤0x07␤0x​08␤0x09␤0x0:␤0x0;␤0x0<␤0x0=␤0x0>␤0x0?␤0x0@␤0x0A␤0​x0B␤0x0C␤0x0D␤0x0E␤0x0F␤0x0G␤0x0H␤0x0I␤0x0J␤0x0K␤​0x0L␤0x0M␤0x0N␤0x0O␤0x0P␤0x0Q␤0x0R␤0x0S␤0x0T…»
03:16 pmichaud that also looks like a bug to me.
03:16 timotimo is it?
03:16 pmichaud m: say '0x00'.succ
03:16 camelia rakudo-moar f2df2c: OUTPUT«0x01␤»
03:16 pmichaud m: say '0x09'.succ
03:16 camelia rakudo-moar f2df2c: OUTPUT«0x10␤»
03:16 timotimo don't we only do the magic succ-ing when the ends are in a magic sequence?
03:16 timotimo like 0 to 9 or a to z or something
03:17 pmichaud possibly.
03:18 pmichaud According to S05 (which I accept may be out of date), ranges for non-numeric types are formed by repeatedly doing .succ on the values
03:19 brrt` joined #perl6
03:19 pmichaud so, if that's the case, it seems to me that after '0x09' I should get '0x10' in the range sequence.
03:19 pmichaud not '0x0:'
03:21 timotimo right. well, i *think* the current behaviour for things that are not recognized to be of the same sequence is to go through unicode codepoints until you wrap
03:21 pmichaud okay, so that's a change from S05.
03:25 BenGoldberg According to https://docs.perl6.org/language​/traps#String_Ranges/Sequences rakudo is actually doing what it's supposed to.
03:26 BenGoldberg Which is to say, it's not supposed to use .succ on the whole string, supposedly since if that was what you'd wanted, you could easily write: $first, *.succ .. $last
03:26 Xliff joined #perl6
03:27 timotimo you mean ..., yes?
03:27 BenGoldberg Yes.
03:41 Actualeyes joined #perl6
03:49 shantanu Is there a way to implement observable streams in Perl 6 like RxJs or RxPy? I love promises but it looks like observables could provide a little more useful functionality for event based programming.
03:49 AlexDaniel pmichaud: we don't have any other place to submit language change tickets, so it seems like [RFC] tickets are exactly for that purpose now
03:50 timotimo shantanu: Supply is exactly what observable streams are
03:50 timotimo and they are already implemented for you
03:51 shantanu ohh thanks for that!! :)
03:51 timotimo they are really cool, and we have a bunch of combinators, too. like you'd expect from the other implementations of Rx*
03:51 timotimo a big part of the concurrency primitives are modelled with a big influence from C#
03:52 shantanu C#? I am not fluent in that.
03:52 timotimo me neither
03:52 timotimo but our master of technical design is fluent in it, among many other things
03:52 shantanu It does look really cool!
03:53 timotimo the "supply"/"react" and "whenever" syntax is *really* nice
03:56 Xliff Why am I getting this error? "You cannot create an instance of this type (Color)"
03:57 timotimo check what it's HOW is
03:57 timotimo it's potentially a PackageHOW
03:58 Xliff Yeah. PackageHOW.
03:58 shantanu HOW?
03:58 timotimo yeah, HOW
03:58 timotimo a bit different from WHAT
03:58 shantanu ohh ok
03:58 timotimo m: say Int.WHAT;
03:58 camelia rakudo-moar f2df2c: OUTPUT«(Int)␤»
03:58 timotimo m: say Int.HOW
03:58 camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
03:59 timotimo m: subset Foo of Int where 10 < * < 99; say Foo.HOW
03:59 camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::SubsetHOW.new␤»
03:59 timotimo package test { }; say test.HOW
03:59 timotimo m: package test { }; say test.HOW
03:59 camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::PackageHOW.new␤»
04:00 shantanu m: use Supply; say Supply.HOW;
04:00 camelia rakudo-moar f2df2c: OUTPUT«===SORRY!===␤Supply is a builtin type, not an external module␤»
04:00 shantanu m: say Supply.HOW;
04:00 camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
04:00 shantanu m: say Supply.WHAT;
04:00 camelia rakudo-moar f2df2c: OUTPUT«(Supply)␤»
04:01 Xliff So how do I change a PackageHOW to a ClassHOW?
04:01 timotimo switching something's HOW from one thing to another is not possible
04:01 timotimo when you have a PackageHOW, you have a package of things
04:01 shantanu my $a = Supplier.new; say $a.HOW;
04:01 shantanu m: my $a = Supplier.new; say $a.HOW;
04:01 camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»
04:01 timotimo i expect the ClassHOW-ed thing you want is inside that package somewhere
04:02 shantanu m: my $a = Supplier.new; say $a.WHAT;
04:02 camelia rakudo-moar f2df2c: OUTPUT«(Supplier)␤»
04:02 Xliff perl6 -e 'require ::("Color"); say ::("Color").HOW.^name' --> Perl6::Metamodel::ClassHOW
04:03 timotimo and you can't .new that?
04:03 Xliff However when I do that in a script, it becomes "Perl6::Metamodel::PackageHOW"
04:03 Xliff I can new the former, but not the latter.
04:03 timotimo well, something else is off, then
04:03 Xliff And I don't know why there's a difference.
04:04 timotimo is it the difference between grey and gray again :P
04:04 timotimo do you perhaps have -I in one and not the other?
04:09 Xliff Yes
04:09 Xliff No change using -I
04:10 Xliff And no, I think this is more subtle than "gr(e||a)y"
04:10 Xliff Or at the very least more annoying.
04:10 timotimo i can imagine
04:10 timotimo sorry about it :(
04:10 Xliff :/
04:12 Xliff I'm wondering if it's something to do with the "unit module" or "unit package" behavior.
04:13 skids joined #perl6
04:14 Xliff Because things I am doing in "perl6 -I..." shouldn't be so significantly different when those same things are done in a file based compunit.
04:14 Xliff (I almost said "script", but this isn't a script)
04:14 Xliff And that should really read "perl6 -e..."
04:21 kyclark joined #perl6
04:21 grondilu trying to make Perl 6 shine on HN:  https://news.ycombinator.com/item?id=12387492
04:24 Xliff timotimo: Golfed.
04:24 Xliff I will RT
04:24 Xliff Actually, before I do, I will gist and let ppl check it out.
04:30 Actualeyes1 joined #perl6
04:31 Xliff https://gist.github.com/Xliff/6​fa8e4e6283e8f83fb460a0c708948aa
04:33 Xliff And yes... at this point I wll except ¯\_(ツ)_/¯, but I just wanted to get that piece of weirdness out there.
04:35 Xliff Wow! All it took was a ::!
04:35 Xliff perl6 -Ilib -e 'unit package Color::Test; INIT { require ::("Color"); }; sub test { ::("Color").HOW.^name.say }; test'
04:35 Xliff Perl6::Metamodel::PackageHOW
04:45 pierre_ joined #perl6
04:50 notostraca joined #perl6
04:57 labster joined #perl6
05:11 MilkmanDan joined #perl6
05:54 CIAvash joined #perl6
05:54 pierre_ joined #perl6
05:55 brrt joined #perl6
06:06 pierre_ joined #perl6
06:11 Xliff joined #perl6
06:25 darutoko joined #perl6
06:25 firstdayonthejob joined #perl6
06:26 domm what's the correct syntax to import Perl5 functions using Inline::Perl5?
06:26 domm I need 'use Data::Random qw(:all)' in a p6 script
06:31 domm hm, $p5.call('Data::Random::rand_words');
06:31 margeas joined #perl6
06:31 domm works, but is not too nice
06:31 domm ok, back onto the bike...
06:32 moritz ... to bikeshed :-)
06:32 domm :-)
06:35 Xliff domm: 'use Inline::Perl5; my $varable; my $p5 = Inline::Perl5.new; p5.run('use Data::Random qw(:all); $variable = rand_words...');
06:35 Xliff With correct quoting this time...
06:35 Xliff domm: "use Inline::Perl5; my $varable; my $p5 = Inline::Perl5.new; p5.run('use Data::Random qw(:all); $variable = rand_words...');"
06:36 nine domm: use Data::Random:from<Perl5> <all>;
06:36 Xliff Or that. nine++ (and more succinct)
06:36 Xliff nine: If you have time, can you look at this gist and tell me if it's a bug?
06:36 Xliff https://gist.github.com/Xliff/6​fa8e4e6283e8f83fb460a0c708948aa
06:36 nine Maybe it _is_ a good idea to give my talk again :)
06:38 nine domm: use Data::Random:from<Perl5> <:all>; # correct version with the colon before all
06:49 nine Xliff: easier way to reproduce: unit package Color::Test; use Color; ::("Color").HOW.^name.say
06:49 Xliff Huh
06:50 Xliff Any ideas as to solution?
06:50 Xliff I'm trying to write a module where the use of the Color class is optional.
06:53 nine Actually, this could just be a plain merge_globals bug
06:56 geekosaur isn't this the thing where it creates packages for intermediate levels (so Color::Test implicitly creates package Color containing package Test)?
06:57 geekosaur (in terms of namespacing, at least)
06:57 nine yes
06:57 Xliff O_o
06:58 Xliff I think I actually grokked that!
06:58 Xliff \o/
06:58 nine But it should replace the package with the class. Otherwise Color.new doesn't even work
06:58 Xliff Exactly my problem.
06:58 geekosaur right; possibly these should be different namespaces somehow. I think there may be some RTs about related issues already
07:00 geekosaur (noodling) so maybe you get a Color that has a PackageHOW only if the name is not already in use, otherwise it is accessible via a PACKAGE:: namespace. in a case like this where it'
07:00 geekosaur s created first, the compiler should see that and arrange to not make the package one directly accessible
07:01 geekosaur ...or maybe packages just shouldn't be in the default namespace as such but the PACKAGE:: namespace is checked by things that care, and if you want to access it directly you must specify
07:04 Xliff Would that be $?PACKAGE... or something else?
07:05 nine The odd thing is that merge_globals should already DTRT. When it detects that the target is a stub (PackageHOW) and the source is a e.g. a class, it takes all symbols from the package, adds them to the class and replaces the package with the class.
07:05 geekosaur I'm thinking of "pseudo-packages" https://docs.perl6.org/langu​age/packages#Pseudo-packages
07:06 nine https://github.com/rakudo/rakudo/blob​/nom/src/Perl6/ModuleLoader.nqp#L132
07:06 geekosaur see, I always considered that a hack... mostly because there kept being weird bugs
07:06 geekosaur like, oh, this one
07:06 nine But the weird bug in this case is just that it doesn't seem to do this at all.
07:07 nine If the plan was followed through, it would work just fine.
07:11 nadim_ joined #perl6
07:11 pierre_ joined #perl6
07:22 zakharyas joined #perl6
07:40 jonas2 joined #perl6
07:47 domidumont joined #perl6
07:52 smls joined #perl6
07:52 domidumont joined #perl6
07:55 g4 joined #perl6
08:00 Xliff Here's an odd one: "no EXPORT sub, but you provided positional argument in the 'use' statement" but there is an export sub in the module being imported. O_o
08:01 leont joined #perl6
08:02 Xliff https://github.com/Xliff/p6-color-nam​es/blob/master/lib/Color/Names.pm#L38 <- Proof
08:02 Xliff Generates error: perl6 -Ilib -e 'use Color::Names <:b>; dd color("gray42")'
08:02 smls Xliff: That's the same problem I had yesterday. Moving the `sub EXPORT` above the `unit package Color::Names;` should make it work.
08:03 smls no idea *why* that's required though
08:04 Xliff smls: That's going to be hell on scoped sub names, though.
08:04 smls ¯\_(ツ)_/¯
08:05 Xliff I mean, if I am going to export routines outside of the EXPORT scope, how would I do it?
08:05 Xliff ::() doesn't seem to work.
08:06 dakkar joined #perl6
08:06 Xliff Returning this from sub EXPORT:
08:06 Xliff # cw: Really want a SELECTIVE way to load these, instead of doing
08:06 Xliff #     them all at compile time.
08:06 Xliff Gar...
08:07 Xliff Returning this:
08:07 Xliff {
08:07 Xliff '&color'        => ::("&Color::Names::color"),
08:07 Xliff '&hex'          => ::("&Color::Names::hex"),
08:07 Xliff '&rgb'          => ::("&Color::Names::rgb")
08:07 Xliff }
08:07 Xliff And trying the script above, I get: "Too many positionals passed; expected 0 arguments but got 1"
08:07 Xliff So do I need to export signatures, too?
08:08 moritz you don't need to export signatures
08:09 * Xliff wishes you could grep repositories on GitHub
08:09 moritz Xliff: are those our-subs?
08:09 Xliff Um. No.
08:09 moritz then the namespaced lookup won't work
08:10 Xliff Seems like they work because I'm not getting a "not found" error. I am getting a "I can't find a signature match" error.
08:10 Xliff However I will try.
08:10 moritz and any reason you're not just using export tags?
08:10 Xliff Same ish.
08:11 Xliff Can you use EXPORT tags with a custom sub EXPORT?
08:11 Xliff I thought that rendered the tags useless.
08:11 Xliff Again... will try.
08:11 Xliff Oh. LOL. Already had 'em in.
08:11 Xliff So export tags AREN'T working.
08:12 Xliff Again, on  suggestion from smls++, sub EXPORT is moved ouside of unit package scope.
08:12 MilkmanDan joined #perl6
08:13 smls Xliff: It's just what cygx++ suggested to me... :)
08:13 Xliff Again I need a custom sub EXPORT.
08:13 Xliff So based on current rakudo behavior, export tags are superfluous.
08:13 Xliff At least with current implementation, which I am stubborly still attached to.
08:14 Xliff Give me a few more days with this roadblock.
08:14 Xliff 凸ಠ益ಠ)凸
08:15 vytas joined #perl6
08:15 Xliff Emoticon was for roadblock... not for #channel.
08:25 * TimToady sitting in Munich waiting for MUC --> DEV --> SJC
08:25 cgfbee joined #perl6
08:32 * moritz waves from just 200km away
08:34 * nine waves from 183km away
08:39 * lizmat waves from 576 km away  :-)
08:43 * leont waves from a good 100km further than lizmat :-p
08:50 pierre_ joined #perl6
08:57 pierre_ joined #perl6
09:08 * TimToady boarding &
09:09 diego_k joined #perl6
09:11 Xliff Now getting this in parse stage: "Cannot find method 'merge-symbols': no method cache and no .^find_method"
09:11 El_Che I had a look yesterday at the packaging options (as a consequence about what rakudo a user must install). Pretty hellish
09:12 Xliff Error goes away when I remove sub EXPORT;
09:12 Xliff Just for the halibut, I will rakudobrew.
09:15 RabidGravy joined #perl6
09:17 Ulti anyone reported the broken rakduobrew builds?
09:20 nine El_Che: what do you mean?
09:22 El_Che nine: I was looking for a fast way to create debs/rpms/what-have-you for rakudo.
09:23 El_Che nine: so users can install an up to date pkg instead of rakudobrew
09:27 moritz El_Che: if you provide some debian/ dirs for building the .deb packages, I'm willing to build a pipeline/process that automtaically runs the builds and uploads them into a repo
09:29 El_Che moritz: I was looking at that specifically. What do we want exactly. Something less integrated in the OS, but quickly built: https://github.com/jordansissel/fpm
09:29 Xliff Ulti: Just rebuild rakudo with no problems.
09:29 El_Che "Proper" packages will be supplied by the OS. I was thinking in putting everything in /opt/rakudo or something like that
09:30 nine El_Che: creating rpm packages is actually quite simple: https://build.opensuse.org/package/view​_file/home:niner9:branches:devel:langua​ges:parrot/moarvm/moarvm.spec?expand=1
09:30 ambs does this ring any bell? --- https://paste.perldancer.org/2pO6zrOjkNpPz
09:31 El_Che moritz: maybe an anti-pattern, but docker killed my packaging efforts for $work (I used to produce rpms for our apps)
09:31 nine https://build.opensuse.org/package/vi​ew_file/home:niner9:branches:devel:la​nguages:parrot/nqp/nqp.spec?expand=1
09:31 nine https://build.opensuse.org/package/view​_file/home:niner9:branches:devel:langua​ges:parrot/rakudo/rakudo.spec?expand=0
09:31 nine El_Che: with a bit of luck those even build on other distributions or may be easily adaptable.
09:31 El_Che nine: you're extraordinary. I got an headache looking at the opensuse build system docs (and the zillion dead links)
09:32 nine ambs: I suspect that you are running a very old perl6 version?
09:32 moritz El_Che: I'm fine with fpm
09:32 melezhik Hi all!
09:32 ambs nine: ok, it might be
09:32 nine El_Che: yes, took me quite a while to figure it out. But once you got through that the build service is just awesome
09:32 melezhik Anybody suggest a simple logger for perl6?
09:33 moritz note(), say(), https://github.com/moznion/p6-Log-Minimal
09:33 * nine loves note
09:35 melezhik mortiz: thanks, Log::Minimal  does not allow to write into file?
09:35 El_Che moritz, nine: there is also this: https://github.com/alanfranz/fpm-within-docker . But I don't think running someone elses containers --never mind how easy they make the process-- to produce packages is a good idea
09:37 smls Did Rakudo's start-up time improve recently?
09:38 smls `perl6 -e ''` takes 0.14s now on my PC, I thought it had been 0.18s before but I could be mistaken.
09:39 ambs nine: exactly that. thanks
09:39 smls Or could switching from rakudobrew to building from git perl nine's instructions, have affected that?
09:39 smls *per
09:40 nine smls: I can't imagine rakudobrew having an influence on that. I claim it's innocent for once :)
09:42 moritz iirc rakudobrew adds a layer of shell scripts around executables, but that shouldn't make 0.04s difference
09:42 Xliff LOL, nine++ # /me hugs his rakudobrew
09:42 bjz joined #perl6
09:43 Xliff Is there a mechanism for supplying dummy export tags?
09:43 pmurias joined #perl6
09:44 Xliff I can get "sub EXPORT(*%a)" to work, but not "sub EXPORT (*@a)" without a parse error. However "sub EXPORT (*%a)" will bail at parse without a supplied export tag matching argument to the use statement.
09:46 mls joined #perl6
09:46 pmurias are there any bad consequences of me publishing a rough 0.0.1 nqp-js version on npm? (it's not really meant for direct use just for easier building of rakudo.js)
09:47 * Xliff tries to imagine shoe-horning rakudo.js into a browser.
09:47 Xliff pmurias: Any ideas as to the size of rakudo.js?
09:52 pmurias Xliff: I don't have a currently build one as I was mostly working on nqp-js recent, and I haven't tried minifing it
09:53 pmurias Xliff: rakudo.js will need to be included on REPLs
09:54 Xliff Aaieee... minifyinh.
09:54 Xliff ...minifying, even.
09:55 Xliff Ok, I can just feel RTs future pain from the minifying bugs.
09:55 Xliff (depending on what you use to minify)
09:55 Xliff It's been a while since I've had to worry about minifying Javascript.
09:56 Xliff Fortunately, I have never had to write JS where it was necessary to Hide What Was Done for $work.
09:56 pmurias nqp-js is currently 9.5M unminified with currently no effort spend in reducing the size of the emitted code
09:57 pmurias nqp-js-running-on-top-of-js
09:58 go|dfish joined #perl6
09:58 pmurias Xliff: re minification bugs, I think the current minifiers have different settings where you can set how much potential breakage you want
10:00 Xliff Ah! That's nice.
10:01 Xliff I've never bought the minifying-for-size argument, but then again, I've not written a suite of JS over 250k...ever.
10:02 Xliff OOB - HAH! Oh Charlie Stross. You usually get the future right, but the references about MIPS is just.... cute.
10:10 konobi oh wow... just looked at arrayref declarations of attributes or modifiers in Moose for the first time in a long time
10:11 konobi i remember adding it for practicality reasons (and somewhat for compositionality) but now that I look back on it, I can't decide if it's the best representation
10:12 Actualeyes joined #perl6
10:13 pierre_ joined #perl6
10:16 timotimo anyone want to write a .ASSIGN for CArray? :)
10:16 tadzik oh, Moose. I actually haven't heard that name in a long time :o
10:16 tadzik it's Moo, Moo, Moo for everything I do
10:18 cgfbee joined #perl6
10:18 Xliff timotimo: What would be involved for that?
10:19 timotimo Xliff: take a list and fill the CArray with it; look at the native array roles' implementation of ASSIGN for inspiration
10:19 bjz joined #perl6
10:20 Xliff Is that MoarVM or Rakudo?
10:20 pmurias konobi: if I want to release a rough version of nqp-js on npm (which will be mostly intendend for building rakudo.js) how should I mark that people should beware before using it
10:20 timotimo that's rakudo
10:24 Xliff timotimo: ./nqp/MoarVM/src/6model/reprs/MVMArray.c
10:24 Xliff ?
10:26 timotimo no, in rakudo
10:26 timotimo under src/core/
10:26 timotimo well, the CArray thing is in lib/NativeCall somewhere
10:28 aindilis joined #perl6
10:29 Xliff moar-nom/lib/NativeCall/Types.pm6
10:29 Xliff However I see references to ASSIGN-POS, but no .ASSIGN anywhere in rakudo source.
10:29 timotimo oh
10:29 Xliff Lemme modify grep.
10:29 timotimo i think i meant to say STORE
10:30 Xliff Heh.
10:32 timotimo that's the method that should make "my @foo := CArray[int].new; @foo = Bool.roll(100_000)" work
10:33 timotimo rather than having to "for Bool.roll(100_000) { @foo.push($_) }"
10:34 Xliff timotimo: I'll try looking into this. I will let you know if I have to throw my hands up in defeat.
10:34 timotimo thanks for taking the time!
10:34 * timotimo is AFK for a bit
10:34 Xliff np
10:34 timotimo i hope others can assist :)
10:42 Xliff Yeah. There's a whole lot of nqp here to unravel. I can understand most of Array's STORE, but mapping that into the proper assignment methods may tricky for me.
10:43 Xliff Will look more into it, tomorrow (ie Tuesday, EDT, pm)
10:43 Xliff I am up way past my bedtime... again.
10:43 Xliff (will someone please mute that massive fusion generator in the sky, please?)
10:44 Xliff <-- vampire
10:45 dLeCamarae joined #perl6
10:46 Xliff And it looks like CArray is missing some attributes in Array and List.
10:46 * Xliff goes *poof*
10:59 mst timotimo++ # Oh. My. Gods.
11:01 timotimo mst: what did i do wrong? :(
11:01 mst < timotimo> mst: Opan GangnaMSTyle!
11:01 timotimo oh, hehe.
11:01 mst that was *AWFUL*
11:01 mst hence the ++
11:01 Xliff_zzzzz HAHAHAHA!
11:01 timotimo i was pretty proud of that one
11:01 nine Well spotted :)
11:08 timotimo shit. with this tweet i've doomed myself to write a Shakespeare-based regex slang :(
11:08 timotimo https://twitter.com/loltimo​/status/770578530879012865
11:10 smls m: say (reverse 1 .. 100_000_000_000_000_000_000_000_000)[^2]
11:10 camelia rakudo-moar f2df2c: OUTPUT«(100000000000000000000000000 99999999999999999999999999)␤»
11:10 smls Nice, Range.reverse returns a Seq that iterates the range backwards efficiently
11:11 timotimo everything else would be terrible :)
11:11 smls This is why I love the GLR, jnthn++
11:11 timotimo but how do we actually implement that ... :P
11:12 nine reverse(@a) calls @a.reverse which in the case of a Range returns a reverse-iterator
11:13 timotimo oooh
11:13 dLeCamarae Guys, I have this Perl Web app. When I run it at home, a call to Web::App::Dispatch.new(SCGI.new) works; at work it fails with an argument error. Weirdest thing ever.
11:13 nine So it's actually more an artifact of using OO
11:13 moritz dLeCamarae: unless it's written in Perl 6, I recommend asking in #perl
11:14 nine moritz: the .new suggests it's indeed Perl 6
11:14 dLeCamarae It is in Perl 6, of course. What do you take me for, a slug? :-D
11:14 dLeCamarae Only Perl 6 and Haskell for the foreseeable future. Life is too short.
11:14 moritz dLeCamarae: no offense meant, we just get a high number of 5ers asking here by mistake
11:15 timotimo can you give us your perl6 --version for both at home and at work?
11:15 moritz dLeCamarae: so, have you compared rakudo versions on boht machines?
11:15 dLeCamarae (And, if God wills it, another, this-time-complete Pugs; Perl 6 in Haq! Yay!)
11:15 dLeCamarae At work:
11:16 dLeCamarae This is Rakudo version 2016.06-83-gb93043a built on MoarVM version 2016.06-9-g8fc21d5 implementing Perl 6.c.
11:18 dLeCamarae This is the one that fails. It seems that, with it, Web::App::Dispatch.new sends a second argument to Web::App (which it inherits from), failing in the process, while on the home setup it does not. Let me try to log into home and get the version.
11:18 dLeCamarae Hmm ... my Tor access to home is failing. :-(
11:18 dLeCamarae https://github.com/supernovus/perl6-​web/blob/master/lib/Web/App.pm6#L11
11:19 dLeCamarae That is the line that complains, but only in this setup. In every other it works. It says here:
11:19 dLeCamarae Too many positionals passed; expected 1 argument but got 2
11:20 dLeCamarae in method new at /home/revence/.rakudobrew/moar-nom/i​nstall/share/perl6/site/sources/336A​8A6602DE7CDDA67F44458EC605AD94184E17 (Web::App) line 11
11:20 dLeCamarae in method set-up at ./egrapha.pl6 line 799
11:20 dLeCamarae And that line 799 in egrapha.pl6 is:
11:20 dLeCamarae my $wapp  = Web::App::Dispatch.new(SCGI.new(:$port));
11:21 nine dLeCamarae: you linked to Web::App.new but showed code for Web::App::Dispatch.new
11:21 dLeCamarae So, this follows the spec pretty closely, and it works every time at home. A pity I cannot get the version on that side; I doubt, though, that it would be the one that has to chang.
11:22 nine ah is Web::App; sorry for the noise
11:22 dLeCamarae nine Okay, hold on, let me get the other one.
11:22 dLeCamarae Yes, they are the same. It inherits pretty directly, especially the new. Alas, it is weird here.
11:22 nine self.bless(*, :$engine) looks suspicious?
11:22 nine I think the * there should have been gone for a long time.
11:22 dLeCamarae I think it does.
11:23 dLeCamarae Okay ... pull requests revving up. But why does it work on my other Rakudo Star?
11:23 nine Because most probably the one at home is older
11:23 dLeCamarae Hmm.
11:23 nine Don't remember exactly when but lizmat fixed that a couple months ago
11:24 dLeCamarae I have been leaving behing Rakudo installations for some 10 years now, so I would not be surprised. But I always say use v6.c in all my code now; should it not catch such an inconsistency?
11:27 timotimo we've deprecated putting a * as the first argument to bless a long time ago, and completely removed it at some point, too
11:28 timotimo are you able to get the version you're using at home?
11:28 nine More or less. The spec test suite doesn't even cover all the features implemented in rakudo. There's no hope at all for it covering 100 % of the non-features, e.g. being able to pass invalid parameters. The * was such an oversight.
11:32 cyphase joined #perl6
11:34 pmurias npm install -g nqp-js-on-js; nqp-js-on-js -e 'say("Hello World")' works
11:36 akosgheri joined #perl6
11:44 tbrowder help: trying to execute a prog and get error about no such file in /path2rakudosharedist*hash*/ no such file; i get no error when i comment out a module i use, but the module has been uninstalled. any way to fix a corrupted compunit repository?
11:44 nine tbrowder: can you paste more details like the actual paths somewhere?
11:45 nine tree output of the repository in question could also be helpful
11:46 tbrowder i can do that; give me a few minutes...
11:47 masak today's fun puzzle: how can you demonstrate whether a prefix op that you declared is tighter than another prefix op that you declared?
11:47 masak (hi #perl6)
11:47 * mst blinks
11:48 mst I'm not sure how precedence even works for prefix ops
11:48 mst I mean, like, in general
11:48 timotimo yeah, since prefixes hug the thing they prefix so tightly anyway
11:48 masak mst: that's the reaction I was expecting
11:48 timotimo i could imagine asking whether a prefix is tighter than a postfix
11:48 masak it does make sense. let me explain.
11:49 masak yes, what timotimo said.
11:49 masak consider pre- and postfixes to share a precedence space
11:49 mst ooooh, right
11:49 masak then they can compete for eval-first
11:49 timotimo aye
11:49 masak ...and that's also the answer to the riddle
11:49 moritz well, my approach would be create a postfix operator with the same precedence as one of the prefix operators
11:49 masak moritz: correct.
11:49 masak or a nearby precedence, is enough
11:49 moritz and then one prefix against the artificial postfix
11:49 timotimo ++@foo[1]
11:50 masak for actual code that demonstrates this (currently a bug in 007), see https://github.com/masak/007/issues/189
11:50 mst right, sorry, you said 'one prefix op precedence higher than another prefix op'
11:50 mst that's the one I can't understand
11:50 masak mst: yes, I said that.
11:50 mst if we're allowing postfixes as well, the question makes more sense
11:50 masak mst: you test them *through* a postfix.
11:50 masak mst: that's the only way you can get an observable.
11:50 mst aha
11:50 timotimo right, the postfix is just the piece of litmus paper
11:51 masak right
11:51 mst yes, ok, I now follow
11:51 mst neat :D
11:51 jnthn m: say infix:<cmp> (&prefix:<|>, &prefix:<++>)>>.prec>>.<prec>
11:51 camelia rakudo-moar f2df2c: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at <tmp> line 1␤␤»
11:51 jnthn m: say infix:<cmp> |((&prefix:<|>, &prefix:<++>)>>.prec>>.<prec>)
11:51 camelia rakudo-moar f2df2c: OUTPUT«Less␤»
11:51 masak not all of us have your fancy introspection, sir :P
11:51 moritz introspection is cheating!
11:51 moritz :-)
11:52 masak introspection is technique!
11:52 moritz (and cheating is technique... )
11:52 moritz masak: hah, we're in resonance again!
11:52 masak was gonna say
11:52 masak it's the famous .se-.de entanglement
12:03 ilbot3 joined #perl6
12:03 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
12:03 tbrowder nine: success!! thanks!! how did you know what to remove?
12:03 Xliff_zzzzz First, requires int keys. Last requires int Values.
12:04 pierre_ joined #perl6
12:04 nine tbrowder: the directories in short/ are just the SHA-1 hashes of the short-name of modules. The files contained in such directories are named after the dist that contains such a module. You seem to have removed the dist but not the short-name lookup directory.
12:04 canopus joined #perl6
12:04 nine tbrowder: helps a lot being the one who implemented all of that :)
12:04 Roamer` Xliff_zzzzz, ahh, I get it now... almost
12:05 user9 joined #perl6
12:05 Roamer` Xliff_zzzzz, is there then a syntax that would allow me to specify a *type* (like e.g. a function return type) of a hash containing arrays of strings?
12:05 Roamer` I thought Hash[Array[Str:D]] was it, but apparently not
12:05 Xliff_zzzzz Aiee!
12:05 Xliff_zzzzz Roamer`, That specifies key types.
12:06 Xliff_zzzzz So all keys must be Array[Str:D]
12:06 tbrowder nine: thanks a heap--i'm putting that in my notes. is that documented some where?  sounds like a good candidate for the docs...
12:06 Roamer` Xliff_zzzzz, yep, I almost got that part, although I still don't get what moritz and nine are wondering - how does $wtf<a> work then :)
12:06 nine ugexe: see tbrowder ^^^. zef uninstall . left a short-name lookup file. I assume zef just uses CURI.uninstall and I guess the local version of the dist does no longer contain the module the short-name lookup belonged to.
12:07 moritz Roamer`: it's most likely a bug somewhere
12:07 nine tbrowder: sounds like a better candidate for a fix. There's even a comment about this in the uninstall method.
12:07 Roamer` moritz, yeah, I thought so, I'll report it.  still, any ideas about a function returning a hash of arrays of strings? :)
12:08 Roamer` (and, yes, of course I can encapsulate everything into objects or even subsets of classes, but still...)
12:08 Xliff_zzzzz m: use v6.c; my Hash[Int:D] $wtf; $wtf<a> = 7.62; dd $wtf; dd $wtf<2>; my Int:D %fine; %fine<2> = 7.62;
12:08 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in assignment to $wtf; expected Hash[Int:D] but got Hash (${})␤  in block <unit> at <tmp> line 1␤␤»
12:08 moritz Roamer`: have you tried it with a %-variable?
12:08 Xliff_zzzzz m: use v6.c; my Hash[Int:D] $wtf; $wtf<2> = 7.62; dd $wtf; dd $wtf<2>; my Int:D %fine; %fine<2> = 7.62;
12:08 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in assignment to $wtf; expected Hash[Int:D] but got Hash (${})␤  in block <unit> at <tmp> line 1␤␤»
12:09 Roamer` Xliff_zzzzz, you need to initialize the variable when you declare it (another thing that kind of threw me, maybe another bug?)
12:09 Xliff_zzzzz m: use v6.c; my Hash[Int:D] %wtf; %wtf<2> = 7.62; dd $wtf; dd $wtf<2>; my Int:D %fine; %fine<2> = 7.62;
12:09 camelia rakudo-moar f2df2c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$wtf' is not declared. Did you mean '%wtf'?␤at <tmp>:1␤------> 3my Hash[Int:D] %wtf; %wtf<2> = 7.62; dd 7⏏5$wtf; dd $wtf<2>; my Int:D %fine; %fine<␤»
12:09 Xliff_zzzzz m: use v6.c; my Hash[Int:D] %wtf; %wtf<2> = 7.62; dd %wtf;
12:09 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in assignment to %wtf; expected Hash[Int:D] but got Rat (7.62)␤  in block <unit> at <tmp> line 1␤␤»
12:09 Roamer` Xliff_zzzzz: try my Hash[Int:D] $wtf .= new();
12:09 Xliff_zzzzz m: use v6.c; my Hash[Int:D] %wtf; %wtf<a> = 7.62; dd %wtf;
12:09 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in assignment to %wtf; expected Hash[Int:D] but got Rat (7.62)␤  in block <unit> at <tmp> line 1␤␤»
12:09 Xliff_zzzzz Roamer: I am trying without the .new for a reason.
12:09 Roamer` ah, right
12:10 Xliff_zzzzz Looks like there is type checking weirdness when attempting to attach a type check to keys.
12:10 Xliff_zzzzz But that's just my Wild Aassed Guess based on 2 minutes with camelia.
12:11 Xliff_zzzzz m: use v6.c; my Hash[Int:D, Int:D] $wtf; $wtf = Hash[Int:D, Int:D].new; $wtf<a> = 2;
12:11 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in binding to key; expected Int:D but got Str ("a")␤  in block <unit> at <tmp> line 1␤␤»
12:11 Xliff_zzzzz m: use v6.c; my Hash[Int:D, Int:D] $wtf; $wtf = Hash[Int:D, Int:D].new; $wtf<2> = 2;
12:11 camelia rakudo-moar f2df2c: ( no output )
12:11 smls_ m: my Array[Str] %hash;  %hash<foo> = Array[Str].new("a");  %hash<foo> = ["b"];
12:11 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in assignment to %hash; expected Array[Str] but got Array ($["b"])␤  in block <unit> at <tmp> line 1␤␤»
12:11 Xliff_zzzzz And there you go.
12:12 Xliff_zzzzz m: use v6.c; my Hash[Any, Int:D] $wtf; $wtf = Hash[Any, Int:D].new; $wtf<a> = 2;
12:12 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in binding to key; expected Int:D but got Str ("a")␤  in block <unit> at <tmp> line 1␤␤»
12:12 Xliff_zzzzz m: use v6.c; my Hash[Int:D, Any] $wtf; $wtf = Hash[Int:D, Any].new; $wtf<a> = 2;
12:12 camelia rakudo-moar f2df2c: ( no output )
12:12 Roamer` Xliff_zzzzz, hmm, I *thought* I'd seen the Hash[something, something] syntax, I should've tried it
12:12 Roamer` Xliff_zzzzz, thanks
12:13 Xliff_zzzzz Wow. So it's Hash[ValueType, KeyType]....
12:13 Xliff_zzzzz Feels a little backward byt.
12:13 Xliff_zzzzz s/byt/but/
12:13 jnthn Just consistent parameter order
12:13 kyclark joined #perl6
12:13 jnthn Hash[ValueType] is a hash with the specified value but keys coerced to strings
12:13 smls_ Yeah, it would be weird if the optional one came first.
12:13 Roamer` btw, here's another one, is it a bug of dd?  Part of the reason I thought it was Hash[ValueType]...
12:13 Roamer` m: use v6.c; my Array[Str:D] %foo; %foo<a> = Array[Str:D].new(<a b c>); dd %foo;
12:13 camelia rakudo-moar f2df2c: OUTPUT«Hash[Array[Str:D]] %foo = (my Array[Str:D] % = :a(Array[Str:D].new("a", "b", "c")))␤»
12:14 Xliff_zzzzz Roamer`, why do you think that's a bug?
12:15 Roamer` Xliff_zzzzz, because the way the dd output starts ("Hash[Array[Str:D]]") suggests to me that this is how I should declare a hash with arrays as values
12:16 Roamer` brb
12:16 Xliff_zzzzz Hummm.....
12:16 tbrowder nine: can you check my issue #100 in zef and ensure i said the right thing"  thanks VERY much!
12:17 gfldex joined #perl6
12:21 domidumont joined #perl6
12:23 nine tbrowder: added my findings
12:23 tbrowder thanks
12:28 nine Sometimes programming really is like a game of chess. You stare at a piece of code for half an hour, occasionally stroking your beard. And then change a single line to fix the bug.
12:28 masak nine: "single line" tends to correlate with "good architecture", IME
12:31 arnsholt And exponentially long time-to-bug-found, sometimes
12:32 wamba joined #perl6
12:33 masak dunno if I see any correlation between time-to-bug-found and architecture quality... there probably is one, but it's not entirely immediate to me.
12:33 masak in both cases you need to go and look; you need to get in a certain state of mind, etc
12:35 Xliff_zzzzz Can someone tell me if something like "sub EXPORT(*%l)" can parse "use MyModule <:a :b :c>" without the need of having those export tags present in the code?
12:35 Xliff_zzzzz Hmmm.... Or can I cheat and use dummy tags, but that would require adding dynamic subs to a package.
12:37 Roamer` jnthn, did you just suggest that Hash[ValueType] $foo should constrain $foo to only accepts values of this type?  I guess you must have missed my original golf snippet then, so here it is again...
12:37 Roamer` m: use v6.c; my Hash[Int:D] $wtf = Hash[Int:D].new(); $wtf<a> = 7.62; dd $wtf; dd $wtf<a>; my Int:D %fine; %fine<a> = 7.62;
12:37 camelia rakudo-moar f2df2c: OUTPUT«Hash[Int:D] $wtf = (my Int:D % = :a(7.62))␤Rat <element> = 7.62␤Type check failed in assignment to %fine; expected Int:D but got Rat (7.62)␤  in block <unit> at <tmp> line 1␤␤»
12:37 Roamer` jnthn, how did I put a Rat into a Hash[Int:D]?
12:38 adu joined #perl6
12:39 jnthn Roamer`: No idea. o.O Probably by constructing it directly, and uncovering a bug (because all the tests do it the `my Int:D %fine` way, I guess). Please RT.
12:39 Roamer` jnthn, ok, I will, thanks
12:44 CIAvash m: Hash[Str, Int].new: 1,2
12:44 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in binding to x; expected Str but got Int (2)␤  in block <unit> at <tmp> line 1␤␤»
12:44 CIAvash what is x?
12:44 CIAvash m: Hash[Str, Str].new: 1,2
12:44 camelia rakudo-moar f2df2c: OUTPUT«Type check failed in binding to key; expected Str but got Int (1)␤  in block <unit> at <tmp> line 1␤␤»
12:47 kyclark joined #perl6
12:50 MasterDuke joined #perl6
12:54 timotimo internal name, apparently
12:55 rindolf joined #perl6
13:01 patrickz joined #perl6
13:03 patrickz pmurias++ #nqp-js on npm, yay!
13:05 domidumont joined #perl6
13:05 timotimo jnthn wrote he "Elimianted" something ... i wonder how that works
13:05 sufrostico joined #perl6
13:08 dalek doc: 02f4ff8 | gfldex++ | doc/Language/typesystem.pod6:
13:08 dalek doc: show how to test for classness and enumness
13:08 dalek doc: review: https://github.com/perl6/doc/commit/02f4ff8b6a
13:09 Xliff_zzzzz OK.
13:09 Xliff_zzzzz Another question. How can I access PACKAGE::EXPORT from a BEGIN phaser?
13:09 Xliff_zzzzz %PACKAGE::EXPORT doesn't work. Neither does ::("PACKAGE::EXPORT").
13:09 ilmari[m] joined #perl6
13:10 Xliff_zzzzz ::("%PACKAGE::EXPORT") isn't the same thing.
13:15 M-Illandan joined #perl6
13:19 melezhik Hi! One question concerning perl6 gramma
13:19 timotimo grammophone :D
13:19 melezhik well, I mean grammar
13:20 melezhik let's say I have two tokens foo and bar
13:20 skids joined #perl6
13:20 perlpilot yes, perl 6 grammars hold the key to world peace
13:20 * masak .oO( grammarophobe )
13:20 perlpilot (unfortunately, the world doesn't have a lock that will accept that key)
13:20 mst ugexe: why did your one liner wrt Build.pm need ::("Build") even though it had -MBuild on it btw?
13:21 melezhik I want to define that both token could be in input data
13:21 melezhik obviously token TOP { <foo> | <bar> } does not work
13:22 nine melezhik: how is that obvious?
13:23 perlpilot melezhik: did you mean both tokens could be simultaneously in the input?
13:23 melezhik ok, let me reshape my statement. I mean if input data has entries matched <foo> token and if the come first then only action binded to <foo> will be trigered
13:24 melezhik despite the fact input data may have entires  matched to <bar> token
13:24 melezhik yes, exactly
13:25 melezhik I want to fire actions on both <foo> and <bar> sort of entries
13:25 moritz you could have <foo> & <bar> to require both to match
13:25 melezhik but every time it will be only <foo> or onle <bar>
13:25 moritz so you could do something like   [<foo> & <bar>] || [<foo> | <bar> ]
13:26 moritz though let me add that this is a pretty atypical use case for regexes or grammers
13:26 arnsholt melezhik: Are the entries matched *either* a foo *or* a bar, or can they be both at once?
13:26 melezhik mortiz:  well, sounds good, but what if I have many of such types, like <foo>, <bar>, <baz> , then it's getting complicated
13:26 arnsholt It's not quite clear to me what you mean
13:26 moritz melezhik: I'm not called moritz.
13:27 arnsholt moritz: You're Spartacus? =)
13:27 moritz melezhik: then you instead find a common way to tokenize your input, and do the rest in user-level code
13:27 melezhik sorry for typo moritz:
13:27 moritz arnsholt: moricus!
13:28 * masak .oO( Ave Imperator, moritzuri te salutant )
13:28 melezhik moritz: not sure if I understand what you mean
13:29 arnsholt melezhik: Anyways, are you quite sure what you want isn't just /[<foo> | <bar>]+/?
13:29 moritz melezhik: I mean that regexes and grammars aren't a good tool to find all possible ways to parse a string
13:29 melezhik yes I am sure
13:29 moritz melezhik: so instead you use regexes what they are good for, and parse in just one, more primitive way
13:30 moritz melezhik: and write user-space code to generate all the possible ways to combine the primitive matches into more advanced matches
13:30 * perlpilot notes that P6 does have an :exhaustive modifier  ;)
13:30 melezhik moritz: yes, I know how to do what I need in primitive way, using plain regexp, I wanted to have it via grammars
13:31 * moritz wants a pony in his grammar
13:31 melezhik sadly if I can't have grammars which works like I say ...
13:31 MilkmanDan joined #perl6
13:36 perlpilot m: "foo" ~~ m/(foo)/; say @();  say "@()";
13:36 camelia rakudo-moar 68443f: OUTPUT«(「foo」)␤@()␤»
13:36 perlpilot Should @() interpolate withing double quoted strings?  I think it should.
13:38 Xliff_zzzzz masak: "We who are about to die, salute you!" ???
13:39 Xliff_zzzzz m: "foo" ~~ m/(foo)/; say @();  say "{@()}";
13:39 camelia rakudo-moar 68443f: OUTPUT«(「foo」)␤foo␤»
13:39 CIAvash m: "foo" ~~ m/(foo)/; say @();  say "@()[]";
13:39 camelia rakudo-moar 68443f: OUTPUT«(「foo」)␤foo␤»
13:39 masak Xliff_zzzzz: yes, but note the extra "z"
13:40 masak Xliff_zzzzz: (it's a famous quote. even has its own Wikipedia page. gladiators used to said it to the emperor.)
13:40 Xliff_zzzzz masak: I didn't grok that so it fell into my ignore-and-hope-for-the-best filter
13:40 lambd0x joined #perl6
13:41 masak Xliff_zzzzz: sometimes my jokes are too clever for my own good. I subject #perl6 to them anyway (sometimes) because in my mind, this channel is associated with geeky in-jokes
13:44 cdg joined #perl6
13:44 arnsholt FWIW, I thought it was pretty amusing =)
13:44 masak arnsholt++ is on my mental checklist of people who would get the reference at-sight
13:45 perlpilot I dunno ... I thought it should have been "mortizuri" to keep things consistent  ;)
13:45 masak perlpilot: but the actual word is "morituri"
13:45 masak I did consider both, but the way I did it fits better with the original word
13:45 perlpilot sure, but it all started from the "mortiz" typo
13:46 masak that spelling always reminds me of The Adams Family, for some reason
13:46 perlpilot ITYM "Addams Family"  :)
13:46 masak oh, I most likely do
13:47 * masak hangs his shed in hame
13:47 lambd0x Hello everybody!
13:47 timotimo greetings lambd0x
13:47 masak helloooo λ0x
13:48 ugexe mst: is just an artifact from when it used to be `require "Build.pm"` (before that stopped working for some Build.pm)
13:49 [ptc] moritz: it's Perl6, so I'm sure you *can* have a pony in your grammar ;-)
13:49 mst ugexe: ah. how come that stopped working but 'use' still does?
13:49 moritz speaking of nerdy (and slightly off-topic) things, I recommend the "Talk Nerdy" podcast: http://carasantamaria.com/podcast/
13:49 moritz about hour-long interviews with scientists, science communicators, authors and other funny folks
13:50 kyclark How can I unpack a list of pairs in a for loop?
13:50 kyclark m: my @pairs = foo => 11, bar => 12; for @pairs -> [$key, $val] { put "$key = $val" }
13:50 camelia rakudo-moar 68443f: OUTPUT«Type check failed in binding to <anon>; expected Positional but got Pair (:foo(11))␤  in block <unit> at <tmp> line 1␤␤»
13:51 moritz m: for a => 1, b => 2 -> (:$key, :$value) { say $key }
13:51 camelia rakudo-moar 68443f: OUTPUT«a␤b␤»
13:51 ugexe mst: specifically I dont know. -M happens to take a different module loading path which somehow worked around the problem (which was precomp related)
13:51 moritz kyclark: ^^
13:52 mst weird
13:53 kyclark moritz, how/why does that work?  I see I can’t use :$val but have to say :$value.  Is it calling a method on the Pair?
13:54 moritz kyclark: yes
13:54 moritz kyclark: it works for all objects, not just pairs
13:54 timotimo melezhik: i think you can go with / [ .*? "foo" .*? ] & [ .*? "bar" .*? ] /, but that could have some catastrophic backtracking, so may have to fiddle around a bit more
13:54 moritz kyclark: (and the [] unpacking in a signature only works for list-like things)
13:54 timotimo melezhik: personally, i woudln't do it with regex, but with a contains-substring-check :)
13:55 timotimo actually, if you put ^ at the beginning and end inside the brackets could work well
13:55 moritz then you could just as well match two separate regexes
13:55 kurahaupo joined #perl6
13:55 kyclark OK, then for my case a List will be a better structure.  Thanks.
13:56 ugexe mst: it might have been fixed recently. the problem seemed related to precompiling the modules used by the Build.pm and nine did some commits that looked related
13:56 melezhik as It told, it is going to be very complicated if one have many data tokens ( not only <foo> and <bar>)
13:57 melezhik and in some case there are only a <foo> entires, and probably this solution won't work ...
13:57 timotimo well, the thing is, you're going against what regex wants. you're not caring about "match this first, then this"
13:58 melezhik or only <bar> entries in input data
13:58 timotimo you want "does this match anywhere? does this other thing match anywhere? how about this thing?"
13:58 timotimo personally, i'd split it into one .match or ~~ per token you want to find
13:59 melezhik I want 2 things 1) match all possible entries, if any (foo,bar, etc) 2) once entries matched - fire an actions for them ( this point is result of previous  one )
14:00 melezhik and third thing - I want to do it with a single perl6 grammar
14:01 moritz but why?
14:01 timotimo you can have "method TOP" which calls a match for each token
14:01 timotimo and runs the action methods manually perhaps?
14:02 melezhik moritz: why what? why I want it via perl6 grammar?
14:03 timotimo yes, why indeed
14:04 moritz melezhik: yes. And why do you want to do it in the first place?
14:05 melezhik ahh, I already have a perl5/simple regexps implementation for my parser, I wanted to port it to perl6, then I noticed a perl6 grammar which I found quite interesting and potentially minimizing a code to express such a things
14:05 arnsholt Do you have an example of the kind of text you're trying to parse?
14:05 melezhik sure
14:05 arnsholt This feels like an X Y problem
14:07 melezhik this is dsl specification - https://github.com/melezhik/o​utthentic-dsl#dsl-code-syntax , I want to port it to perl6 using perl6 grammars, looks like I stick
14:07 harmil joined #perl6
14:08 melezhik let's have a simple case, I want to express generators: expression and regexp: expression in a single perl6 grammar rules
14:08 melezhik I know how to do this for every type of entry (regexp: and generator:) but when I need to have may grammar to match any of them I fail
14:09 melezhik like <generator> | <regexp> does not work
14:09 timotimo well, with a grammar, it's anchored at start and end
14:09 melezhik as if generator entires comes first in input stream then grammar matches them and stop
14:09 timotimo so in order for that to work it has to find generator at the beginning and it has to reach the end. alternatively, regexp has to come at the beginning and go to the end
14:10 melezhik and other vise if regexp: entries comes first then grammar find them and stop ( ignoring generator entries )
14:11 timotimo entries?
14:11 timotimo oh, sorry
14:11 timotimo it's confusing that the parts of the regexp are named "regexp" and something else :)
14:11 timotimo so, did you try my solution with the .*? and the & in-between?
14:13 harmil melezhik: I think it could perhaps be clearer if you didn't specify the implementation via grammars that you think works, but rather an example text you wish to parse and the ultimate goal you wish to accomplish with it e.g. "1 + 2" and "I want to end up with a parse tree that looks like OP('+", VALUE("1"), VALUE("2"))".
14:13 melezhik yes, your solution works
14:14 melezhik then only concern is the number of entires types
14:14 harmil I say this coming in late, and only having skimmed the history, but I'm not clear on what you actually want to accomplish, here.
14:14 melezhik I have many like - generators, code, regexp, plain strings, asserts, text blocks ( you may take a look at the doc link I shared )
14:16 melezhik harmil :  an ultimate goal is to port https://github.com/melezhik/o​utthentic-dsl#dsl-code-syntax to perl6, and I am going to use grammars if it possible
14:16 timotimo what does "plain regular text within asserts range" mean?
14:16 arnsholt melezhik: https://gist.github.com/arnsholt/​4ee0fa479b5c9dc61c80e72beb922b7d
14:17 arnsholt That's a sketch of how I'd start
14:17 arnsholt The different declarations in your DSL are distinct, so it's a question of either mathing one kind of declaration or another
14:17 arnsholt Then, if some of them share functionality, that's a question of how you structure the underlying logic classes, not the AST building
14:18 timotimo it already says your DSL is line-based
14:19 khw joined #perl6
14:28 timotimo so i wonder why you would want to use a full-text-at-once based thing, which is pretty much what grammars are
14:28 timotimo you'd have to re-create a line-by-line thing in grammars
14:28 timotimo it's not hard, but you could leave it out completely if you wanted
14:29 mst if you can't do line-by-line how do you have a repl?
14:36 timotimo the repl actually evaluates each line separately
14:36 timotimo which is something we'd like to change in the future, too
14:36 timotimo we've wanted to change that for a long time, actually
14:38 smls m: my $str = "a";  dd (($str ~~ /b/) // "").Str
14:38 camelia rakudo-moar 68443f: OUTPUT«""␤»
14:39 smls ^^ is there a neater way to stringify a regex match, with 'no match = empty string'?
14:39 smls my $str = "a";  say ~($str ~~ /b/) // ""
14:39 smls m: my $str = "a";  say ~($str ~~ /b/) // ""
14:39 nbg23 left #perl6
14:39 camelia rakudo-moar 68443f: OUTPUT«Use of Nil in string context  in block <unit> at <tmp> line 1␤␤»
14:39 smls ^^ Would be cool if this worked, but I suppose there's no Failure-like system for warning?
14:40 smls *warnings
14:45 acrussell joined #perl6
14:46 timotimo you can "quietly { ... }"
14:46 timotimo m: say quietly ~Nil
14:46 camelia rakudo-moar 68443f: OUTPUT«␤»
14:46 timotimo m: say ~Nil
14:46 camelia rakudo-moar 68443f: OUTPUT«Use of Nil in string context  in block <unit> at <tmp> line 1␤␤»
14:46 moritz m: say quietly ~('a' ~~ /x/)
14:46 camelia rakudo-moar 68443f: OUTPUT«␤»
14:46 moritz m: say quietly ~('x' ~~ /x/)
14:46 camelia rakudo-moar 68443f: OUTPUT«x␤»
14:51 kyclark joined #perl6
14:51 melezhik arnsholt: thanks for giving a hint, I will examine your draft soon more precisely , basically  my code looks very familiar to what you suggest, I will let you know if run into troubles,
14:52 kyclark Are there profiling tools for Perl 6?
14:53 lostinfog joined #perl6
14:53 timotimo kyclark: we have "perl6 --profile ..."
14:53 kyclark Oh, cool.  Sorry, should have been obvious.
14:54 timotimo hardly :)
14:58 gregf_ llegedly
14:58 gregf_ oops :/ sorry
15:00 cdg joined #perl6
15:10 sakuya joined #perl6
15:15 perlpilot It would be neat if we had something like https://alpha.trycarbide.com/ for Perl 6
15:23 Xliff_zzzzz Carbide would be a good thing for nqp.js, though.... right?
15:24 Xliff_zzzzz I would shudder to think of the work necessary to get that working for MoarVM.
15:24 Xliff_zzzzz But stilll...nifty.
15:25 sakuya Is IO::Socket::INET support bind a local port like perl5 does .
15:25 sakuya perl5 code : IO::Socket::INET->new( PeerAddr => '127.0.0.1', PeerPort => 3333, LocalPort => 23356,Proto => 'tcp'); works fine
15:26 sakuya perl6 : IO::Socket::INET.new(:host<127.0.0.1>, :port(3333), :localhost<127.0.0.1>, :localport(23356); not working
15:27 zacts joined #perl6
15:28 rmmm joined #perl6
15:28 [Coke] timotimo: (angular 2) nope, sorry. Did find docs on how to make a single-page pre-built app, though.
15:28 yoleaux 02:55Z <pmichaud> [Coke]: You're currently listed as an editor on rakudo.org... shall I increase that to "administrator"?
15:40 [Coke] .tell pmichaud that question predates you fixing the thing I couldn't fix
15:40 yoleaux [Coke]: I'll pass your message to pmichaud.
15:40 Khisanth joined #perl6
15:41 [Coke] .tell pmichaud regarding segregating roast queue vs. rakudobug queue - no, I don't think it's worth our time necessarily to force the tickets into the right queues. We can probably do just as well by having some metadata about tickets in RT
15:41 yoleaux [Coke]: I'll pass your message to pmichaud.
15:42 [Coke] .tell pmichaud for some tickets, it's easy or obvious to move them; but anyone working on anything in the toolchain or lang spec is going to deal with RT.
15:42 yoleaux [Coke]: I'll pass your message to pmichaud.
15:45 MetaZoffix joined #perl6
15:46 geekosaur sakuya, https://docs.perl6.org/type/IO$COLON$C​OLONSocket$COLON$COLONINET#method_new
15:48 MetaZoffix 🎺🎺🎺 There are currently 55 RFC tickets: http://perl6.fail/t/RFC I invite users to review and comment on those RFCs, so the core devs would have some feedback about the proposed changes.
15:52 ufobat joined #perl6
15:57 sakuya geekosaur, the page has not what i want
15:58 dalek Inline-Perl5: dd99758 | niner++ | configure.pl6:
15:58 dalek Inline-Perl5: Fix configure.pl6 on rakudo-j
15:58 dalek Inline-Perl5:
15:58 dalek Inline-Perl5: Sadly $*VM.config keys are not standardized among backends.
15:58 dalek Inline-Perl5: review: https://github.com/niner/Inl​ine-Perl5/commit/dd99758899
16:00 cognominal joined #perl6
16:03 cdg joined #perl6
16:05 edehont joined #perl6
16:14 itaipu joined #perl6
16:16 canopus joined #perl6
16:16 nine moritz++ # thanks for perl6-all-modules making my life easier
16:21 rudolfochrist joined #perl6
16:39 canopus joined #perl6
16:42 moritz nine: you're welcome. Nice that others find it useful too
16:43 timotimo i just cloned it again the other day, but i wasn't good enough to find the right grep incantation for what i wanted to know
16:45 moritz timotimo: what did you want to know?
16:46 lizmat joined #perl6
16:46 timotimo wanted to know more about export/import tags
16:46 moritz if/how they are used?
16:49 kyclark m: my @y = (1..10), (5..11), (12..15); my $x = (2..7); for @l -> $y { say so $x (&) $y }
16:49 camelia rakudo-moar 68443f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '@l' is not declared␤at <tmp>:1␤------> 3 (5..11), (12..15); my $x = (2..7); for 7⏏5@l -> $y { say so $x (&) $y }␤»
16:50 kyclark Sorry
16:50 kyclark m: my @y = (1..10), (5..11), (12..15); my $x = (2..7); for @y -> $y { say so $x (&) $y }
16:50 camelia rakudo-moar 68443f: OUTPUT«True␤True␤False␤»
16:50 kyclark Anyway to do that with hyper operator (>>)?
16:50 timotimo i was trying to help out xliff with the color names module
16:51 woolfy joined #perl6
16:55 nine moritz: in case you wonder. That's what I just used it for: https://github.com/perl6/toolchain-bikeshed/co​mmit/6b32c741de2a0cf13a2cea877c98b8a2faa31593
16:56 pierre_ joined #perl6
17:15 leont joined #perl6
17:17 mephinet joined #perl6
17:22 mcmillhj joined #perl6
17:26 MilkmanDan joined #perl6
17:40 firstdayonthejob joined #perl6
17:41 rudolfochrist joined #perl6
17:45 LeCamarade joined #perl6
17:45 LeCamarade This is Rakudo version 2016.04 built on MoarVM version 2016.04
17:46 LeCamarade implementing Perl 6.c.
17:46 LeCamarade Hmm.
17:46 LeCamarade Time for an upgrade.
17:47 mst LeCamarade: do you happen to have a local::lib setup for perl5 and feel like testing something?
17:50 domidumont joined #perl6
17:50 LeCamarade I do not really understand Perl 5 stuff anymore (if ever), but I guess I can run whatever you have.
17:51 LeCamarade I mean, I do not know what local::lib would even be. I guess a library of some sort.
17:52 Xliff_zzzzz Moritz: How large is p6-all-modules
17:52 Xliff_zzzzz I may need to do some grep diving myself.
17:54 skrshn joined #perl6
17:54 skrshn Newbie question
17:54 skrshn m: sub avg(Int @n) { ([+] @n) / @n.elems }; say avg(1..10);
17:54 camelia rakudo-moar 68443f: OUTPUT«Type check failed in binding to @n; expected Positional[Int] but got Range (1..10)␤  in sub avg at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:55 Xliff_zzzzz Well... 187M; (Answering my own question)++
17:55 Xliff_zzzzz That's actually not bad.
17:56 skrshn m: sub avg(Int @n) { ([+] @n) / @n.elems }; say avg([1..10]);
17:56 camelia rakudo-moar 68443f: OUTPUT«Type check failed in binding to @n; expected Positional[Int] but got Array ($[1, 2, 3, 4, 5, 6, 7...)␤  in sub avg at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
17:57 kyclark m: sub avg(*@n) { ([+] @n) / @n.elems }; say avg(1..10);
17:57 camelia rakudo-moar 68443f: OUTPUT«5.5␤»
17:57 kyclark You can't put constraints on slurpy args. I've learned this the hard way.
17:59 MasterDuke joined #perl6
17:59 MasterDuke m: sub avg(Int @n) { @n.sum / @n.elems }; say avg(Array[Int].new(1..10))
17:59 camelia rakudo-moar 68443f: OUTPUT«5.5␤»
18:00 tailgate How do I get File::Spec::Functions?
18:02 MasterDuke tailgate: you could clone and install it manually, or use panda or zef
18:02 tailgate Ah. I tried variations of `panda install File::Spec` and it wasn't in the ecosystem
18:03 tailgate and it's a dependency for perl6/doc
18:03 Xliff_zzzzz Much of the nitty gritty EXPORT examples seem to be in rakudo-p5
18:03 MasterDuke you may need to do a 'panda update' first
18:04 kyclark tailgate, I've been using the $*SPEC object for those functions, but I confess I hold my nose.  I do not like that black magic and would prefer to explicitly bring in the module/functions I want.
18:04 kyclark Tell me if there is a better way.
18:05 Xliff_zzzzz Some of this looks promising...
18:07 MasterDuke tailgate: ahh, that's a Perl 5 module
18:07 MasterDuke kyclark: you might be interested in SPEC::Func
18:07 leont joined #perl6
18:08 itaipu joined #perl6
18:08 kyclark MasterDuke, how do I pull up docs on things like that?  "perl6 --doc SPEC::Func" doesn't work.
18:09 MasterDuke kyclark: i'm not actually all that sure.  i usually just go directly to the repo, https://github.com/zoffixznet/perl6-SPEC-Func in this case
18:11 kyclark OK, that's useful.  Thanks!
18:27 itaipu joined #perl6
18:30 Xliff_zzzzz \o/
18:30 Xliff_zzzzz \o\
18:30 Xliff_zzzzz /o/
18:30 Xliff_zzzzz Almost working.
18:30 Xliff_zzzzz I need to do "use Color::Names <a>.list" for some reason.
18:30 Xliff_zzzzz Otherwise I get a weird error.
18:31 Xliff_zzzzz If I "use Color::Names <a b>", it's a proper list and I don't need to .list
18:32 Xliff_zzzzz Doing "multi sub EXPORT($a)" doesn't seem to work.
18:32 Xliff_zzzzz m: dd <a>
18:32 camelia rakudo-moar 68443f: OUTPUT«"a"␤»
18:32 Xliff_zzzzz m: dd <a>.WHAT
18:32 camelia rakudo-moar 68443f: OUTPUT«Str␤»
18:34 MetaZoffix joined #perl6
18:35 MetaZoffix Xliff_zzzzz: what's your export sub is like? Sounds like you just need to make it slurp
18:35 MetaZoffix sub EXPORT (*@names) { ... }
18:36 MetaZoffix kyclark: there's no magic. Perl 6 has dynamic variables. $*SPEC is a dynamic variable that has one of the IO::Spec::* objects in it (which, depends on the OS), and that object privides the methods you seek.
18:37 MetaZoffix m: my $obj = $*SPEC; say $obj.splitpath: "a/b/c";
18:37 camelia rakudo-moar 68443f: OUTPUT«( a/b/ c)␤»
18:37 MetaZoffix m: with $*SPEC { say join .dir-sep, .splitpath: "a/b/c";
18:37 camelia rakudo-moar 68443f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> 3 say join .dir-sep, .splitpath: "a/b/c";7⏏5<EOL>␤»
18:37 MetaZoffix m: with $*SPEC { say join .dir-sep, .splitpath: "a/b/c"; }
18:37 Xliff_zzzzz MetaZoffix, has always slurped.
18:37 camelia rakudo-moar 68443f: ( no output )
18:38 Xliff_zzzzz However if I don't specify argument to "use", I get "Cannot find method 'merge-symbols': no method cache and no .^find_method
18:38 Xliff_zzzzz "
18:38 MetaZoffix Got code you can pastebin?
18:39 Xliff_zzzzz MetaZoffix: Already pushed to GitHub --> https://github.com/Xliff/p6-color-nam​es/blob/master/lib/Color/Names.pm#L7
18:41 girafe joined #perl6
18:43 MasterDuke Xliff_zzzzz: btw, '@color_lists_found.grep({ $_ eq @a.any })' could be '@color_lists_found.grep(@a.any)'
18:43 MetaZoffix Xliff_zzzzz: is "Missing serialize REPR function for REPR VMException" your "weird error"?
18:44 MasterDuke m: my @a = <a b c d e f>; my @b = <c d z x f>; say @a.grep(@b.any)
18:44 camelia rakudo-moar 68443f: OUTPUT«(c d f)␤»
18:45 Xliff_zzzzz MetaZoffix, one of them.... yeah
18:45 Xliff_zzzzz MasterDuke++ # Conciseness!
18:47 MetaZoffix No idea. It may something to do with doing require in "mainline" or something. I had to avoid that in some of my modules.
18:50 nadim_ Hi, do we have something that can give us an object size, in bytes, like Devel::Size?
18:50 MetaZoffix m: my @a = <a b c d e f>; my @b = <c d z x f>; say @a.Set{@b}:k
18:51 kaare__ joined #perl6
18:51 camelia joined #perl6
18:51 skrshn MasterDuke: thanks
18:51 sufrostico joined #perl6
18:52 MetaZoffix benchable6: HEAD m: for ^10000 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.Set{@b}:k }
18:52 benchable6 MetaZoffix, starting to benchmark the 1 given commits
18:52 benchable6 MetaZoffix, ¦«HEAD»:3.6870
18:52 MetaZoffix benchable6: HEAD m: for ^10000 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.grep(@b.any) }
18:52 benchable6 MetaZoffix, starting to benchmark the 1 given commits
18:52 sjn joined #perl6
18:52 hanekomu joined #perl6
18:52 masak joined #perl6
18:52 japhb joined #perl6
18:52 pmichaud joined #perl6
18:52 krunen_ joined #perl6
18:53 BooK joined #perl6
18:53 Xliff_zzzzz Well this is good progress for me! 95% complete.
18:53 Ulti joined #perl6
18:53 avar joined #perl6
18:53 avar joined #perl6
18:53 Xliff_zzzzz MetaZoffix++; MasterDuke++, timotimo++
18:53 benchable6 joined #perl6
18:54 MasterDuke bench: compare HEAD for ^10000 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.Set{@b}:k } ||| for ^10000 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.grep(@b.any) }
18:54 benchable6 MasterDuke, starting to benchmark the 1 given commits
18:54 MetaZoffix benchable6: so... any word on that bench I asked you to do?
18:54 MetaZoffix ooh, neat
18:54 MasterDuke it died on the second one
18:55 MetaZoffix bench: compare HEAD for ^100 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.Set{@b}:k } ||| for ^100 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.grep(@b.any) }
18:56 * MetaZoffix chuckles
18:56 MasterDuke the server is in the middle of building old commits
18:56 bitmap joined #perl6
18:56 DANtheBEASTman joined #perl6
18:56 chee joined #perl6
18:56 gabiruh joined #perl6
18:56 benchable6 joined #perl6
18:56 MetaZoffix bench: compare HEAD for ^100 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.Set{@b}:k } ||| for ^100 { my @a = <a b c d e f>; my @b = <c d z x f>; say @a.grep(@b.any) }
18:56 benchable6 MetaZoffix, starting to benchmark the 1 given commits
18:57 M-Illandan joined #perl6
18:57 Bucciarati joined #perl6
18:58 DrForr joined #perl6
18:58 benchable6 MetaZoffix, https://gist.github.com/9d2e​c8216117a1b2fcde6722f0b3876e
19:00 literal joined #perl6
19:01 harmil_wk MetaZoffix: what's |||
19:01 harmil_wk I don't see it in the Routines doc
19:01 MetaZoffix harmil_wk: new operator we ivented. Makes stuff run about 1000x faster :P
19:01 MetaZoffix harmil_wk: it's a special syntax for benchable6 robot to specify to different pieces of code to bench
19:01 MetaZoffix *two
19:02 MasterDuke fyi, you can do more than two
19:02 harmil_wk Ah, darn, I was about to go retrofit my modules for turbo mode. :-)
19:03 MetaZoffix bench: compare HEAD my @r; for ^100 { my @a = 1e5..1e6; my @b = 1.1e5..1.1e6; @r.push: @a.Set{@b}:k } ||| my @r; for ^100 { my @a = 1e5..1e6; my @b = 1.1e5..1.1e6;  @r.push: @a.grep(@b.any) }
19:03 benchable6 MetaZoffix, starting to benchmark the 1 given commits
19:04 krunen joined #perl6
19:04 El_Che If you build rakudo from source, it clones nqp from github and builds it first. If you build nqp it needs moar first. Circular dependecies much? (~_~)
19:04 rindolf joined #perl6
19:05 frew joined #perl6
19:05 MasterDuke MetaZoffix: btw, the compare option is a little fragile. because of the way it runs the code, it will complain about some things (like declaring a sub in each option with the same name)
19:05 El_Che (If you try to build a pkg, you don't want it to dynamically clone a master branch remotely)
19:08 MasterDuke huh, it's still running your benchmark, don't know why it quit
19:08 Xliff_zzzzz Weird... now I am getting this "Cannot invoke this object (REPR: Uninstantiable; EXPORT)" if I define multi EXPORTs
19:09 MetaZoffix MasterDuke: a wild guess is it's not parallelizing the requests, so it wasn't able to respond to a ping request 'cause it's busy doing the bench
19:09 MetaZoffix Also... why is it taking so long to run it? There are just 100 iterations?
19:09 nebuchadnezzar joined #perl6
19:10 Matthew[m] joined #perl6
19:10 MetaZoffix Oh, I guess I over-did it with the array sizes
19:11 MasterDuke it runs each option 10 times
19:11 MetaZoffix oh
19:11 MetaZoffix Well, even 1 time is taking forever on my box so.. If it's still running, it may be useful to kill it :P
19:12 MasterDuke and the server is pretty busy right now building+compressing commits
19:12 MasterDuke ha, will do
19:13 benchable6 joined #perl6
19:15 MetaZoffix m: say "It would've taken more than {(9.930 + 127) * 2000 / 60} minutes"
19:15 camelia rakudo-moar 68443f: OUTPUT«It would've taken more than 4564.333333 minutes␤»
19:16 MetaZoffix Had to kill @a.Set{@b}:k version after 2 minutes, for a single iteration.
19:21 nine El_Che: it only clones nqp if you tell it to with --gen-nqp
19:25 skids m: enum FF <zero one two three>; FF(2).perl.say; FF(two).perl.say
19:25 camelia rakudo-moar 68443f: OUTPUT«FF::two␤FF::two␤»
19:25 skids m: enum FF <zero one two three>; FF(FF(2)).perl.say;
19:25 camelia rakudo-moar 68443f: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in typename; couldn't find final ')' ␤at <tmp>:1␤------> 3enum FF <zero one two three>; FF(FF(7⏏2)).perl.say;␤»
19:26 ugexe joined #perl6
19:35 Wiertek joined #perl6
19:40 setty2 joined #perl6
19:46 rindolf joined #perl6
19:54 MasterDuke joined #perl6
19:55 eliasr joined #perl6
19:56 Wiertek93 joined #perl6
19:58 cdg joined #perl6
20:00 Wiertek joined #perl6
20:04 cpage_ joined #perl6
20:05 El_Che nine: yes, I get the --gen thing. But when you try to build nqp (to suppy to the rakudo build) it needs moar. I'll have a look later
20:05 [Coke] --gen-nqp implies --gen-moar, IIRC.
20:06 espadrine joined #perl6
20:06 [Coke] too much backlog: what's the question?
20:07 moritz [Coke]: it's the other way 'round
20:08 moritz [Coke]: --gen-moar implies --gen-nqp
20:08 El_Che 1:04 < El_Che> If you build rakudo from source, it clones nqp from github and builds it first. If you build nqp it needs moar first. Circular dependecies much? (~_~)
20:08 El_Che 21:05 < El_Che> (If you try to build a pkg, you don't want it to dynamically clone a master branch remotely)
20:08 El_Che [Coke]: I was looking at packaging, i.e. without the "generate from github part"
20:09 [Coke] it's not circular; rakudo needs nqp needs moar.
20:09 El_Che but moar is not release as a tar?
20:09 El_Che (or part of the rakudo dist?)
20:09 moritz sure there are more tarballs
20:10 moritz El_Che: take a look at a the rakudo-star makefile; it works with tarballs
20:10 [Coke] El_Che: http://moarvm.com/releases.html
20:10 El_Che moritz: great tip. Thanks
20:11 rudolfochrist joined #perl6
20:11 pmurias joined #perl6
20:11 [Coke] if you're packaging, I would recommend doing as the macports port does and have 3 packages.
20:11 pmurias perlpilot: is that carbide thing usable for big programs or just for short snippets
20:12 El_Che [Coke]: I am looking if fpm and docker could be a base for simple packages (I was thinking ubuntu and centos)
20:12 labster joined #perl6
20:12 [Coke] I know most of those words.
20:13 pmurias perlpilot: there are a lot of things that are ultra awesome for short things but don't scale at all
20:13 [Coke] on docker, there's already a prebuilt thing that includes docker/nqp/moarvm
20:13 El_Che [Coke]: I have my own rakudo docker image (using rakudobrew) for my apps
20:13 [Coke] sorry includes rakudo/nqp/moarvm
20:13 El_Che [Coke]: this docker is to build packages
20:14 [Coke] ... why?
20:14 [Coke] ... nevermind.
20:14 [Coke] The time it would take you to explain it to me isn't going to help you. :)
20:14 El_Che so we get rpms & debs for poeple to install that want to try it
20:15 El_Che the docker part is that everyone here can run it, and create the packages when needed
20:16 calopter joined #perl6
20:17 El_Che asking users to compile it themselves may be a deterrent, and several people here consider rakudobrew a rakudo dev tool not meant for end users
20:17 [Coke] "the docker part is" ahhhh, thanks
20:17 TEttinger joined #perl6
20:18 El_Che [Coke]: the easy way it to create full vm's, but that's not portable
20:19 [Coke] yah, that would have been a lovely option to have for the macports so everyone had the tools to build a port. Great idea.
20:23 calopter Hi! Is there a perl6 equivalent to haskell's iterate function? I'm looking for a way to generate a lazy list from a seed value and a function that produces the next element
20:23 geekosaur docker's kinda not really a thing on OS X (you can build and use it, but it's controlling virtualbox. there is zero chance cgroups get added to the OS X kernel)
20:23 moritz calopter: yes, the sequence operator can do that
20:24 moritz m: say (1, { $_ * 2 + 5} ... *)[^10]
20:24 camelia rakudo-moar 68443f: OUTPUT«(1 7 19 43 91 187 379 763 1531 3067)␤»
20:24 El_Che geekosaur: yeah, I had specifically Ubuntu 16.04 and Centos7 in mind
20:24 calopter moritz: Thanks!
20:24 geekosaur that was aimed more at [Coke]'s comment re macports
20:24 [Coke] geekosaur: I'm using the native Docker.app now
20:25 geekosaur sure, and it's using a vbox under the covers
20:25 El_Che I had a look at Snap (the multi distro pkg by Ubuntu) but I haven't seen it in the wild yet
20:25 geekosaur docker needs cgroups, otherwise it can only control a hypervisor
20:25 [Coke] geekosaur: I'm not sure if by vbox you mean something as heavyweight as the oracle VirtualBox app which it was using before.
20:25 [Coke] it's not using that now
20:26 geekosaur pretty sure it's using the virtualizaton engine under the covers. there's plenty of references to docker on os x and how it has no choice but to control a hypervisor
20:26 geekosaur *maybe* they have some cut-down version that can partially --- but only partially --- simulate it using the sandbox framework.
20:27 geekosaur but that will have lots of limitations
20:27 geekosaur (and for some uses it's even slower than a hypervisor)
20:27 El_Che [Coke]: fpm does also create osx pkg files, but I'm not sure how the crosscompiling would work in that case
20:27 El_Che (you can run it natively of course)
20:27 pecastro joined #perl6
20:28 itaipu joined #perl6
20:28 calopter moritz: would this approach work with a stateful object like Inline::Perl5 WWW::Mechanize? I'm looking to build a lazy list of webpages, crawling from one to the next with follow_link()
20:30 geekosaur [Coke], also confusing the issue is 10.11 has a framework for wrapping hypervisors, which means it can be using one without you seeing it...
20:30 geekosaur (there might even be a minimal hypervisor in there, which might be used by the sandbox on 10.11)
20:31 El_Che geekosaur: what you're describing is the exact way that it will work on windows (through hyper-v onder the covers)
20:31 geekosaur yeh
20:31 * geekosaur already knew windows uses hyper-v for WoW (32 bit windows apps running in 64-bit windows)
20:32 El_Che https://github.com/mist64/xhyve <-- probably the one on osx
20:34 El_Che https://hharnisc.github.io/2016/06/16/developi​ng-inside-docker-containers-with-osx-2016.html
20:34 geekosaur indeed " The Docker engine is running in an Alpine Linux distribution on top of an xhyve Virtual Machine on Mac OS X "
20:34 geekosaur there you go
20:34 moritz calopter: sure, why not?
20:35 * geekosaur vaguely familiar with xhyve, knows it's modeled after bhyve (freebsd's answer to linux-kvm)
20:35 calopter moritz: Cool. Coming from haskell so still wrapping my head around interacting with stateful stuff :) Thanks!
20:35 moritz calopter: though that sounds like something you might want to write as  gather while condition { fetch; parse; take $result }
20:36 calopter moritz: that does sound good!
20:36 geekosaur the early betas were using virtualbox; I didn't know they'd switched to xhyve for the release
20:40 pullphinger joined #perl6
20:43 El_Che [Coke]: mac ports is pretty neat
20:43 El_Che looking at the ports now
20:45 jjido joined #perl6
20:53 jjido joined #perl6
20:54 zengargoyle joined #perl6
21:00 zengargoyle joined #perl6
21:04 cpage_ joined #perl6
21:19 El_Che ok, the container is building some stuff. I am curious :)
21:19 calopter left #perl6
21:23 nadim_ joined #perl6
21:26 El_Che root@09a2f80615fe:~# /opt/rakudo/bin/perl6 -v
21:26 El_Che This is Rakudo version 2016.08.1 built on MoarVM version 2016.08
21:26 El_Che implementing Perl 6.c.
21:26 El_Che this could work \o/ :)
21:31 harmil_wk If I have two Promises, a long-running task and a timeout (ala Promise.in($seconds)) what should I do when the timeout happens to terminate the other Promise?
21:31 timotimo harmil_wk: check for the timeout regularly inside your work code
21:32 harmil_wk Unfortunately, that work code is calling into a library that might take too long. This is testing code. What I really want to do is shoot it in the head...
21:33 mcmillhj joined #perl6
21:34 timotimo you can use NativeCall's CPointer to write to a memory location that's shared that you know will crash the thread without crashing the whole application
21:34 harmil_wk That seems ... graceless, but I guess it would work. There's really no ability to terminate a thread?
21:34 jjido joined #perl6
21:35 harmil_wk But thank you for answering, I don't want you to think I'm not grateful, just grumbly
21:38 AndyBotwin joined #perl6
21:40 timotimo i think at some point we may get a "cause that thread to have an exception thrown" feature
21:40 timotimo but terminating threads is pretty problematic
21:42 timotimo when you have the possibility to throw an exception, you can get things like "proper clean-up of shared resources and locks"
21:43 edehont joined #perl6
21:44 leont terminating threads cleanly is very non-portable, AFAIK
21:46 timotimo that's what i've heard, yes
21:46 mcmillhj joined #perl6
21:46 margeas joined #perl6
21:46 timotimo i must say python's "KeyboardException" or "KeyboardInterrupt" or something seemed really cool until i tried to use it with a Real Program in the wild
21:47 leont I mainly know it because of some completion script that doesn't like being killed with control-C
21:47 * timotimo heads towards bed
21:47 leont It annoys me every time
21:48 timotimo lik dis if you cri everitim
21:51 El_Che I am under the impression that panda and zef do not have something to specify a --prefix to be installed, am I right?
21:51 ugexe zef has -to / --install-to
21:52 El_Che ugexe: also for zef itself?
21:52 ugexe sure
21:52 El_Che ok, trying, thx
21:56 woolfy left #perl6
21:59 El_Che ugexe: probably extremely silly, but zef  complains about the dir: http://paste.ubuntu.com/23113650/
21:59 El_Che ugexe: the idea is to add zef to a fresh compiled rakudo in order to pkg it
22:00 ugexe did you read the README?
22:00 El_Che yes, sorry if I missed something
22:00 ugexe https://github.com/ugexe/zef#​custom-installation-locations
22:00 El_Che thx
22:03 El_Che it works
22:03 mcmillhj joined #perl6
22:03 bbkr joined #perl6
22:04 leont lizmat: have an issue for that test counter issue
22:05 leont Will try to polish tomorrow
22:07 kyclark joined #perl6
22:08 Sgeo joined #perl6
22:09 * TimToady waves from DEN
22:11 * lizmat waves from LJU  (well, actually a few clicks away from that)
22:14 leont I challenge you to pronounce it properly! :-p
22:15 mcmillhj joined #perl6
22:15 El_Che ugexe: I wanted to provide a generic zef on a system localtion so the user could install what I needed. I didn't take into account that when I do that, zef will try to install modules in this path (no writable to the user).
22:15 leont ugexe: I'd really like a zef on TAP::Harness
22:16 El_Che ugexe: so it's probably better the user installs his own zef
22:18 El_Che ugexe: maybe the config.json could help me here
22:19 El_Che good night, going to bed
22:19 itaipu joined #perl6
22:20 maybekoo2 joined #perl6
22:22 dalek doc: 8cfffc2 | coke++ | doc/Type/Range.pod6:
22:22 dalek doc: remove trailing whitespace
22:22 dalek doc: review: https://github.com/perl6/doc/commit/8cfffc2c9f
22:25 maybekoo2 joined #perl6
22:27 skids joined #perl6
22:33 Wiertek joined #perl6
22:33 mcmillhj joined #perl6
22:35 cpage_ joined #perl6
22:38 ugexe leont: it already exists, you just have to disable the 2 default testing adapters that come first in the config: `perl6 -Ilib bin/zef --/prove --/default-tester test .`
22:41 ugexe https://github.com/ugexe/zef/blo​b/master/lib/Zef/Service/TAP.pm6 # just basics
22:42 ugexe the indirect names are used so that older rakudos don't complain
22:48 ugexe El_Che: you can also install your modules invoking zef directly; it never needs to be installed at all
22:48 leont Ah, cool
22:52 mcmillhj joined #perl6
23:05 Cabanossi joined #perl6
23:21 mcmillhj joined #perl6
23:32 skids could someone with the appropriate bits flag RT#124251 as testsneeded?
23:32 synopsebot6 Link:  https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=124251
23:52 mcmillhj joined #perl6
23:58 pierre_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo