»ö« 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 w_richard_w joined 00:01 p6bannerbot sets mode: +v w_richard_w
Pllll "Zoffix Znet started this discussion again early October 2018" ... That wasn't the start. That was the CONCLUSION to a 6.d release item that was posted MORE THAN A YEAR AGOgithub.com/perl6/6.d-prep/commit/0...eba1540682 00:03
00:08 Pllll left 00:09 cydf left
vrurg m: perl6 -e 'class A { method foo ( Int $i ) { "A::foo($i)" } }; class B is A { method foo ( Int $i ) { return callsame ~ "B::foo -> " if $i == 0; callsame ~ "B::foo( $i ) -> " } }; say B.new.foo(1)' 00:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3perl6 -e7⏏5 'class A { method foo ( Int $i ) { "A::
expecting any of:
infix
infix stopper
postfix
statement…
vrurg m: class A { method foo ( Int $i ) { "A::foo($i)" } }; class B is A { method foo ( Int $i ) { return callsame ~ "B::foo -> " if $i == 0; callsame ~ "B::foo( $i ) -> " } }; say B.new.foo(1)
camelia 5===SORRY!5=== Error while compiling <tmp>
Calling callsame(Str) will never work with declared signature ()
at <tmp>:1
------> 3B is A { method foo ( Int $i ) { return 7⏏5callsame ~ "B::foo -> " if $i == 0; call
vrurg Could some body explain this error?
Swapping callsame with string fixes the problem. 00:15
00:18 kurahaupo_ joined 00:19 p6bannerbot sets mode: +v kurahaupo_ 00:20 kurahaupo left 00:30 rouking left 00:40 lookatme_q left 00:41 Kaiepi left 00:43 delon_ joined 00:44 delon_ left 00:56 moony left, moony joined, p6bannerbot sets mode: +v moony 01:14 kurahaupo_ left
timotimo vrurg: callsame isn't a term, though maybe it should have been; you need () 01:14
01:14 kurahaupo joined
timotimo callsame ~ "B::Foo( $i )" is being parsed as callsame(~"B::Foo( $i )"); 01:14
vrurg m: class A { method foo ( Int $i ) { "A::foo($i)" } }; class B is A { method foo ( Int $i ) { return callsame() ~ "B::foo -> " if $i == 0; callsame() ~ "B::foo( $i ) -> " } }; say B.new.foo(1) 01:15
camelia A::foo(1)B::foo( 1 ) ->
01:15 p6bannerbot sets mode: +v kurahaupo
vrurg timotimo: documentation defines it as a sub. subs are supposed to be terms, aren't they? 01:16
01:16 kurahaupo_ joined
timotimo no, subs eat up arguments by default, terms don't 01:16
i wonder if we could pass the info from the parser to the optimizer that there was a balanced number of spaces around the ~ so that the optimizer could point out that perhaps an infix was interpreted as a prefix accidentally 01:17
01:17 p6bannerbot sets mode: +v kurahaupo_
vrurg That would be great. 01:17
timotimo doing that might require touching EXPR 01:18
vrurg is always using () with subs; thus forgot about them consuming arguments...
01:18 kurahaupo left
vrurg timotimo: thanks! 01:19
timotimo NP!
01:42 finanalyst joined, p6bannerbot sets mode: +v finanalyst 01:53 ryn1x joined 01:54 p6bannerbot sets mode: +v ryn1x 01:56 leont left 02:11 ryn1x left 02:12 kurahaupo_ left, kurahaupo joined, ryn1x joined 02:13 p6bannerbot sets mode: +v kurahaupo, p6bannerbot sets mode: +v ryn1x 02:14 kurahaupo left 02:16 kurahaupo joined 02:17 p6bannerbot sets mode: +v kurahaupo 02:18 ryn1x left
SmokeMachine timotimo: it's starting to work! www.irccloud.com/pastebin/CrAvcoN8/ 02:26
timotimo: Im using control exceptions for that... any better idea? 02:27
02:34 ryn1x joined 02:35 p6bannerbot sets mode: +v ryn1x
SmokeMachine timotimo: a better example www.irccloud.com/pastebin/OHw2cHGA/ 02:36
timotimo: now I have to add it to the ast... 02:37
timotimo oh, i didn't even know sqlite3 has type coercers 02:41
SmokeMachine timotimo: that’s not sql...
timotimo oh
SmokeMachine Just gist...
timotimo OK!
it does look promising :)
SmokeMachine :)
timotimo will be fun to do it with multiple vars in multiple places 02:42
SmokeMachine Thanks for the idea!
That will! But I’m to far from that yet...
timotimo: I haven’t tried, but I think it’s already working (just the printing) to ??!! 02:44
timotimo cool
SmokeMachine So, have a good night! Thanks!
timotimo seeya! 02:45
AlexDaniel lizmat: oh! t/*/*.t thing was by donaldh, not me! I just merged their PR
lizmat: github.com/rakudo/rakudo/pull/2454
I'm talking about: “Aleks-Daniel Jakimenko-Aleksejev made the make t/spec/foo/bar.t rule work again, allowing for selective spectesting of one or more files.” 02:46
timotimo i can edit the post right now 02:47
"Donald Hunter" is correct?
AlexDaniel please do
yes
timotimo updated 02:48
AlexDaniel timotimo++ thank you 02:49
timotimo YW
02:51 noganex_ joined, noganex left
buggable New CPAN upload: HTTP-Request-FormData-0.2.tar.gz by HANENKAMP modules.perl6.org/dist/HTTP::Reques...:HANENKAMP 02:52
02:52 p6bannerbot sets mode: +v noganex_, molaf left 02:53 Kaiepi joined 02:54 p6bannerbot sets mode: +v Kaiepi 03:05 molaf joined 03:06 p6bannerbot sets mode: +v molaf 03:12 molaf left 03:15 ufobat___ joined 03:16 p6bannerbot sets mode: +v ufobat___ 03:19 ufobat_ left 03:20 jast left 03:22 jast joined, kurahaupo_ joined 03:23 p6bannerbot sets mode: +v jast, p6bannerbot sets mode: +v kurahaupo_ 03:26 kurahaupo left 03:34 delon left 03:42 w_richard_w left 03:51 ryn1x left, ryn1x joined
buggable New CPAN upload: Mathx-Stat-0.1.15.tar.gz by HOLYGHOST modules.perl6.org/dist/Mathx::Stat:...:HOLYGHOST 03:52
03:52 p6bannerbot sets mode: +v ryn1x 03:53 nelsonhb joined 03:54 p6bannerbot sets mode: +v nelsonhb, molaf joined 03:55 p6bannerbot sets mode: +v molaf
holyghost If someone would like to run the tests of Mathx::Stat ? 03:56
If it works, the package goes to 0.2 with more code 03:58
04:00 nelsonhb left
timotimo holyghost: you have a typo in DistributionPopulation.pm6 04:02
that prevents it from working
there is a : missing in line 3 where it says "Mathx::Stat:Population"
why did you put it up on cpan already?
and you're still writing .foo instead of self.foo which makes things Not Work 04:03
No such method 'length' for invocant of type 'Array'. Did you mean 'elems'? 04:04
in method Expectance at /tmp/Mathx-Stat/lib/Mathx/Stat/DistributionPopulation.pm6 (Mathx::Stat::DistributionPopulation) line 19
please for the love of all that is holy and ghostly test your code even just a little bit before you put it up on cpan
holyghost timotimo: I uploaded uncompilable code because I didnt know then it had to go on github first 04:05
So should I update CPAN then ?
I was all wrong with things like .population 04:06
anyway thx, I'll edit this week 04:07
I asked Xliff to do a PR
04:11 costamsm1 joined 04:12 p6bannerbot sets mode: +v costamsm1
timotimo .population is short for $_.population 04:12
that's fine, but you didn't put anything into $_
so it just executes .population on the default value that is in $_, which is just the Any type object 04:13
which doesn't have a population method, normally
04:14 costamsm1 left
timotimo if the mathx::stat module was already there, then you could have left it in the state it was and only upload something new once it compiles 04:14
holyghost ok, but I just uploaded, I know now 04:16
I'll fix later on 04:18
I thought it was short for a public variable
timotimo you're using "ok" in the test function again as if it compared two values
04:18 sacomo left
timotimo no, that requires the sigil in front 04:18
holyghost not $_
timotimo $.foo is $(self.foo), .foo is $_.foo
holyghost is 04:19
04:19 ryn1x left
timotimo you probably want something other than is 04:19
m: use Test; is 1.5, "1.5", "a string and a number are equal enough for 'is'"
camelia ok 1 - a string and a number are equal enough for 'is'
timotimo see, "is" uses stringification to compare stuff 04:20
so anything that will .Str to the same thing as another thing will result in a passing test
you probably want is-deeply, or cmp-ok
m: use Test; cmp-ok 1.5, '==', 1.5
camelia ok 1 -
holyghost ok thx again 04:21
timotimo don't forget about fixing .length, too
04:21 Xliff joined
holyghost length has been fixed 04:21
timotimo m: my $p = 0.1; loop (my $i = $p; $ < 1.0; $p++) { say "p is $p" }
whoops
m: my $p = 0.1; loop (my $i = $p; $p < 1.0; $p++) { say "p is $p" }
buggable New CPAN upload: Mathx-Stat-0.1.16.tar.gz by HOLYGHOST modules.perl6.org/dist/Mathx::Stat:...:HOLYGHOST 04:22
04:22 p6bannerbot sets mode: +v Xliff
camelia (timeout)Use of uninitialized value of type Any in numeric context
p is 0.1
in block <unit> at <tmp> line 1
Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
Use of uninitialized value of type Any …
04:22
p is 0.1
timotimo your loop only does a single iteration
holyghost Xliff: hi, if you want to PR Mathx-Stat with .population -> $.population fiexes
timotimo and $i is created, assigned to, but never used
holyghost s/fiexes/fixes 04:23
Xliff holyghost: I am a little under the weather to day. Keep making fixes in your repository and I can pick it all up in the same PR. 04:24
holyghost Xliff: ok, there's 2 tests now
Xliff OK, good!
G'night.
holyghost gn 04:25
timotimo testing only Expectance and Variance on a single Distribution is probably not enough
after all, an implementation that just always returns 0.5 would also pass these tests
that's the idea behind TDD's prescription to write tests and then implement only barely enough to make the test pass, and nothing more, and then write more tests that actually fail 04:28
so that you don't accidentally write a very specific test for a very complex implementation and call it finished 04:29
so if your test is "cmp-ok $pop.Expectance, '==', 0.5" your implementation should be "return 0.5", then you write more tests
until it's to your liking and you're certain that the tests actually express everything your code is supposed to do 04:30
also, test with unexpected values, too
what happens if i $pop.add(Nil), what happens if i $pop.add("hello"), what happens if i $pop.add(Inf) or NaN, or 3+5i, ... 04:31
holyghost It's on github/theholyghost2, I didnt update cpan
timotimo that's good
holyghost ok then I understood
add works fir e.g. genetic algorithms and are 'lossless' 04:32
s/fir/for
It's not fool-proof I mean
one test has been fixed 04:33
$p you mentioned
timotimo i saw, looks better 04:34
holyghost those 2 tests should work now
timotimo but i did not test it yet, and i should go to bed very soon
holyghost ok
thx for the help, better you go to sleep than you help me more
04:35 sacomo joined
timotimo m: my $dist = Mix.new(0.1, 0.2 ... 1.0); say "expectance is { $dist.sum / $dist.elems }" 04:35
camelia Cannot resolve caller Numeric(Pair: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
04:35 p6bannerbot sets mode: +v sacomo
timotimo aha 04:36
holyghost nice
timotimo m: my $dist = Mix.new(0.1, 0.2 ... 1.0); say "expectance is { $dist.total / $dist.elems }"
camelia expectance is 1
timotimo that doesn't seem right
holyghost 0.1
timotimo m: my $dist = Mix.new(0.1, 0.2 ... 1.0); say $dist.perl
camelia (0.4=>1,0.9=>1,0.8=>1,0.6=>1,1.0=>1,0.5=>1,0.2=>1,0.3=>1,0.7=>1,0.1=>1).Mix
timotimo m: my $dist = Mix.new(0.1, 0.2 ... 1.0); say $dist.total 04:37
camelia 10
timotimo ah
that's the total of the weights
holyghost \/ $sum 04:38
timotimo m: my $dist = Mix.new(0.1, 0.2 ... 1.0); say "expectance is { $dist.keys.sum / $dist.elems }"
camelia expectance is 0.55
holyghost ok damn :-)
timotimo m: my $dist = Mix.new(0.1, 0.2 ... 1.0); my $exp = $dist.keys.sum / $dist.elems; say "expectance is $exp"; my $var = (($dist.keys >>->> $exp) >>**>> 2) / ($dist.elems - 1); say "variance is $var" 04:39
camelia expectance is 0.55
variance is 1.111111
timotimo oh 04:41
those .elems must be .total instead, and the keys have to be multiplied by their weights 04:42
otherwise it only works if you have only one of each
holyghost fixed Epxectance 0.55
s/Epxectance/Expectance
04:42 silug left
holyghost So DistributionPopulation works, that's the most important thing next to the probability class 04:43
I cannot use mix as the @.population changes 04:44
timotimo well, yeah, mixes are associative, @.population requires a positional instead
holyghost ok 04:45
I have make Probability.pm6 tests 04:46
s/have/have to 04:48
timotimo good night!
holyghost gn!
Xliff: do a PR later on today, the only thing you have to do is debug Probability.pm6 04:51
I have too much trouble to do it on my own 04:53
04:55 silug joined
holyghost Xliff: oh I forgot you are a bit weathered today :-) 04:55
04:56 p6bannerbot sets mode: +v silug 05:13 hph^ left 05:16 delon joined
holyghost Xliff: made some more fixes 05:16
05:17 p6bannerbot sets mode: +v delon
holyghost okm I have a Bayes test now, it's on github 05:29
s/okm/ok, 05:30
added conditional probability tests 05:42
Xliff : I'm done with updating, if you have time this week, go ahead with the PR 05:43
05:54 curan joined, p6bannerbot sets mode: +v curan 06:08 Kaiepi left 06:16 sacomo left 06:17 sacomo joined, TeamBlast left, TeamBlast joined, p6bannerbot sets mode: +v sacomo 06:18 p6bannerbot sets mode: +v TeamBlast 06:20 lizmat left, troys left 06:24 Kaiepi joined, molaf left, p6bannerbot sets mode: +v Kaiepi 06:28 jmerelo joined 06:29 p6bannerbot sets mode: +v jmerelo
jmerelo Hi 06:29
06:32 kurahaupo joined
Kaiepi o/ 06:32
06:32 p6bannerbot sets mode: +v kurahaupo 06:34 kurahaupo_ left 06:45 metadude joined, p6bannerbot sets mode: +v metadude
metadude Hello 06:46
06:47 sauvin joined, p6bannerbot sets mode: +v sauvin
jmerelo Hi! 06:47
metadude How are you?
Was wondering if there was something akin to the slime live coding environment (lisp) for p6. 06:50
Although I have to go right now, I'll check the log tomorrow if anyone left a reply. Maybe could resume the converstation tomorrow. Good night to all! 06:55
06:55 metadude left
jmerelo I'm not sure what that is... If it's an IDE, there's comma 06:56
07:00 noganex joined, p6bannerbot sets mode: +v noganex 07:03 noganex_ left 07:04 vrurg left, vrurg joined 07:05 p6bannerbot sets mode: +v vrurg 07:08 domidumont joined 07:09 p6bannerbot sets mode: +v domidumont, andrzejku joined
ufobat___ good morning 07:09
07:09 p6bannerbot sets mode: +v andrzejku
jmerelo Hey 07:14
holyghost jmerelo: I'm tired to work on, but I have 9 tests in github.com/theholyghost2 Mathx::Stat, I'll fixify later 07:19
I am going to let Xliff loose on it, then put the working module in cpan. Xliff has to debug Probability.pm6 07:23
The rest should work
jmerelo: thx for helping me onto github 07:26
07:36 robertle joined 07:37 p6bannerbot sets mode: +v robertle 07:41 dct joined, p6bannerbot sets mode: +v dct
holyghost Xliff: I sent you some email, I hope you copeour promises with y 07:45
Xliff: I sent you some email, I hope you cope with your promises
rogue serving :-) 07:47
07:47 dct left
jmerelo holyghost: no prob 08:04
holyghost jmerelo: you're working now ? 08:09
I mean, you're busy ?
jmerelo just killing time, but I'm leaving in a minute
holyghost right 08:10
So you join early :-) Then go off to work
jmerelo holyghost: not today, I'm on a personal errand. I usually leave for work around 8:30
holyghost it's 8:12
08:10 haukex joined
jmerelo but I have no morning classes on Tuesday and Thursday, so if I have no appointments or meetings I stay at home. 08:11
08:11 p6bannerbot sets mode: +v haukex
holyghost ok 08:11
Lots of people are younger than me, then they explain me what to work on :-) 08:12
It's probably the IQ :-)
jmerelo holyghost: don't know younger. I was born in 65
holyghost me in 77 08:14
jmerelo so, not younger :-)
holyghost indeed :-)
I thought you were older
You're older than Stallman :-)
jmerelo maybe I look older :-)
holyghost So when was your first perl 5 version ? 08:15
jmerelo 93
holyghost me 2000
I knew perl in debian in 98
didn't program in it except for my Mr. thesis to comply with dat for genetic algorithms/bioinfo 08:16
s/dat/data
jmerelo I had a Silicon Graphics Indigo. I probably downloaded and compiled it...
holyghost coolness
I had an Indy and O2
jmerelo holyghost: you did genetic algorithms? did you publish anything?
holyghost yes, see springer-verlag, Piet van Remortel 08:17
NK fitness landscapes
that's my Master thesis CS
jmerelo Wow
holyghost I invented NKd 08:18
jmerelo I know personally Kauffman, as a matter of fact...
holyghost by reading my book carefully
jmerelo This it? link.springer.com/chapter/10.1007/...45443-8_11
holyghost I cannot load because of old SSL
jmerelo this too? bmcbioinformatics.biomedcentral.co...-2105-7-43
holyghost this is it :link.springer.com/content/pdf/10.1...3-2_11.pdf 08:19
don;t know
stupid keyboard
*don't know
jmerelo You worked with Bernard Manderick?
holyghost yes
jmerelo Wow 08:20
holyghost I entered a Ph. D wth him, but I didn't work enough
I got my Ph.D in 2013
graduated at Tokyo Uni
I didn't become a fellow at the VUB
So internationally I have a Ph. D I worked at VUB uni before for pm.org 08:21
jmerelo Also in Biology?
Interesting
holyghost No SOFT department CS
This is why I am into things like agents, I took most classes of AI instead of OOP 08:22
AI/Adaptive Systems
GA
08:22 rindolf joined
jmerelo Just submitted this paper yesterday to a conference: github.com/JJ/2019-concurrent-ea-evostar/ 08:22
Concurrent evolutionary algorithms in Perl 6
holyghost sure, so you're a fellow, nice 08:23
jmerelo Code is here: github.com/JJ/p6-algorithm-evolutionary-simple/
08:23 p6bannerbot sets mode: +v rindolf
holyghost my SSL version is too low too look at it 08:23
on here, on my linux box
jmerelo Leaving now
Cheers!
08:24 jmerelo left
holyghost ok thx, CYA 08:24
08:48 dakkar joined 08:49 p6bannerbot sets mode: +v dakkar 08:55 lookatme_q joined 08:56 p6bannerbot sets mode: +v lookatme_q 09:14 finanalyst left 09:20 kensanata joined, p6bannerbot sets mode: +v kensanata 09:22 cydf joined 09:23 p6bannerbot sets mode: +v cydf
masak moritz, jnthn: thank you for your replies. 09:36
I'll try to put my unease into precise words. 09:37
grammar rules, on the best of days, leak.
m: sub infix:«->»($l, $r) { "$l and $r, baby" }; say "forty" -> "two"; my $x; for 1, 2, 3 -> $x { say $x } 09:38
camelia forty
1
2
3
masak I can declare a `->` infix operator, but because `->` is also a *stopper*, it doesn't behave like infixes usually do. 09:39
the whole concept of a stopper is because an inner expression rule needs to limit itself because a caller rule needs the reins back. 09:40
there's something about all that that's very... non-composable. 09:41
I'm a much bigger fan of how quoting is handled. in that case, it feels like things were built up using composable parts. 09:42
moritz masak: the real problem is that the Perl 6 grammar is very... *intricate*, and so extending it requires some knowledge of that intricacy 09:52
09:57 haptiK29 joined
masak I mean, that bit is fine 09:57
09:57 p6bannerbot sets mode: +v haptiK29
masak I'm just sad when "knowledge of that intricacy" means that concerns can't be fully separated and abstractions leak into each other 09:58
moritz but you can structure a grammar to always prefer the stopper, or always prefer the infix, whatever you want
<infix> || <stopper> or <stopper> || <infix> 09:59
masak not much of a stopper if it defers to the infix :P
that particular problem, I guess, Perl 6 has but not many other languages, because Perl 6 doesn't use parentheses there
so it needs stoppers like '->' and '{' 10:00
that's also why you can't use curly braces in destructuring in Perl 6, because '{' is a stopper
in the end, the convenience of no parentheses means things get more "crowded" and you need stoppers
a related one (which is also a WAT when using the language) is that you can put `==>` first on a line, *except* when the previous line ended in a block -- because of the eat_terminator behavior 10:02
10:02 haptiK29 left 10:13 kerframil joined, p6bannerbot sets mode: +v kerframil 10:16 tobs` joined, p6bannerbot sets mode: +v tobs` 10:40 scimon joined 10:41 p6bannerbot sets mode: +v scimon 10:45 Kaypie joined, Kaiepi left 10:46 p6bannerbot sets mode: +v Kaypie 10:55 eiro left 10:56 x[LGWs4x4i]uG2N0 left, holyghost left 10:57 holyghost joined, zakharyas joined, p6bannerbot sets mode: +v holyghost 10:58 p6bannerbot sets mode: +v zakharyas 11:00 lizmat joined, p6bannerbot sets mode: +v lizmat, haukex left
lizmat clickbaits p6weekly.wordpress.com/2018/11/12/...st-diwali/ 11:07
11:07 ExtraCrispy left 11:08 ExtraCrispy joined, p6bannerbot sets mode: +v ExtraCrispy
abraxxa lizmat: the links to the irc logs seem to be off 11:24
lizmat: colabti.org/irclogger/irclogger_lo...11-03#l241 and colabti.org/irclogger/irclogger_lo...10-25#l468
lizmat checks
WTF 11:25
looks like the search page of colabti is generating wrong links :-( 11:26
abraxxa++ # fixed 11:28
abraxxa lizmat: thanks!!!
11:29 leont joined, p6bannerbot sets mode: +v leont 11:38 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix lizmat: why in the weekly do you say I "started" anything in October 2018, when I was actually finishing it? The 6.d-prep repo had asking Larry to rule on the alias a month before the release since July 2017: github.com/perl6/6.d-prep/commit/0...eba1540682 11:39
yoleaux 10 Nov 2018 17:32Z <moritz> Zoffix: the TLS cert for perl6.party has expired
lizmat I think I wrote "started again" ? 11:41
11:41 zakharyas left
Zoffix lizmat: why do you say I did anything "very expediently" when per that TODO item the decision on the alias was planned to be a 6.d deliverable? A fact that was also corroborated by the Perl 6 Pumpkin: github.com/perl6/user-experience/i...-436809173 11:41
lizmat: and what exactly did I omit in "Except that in a lot of cases, “Perl 6” was simply omitted, effectively making it a rename of “Perl 6” to “Raku" when I made exactly TWO official uses of the alias: the "Raku Perl 6" on the cover of the release brochure and the addition of "Raku" to the glossary 11:42
"This in turn was perceived as an attack on his person by Zoffix Znet" 11:43
It's not an attack on Zoffix Znet. It's an attack on truth.
You're exploiting your wide reach to the Perl 6 users to vilify me and push a false narative that I did something evil, when in reality the plans were in place and well-announced since July 2018. 11:46
11:46 zakharyas joined, Zoffix left
lizmat well, the exploiting can be very easily fixed 11:46
11:46 p6bannerbot sets mode: +v zakharyas 11:47 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix *July 2017! 11:47
11:48 lizmat left, lizmat joined, p6bannerbot sets mode: +v lizmat
lizmat is considering her options 11:50
11:51 pecastro joined
jnthn lizmat: What is 'Except that in a lot of cases, “Perl 6” was simply omitted, effectively making it a rename of “Perl 6” to “Raku”.' referring to, precisely? 11:51
11:51 p6bannerbot sets mode: +v pecastro
Zoffix lizmat: "But people have continued badgering Larry Wall for another name.". I badgered no one. I made PRECISELY ONE direct request to Larry Wall. It was my letter I wrote a month before 6.d release. 11:52
lizmat Zoffix: wrt to badgering: I did not state that it was *you* who was badgering him
many people have done that for a long time 11:53
Zoffix lizmat: well, that's the result your articles had. That people think I pestered and annoyed Larry and he couldn't take it anymore and that's why he made Raku.
lizmat jnthn: one case: twitter.com/zoffix/status/1059301282178052096 11:56
Zoffix lizmat: that's my private account.
11:57 Zoffix left
lizmat *ALL* of the announcements re Raku / Diwali have been from your personal account 11:57
how can people see the difference between the official stance and your private interpretation ?
11:57 Zoffix joined, p6bannerbot sets mode: +v Zoffix
Zoffix A fair point. That did not occur to me. 11:58
An Issue is already opened for that: github.com/perl6/user-experience/issues/32 11:59
jnthn Indeed, going forward it would be wise to make sure we *do* have a place that counts as official, to avoid such questions. 12:00
leont Agreed 12:01
lizmat re other cases where "Perl 6" was omitted: I think it was in reactions on reddit, but I may have confused reactions of other people with yours in that respect
lizmat has added edits to the P6W 12:08
12:10 leont left
jnthn I guess caching means they aren't visible yet... 12:11
lunch, back in a bit
Zoffix lizmat: FYI: twitter.com/zoffix/status/1062315776768704513 12:12
lizmat Zoffix: could you explain to me how you came to "it was clear to me she despised me before" in www.reddit.com/r/perl6/comments/9u...y/e986r73/ ? 12:13
because I don't, and if I've given that impression, I'd like to be given the possibility to correct that 12:14
jnthn: updated the post again, should be visible now 12:16
Zoffix lizmat: often when I raise concerns about some change or Issue you just revert the commit or abruptly leave the discussion. I get the impression that as soon as I'm involved you just want to bail out. 12:21
12:23 vike1 left
lizmat well, that could also mean I value your judgment 12:23
or that that commit isn't that important to me 12:24
in the future, I will be more specific as to why I reverted a commit so that it is at least clear whether I disagreed or not
Zoffix Perhaps, it could be helpful to say "OK, I'm going to revert" before doing the actual revert, so it doesn't seem like the revert was done out of anger or anything like that. 12:25
lizmat so we can prevent the idea that it is something personal
indeed
although, I must admit to being human
so it's quite possible that I have done that in the past 12:26
but then it was never because it was you who made the call 12:27
12:27 nebuchadnezzar left, nebuchadnezzar joined
Zoffix Noted. 12:27
Zoffix &
12:27 Zoffix left 12:28 p6bannerbot sets mode: +v nebuchadnezzar 12:29 vike1 joined, p6bannerbot sets mode: +v vike1
lizmat and if I was angry, I was probably angry at myself because it was pointed out to me that there were downsides to my commit 12:30
and they made sense
FWIW, I think Zoffix and I agree on most points wrt to the future of language we call Perl 6 12:33
we just don't agree on how to handle the naming of the language 12:34
also: more generally on reverting my own commits 12:35
I've learned the hard way that putting things in branches, generally means that they will be ignored
12:36 shareable6 left, shareable6 joined, ChanServ sets mode: +v shareable6
lizmat the Perl 6 community, imo, is too small to have people with time enough to check out any branches 12:36
12:37 p6bannerbot sets mode: +v shareable6
lizmat so I've gotten used to just pushing to master, because *that* will make sure things will get testes 12:37
*tested
by real "bleed" user
as was recently shown with my HYPER refactor
sometimes, the problems that come up after that, are easily handled, so quickly fixed (see also the HYPER refactor the past week) 12:38
sometime they show deeper issues, and then the best thing is to revert (at least until after the next release)
since Zoffix is one of the more active members, his remarks have caused more reverts of my code than anybody else, I think 12:39
but he was only the messenger in those
masak lizmat: the point about branches vs master is a deep one, and the causes/reasons (I think) extend beyond "the Perl 6 community is too small"
lizmat: for a while now I've been curious about "trunk-based development", so-called 12:40
not just because "people don't look at branches", but also because "branches are inventory"
(something that costs effort to maintain and keep up-to-date, even when done right) 12:41
lizmat: ooc, when you say people don't look at branches, were those branches sometimes or always accompanied by a pull request on github?
lizmat in my case, never 12:43
masak ok. then I'm almost completely unsurprised they didn't get much attention ;) 12:44
lizmat masak: so you say I should turn everything into pull requests?
or that I work in a branch, and then at the end make all the work a single PR ?
masak no, I'm not being prescriptive currently 12:45
but I will say that (to me) a branch is something bordering on private/backup, whereas a PR is a semi-public request for review and comment
lizmat well, my "newio" branch was pretty public at the time 12:46
masak not saying there aren't exceptions
[ptc] it's almost like there should be something like an "audit request" as opposed to a "pull request"
masak heh. specifically, I'm not suggesting that by turning everything into PRs, you will suddenly get massive eyeballs :P
[ptc] especially for people who have a commit bit
masak [ptc]: what, in your view, would be the difference?
[ptc] i.e. some way to say "hey, could someone have a look at this please before I merge?"
12:47 leont joined
[ptc] masak: well, a pull request (to me) is something that someone without a commit bit can submit 12:47
12:47 lucasb joined, p6bannerbot sets mode: +v leont
masak lizmat: I fondly remember a consulting thing Edument did for a client two years back. there were three of us. we made ~650 PRs in eight months. (to each other!) 12:48
[ptc] masak: it always seems odd to me to see people submitting PRs who could just submit the code directly
masak [ptc]: not to me
12:48 p6bannerbot sets mode: +v lucasb
masak if that's the difference, then I already use PRs like your "audit requests" :) 12:48
but you're right that the name is confusing/unfortunate
[ptc] masak: however, it would be nice to have a way for someone with a commit bit to say, "could you look over what I've done, please?"
masak I think PRs started out in Github as something external/non-commitbitty
yes, Github has that nowadays. requests for review. 12:49
[ptc] yeah and PRs on GitHub are external, hence the way I think about them
anyway, just my 2c :-)
masak [ptc]: they're not only external any more.
007 has 7 open and 91 closed PRs. I think a handful of those are external.
chsanch At work, we use PR for everything, I think is a good way to work, someone else can review the changes and if see something wrong one can add commits to fix something else before those changes get merged in master 12:50
masak yes, exactly
it's almost as if a main benefit is sharing the work/ownership
[ptc] but then it can be a hurdle to getting stuff done if one can't just push to master 12:51
especially for small teams
masak I used to think so too
[ptc] maybe there's a minimum team size?
masak and then I broke master in like, 10 different ways by skipping the PR/Travis step
[ptc] it sort of requires more discipline, doesn't it?
masak nah, it's just a habit ;) 12:52
[ptc] :-)
masak it's not a *lot* more work to push up a PR and immediately merge it yourself
moritz I'd say there's a workflow for all requirements
chsanch Yah, it could be, but sometimes master could get really messed up if someone push something wrong
lizmat "it's not a *lot* more work to push up a PR and immediately merge it yourself"
what is the difference with pushing to master with that ^^^
masak lizmat: Travis. paper trail. 12:53
lizmat Travis I see, paper trail I don't
a commit is a paper trail, is it not ?
masak oh! I use the PR *description* differently than I use commit comments.
the former are a bit more "overview"/goals
[ptc] doesn't Travis check the push anyway? 12:54
lizmat [ptc]: yes it does
masak yes, of course. but at that point master is already broken
lizmat and it takes 1hour+ nowadays to check
masak which (I hope!) is a non-goal
[ptc] masak: yes, true
lizmat fwiw, I (almost) always spectest before committing 12:55
last week had 2 slipups, I admit, but those were the first in a long time
12:56 dogbert17 joined
masak lizmat: I'm not here to argue. :) but I want you to know that you're arguing the side of "we don't need checks because there are no slip-ups" :P 12:56
lizmat and for those I plead emotional distress :-) (not seriously)
12:56 p6bannerbot sets mode: +v dogbert17
masak which is... not an argument most software development needs 12:56
chsanch I've learn the hardway to never do push to master directly, mostly when working with more people, or at least limit the access to push commits to master to just the admins. But is just one of the other ways to manage the work flow 12:57
lizmat masak: no, I'm arguing that commits get checked anyway, and fixes can be made quickly
[ptc] theoretically, the tests should pass before one pushes, but I realise that can be a lofty goal, especially with long-running test suites...
lizmat and then some things can break *without* Travis / spectest noticing it (as also was shown last week)
[ptc]: I consider 6 mins not long runninng
masak lizmat: ok, fine. it's essentially jnthn's argument too. I disagree, but only on the level of weights/priorities/preferences. 12:58
I guess I enjoy catching things *before* merging to master
[ptc] lizmat: is the spectest only 6 mins long? In that case, that's ok
lizmat e.g. (1,2,3).Bag >>+>> 1 is still broken :-(
[ptc] lizmat: some people think that 1 minute is long...
lizmat ok, actually, more like 7.5 minutes I just realize 12:59
but yeah.. it's a good moment to step away from the keyboard
masak perfect for making tea
lizmat before actually committing and pushing
indeed
[ptc] that's not a big deal. I've heard of people having to wait hours for a full test run to run
lizmat on my MBP with TEST_JOBS=8 it was 745 seconds last night
masak again, I'm not prescribing anything. but this discussion made me realize that it's maybe a bit unusual to be using "internal PRs" as much as I do nowadays. 13:00
[ptc] masak: I guess my conceptual issue is that if I can merge a PR into master, why am I creating a PR in the first place?
lizmat masak: whatever works for you, works for you :-)
[ptc] masak: I've seen people do this before: submit a PR and then directly afterwards merge it themselves. That was... weird to watch 13:01
masak just to be clear, I also belive it raises quality, not least because Travis catches a *lot*
but it's also a platform for discussing/evaluating the change
lucasb Just making a note of: go-review.googlesource.com . I guess not a single commit goes into Go without getting scrutinized. "code review" before commiting always looks like a good idea, no?
lizmat lucasb: it does, if you have enough eyes 13:02
I wouldn't have been able to do the amount of work on Rakudo that I did if I had had to wait for scrutinization every time
moritz I've once had a candidate whose github project was full of such things
and then they even told me they did code reviews
masak oh that reminds me: if someone would like to review the top five PRs in github.com/masak/007/pulls , I'd be delighted
moritz and not a single PR contained any code review comments 13:03
masak they've been waiting around for sergot for a while now, but he's been quite busy lately :)
moritz: 007 is like that sometimes. then again, sometimes there is discussion, and valuable comments 13:04
lucasb See? the general feeling looks like "We don't want/need code review" :)
masak (and then there's The Issue, of which We Do Not Speak...)
lucasb: wait, what? how is that the general feeling? :)
lucasb I retracted :) 13:05
lizmat FWIW, I welcome code review *always*
masak .oO( git revert! git revert! )
moritz masak: there's a bit difference between sometimes and always
lizmat please please please review my code
masak moritz: aye 13:06
moritz: still, I find I make PRs more nowadays, in cases where I would previously just commit to master
moritz: if there are no reviews or comments, I don't consider that a big failure
[ptc] this is probably one of those grey areas, where it depends upon project and interactions therein 13:07
it can reduce project velocity if *all* commits have to be scrutinised first... Especially on a small team
masak [ptc]: yes -- but (more) 13:08
[ptc]: taking a step back, I think successfull teams also communicate well
I think this is *uncontroversially* true
[ptc] in my current team we're trying to use pair programming more so that we can improve code quality; both when working together and apart
masak so it kind of comes down to, if the team is not doing PRs, maybe they're doing something else, some other form of communication?
moritz at $work, for one component, we have a policy of always triggering code review when one of the base libraries changes
[ptc] masak: I agree wholeheartedly with that
moritz but there are so many small subsystems for different tasks that we don't tend to review every commit to each of those 13:09
masak I mean, what changes are (a) super-urgent and need to go on master *now*, but (b) not worth someone's review/second opinion?
moritz data leaks with an obvious fix 13:10
in which case I'd still do a code review after it went to master, but getting it to production is more important 13:11
[ptc] typos
formatting changes, fixes to bring comments up to date
lizmat [ptc] I've had cases (in the far past) where a change in comment would bring the program down 13:12
but yeah, generally that shouldn't happen :-)
[ptc] a lot of my commits are really small, so it doesn't make a huge amount of sense for someone else to review them before they go into master
lizmat: in the comment? wow
lizmat: how did that happen? I'm intrigued 13:13
lizmat yeah... if I recall correctly, it was a problem in buffering the code, with a newline (CRLF) just across a buffer boundary or not
it was literally a 1 char change at the time 13:14
13:14 x[LGWs4x4i]uG2N0 joined, ZofBot joined, ChanServ sets mode: +v ZofBot, p6bannerbot sets mode: +v ZofBot
[ptc] oh dear 13:15
13:15 p6bannerbot sets mode: +v x[LGWs4x4i]uG2N0
[ptc] what language was that in? That sounds like a Fortran kind of problem 13:15
[ptc] remembers being bitten by the 6 character variable name limit in Fortran 13:16
13:18 dalek left, dalek joined, ChanServ sets mode: +v dalek 13:19 p6bannerbot sets mode: +v dalek
moritz and fun fact; it was left to the compiler what to do with the extra characters 13:24
some just silently ignored the extra chars, some produced an error, some ignored the limit and used the full name 13:25
silently ignoring the extra chars sounds like a really "sweet" move
lizmat [ptc]: I think it was an early version of Perl 5, but am definitely not sure 13:28
[ptc] moritz: yeah, that kind of behaviour really confused the hell out of me 13:29
especially considering the only programming language I'd learnt before was Matlab...
13:30 rba joined
lizmat with regards to size of commits: I try to keep them as small and contained as possible, to allow for easier bisecting 13:30
in that sense, bisectable6 has changed the way I code
13:31 p6bannerbot sets mode: +v rba 13:33 sjoshi joined 13:34 p6bannerbot sets mode: +v sjoshi
lizmat also: bisectable6 has made me worry less about changes I commit 13:36
because it usually limits the places to look for fixing an issue so much, that they can be fixed within minutes rather than hours 13:37
AlexDaniel \o/
lizmat or at least show the cause very quickly (although the short-time fix may mean a revert) 13:38
s/although/so
AlexDaniel IIRC we had something similar to the CRLF issue in rakudo some time ago 13:40
the issue wasn't with comments, it was related to Pro::Async I think 13:41
lizmat in the early 90's I was writing a new "WordPerfect" like editor for a system that used to have an "edlin" type of editor
I copied the source buffer code from the old editor 13:42
and people came to me telling me there was a bug
turned out the bug was in the old editor as well (an off-by-one), which then had been in production for 6+ years
that's when I learned that you can never assume code is bug free :-) 13:43
AlexDaniel huggable: bugs :is: <Zoffix> all the bugs are because people don't write tests 13:49
huggable AlexDaniel, Added bugs as <Zoffix> all the bugs are because people don't write tests
AlexDaniel :)
lizmat s/don't write/don't write enough/ 13:50
?
masak the former, in my experience :P
AlexDaniel IIRC Zoffix suggests that people should write tests before committing a fix, which we often do other way around 13:51
lizmat masak: so I'm not bad because I do write tests occasionally? :-)
the thing is that I really would like to see other people write tests 13:52
13:52 kudzo__ left 13:53 kudzo_ joined
lizmat but reality is, apart from Zoffix, not a lot of people do 13:53
jnthn I typically have them both locally, then push them around the same time
13:53 p6bannerbot sets mode: +v kudzo_
lizmat tests are considered to be LHF, right? 13:54
ready for people to get involved ?
jnthn Depends. :)
For things that are easy to write a test to over, yes. But there's been bugs I've hunted down where writing a clear test case that gets to the heart of the problem was 90% of the work. 13:55
*to cover 13:56
13:56 leont left
AlexDaniel sometimes those who write a fix can write better tests 14:01
AlexDaniel looks at github.com/rakudo/rakudo/issues?q=...testneeded 14:02
maybe we need another testneeded squashathon
masak lizmat: I'm a non-authoritative source, but IME you're way above average in the Perl 6 project, and the Perl 6 project is way above average compared to some average 14:06
fwiw, I could be better at writing tests too :)
(they rock) :P
lizmat
.oO( we need more players )
14:07 sena_kun joined, p6bannerbot sets mode: +v sena_kun
masak lizmat: ah, the kind of volunteer open source project that needs more contributors :P :P :P 14:16
lizmat doesn't make it less true :-( 14:17
masak .oO( BOOlean! -- it's funny because it's True ) 14:22
lizmat: I guess it's like in salary negotiations -- one gets a raise based on effort/contribution, not based on need. ;) so the "one causal link back" question to ask is "how can Perl 6 be useful to more prospective contributors?" 14:24
and that, for whatever reason, made me think of chromatic. 14:25
masak waves to chromatic from the backlog
[ptc] masak: that pun hurt! 14:28
masak I know! :D 14:29
[ptc] :-D
masak (you're welcome!)
masak .oO( .so ... )
[ptc] continues giggling and goes back to work
timotimo keep going and i'll Bool you out of the state-ium
AlexDaniel releasable6: status 14:30
releasable6 AlexDaniel, Next release in ≈4 days and ≈4 hours. 3 blockers. 0 out of 125 commits logged
AlexDaniel, Details: gist.github.com/cda5282caa7f95ae98...3de30a84d8
AlexDaniel speaking of more contributors, help with blockers will be appreciated ↑ 14:32
this one is a bunch of LHFs: github.com/rakudo/rakudo/issues/2451
14:35 joy_ left
AlexDaniel I just made the module names clickable! 14:35
timotimo i'd like names in the list so i can search if any are mine m) 14:36
i wonder if maybe the console output from blin for the failed tests should be available, too? 14:37
AlexDaniel timotimo: yes, but it's a bit hard to gist it. I will fix that for the next run 14:39
timotimo no prob :) 14:40
AlexDaniel please bear with me, Blin is still very fresh :)
timotimo blin might never have to do as much work as this release, haha
AlexDaniel yes :D
14:41 titsuki joined, p6bannerbot sets mode: +v titsuki
Woodi hi :) 14:42
masak czesc :) 14:45
Woodi masak: here you have: { return builtin(...) { return Val.new( { for(...) { if(...) { return ... } } return -1; } } } it's advanced stuff :) github.com/masak/007/pull/416/comm...60849ecaab 14:46
masak: dobry ! :)
14:49 MasterDuke left 15:01 zakharyas left 15:02 rba left 15:03 finanalyst joined, p6bannerbot sets mode: +v finanalyst 15:05 joy_ joined, holyghost left, p6bannerbot sets mode: +v joy_ 15:06 holyghost joined, joy_ left 15:07 p6bannerbot sets mode: +v holyghost 15:14 molaf joined 15:15 p6bannerbot sets mode: +v molaf 15:27 curan left 15:30 tmtvl joined, p6bannerbot sets mode: +v tmtvl, tmtvl left
tobs` m: say :p => 1; say ($*PERL,) «=>» (1,); say (:p,) «=>» (1,) 15:31
camelia (p => True) => 1
Cannot modify an immutable Pair (Nil => Nil)
in block <unit> at <tmp> line 1

(Perl 6 (6.d) => 1)
tobs` huh?
m: say :p => 1; say (:p,) «=>» (1,) 15:32
camelia (p => True) => 1
Cannot modify an immutable Pair (Nil => Nil)
in block <unit> at <tmp> line 1
15:32 joy_ joined, p6bannerbot sets mode: +v joy_
tobs` that's different over here in 2018.10 15:32
lizmat bisectable6: old=2018.10 say :p => 1; say ($*PERL,) «=>» (1,); say (:p,) «=>» (1,) 15:33
bisectable6 lizmat, Problem with fa5215b commit: Commit exists, but a perl6 executable could not be built for it
lizmat bisectable6: old=2018.10 new=63ae9dcc5dfae7aa0fb02 say :p => 1; say ($*PERL,) «=>» (1,); say (:p,) «=>» (1,) 15:34
bisectable6 lizmat, Bisecting by output (old=2018.10 new=63ae9dc) because on both starting points the exit code is 1
lizmat, bisect log: gist.github.com/7a907283265d8cc855...02bd420673
lizmat, (2018-10-27) github.com/rakudo/rakudo/commit/46...96034408c8
15:34 molaf left
lizmat that's the commit that made 6.d default 15:35
15:35 haukex joined
lizmat focuses on the error 15:35
[Coke] (re limiting access to push directly to master) +1 from me on that. I'd love to see automated testing before merges to master
15:35 p6bannerbot sets mode: +v haukex 15:36 tmtvl joined 15:37 p6bannerbot sets mode: +v tmtvl
lizmat [Coke]: in an ideal world, I would agree 15:37
but practically, having to wait 70 minutes before you're sorta sure nothing breaks 15:38
will mean that people will make bigger commits
and bigger commits mean worse bisectability
15:38 greppable6 left 15:39 greppable6 joined
tobs` my question was originally going to be if there's some logic behind "Pair.new(...) => 1" working, but not working when => is hyped. Is the pair maybe swallowed as an adverb? 15:39
lizmat also: Travis has had quite a few false positives :-(
15:39 greppable6 left, greppable6 joined, ChanServ sets mode: +v greppable6
lizmat tobs`: somehow, it winds up in the Associative / Mu candidate 15:39
ah, yes, recursing, duh
15:40 undersightable6 left, releasable6 left, bisectable6 left, squashable6 left, notable6 left, statisfiable6 left, bloatable6 left, p6bannerbot sets mode: +v greppable6, unicodable6 left, undersightable6 joined, releasable6 joined, benchable6 left, coverable6 left, bisectable6 joined, ChanServ sets mode: +v bisectable6, quotable6 left, notable6 joined, ChanServ sets mode: +v notable6, squashable6 joined, ChanServ sets mode: +v squashable6, committable6 left, shareable6 left, notable6 left, squashable6 left, bisectable6 left, greppable6 left, evalable6 left, nativecallable6 left, committable6 joined, shareable6 joined
lizmat and the code so far assumes that anything Associative has a .STORE method 15:40
15:41 p6bannerbot sets mode: +v undersightable6, p6bannerbot sets mode: +v releasable6
lizmat which Pair does not atm 15:41
15:41 p6bannerbot sets mode: +v committable6, p6bannerbot sets mode: +v shareable6
tobs` too bad. I've been exploiting that pair literals are so short to write down to get dummy objects in my tests. 15:42
the last instance of pairs being special-cased somewhere I could work around, but maybe it's just not a sustainable approach (or valid reason)
15:43 evalable6 joined, nativecallable6 joined, ChanServ sets mode: +v evalable6, ChanServ sets mode: +v nativecallable6, greppable6 joined, ChanServ sets mode: +v greppable6, notable6 joined, quotable6 joined, ChanServ sets mode: +v notable6, ChanServ sets mode: +v quotable6
tobs` but I don't want to discourage your attention to it! I can't tell if it's just a WAT or supposed to work. 15:43
niko AlexDaniel: i protected them from Sigyn 15:44
15:44 p6bannerbot sets mode: +v evalable6, p6bannerbot sets mode: +v nativecallable6, p6bannerbot sets mode: +v greppable6, p6bannerbot sets mode: +v notable6, p6bannerbot sets mode: +v quotable6
AlexDaniel niko: oh! OK thanks! 15:44
had to cycle them because apparanently after 2+ weeks they were leaking memory 15:45
apparently*
15:46 bisectable6 joined 15:47 p6bannerbot sets mode: +v bisectable6 15:50 finanalyst left 16:03 haukex left
Summertime is there a raku domain picked out yet? (and has there been any work on a potential ironically formal website? c: ) 16:04
16:06 haukex joined 16:07 p6bannerbot sets mode: +v haukex, haukex left 16:09 zakharyas joined, p6bannerbot sets mode: +v zakharyas 16:11 molaf joined
Summertime oh it still hasn't fully settled? uhh, I'll pretend I didn't ask that yet then! 16:11
16:11 p6bannerbot sets mode: +v molaf 16:15 cydf left 16:16 robertle left
lizmat Summertime: I think Zoffix said it right in twitter.com/zoffix/status/1062317059449782272 16:16
16:17 troys joined, p6bannerbot sets mode: +v troys
[Coke] I disagree about worse bisectability. you can do the work in chunks on the PR; you don't have to flatten them on the way in. I think we're at the point where having known good commits on the track for the release is more important than speedy turnaround on commits that haven't been 100% vetted. (I am not implying that anyone in particular isn't vetting their commits). Just coming from a devops perspective; 16:18
if master is (more)
release target, then it should be tested as such. 16:19
[Coke] sees he misjudged the length of that send.
16:20 domidumont left
[Coke] I certainly don't want to make it too hard for devs to get things done, but I think there's things we do between everyone commits to master and no one commits to master. 16:20
Summertime thankyou lizmat! I really should use twitter more 16:23
lucasb I thought it was the other way around: bigger commits leads to fewer commits and this leads to better bisectability? 16:24
lizmat lucasb: ok, so you have a commit with 3K lines changed.. and you know it's introducing the problem 16:25
does that help finding the problem?
suppose we had 30 commits with each 100 lines changed
pointing to a commit with 100 lines 16:26
AlexDaniel lucasb: with thousands of commits, bisectable6 will get back to you in like 10 seconds or so
so having more commits is not an issue, at all
timotimo the magic of log2
AlexDaniel also the magic of whateverable because every build is created ahead of time for every commit 16:27
lucasb hm, ok, thanks for explaning. I had no idea :)
AlexDaniel more commits is only bad for storage, but lately I'm compressing very aggressively
so again not an issue at all 16:28
16:29 zakharyas left, zakharyas joined 16:30 p6bannerbot sets mode: +v zakharyas
AlexDaniel as for compression and what that means in whateverable, suppose you hit a tagged commit 16:30
shareable6: 2018.03
shareable6 AlexDaniel, whateverable.6lang.org/2018.03
AlexDaniel you get a single archive with just that build 16:31
however, if you try something else, like
shareable6: 2018.03^
shareable6 AlexDaniel, whateverable.6lang.org/2018.03^
AlexDaniel hmm ok let's try older
shareable6: 2016.03^
shareable6 AlexDaniel, whateverable.6lang.org/2016.03^
AlexDaniel now you get .lrz archive
that one has a bunch of builds, compressed in long range mode 16:32
lucasb .lz ?
ah, lrz, never heard before
AlexDaniel lucasb: long range zip, github.com/ckolivas/lrzip
basically, if you take say 10 rakudo builds and compress them together using anything else, you'll get an archive around the same size as if you compressed each build individually 16:34
16:34 Kaypie left
AlexDaniel nowadays zstd has long range mode too, but whateverable started using lrz way before zstd got it 16:34
16:34 Kaypie joined 16:35 p6bannerbot sets mode: +v Kaypie
AlexDaniel the downside is that these are a bit slower, and if you're bisecting locally then you have to download more 16:36
slower to decompress that is
16:39 [ptc] left 16:40 benchable6 joined
ufobat___ what am i doing wrong, or how is yamlish being used? 16:40
16:40 squashable6 joined, ChanServ sets mode: +v squashable6
ufobat___ > perl6 -Ilib -e 'use YAMLish; my $file = "../voteimproved/restapp/schema.yml"; [$file.IO.e, load-yaml($file)].perl.say' 16:40
[Bool::True, "../voteimproved/restapp/schema.yml"]
16:41 coverable6 joined, ChanServ sets mode: +v coverable6
ufobat___ i am expecting my data in the 2nd element of the array 16:41
16:41 unicodable6 joined, ChanServ sets mode: +v unicodable6, statisfiable6 joined, bloatable6 joined, ChanServ sets mode: +v bloatable6
jnthn I think load-yaml takes a string 16:41
16:41 p6bannerbot sets mode: +v benchable6, p6bannerbot sets mode: +v squashable6, [ptc] joined
ufobat___ didn't i provide a string? 16:41
16:41 p6bannerbot sets mode: +v coverable6, p6bannerbot sets mode: +v unicodable6, p6bannerbot sets mode: +v statisfiable6
jnthn ufobat___: Sorry, to be clear: the string of YAML to parse, not a string containing a file name 16:42
16:42 p6bannerbot sets mode: +v bloatable6
ufobat___ ah! 16:42
16:42 p6bannerbot sets mode: +v [ptc]
jnthn And I believe a path is a valid YAML document :) 16:42
(Just a string literal)
ufobat___ thats tricky :-)
now i get a coudn't parse yaml, thats a step further :-) 16:43
thanks!
jnthn Pretty sure I did the very same mistake a month or so back :) 16:44
ufobat___ i am playing aroud with openapi::Model because the swaager editor seems to accept my schema.yml but the cro::openapi::RoutesFromDefinition isnt
ingy did someone say YAML?
o/
ufobat___ ingy++
ingy \o
TimToady: yaml is also a 4-letter swear word... 16:45
jnthn ufobat___: Yeah, YAMLish has some shortcomings there, unfortunately. I've taken to just feeding the YAML through a YAML -> JSON convertor instead and using that. :) 16:46
16:49 zakharyas left
ingy :) 16:50
lizmat
.oO( ingy also has four letter )
*s
ingy liz and wendy averages to two 4 letter words :P
El_Che that moment you realize you spent an half hour debugging when you just forgot to add a Content-Type to curl when testing manually...
17:19 kerframil left 17:24 webstrand left 17:25 webstrand joined 17:26 tobs` left, p6bannerbot sets mode: +v webstrand 17:29 scimon left 17:41 Xliff_ joined 17:42 p6bannerbot sets mode: +v Xliff_ 17:44 jmerelo joined, Xliff left, p6bannerbot sets mode: +v jmerelo 17:49 cydf joined, cydf left, cydf joined 17:50 p6bannerbot sets mode: +v cydf 17:51 Celelibi left 17:57 dakkar left
buggable New CPAN upload: Font-FreeType-0.1.1.tar.gz by WARRINGD modules.perl6.org/dist/Font::FreeTy...n:WARRINGD 18:02
18:13 Celelibi joined 18:14 p6bannerbot sets mode: +v Celelibi 18:19 webstrand left 18:22 webstrand joined, rindolf left, p6bannerbot sets mode: +v webstrand 18:27 kensanata left 18:35 zakharyas joined 18:36 p6bannerbot sets mode: +v zakharyas 18:40 zakharyas left, hph^ joined, zakharyas joined 18:41 hph^ left, hph^ joined, p6bannerbot sets mode: +v zakharyas, hph^ left 18:42 hph^ joined, hph^ left 18:43 hph^ joined, hph^ left, hph^ joined, hph^ left 18:44 hph^ joined, hph^ left 18:49 emerson left 18:52 tmtvl left, emerson joined, p6bannerbot sets mode: +v emerson 18:57 noganex left
ufobat___ what is our eval bot here? 18:57
18:57 noganex joined
ufobat___ perl6 bot 18:57
thingy
18:58 p6bannerbot sets mode: +v noganex
ufobat___ noganex, ?!? 18:58
noganex ufobat___: ?
ufobat___ m: use YAMLish; load-yaml("openapi: 3.0.1")
camelia ===SORRY!===
Could not find YAMLish at line 1 in:
/home/camelia/.perl6
/home/camelia/rakudo-m-inst-1/share/perl6/site
/home/camelia/rakudo-m-inst-1/share/perl6/vendor
/home/camelia/rakudo-m-inst-1/share/perl6
CompUnit::…
ufobat___ noganex r u alive? 18:59
noganex barely
18:59 shlomif joined, cy_d_fect joined 19:00 shlomif is now known as rindolf
ufobat___ :-( 19:00
19:00 p6bannerbot sets mode: +v rindolf, p6bannerbot sets mode: +v cy_d_fect
ufobat___ ingy, is this yaml? "openapi: 3.0.1" cause yamlish fails to parse it 19:01
timotimo star: use YAMLish;
camelia ===SORRY!===
Could not find YAMLish at line 1 in:
/home/camelia/.perl6
/home/camelia/star-2017.07/share/perl6/site
/home/camelia/star-2017.07/share/perl6/vendor
/home/camelia/star-2017.07/share/perl6
CompUnit::Repository::Abso
19:02 cydf left
tinita ufobat___: seems yamlish has problems with this kind of string 19:04
ufobat___: it's valid yaml, it should be the strig "3.0.1"
timotimo YAMLish isn't developed thoroughly, sadly 19:06
tinita you can add quotes around it as a workaround
timotimo feed it into a more mature yaml parser and ask it to output mostly-looks-like-json yaml for yamlish to eat
tinita AFAIK leont has started to work on it again recently 19:07
19:07 noganex left
timotimo oh, that's good to hear! 19:08
ufobat___ so it makes sense to find the bug?
19:10 ExtraCrispy left 19:11 ExtraCrispy joined, p6bannerbot sets mode: +v ExtraCrispy
tinita yeah, you should probably report it 19:11
19:13 ryn1x joined 19:14 p6bannerbot sets mode: +v ryn1x 19:20 zakharyas left 19:25 sauvin left 19:28 webstrand left, webstrand joined 19:29 robertle joined, p6bannerbot sets mode: +v webstrand, p6bannerbot sets mode: +v robertle 19:31 Xliff_ is now known as Xliff 19:42 sjoshi left 19:47 rba joined, p6bannerbot sets mode: +v rba 19:57 ryn1x left 20:05 Kaypie left, Kaypie joined 20:06 p6bannerbot sets mode: +v Kaypie 20:08 jmerelo left 20:09 lucasb left
ufobat___ timotimo, my yaml bug is fixed in 0.0.5 (i had the 0.0.4 installed on my box) 20:16
20:37 lucs left 20:41 Kaypie left, kensanata joined, p6bannerbot sets mode: +v kensanata 20:43 Kaiepi joined 20:44 p6bannerbot sets mode: +v Kaiepi 20:50 kerframil joined, p6bannerbot sets mode: +v kerframil 20:52 leont joined, p6bannerbot sets mode: +v leont 20:55 Kaiepi left, Kaiepi joined 20:56 p6bannerbot sets mode: +v Kaiepi
ufobat___ what das <?break> in grammars mean? 21:05
21:09 delon left 21:10 kensanata left 21:13 delon joined 21:14 p6bannerbot sets mode: +v delon
masak m: grammar G { regex TOP { <?break> "break" }; regex break { "break" } }; say ?G.parse("break"); say ?G.parse("bruke") 21:16
camelia True
False
masak m: grammar G { regex TOP { <?before <break>> "break" }; regex break { "break" } }; say ?G.parse("break"); say ?G.parse("bruke")
camelia True
False
masak ufobat___: I believe those two are equivalent
21:25 kerframil left, kerframil joined, p6bannerbot sets mode: +v kerframil 21:28 delon left 21:30 DarthGandalf left 21:31 delon joined 21:32 p6bannerbot sets mode: +v delon, newbie left, kerframil left, kerframil joined, p6bannerbot sets mode: +v kerframil 21:33 kerframil left, newbie joined, p6bannerbot sets mode: +v newbie 21:34 newbie left 21:35 DarthGandalf joined, p6bannerbot sets mode: +v DarthGandalf 21:38 [ptc] left 21:39 random_yanek left 21:43 [ptc] joined, p6bannerbot sets mode: +v [ptc] 21:50 random_yanek joined 21:51 p6bannerbot sets mode: +v random_yanek 21:53 sena_kun left 21:57 murkk27 joined 21:58 murkk27 left 22:06 ferreira left, ferreira joined 22:07 p6bannerbot sets mode: +v ferreira 22:08 AlexDaniel left, go|dfish left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 22:09 robertle left 22:10 go|dfish joined, p6bannerbot sets mode: +v go|dfish 22:13 webstrand left 22:14 webstrand joined, p6bannerbot sets mode: +v webstrand 22:18 rindolf left, leont left, dotdotdot left 22:19 pmichaud left, pmichaud joined 22:20 p6bannerbot sets mode: +v pmichaud 22:23 dotdotdot joined 22:24 p6bannerbot sets mode: +v dotdotdot 22:26 daxim left 22:28 newbie joined 22:29 p6bannerbot sets mode: +v newbie, newbie left 22:30 newbie joined 22:31 p6bannerbot sets mode: +v newbie 22:33 newbie left 22:34 Sound joined, p6bannerbot sets mode: +v Sound 22:36 webstrand left 22:37 Xliff_ joined, webstrand joined, Xliff_ left 22:38 p6bannerbot sets mode: +v webstrand 22:40 Xliff left 22:41 Xliff joined 22:42 p6bannerbot sets mode: +v Xliff 22:47 Guest96901 left 22:54 cpup left 22:55 success joined, success is now known as Guest11615, p6bannerbot sets mode: +v Guest11615 22:57 cpup joined 22:58 p6bannerbot sets mode: +v cpup 22:59 delon left 23:03 daxim joined, p6bannerbot sets mode: +v daxim 23:04 dct joined, p6bannerbot sets mode: +v dct, leont joined 23:05 p6bannerbot sets mode: +v leont 23:08 daxim left 23:10 ExtraCrispy left 23:11 ExtraCrispy joined, p6bannerbot sets mode: +v ExtraCrispy 23:14 dogbert11 joined 23:15 p6bannerbot sets mode: +v dogbert11
Xliff m: for ^3 X ^3 -> $x, $y { say "$x,$y" } 23:16
camelia 0 0,0 1
Too few positionals passed; expected 2 arguments but got 1
in block <unit> at <tmp> line 1

0 2,1 0
1 1,1 2
2 0,2 1
Xliff m: for ^3 X ^3 -> ($x, $y) { say "$x,$y" }
camelia 0,0
0,1
0,2
1,0
1,1
1,2
2,0
2,1
2,2
23:16 dogbert17 left
timotimo m: for flat ^3 X ^3 -> $x, $y { say "$x,$y" } 23:17
camelia 0,0
0,1
0,2
1,0
1,1
1,2
2,0
2,1
2,2
Xliff Yes yes yes.
timotimo+
timotimo for the benefit of log readers out there
Xliff Ah. 23:18
How goes it, tt?
Juerd Given class Foo { has $foo; has $bar = 2 * $!foo; }, why is $!foo uninitialized when you do Foo.new(foo => 42), and is there another way to initialize an attribute based on a given value of another one?
timotimo 'tis all right
m: class Foo { has $.foo; has $.bar = 2 * $!foo }; Foo.new(foo => 42).perl.say 23:19
camelia Foo.new(foo => 42, bar => 84)
23:19 Kaypie joined
Juerd Errrr 23:19
timotimo you forgot the . in the attributes
Juerd Oh!
Xliff LOL
Juerd Thanks.
timotimo m: class Foo { has $foo; has $bar = 2 * $!foo }; Foo.new(foo => 42).perl.say
camelia Use of uninitialized value of type Any in numeric context
Foo.new
in method at <tmp> line 1
Juerd feels dumb
Xliff <- Would make that mistake almost every time.
timotimo without the dot they are private attributes
m: class Foo { has $foo; has $bar = 2 * $!foo }; say Foo.^attributes
camelia (Mu $!foo Mu $!bar)
timotimo m: class Foo { has $foo; has $bar = 2 * $!foo }; say Foo.^methods
camelia (BUILDALL)
23:19 p6bannerbot sets mode: +v Kaypie 23:20 Kaiepi left
Juerd This is the same thing that keeps biting me... Providing named values to .new, that don't exist, get ignored :( 23:20
timotimo in that case, let me interest you in
buggable: eco Strict
buggable timotimo, Found 8 results: StrictNamedArguments, HTML::Restrict, ClassX::StrictConstructor, US-ASCII, US-ASCII. See modules.perl6.org/s/Strict
timotimo ClassX::StrictConstructor
Juerd Thanks, but it's not likely that I'll remember to use that even if I wanted to :)
timotimo if you could remember to "use strict" in perl5, you can remember to "use ClassX::StrictConstructor" in perl6 ... hm, maybe not 23:21
though if you have something that stubs new classes for you ...
Juerd Replacing getting bitten by forgetting one thing by getting bitten by forgetting another thing is not likely to work out :P
timotimo or a linter that complains if a file contains classes but not StrictConstructor ...
Juerd Well. There's the thing. As much as I've told people to "use strict" in Perl 5... I do often forget to use it. 23:22
23:22 kerframil joined, p6bannerbot sets mode: +v kerframil
timotimo mhm 23:22
Juerd Much of my code is written in bash. :)
Xliff m: class A { method a-b { '42'.say }; }; my $a = A.new; $a.a-b
camelia 42
Juerd So no linter or any other fancy building stuff :P
juerd.nl/i/9933f15a1e442620d946cfa48db9fcc7.png # like this
timotimo there is that bash script checker thingie
Juerd Anyhow, thanks a lot, I now know what I did wrong :) 23:23
timotimo :)
23:24 daxim joined 23:25 p6bannerbot sets mode: +v daxim 23:30 daxim left
Xliff WARNING: unhandled Failure detected in DESTROY. If you meant to ignore it, you can mark it as handled by calling .Bool, .so, .not, or .defined methods. The Failure was: 23:33
Index out of range. Is: -1, should be in 0..^Inf
^^ What does that mean on array access? 23:34
NONE of the index vars are -1
Line is: for @( @!coverage[$y][$x] )
23:35 dct left, Sound left
timotimo could be a wrong line number output 23:36
or it points at the start of the block and means the whole block instead?
Xliff OK
23:57 emerson left 23:59 daxim joined, p6bannerbot sets mode: +v daxim