»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
TreyHarris ryanth_: I've just written an addendum that should help. One moment and I'll upload the patch and you can let me know if it looks ok to you 00:11
Geth doc/traps-range-whitespace: 11cd1a269a | (Trey Harris)++ | doc/Language/traps.pod6
Traps: point at operator trap in whitespace section

This particular trap is regarding an operator, but is created by incorrect use of whitespace, so it should probably be mentioned in both places.
00:19
doc: treyharris++ created pull request #2692:
Traps: point at operator trap in whitespace section
TreyHarris ryanth_: ↑ 00:20
ryanth_ TreyHarris: Having a look now 00:21
TreyHarris whoops, first time using this editor tool to create a pull request and it made the branch in the perl6/doc repo instead of my fork.
I'll delete it once it's merged. 00:22
ryanth_ TreyHarris: It looks good to me. I might suggest s/confused with/confused for/ so you don't have two "with"s. Might read slightly better, but it's fine as is, too. 00:24
TreyHarris "mistaken for" is even better I think. Thanks. 00:32
ryanth_ Yep, perfect.
Geth doc/traps-range-whitespace: 3fba84d143 | (Trey Harris)++ | doc/Language/traps.pod6
Fix awkward wording.
00:34
Geth doc: b0013f9ba5 | (Trey Harris)++ (committed using GitHub Web editor) | doc/Language/traps.pod6
Traps: point at operator trap in whitespace section (#2692)

  * Traps: point at operator trap in whitespace section
This particular trap is regarding an operator, but is created by incorrect use of whitespace, so it should probably be mentioned in both places.
00:36
synopsebot Link: doc.perl6.org/language/traps
tbrowder SmokeMachine: I just updated from master and got farther but no full sucess. I will look into it a bit more in the morning. I have changed my model from the one on the PR and I am pushing my latest now. 00:45
tony-o .tell jmerelo i have a PR for rakudo that will allow us to simplify the zef plugin system, once that is merged, then we can modify the way zef handles plugins, _then_ i'll write a blog about extending zef 00:49
yoleaux tony-o: I'll pass your message to jmerelo.
Geth ecosystem: alabamenhu++ created pull request #441:
Add Fluent
02:16
titsuki bisectable: class A { has @.a; submethod BUILD(:@!a) {}; method hello { say @!a; }}; class B { has @.b; submethod BUILD(:@!b) {}; method bye { say @!b; }}; class C is B is A { }; my $c = C.new(:b([1,2,3]),:a([3,4,5])); $c.bye; $c.hello; 06:46
bisectable6 titsuki, Bisecting by output (old=2015.12 new=c26ca6b) because on both starting points the exit code is 0
titsuki, bisect log: gist.github.com/c7a1acf31a761dd4a1...6ab015fdcf 06:47
titsuki, (2017-10-07) github.com/rakudo/rakudo/commit/16...81067d3f8c
jmerelo squashable6: status 06:57
yoleaux 00:49Z <tony-o> jmerelo: i have a PR for rakudo that will allow us to simplify the zef plugin system, once that is merged, then we can modify the way zef handles plugins, _then_ i'll write a blog about extending zef
squashable6 jmerelo, Next SQUASHathon in 13 days and ≈5 hours (2019-04-06 UTC-14⌁UTC+12). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo .tell tony-o: great! Thanks!
yoleaux jmerelo: What kind of a name is "tony-o:"?!
jmerelo .tell tony-o great! Thanks! 07:00
yoleaux jmerelo: I'll pass your message to tony-o.
Geth ecosystem: 04bc10e828 | L'Alabameñu++ (committed using GitHub Web editor) | META.list
Add Fluent

Add the Fluent localization framework
07:10
ecosystem: a365a51c7a | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Merge pull request #441 from alabamenhu/patch-3

Add Fluent Thanks!
Geth doc: 8e36d90171 | (JJ Merelo)++ | doc/Language/terms.pod6
Reflow, de-indent and elimination of PREVIEW, closes #2687
07:44
synopsebot Link: doc.perl6.org/language/terms
Geth doc: efc2d4616b | (JJ Merelo)++ | doc/Type/Mu.pod6
Clarifies explanation and example, closes #2693
07:54
synopsebot Link: doc.perl6.org/type/Mu
Geth doc: bf7ad1a16d | (JJ Merelo)++ | doc/Language/traits.pod6
Eliminates m:; refs #2695
09:04
synopsebot Link: doc.perl6.org/language/traits
Geth doc: c3b6cb8cf1 | (JJ Merelo)++ | doc/Language/nativetypes.pod6
Fixes table
09:14
synopsebot Link: doc.perl6.org/language/nativetypes
patrickb Hi! 09:37
I'm currently failing running a program with Proc::Async with a space in it's path and arguments on Windows. 09:38
Is there a known bug?
jmerelo patrickb: not that I know of. But maybe you need to escape the space 09:40
patrickb Another datapoint: The program needs to be a bat file.
I start to suspect Proc::Async is actually calling the program correctly, but cmd is confused because it tries to read the program name and stops at the space 09:41
timotimo oh god 10:54
that thing again
there's something really strange in windows when it comes to commandline arguments in batch files vs exe files
timotimo of the "you can't get it right" variety 10:54
patrickb I'll now try calling cmd directly. 11:05
Also just found one can't call a program with a different ARGV[0] with Proc::Async, so that's also out for tricking cmd... 11:06
timotimo ah, true, that could be an interesting feature 11:08
patrickb and all because I Just Quickly (TM) wanted to make rakudo compilable with spaces in the path... 11:09
guifa jmarelo: ¡gracias! 11:14
hahainternet ¡ 11:20
:)
tbrowder SmokeMachine: still around? 11:22
tbrowder .tell SmokeMachine i have updated local Red with your latest master. i have pushed all my current work to my PR. running load-db.p6 still throws similar error. error txt is in paste here: pastebin.com/m7BBeqUC 11:26
yoleaux tbrowder: I'll pass your message to SmokeMachine.
SmokeMachine . 13:29
yoleaux 11:26Z <tbrowder> SmokeMachine: i have updated local Red with your latest master. i have pushed all my current work to my PR. running load-db.p6 still throws similar error. error txt is in paste here: pastebin.com/m7BBeqUC
SmokeMachine tbrowder: I’ve added som comenta there...
Could you make me a favor and open a issue talking about the LTA erros? 13:32
Please
tbrowder: 👆 13:33
guifa Oh, SmokeMachine: that framework I was telling you back is now actually functional if you want to try brea— trying it out :-) 13:34
tbrowder SmokeMachine: yes, i will do that this evening after i get back on line--hitting the road again now. goodbye!
SmokeMachine guifa: sure, please!
tbrowder: thanks! 13:35
tbrowder SmokeMachine: i delayed to make the changes and try again. still an error, but i think progress is being made! i puched my changes to my PR, and the latest error is in this paste: pastebin.com/zRwRWJ4K 13:46
goodby until later today!
oops, i didn't see the Person changes--will have to wait, but that change looks good...bye 13:47
SmokeMachine .tell tbrowder ive fixed your code... there was also another Red bug... please pull last Red master and try it again... 15:01
yoleaux SmokeMachine: I'll pass your message to tbrowder.
Geth doc: 44c8eda2ce | (Moritz Lenz)++ | lib/Perl6/Documentable.pm6
Explain Perl6::Documentable a bit
15:02
Geth doc: 1852044472 | (Moritz Lenz)++ | lib/Perl6/Documentable/Registry.pm6
Explain Perl6::Documentable::Registry
15:07
lucs How can I make a filehandle permanently flush? 15:41
ugexe maybe .open(:out-buffer(1)) 15:53
lucs Yep, seems to work fine, thanks. 16:03
zostay Mu is most undefined. Mu.new is least defined. I hadn't thought of calling .new on Mu or Any, but it does work. 16:44
zostay m: True.new 16:49
camelia ( no output )
zostay m: say True.new
camelia False
zostay say 42.new 16:50
evalable6 0
zostay there's a whole load of fun to find in this
zostay m: say Nil.new 16:51
camelia Nil 16:52
zostay m: say "deadbeaf".new;
camelia
antoniogamiz hey \o/ 17:59
Geth ecosystem: f315368013 | (Brian Duggan)++ | META.list
Add Grammar::PrettyErrors to the ecosystem

  github.com/bduggan/p6-grammar-prettyerrors
