»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
buggable New CPAN upload: P5built-ins-0.0.2.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.2.tar.gz 00:05
Geth doc: 517c494bea | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/List.pod6
Fix URL to sub
06:59
synopsebot Link: doc.perl6.org/type/List
Geth doc: 028cc3eb92 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/List.pod6
Fixup roundrobin docs

  - It ain't a method, but a sub
   Closes github.com/rakudo/rakudo/issues/1447
  - Tweak description: lists *can* be of equal length if the number of
   items is the same
07:01
AlexDaniel committable6: uptime 08:01
committable6 AlexDaniel, 15 hours, 53 minutes, and 11 seconds, 255.550781MiB maxrss. This is Rakudo version 2018.01-29-ga2499c90f built on MoarVM version 2018.01 implementing Perl 6.c.
AlexDaniel timotimo: I think the memory leak is gone
Geth whateverable: dbd6821bc9 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 5 files
Adapt “Failed to resolve” tests to rakudo changes

The message is simply different now. It is clearly LTA so see this rakudo issue: github.com/rakudo/rakudo/issues/1449
08:38
shinobi-cl Hi! I want to make a class X which purpose is to serve as a helper object to other class, lets call it A. But, i want to avoid having a public new method for this class X, so is not possible to create a X object directly. I still need, though, to create it from my class A. 08:56
this should be possible: my A $a = A.new(); my X $x = $a.createX(); 08:57
this should not: my X $x = X.new(); 08:58
lizmat shinobi-cl: class X { method new { die } } 09:00
shinobi-cl lizmat: Then, how should i write this? class A { method createX() { #---> how do i create my X here? without a X.new? <-----# } } 09:01
i know that the new() is only an arbitrary name, but the problem is how to make this new() (or whatever name it has) only callable from inside A. Or A's package. 09:03
Or make it only callable from A's source file. 09:04
shinobicl or instead of callable, make new() fail or die if it is called from outside A. (this might be saner, since one kind of expects to have a new, making it fail with a "how to use this: " message) 09:07
lizmat docs.perl6.org/routine/bless # shinobicl 09:23
shinobicl mmmm, i see. Thanks lizmat++ 09:24
gfldex shinobicl: method lookup always happens at runtime. So hiding new doesnt get you much. The best way is to keep the helper class as a whole private. 09:26
Geth whateverable: 2ae0d7012c | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable.pm6
Preserve trailing newlines in some cases

So that evalable acts more like camelia
09:27
shinobicl The helper class is actually an Index (likt the one you create on a database table). The table is an immutable object, however, for speedy search, you can create other indexes. So the indexes have to live outside the immutable table object, that's why i need to have the helper index type available outside. 09:28
my TableObj $t1 = TableObj.new(); # $t1 is immutable my TableObj::Index $index = $t1.createIndex("field1"); #... You can use $index later for other stuff related to $t1 09:31
shinobicl but having new "hidden" is not actually a requirement, i was just wondering if it was possible, for example, using introspection to know form which package i am actually calling TableObj::Index::new. 09:32
know from*
Geth whateverable: 63a813d448 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/quotable.t
Test for “OK, working on it” message

The change was done long time ago and the test file was bitrotted. Now these tests should pass.
Maybe this message should be sent privately, I'm not sure yet. See issue #190.
09:35
Geth whateverable: 367ce10b14 | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable.pm6
Make $GIST-LIMIT ours

Just to be consistent with other things
11:03
whateverable: 6e23eeacbf | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable.pm6
Return instead of grumbling

Otherwise Quotable quits too early if one of the channels has no messages matching the regex.
hankache hello #perl6 12:13
AlexDaniel o/ 12:24
DrForr Afternoon. 12:31
Harzilein hi 13:50
DrForr Wow, that was quick. 13:53
titsuki Hi #perl6. I have a question. 15:09
Is there any way to do the following with META6.json and zef automatically?:
I want to install a patched version of term::termios when installing Terminal::Getpass. 15:10
AlexDaniel titsuki: I don't think there's an easy built-in way for that, but any chance to get your changes upstream? 15:11
I see there's a pull request 15:12
.seen krunen 15:13
yoleaux I saw krunen 9 Jan 2016 16:24Z in #perl6: <krunen> [Coke]: (re moving Rakudo release tags) I thought I only said it was talked about at some point, but confused discussion happened. Sorry.
titsuki He seems busy and doesn't have time to review my PR.
AlexDaniel I see…
titsuki: well, you can fork it… 15:15
at least temporarily
Terminal::Getpass::Termios maybe
titsuki AlexDaniel: Thanks! I'll create that one. 15:16
japhb Isn't that what having auth be a part of the module full name is for? 17:02
So that you can refer to your own fork of the original repo, both at install and use time? 17:03
Well, *one* of the uses of it, at least 17:05
AlexDaniel japhb: I guess you're right
titsuki
although I don't know what's going to happen if you “zef install Some::Module
will it ask you to choose a specific one?
titsuki Is it a recommended way to use auth field? 17:12
It seems that it will confuse users.
mst titsuki: the whole point of the auth field is to be able to have your own version of something that doesn't interfere with the original version 17:16
titsuki mst: Then if there are two "Some::Module", how does "zef install Some::Module" behave? 17:18
japhb titsuki: You say 'zef install Some::Module:auth<foo>', IIRC 17:30
titsuki japhb: So, zef always requires auth feald if there are two modules that have the same name? 17:32
*field 17:33
japhb titsuki: I haven't tried it recently myself. ugexe would know.
But yeah, ISTR that.
titsuki japhb: I see. Thanks! 17:34
buggable New CPAN upload: Term-termios-0.0.1.tar.gz by TITSUKI cpan.metacpan.org/authors/id/T/TI/...0.1.tar.gz 18:25
Geth whateverable: da0d62a309 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Disable tests that are causing SEGVs

See issue #24 and rakudo/rakudo#1259
18:33
whateverable: 9c0364268d | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/evalable.t
Fix test descriptions
synopsebot RAKUDO#1259 [open]: github.com/rakudo/rakudo/issues/1259 [SEGV][regression] SEGV when running whateverable tests
whateverable: a06d59d35e | (Aleks-Daniel Jakimenko-Aleksejev)++ | 3 files
Add trailing newlines to tests

Adapting tests to the new behavior, see this commit: 2ae0d7012caf0e57a548d6983adc05939ce651b9
whateverable: 14d3fceff5 | (Aleks-Daniel Jakimenko-Aleksejev)++ | t/bisectable.t
Fix bisectable tests by increasing the timeouts

Because now the commits that it is hitting are in long-term storage mode, so it takes a bit more time to do everything.
18:35
Geth whateverable: 692ab52fb6 | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/Reportable.p6
Avoid parens

Just to be consistent with other code in that project.
18:45
whateverable: 1c08f45f8b | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/Reportable.p6
Await for the snapshot

To be honest, I no longer remember why I did this change. According to the code it should work either way. There must be a good reason, but I can't remember it now.
AlexDaniel I guess the lesson here is to commit your changes immediately :D 18:49
sometimes I like things to be battle-tested, but then I look like an idiot when I do that ↑ 18:50
moritz you can always commit on a branch that's not master 18:52
and if the battle-testing doesn't work out, go back to master
AlexDaniel moritz: that sounds about right, but then this stuff is on the server… 18:56
and if I commit there, it'll work actually but not entirely right?
like no signing and everything
so I guess it'll be easier to commit locally, then just throw the files to the server… 18:57
OK let's admit it, looking like an idiot is an easier solution 18:58
Geth whateverable: 397a2776a2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/Reportable.p6
Monkey patch the PATH env var to make things work

There's no perl6 in the PATH when these are running as a systemd service. There's probably a better way to do it, but right now this works. 🙈
19:01
b2gills m: class A { my class X {} }; X.new # shinobi-cl You can hide a class definition from being visible from the outside by using `my` instead of the default `our` 20:06
camelia You cannot create an instance of this type (X)
in block <unit> at <tmp> line 1
geekosaur that's a bad example, you;re getting the X::... exceptions 20:07
Geth whateverable: ca05e7c185 | (Aleks-Daniel Jakimenko-Aleksejev)++ | services/whateverable@.service
Precomp files don't need to be writable

As long as these are generated by something else. Or so it seems. The fact that files at these paths are used at all is LTA and this will be addressed later.
21:08
whateverable: f7ed6883c0 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Temporarily point to github blockers

Until zoffixznet/r6#11 is resolved, or something else comes up…
SmokeMachine m: class C {has $.a; has $.b = .Str with $!a} # should this work? 22:26
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable $!a used where no 'self' is available
at <tmp>:1
------> 3lass C {has $.a; has $.b = .Str with $!a7⏏5} # should this work?
SmokeMachine m: class C {has $.a; has $.b = $!a.defined ?? $!a.Str !! Str} 22:27
camelia ( no output )
timotimo m: class C {has $.a; has $.b = do .Str with $!a} 22:53
camelia ( no output )
timotimo SmokeMachine: does that do what you want?
SmokeMachine timotimo: that makes sense!!! I was conditionally declaring the attr... thanks! 22:54
gfldex m: class C {has $.a; has $.b = { .Str with $!a }() }; dd C.new(:a<42>); 22:56
camelia C.new(a => IntStr.new(42, "42"), b => "42")
gfldex .oO( In Perl 6 you can do without do … )
timotimo m: class C {has $.a; has $.b = ( .Str with $!a ) }; dd C.new(:a<42>); 22:58
camelia C.new(a => IntStr.new(42, "42"), b => "42")
timotimo you don't have to curl up and cry, either
that pun didn't work at all :|
SmokeMachine Sorry, but I was thinking...As in cat of the hat, thing 1 and thing 2 can be called thing b and thing a... that shows that the thing 1 isn’t more important than thing 2, as thing a isn’t more important than thing b... would it make sense if we did something similar to the Perl languages? Call Perl 5 and Perl 6 of Perl A and Perl B? Or something like that?
timotimo but then who gets the A? 22:59
i'd say we call them Perl E and Perl 6
what's more important, the letter or the number? neither!
teatime SmokeMachine: really you have the same problem with A and B as 1 and 2
timotimo alternatively Perl 5 and Perl F, of course
teatime you'd need like Perl Red and Perl Blue :)
timotimo's is fun too
when my MMO raiding guild got big enough to have two raid teams, I chose to named them Team 1 and Team A 23:00
SmokeMachine teatime: is, but the more “important” on letters is less “important” on numbers, and vice-versa
teatime nobody wants to be on the B-team
SmokeMachine: perhaps 23:01
SmokeMachine The one on the b-team is also on the team #1... 23:02
SmokeMachine As who is on a-team is on team #2 too... 23:03
But I’m sorry... I was just thinking...
teatime later, I quit the MMO guild because no one appreciates volunteer work. 23:04
perhaps there's a lesson in there.
SmokeMachine I was thinking about it because I bought 2 T-shirt’s for my 2 dotters 1 of thong 1 and the other one of thing 2... so which one should I give to what dotter? 23:06
gfldex how about Perl Win and Perl Awesome? 23:16
gfldex .oO( use Awesome.d; )
timotimo i'd like to -1 on red and blue 23:18
gfldex indeed, wouldn't work for colour-blind folk :-> 23:20
teatime timotimo: it was definitely not a sincere suggestion. 23:20
timotimo while red vs blue got a few chuckles out of me back in the day, nowadays it has connotations that i'd like to keep as far away as possible 23:34
SmokeMachine timotimo: do you mean Pokémon? 23:43
timotimo we can only do pokemon allegory if we also have a third one 23:49
TEttinger Perl Pearl and Perl Diamond 23:51
timotimo and pearl emerald will be ruby implemented on the nqp stack 23:53
perl emerald*
also, our new version of perlmonks will be called the perl mistery dungoen
dungeon*
TEttinger misery dungeon
timotimo mystery*
TEttinger perlemon, gotta grep em all 23:54
timotimo m)
TEttinger perl funk and perl jazz 23:55
timotimo google search for "perler" ;)
perl zig and perl zag
TEttinger perler or pearling?
one of them is a rather painful wikipedia article 23:56
teatime I am going to pretend they're both about knitting, and not look.
TEttinger that's for the best
except that's purl
timotimo teatime: "perler" is the art you make with these little plastic tubes that you stick on a board of little spikes and later melt together with an iron 23:57
TEttinger pearling involves russian prisons and is in the body modification category on wikipedia 23:59