IRCloggy #perl6 2016-08-30

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2016-08-30

n1lp7r joined00:04
kyclark joined00:05
n1lp7r left00:12
RabidGravy left00: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
we usually say "well, now you can .say"00:20
but now there's the list of methods of Any that might be interesting to you that you'd have to remember00:20
so you can decide whether you can .subname or have to .&subname00:20
n1lp7r joined00:25
pierre_ joined00:26
jcallen_ joined00:29
Jonis_ left00:29
Jonis joined00:29
jcallen left00:30
espadrine left00:31
mohae_ left00:36
n1lp7r left00:36
SmokeMachine____ hi!00:37
this should work?00:37
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:37
mohae joined00:38
SmokeMachine____ should one of those work?00:38
should any of those work? (sorry)00:39
r_i_d left00:39
r_i_d joined00:39
kyclark http://lpaste.net/18141900:41
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
Sample input data given at the top.00:42
Comments/suggestions welcome!00:43
Maybe it’s too late and I should try again tomorrow.00:46
AlexDaniel SmokeMachine____: well, macros do not work at the moment00:53
SmokeMachine____: so yes, it should work in the future… hopefully :)00:53
SmokeMachine____ AlexDaniel: does not work at all?00:58
AlexDaniel kyclark: and the expected output is?00:58
SmokeMachine____: yeah, I think so00:58
SmokeMachine____ 😞00:58
AlexDaniel kyclark: ah, I see00:59
BenGoldberg joined00:59
kaare_ joined00:59
kyclark Expected is that the last two overlaps should not appear01:03
r_i_d ls01:04
In writing tests, how do you "use" the file you want to test?01:05
AlexDaniel kyclark: a, pft01:06
kyclark: they actually overlap01:06
kyclark: this part: %gene1<pos>[0,*-1].join('..')01:06
kyclark: assumes that the list is ordered01:06
but it is not01:06
adu left01:06
AlexDaniel kyclark: change it to this and you'll see what is going on: %gene1<pos>.sort[0,*-1].join('..')01:07
cdg joined01:08
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:10
AlexDaniel r_i_d: not sure, but maybe you want to set PERL6LIB env variable to . or use 「use lib '.';」 in one of the files01:11
kyclark: the problem itself, however, is slightly different01:14
m: .say for ‘7235’..‘9016’01:14
camelia rakudo-moar f2df2c: OUTPUT«7235␤7236␤7225␤7226␤7215␤7216␤7135␤7136␤7125␤7126␤7115␤7116␤7035␤7036␤7025␤7026␤7015␤7016␤8235␤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:14
AlexDaniel kyclark: so it looks like you have to do this: pos => [+%data<start> .. +%data<end>],01:15
kyclark: … honestly ranges with numeric Strs hardly make any sense… and that's what you have encountered01:15
r_i_d: what's the full error? Perhaps something is indeed undeclared? :)01:16
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:18
the failure is that the object is undeclared, so I'm not linking it right.01:19
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:20
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:23
cdg left01:26
labster left01:28
_slade_ left01: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:29
user9 left01:31
grondilu r_i_d: I have a raspberry pi and I have pand installed.01:31
*panda01:31
(I'm not using it much lately, though)01:31
(ever since I've realized even a VM is much faster than a Pi)01:32
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 fancy01:33
grondilu it's very simple01:33
gfldex r_i_d: did you export the class?01:33
grondilu $ echo -e "unit class Foo;" > Foo.pm6; echo "use Foo;" > test.t; perl6 -I. test.t01:34
(also use Test; of course)01:35
r_i_d oh.01:36
grondilu did that help?01:36
gfldex left01:37
grondilu (the suspense is killing me)01:37
r_i_d oops01:40
I succeeded in overwriting my document with "unit class Foo;"01:41
but I think I'm on the right track.01:41
my file is gone, but perl doesn't complain about an undeclared object.01:43
MasterDuke joined01:48
bob777 joined01:49
grondilu you may have a ~ backup01:52
kyclark AlexDaniel, thanks! This fixes it:01:52
pos => [+%data<start> .. +%data<end>],01:52
You were right on.01:53
r_i_d I don't need it, it was just a dummy object.01:53
AlexDaniel kyclark: https://docs.perl6.org/language/traps#String_Ranges/Sequences01:55
kycl01:55
kyclark Thanks very much. It makes sense now.01:56
AlexDaniel kyclark: basically I'd just wipe stringy ranges from the language… this is such a fail…01:57
one of the greatest ideas behind perl 6 is different operators for numeric stuff01:57
and yet we managed to step into the same turd with .. op01: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.01:58
tbrowder ugexe: changes to zef look good! thanks!02:11
ugexe: i should say they work great!02:13
dalek whateverable: dc40d25 | MasterDuke17++ | Whateverable.pm6:02:14
whateverable: Be less restrictive about mime types02:14
whateverable:02:14
whateverable: Allow any mime type that contains 'text/plain' or 'perl' in it.02:14
whateverable: Also, attempt to decode the response based on the given charset,02:14
whateverable: so ISO-8859-1 should be supported in addition to UTF-8. Closes #17.02:14
whateverable: review: https://github.com/perl6/whateverable/commit/dc40d250c602:14
pierre_ left02:28
r_i_d left02:31
grondilu took the liberty to create an issue about the enumeration constants discussed earlier:02:32
grondilu https://github.com/perl6/roast/issues/14702:32
wamba joined02:34
pierre_ joined02:35
pierre_ left02:39
noganex joined02:42
noganex_ left02:46
zacts joined02:46
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.org02:53
pierre_ joined02:53
pmichaud for example: RT #129131 is a language RFC, not a rakudo bug.02:53
synopsebot6 Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=12913102:53
pmichaud yoleaux: tell [Coke] You're currently listed as an editor on rakudo.org... shall I increase that to "administrator"?02:55
.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].02:55
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:04
pmichaud m: .say for 'file08.jpg'..'file15.jpg'03:05
camelia rakudo-moar f2df2c: OUTPUT«file08.jpg␤file07.jpg␤file06.jpg␤file05.jpg␤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:05
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:06
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
the 'a00.b'..'a10.b' one.03:07
m: .say for 'a00.bb'..'a10.bb'03:08
camelia rakudo-moar f2df2c: OUTPUT«a00.bb␤a10.bb␤»03:08
BenGoldberg Pretty strange :)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␤0b011␤0b100␤0b101␤0b110␤0b111␤»03:08
BenGoldberg m: .EVAL.say for '0b000' .. '0b111'03:09
camelia rakudo-moar f2df2c: OUTPUT«0␤1␤2␤3␤4␤5␤6␤7␤»03:09
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␤14␤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␤=== SORRY!=== Error while compiling /home/camelia/EVAL_10␤Confused␤at /home/camelia/EVAL_10:1␤------> x0: <EOL> ␤ expecting any of:␤ colon pair␤»03:10
BenGoldberg m: .say for '0x00' .. '0xff'03:11
camelia rakudo-moar f2df2c: OUTPUT«0x00␤0x01␤0x02␤0x03␤0x04␤0x05␤0x06␤0x07␤0x08␤0x09␤0x0:␤0x0;␤0x0<␤0x0=␤0x0>␤0x0?␤0x0@␤0x0A␤0x0B␤0x0C␤0x0D␤0x0E␤0x0F␤0x0G␤0x0H␤0x0I␤0x0J␤0x0K␤0x0L␤0x0M␤0x0N␤0x0O␤0x0P␤0x0Q␤0x0R␤0x0S␤0x0T…»03:11
zacts left03:15
pmichaud that also looks like a bug to me.03:16
timotimo is it?03:16
pmichaud m: say '0x00'.succ03:16
camelia rakudo-moar f2df2c: OUTPUT«0x01␤»03:16
pmichaud m: say '0x09'.succ03: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
pmichaud possibly.03:17
timotimo like 0 to 9 or a to z or something03:17
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 values03:18
brrt` joined03: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
not '0x0:'03:19
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 wrap03:21
pmichaud okay, so that's a change from S05.03:21
brrt left03:22
kyclark left03:24
BenGoldberg According to https://docs.perl6.org/language/traps#String_Ranges/Sequences rakudo is actually doing what it's supposed to.03:25
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 .. $last03:26
Xliff joined03:26
timotimo you mean ..., yes?03:27
BenGoldberg Yes.03:27
Actualeyes left03:27
wamba left03:40
Actualeyes joined03:41
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 now03:49
timotimo shantanu: Supply is exactly what observable streams are03:50
and they are already implemented for you03:50
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
a big part of the concurrency primitives are modelled with a big influence from C#03:51
shantanu C#? I am not fluent in that.03:52
timotimo me neither03:52
but our master of technical design is fluent in it, among many other things03:52
shantanu It does look really cool!03:52
timotimo the "supply"/"react" and "whenever" syntax is *really* nice03:53
Xliff Why am I getting this error? "You cannot create an instance of this type (Color)"03:56
timotimo check what it's HOW is03:57
it's potentially a PackageHOW03:57
Xliff Yeah. PackageHOW.03:58
shantanu HOW?03:58
timotimo yeah, HOW03:58
a bit different from WHAT03:58
shantanu ohh ok03:58
timotimo m: say Int.WHAT;03:58
camelia rakudo-moar f2df2c: OUTPUT«(Int)␤»03:58
timotimo m: say Int.HOW03:58
camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::ClassHOW.new␤»03:58
timotimo m: subset Foo of Int where 10 < * < 99; say Foo.HOW03:59
camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::SubsetHOW.new␤»03:59
timotimo package test { }; say test.HOW03:59
m: package test { }; say test.HOW03:59
camelia rakudo-moar f2df2c: OUTPUT«Perl6::Metamodel::PackageHOW.new␤»03:59
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:00
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 possible04:01
when you have a PackageHOW, you have a package of things04:01
shantanu my $a = Supplier.new; say $a.HOW;04:01
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 somewhere04:01
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::ClassHOW04:02
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
I can new the former, but not the latter.04:03
timotimo well, something else is off, then04:03
Xliff And I don't know why there's a difference.04:03
timotimo is it the difference between grey and gray again :P04:04
do you perhaps have -I in one and not the other?04:04
skids left04:07
Xliff Yes04:09
No change using -I04:09
And no, I think this is more subtle than "gr(e||a)y"04:10
Or at the very least more annoying.04:10
timotimo i can imagine04:10
sorry about it :(04:10
Xliff :/04:10
I'm wondering if it's something to do with the "unit module" or "unit package" behavior.04:12
MasterDuke left04:12
khw left04:12
skids joined04:13
harmil left04:13
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
(I almost said "script", but this isn't a script)04:14
And that should really read "perl6 -e..."04:14
kyclark joined04:21
grondilu trying to make Perl 6 shine on HN: https://news.ycombinator.com/item?id=1238749204:21
kyclark left04:24
Xliff timotimo: Golfed.04:24
I will RT04:24
Actually, before I do, I will gist and let ppl check it out.04:24
Actualeyes1 joined04:30
Actualeyes left04:30
skids left04:31
Xliff https://gist.github.com/Xliff/6fa8e4e6283e8f83fb460a0c708948aa04:31
And yes... at this point I wll except ¯\_(ツ)_/¯, but I just wanted to get that piece of weirdness out there.04:33
Wow! All it took was a ::!04:35
perl6 -Ilib -e 'unit package Color::Test; INIT { require ::("Color"); }; sub test { ::("Color").HOW.^name.say }; test'04:35
Perl6::Metamodel::PackageHOW04:35
pierre_ left04:43
pierre_ joined04:45
pierre_ left04:49
notostraca joined04:50
TEttinger left04:52
notostracaTEttinger04:52
MilkmanDan left04:53
labster joined04:57
MilkmanDan joined05:11
MilkmanDan left05:28
CIAvash joined05:54
pierre_ joined05:55
brrt joined05:55
pierre_ left06:01
pierre_ joined06:06
Xliff left06:10
Xliff joined06:11
brrt left06:22
darutoko joined06:25
firstdayonthejob joined06:25
domm what's the correct syntax to import Perl5 functions using Inline::Perl5?06:26
I need 'use Data::Random qw(:all)' in a p6 script06:26
hm, $p5.call('Data::Random::rand_words');06:31
margeas joined06:31
domm works, but is not too nice06:31
ok, back onto the bike...06:31
moritz ... to bikeshed :-)06:32
domm :-)06:32
BenGoldberg left06:33
Xliff domm: 'use Inline::Perl5; my $varable; my $p5 = Inline::Perl5.new; p5.run('use Data::Random qw(:all); $variable = rand_words...');06:35
With correct quoting this time...06:35
domm: "use Inline::Perl5; my $varable; my $p5 = Inline::Perl5.new; p5.run('use Data::Random qw(:all); $variable = rand_words...');"06:35
nine domm: use Data::Random:from<Perl5> <all>;06:36
Xliff Or that. nine++ (and more succinct)06:36
nine: If you have time, can you look at this gist and tell me if it's a bug?06:36
https://gist.github.com/Xliff/6fa8e4e6283e8f83fb460a0c708948aa06:36
nine Maybe it _is_ a good idea to give my talk again :)06:36
domm: use Data::Random:from<Perl5> <:all>; # correct version with the colon before all06:38
firstdayonthejob left06:46
nine Xliff: easier way to reproduce: unit package Color::Test; use Color; ::("Color").HOW.^name.say06:49
Xliff Huh06:49
Any ideas as to solution?06:50
I'm trying to write a module where the use of the Color class is optional .06:50
bbkr left06:52
nine Actually, this could just be a plain merge_globals bug06:53
brrt` left06: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:56
(in terms of namespacing, at least)06:57
nine yes06:57
Xliff O_o06:57
I think I actually grokked that!06:58
\o/06:58
nine But it should replace the package with the class. Otherwise Color.new doesn't even work06: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 already06:58
(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
s created first, the compiler should see that and arrange to not make the package one directly accessible07:00
...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 specify07:01
Xliff Would that be $?PACKAGE... or something else?07:04
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/language/packages#Pseudo-packages07:05
nine https://github.com/rakudo/rakudo/blob/nom/src/Perl6/ModuleLoader.nqp#L13207:06
geekosaur see, I always considered that a hack... mostly because there kept being weird bugs07:06
like, oh, this one07:06
nine But the weird bug in this case is just that it doesn't seem to do this at all.07:06
If the plan was followed through, it would work just fine.07:07
pierre_ left07:09
nadim_ joined07:11
pierre_ joined07:11
leont left07:18
zakharyas joined07:22
aindilis left07:40
jonas2 joined07:40
domidumont joined07:47
domidumont left07:51
smls joined07:52
domidumont joined07:52
g4 joined07:55
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_o08:01
leont joined08:01
Xliff https://github.com/Xliff/p6-color-names/blob/master/lib/Color/Names.pm#L38 <- Proof08:02
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:02
no idea *why* that's required though08:03
Xliff smls: That's going to be hell on scoped sub names, though.08:04
smls ¯\_(ツ)_/¯08:04
Xliff I mean, if I am going to export routines outside of the EXPORT scope, how would I do it?08:05
::() doesn't seem to work.08:05
dakkar joined08:06
Xliff Returning this from sub EXPORT:08:06
# cw: Really want a SELECTIVE way to load these, instead of doing08:06
# them all at compile time.08:06
Gar...08:06
Returning this:08:07
{08:07
'&color' => ::("&Color::Names::color"),08:07
'&hex' => ::("&Color::Names::hex"),08:07
'&rgb' => ::("&Color::Names::rgb")08:07
}08:07
And trying the script above, I get: "Too many positionals passed; expected 0 arguments but got 1"08:07
So do I need to export signatures, too?08:07
moritz you don't need to export signatures08:08
Xliff wishes you could grep repositories on GitHub08:09
moritz Xliff: are those our-subs?08:09
Xliff Um. No.08:09
moritz then the namespaced lookup won't work08:09
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
However I will try.08:10
moritz and any reason you're not just using export tags?08:10
Xliff Same ish.08:10
Can you use EXPORT tags with a custom sub EXPORT?08:11
I thought that rendered the tags useless.08:11
Again... will try.08:11
Oh. LOL. Already had 'em in.08:11
So export tags AREN'T working.08:11
Again, on suggestion from smls++, sub EXPORT is moved ouside of unit package scope.08:12
MilkmanDan joined08:12
smls Xliff: It's just what cygx++ suggested to me... :)08:13
Xliff Again I need a custom sub EXPORT.08:13
So based on current rakudo behavior, export tags are superfluous.08:13
At least with current implementation, which I am stubborly still attached to.08:13
Give me a few more days with this roadblock.08:14
凸ಠ益ಠ)凸08:14
vytas joined08:15
Xliff Emoticon was for roadblock... not for #channel.08:15
cgfbee left08:18
TimToady sitting in Munich waiting for MUC --> DEV --> SJC08:25
cgfbee joined08:25
moritz waves from just 200km away08:32
nine waves from 183km away08:34
lizmat waves from 576 km away :-)08:39
pierre_ left08:41
leont waves from a good 100km further than lizmat :-p08:43
pierre_ joined08:50
pierre_ left08:55
pierre_ joined08:57
leont left09:07
TimToady boarding &09:08
diego_k joined09:09
diegok left09:10
Xliff Now getting this in parse stage: "Cannot find method 'merge-symbols': no method cache and no .^find_method"09:11
lizmat left09:11
El_Che I had a look yesterday at the packaging options (as a consequence about what rakudo a user must install). Pretty hellish09:11
Xliff Error goes away when I remove sub EXPORT;09:12
Just for the halibut, I will rakudobrew.09:12
go|dfish left09:13
RabidGravy joined09:15
Ulti anyone reported the broken rakduobrew builds?09:17
nine El_Che: what do you mean?09:20
mls left09:22
El_Che nine: I was looking for a fast way to create debs/rpms/what-have-you for rakudo.09:22
nine: so users can install an up to date pkg instead of rakudobrew09:23
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 repo09:27
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/fpm09: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 that09:29
nine El_Che: creating rpm packages is actually quite simple: https://build.opensuse.org/package/view_file/home:niner9:branches:devel:languages:parrot/moarvm/moarvm.spec?expand=109:31
ambs does this ring any bell? --- https://paste.perldancer.org/2pO6zrOjkNpPz09: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/view_file/home:niner9:branches:devel:languages:parrot/nqp/nqp.spec?expand=109:31
https://build.opensuse.org/package/view_file/home:niner9:branches:devel:languages:parrot/rakudo/rakudo.spec?expand=009:31
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:31
nine ambs: I suspect that you are running a very old perl6 version?09:32
moritz El_Che: I'm fine with fpm09:32
melezhik Hi all!09:32
ambs nine: ok, it might be09: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 awesome09:32
melezhik Anybody suggest a simple logger for perl6?09:32
moritz note(), say(), https://github.com/moznion/p6-Log-Minimal09:33
nine loves note09:33
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 idea09:35
smls Did Rakudo's start-up time improve recently?09:37
`perl6 -e ''` takes 0.14s now on my PC, I thought it had been 0.18s before but I could be mistaken.09:38
ambs nine: exactly that. thanks09:39
smls Or could switching from rakudobrew to building from git perl nine's instructions, have affected that?09:39
*per09:39
nine smls: I can't imagine rakudobrew having an influence on that. I claim it's innocent for once :)09:40
moritz iirc rakudobrew adds a layer of shell scripts around executables, but that shouldn't make 0.04s difference09:42
Xliff LOL, nine++ # /me hugs his rakudobrew09:42
bjz joined09:42
Xliff Is there a mechanism for supplying dummy export tags?09:43
pmurias joined09:43
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:44
mls joined09: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:46
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:47
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 it09:52
Xliff: rakudo.js will need to be included on REPLs09:53
Xliff Aaieee... minifyinh.09:54
...minifying, even.09:54
Ok, I can just feel RTs future pain from the minifying bugs.09:55
(depending on what you use to minify)09:55
It's been a while since I've had to worry about minifying Javascript.09:55
Fortunately, I have never had to write JS where it was necessary to Hide What Was Done for $work.09:56
Actualeyes1 left09:56
pmurias nqp-js is currently 9.5M unminified with currently no effort spend in reducing the size of the emitted code09:56
nqp-js-running-on-top-of-js09:57
go|dfish joined09:58
pmurias Xliff: re minification bugs, I think the current minifiers have different settings where you can set how much potential breakage you want09:58
bjz left10:00
Xliff Ah! That's nice.10:00
I've never bought the minifying-for-size argument, but then again, I've not written a suite of JS over 250k... ever .10:01
OOB - HAH! Oh Charlie Stross. You usually get the future right, but the references about MIPS is just.... cute.10:02
pierre_ left10:07
konobi oh wow... just looked at arrayref declarations of attributes or modifiers in Moose for the first time in a long time10:10
cgfbee left10:10
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 representation10:11
Actualeyes joined10:12
pierre_ joined10:13
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 :o10:16
it's Moo, Moo, Moo for everything I do10:16
cgfbee joined10:18
Xliff timotimo: What would be involved for that?10:18
timotimo Xliff: take a list and fill the CArray with it; look at the native array roles' implementation of ASSIGN for inspiration10:19
bjz joined10:19
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 it10:20
timotimo that's rakudo10:20
Xliff timotimo: ./nqp/MoarVM/src/6model/reprs/MVMArray.c10:24
?10:24
timotimo no, in rakudo10:26
under src/core/10:26
well, the CArray thing is in lib/NativeCall somewhere10:26
aindilis joined10:28
Xliff moar-nom/lib/NativeCall/Types.pm610:29
However I see references to ASSIGN-POS, but no .ASSIGN anywhere in rakudo source.10:29
timotimo oh10:29
Xliff Lemme modify grep.10:29
timotimo i think i meant to say STORE10:29
Xliff Heh.10:30
timotimo that's the method that should make "my @foo := CArray[int].new; @foo = Bool.roll(100_000)" work10:32
rather than having to "for Bool.roll(100_000) { @foo.push($_) }"10:33
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 bit10:34
Xliff np10:34
timotimo i hope others can assist :)10:34
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:42
Will look more into it, tomorrow (ie Tuesday, EDT, pm)10:43
I am up way past my bedtime... again.10:43
(will someone please mute that massive fusion generator in the sky, please?)10:43
<-- vampire10:44
dLeCamarae joined10:45
Xliff And it looks like CArray is missing some attributes in Array and List.10:46
pierre_ left10:46
Xliff goes *poof*10:46
XliffXliff_zzzzz10:46
mst timotimo++ # Oh. My. Gods.10:59
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
hence the ++11:01
Xliff_zzzzz HAHAHAHA!11:01
timotimo i was pretty proud of that one11:01
nine Well spotted :)11:01
labster left11:02
timotimo shit. with this tweet i've doomed myself to write a Shakespeare-based regex slang :(11:08
https://twitter.com/loltimo/status/77057853087901286511:08
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 efficiently11:10
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 ... :P11:11
nine reverse(@a) calls @a.reverse which in the case of a Range returns a reverse-iterator11:12
timotimo oooh11: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 OO11:13
moritz dLeCamarae: unless it's written in Perl 6, I recommend asking in #perl11:13
nine moritz: the .new suggests it's indeed Perl 611:14
dLeCamarae It is in Perl 6, of course. What do you take me for, a slug? :-D11:14
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 mistake11:14
ilmari_ilmari11: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
At work:11:15
This is Rakudo version 2016.06-83-gb93043a built on MoarVM version 2016.06-9-g8fc21d5 implementing Perl 6.c.11:16
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
Hmm ... my Tor access to home is failing. :-(11:18
https://github.com/supernovus/perl6-web/blob/master/lib/Web/App.pm6#L1111:18
That is the line that complains, but only in this setup. In every other it works. It says here:11:19
Too many positionals passed; expected 1 argument but got 211:19
in method new at /home/revence/.rakudobrew/moar-nom/install/share/perl6/site/sources/336A8A6602DE7CDDA67F44458EC605AD94184E17 (Web::App) line 1111:20
in method set-up at ./egrapha.pl6 line 79911:20
And that line 799 in egrapha.pl6 is:11:20
my $wapp = Web::App::Dispatch.new(SCGI.new(:$port));11:20
nine dLeCamarae: you linked to Web::App.new but showed code for Web::App::Dispatch.new11: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:21
nine ah is Web::App; sorry for the noise11:22
dLeCamarae nine Okay, hold on, let me get the other one.11:22
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
I think the * there should have been gone for a long time.11:22
dLeCamarae I think it does.11:23
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 older11:23
dLeCamarae Hmm.11:23
nine Don't remember exactly when but lizmat fixed that a couple months ago11:23
TEttinger left11: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:24
timotimo we've deprecated putting a * as the first argument to bless a long time ago, and completely removed it at some point, too11:27
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:28
cyphase left11:31
cyphase joined11:32
pmurias npm install -g nqp-js-on-js; nqp-js-on-js -e 'say("Hello World")' works11:34
akosgheri joined11:36
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:44
tree output of the repository in question could also be helpful11:45
tbrowder i can do that; give me a few minutes...11:46
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
(hi #perl6)11:47
mst blinks11:47
mst I'm not sure how precedence even works for prefix ops11:48
I mean, like, in general11:48
timotimo yeah, since prefixes hug the thing they prefix so tightly anyway11:48
masak mst: that's the reaction I was expecting11:48
timotimo i could imagine asking whether a prefix is tighter than a postfix11:48
masak it does make sense. let me explain.11:48
yes, what timotimo said.11:49
consider pre- and postfixes to share a precedence space11:49
mst ooooh, right11:49
masak then they can compete for eval-first11:49
...and that's also the answer to the riddle11:49
moritz well, my approach would be create a postfix operator with the same precedence as one of the prefix operators11:49
timotimo aye11:49
masak moritz: correct.11:49
or a nearby precedence, is enough11:49
moritz and then one prefix against the artificial postfix11:49
timotimo ++@foo[1]11:49
masak for actual code that demonstrates this (currently a bug in 007), see https://github.com/masak/007/issues/18911:50
mst right, sorry, you said 'one prefix op precedence higher than another prefix op'11:50
that's the one I can't understand11:50
masak mst: yes, I said that.11:50
mst if we're allowing postfixes as well, the question makes more sense11:50
masak mst: you test them *through* a postfix.11:50
mst: that's the only way you can get an observable.11:50
mst aha11:50
timotimo right, the postfix is just the piece of litmus paper11:50
masak right11:51
mst yes, ok, I now follow11:51
neat :D11: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 :P11:51
moritz introspection is cheating!11:51
:-)11:51
masak introspection is technique!11:52
moritz (and cheating is technique... )11:52
masak: hah, we're in resonance again!11:52
masak was gonna say11:52
it's the famous .se-.de entanglement11:52
obfusk left11:54
obfusk joined11:54
smls_ joined11:55
smls left11:55
tbrowder nine: the repository file tree is here: "https://gist.github.com/tbrowder/3880cbf51f51444327fd60461094b6c7"11:56
ilbot3 left11:57
canopus left11:57
Xliff_zzzzz Help: Is it not possible to grab the arguments to a custom "sub EXPORT()" before it goes looking for export tags. Or any way I can force dummy export tags. Since my error occurs in "stage parse" I am a little worried this is not possible.11:58
nine tbrowder: how exactly did you uninstall a dist?11:59
Xliff_zzzzz Currently, I can only do "sub EXPORT(*%l)". rakudo bails on "sub EXPORT(*@l)" if positional is given.11:59
timotimo well, yeah, :foo and :bar are named arguments, of course11:59
tbrowder nine: i was in the directory containing the module, under construction, and executed: "zef uninstall ."12:00
Roamer` *head scratch* am I misunderstanding something about what Hash[type] $var is supposed to mean? I mean...12:00
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:00
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:00
Xliff_zzzzz Yeah, well I don't give a toss about export tags, really. I just want to pass custom arguments to EXPORT so I can do some magic .12:01
nine tbrowder: please try removing /usr/local/rakudo-git.d/share/perl6/site/short/8144BFF032FBA84D9128DCD60D2A111A91A29BC812:01
Roamer` ...how exactly did it manage to put a Rat into a Hash[Int:D]?12:01
gabiruh joined12:01
tbrowder nine: WILCO12:01
nine Roamer`: Hash[Int:D] means the keys are defined Ints12:01
moritz nine: but that didn't validate either, because there's a Str key in there12:02
Xliff_zzzzz m: use v6.c; my Hash[Int:D] $wtf = Hash[Int:D].new(); $wtf<2> = 7.62; dd $wtf; dd $wtf<2>; my Int:D %fine; %fine<2> = 7.62;12:02
nine So...wait a second. Then you shouldn't be able to assign to <a>12:02
camelia rakudo-moar f2df2c: OUTPUT«Hash[Int:D] $wtf = (my Int:D % = "2" => 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:02
Xliff_zzzzz m: use v6.c; my Hash[Int:D] $wtf = Hash[Int:D].new(); $wtf<2> = 7.62; dd $wtf; dd $wtf<2>; my Int:D %fine; %fine<a> = 7.62;12:02
camelia rakudo-moar f2df2c: OUTPUT«Hash[Int:D] $wtf = (my Int:D % = "2" => 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:02
Xliff_zzzzz m: use v6.c; my Hash[Int:D] $wtf = Hash[Int:D].new(); $wtf<2> = 7.62; dd $wtf; dd $wtf<2>; my Int:D %fine; %fine<a> = 70012:02
camelia rakudo-moar f2df2c: OUTPUT«Hash[Int:D] $wtf = (my Int:D % = "2" => 7.62)␤Rat <element> = 7.62␤»12:02
Roamer` oooookay, so I had indeed grossly misunderstood things, but there's still some good about to come out of it? :)12:03
Xliff_zzzzz m: use v6.c; my Hash[Int:D] $wtf = Hash[Int:D].new(); $wtf<2> = 7.62; dd $wtf; dd $wtf<2>; my Int:D %fine; %fine<a> = 700; dd %fine12:03
camelia rakudo-moar f2df2c: OUTPUT«Hash[Int:D] $wtf = (my Int:D % = "2" => 7.62)␤Rat <element> = 7.62␤Hash[Int:D] %fine = (my Int:D % = :a(700))␤»12:03
ilbot3 joined12: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:03
pierre_ joined12: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 joined12:04
nine tbrowder: helps a lot being the one who implemented all of that :)12:04
Roamer` Xliff_zzzzz, ahh, I get it now... almost12:05
user9 joined12: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
I thought Hash[Array[Str:D]] was it, but apparently not12:05
Xliff_zzzzz Aiee!12:05
Roamer`, That specifies key types.12:06
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:06
moritz Roamer`: it's most likely a bug somewhere12: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:07
(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:08
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«=== SORRY!=== Error while compiling <tmp>␤Variable '$wtf' is not declared. Did you mean '%wtf'?␤at <tmp>:1␤------> my Hash[Int:D] %wtf; %wtf<2> = 7.62; dd $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, right12:09
Xliff_zzzzz Looks like there is type checking weirdness when attempting to attach a type check to keys.12:10
But that's just my Wild Aassed Guess based on 2 minutes with camelia.12:10
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:11
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 it12:12
Xliff_zzzzz, thanks12:12
Xliff_zzzzz Wow. So it's Hash[ValueType, KeyType]....12:13
Feels a little backward byt.12:13
s/byt/but/12:13
jnthn Just consistent parameter order12:13
kyclark joined12:13
jnthn Hash[ValueType] is a hash with the specified value but keys coerced to strings12: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
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:13
Xliff_zzzzz Roamer`, why do you think that's a bug?12:14
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 values12:15
brb12: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:16
smls_smls12:16
gfldex joined12:17
domidumont left12:19
domidumont joined12:21
nine tbrowder: added my findings12:23
tbrowder thanks12:23
kyclark left12:26
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", IME12:28
arnsholt And exponentially long time-to-bug-found, sometimes12:31
wamba joined12:32
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
in both cases you need to go and look; you need to get in a certain state of mind, etc12:33
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
Hmmm.... Or can I cheat and use dummy tags, but that would require adding dynamic subs to a package.12:35
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
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:37
adu joined12:38
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, thanks12:39
CIAvash m: Hash[Str, Int].new: 1,212: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
m: Hash[Str, Str].new: 1,212: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:44
kyclark joined12:47
MasterDuke joined12:50
MasterDuke left12:54
timotimo internal name, apparently12:54
rindolf joined12:55
patrickz joined13:01
patrickz pmurias++ #nqp-js on npm, yay!13:03
domidumont left13:04
domidumont joined13:05
timotimo jnthn wrote he "Elimianted" something ... i wonder how that works13:05
sufrostico joined13:05
dalek doc: 02f4ff8 | gfldex++ | doc/Language/typesystem.pod6:13:08
doc: show how to test for classness and enumness13:08
doc: review: https://github.com/perl6/doc/commit/02f4ff8b6a13:08
Xliff_zzzzz OK.13:09
M-Illandan left13:09
Xliff_zzzzz Another question. How can I access PACKAGE::EXPORT from a BEGIN phaser?13:09
Sgeo left13:09
ilmari[m] left13:09
Xliff_zzzzz %PACKAGE::EXPORT doesn't work. Neither does ::("PACKAGE::EXPORT").13:09
ilmari[m] joined13:09
Xliff_zzzzz ::("%PACKAGE::EXPORT") isn't the same thing.13:10
M-Illandan joined13:15
melezhik Hi! One question concerning perl6 gramma13:19
timotimo grammophone :D13:19
melezhik well, I mean grammar13:19
let's say I have two tokens foo and bar13:20
skids joined13:20
perlpilot yes, perl 6 grammars hold the key to world peace13: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 data13:21
adu left13:21
melezhik obviously token TOP { <foo> | <bar> } does not work13:21
nine melezhik: how is that obvious?13:22
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 trigered13:23
despite the fact input data may have entires matched to <bar> token13:24
yes, exactly13:24
I want to fire actions on both <foo> and <bar> sort of entries13:25
moritz you could have <foo> & <bar> to require both to match13: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:25
though let me add that this is a pretty atypical use case for regexes or grammers13: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 complicated13:26
arnsholt It's not quite clear to me what you mean13:26
moritz melezhik: I'm not called moritz.13:26
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 code13:27
melezhik sorry for typo moritz:13:27
moritz arnsholt: moricus!13:27
masak .oO( Ave Imperator, moritzuri te salutant )13:28
melezhik moritz: not sure if I understand what you mean13:28
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 string13:29
melezhik yes I am sure13:29
MilkmanDan left13:29
moritz melezhik: so instead you use regexes what they are good for, and parse in just one, more primitive way13:29
melezhik: and write user-space code to generate all the possible ways to combine the primitive matches into more advanced matches13: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 grammars13:30
moritz wants a pony in his grammar13:31
melezhik sadly if I can't have grammars which works like I say ...13:31
MilkmanDan joined13:31
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:36
Xliff_zzzzz masak: "We who are about to die, salute you!" ???13:38
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:39
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 filter13:40
lambd0x joined13:40
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-jokes13:41
cdg joined13: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-sight13: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
I did consider both, but the way I did it fits better with the original word13:45
perlpilot sure, but it all started from the "mortiz" typo13:45
masak that spelling always reminds me of The Adams Family, for some reason13:46
perlpilot ITYM "Addams Family" :)13:46
masak oh, I most likely do13:46
masak hangs his shed in hame13:47
lambd0x Hello everybody!13:47
timotimo greetings lambd0x13:47
masak helloooo λ0x13:47
ugexe mst: is just an artifact from when it used to be `require "Build.pm"` (before that stopped working for some Build.pm)13:48
[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
about hour-long interviews with scientists, science communicators, authors and other funny folks13:49
kyclark How can I unpack a list of pairs in a for loop?13:50
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:51
mst weird13:52
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:53
moritz kyclark: yes13:54
kyclark: it works for all objects, not just pairs13: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 more13: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
actually, if you put ^ at the beginning and end inside the brackets could work well13:55
moritz then you could just as well match two separate regexes13:55
kurahaupo joined13:55
kyclark OK, then for my case a List will be a better structure. Thanks.13:55
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 related13:56
melezhik as It told, it is going to be very complicated if one have many data tokens ( not only <foo> and <bar>)13:56
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:57
melezhik or only <bar> entries in input data13:58
timotimo you want "does this match anywhere? does this other thing match anywhere? how about this thing?"13:58
personally, i'd split it into one .match or ~~ per token you want to find13:58
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 )13:59
and third thing - I want to do it with a single perl6 grammar14:00
moritz but why?14:01
timotimo you can have "method TOP" which calls a match for each token14:01
and runs the action methods manually perhaps?14:01
melezhik moritz: why what? why I want it via perl6 grammar?14:02
timotimo yes, why indeed14:03
moritz melezhik: yes. And why do you want to do it in the first place?14:04
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 things14:05
arnsholt Do you have an example of the kind of text you're trying to parse?14:05
melezhik sure14:05
arnsholt This feels like an X Y problem14:05
melezhik this is dsl specification - https://github.com/melezhik/outthentic-dsl#dsl-code-syntax , I want to port it to perl6 using perl6 grammars, looks like I stick14:07
harmil joined14:07
melezhik let's have a simple case, I want to express generators: expression and regexp: expression in a single perl6 grammar rules14:08
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 fail14:08
like <generator> | <regexp> does not work14:09
timotimo well, with a grammar, it's anchored at start and end14:09
melezhik as if generator entires comes first in input stream then grammar matches them and stop14: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 end14:09
melezhik and other vise if regexp: entries comes first then grammar find them and stop ( ignoring generator entries )14:10
timotimo entries?14:11
oh, sorry14:11
it's confusing that the parts of the regexp are named "regexp" and something else :)14:11
so, did you try my solution with the .*? and the & in-between?14:11
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 works14:13
then only concern is the number of entires types14: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:14
harmil : an ultimate goal is to port https://github.com/melezhik/outthentic-dsl#dsl-code-syntax to perl6, and I am going to use grammars if it possible14:16
timotimo what does "plain regular text within asserts range" mean?14:16
arnsholt melezhik: https://gist.github.com/arnsholt/4ee0fa479b5c9dc61c80e72beb922b7d14:17
That's a sketch of how I'd start14:17
The different declarations in your DSL are distinct, so it's a question of either mathing one kind of declaration or another14:17
Then, if some of them share functionality, that's a question of how you structure the underlying logic classes, not the AST building14:17
timotimo it already says your DSL is line-based14:18
khw joined14:19
timotimo so i wonder why you would want to use a full-text-at-once based thing, which is pretty much what grammars are14:28
you'd have to re-create a line-by-line thing in grammars14:28
it's not hard, but you could leave it out completely if you wanted14:28
mst if you can't do line-by-line how do you have a repl?14:29
kyclark left14:34
timotimo the repl actually evaluates each line separately14:36
which is something we'd like to change in the future, too14:36
we've wanted to change that for a long time, actually14:36
smls m: my $str = "a"; dd (($str ~~ /b/) // "").Str14:38
camelia rakudo-moar 68443f: OUTPUT«""␤»14:38
smls ^^ is there a neater way to stringify a regex match, with 'no match = empty string'?14:39
my $str = "a"; say ~($str ~~ /b/) // ""14:39
m: my $str = "a"; say ~($str ~~ /b/) // ""14:39
nbg23 left14: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
*warnings14:40
acrussell joined14:45
timotimo you can "quietly { ... }"14:46
m: say quietly ~Nil14:46
camelia rakudo-moar 68443f: OUTPUT«␤»14:46
timotimo m: say ~Nil14: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:46
kyclark joined14: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:51
kyclark Are there profiling tools for Perl 6?14:52
lostinfog joined14:53
timotimo kyclark: we have "perl6 --profile ..."14:53
kyclark Oh, cool. Sorry, should have been obvious.14:53
timotimo hardly :)14:54
pierre_ left14:55
g4 left14:57
cdg left14:58
gregf_ llegedly14:58
oops :/ sorry14:58
cdg joined15:00
sakuya joined15:10
pmurias left15:11
cdg left15:11
perlpilot It would be neat if we had something like https://alpha.trycarbide.com/ for Perl 615:15
rmmm left15:22
lambd0x left15:22
Xliff_zzzzz Carbide would be a good thing for nqp.js, though.... right?15:23
I would shudder to think of the work necessary to get that working for MoarVM.15:24
But stilll...nifty.15:24
sakuya Is IO::Socket::INET support bind a local port like perl5 does .15:25
jonas2 left15:25
sakuya perl5 code : IO::Socket::INET->new( PeerAddr => '127.0.0.1', PeerPort => 3333, LocalPort => 23356,Proto => 'tcp'); works fine15:25
perl6 : IO::Socket::INET.new(:host<127.0.0.1>, :port(3333), :localhost<127.0.0.1>, :localport(23356); not working15:26
zacts joined15:27
Khisanth left15:27
rmmm joined15: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:28
cognominal left15:33
[Coke] .tell pmichaud that question predates you fixing the thing I couldn't fix15:40
yoleaux [Coke]: I'll pass your message to pmichaud.15:40
Khisanth joined15:40
[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 RT15:41
yoleaux [Coke]: I'll pass your message to pmichaud.15:41
[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:42
MetaZoffix joined15:45
geekosaur sakuya, https://docs.perl6.org/type/IO$COLON$COLONSocket$COLON$COLONINET#method_new15:46
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:48
ufobat joined15:52
patrickz left15:56
sakuya geekosaur, the page has not what i want15:57
dalek Inline-Perl5: dd99758 | niner++ | configure.pl6:15:58
Inline-Perl5: Fix configure.pl6 on rakudo-j15:58
Inline-Perl5:15:58
Inline-Perl5: Sadly $*VM.config keys are not standardized among backends.15:58
Inline-Perl5: review: https://github.com/niner/Inline-Perl5/commit/dd9975889915:58
cognominal joined16:00
sakuya left16:02
cdg joined16:03
edehont joined16:05
canopus left16:07
domidumont left16:10
itaipu joined16:14
canopus joined16:16
nine moritz++ # thanks for perl6-all-modules making my life easier16:16
zacts left16:16
rudolfochrist joined16:21
MetaZoffix left16:26
canopus left16:32
canopus joined16:39
moritz nine: you're welcome. Nice that others find it useful too16:42
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 know16:43
moritz timotimo: what did you want to know?16:45
lizmat joined16:46
timotimo wanted to know more about export/import tags16:46
rudolfochrist left16:46
moritz if/how they are used?16:46
ChoHag left16:47
dLeCamarae left16: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«=== SORRY!=== Error while compiling <tmp>␤Variable '@l' is not declared␤at <tmp>:1␤------> (5..11), (12..15); my $x = (2..7); for @l -> $y { say so $x (&) $y } ␤»16:49
kyclark Sorry16:50
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 module16:50
woolfy joined16:51
nine moritz: in case you wonder. That's what I just used it for: https://github.com/perl6/toolchain-bikeshed/commit/6b32c741de2a0cf13a2cea877c98b8a2faa3159316:55
pierre_ joined16:56
pierre_ left17:00
leont joined17:15
zakharyas left17:15
MilkmanDan left17:17
mephinet joined17:17
mcmillhj joined17:22
MilkmanDan joined17:26
firstdayonthejob joined17:40
leont left17:41
rudolfochrist joined17:41
dakkar left17:42
margeas left17:42
LeCamarade joined17:45
LeCamarade This is Rakudo version 2016.04 built on MoarVM version 2016.0417:45
implementing Perl 6.c.17:46
Hmm.17:46
Time for an upgrade.17:46
mst LeCamarade: do you happen to have a local::lib setup for perl5 and feel like testing something?17:47
domidumont joined17:50
LeCamarade I do not really understand Perl 5 stuff anymore (if ever), but I guess I can run whatever you have.17:50
I mean, I do not know what local::lib would even be. I guess a library of some sort.17:51
Xliff_zzzzz Moritz: How large is p6-all-modules17:52
I may need to do some grep diving myself.17:52
skrshn joined17:54
skrshn Newbie question17:54
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:54
Xliff_zzzzz Well... 187M; (Answering my own question)++17:55
That's actually not bad.17:55
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:56
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:57
MasterDuke joined17: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␤»17:59
rudolfochrist left18:00
tailgate How do I get File::Spec::Functions?18:00
MasterDuke tailgate: you could clone and install it manually, or use panda or zef18:02
tailgate Ah. I tried variations of `panda install File::Spec` and it wasn't in the ecosystem18:02
and it's a dependency for perl6/doc18:03
Xliff_zzzzz Much of the nitty gritty EXPORT examples seem to be in rakudo-p518:03
MasterDuke you may need to do a 'panda update' first18:03
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
Tell me if there is a better way.18:04
Xliff_zzzzz Some of this looks promising...18:05
bob777 left18:06
MasterDuke tailgate: ahh, that's a Perl 5 module18:07
itaipu left18:07
MasterDuke kyclark: you might be interested in SPEC::Func18:07
leont joined18:08
itaipu joined18:08
kyclark MasterDuke, how do I pull up docs on things like that? "perl6 --doc SPEC::Func" doesn't work.18:08
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 case18:09
kyclark OK, that's useful. Thanks!18:11
itaipu left18:22
domidumont left18:23
itaipu joined18:27
Xliff_zzzzz \o/18:30
\o\18:30
/o/18:30
Almost working.18:30
I need to do "use Color::Names <a>.list" for some reason.18:30
Otherwise I get a weird error.18:30
If I "use Color::Names <a b>", it's a proper list and I don't need to .list18:31
Doing "multi sub EXPORT($a)" doesn't seem to work.18:32
m: dd <a>18:32
camelia rakudo-moar 68443f: OUTPUT«"a"␤»18:32
Xliff_zzzzz m: dd <a>.WHAT18:32
camelia rakudo-moar 68443f: OUTPUT«Str␤»18:32
cdg left18:34
MetaZoffix joined18:34
MetaZoffix Xliff_zzzzz: what's your export sub is like? Sounds like you just need to make it slurp18:35
sub EXPORT (*@names) { ... }18:35
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:36
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«=== SORRY!=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> say join .dir-sep, .splitpath: "a/b/c"; <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:37
Xliff_zzzzz However if I don't specify argument to "use", I get "Cannot find method 'merge-symbols': no method cache and no .^find_method18:38
"18:38
MetaZoffix Got code you can pastebin?18:38
Xliff_zzzzz MetaZoffix: Already pushed to GitHub --> https://github.com/Xliff/p6-color-names/blob/master/lib/Color/Names.pm#L718:39
girafe joined18:41
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:43
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:44
Xliff_zzzzz MetaZoffix, one of them.... yeah18:45
MasterDuke++ # Conciseness!18:45
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:47
nadim_ Hi, do we have something that can give us an object size, in bytes, like Devel::Size?18:50
gabiruh left18:50
MetaZoffix m: my @a = <a b c d e f>; my @b = <c d z x f>; say @a.Set{@b}:k18:50
DANtheBEASTman left18:50
kaare__ joined18:51
camelia joined18:51
M-Illandan left18:51
sufrostico left18:51
kaare_ left18:51
krunen_ left18:51
DrForr left18:51
sjn left18:51
japhb left18:51
pmichaud left18:51
skrshn MasterDuke: thanks18:51
sufrostico joined18:51
rindolf left18:52
krunen left18:52
Ulti left18:52
masak left18: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
literal left18:52
avar left18:52
benchable6 MetaZoffix, starting to benchmark the 1 given commits18:52
MetaZoffix, ¦«HEAD»:3.687018: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 commits18:52
sjn joined18:52
benchable6 left18:52
hanekomu joined18:52
masak joined18:52
bitmap left18:52
japhb joined18:52
pmichaud joined18:52
krunen_ joined18:52
BooK joined18:53
Xliff_zzzzz Well this is good progress for me! 95% complete.18:53
ChanServ set mode: +v18:53
Ulti joined18:53
avar joined18:53
avar left18:53
avar joined18:53
Xliff_zzzzz MetaZoffix++; MasterDuke++, timotimo++18:53
benchable6 joined18: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 commits18:54
MetaZoffix benchable6: so... any word on that bench I asked you to do?18:54
ooh, neat18:54
MasterDuke it died on the second one18:54
Matthew[m] left18:55
sufrostico left18:55
benchable6 left18: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:55
MetaZoffix chuckles18:56
MasterDuke the server is in the middle of building old commits18:56
bitmap joined18:56
DANtheBEASTman joined18:56
chee joined18:56
gabiruh joined18:56
benchable6 joined18: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 commits18:56
M-Illandan joined18:57
Bucciarati joined18:57
DrForr joined18:58
benchable6 MetaZoffix, https://gist.github.com/9d2ec8216117a1b2fcde6722f0b3876e18:58
ugexe left18:59
literal joined19:00
harmil_wk MetaZoffix: what's |||19:01
I don't see it in the Routines doc19:01
MetaZoffix harmil_wk: new operator we ivented. Makes stuff run about 1000x faster :P19:01
harmil_wk: it's a special syntax for benchable6 robot to specify to different pieces of code to bench19:01
*two19:01
MasterDuke fyi, you can do more than two19:02
harmil_wk Ah, darn, I was about to go retrofit my modules for turbo mode. :-)19:02
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 commits19:03
krunen joined19: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 joined19:04
frew joined19: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:05
benchable6 left19:07
nebuchadnezzar left19:07
MasterDuke huh, it's still running your benchmark, don't know why it quit19:08
Xliff_zzzzz Weird... now I am getting this "Cannot invoke this object (REPR: Uninstantiable; EXPORT)" if I define multi EXPORTs19:08
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 bench19:09
Also... why is it taking so long to run it? There are just 100 iterations?19:09
nebuchadnezzar joined19:09
darutoko left19:10
Matthew[m] joined19:10
MetaZoffix Oh, I guess I over-did it with the array sizes19:10
MasterDuke it runs each option 10 times19:11
MetaZoffix oh19:11
Well, even 1 time is taking forever on my box so.. If it's still running, it may be useful to kill it :P19:11
MasterDuke and the server is pretty busy right now building+compressing commits19:12
lostinfog left19:12
MasterDuke ha, will do19:12
benchable6 joined19:13
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:15
MetaZoffix Had to kill @a.Set{@b}:k version after 2 minutes, for a single iteration.19:16
MetaZoffix left19:16
nine El_Che: it only clones nqp if you tell it to with --gen-nqp19:21
skids m: enum FF <zero one two three>; FF(2).perl.say; FF(two).perl.say19: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«=== SORRY!=== Error while compiling <tmp>␤Unable to parse expression in typename; couldn't find final ')' ␤at <tmp>:1␤------> enum FF <zero one two three>; FF(FF( )).perl.say; ␤»19:25
ugexe joined19:27
wamba left19:32
Wiertek joined19:35
setty2 joined19:40
rindolf left19:41
Actualeyes left19:42
rindolf joined19:46
MasterDuke left19:48
MasterDuke joined19:54
eliasr joined19:55
CIAvash left19:56
Wiertek93 joined19:56
smls left19:57
cdg joined19:58
Wiertek left20:00
Wiertek joined20:00
Wiertek93 left20:04
cpage_ left20:04
cpage_ joined20:04
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 later20:05
[Coke] --gen-nqp implies --gen-moar, IIRC.20:05
espadrine joined20:06
[Coke] too much backlog: what's the question?20:06
moritz [Coke]: it's the other way 'round20:07
[Coke]: --gen-moar implies --gen-nqp20: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
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
[Coke]: I was looking at packaging, i.e. without the "generate from github part"20:08
[Coke] it's not circular; rakudo needs nqp needs moar.20:09
El_Che but moar is not release as a tar?20:09
(or part of the rakudo dist?)20:09
moritz sure there are more tarballs20:09
pecastro left20:10
moritz El_Che: take a look at a the rakudo-star makefile; it works with tarballs20:10
[Coke] El_Che: http://moarvm.com/releases.html20:10
El_Che moritz: great tip. Thanks20:10
rudolfochrist joined20:11
pmurias joined20: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 snippets20:11
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 joined20:12
[Coke] I know most of those words.20:12
pmurias perlpilot: there are a lot of things that are ultra awesome for short things but don't scale at all20:13
[Coke] on docker, there's already a prebuilt thing that includes docker/nqp/moarvm20:13
El_Che [Coke]: I have my own rakudo docker image (using rakudobrew) for my apps20:13
[Coke] sorry includes rakudo/nqp/moarvm20:13
El_Che [Coke]: this docker is to build packages20:13
[Coke] ... why?20:14
... nevermind.20:14
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 it20:14
the docker part is that everyone here can run it, and create the packages when needed20:15
rudolfochrist left20:15
calopter joined20:16
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 users20:17
[Coke] "the docker part is" ahhhh, thanks20:17
TEttinger joined20:17
El_Che [Coke]: the easy way it to create full vm's, but that's not portable20:18
[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:19
skrshn left20:19
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 element20: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 that20:23
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 mind20:24
calopter moritz: Thanks!20:24
geekosaur that was aimed more at [Coke]'s comment re macports20:24
[Coke] geekosaur: I'm using the native Docker.app now20:24
geekosaur sure, and it's using a vbox under the covers20:25
El_Che I had a look at Snap (the multi distro pkg by Ubuntu) but I haven't seen it in the wild yet20:25
geekosaur docker needs cgroups, otherwise it can only control a hypervisor20: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
it's not using that now20:25
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 hypervisor20:26
*maybe* they have some cut-down version that can partially --- but only partially --- simulate it using the sandbox framework.20:26
but that will have lots of limitations20:27
(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 case20:27
(you can run it natively of course)20:27
itaipu left20:27
pecastro joined20:27
itaipu joined20: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:28
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
(there might even be a minimal hypervisor in there, which might be used by the sandbox on 10.11)20:30
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 yeh20:31
geekosaur already knew windows uses hyper-v for WoW (32 bit windows apps running in 64-bit windows)20:31
El_Che https://github.com/mist64/xhyve <-- probably the one on osx20:32
https://hharnisc.github.io/2016/06/16/developing-inside-docker-containers-with-osx-2016.html20: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
there you go20:34
moritz calopter: sure, why not?20:34
geekosaur vaguely familiar with xhyve, knows it's modeled after bhyve (freebsd's answer to linux-kvm)20:35
cpage_ left20: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:35
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 release20:36
pullphinger joined20:40
El_Che [Coke]: mac ports is pretty neat20:43
looking at the ports now20:43
jjido joined20:45
zengargoyle left20:52
jjido left20:52
jjido joined20:53
espadrine left20:53
zengargoyle joined20:54
zengargoyle left20:59
skids left21:00
pmurias left21:00
zengargoyle joined21:00
Wiertek left21:01
cpage_ joined21:04
mcmillhj left21:13
El_Che ok, the container is building some stuff. I am curious :)21:19
calopter left21:19
nadim_ left21:22
edehont left21:23
nadim_ joined21:23
pullphinger left21:23
El_Che root@09a2f80615fe:~# /opt/rakudo/bin/perl6 -v21:26
This is Rakudo version 2016.08.1 built on MoarVM version 2016.0821:26
implementing Perl 6.c.21:26
this could work \o/ :)21:26
rindolf left21:27
acrussell left21:29
kyclark left21:30
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 code21:31
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:32
jjido left21:32
mcmillhj joined21:33
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 application21:34
harmil_wk That seems ... graceless, but I guess it would work. There's really no ability to terminate a thread?21:34
jjido joined21:34
harmil_wk But thank you for answering, I don't want you to think I'm not grateful, just grumbly21:35
mcmillhj left21:38
AndyBotwin joined21:38
timotimo i think at some point we may get a "cause that thread to have an exception thrown" feature21:40
but terminating threads is pretty problematic21:40
when you have the possibility to throw an exception, you can get things like "proper clean-up of shared resources and locks"21:42
edehont joined21:43
leont terminating threads cleanly is very non-portable, AFAIK21:44
edehont left21:45
timotimo that's what i've heard, yes21:46
mcmillhj joined21:46
margeas joined21: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 wild21:46
leont I mainly know it because of some completion script that doesn't like being killed with control-C21:47
timotimo heads towards bed21:47
leont It annoys me every time21:47
timotimo lik dis if you cri everitim21:48
mcmillhj left21: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-to21:51
El_Che ugexe: also for zef itself?21:52
ugexe sure21:52
El_Che ok, trying, thx21:52
nadim_ left21:54
woolfy left21:56
El_Che ugexe: probably extremely silly, but zef complains about the dir: http://paste.ubuntu.com/23113650/21:59
ugexe: the idea is to add zef to a fresh compiled rakudo in order to pkg it21:59
ugexe did you read the README?22:00
El_Che yes, sorry if I missed something22:00
ugexe https://github.com/ugexe/zef#custom-installation-locations22:00
El_Che thx22:00
it works22:03
grondilu left22:03
mcmillhj joined22:03
bbkr joined22:03
cpage_ left22:04
leont lizmat: have an issue for that test counter issue22:04
Will try to polish tomorrow22:05
kyclark joined22:07
mcmillhj left22:08
Sgeo joined22:08
TimToady waves from DEN22:09
lizmat waves from LJU (well, actually a few clicks away from that)22:11
leont I challenge you to pronounce it properly! :-p22:14
jjido left22:14
mcmillhj joined22: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::Harness22:15
El_Che ugexe: so it's probably better the user installs his own zef22:16
itaipu left22:18
firstdayonthejob left22:18
El_Che ugexe: maybe the config.json could help me here22:18
good night, going to bed22:19
itaipu joined22:19
mcmillhj left22:19
maybekoo2 joined22:20
dalek doc: 8cfffc2 | coke++ | doc/Type/Range.pod6:22:22
doc: remove trailing whitespace22:22
doc: review: https://github.com/perl6/doc/commit/8cfffc2c9f22:22
maybekoo2 left22:24
maybekoo2 joined22:25
skids joined22:27
Wiertek joined22:33
mcmillhj joined22:33
cpage_ joined22:35
kyclark left22:36
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:38
mcmillhj left22:38
RabidGravy left22:40
ugexe https://github.com/ugexe/zef/blob/master/lib/Zef/Service/TAP.pm6 # just basics22:41
the indirect names are used so that older rakudos don't complain22:42
El_Che: you can also install your modules invoking zef directly; it never needs to be installed at all22:48
Wiertek left22:48
leont Ah, cool22:48
kurahaupo left22:51
mcmillhj joined22:52
harmil_wk left22:56
mcmillhj left22:57
leont left23:05
Cabanossi joined23:05
akosgheri left23:06
mcmillhj joined23:21
mcmillhj left23:26
skids could someone with the appropriate bits flag RT#124251 as testsneeded?23:32
synopsebot6 Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=12425123:32
mcmillhj joined23:52
MasterDuke left23:53
mcmillhj left23:56
pierre_ joined23:58

Logs Search ←Prev date Next date→ Channels Documentation