»ö« 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.
elcaro Any valid reason why Mix doesn't implement .pick ? 01:32
It does roll
timotimo maybe because "remove 1 from the value" isn't totally sensible? not sure 01:37
AlexDaniel Mix can have negative and fractional amounts 01:39
so what's the meaning of pick?
elcaro yeah, I supposed that makes sense, can't pick 2.2 times
I just presumed it would pick a weighted random key, but yeah, picking fractional amounts make no sense 01:40
AlexDaniel m: my $m = ("foo" => -5).Mix; say $m; say $m.roll(2)
camelia Mix(foo(-5))
()
AlexDaniel m: my $m = ("foo" => 0.5).Mix; say $m; say $m.roll(2) 01:41
camelia Mix(foo(0.5))
(foo foo)
AlexDaniel m: my $m = ("foo" => 0.1).Mix; say $m; say $m.roll(2)
camelia Mix(foo(0.1))
(foo foo)
vrurg m: sub foo($a) { my $b is default($a); $b = Nil; say $b }; foo("where is it?") 01:57
camelia (Mu)
vrurg This isn't an expected output, is it?
AlexDaniel vrurg: well, yeah, that shouldn't be allowed 02:05
AlexDaniel vrurg: is default is not run time, so you can't use it for that 02:05
m: sub foo($a) { my $b is default(rand); $b = Nil; say $b }; foo("a"); foo("b") 02:06
camelia 0.2091059658132023
0.2091059658132023
vrurg sub foo(::T $v) { my T $v } – is ok, but sub foo(::T $v) { my $v is default(T); } is not? 02:07
AlexDaniel I guess so, I'm not sure
vrurg It currently dies with a TypeCheck exception if my T $v is default(T) form is used. 02:08
Ok, I thought it's a bug to be fixed. 02:09
guifa Ugh it looks like I really just need to implement ICU 02:19
Xliff guifa: ?? 02:32
guifa Xliff: userguide.icu-project.org
I got the number classification done, but then I also realized I needed to get a number formatter done (one that’s fully locale aware) 02:33
Xliff Ooh! Want help?
guifa I’m definitely up for it. I’m sitting here right now thinking whether it’s better to do a NativeCall or try to implement it in pure Perl 6 02:34
Xliff No doubt that you are up for it. 02:35
Looking, now.
guifa I really just want to get the numbers finished (even if barely) so that I can release a semi-useful version of Fluent. One of the most wanted modules was an older-style localization framework, and so what I’ve got for Fluent would cover that and then some 02:36
Xliff Well, I don't know what you know, but looking at the source, this is a LOT of work! 02:38
NativeCall or Pure Perl6
guifa Yeah. But it’s definitely something that long term should be done. It’d align with Perl’s strengths too 02:39
Xliff Yep! 02:40
github.com/unicode-org/icu/tree/ma...ource/i18n <-- Easier to NC
Xliff .tell jnthn What's the best way to debug requests when using Cro::HTTP::Client? I need to verify certain headers are being sent when performing a POST 03:16
yoleaux Xliff: I'll pass your message to jnthn.
guifa Xliff: check out github.com/alabamenhu/Fluent (it’s not production ready, but the playground.p6 file has some fun test stuff) 03:42
Xliff m: say [&&](0, do { 0/0 }); 05:03
camelia 0
Xliff m: 0/0
camelia ( no output )
Xliff m: 0/0.say
camelia WARNINGS for <tmp>:
0
Useless use of "/" in expression "0/0.say" in sink context (line 1)
Xliff m: say 0/0
camelia Attempt to divide by zero when coercing Rational to Str
in block <unit> at <tmp> line 1
Xliff m: say [and](0, do { 0/0 });
camelia 0
Xliff m: say [and](0, die "Bleah"); 05:04
camelia 0
Xliff m: say ().IO.e 05:05
camelia Must specify something as a path: did you mean '.' for the current directory?
in block <unit> at <tmp> line 1
Xliff m: my $a = (); say $a.IO.e
camelia Must specify something as a path: did you mean '.' for the current directory?
in block <unit> at <tmp> line 1
Xliff m: my $a = (); say $a.elems; say $a.IO.e 05:06
camelia 0
Must specify something as a path: did you mean '.' for the current directory?
in block <unit> at <tmp> line 1
Geth doc: 5d49909fe1 | (JJ Merelo)++ | doc/Type/DateTime.pod6
Adds comparison ops, refs #2632
06:03
synopsebot Link: doc.perl6.org/type/DateTime
jmerelo releasable6: status 07:08
releasable6 jmerelo, Next release will happen when it's ready. 2 blockers. 319 out of 338 commits logged
jmerelo, Details: gist.github.com/a478afb65bb6260998...fe91c4e797
AlexDaniel heh, weather-- imgur.com/a/lfcA2bq 07:09
jmerelo AlexDaniel: that's a fine weather for staying indoors. 07:10
AlexDaniel jmerelo: ya, well, let's hope all that is fixed when I have to go out tomorrow… 07:12
lizmat clickbaits p6weekly.wordpress.com/2019/03/04/...is-summer/ 08:14
cpan-p6 New module released to CPAN! Smack (0.1.1) by 03HANENKAMP 08:24
New module released to CPAN! Test-META (0.0.16) by 03JSTOWE
New module released to CPAN! META6 (0.0.23) by 03JSTOWE
New module released to CPAN! JSON-Class (0.0.12) by 03JSTOWE
lizmat aw.... tyil ^^^ 08:31
tyil ;~;
I already put in a ratelimiting mechanism 08:32
hahainternet it's truly amazing freenode can get rid of people who sent 5 lines in 5 seconds 08:39
but not concerted centralised spamming campaigns using identical messages each time 08:40
in 10 years the quality of their administration has not advanced a jot
tyil going by the logs, the bot is currently banned for those 4 lines of output 08:46
tyil shrugs
I'll try again tomorrow I guess
hahainternet: in general I'm not too happy with freenode's administration tbh
but it's where all the free software channels are, so here I am
andrzejku Hey 09:01
:)
tyil hi 09:01
andrzejku have a good news for Perl6 :D 09:02
tyil do tell me more :>
andrzejku my request passed dev.getsol.us/T7609 09:04
now it is in status needs maintainer
andrzejku but I will have time to look there at weekend : ( 09:04
tyil cool 09:05
andrzejku tyil, ja I am happy too
tadzik andrzejku: awesome :) 09:07
tyil alright, cpan-p6 should now be ignored by Sigyn 09:26
it seems that Sigyn just bans whenever it sees a number of messages that look alike, and legit bots are to be ignored by it (set by channel ops apparently) 09:27
I wonder if Sigyn has actually done a ban that was warranted in it's lifetime, tho 09:28
jast it seems quite likely, because those kinds of heuristics do detect spam, too :) 09:29
tyil except on freenode, where spam is rampant 09:29
jast there's a reason I didn't say "all spam"
tyil in the years I've been on Freenode I've seen Sigyn kill plenty of regular users and people trying to build a bot 09:31
but only once or twice I'ev seen it kill someone actually trying to spam
jast most kills I've seen were not related to a message on the channel I saw them on
tyil all I know is that from my experience, Sigyn seems to hurt a lot more than it actually helps 09:33
jast I don't need it on my channels anyway, the anti-spam measures we use work well enough 09:34
tyil tbh, +s seems to help a great deal already 09:35
jast unless you're a well-known channel...
tyil freenode doesn't have delayed joins, does it? 09:36
jast I don't think so
jmerelo andrzejku: great 10:08
discord6 <kawaii> obligatory "where is rakudo star 2019.0(2|3) release?" question for today :) 11:56
lucasb look, Raku posts! :D 12:14
"Larry Wall made the decision to use Raku as its official name" haha, made me laugh :) 12:15
tadzik where is that? :) 12:19
lucasb top entry in blogs.perl.org/ :)
tadzik heh, talk about reducing the confusion... 12:24
masak "I hope the discussion of names will decrease and talks about language features will increase." -- well, there's something to agree on. 12:37
maybe someone should start a subcommunity called "people who don't want to talk about names" or something 12:38
the actual name of the subcommunity doesn't matter. really, it doesn't.
El_Che fat change
I wrote a blog why it won't happen :) 12:39
masak people from both Perl 5 and... not Perl 5, would be welcome. 12:39
tadzik finally, a comunity for my Perl 4 fetish 12:39
masak proposed slogan: "what you all just said about names? We Don't Care." 12:40
feel free to call Perl 6 "WC Duck" if you want. and feel free to call that name an alias if you feel that's important. 12:41
to me the important thing has never been the name, but the language the name refers to.
tadzik: Perl 4 seems a fascinating language. weren't we both at a talk about Perl 4 once? 12:42
tadzik masak: I don't think I was :( 12:44
masak someone had dug up Perl 4 and was taking it through the motions. 12:44
fascinating how much was there and yet how different the language felt.
tadzik I recently thought what keeps attracting me to Perl 5 while Perl 6 is a thing, and I think it's the simplicity of its list-iness 12:45
masak I cannot +1 you enough 12:46
tadzik sub arguments are just lists of things. You can alter them and pass them further around. It may be weird at first, but it's just wonderful when you get your head around it
I've been writing Perl 6 on and off for 8 years and often I'm still not sure what *kind* of list I'm dealing with at a given time 12:47
masak tadzik: in my head I have Perl 5 lists as being a kind of "intermediate medium" when things fly between functions, or between arrays/hashes
tadzik exactly!
masak \o/
agree about the confusion in Perl 6 too. worse, I don't really know how to fix that.
tadzik yeah :( 12:48
masak in 007 I've opted for utmost simplicity, to the point of (recently) removing Tuple and its syntax
tadzik it made me wonder if there are other languages build entirely around a different basic data structure and indeed: Lua is that language
I don't recall what they call them, but Hashes are everything it in. Lists/Arrays are just a specialcase of Hashes that have numeric indexes
masak the basic data structure in Lua does not strike me as elegant, though :)
tadzik: "tables"
tadzik that's it, thanks 12:49
masak PHP and awk also consider arrays to be special cases of associative arrays
can't say I'm a fan :)
oh, and JavaScript
tadzik shakes with PTSD
I've been writing a lot of angular the past few weeks
masak I feel like it's one of those cute-ideas-today that comes back and shoots you in the performance later
the storage and indexing modes of arrays vs hashes are *way* different 12:50
tadzik yep
El_Che masak + tadzik == i.ytimg.com/vi/iBSF0Gi7oM0/hqdefault.jpg
tadzik :D:D 12:51
masak .oO( tag yourself: I'm the guy on the right )
El_Che DrForr: are you from breton heritage? pbs.twimg.com/media/D05Ok5CXgAAco3U.jpg 12:55
masak oh, I never realized that "Kovács" meant "Smith". interesting also that it's from the Slavic wordstock, not the Finnic 13:13
El_Che there isn't a source, so grain of salt 13:14
interesting nevertheless
(I speak Spanish and it never occurred to me that the surname "Herrera" was derived from "Herrero" (Smith) :) ) 13:15
tadzik don't feel bad. It took me like 2 years to realize that my boss and another employee who share the last name, look similar, differ by 30-40 years of age and both have been with the company forever are actually father and son 13:17
it seems obvious in retrospect
masak I'm super-bad at recognizing those things as well 13:22
El_Che hehe, great one, tadzik 13:24
guifa El_che: it’s not even just Smith, it’s an iron smith (hierro [iron] + -ero [one that works with prev noun]) :-) 14:17
El_Che indeed :) 14:18
guifa If a module is ‘use’d multiple times, is it loaded multiple times or can we safely assume that variables are shared? 14:34
guifa That is, class A says use ‘X’, and class B says use ‘X’. A modifies an exported variable in X, does B get to see the modified or does it have its own copy? 14:35
jnthn guifa: Compilation units are loaded once, so it'd be shared. 15:55
guifa jnthn++ perfect 15:57
guifa github.com/alabamenhu/UserLanguage 16:14
If anyone could test and see that it gets the right info for their system (or tell me how to get it for their system so I can add it), appreciation given in pluses :-) 16:15
Geth ecosystem: alabamenhu++ created pull request #438:
Add UserLanguage module
16:20
Geth ecosystem: c04a545946 | L'Alabameñu++ (committed using GitHub Web editor) | META.list
Add UserLanguage module
16:40
ecosystem: 399d1c2450 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Merge pull request #438 from alabamenhu/patch-2

