»ö« 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.
00:00 digiwano9 joined 00:03 digiwano9 left 00:18 aborazmeh joined, aborazmeh left, aborazmeh joined, p6bannerbot sets mode: +v aborazmeh 00:19 p6bannerbot sets mode: +v aborazmeh, lizmat left 00:23 lizmat joined 00:24 p6bannerbot sets mode: +v lizmat 00:25 lucs joined 00:26 p6bannerbot sets mode: +v lucs 00:28 lizmat left
Garland_g[m] I'm about ready to release the first version of the module I've been calling "Libui" to CPAN. Would it be reasonable to take that slot in the top level namespace, given that it's a binding to a C library of the same name? 00:31
00:42 khisanth_ left 00:45 Kaiepi left 00:47 psychoslave joined 00:48 p6bannerbot sets mode: +v psychoslave, Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix Garland_g[m]: yeah 00:48
yoleaux 19 Sep 2018 20:51Z <tony-o> Zoffix: sure enough. it's used on modules.zef.pm and i could probably integrate it into zef with some work, it would be slow on large repos but at least the functionality would be there i suppose
Zoffix Garland_g[m]: in theory, you can't really "take" a slot, since multiple authors can use the same module name
(due to :auth<> qualifier on module names specifying whose module you want) 00:49
geekosaur hm, there's a question tough. can I use :as<>? 00:51
just in case I want two modules with the same name and different auth or potentially even version (think upgrade scripts, for one)? 00:52
Garland_g[m] Oh, that's cool. I didn't know about that. Thanks, Zoffix.
Zoffix No idea. I think it's a terrible idea anyway. It's trying to solve a headache (authors calling dibs on good names) by cutting off the head (making :auth<> specifier mandatory if you want proper module name, but no one specifies it anyway and users subject themselves to getting from module names) 00:53
*getting wrong modules with just module names 00:54
00:54 khisanth_ joined 00:55 p6bannerbot sets mode: +v khisanth_
timotimo maybe someone has to put a fake JSON::Fast that plays rickroll into the ecosystem to "wake people up" to that :) 00:59
daemon waves at Zoffix long time no see :P 01:00
01:00 rjbs joined, markk_ joined, syntaxman joined, p6bannerbot sets mode: +v syntaxman, perlawhirl joined, krunen joined, moritz joined, mst joined, p6bannerbot sets mode: +v mst
Zoffix doesn't recognize daemon 01:01
daemon walks back his corner
01:01 mst left, mst joined, livingstone.freenode.net sets mode: +v mst, p6bannerbot sets mode: +v mst, go|dfish joined, p6bannerbot sets mode: +v go|dfish
Zoffix Unless you were my boss like 10 years ago. eCreate web dev, eh? 01:01
01:01 p6bannerbot sets mode: +v rjbs, p6bannerbot sets mode: +v markk_, p6bannerbot sets mode: +v perlawhirl, p6bannerbot sets mode: +v krunen, p6bannerbot sets mode: +v moritz
daemon Zoffix, not boss, but a damn long time ago we was doing something might even be openprojects 01:01
or was it POE related 01:02
Zoffix doesn't remember
daemon god damn im going to have to dig out old logs
01:03 leah2 joined, pierrot joined, p6bannerbot sets mode: +v pierrot, p6bannerbot sets mode: +v leah2 01:04 Zoffix left 01:08 kurahaupo joined, p6bannerbot sets mode: +v kurahaupo 01:11 rindolf left, brick joined 01:15 brick left 01:18 molaf left 01:21 zakharyas joined 01:22 p6bannerbot sets mode: +v zakharyas 01:31 molaf joined 01:32 p6bannerbot sets mode: +v molaf, MasterDuke left 02:09 ufobat_ joined, p6bannerbot sets mode: +v ufobat_ 02:10 mahafyi left 02:11 trfl joined, trfl was kicked by timotimo (trfl)) 02:13 ufobat left 03:09 psychoslave left 03:29 vike1 left 03:33 vike1 joined 03:34 p6bannerbot sets mode: +v vike1
buggable New CPAN upload: Libui-0.0.1.tar.gz by GARLANDG cpan.metacpan.org/authors/id/G/GA/...0.1.tar.gz 03:34
03:39 vike1 left 03:42 vike1 joined 03:43 p6bannerbot sets mode: +v vike1 04:24 molaf left 04:43 cjkinni left 04:44 cjkinni joined, p6bannerbot sets mode: +v cjkinni 04:48 sno left 04:54 curan joined, p6bannerbot sets mode: +v curan 05:23 igoryonya joined 05:24 p6bannerbot sets mode: +v igoryonya 05:25 _28_ria joined 05:26 p6bannerbot sets mode: +v _28_ria, _28_ria left 05:28 igoryonya left, newbie51 joined 05:29 newbie51 left, kensanata joined, p6bannerbot sets mode: +v kensanata, newbie51 joined 05:30 p6bannerbot sets mode: +v newbie51 05:34 newbie51 left 05:40 aborazmeh left 05:42 xinming_ is now known as xinming 06:08 newbie53 joined, p6bannerbot sets mode: +v newbie53 06:17 robertle joined 06:18 p6bannerbot sets mode: +v robertle
El_Che .tell lizmat You have a comment on your second p5-6 article opensource.com/article/18/8/garbag...ion-perl-6 06:18
yoleaux El_Che: I'll pass your message to lizmat.
El_Che .tell lizmat And an error in the 3rd (p5: say @bar[1]) opensource.com/article/18/8/containers-perl-6 06:19
yoleaux El_Che: I'll pass your message to lizmat.
06:34 sno joined 06:35 p6bannerbot sets mode: +v sno 06:38 robertle left, sno left 06:50 psychoslave joined, p6bannerbot sets mode: +v psychoslave 06:54 newbie53 left, newbie53 joined 06:55 p6bannerbot sets mode: +v newbie53, newbie53 left
kensanata Is there a blog post somewhere detailing best practice regarding the use of directories? As I'm writing, I'm running into annoying errors again and again. "Died with the exception: Failed to get the directory contents of 'XXX': Failed to open dir: 2" There's no source file or line so I have to hunt for uses of XXX. Specially since I know it doesn't exist. 07:05
moritz kensanata: try adding a 'use fatal;' to your program 07:09
then the failure becomes an exception immediately
(it's lexically scoped, so you can limit its impact)
kensanata Cool, will try.
moritz no blog post for you though, sorry :-)
kensanata :) 07:14
Sadly, this didn't help me locate the error. Does anybody know how to print log statements from a Cro service? 07:17
07:20 domidumont joined 07:21 p6bannerbot sets mode: +v domidumont 07:23 rindolf joined, p6bannerbot sets mode: +v rindolf 07:26 hankache joined, lizmat joined 07:27 p6bannerbot sets mode: +v hankache, p6bannerbot sets mode: +v lizmat
hankache Hello #perl6 07:28
yoleaux 16 Sep 2018 15:34Z <b2gills> hankache: `abs` is specifically caught by the parser, and the `use isms;` disables the parser from catching it
hankache .seen b2gills
yoleaux I saw b2gills 16 Sep 2018 15:34Z in #perl6: <b2gills> .tell hankache `abs` is specifically caught by the parser, and the `use isms;` disables the parser from catching it
hankache .tell b2gills thanks mate. But shouldn't the parser catch all occurrences? Why did it only catch abs? 07:30
yoleaux hankache: I'll pass your message to b2gills.
07:40 dakkar joined 07:41 p6bannerbot sets mode: +v dakkar 07:48 phryk20 joined 07:51 phryk20 left 07:58 araujo left 08:05 leont joined, p6bannerbot sets mode: +v leont 08:15 newbie joined, p6bannerbot sets mode: +v newbie 08:16 newbie87 joined 08:17 p6bannerbot sets mode: +v newbie87 08:19 newbie left 08:21 newbie87 left 08:39 dakkar left, dakkar joined 08:40 p6bannerbot sets mode: +v dakkar 08:43 labster left 08:47 ab5tract_ joined, p6bannerbot sets mode: +v ab5tract_
ab5tract_ o/ #perl6 08:47
tyil \o
ab5tract_ lizmat: do you ever recall any discussion of an operator for the QuantHash types that will actually remove elements? 08:48
i'm working on the docs for the quanters but found this dichotomy a bit jarring:
m: my $available = <Harry Voldemort Horcrux Horcrux Horcrux>.Set; dd my @fillable-orders = <Owl Horcrux Wand>.grep: * ∈ $available; 08:49
camelia Array @fillable-orders = ["Horcrux"]
lizmat ab5tract_: .grab ? 08:50
ab5tract_ m: my $available = <Harry Voldemort Horcrux Horcrux Horcrux>.BagHash; dd my @fillable = <Horcrux Horcrux Horcrux Horcrux>.grep: { --$available{$_} };
camelia Array @fillable = ["Horcrux", "Horcrux"]
ab5tract_ ooo 08:51
nice. it could be interesting to offer that as in infix though :)
lizmat I think that would be module space, at least for now
ab5tract_ fair enough :) 08:52
hmm... .grab is not what i am looking for, unfortunately 08:53
lizmat then I'm not understanding the question
ab5tract_ i want something that takes one of the keys of the BagHash and decrements it.
jnthn -- ? :) 08:54
ab5tract_ a destructive (elem) check
jnthn: indeed, but that feels exactly like the lookup hash example that i am providing as a "look how primitive this used to be" example :P
s/feels/looks and feels/
it certainly doesn't have the feel of other quanter interactions 08:55
lizmat m: my $b = <a b b c c c>.BagHash; dd $b<a>--; dd $b<a>-- 08:56
camelia 1
0
lizmat ab5tract_: ^^ something like that ?
ab5tract_ well, yes, i'm aware of that.. it's fine, i just feel like this is a gap in the otherwise extensive list of operators that allow you to interact with quanters in declarative rather than procedural terms 08:58
it's really a nothing-burger, but one thing that does make it more cumbersome is that the infix set operators are super easy to WhateverCode, whereas the hash access form requires an explicit block (or else I'd love to be proven wrong :D) 08:59
jnthn Can't you do *<a>-- ?
ab5tract_ doh :) 09:00
jnthn m: my $b = <a b b c c c>.BagHash; dd (*<a>--)($b)
camelia 1
ab5tract_ no, that is taking the bag as an argument, not the key
jnthn Ah, OK
Geth doc: hankache++ created pull request #2319:
Add Pod::Defn & Pod::FormattingCode
09:13
09:14 Ven` joined 09:15 p6bannerbot sets mode: +v Ven`
lizmat m: sub circumfix:<(pull)>(\value,BagHash:D \b) { b{value}-- }; my $b = <a b b c c c>.BagHash; dd "a" (pull) $b; dd "a" (pull) $b 09:15
camelia 5===SORRY!5=== Error while compiling <tmp>
Not enough symbols provided for categorical of type circumfix; needs 2
at <tmp>:1
------> 3sub circumfix:<(pull)>7⏏5(\value,BagHash:D \b) { b{value}-- }; my
lizmat m: sub infix:<(pull)>(\value,BagHash:D \b) { b{value}-- }; my $b = <a b b c c c>.BagHash; dd "a" (pull) $b; dd "a" (pull) $b 09:16
camelia 1
0
09:16 sotona joined
lizmat ab5tract_: leaving it up to you to devise the unicode equivalent 09:16
ab5tract_ :D :D 09:17
09:17 p6bannerbot sets mode: +v sotona
ab5tract_ huggable: hug lizmat 09:17
huggable hugs lizmat
ab5tract_ :)
09:21 sotona left
lizmat weekly: blogs.perl.org/users/lichtkind/2018...e-mmd.html 09:26
notable6 lizmat, Noted!
masak in a regex, is [\d+]? always equivalent to [\d*] ?
lizmat "" would match \d* would it not ? 09:28
jnthn It'd match [\d+]? too :) 09:29
masak aye
lizmat aaah I missed the ?
Geth doc: f917ffe813 | (Naoum Hankache)++ | 3 files
Add Pod::Defn & Pod::FormattingCode
09:30
doc: 3ee141e222 | (Naoum Hankache)++ (committed using GitHub Web editor) | 3 files
Merge pull request #2319 from hankache/master

