»ö« 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:01 netrino left 00:04 newbie75 joined, newbie75 left 00:07 netrino joined 00:13 DarthGandalf joined 00:14 john_parr joined 00:33 syntaxma1 left, syntaxman joined 00:40 netrino left 00:46 netrino joined 01:00 adu joined 01:03 kent\n left 01:04 kent\n joined 01:13 xiaoyafeng joined 01:18 atweiden-air joined, Ven````` joined, netrino left 01:20 Ven```` left 01:25 netrino joined 01:27 Kaiepi left 01:28 Kaiepi joined 01:37 eythian left 01:38 eythian joined, eythian left, eythian joined 01:39 molaf left 01:43 xiaoyafeng left 01:48 noisegul_ joined 01:50 xiaoyafeng joined, qiqi joined 01:51 noisegul left 01:52 molaf joined 01:57 netrino left
Xliff Getting the following attempting to build rakudo; 01:57
Can't locate object method "make_option" via package "NQP::Config::Rakudo" at /home/cbwood/Projects/rakudobrew/moar-master/tools/lib/NQP/Config/Rakudo.pm line 429 01:58
01:58 holyghost left 02:00 cpan-p6 left 02:01 cpan-p6 joined, cpan-p6 left, cpan-p6 joined, Manifest0 left 02:02 Manifest0 joined
Xliff After following suggestion in commit msg 0acd27f44e9495c78af02c986d5bb7a5124c7caf, I am now getting the following error: 02:02
Found /home/cbwood/Projects/rakudobrew/moar-master/install/bin/moar version 2019.03-110-g081823ffc, which is too old. Wanted at least 2019.05-11-g248e298
02:02 melezhik joined
melezhik How to wrire regexp for everything not '@' simbol apperaing more then once at least? 02:03
02:04 netrino joined
Xliff m: say $a = '@@ wadads'; say $a ~~ / (<-[@]>+)/ 02:04
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3say 7⏏5$a = '@@ wadads'; say $a ~~ / (<-[@]>+)/
Xliff m: my $a = '@@ wadads'; say $a ~~ / (<-[@]>+)/
camelia 「 wadads」
0 => 「 wadads」
Xliff m: my $a = '@@ wadads'; say $a ~~ / (<-[@]> ** 2..*)/ 02:05
camelia 「 wadads」
0 => 「 wadads」
Xliff m: my $a = '@@ w'; say $a ~~ / (<-[@]> ** 2..*)/
camelia 「 w」
0 => 「 w」
Xliff m: my $a = '@@w'; say $a ~~ / (<-[@]> ** 2..*)/
camelia Nil
Xliff melezhik: ^^ Only one, so two or more is working
m: my $a = '@@wbb'; say $a ~~ / (<-[@]> ** 2..*)/
camelia 「wbb」
0 => 「wbb」
melezhik thanks, Xliff:
what about capturing?
Xliff That is capturing. 02:06
'wbb' in $/[0] aka $0
melezhik m: my $a = qq{foo-@}; $a ~~ / (< - [ @ ] > ** 2..* ) / ; say $0 02:08
camelia 「-@」
Xliff <-[@]> ... you can' split it out like that
m: my $a = '@@wbb'; say $a ~~ / (<-[ @ ]> ** 2..*)/
camelia 「wbb」
0 => 「wbb」
Xliff ^ You can like that though
melezhik m: my $a = qq{foo-@}; $a ~~ / (<-[ @ ] > ** 1 ) / ; say $0 02:09
camelia 「f」
melezhik thanks. Xliff: I get the idea
m: my $a = qq{foo-@}; $a ~~ / (<-[ @ ] > ** 1..* ) / ; say $0 02:10
camelia 「foo-」
melezhik here we go ((=;
Xliff =)
02:12 atweiden-air left 02:15 holyghost joined
holyghost good morning 02:15
I might take the day off, I just need to add tests to Bayes::Learn, after that I'll make docs for Game::QFG 02:16
Geth ecosystem: faa5c61765 | dmaestro++ (committed using GitHub Web editor) | META.list
Add Seq::Bounded to ecosystem
02:17
02:36 Cabanossi left
melezhik I have a foo=1,bar=2 string, I want to convert it to Hash 02:37
02:37 netrino left
melezhik m: my $a = qq{foo@foo=1,j=1}; $a ~~ /"@" (\S+) $$/; say "$0".split(",").map({ $_.split("=") }).perl 02:37
camelia (("foo", "1").Seq, ("j", "1").Seq).Seq
melezhik so I need somehow "flattern" seq to array
and assign to hash
not sure how to do that
Xliff m: my $a = "foo=1,bar=2"; for $a.split(/,/) { s/(<-[=]>+'= 02:38
camelia 5===SORRY!5===
Unrecognized regex metacharacter , (must be quoted to match literally)
at <tmp>:1
------> 3my $a = "foo=1,bar=2"; for $a.split(/7⏏5,/) { s/(<-[=]>+'=
Unable to parse expression in single quotes; couldn't find final "'"…
Xliff m: my %h; my $a = "foo=1,bar=2"; for $a.split(/,/) { s/(<-[=]>+)'='(.+)/; %h{$0] = $1; }; %h.gist.say 02:39
camelia 5===SORRY!5===
Unrecognized regex metacharacter , (must be quoted to match literally)
at <tmp>:1
------> 3h; my $a = "foo=1,bar=2"; for $a.split(/7⏏5,/) { s/(<-[=]>+)'='(.+)/; %h{$0] = $1;
Unable to parse expression in subscript; co…
Xliff m: my %h; my $a = "foo=1,bar=2"; for $a.split(/','/) { s/(<-[=]>+)'='(.+)/; %h{$0] = $1; }; %h.gist.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in subscript; couldn't find final '}' (corresponding starter was at line 1)
at <tmp>:1
------> 3plit(/','/) { s/(<-[=]>+)'='(.+)/; %h{$07⏏5] = $1; }; %h.gist.say
Xliff m: my %h; my $a = "foo=1,bar=2"; for $a.split(/','/) { s/(<-[=]>+)'='(.+)/; %h{$0} = $1; }; %h.gist.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed replacement part; couldn't find final /
at <tmp>:1
------> 3>+)'='(.+)/; %h{$0} = $1; }; %h.gist.say7⏏5<EOL>
expecting any of:
method arguments
Xliff m: my %h; my $a = "foo=1,bar=2"; for $a.split(/','/) { /(<-[=]>+)'='(.+)/; %h{$0} = $1; }; %h.gist.say 02:40
camelia {bar => 「2」, foo => 「1」}
Xliff ^^
m: my %h; my $a = "foo=1,bar=2"; for $a.split(/','/) { /(<-[=]>+)'='(.+)/; %h{$0} = $1.Str; }; %h.gist.say
camelia {bar => 2, foo => 1}
cpan-p6 New module released to CPAN! Seq::Bounded (1.0) by 03DMAESTRO
Xliff m: my %h; my $a = "foo=1,bar=2,baz=3,name=Xliff"; for $a.split(/','/) { /(<-[=]>+)'='(.+)/; %h{$0} = $1.Str; }; %h.gist.say
camelia {bar => 2, baz => 3, foo => 1, name => Xliff}
melezhik I'd prefer the way where one assing resulting array to hash, letting Perl6 to do the rest of the job
02:40 Cabanossi joined
Xliff melezhik: ?!? 02:40
That is perl6 doing the job. 02:41
melezhik not sure. does Perl6 forbid your to do like that 02:42
m: my %h = ("foo", "1", "bar", "baz"); say %h.perl
camelia {:bar("baz"), :foo("1")}
02:43 netrino joined
melezhik Xliff, your solution works I see. Sorry I'm just a bit "picky" here ((=: 02:43
Xliff :p
melezhik or perfectionist, whatever you call it ((=;
Xliff m: my %h; my $a = "foo=1,bar=2,baz=3,name=Xliff"; my %h = given for $a.split(/','/) { /(<-[=]>+)'='(.+)/; take $0; take $1.Str }; %h.gist.say 02:44
camelia 5===SORRY!5===
Word 'given' interpreted as a listop; please use 'do given' to introduce the statement control word
at <tmp>:1
------> 031,bar=2,baz=3,name=Xliff"; my %h = given7⏏5 for $a.split(/','/) { /(<-[=]>+)'='(.+)
Unexpected bl…
Xliff m: my %h; my $a = "foo=1,bar=2,baz=3,name=Xliff"; my %h = do given for $a.split(/','/) { /(<-[=]>+)'='(.+)/; take $0; take $1.Str }; %h.gist.say
camelia 5===SORRY!5===
Undeclared routine:
for used at line 1

Other potential difficulties:
Redeclaration of symbol '%h'
at <tmp>:1
------> 3 = "foo=1,bar=2,baz=3,name=Xliff"; my %h7⏏5 = do given for $a.split(/','/) { /…
Xliff m: my %h; my $a = "foo=1,bar=2,baz=3,name=Xliff"; %h = do given for $a.split(/','/) { /(<-[=]>+)'='(.+)/; take $0; take $1.Str }; %h.gist.say
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
for used at line 1
melezhik I just abit "obssesed" with the idea of coercing seqs to arrays
it should be easy, huh?
Xliff m: my %h; my $a = "foo=1,bar=2,baz=3,name=Xliff"; %h = do gather for $a.split(/','/) { /(<-[=]>+)'='(.+)/; take $0; take $1.Str }; %h.gist.say
camelia {bar => 2, baz => 3, foo => 1, name => Xliff}
Xliff melezhik: ^^
melezhik well, thanks, Xliff: let me find my the alternative, if any ... anyway thanks 02:45
Xliff OK! Good luck! 02:46
melezhik what about that Xliff: ? 02:47
m: my $a = qq{foo@foo=1,j=1}; $a ~~ /"@" (\S+) $$/; my %h = "$0".split(",").map({ $_.split("=") }).flat.flat; say %h.perl
camelia {:foo("1"), :j("1")}
melezhik flat.flat ... ha-ha ((=; 02:48
Xliff Looks good.
melezhik m: my $a = qq{foo@foo=1,j=1}; $a ~~ /"@" (\S+) $$/; my %h = "$0".split(",").map({ $_.split("=").flat }).flat; say %h.perl
camelia {:foo("1"), :j("1")}
melezhik so for evert split, you just a flat 02:49
so for evert split, you just add a flat
Xliff Yep.
melezhik anyway, thanks for help ((=; Perl6 community is always so friendly ((=;
Xliff yw 02:52
elcaro m: my $a = qq{foo@foo=1,j=1}; my %h = $a.substr($a.index('@')+1).split(',').map(|*.split: '='); say %h.perl;
camelia {:foo("1"), :j("1")}
02:54 melezhik left
elcaro actually..y 02:57
m: my $a = qq{foo@foo=1,j=1}; my %h = $a.substr($a.index('@')+1).split(/<[,=]>/); say %h.perl;
camelia {:foo("1"), :j("1")}
03:01 gregf_ left 03:16 netrino left 03:22 netrino joined 03:24 Cabanossi left 03:36 Cabanossi joined 03:37 DarthGandalf left 03:40 DarthGandalf joined 03:54 netrino left 04:01 netrino joined
holyghost I've put docs in Game::QFG, version 0.1.9 04:08
cpan-p6 New module released to CPAN! Game::QFG (0.1.9) by 03HOLYGHOST 04:13
04:13 squashable6 left 04:16 squashable6 joined
holyghost stupid bot 04:16
anyway, I'm going to the bar in a few hours, to get a coffee 04:19
It's 6:20 am here 04:20
I hope I can cope with the rule-based system in Game::QFG, I need to search for AI and learning and so on 04:21
The meaning is to have rules for NPCs characters and features 04:22
NPC == Non Player Character
The storyline should also be rule based
A semi-random story is e.g. in nethack 04:23
04:23 Ven`````` joined 04:26 qiqi left, Ven````` left, kaare__ left 04:27 qiqi joined, kaare__ joined 04:33 aborazmeh left 04:34 netrino left 04:40 netrino joined 04:42 curan joined 04:56 qiqi left 05:05 nadim left 05:08 satori__ joined, reach_satori_ left 05:13 netrino left, nadim joined 05:15 nadim_ joined 05:18 nadim left 05:19 netrino joined 05:21 sauvin joined 05:25 qiqi joined 05:27 hfjvjffju left 05:28 PavelB left 05:30 pnu__ left 05:34 PavelB joined, pnu__ joined, hfjvjffju joined 05:43 molaf left 05:48 jeromelanteri joined 05:52 netrino left 05:55 nadim_ left 05:58 netrino joined 05:59 qiqi left, domidumont joined 06:01 nadim_ joined 06:05 qiqi joined 06:06 jmerelo joined 06:25 qiqi left
jmerelo releasable6: status 06:28
yoleaux 20 May 2019 18:26Z <sena_kun> jmerelo: hi! please, ping me whenever you'll be comfortable
20 May 2019 19:44Z <sena_kun> jmerelo: sorry, never mind me.
releasable6 jmerelo, Next release in ≈29 days and ≈12 hours. 1 blocker. 140 out of 422 commits logged (⚠ 2 warnings)
jmerelo, Details: gist.github.com/334b346e9bc1b4eaee...6380cb6727
jmerelo .tell sena_kun I'm back
yoleaux jmerelo: I'll pass your message to sena_kun.
jmerelo squashable6: status
squashable6 jmerelo, Next SQUASHathon in 8 days and ≈21 hours (2019-06-01 UTC-14⌁UTC+20). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
06:30 netrino left 06:33 mowcat joined 06:36 netrino joined 06:38 antoniogamiz joined 06:39 netrino_ joined 06:41 netrino left 06:48 adu left
Geth doc/master: 4 commits pushed by (JJ Merelo)++ 06:51
06:51 satori__ left 06:58 qiqi joined, abraxxa joined
El_Che morning 07:01
jmerelo El_Che: Morning!
holyghost gm 07:04
07:04 ChoHag joined 07:05 Sgeo__ joined
antoniogamiz o/ 07:07
07:08 Sgeo_ left 07:24 kurahaupo left, kurahaupo joined 07:29 xiaoyafeng left 07:30 satori__ joined, Ven`````` left 07:31 xiaoyafeng joined, qiqi left, Sgeo_ joined 07:34 ufobat__ left 07:35 Sgeo__ left 07:38 Sgeo_ left, Sgeo_ joined 07:41 rindolf joined 07:44 ijneb left 07:50 netrino_ left 07:51 qiqi joined 07:52 robertle joined
antoniogamiz cd .. 07:53
ups
jmerelo antoniogamiz: :-)
07:53 rindolf left 08:03 zakharyas joined 08:10 qiqi left 08:12 dakkar joined
chee i notice node.js's http library can listen on a unix socket, does anyone know if there's any such module for perl 6? 08:17
jmerelo chee: you mean, as part of the standard library?
tadzik Cro::HTTP is the cool thing these days and it can be an HTTP server 08:18
08:18 qiqi joined
jmerelo chee: there are many HTTP-listening modules in Perl 6, including, as tadzik says, Cro::HTTP 08:18
holyghost a search for sockets and networking should get you to the docs of it 08:19
08:19 netrino_ joined
holyghost There's a CATCH based client-server system somewhere in the perl6 docs 08:19
08:20 Kaiepi left
chee jmerelo: i did check cro, but the only mention i saw of sockets was about websockets 08:21
08:21 DarthGandalf left
chee sorry, that was meant for holyghost 08:21
or everyone really
tadzik chee: doc.perl6.org/type/IO::Socket::INET those are the regular sockets 08:22
that's just raw TCP thoughu :)
holyghost chee : it's not cro, what I meant, but tadzik's link should help out
use IO::Socket; etc 08:23
chee yeah ^.^, i'm wondering if there's an http module that will listen on an IO::Socket rather than an ip and port
oh
doc.perl6.org/type/IO::Socket::Async
sorry, i was unclear earlier. i meant a socket file 08:24
holyghost in C, fileno(int socket) you mean ?
*lol* I mean socket, int fileno(FILE *) 08:25
tadzik ooh, a unix socket, I missed that earlier in a conversatino 08:27
sorry, everything I said was wrong then :P
I don't think there's anything for that, except for using NativeCall or maybe Inline::Perl5 08:28
chee ahh, okay. is there no unix domain socket support at all in p6? 08:31
tadzik not that I know of, no :(
on the plus side, you're in a prime position to make history by implementing it ;) 08:32
08:32 Kaiepi joined
chee :D 08:35
tadzik (been there done that :P) 08:36
08:37 DarthGandalf joined 08:41 antoniogamiz left 08:42 Kaiepi left, antoniogamiz joined, Kaiepi joined 08:45 Kaiepi left 08:48 Kaiepi joined 08:49 rindolf joined 08:53 satori__ left, satori__ joined, netrino_ left 08:56 netrino_ joined 08:58 antoniogamiz left 08:59 antoniogamiz joined
tobs ++Kaiepi had unix socket support on their agenda last time I asked 09:10
Kaiepi i still do 09:11
yoleaux 21 May 2019 21:10Z <lizmat> Kaiepi: my latest version of the feed processor: gist.github.com/lizmat/cecd2801129...c9a8fe0ee7
21 May 2019 21:11Z <lizmat> Kaiepi: I think that combines the best of both worlds, please let me know if you need more info to integrate
Kaiepi it's the last thing i'm doing as part of my grant work though 09:12
i'll get started on it after i'm done with feed operators and after v6.e.PREVIEW is implemented since the first few things i need to do depend on it
tobs godspeed! 09:14
09:17 Sgeo_ left, Sgeo_ joined 09:19 Sgeo__ joined 09:21 antoniogamiz left 09:23 Sgeo_ left
Kaiepi .tell lizmat your code looks pretty straightforward but what's the purpose of $!low-mark and $!high-mark? 09:28
yoleaux Kaiepi: I'll pass your message to lizmat.
lizmat high-mark is an indication of the maximum number of values that will be buffered 09:29
yoleaux 09:28Z <Kaiepi> lizmat: your code looks pretty straightforward but what's the purpose of $!low-mark and $!high-mark?
09:29 netrino_ left
lizmat and low-mark is the number of elements in the buffer at which it will start filling again 09:30
the values are pretty arbitrary at the moment
it possibly makes sense to increase the high-mark to 1000 09:31
to avoid small size lists to avoid the parallelization overhead 09:32
Kaiepi why are they needed?
lizmat well.. the high-mark tries to adapt itself to an optimum size 09:33
if the load on the mapping is too low, it will raise the high-mark 09:34
if the load is too high, it will decrease the high-mark 09:35
09:35 netrino_ joined
lizmat Kaiepi: in an earlier version, I found that the reader would be reading values faster from the buffer than the writer could add them 09:39
so that's why the initial buffer filling
Kaiepi ahhh 09:41
ok
would using something like a semaphore work? 09:45
jnthn I think what we really miss is a way to make a Channel have a bound 09:48
09:48 mowcat left
jnthn So that pushing something into it can also block 09:48
Kaiepi in go you can create channels with a buffer length 09:53
if the number of values on the queue is equal to the buffer length, pushing blocks
jnthn Yes, same in Java, C 09:55
*C#, etc.
Something for us to have too, just nobody got around to it yet :)
Well, they did, but in the ecosystem... :)
And less efficiently than if we just support it "natively"
Kaiepi lizmat, there's one problem with your implementation 10:02
it assumes $source is a list of some sort when that's not always the case as used in the ecosystem 10:03
m: sub base36(Int $num --> Str) { $num.base: 36 }; say do { 35 ==> base36() } 10:04
camelia Z
10:04 domidumont left
Kaiepi maybe PROCESS-FEED would need to be a multi sub to handle those cases if we should keep that behaviour 10:05
10:07 jeromelanteri left 10:21 DarthGandalf left 10:44 satori__ left 10:52 DarthGandalf joined 10:54 kensanata joined 11:00 sena_kun joined
chee Kaiepi: oh this is great news, re: unix domain sockets 11:01
lizmat Kaiepi: what are the cases where the source is not something that can provide an iterator? 11:03
Kaiepi: but indeed, making it a multi should cover that case 11:04
11:07 qiqi left 11:12 xiaoyafeng left 11:13 gregf_ joined 11:14 DarthGandalf left 11:32 DarthGandalf joined 11:42 DarthGandalf left 11:46 netrino_ left 11:48 netrino_ joined 12:09 sdoo joined 12:14 zakharyas left
timotimo wakelift.de/p/f9314876-3251-461f-b6...0b3cc656b/ - i would appreciate proofreading <3 12:17
12:22 netrino_ left 12:26 jeromelanteri joined 12:27 netrino_ joined 12:30 sdoo left 12:31 sdoo joined
masak timotimo: nice! 12:38
I skimmed it -- didn't find any nits to pick
timotimo yay 12:39
cpan-p6 New module released to CPAN! Seq::Bounded (1.0.1) by 03DMAESTRO 12:40
sena_kun timotimo, ignore me right now, but shouldn't it be "An obligatory photo..."? 12:41
yoleaux 06:28Z <jmerelo> sena_kun: I'm back
timotimo sena_kun: maybe "The"? 12:43
sena_kun ah, yes, or this one
sena_kun tries to be better with articles, but has a long way ahead 12:44
jast I would keep it as it is 12:46
to keep with the standard form of the "obligatory X" meme 12:47
timotimo put in some extra stuff at the end 12:48
12:49 mowcat joined
jast "The request was actually just to allow configuring only [...]" is a bit of a bumpy read 12:50
same paragraph: "complicated" has a negative connotation, maybe "detailed" or "in-depth" 12:51
timotimo refresh for different colors at the end
jast "While deciding upon what exactly I should build" - not a complete sentence 12:52
timotimo refresh, i reworded it
ah, yes
jast yeah, I like that better now
timotimo have a look at the new start of that paragraph 12:53
jast yeah, nice 12:54
structural thing: after the first example program, you describe frame vs sf. this is a little hard to follow because at that point you have seen sf but not frame in the example, yet you talk about frame first. if the syntax/meaning allows for it, I'd include both frame and sf in the example somehow, so that you can see both in action, making it easier to understand an explanation of how the two relate 12:55
timotimo sadly, frame can't go in this example
jast yeah, I had an inkling that it might not 12:56
you could either make it two examples, or skip over explaining 'frame' here and just focus on what 'static' means in this context
I mean, once I finish reading the paragraph I understand it all, but in the middle I'm a bit "???" 12:57
or you could explain the 'entry' line first, giving more context about this, before explaining frame vs sf 12:58
timotimo that's valuable input, i'll see if i can reword it
the thing with putting entry first that made me want to put it at the end instead is the big list of possible entry points i have below
jast which would make it mostly about re-ordering a few paragraphs
13:00 netrino_ left
timotimo something's wrong with the font in the examples at the bottom 13:00
things just don't line up ...
jast how about something roughly like this... the 'entry' decides which stage of profiling the program is applied to. in this case, the 'profiler_static' means we're seeing a routine for the first time, before we enter any specific frame, so [...]. [...] these are the other types of entry points:
13:01 veesh left
timotimo perhaps the font it's using is missing a few of the glyphs and is falling back to another one for those 13:01
13:01 veesh joined
timotimo yeah i like that suggestion 13:01
I'll give it a try after i defeat the font rendering at the bottom 13:02
jast font woes, sounds like fun
timotimo haha, when i set the font-family to "serif" the lines line up just fine
it just looks totally out-of-place
same for -webkit-pictograph, which wouldn't be cross-browser anyway 13:03
13:04 mowcat left 13:06 netrino_ joined
jast aside on eBPF for socket routing - the main use case I'm thinking of is virtual networks (but it's not something I've really looked into) 13:07
13:07 sdoo left
jast rest of the post looks good to me, and it's an interesting read, too 13:09
timotimo TYVM 13:10
with virtual networks you mean vlan?
jast I was thinking communication between virtual machines
timotimo ah 13:11
jast btw I would consider a different title maybe - it's a little vague right now
potentially this might become very flexible, but for now it's about profiling for the most part, I guess...
timotimo true, i just wanted to have a pun on the cat picture 13:12
"a close look at" would be another possibility
jast that pun went right over my head ;P
13:13 pamplemousse joined
jast either way "MoarVM features" doesn't really say much 13:13
timotimo true
"allowing close control over"? 13:14
jast right now it's all about the profiler, isn't it?
timotimo true
jast A close look at controlling the MoarVM profiler 13:15
timotimo that should work
13:20 pamplemousse left
timotimo refresh please, i rewrote it using mostly your suggested text 13:21
13:22 pamplemousse joined
jast okay, now you're explaining 'entry' twice, which is maybe not entirely necessary - but other than that, thumbs up ) 13:29
(I'm fairly picky btw :P)
13:29 cpan-p6 left
lizmat jast++ 13:29
timotimo ah, of course, the line before the list and perhaps the first entry in the list want change, too 13:30
13:30 cpan-p6 joined, cpan-p6 left, cpan-p6 joined
timotimo how's this? 13:31
also, i'm grateful for your pickyness :)
also, i'm not sure how to progress with the terminal output at the bottom >_< 13:32
13:32 skids joined
lizmat looks good to me now 13:34
13:34 vrurg joined 13:35 aborazmeh joined, aborazmeh left, aborazmeh joined
timotimo yes! i found a font that works 13:35
now my font-family is Consolas, Monaco, Monospace
lizmat even better
wish I could DDT to work on my Mac: I can't get the Terminal::Print dependency to install :-(
timotimo oh damn. but perhaps it'd be enough to just add whatever TERM you have to the whitelist 13:36
lizmat did that, didn't solve the problem
timotimo damnit
wanna try figuring it out together? 13:37
lizmat sure
I got a checkout of Terminal::Print locally
perl6 lib/Terminal/Print/Commands.pm6
timotimo when i run that i get a bunch of messages from 'tput: unknown terminal "xterm-kitty"' and the same for "rxvt-unicode-256color" 13:38
lizmat gives me a long list of: gist.github.com/lizmat/a966bc3b1de...215359f3f7
indeed
$ perl6 lib/Terminal/Print.pm6 13:39
===SORRY!===
Please update @valid-terminals with your desired TERM ('xterm-color', is it?) and submit a PR if it works
set | grep TERM
TERM=xterm-color
timotimo OK, when i add that it gives the exact same output, so it seems to find xterm-color just fine on my machine as well 13:40
lizmat added that to @valid-terminals
and get the ===SORRY!=== again on running lib/Terminal/Print.pm6 13:41
timotimo cleared all precomps just in case?
13:42 robertle left, curan left
lizmat when I run it as "perl6 lib/Terminal/Print.pm6" there is no precomp involved ?? 13:42
timotimo do you have a -I or something? perhaps it's using a precomp in an unexpected location, or something installed to the system 13:43
lizmat nope, no -I
timotimo well it has to find the other module somehow, right?
13:43 molaf joined
lizmat ok, turns out all of the "unknown terminal" crap was just a smoke screen 13:45
13:45 robertle joined
lizmat zef install . --force-install fails with: Tried to use an undefined capability 'civis' of the terminal type 'xterm-color' 13:45
timotimo that's a lot more interesting already 13:46
civis makes the cursor invisible, cnorm makes the cursor normal
13:46 xiaoyafeng joined
lizmat zef install . --force-install --/test did the trick (so far) 13:47
timotimo there's also ve and vi
if i understand correctly, ve is the same as cnorm and vi is the same as civis
this document i have here says that BSD follows the ve and vi conventions
which ... apple something something BSD something something darwin kernel something something 13:48
lizmat got it installed now,, timotimo++ for nudging me :-) 13:49
13:51 pamplemousse left, nadim_ left, pamplemousse joined
timotimo did you change civis and cnorm to the other thing? 13:52
lizmat doesn't like ve as a synonum for civis 13:53
Tried to use an undefined capability 've' of the terminal type 'xterm-color' 13:54
13:54 abraxxa left, abraxxa joined
timotimo odd 13:56
so what does that terminal use to switch between invisible cursor, normal cursor, and block cursor?
13:57 sdoo joined
lizmat I have no idea... 13:57
vrurg Here is output from infocap for xterm-256color: 14:01
yoleaux 21 May 2019 20:05Z <timotimo> vrurg: passing things it doesn't know about, Configure.pl just stays silent - we had --optimize=0 debug=3 in moarvm's Configure.pl and had a hard time figuring out why breakpoints weren't working/showing up in gdb; anything you can do?
vrurg bel=^G, blink=\E, bold=\E, cbt=\E[Z, civis=\E[?25l, 14:02
clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r,
Xliff \o
Did anyone get my messages about moar-master not compiling properly?
vrurg I see civis and cnorm.
Xliff colabti.org/irclogger/irclogger_lo...-05-22#l34 14:03
lizmat look for "submodule update" in the log
14:03 aindilis left
Xliff colabti.org/irclogger/irclogger_lo...-05-22#l43 14:04
lizmat: I ended up having to switch to moar-blead for the time being.
lizmat how is that different from master ? 14:05
14:05 dakkar left
Xliff Don't know. I just know that master kept dying when I tried to build it, and moar-blead went through clean. 14:06
14:06 netrino_ left
lizmat sounds weird :-) 14:06
vrurg timotimo: did you pass --optimize and --debug=3 to rakudo's Configure.pl? It's not clear to me what happened and how it was expected to be.
Xliff lizmat: Yes. Yes it does.
14:07 dakkar joined 14:08 netrino_ joined
vrurg Xliff: best is to try re-cloning from scratch, if you can. Sometimes things go out of sync. I sometimes just delete nqp directory and re-configure. 14:10
timotimo vrurg: we passed "--optimize debug=3" and we didn't get debugging, but we also didn't get a warning or an error
Xliff vrurg++: Thanks. I will see about that.
vrurg timotimo: My rakudo Configure.pl complains about unknown option optimize. Would it be possible for you to open a ticket? 14:13
I'll be away for a while and it seems like more information would be needed for me to follow. 14:14
timotimo it's the moarvm configure that gets it
OK
vrurg timotimo: Oh, I did nothing to MoarVM build. 14:15
timotimo oh, i see! 14:16
sorry about the noise, then :)
14:17 aindilis joined
vrurg NP. I'm not even sure if it makes sense to re-do moar's build. 14:18
kawaii deployed our first production perl 6 app at $dayjob today :) 14:23
moritz kawaii: that's awesome. What does it? 14:25
14:27 nadim_ joined
kawaii moritz: gist.githubusercontent.com/kawaii/...display.p6 14:27
so, it's quite hacky, but we have a client who has a point-of-sale system, and when they scan a barcode their application sends a full HTML payload to a second screen that the customer sees (showing price, item photo etc), we needed a small listener app to basically rebuild the DOM with each new payload
tadzik cute :) 14:28
or should I say: kawaii? ;) 14:29
14:29 xiaoyafeng left
kawaii ;) 14:29
moritz kawaii: very nice 14:32
kawaii nice is probably not the right word, a simple hack but it works very well :)
14:32 DarthGandalf joined 14:35 cpup left, cpup joined 14:36 robertle left
moritz "works very well" and "simple" together meets my definition of "nice", even if it's not very elegant 14:37
14:39 nadim_ left 14:40 satori__ joined 14:41 netrino_ left
timotimo lol i blogged: wakelift.de/2019/05/22/close-look-...-profiler/ 14:41
tadzik lol! 14:42
14:44 feldspath joined
lizmat weekly: wakelift.de/2019/05/22/close-look-...-profiler/ 14:46
notable6 lizmat, Noted!
14:47 netrino_ joined
jast timotimo: the good news is you got my seal of approval now for the post :P 14:48
14:48 pamplemousse left
timotimo is there an image i can embed for that? :) 14:49
14:50 zakharyas joined 14:51 pamplemousse joined 14:52 sena_kun left 14:55 nadim_ joined 14:58 kurahaupo left, sdoo left 14:59 kurahaupo joined, kurahaupo left, kurahaupo joined 15:11 aborazmeh left 15:14 jeromelanteri left
nadim_ hi, is it possible to get more info when one gets messages like "Cannot find method 'ann' on object of type NQPMu", a file and line? 15:15
jmerelo nadim_ there's a DEBUG environment variable you can use. It might be a bit too verbose. 15:16
timotimo huh? i haven't heard of that 15:17
nadim_ hehe!
just DEBUG=1 perl6 ...?
timotimo usually --ll-exception can get you a bit further, but that only works if you already get a stack trace, but it's too short
nadim_ that's what I got, nothing more
jmerelo nadim_: but that's an error that's deep down in NQP so it's better if you post the whole thing here or in StackOverflow... Or both 15:18
timotimo: export RAKUDO_MODULE_DEBUG=1
timotimo: it's for compilation but it could still be useful here 15:19
lizmat .ann points at something gone wrong in a grammar (there's a lot of \.ann() in src/Perl6
)
timotimo try --stagestats to see if it happens in, for example, the optimizer
nadim_ dumping a CallFrame has been challenging, between the Uninstantiable found it and that. not that 15:20
lizmat so it looks like something did not get initialized, and then it gets annotated, and then boom
nadim_ hmm, let me try to reproduce it, I was trying to make it go so far
timotimo nadim_: maybe you already saw, but i gave ddt a shout-out in my latest blog post :) 15:22
15:24 sdoo joined
nadim_ here's the code that generates the error and the code that doesn't. nopaste.linux-dev.org/?1202183 15:27
timotimo: cool! url?
timotimo wakelift.de/2019/05/22/close-look-...-profiler/ 15:31
get_attributes just calls get_attributes and that's not part of the paste :( 15:32
well, not "just"
but, you know
15:32 AlexDaniel left
nadim_ output when run with RAKUDO_MODULE_DEBUG=1 nopaste.linux-dev.org/?1202184 15:35
15:35 netrino_ left 15:37 robertle joined
nadim_ timotimo: github.com/nkh/P6-Data-Dump-Tree/b...ee.pm#L805 15:38
that's the previous version but get_attributes is the same. unfortunatelly the old version will not dump a CallFrame, it breaks before it gets there. if if it is of interest I can make a branch but changing the code removed the error so I don't thnk it's in get_attributes 15:40
jmerelo nadim_: well, the last line is helpful...
nadim_ which one?
15:40 Ven`` joined
Ven`` \o 15:40
15:41 netrino_ joined
jmerelo nadim_: line #91 in the pastebin. But I was actually kidding. It might have some info, but it's hidden in so much stuff that's it's difficult to say. 15:41
nadim_ I kinda guessed you were joking ;) 15:42
15:44 Sgeo__ left 15:45 Sgeo__ joined
nadim_ timotimo: /me bows down ... 15:45
jmerelo nadim_: that's so weird... timotimo found the solution? 15:47
timotimo what?
i don't think i did anything?
i was just about to say i don't see anything obvious, and that i would splatter the code with debug prints, maybe a call to DUMP or two
Ven`` we'll bow to you anyway
nadim_ haha, jmerelo, no, I thanked for the thanks in the blog entry
timotimo thanks for the thanks for the thanks
jmerelo bows too 15:49
anyway
nadim_: as timotimo says, get_attributes is calling a get_attributes sub?
nadim_ yes
jmerelo nadim_: which is right below...
and there's another _get_attributes... There are a bit too many *get_attributes*... 15:50
I don't see anything that might cause the error, which is probably a bug anyway. 15:51
um, you're defining @a and using it withing a try statement...
Can you define @a in 807 and then assign it a value in the next one? 15:52
@a is not exactly defined when you try and use it, I think...
timotimo true, that's a little bit odd 15:53
but the assignment should return the assigned value, so it *should* be fine
jmerelo timotimo: but you can simply use some other variable. Or none. the try block should return its last value, right? 15:54
timotimo: so simply eliminate @a = inside the try statement
nadim_ yes, I probably needed it as a sub somewhere (my guess is filter, you want power you have to pay for it). and it got complex when I started supporting NativeCall, etc ... blogs.perl.org/users/nadim_khemir/2...-side.html
15:55 pamplemousse left
jmerelo m: my @a = try { my @a = 3,7 } 15:55
camelia ( no output )
jmerelo m: my @a = try { my @a = 3,7 }; say @a
camelia [3 7]
jmerelo No, that's not it...
15:56 pamplemousse joined
jmerelo m: my @a = try { @a = 3,7 }; say @a 15:56
camelia [3 7]
jmerelo m: my @a = try { 3,7 }; say @a
camelia [3 7]
nadim_ jmerelo: yes it looks like the <2a in the try is not necessary 15:57
15:59 Ven`` left
nadim_ Mehhhhh! now nothing works anymore, I need to learn to commit faster! 16:00
jmerelo m: say (('DDT exception', ': ', "message"),) 16:09
camelia ((DDT exception : message))
jmerelo nadim_: is that kind of thing what you want? A list inside a list? 16:10
16:10 robertle left
jmerelo nadim_: also, why don't you raise an exception if it's an exception? It might be better than detect some particularly formatted thing 16:10
16:11 pamplemousse left, pamplemousse joined
TreyHarris Is there an at all well-known interlingual for programs that are run in "cmd [GLOBAL_OPTS] subcommand [SUBCOMMAND_OPTS] [args...]" style, like git, docker, etc.? In Perl I think they're most commonly called "App::Cmd-style", but that's obviously not an interlingual term 16:13
16:13 netrino_ left
TreyHarris I've heard "command suite", but I don't think that's common enough--it's certainly not distinctive enough to search on it. I'm hoping there's a term such that, if I were using a new language whose ecosystem I'm not that familiar with, how I'd find if there were utilities for this CLI style, and what they are 16:15
16:20 netrino_ joined
nadim_ jmerelo: yes a list inside a list, it gets rendered as an element in the dump 16:20
jmerelo: the last thing I want when debugging something is the debug tool raising an exception it can't handle
16:21 abraxxa left
nadim_ jmerelo: and since it's just display I believe it is abetter way to handle it. otherwise you get nothing at all, this way you get a partial dump 16:21
16:21 abraxxa joined
jmerelo nadim_: OK :-) 16:21
TreyHarris seems like "subcommand" is the word that frequently turns up what I'm looking for, but by no means 100% (it doesn't Google up the results I'd like to see in Perl 5 or 6, for instance, though it does turn up on-point results that might through concatenation get me what I want) 16:22
kawaii has there been much thought to type safety in perl 6? 16:23
nadim_ TreyHarris: No name I know of, I once wrote a module to handle this kind of interface, handling commands written indifferent languages, a wrapper of sort, I ended with App::Chained because I couldn't find a better name. 16:24
jmerelo kawaii: as in?
nadim_ TreyHarris: with this description: Front end to sub applications in a Svn/Git fashion 16:25
TreyHarris nadim_: *nod* 16:26
16:30 kensanata left, pamplemousse left 16:35 dakkar left
TreyHarris I was looking at the various packages ecosystem knows about and I was thinking--shouldn't it be possible with the new(ish) &ARGS-TO-CAPTURE to create a suite such that bin/foo is the executable calling Foo::&MAIN, and then dispatching commands like `bin/foo bar` to Foo::Bar::&MAIN, such that you leave the Perl 6 built-in opt handling basically intact? Just, given the cmdline `foo {@global_opts} $subcmd 16:37
{@subcmd_opts} {@args}`, before Foo::&MAIN, strip out everything after @global_opts and hang on to it, then run Foo::&MAIN and gather its arguments in a dynamic variable, then do some housekeeping (like, if you used a "terminal" global option, like `--help` or `-V`, _and_ there was anything left squirreled away, fail with USAGE) and replace the @*ARGS with ($subcmd, @subcmd_opts), then call Foo::Bar::&MAIN and
let it handle its arguments normally, too?
jmerelo TreyHarris: zef uses multiple dispatch for its subcommands, with the subcommand as first argument to MAIN. It's not possible to distinguish between flags for command and for subcommand, anyway 16:38
TreyHarris (of course, in practice, you'd probably want some intervening namespace, like Foo::Commands::Bar, etc., but that's trivial.)
nadim_ you want to be abble to displatch to external programs too, git allows you to add your own commands, sleek 16:40
TreyHarris jmerelo: Hmmm, yes, efficiently you may be right... but looking at &ARGS_TO_CAPTURE, I can see one way to do it: gather up all the known subcommands. Going right to left, look for a known subcommand. Grab the arguments beginning with that subcommand all the way to the right, squirrel them away, and try calling the top-level MAIN. If it fails, see if there's a known subcommand further left in the CLI, prepend 16:42
those args to the ones you squirreled away, and try calling MAIN again. If you never get a successful call, die with USAGE. But if you get a successful call, then you know the squirreled arguments are ones to the subcommand that occupies the head of the remaining args
16:43 domidumont joined 16:44 zakharyas left
TreyHarris nadim_: Putting aside jmerelo's good critique, there's a way: use environment variables for the global options, and if no subcommands match, call an external "main-subcommand" and see if it works. That's how git does it. Marrying that with the solution I just proposed seems difficult, though. 16:44
If you specify that the top-level MAIN can't have freeform arguments (it necessarily has no position arguments), only constrained ones, you can do the dispatching more efficiently because there will never be a case where it's ambiguous whether an argument whose value is a string exactly matching a subcommand name is a subcommand or an argument to some prior subcommand or flag 16:47
hrm, without monkey-patching augmenting, you can't do this in an importable package, though, can you? b/c the module has to mess with the commands' packages' namespaces 16:55
it will always be the case that a single use of augmentation anywhere in a program will have a performance hit on the entire program, right? 16:56
17:00 netrino_ left 17:03 sdoo left 17:04 netrino_ joined
nadim_ timotimo: you know that when you have a very long dump you can get a folding UI in terminal, right? or generate ahtmlthat does folding too. Both are a bit primitive (I don't likedoing UI stuff much) but can help if you have a long output 17:06
17:07 sena_kun joined 17:09 AlexDaniel joined 17:14 johnjohn101 joined 17:16 vrurg left 17:24 sdoo joined 17:28 domidumont left 17:30 ravenous_ joined 17:31 ravenous_ left 17:32 ravenous_ joined 17:37 zakharyas joined 17:40 vrurg joined 17:44 rindolf left 17:45 pecastro joined 17:48 domidumont joined, robertle joined 17:50 ravenous_ left 17:53 japhb left, rindolf joined, netrino_ left 17:54 domidumont left 17:58 netrino_ joined 17:59 japhb joined 18:03 espadrine_ joined 18:08 sdoo left 18:13 holyghost left 18:32 sauvin left 18:35 netrino_ left 18:36 netrino_ joined 18:41 molaf left 18:46 kurahaupo left 18:47 kurahaupo joined 18:49 jmerelo left
ugexe you can only setup mainline once, so having multiple files with parts of the MAIN will not work 18:53
all MAINs must be in the same file
you can still call Foo::MAIN, you just don't get &MAIN, nor the USAGE to show the stuff for Foo::MAIN (if it wasnt the first MAIN loaded) 18:56
otherwise `bin/zef` would just be `require "bin/zef-fetch"; require "bin/zef-test"; ...`, where each command goes into its own bin/zef-command file 18:57
(oversimplifying a bit, but still)
19:02 ravenous_ joined
timotimo hm, but can't you "use" multi candidates of the same name together to form your scope? 19:02
ugexe not mainline 19:03
mainline is setup once (the first time)
timotimo oh, huh
i didn't read the discussion that came before this, sorry
dogbert17 .seen tadzik 19:07
yoleaux I saw tadzik 14:42Z in #perl6: <tadzik> lol!
tadzik dogbert17: hi :) 19:08
dogbert17 hi tadzik, can I ask a question wrt rakudobrew? 19:09
when trying to nuke an installed p6 version I get: Undefined subroutine &Rakudobrew::Build::match_and_run called at /home/dogbert/.rakudobrew/bin/../lib/Rakudobrew/Build.pm line 132
tadzik dogbert17: shoot
dogbert17 already asked :) 19:10
tadzik :)
hm
sounds like a bug in v2
dogbert17 yeah; i'm using the new version
tadzik I guess go ahead and open a bug :) 19:11
I'm not very active in it these days, but patzim is on fire :)
dogbert17 consider it done, thanks for your time :)
I like rakudobrew, I find it very useful 19:12
19:16 molaf joined 19:34 zakharyas left 19:39 hythm_ joined
hythm_ m: my @a; my %h; %h<a> = @a; say %h<a>.perl; should not the out put be `[]` instead of `$[]` ? 19:41
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus term
at <tmp>:1
------> 3y %h<a>.perl; should not the out put be 7⏏5`[]` instead of `$[]` ?
expecting any of:
argument list
infix
infix stopper
hythm_ m: my @a; my %h; %h<a> = @a; say %h<a>.perl; # should not the out put be `[]` instead of `$[]` ? 19:42
camelia $[]
ugexe m: my @a; my %h; %h<a> = @a; say %h<a>.gist;
camelia []
hythm_ m: my @a = 1, 2; my %h; %h<a> = @a; say %h<a>.elems 19:46
camelia 2
hythm_ aah, i was thinking $[] in .perl means array is itemized 19:47
19:59 oftl_ left
xinming Anyone here has hints on what is the best way to share data with python with json? 20:00
I'm thinking to write a socket server, and let python to connect, But I'm not sure wether this is the best way to do. 20:01
I wrote a small bot with perl6, and I wish to write a query infos from the bot in perl6, exchange data with python. 20:02
ugexe you could also use a MQ
xinming rabbit mq?
ugexe i imagine any of them will do
lizmat is Inline::Python not an option ?
xinming ugexe: Thanks for the hint.
lizmat: No, Since there will be a big framework using python. 20:03
lizmat too bad :-)
xinming I'll write a small plugin in python, to let python to query the data from perl6. 20:04
tobs hythm_: I think it's exactly that, itemized.
xinming After I read python, I feel python is really a good programming language for practising typing....
ugexe i'd like to see a pythonista out type me on symbols 20:05
tadzik they may win on : ;) 20:08
20:12 discord6 left, discord6 joined, discord6 left, discord6 joined
hythm_ tobs: yes right, so assigning an array to a hash key itemizes the array... 20:12
but why? 20:13
lizmat because a value in a Hash is an item
tobs the hash itemizes its contents
hythm_ ok. noted. 20:14
tobs I like to think that an Array is just a List which achieves mutability by storing Scalar containers as elements. The same for Hash and Map. 20:15
I wonder if that's (even technically) a correct picture. lizmat?
lizmat tobs that is almost correct: it is true for Map vs Hash 20:16
tobs cool, thanks
lizmat but in the case of List vs Array: a List *can* contain a container
ugexe note %h<foo> := @a is not the same as %h<foo> = @a 20:17
lizmat m: my $a = (1,my $ = 42,3); dd $a; $a[1] = 666; dd $a # tobs
camelia List $a = $(1, 42, 3)
List $a = $(1, 666, 3)
tobs m: my $a = %(a => 1, b => my $ = 42, c => 3); dd $a; $a<b> = 666; dd $a 20:18
camelia Hash $a = ${:a(1), :b(42), :c(3)}
Hash $a = ${:a(1), :b(666), :c(3)}
tobs ah, and in a hash, a Pair can contain a container value
oh no, wait 20:19
I meant to make a Map
m: my $a = %(a => 1, b => my $ = 42, c => 3).Map; dd $a; $a<b> = 666; dd $a
camelia Map $a = $(Map.new((:a(1),:b(42),:c(3))))
Cannot change key 'b' in an immutable Map
in block <unit> at <tmp> line 1
tobs huh
well, it matches what you said exactly. 20:20
20:27 ravenous_ left
lizmat tobs: worked a lot on that part of the internals over the years :-) 20:32
20:48 espadrine_ left 20:51 espadrine_ joined 21:00 robertle left 21:15 skids left
hythm_ general question: lets say I want to connect to two package repositories, make a query for a package, combine the result from all repos and process it 21:15
what im thinking is to create an Array of Cro::HTTP:Client (with specific base-uri to each repo). and call @a>>.get. then process the result 21:17
timotimo Cro::HTTP::Client can't be used for multiple things at once?
sena_kun hythm_, what is the exact question? the approach you described is doable. 21:19
hythm_ im not sure, ill check that
jnthn If you're not re-using it for multiple requests, there's not that much point making an instance
hythm_ the exact question is, is there a better way to do that? like the way described in "array based objects" advent post? 21:20
let me rephrase 21:22
sena_kun if you can afford it, you can run e.g. `zef info Foo::Bar` and then collect its output, as zef will collect and process metadata for you. if you don't want to rely on something external like this, using Cro::HTTP::Client will do.
tbrowder hi, p6 21:24
timotimo hi TB
tbrowder timotimo: hi!
i'm looking at using win 10 (yuck) to intro folks to p6. can inline::perl5 work there? 21:26
21:26 johnjohn101 left
timotimo as long as there's access to a compiler that can build the p5helper, probably. also it needs a perl5 built with "multiplicity", so you'll potentially have to build your own perl5 anyway 21:26
Xliff jnthn: Any further thoughts on github.com/croservices/cro-http/pull/39 21:31
jnthn Xliff: Merged, thanks 21:36
21:36 Cabanossi left
Xliff \o/ 21:36
jnthn: You're welcome. 21:37
21:41 rindolf left
tbrowder wouldn't a complete p5/p6 win 10 installable be a good thing for marketng 21:45
*marketing? for p5 and p6?
probably 21:46
21:46 ab6tract joined
ab6tract o/ 21:46
yoleaux 24 Mar 2019 22:44Z <japhb> ab6tract: Saw the follow up email, thanks! SGTM, but can't work on it right now because of $day-job stuff. I'll keep it on my back burner for fun coding time though. :-)
timotimo could be, but isn't building a perl 5 distribution a bunch of work?
i mean, if you're on win10, why not use the built-in linux compatibility stuff 21:47
tbrowder for one thing, i'm trying to deal with very restrictive win 10 networks like local county and city governments that don't like to change anything. for instance, our new senior center has no non-ms programs, and anything else has to be runnable in the edge browser. 21:50
timotimo ah, i see
21:50 lembark left
hythm_ apology for the delay, i have created SO questionstackoverflow.com/questions/562654...of-objects 21:50
21:51 Cabanossi joined
tbrowder timotimo: thnx 21:51
timotimo sorry, i haven't a clue :( 21:52
hythm_: that's fine, but it's a bit wordy; personally, i would perhaps not even have OO in there at all 21:54
21:55 ab6tract left
timotimo if you have an array-based object, you can't have attributes on top of the array storage 21:55
(because arrays are arrays, not general objects, and general objects have attributes) 21:56
hythm_ timotimo, the reason i started with OO is due to after making a request and getting result pack, i would follow that with other requests for every package dependencies , and so on. so i though OO would make it more managable 21:57
aah makes sense
ugexe github.com/ugexe/zef/blob/master/l...ory.pm6#L8 21:58
hythm_ thanks ugexe. checking the method... 22:00
timotimo i suppose that makes sense. will it be fine to look up dependencies of a package first found in A in B?
if you have p6c and cpan for example, would finding JSON::Fast in p6c mean that its dependency Make::Very::Fast would only be searched for on p6c? 22:01
(because you're throwing out duplicates with the unique thing)
if comparing the dists with eqv like that, then the dists can't actually have any data in it that says where it comes from, or else you'll never kick out packages that are "the same" from different ecosystems
hythm_ timotimo, yes it should be fine to get depenedencies from different repo, 22:03
for example if someone hosts a small local repo for a few packages, it would be nice to resolve deps from other repos as well 22:04
timotimo right-o
don't forget we have not only a module's name, but also its authority, which has the ecosystem it comes from as part of the name 22:05
i.e. there are packages with github:timo and cpan:TIMOTIMO
hythm_ aah right, i just tried to make something quickly, probably will end up changing the whole 'unique' part 22:07
also worth noting this is more for Linux packages, like deb and rpm, not for cpan or pip 22:08
timotimo OK
do you know about the specs we have for "native" dependencies? to be put into META6.json? 22:09
ugexe race map race reduce
hythm_ i dont know about that, link? 22:10
timotimo do we have race reduce? 22:11
actually i'm not sure where that document lives. is it on design.perl6.org? i think that page is down still?
ugexe m: say race reduce { $^a }, 1, 2, 3; 22:12
camelia Too many positionals passed; expected 1 argument but got 2
in code at <tmp> line 1
in block <unit> at <tmp> line 1
22:12 feldspath left, feldspath joined
hythm_ does load for me, but i know where to look now, thanks. 22:14
ugexe one day we will sneak the dependency name parser into somewhere... CompUnit::DependencySpecification.from-string maybe github.com/ugexe/zef/blob/master/l...m6#L13-L22 22:16
it will eventually be a requirement for emulates/supercedes/etc
22:19 pecastro left 22:20 hythm_ left
ugexe if someone wants to write it in nqp they should totally do it 22:21
:auth<First Last [email@hidden.address] :) 22:24
timotimo do we want to have something like webfinger so there's like a bar.net/.well-known/perl6-module-a...ename.json 22:27
you know, for reasons 22:28
a DNS entry :D 22:29
22:35 discord6 left, discord6 joined, discord6 left, discord6 joined 23:29 cpup left 23:31 netrino_ left 23:34 aborazmeh joined, aborazmeh left, aborazmeh joined 23:36 khisanth_ left 23:37 netrino_ joined 23:42 netrino_ left 23:46 ijneb joined 23:50 khisanth_ joined