Add UserLanguage module Thanks!
guifa jmarelo++ (also, any chance you’ll be up in the Gran Villa next week?) 16:42
SmokeMachine guifa: for me its working: 16:43
www.irccloud.com/pastebin/vASb5f03/
when I get in home Ill try on my Brazilian Portuguese machine... 16:44
guifa: but the `use 'Intl::UserLanguage'` on your README seems odd... 16:45
guifa SmokeMachine++
and oops haha
discord6 <Rogue> When are we getting a rakudo-star for 6.d? 18:40
AlexDaniel Rogue: hello :) 18:49
so rakudo-star can only happen once we release rakudo, as I understand
all preparations were done, so we're ready for the release 18:50
so once moarvm is released, I'll release rakudo shortly, and that should happen really soon I hope 18:51
but I don't know how much time the new rakudo-star team will take 18:52
DrForr llfourn: Not that I'm aware, the furthest ancestor I'm aware of was from Sussex, England in the 1600s. 19:06
kybr i find myself refreshing commaide.com/ frequently. i want it. 20:19
Seance[m] What tools do you guys use to write perl6 currently? I've really only used Atom 20:23
tadzik vim :) 20:24
kybr vim, vscode, atom..
AlexDaniel emacs 20:25
AlexDaniel`: hello 20:26
AlexDaniel ahh… ok… 20:26
kybr i want to see code completion and syntax hilighting working on perl6. that sounds like quite a feat to me. 20:31
Seance[m] Yeah, I use vim bindings + the recommended perl6 atom packages on perl6.org/whatever. I'm not too crazy about Atom though, so was curious about people's setups 20:33
AlexDaniel so what's the issue with syntax highlighting? I though most editors do it relatively well?
tadzik perl is quite hard to parse though 20:34
editors usually do matching with regexes, which doesn't work perfectly with complex languages
Kaiepi yeah, just look at the grammar perl 6 uses 20:35
speaking of which what does <O(%foo)> do? 20:36
in grammars
i see it a lot in rakudo but but i can't find any docs onit 20:38
guifa Is there a way to programmatically determine the files in %*RESOURCES? I tried .keys but that failed, even though it gives key-like access. 20:42
guifa Kaiepi: maybe it’s a NQP thing? 20:46
sena_kun judging by the syntax, it may be just a call to the method `O` with %foo arg. 20:50
moritz right, it's the operator precedence parser implemented as a method 21:10
moritz in nqp, src/HLL/Actions.nqp is method O 21:22
jdv79 tadzik: i agree i think on the list point. slip/flat/list/array/one arg rule - its a hurdle sometimes. 21:44
dominix hi everyone 22:32
m: for "puan".comb.permutations {$_.join.say} 22:33
camelia puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
dominix I would like to do the same but without the for loop
I think of 22:34
m: "puan".comb.permutations.map {.join.say}
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> 3"puan".comb.permutations.map7⏏5 {.join.say}
expecting any of:
inf…
dominix but it doesn't works
AlexDaniel m: say "puan".comb.permutations.map(*.join) 22:35
camelia (puan puna paun panu pnua pnau upan upna uapn uanp unpa unap apun apnu aupn aunp anpu anup npua npau nupa nuap napu naup)
AlexDaniel m: say "puan".comb.permutations.map(*.join).join: "\n"
camelia puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
dominix m: "puan".comb.permutations.map {*.join.say}
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> 3"puan".comb.permutations.map7⏏5 {*.join.say}
expecting any of:
in…
dominix m: "puan".comb.permutations.map {*.join}.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Unexpected block in infix position (missing statement control word before the expression?)
at <tmp>:1
------> 3"puan".comb.permutations.map7⏏5 {*.join}.say
expecting any of:
in…
AlexDaniel you need parens or :
m: "puan".comb.permutations.map({*.join}).say 22:36
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *
at <tmp>:1
------> 3"puan".comb.permutations.map…
dominix I didn't got this : thing
AlexDaniel m: "puan".comb.permutations.map(*.join).say
camelia (puan puna paun panu pnua pnau upan upna uapn uanp unpa unap apun apnu aupn aunp anpu anup npua npau nupa nuap napu naup)
AlexDaniel or
m: "puan".comb.permutations.map({.join}).say
camelia (puan puna paun panu pnua pnau upan upna uapn uanp unpa unap apun apnu aupn aunp anpu anup npua npau nupa nuap napu naup)
dominix m: "puan".comb.permutations.map({*.join}).say
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed double closure; WhateverCode is already a closure without curlies, so either remove the curlies or use valid parameter syntax instead of *
at <tmp>:1
------> 3"puan".comb.permutations.map…
AlexDaniel {.join} or *.join, not both at the same time :)
dominix m: "puan".comb.permutations.map({.join}).say
camelia (puan puna paun panu pnua pnau upan upna uapn uanp unpa unap apun apnu aupn aunp anpu anup npua npau nupa nuap napu naup)
dominix m: "puan".comb.permutations.map(*.join).say 22:37
camelia (puan puna paun panu pnua pnau upan upna uapn uanp unpa unap apun apnu aupn aunp anpu anup npua npau nupa nuap napu naup)
dominix ok, thanks
is there details in the perl6 docuentation on how this * vs {} works 22:38
I am formating my brain but there is bad sector
sectors 22:39
humm this is not exacly the same 22:41
m: for "puan".comb.permutations {$_.join.say}
camelia puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
dominix here, there is a newline after each name
AlexDaniel m: "puan".comb.permutations.map(*.join).join("\n").say
camelia puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
dominix m: "puan".comb.permutations.map(*.join).say
camelia (puan puna paun panu pnua pnau upan upna uapn uanp unpa unap apun apnu aupn aunp anpu anup npua npau nupa nuap napu naup)
AlexDaniel yeah, you'll have to .join again with a newline 22:42
m: "puan".comb.permutations.map(*.join ~ "\n").join.say
camelia puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
AlexDaniel also a possibility, depending on what you need
dominix m: "puan".comb.permutations.map(*.join ~ "\n").say 22:43
camelia (puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
)
dominix m: "puan".comb.permutations.map(*.join ~ "\n").join.say
camelia puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
dominix the effect of the second join is visible but still obscure to me 22:44
AlexDaniel see this: 22:45
m: "puan".comb.permutations.map(*.join).join("\n").say
camelia puan
puna
paun
panu
pnua
pnau
upan
upna
uapn
uanp
unpa
unap
apun
apnu
aupn
aunp
anpu
anup
npua
npau
nupa
nuap
napu
naup
AlexDaniel you're getting a list of lists from .permutations, so yes, you'll have to join the inner lists first and then the outer ones
dominix ok, that clear. that AlexDaniel 22:49
that is very kind of you 22:50
dominix I appreciate this help cause perl6 has some weird concept (to me) it might be because of my primitive background in perl5 22:52
dominix but I'll keep formatting 22:52
AlexDaniel :) 22:54
Xliff \o 23:03
yoleaux 15:42Z <jnthn> Xliff: CRO_TRACE=1 in the environment