Add Pod::Defn & Pod::FormattingCode
masak don't blame you -- my last ? was for the question itself :P
I put high demands on my readers
lizmat
.oO( significant whitespace )
jnthn One of the nice things about Perl 6 not using the ` char is that you can always easily quote Perl 6 code using it :P 09:31
masak jnthn: I thought the ` char was "reserved for slangs"
so if we ever get slangs, that benefit goes out the window...?
masak .oO( newsflash: it's 2019 and Perl 6 has used up the last character for actual syntax -- dire metasyntax shortage ) 09:32
I remember the first time I realized that the `...` yadda term was confusing because sometimes people used it as syntax and sometimes as metasyntax 09:33
also, when people write "..." they might refer to the ... or to the ""
09:34 a____ptr17 joined
jnthn If there's a slang involved, it's not Perl 6 any more, it's Perl 6 + something :) 09:34
masak look a no-true-Scotsman, on #perl6 no less! :D
jnthn Anyway, I can't think of a case where the two regex constructs would match a different thing.
masak no, it feels like an "algebraic law" 09:35
jnthn I mean, if you reduce it to the most basic definition of regular expressions - concat, alt, kleene star - then they both reduce to the same thing 09:37
masak yes, the + doesn't show up in sed and vi IIRC 09:38
masak .oO( Rakudo Kleene Star )
09:39 a____ptr17 left
jnthn The ? doesn't show up in the formal def either, since a? is just (a|) :) 09:43
masak everything's sugar
jnthn Yup. So much sugar. :) 09:44
masak what's wrong with combinatorial calculus, really 09:45
masak .oO( gimme an I, gimme a K, gimme an S... ) 09:46
09:48 hankache left
lizmat is reminded she once worked for a company called "IKSX Consultants" :-) 09:49
masak lizmat: nice! is there an X combinator? 09:50
I only know about the Y combinator :)
lizmat hehe
it stood for "Information Knowledge Skills Xfer"
09:51 sena_kun joined
masak rolls right off the tongue 09:51
fun historical fact: the Z metaop that we all know and love was once spelled "Y"
because Y looks like a zipper, ya know
09:51 p6bannerbot sets mode: +v sena_kun
jnthn And the Unicode spelling was the Yen, because it looks even more like one :P 09:52
El_Che lizmat: it looks like yoleaux didn't pass you my messages? 09:53
yoleaux 07:54Z <lizmat> El_Che: those pseky P6isms keep creeping in :-( alas, I cannot correct the artical afaik
lizmat it did, but not on this channel ?
masak .oO( trying to beat Ruby on its home turf ) :P 09:54
09:54 nebuchadnezzar left, nebuchadnezzar joined
El_Che lizmat: your pelr 5 has a strong perl 6 accent nowadays :) 09:54
lizmat masak: in dutch it was pronounced "XX"
09:55 p6bannerbot sets mode: +v nebuchadnezzar
lizmat El_Che: yeah, :-( 09:55
masak lizmat: d'oh! of course :) 09:57
10:01 zakharyas left
buggable New CPAN upload: Image-Libexif-0.1.0.tar.gz by FRITH modules.perl6.org/dist/Image::Libexif:cpan:FRITH 10:04
10:06 brian|lfs joined 10:11 brian|lfs left 10:27 Guest32 joined, p6bannerbot sets mode: +v Guest32 10:28 Guest32 left 10:34 johnsom2 joined 10:35 pmurias joined 10:36 p6bannerbot sets mode: +v pmurias
pmurias Zoffix: re "taking" a slot isn't the unqualified author-less a singular resource? 10:36
10:37 kensanata left 10:38 johnsom2 left 10:47 rindolf left 10:49 rindolf joined 10:50 p6bannerbot sets mode: +v rindolf 10:51 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix pmurias: how is the decision on which module to load is made? 10:51
pmurias: I don't understand your question actually. What do you mean "singular resource"? 10:53
pmurias: nothing's stopping me from uploading JSON::Fast module with auth<zoffix>, despite there already being a JSON::Fast with whatever auth timo used (I don't even know what it is). I can guarantee all the numerous users of timo's module have just `use JSON::Fast` in their code, so now their code is ambiguous. Which JSON::Fast is it meant to load? Timo's or mine (oh and as a bonus, mine parses the JSON but 10:55
also has an exploit in it)
And people might notice it now that something fishy went in, but when we'll have thousands upon thousands of packages, I foresee many rogue Leftpads uploaded to pose as legit modules, but with the wrong auth. 10:56
I'm +2 on ditching the :auth :) 10:57
11:05 newbie joined 11:06 p6bannerbot sets mode: +v newbie
pmurias Zoffix: what I meant that what a unqualified JSON::Fast resolves to can't change when someone else upload an unrelated or nefarious modules 11:06
11:06 avar left
pmurias s/that/is that/ 11:06
11:06 avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 11:07 newbie left, p6bannerbot sets mode: +v avar
Zoffix pmurias: what are the rules for what it resolves to? 11:07
11:08 newbie joined
pmurias Zoffix: you mean current ones or ones that should be? 11:08
Zoffix pmurias: either
pmurias: I don't see how it's possible at all. How would zef know that I meant one JSON::Fast and not the other when I write JSON::Fast only?
11:08 p6bannerbot sets mode: +v newbie 11:09 newbie left, newbie joined
pmurias Zoffix: we could have a name registry 11:10
Zoffix It's like calling to a company and asking to speak to "Dave". If there's more than one Dave in the company, how could they possibly know which one you meant?
pmurias: what's that?
11:10 p6bannerbot sets mode: +v newbie, newbie left
pmurias a mapping from JSON::Fast to the "official" JSON::Fast 11:10
Zoffix pmurias: and who's going to maintain it for all the modules? Forget JSON::Fast, how about Leftpad from Joe::NoOneHeardOf 11:11
pmurias: also, that would mean anyone else releasing a JSON::Fast now absolutely MUST use :auth to load it, which completely defeats the original purpose of allowing multiple authors to lay claim to a module name 11:12
So now: we lost most of the benefit from the :auth feature AND we have volunteers trying to keep up with maintaining a "name registry". 11:13
pmurias Zoffix: re everyone else MUST use :auth, it's impossible to avoid that
Zoffix: the "name registry" could work automatically on first come basis 11:14
Zoffix: in npm you can release your own @Zoffix/leftpad but the leftpad name is already taken
Zoffix: there where proposal that a user installing a modules would choose which JSON::Fast module he wants (like in linux distros) 11:15
but that scheme is simply not acceptable at all
Zoffix pmurias: "everyone else MUST use :auth, it's impossible to avoid that" yeah, so why not get rid of it? 11:16
pmurias: what benefit does :auth give, if we still have first-come-dibs for names and everyone else must specify extra qualifiers that are effectively a new name? 11:17
I may as well name my module JSON::Fasterish instead of having to tell everyone they must have JSON::Fast:auth<zoffix> on their uselines all the time 11:18
11:19 sno joined
Zoffix Hell, naming it even JSON::Fast::Zoffix makes more sense than the :auth, since now I won't have to explain to people they must use :auth to get the right module 11:20
11:20 p6bannerbot sets mode: +v sno
pmurias Zoffix: I don't have a super strong opinion about the details, I just share a sentiments that two modules can't both equally share a name 11:22
s/a sentiments/the sentiment
Zoffix: I think one of the motivations behind the :auth scheme is that we could have multiple name registries 11:24
Zoffix I see
pmurias so that JSON::Fast from CPAN would be on thing and a JSON::Fast from Zoffixpan could be something else
11:26 Ven` left
Zoffix eyes sub infix:<(pull)> 11:26
Is that going to core? 11:27
Kinda inconsistent that we have .push method but no .pull method, yet (pull) operator, but no (push) operator.
lizmat Zoffix: no, (pull) was just shown by me as an indication how easy it was to make such a thing in module space 11:30
Zoffix Ah, k
pmurias is relived that a (pull) operators is not going into core ;) 11:31
* operator
lizmat m: sub infix:<(push)>(\value,BagHash:D \bag) { ++bag{value} }; my $b = <a b b c c c>.BagHash; dd "d" (push) %=$b; dd $b 11:32
camelia Type check failed in binding to parameter 'bag'; expected BagHash but got Hash (${})
in sub infix:<(push)> at <tmp> line 1
in block <unit> at <tmp> line 1
lizmat m: sub infix:<(push)>(\value,BagHash:D \bag) { ++bag{value} }; my $b = <a b b c c c>.BagHash; dd "d" (push) $b; dd $b
camelia 1
BagHash $b = ("a"=>1,"c"=>3,"d"=>1,"b"=>2).BagHash
11:33 Zoffix left
lizmat Zoffix: did you eye github.com/ugexe/zef/issues/273 as well ? 11:36
11:41 cl joined, p6bannerbot sets mode: +v cl 11:43 sno left 11:49 mahafyi joined 11:50 p6bannerbot sets mode: +v mahafyi 11:58 awwaiid joined 11:59 p6bannerbot sets mode: +v awwaiid 12:01 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix lizmat: I saw it in the log. lizmat++ for dropping 2.2 to 0.3s, but I have no other opinions on it :) 12:01
12:03 Zoffix left 12:15 Ven` joined 12:16 p6bannerbot sets mode: +v Ven` 12:21 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix m: 'ab' ~~ m:g/./; dd %(); 12:21
camelia Hash % = {:a(Match.new(hash => Map.new(()), orig => "ab", made => Any, from => 1, list => (), pos => 2))}
Zoffix Is this stuff documented somewhere?
(I mean specifically on docs.perl6.org) 12:22
12:31 sno joined, p6bannerbot sets mode: +v sno
Zoffix So what happened to better sorting on docs/Language? I've seen miles of bikeshedding, but looks like nothing actually got done. 12:36
Found the magiks documented on docs.perl6.org/syntax/$$SOLIDUS 12:39
12:42 sno left 12:43 Zoffix left
moritz FTR docs.perl6.org/language/variables also docs.perl6.org/language/variables mentions %() 13:02
Geth doc: f55804fc62 | (Zoffix Znet)++ | doc/Language/variables.pod6
[6.d] Document $()/@()/%() are no longer magical in 6.d

Per 6.d-prep: github.com/perl6/6.d-prep/blob/dff...from--and- Propspec: github.com/perl6/roast/commit/79e86e5f14 POV: github.com/rakudo/rakudo/commit/bb88a0324e
13:04
synopsebot Link: doc.perl6.org/language/variables
13:12 buggable joined, ChanServ sets mode: +v buggable, p6bannerbot sets mode: +v buggable 13:15 zakharyas joined 13:16 p6bannerbot sets mode: +v zakharyas
Geth doc: 212687526d | (Zoffix Znet)++ | doc/Language/variables.pod6
Document extra magic of $() 6.c shortcut

It doesn't just stringify, but actually checks .ast value first and returns it if it's truthy or stringifies match object if not.
13:21
synopsebot Link: doc.perl6.org/language/variables
13:40 Burgundy12 joined 13:43 Burgundy12 left, robertle joined 13:44 p6bannerbot sets mode: +v robertle 13:47 aborazmeh joined 13:48 aborazmeh left, aborazmeh joined, p6bannerbot sets mode: +v aborazmeh 13:59 Azhurederp joined 14:00 lizmat left 14:02 Azhurederp left
[Coke] dd 14:02
ww 14:05
leont Does that mean $() is gone in 6.d? 14:07
14:09 pyrimidine joined, p6bannerbot sets mode: +v pyrimidine
jnthn Yes 14:11
14:12 kanbas left, kanbas joined 14:13 sunnavy joined, p6bannerbot sets mode: +v kanbas 14:14 p6bannerbot sets mode: +v sunnavy, lizmat joined 14:15 p6bannerbot sets mode: +v lizmat 14:20 ccc joined, Ven` left 14:21 p6bannerbot sets mode: +v ccc
ccc On the Perl 6 doc website, I was searching for something, clicked on one of the choices and got a 404 error. The 404 page asked me to please report it. So I go to github.com/perl6/doc/issues/new to do so and the "Submit new issue" button is inactive. 14:23
14:24 Actualeyes left
vrurg ccc: Did you fill in the title? 14:24
[Coke] you have to type in a title.
ccc Ah - no let me try that
[Coke] vrurg++
ccc Thanks vrurg 14:25
vrurg Welcome!
14:29 cl left
buggable New CPAN upload: JSON-Schema-0.8.tar.gz by JNTHN cpan.metacpan.org/authors/id/J/JN/...0.8.tar.gz 14:32
14:32 grumble joined, p6bannerbot sets mode: +v grumble
Geth doc: 1521c9f7c0 | (Will "Coke" Coleda)++ | doc/Language/variables.pod6
allow sample code to compile
14:32
synopsebot Link: doc.perl6.org/language/variables
14:33 molaf joined 14:34 p6bannerbot sets mode: +v molaf 14:35 sno joined 14:36 p6bannerbot sets mode: +v sno, zakharyas left 14:38 ufobat_ is now known as ufobat, curan left 14:40 psychoslave left, lizmat left 14:43 devin______ joined 14:44 MilkmanDan left, lizmat joined 14:45 p6bannerbot sets mode: +v lizmat, MilkmanDan joined, p6bannerbot sets mode: +v MilkmanDan 14:47 Zoffix joined, p6bannerbot sets mode: +v Zoffix, Ven` joined, devin______ left, sno left 14:48 aborazmeh left, p6bannerbot sets mode: +v Ven`
Zoffix leont: to unpack the umbiguity: In 6.c literally `$()` has special meaning doing magic stuff with `$/`. THAT part is gone in 6.d, and `$()` means the same thing as `$( )`, i.e. a containerized list. The $(@foo) and all other permutations aren't affected 14:48
m: 'test' ~~ /.../; say $(); $/.make: 'McTesty'; say $() 14:49
camelia tes
McTesty
Zoffix m: use v6.d.PREVIEW; 'test' ~~ /.../; say $(); $/.make: 'McTesty'; say $()
camelia ()
()
Zoffix uhh
Ah, it's `say`, not `dd`
m: use v6.d.PREVIEW; 'test' ~~ /.../; dd $(); $/.make: 'McTesty'; dd $()
camelia $( )
$( )
14:49 psychoslave_ joined 14:50 p6bannerbot sets mode: +v psychoslave_ 14:54 Zoffix left 14:56 psychoslave_ left 14:58 lizmat_ joined 14:59 p6bannerbot sets mode: +v lizmat_ 15:01 abraxxa left 15:02 lizmat left 15:12 ubt2 joined 15:13 lizmat_ left 15:15 lizmat joined, ubt2 left, p6bannerbot sets mode: +v lizmat, robertle left 15:16 kodapa6 joined 15:20 kodapa6 left
ccc m:sub foo(**@a) {say @a.elems}; foo((1, 2), (3,4,5)) 15:25
evalable6 2
ccc m:sub foo(*@a) {say @a.elems}; foo((1, 2), (3,4,5))
evalable6 5
SmokeMachine is `.race.reduce` sequencial? couldn't it be parallel? 15:27
jnthn Yes, it could, just hasn't been yet 15:28
15:29 lizmat left
SmokeMachine jnthn: thanks for the reply 15:29
jnthn: how should it work? `^6 .hyper.reduce: {$^a + $^b}` should it do the following operations in parallel (if :1batch)? `0 + 1`, `2 + 3`, `4 + 5`, `1 + 5`, `6 + 9`? 15:32
returning 15? 15:33
^6 .hyper(:1batch).reduce: {$^a + $^b} 15:35
Geth ¦ ecosystem-unbitrot: CurtTilmes self-assigned Math::Primesieve github.com/perl6/ecosystem-unbitrot/issues/137
15:37 committable6 left, wbn joined
Ulti you'd then have to keep dispatching reduces on those results 15:38
15:38 p6bannerbot sets mode: +v wbn 15:39 shareable6 left, unicodable6 left, squashable6 left, releasable6 left
Ulti isnt a tree of promises of calling the function on batch size basically what you need? 15:40
SmokeMachine Util: do you mean how to implement it on reduce? 15:45
15:46 bisectable6 left, domidumont left
Ulti yeah 15:46
SmokeMachine Ulti: yes, I was thinking something like that too... 15:47
15:48 robertle joined 15:49 p6bannerbot sets mode: +v robertle, kurahaupo left 15:53 molaf left, BooK_ joined 15:54 p6bannerbot sets mode: +v BooK_ 15:55 Kris joined, Kris left
SmokeMachine Util: maybe it could be `.elems / 2` maps (like this `.map(-> $a, $b { reduce-func($a, $b) })`)chained... 16:02
`^6 .hyper.reduce: -> $a, $b {$a + $b}` be equivalent to: `my &reduce-func = -> $a, $b { $a + $b }; ^6 .hyper.map(&reduce-func).map(&reduce-func).iterator.pull-one` 16:04
m: my &reduce-func = -> $a, $b { $a + $b }; ^6 .hyper.map(&reduce-func).map(&reduce-func).first
camelia A worker in a parallel iteration (hyper or race) initiated here:
in block <unit> at <tmp> line 1