18:15
TreyHarris lizmat mentioned 52 hours ago or so that docs.perl6.org was stuck at commit 88383891 -- I don't see any follow-up except trying to figure out how likely an all-decimal commit hash is, certainly nothing explaining why the website hasn't picked up any commits since then? 20:05
But it's still stuck there 20:06
I can't find the docs about debugging this, though I thought they existed because I thought I'd read them before... 20:13
I tried to built and test the following commit, but made a dumb mistake and built and tested commit 88383891 itself. I'm starting over now with the next commit 20:14
holyghost hello, I'm back from a month of vacation, I continue work on some Digital Audio Workstation (DAW) code tommorrow 20:33
lucasb To make a user-defined object participate in iteration constructs, all you need to do is either define a .list or a .iterator method. No need to do any specific role. 21:29
do you agree with my statement? was it supposed to be that easy to iterate over objects? :) Because I think 'list' is a very common name. Other special methods are all UPPERCASE 21:30
ugexe Subclasses of Any may choose to return any core type that does the Positional role from .list. Use .List to coerce specifically to List. 21:35
TreyHarris Well, Any defines .list, so I think... yes, what ugexe said
I think you can consider any routine defined on Mu, Any, or Cool as effectively quasi-reserved ("quasi-" because if you know it exists and what you're doing you can use it for your own purposes) 21:37
TreyHarris The final example in docs.perl6.org/language/operators#infix_minmax showing minmax on a Hash... it's fine as far as it goes in showing what minmax returns, but I can't figure out how one could ever use the Range that results. I thought I'd augment the xample, but I've gotten stuck trying to make a minmax on Hashes return a useful Range 21:43
cpan-p6 New module released to CPAN! FindBin (0.2.0) by 03LEMBARK 21:44
ugexe never understood the point of FindBin in perl6... 21:46
lucasb ugexe, TreyHarris: thanks for the comments. I'll try reflect more about this :)
ugexe FindBin functionality (or anything you'd do with it) is built-in already
TreyHarris ugexe: What's the built-in? 21:48
(I mean, FindBin itself is built-in to Perl 5, so I assume you mean something else not using FindBin that's also built-in) 21:52
TreyHarris Er, s/built-in/packaged with/ 21:52
lizmat ugexe: if FindBin is already built-in, how would one use that then? 22:05
TreyHarris In Perl 6, $*EXECUTABLE is an IO object so it's arguably (nearly) as easy as FindBin, but in Perl 5, finding your script's location in a platform-independent way isn't trivial 22:12
TreyHarris I meant $*PROGRAM, but checking it I see it isn't the same as FindBin... it doesn't follow symlinks to find the canonical location of the actual program file 22:15
I haven't looked at this just-uploaded FindBin's code -- it's not in my mirror and it isn't a public repo in lembark's GitHub -- but assuming it does what Perl 5's does, you'd have to replicate the same logic (check in a platform-dependent way for the actual file's canonical location even if it's called by unusual means like a three-arg *exec call or something like that) 22:17
RaycatWhoDat Hello. 22:41
timotimo o/ 22:42
RaycatWhoDat I was wondering if anyone has deployed Perl 6 to production. If so, what did you use it for and what were the downsides? 22:43
timotimo i forgot the name of it, but there's a thing for agriculture that runs on perl6 22:44
agrammon?
www.agrammon.ch/home-en/ 22:45
but i didn't deploy that so i can't answer that particular question
RaycatWhoDat Fair enough. Thanks for the link, though. 22:46
timotimo there was also a presentation about agrammon, i think the recording is on line, on youtube probably. i think it was presented at a german perl workshop perhaps? 22:47
El_Che I ran a service to assist with a CA SSL cert migration for a few thousands certs (around 3000 iirc). It checked the CA of webservers and other services and send notifications about the need to renew the cert with the new system (new CA). 22:49
it ran for about 2 years
the migration is done, so the service is gone
RaycatWhoDat Did you choose Perl 6 because it was what you knew? Or did you seek it out? Like, why Perl over the hundreds of languages out there? 22:51
El_Che I chose Perl 6 because I wanted to learn the language in a real life scenario 22:52
kawaii am I not allowed to call routines as the values in my hashes? `my %ivs = hp => (0..31).rand.Int,` gives me an error of unexpected `(`.
El_Che I did know Perl 5, Java and Go
timotimo m: my %ivs = hp => (0..31).rand.Int, "hi"; 22:53
camelia Odd number of elements found where hash initializer expected:
Found 3 (implicit) elements:
Last element seen: "hi"
in block <unit> at <tmp> line 1
timotimo m: my %ivs = hp => (0..31).rand.Int;
camelia ( no output )
timotimo it should work; the error might actually be nearby?
RaycatWhoDat El_Che: Interesting. Did you run into any problems?
El_Che RaycatWhoDat: no, it ran well (of course the scope was limited)
no crashes
no perfomance problems 22:54
RaycatWhoDat Huh. Neat. Thanks for your insight.
El_Che of course, it depends on what you do 22:55
and nowadays there is some good stuff out there, like Cro if you are into webservices
timotimo well, cro is mainly for microservices, but it's good for webservices, too, of course 22:58
Geth doc: 5e5d4e499b | (Ben Davies)++ | doc/Language/js-nutshell.pod6
Correct description of List and Array in the JS nutshell

List is immutable and Array is mutable, not the other way around.
23:03
synopsebot Link: doc.perl6.org/language/js-nutshell
Geth doc: 86ab3c5bc2 | (Ben Davies)++ | doc/Language/js-nutshell.pod6
Fix link to List page in the JS nutshell
23:06
synopsebot Link: doc.perl6.org/language/js-nutshell
vrurg What would be the best way to test for a warning message? The first thing coming to mind is CONTROL { when CX::Warn { die $_ } } 23:28
TreyHarris vrurg: Test should probably have a warns-like... warn is pretty seldom-used though, given that its uses in Perl 5 are mostly subsumed by note() and by Failure 23:31
For coverage purposes, though, you're right that it should be testable. The CONTROL block works, though I'm not sure throwing it is the best way, since presumably you'd want execution to continue, wouldn't you? 23:32
vrurg TreyHarris: warns-like isn't documented. So, even if it exists.
TreyHarris vrurg: It doesn't; that's why I should "should probably have", a la fails-like 23:33
vrurg It's been tested with throws-like anyway. So, rethrow of control is ok 23:33
TreyHarris Oh! I thought calling die() on a warning turned it into a full-blown exception
vrurg It does. Basically, what happens (schematically): 23:34
TreyHarris I thought rethrow would be what would be needed in that case
vrurg { CONTROL { when CX::Warn { die $_ } }; throws-like { warn "ok" }, CX::Warn; }
Rethrow should preserve the original exception status, I presume. Even if it's not this way right now – it must be, to my view. 23:35
TreyHarris ah, I see, you're throwing and then re-suppressing it all at once. Your elided example made me think you were promoting the warning and interrupting execution
vrurg Damn laziness... Shoud've made it in full from the start. :) 23:36
RaycatWhoDat Hmm. Zef is a bit of a pain to install, huh? 23:53
Actually, lemme see if I'm just dense. 23:54
Yeah, never mind. I'm dense. 23:57
Kaiepi m: my %foo = :1a, :2b, :3c; for %foo { .say } 23:58
camelia a => 1
b => 2
c => 3
Kaiepi m: my %foo = :1a, :2b, :3c; sub foo(%foo) { for %foo { .say } }; foo 23:59
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling foo() will never work with declared signature (%foo)
at <tmp>:1
------> 3c; sub foo(%foo) { for %foo { .say } }; 7⏏5foo
Kaiepi m: my %foo = :1a, :2b, :3c; sub foo(%foo) { for %foo { .say } }; foo %foo 23:59
camelia c => 3
a => 1
b => 2
Kaiepi how do i ensure the order of the values in the hash stay the same as when it was declared?