Died at:
Too few positionals passed; expected 2 arguments but got 1
in block at <tmp> line 1
SmokeMachine m: my &reduce-func = -> $a, $b = 0 { $a + $b }; ^6 .hyper.map(&reduce-func).map(&reduce-func).first 16:05
camelia ( no output )
SmokeMachine m: my &reduce-func = -> $a, $b = 0 { $a + $b }; say ^6 .hyper.map(&reduce-func).map(&reduce-func).first
camelia 6
SmokeMachine :(
m: my &reduce-func = -> $a, $b = 0 { $a + $b }; say ^6 .hyper.map(&reduce-func).map(&reduce-func).map(&reduce-func).first 16:06
camelia 15
SmokeMachine does that make sense? 16:07
timotimo not all reduce functions are commutable, though?
sena_kun m: class A { has $.a; has $.b; }; my @a = a => 1, b => 2; A.new(|@a); 16:08
camelia Default constructor for 'A' only takes named arguments
in block <unit> at <tmp> line 1
timotimo commutative*
sena_kun is that a dead end ^?
timotimo no
m: class A { has $.a; has $.b; }; my @a = a => 1, b => 2; A.new(|%@a)
camelia ( no output )
timotimo m: class A { has $.a; has $.b; }; my @a = a => 1, b => 2; A.new(|%@a).perl.say
camelia A.new(a => 1, b => 2)
sena_kun oh. thanks!
timotimo no problem :)
SmokeMachine timotimo: you are probably right but I can't think right now on a example... 16:09
timotimo m: say (1 ** 2 ** 3) ** (4 ** 5 ** 6)
camelia 1
timotimo %)
of course
m: say (2 ** 2 ** 2) ** (2 ** 2 ** 2) 16:10
camelia 18446744073709551616
SmokeMachine sure
timotimo m: say (2 ** 2 ** 2 ** 2 ** 2 ** 2)
camelia Numeric overflow
in block <unit> at <tmp> line 1
SmokeMachine `/` too
timotimo not that that's something you'd sensibly want to reduce in parallel i suppose
m: say (2 ** 1.0001 ** 1.0001 ** 1.0001 ** 1.0001 ** 1.0001)
camelia 2.000138648106738
timotimo m: say (2 ** 1.0001 ** 1.0001) ** (1.0001 ** 1.0001 ** 1.0001)
camelia 2.000277319691376
SmokeMachine timotimo: but how could be made a parallel reduce with a non commutative function? 16:11
timotimo by being very very smart on a case-by-case basis? dunno :| 16:14
jnthn SmokeMachine: With .hyper it can't, only .race, since .hyper implies that order matters. I think it'd be useless if :1batch perhaps; the idea would be to reduce each batch, and then reduce the results of those.
timotimo oh, if you .race you're already specifying the order doesn't matter to you
cool trick
jnthn By using .race you are promising that it's commutative.
AlexDaniel mst: some of my bots got k-lined, what should I do? 16:17
SmokeMachine jnthn: do you think the "chain of maps method" would work? 16:18
ccc multi sub infix:<c>(Str $a, Str $b --> Str) {$a ~ $b}; say 'foo' c 'bar'; 16:19
evalable6 foobar
16:20 lizmat joined
jnthn SmokeMachine: There's already a bunch of infrastructure in place for breaking up work; that should be used 16:20
SmokeMachine: Effectively, it's differnet kinds of batch workers that fork/process/join 16:21
16:21 p6bannerbot sets mode: +v lizmat
SmokeMachine jnthn: but isn't it being used by map? 16:21
jnthn Yes, this is the mechanism used to implement hyper/race map and grep 16:22
16:23 Ven` left
SmokeMachine jnthn: using map to implement reduce wouldn't use that? I am missing something... 16:23
jnthn I think it'd need to be used directly to get it right
timotimo yeah, if you do it with map, it'll be called once per item, rather than once per batch
jnthn Since at the .map level the concept of batch doesn't exist
mst AlexDaniel: oh? 16:25
hm
AlexDaniel it could be an issue with some bot (maybe it spammed hard for some reason), but I'm not sure 16:26
mst I'm seeing them k-lined but no kill/whatever
mst pokes 16:27
SmokeMachine jnthn: ok... thanks 16:29
mst AlexDaniel: I see a bunch of them ping timeouting then them all showing as k-lined without anything that looks like them triggering spam checks
AlexDaniel mst: could it be because they were trying to rejoin at the same time? 16:30
SmokeMachine timotimo: but wouldn't it process batched? once its the `race.map`...
mst AlexDaniel: it *could* but that seems strange, hence my trying to track stuff down
timotimo because map runs on items, not on batches :)
SmokeMachine Ill study it better... thanks!
timotimo that's the API that map has
m: (1, 2, 3, 4).map(*.say); (1, 2, 3, 4).race(:1batch).map(*.say) 16:31
camelia 1
2
3
4
1
2
3
4
timotimo m: (1, 2, 3, 4).map(*.say); (1, 2, 3, 4).race(:2batch).map(*.say)
camelia 1
2
3
4
1
2
3
4
timotimo if map after a .hyper or .race had batch-based semantics, those two outputs would be different 16:32
16:34 dakkar left 16:49 lizmat left
Xliff m: my &reduce-func = -> $a, $b = 0 { $a + $b }; say ^6 .hyper.map(&reduce-func).map(&reduce-func).map(&reduce-func).first 16:52
camelia 15
Xliff m: my &reduce-func = -> $a, $b = 0 { $a + $b }; say ^6 .hyper.map(&reduce-func)
camelia (1 5 9)
16:52 notable6 joined, ChanServ sets mode: +v notable6, statisfiable6 joined, ChanServ sets mode: +v statisfiable6
Xliff m: my &reduce-func = -> $a, $b = 0 { $a + $b }; say ^6 .hyper.map(&reduce-func).map(&reduce-func) 16:52
camelia (6 9)
16:53 nckx4 joined, unicodable6 joined, ChanServ sets mode: +v unicodable6, lizmat joined
Xliff m: my &reduce-func = -> $a, $b = 0 { $a + $b }; say ^6 .hyper.map(&reduce-func).map(&reduce-func).map(&reduce-func) 16:53
camelia (15)
16:53 p6bannerbot sets mode: +v notable6, p6bannerbot sets mode: +v statisfiable6
Xliff m: say ^6 16:53
camelia ^6
Xliff m: say (^6)
camelia ^6
Xliff m: say (^6).eager
camelia (0 1 2 3 4 5)
16:53 p6bannerbot sets mode: +v unicodable6 16:54 p6bannerbot sets mode: +v lizmat, lizmat left, nckx4 left
TimToady m: say (^6).list 17:00
camelia (0 1 2 3 4 5)
TimToady it's just the listiness, not the eagerness :)
17:06 nativecallable6 joined, shareable6 joined, p6bannerbot sets mode: +v nativecallable6 17:07 p6bannerbot sets mode: +v shareable6
tobs .oO(so a Range is listless) 17:15
ccc When there is an ascii equivalent to a unicode operator is that done with an alias of some kind or with 2 definitions with same name? 17:17
s/different/same/
vice versa 17:18
So I want to define an infix operator of my own and there's a nice unicode symbol for it, but I also want to provide a version easier to type 17:19
17:20 scotticles joined
ccc So sub infix:<⊛>(...) {...} ; then sub infix:<c*>(...){...} ? 17:20
17:20 p6bannerbot sets mode: +v scotticles
timotimo my &infix:<⊛> = &infix:<c*>; 17:21
17:22 scotticles left
ccc And our &infix:<⊛> = &infix:<c*>; if we want our users to see it? 17:22
timotimo and "is export" if it should be exported like the sub 17:23
ccc got it; thanks
17:36 kaare_ left 17:41 kaare_ joined 17:42 p6bannerbot sets mode: +v kaare_ 17:48 committable6 joined 17:49 bisectable6 joined, p6bannerbot sets mode: +v committable6 17:50 p6bannerbot sets mode: +v bisectable6, releasable6 joined 17:51 p6bannerbot sets mode: +v releasable6 17:55 squashable6 joined 17:56 p6bannerbot sets mode: +v squashable6 17:57 kensanata joined, p6bannerbot sets mode: +v kensanata
kensanata I'm a bit confused about making my module ready for CPAN. My code is here: alexschroeder.ch/cgit/oddmuse6/tree/ and my idea was that I'd test this by saying "zef install ./Oddmuse" (with lib being below that). That doesn't quite work, however. zef test works but zef install fails because it can't find Oddmuse::View. What am I missing? 18:00
Complete output here: alexschroeder.ch/wiki/Comments_on_..._Review%3f 18:01
timotimo you don't seem to have a META6.json
kensanata timotimo: It's in the directory below that, together with lib/, t/, and all that. 18:02
timotimo: Perhaps I'm calling zef in the wrong dir?
timotimo oh, huh, ok
your provides section isn't right :)
you wouldn't have a .pm6 in the key part, and you don't have Oddmuse::View in the provides section either
kensanata timotimo: Hm. I'm expecting people using the module to just use Oddmuse::Routes and the rest to be "internal" stuff. Should I still list them all? 18:03
timotimo yes, otherwise you can't "use" them in your own module 18:04
kensanata Ah, interesting. OK, adding them all. 18:05
I'm getting the feeling that eventually I'll need some sort of script to assemble META6.json. :) 18:06
timotimo there are tools that handle that, and Comma will also deal with it for you :)
kensanata Hm. I'm too new to this. 18:07
timotimo though i'm not entirely sure if Comma has something for the resources section already or not 18:08
18:08 lichtkind joined 18:09 p6bannerbot sets mode: +v lichtkind
kensanata timotimo: Yay, zef install worked. Thanks! 18:21
Too bad Test::META didn't tell me about this, actually. 18:23
18:25 Torun18 joined 18:27 Torun18 left 18:30 itaipu joined 18:31 p6bannerbot sets mode: +v itaipu 18:33 diamond_gr6 joined
AlexDaniel timotimo: I don't think that it's a wonderful idea to recommend a non-free tool left and right like that 18:33
18:35 sotona joined 18:36 diamond_gr6 left, p6bannerbot sets mode: +v sotona, lizmat joined
AlexDaniel “We did not yet decide on a strategy with regards to a release of Comma itself under an open source license” 18:36
hurry up then ;)
18:37 p6bannerbot sets mode: +v lizmat
mst AlexDaniel: I've had the bots exempted, should sort itself out 18:38
AlexDaniel: tell me if it happens again
AlexDaniel mst: thank you!
18:39 domidumont joined 18:40 domidumont left 18:42 domidumont joined 18:43 p6bannerbot sets mode: +v domidumont 18:48 kerframil joined, p6bannerbot sets mode: +v kerframil 18:51 domidumont left
ccc zef search take a perl6 regex argument ? 18:52
18:54 lizmat left
ccc hmm doesn't look like it 18:56
unless there's an undocumented flag 18:57
or option
19:00 ccc left
Geth doc: 44ac0f916d | (Zoffix Znet)++ | doc/Type/Signature.pod6
[6.d] Document DefiniteHOW's new default defaults

Per 6.d-prep: github.com/perl6/6.d-prep/blob/dff...rmal-types POV: github.com/rakudo/rakudo/commit/38b198c992 Propspec: github.com/perl6/roast/commit/8c8e8f55bb
19:03
synopsebot Link: doc.perl6.org/type/Signature
19:17 pecastro joined
timotimo AlexDaniel: OK, i'll not push comma as much in the future 19:17
19:18 p6bannerbot sets mode: +v pecastro 19:20 kensanata left 19:21 lichtkind left, Mian joined 19:25 Mian left
jnthn AlexDaniel: What's your problem? TIMTOWTDI applies to licensing models too. If you personally choose to only use free/open source things, that's fine. Saying something should not be mentioned as an option because you wouldn't personally use it is unreasonable. 19:27
19:29 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix timotimo: meh, do push it. It's an IDE designed for Perl 6. Not mentioning it is lame. 19:29
AlexDaniel if it doesn't even provide anything for that issue, why was it mentioned at all… non-free or not 19:30
[Coke] +1 for mentioning it.
jnthn AlexDaniel: The comment was about needing something to maintain META6.json, and Comma *does* automatically maintain the `provides` section for you. 19:31
19:32 Zoffix left, molaf joined 19:33 lichtkind joined, p6bannerbot sets mode: +v molaf
jnthn I figure some of the other module authoring support tools (mi6? App::Assixt?) also do 19:33
Yes, the latter certainly does help with that. 19:34
19:41 timotimo sets mode: +v lichtkind
lichtkind tyil: ping 19:42
tyil lichtkind: pong 19:43
19:44 buggable left, buggable joined, ChanServ sets mode: +v buggable 19:45 p6bannerbot sets mode: +v buggable
AlexDaniel no, do not “push” it. There are many people who will feel uncomfortable with that. Also you can visit kensanata's blog for some bonus thougths on free software :) 19:48
lichtkind tyil can you see privat chats on irc? 19:49
tyil I can, but freenode sets +R by default these days
so I have not received your private messages if you sent any 19:50
(+R ignores private messages from unregistered people)
lichtkind tyil that explains it
tyil I unset it for now :>
jnthn AlexDaniel: I saw a mention, not a push. Just like I just mentioned App::Assixt up there.
AlexDaniel jnthn: that was a response to “do push it”
mst thinks "it's worth mentioning it, but probably also nearest OSS equivalents 19:52
AlexDaniel jnthn: but IMO instead of arguing how a non-free tool is an acceptable thing, maybe that energy should be spent on clarifying the strategy. Because if it's open-source then no need to discuss that thing at all.
jnthn AlexDaniel: Yes, I'd tend to agree pushing anything - including the view that all software must be open source - is not really helpful. :) 19:53
mst: Indeed. I even went and found some to mention. :)
[Coke] AlexDaniel: I have plenty of history working with open source, and commercial products. if there's a commercial product that is useful for a thing, I have no issues supporting it.
(and if supporting it here is mentioning it in the context of an OS project, again, don't have an issue) 19:54
jnthn++
19:55 dogbert17 joined 19:56 p6bannerbot sets mode: +v dogbert17
jnthn goes back to his cooking for a bit 19:56
AlexDaniel jnthn: that's incorrect though, some things are worth pushing of course 19:57
mst AlexDaniel: hostility to commercial software doesn't seem like a net win from the POV of creating a sustainable ecosystem.
AlexDaniel mst: the issue is not about the thing being commercial or not 19:59
20:02 robertle left 20:09 susmus joined 20:10 p6bannerbot sets mode: +v susmus, ab5tract_ left 20:20 sno joined 20:21 p6bannerbot sets mode: +v sno 20:25 sno left 20:38 sotona left 20:54 sno joined 20:55 p6bannerbot sets mode: +v sno 21:05 eythian left 21:06 sotona joined 21:07 eythian joined, eythian left, eythian joined, p6bannerbot sets mode: +v eythian, p6bannerbot sets mode: +v sotona, p6bannerbot sets mode: +v eythian 21:25 ubt7 joined 21:26 ubt7 was kicked by timotimo (ubt7)) 21:34 ufobat left 21:41 atphalix joined 21:42 p6bannerbot sets mode: +v atphalix 21:45 sotona left 21:55 epony left 22:03 sena_kun left 22:05 epony joined, p6bannerbot sets mode: +v epony 22:08 mfa29829 joined, mfa29829 was kicked by timotimo (mfa29829))
timotimo i'm always oto late, but it's still mildly cathartic 22:09
22:09 ChanServ sets mode: +o mst, Sigyn joined, p6bannerbot sets mode: +v Sigyn, mst sets mode: +o Sigyn, mst sets mode: -o mst
mst timotimo: MUHAHAHAHAHAHAHA 22:09
timotimo sigyn will do it for us? 22:10
22:12 rindolf left
geekosaur sigynificant improvement? 22:12
22:20 pmurias left 22:22 dct joined, p6bannerbot sets mode: +v dct 22:28 lizmat joined 22:29 p6bannerbot sets mode: +v lizmat 22:33 void1 left 22:35 cloudcell26 joined, cloudcell26 left
timotimo yeah, that's better 22:36
22:36 pecastro left 22:43 atphalix left
mst timotimo: if she eats a bot you can do '/msg sigyn unkline <botname>' if you're quick enough 22:55
(I forget how quick you have to be)
if that doesn't work, poke me
timotimo how quick do i have to be, and how do i know whether i did it right? 22:56
mst (1) I forget, (2) you'll get a message back saying if she un-k-lined or not 22:57
timotimo OK :)
mst ten minutes is definitely fine, two hours probably too late, I don't know if it's a time limit or a rolling buffer or what though
I'm actually pretty bad at freenode's staff toolkit, I tend to get deployed when the problem is liveware 22:58
timotimo OK
mst also if I notice what looks like a bad kill the unkline just requires you to be +o when you send the /msg 22:59
so I can op up and do it
but I've got enough channels where I get to see the spam
timotimo i didn't see any spam in #moarvm in the last time! (also i don't have +o there, so that's pretty obviously a possible cause for that) 23:01
23:02 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke 23:03 MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke
mst timotimo: yes, we're using +mz so you only see unvoiced users if +o 23:04
hence why you can see the spam here, I can see it there, and sigyn can see and act upon it in both
timotimo right 23:06
geekosaur 15m according to my notes 23:10
timotimo thank you geekosaur 23:11
geekosaur and having done it once, you do get a confirmation message 23:12
23:13 kerframil left
timotimo cool 23:14
23:22 titsuki left 23:26 rouking joined
timotimo there is not, however, you can pass around Capture objects 23:27
probably lib/experiemntal.pm 23:32
23:32 leont left 23:33 sotona joined 23:34 p6bannerbot sets mode: +v sotona 23:49 Couto10 joined, Couto10 left