[Tux] This is Rakudo version 2017.04.3-249-gd18a3332e built on MoarVM version 2017.04-64-g6d5ea042 06:34
csv-ip5xs 2.595
test 12.717
test-t 4.194 - 4.222 06:35
csv-parser 12.865
This is Rakudo version 2017.04.3-272-gd76206e74 built on MoarVM version 2017.04-64-g6d5ea042 07:29
csv-ip5xs 2.531
test 12.516
test-t 4.337 - 4.350
csv-parser 12.919
Geth nqp: 4bd35f9b62 | pmurias++ | src/vm/js/nqp-runtime/code-ref.js
[js] Better creation of missing outer scopes
08:03
rakudo/js: 6 commits pushed by pmurias++
lizmat_ And a new Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/05/16/...-the-alps/ 08:08
cognominal lizmat++ 08:42
Zoffix lizmat: shoudl System::Info be added to ecosystem? 09:58
yoleaux 01:23Z <samcv> Zoffix: merged and version bumped :) thank you
Zoffix lizmat++ good weekly 10:09
nine Zoffix: lizmat++ could just upload it to CPAN ;) 10:10
Zoffix nine: but then what? I guess that's one part I'm not clear about. I could upload Perl 6 dists to CPAN a year ago, but there was no way to see them. Did that change? How can I see what Perl 6 dists are available on CPAN? 10:11
There's System::Info, but it's Perl 5 version: metacpan.org/pod/System::Info 10:13
moritz Zoffix: at the moment, it's just a CDN for us, and we have to use our own infrastructure to find the modules on CPAN 10:14
Zoffix ok 10:16
nine Zoffix: it can then be installed with zef --cpan install System::Info
Zoffix nine: I can also install anything with zef install perl6.party/My::Module.zip, but it's pointless if no one knows it's there and My::Module exists 10:17
So saying lizmat could "just" upload to CPAN is a bit misleading 10:18
nine Zoffix: "zef --cpan update && zef --cpan --/p6c --/cached list" to see what's available on CPAN 10:23
github.com/ugexe/Perl6-ecosystems/.../cpan.json is the index regenerated every 30 or so minutes. 10:25
I guess the next steps will be to move this cpan.json to a more official location and use it on modules.perl6.org. 10:32
Zoffix huggable: cpan 10:35
huggable Zoffix, www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/
Zoffix neat 10:38
Is the mechanism for deleting modules known? For example, I see at least one of my modules I long deleted, but it's still in the PSIXDISTS's dir... 10:39
huggable: cpan zef
huggable Zoffix, nothing found
Zoffix huggable: cpan zef :is: view Perl 6 modules available on CPAN: zef --cpan update && zef --cpan --/p6c --/cached list
huggable Zoffix, Added cpan zef as view Perl 6 modules available on CPAN: zef --cpan update && zef --cpan --/p6c --/cached list
Zoffix huggable: cpan json :is: Perl 6 modules on CPAN: github.com/ugexe/Perl6-ecosystems/.../cpan.json 10:40
huggable Zoffix, Added cpan json as Perl 6 modules on CPAN: github.com/ugexe/Perl6-ecosystems/.../cpan.json
nine Zoffix: it's the same as for Perl 5 dists, i.e. go to pause.perl.org log into your account and select "Delete Files" from the menu. For deleting from PSIXDISTS, you'll have to ask ranguard as it's his account. 10:41
Zoffix .ask ranguard how can I delete all my modules from www.cpan.org/authors/id/P/PS/PSIXDISTS/Perl6/ and prevent anything new from me uploaded again (github username zoffixznet)? I'm gonna be uploading my dists on my own and I see some of the stuff in PSIXDISTS are modules are long deleted entirely.. 10:45
yoleaux Zoffix: I'll pass your message to ranguard.
Zoffix I should rake through the sauce of github.com/bingos/gumbypan/tree/master and make one of hour bots report Perl 6 dist uploads to CPAN, like GumbyPAN does :) 10:47
nine ++Zoffix 10:48
Zoffix .tell lizmat just remembered, it was samcv++ that fixed the +> op in MoarVM. I just removed a kludge from rakudo 11:27
yoleaux Zoffix: I'll pass your message to lizmat.
Geth roast/6.c-errata: 5c703c355d | (Zoffix Znet)++ | S16-io/words.t
Simply plan number
12:51
Zoffix sorry, was on the wrong branch -_- 12:52
Zoffix adds the "git branch in your bash line" thing to this box 12:53
[Coke] Zoffix: yes, that's very helpful. 12:55
Zoffix namely this: gist.github.com/zoffixznet/4fc6c46...32372c6c33
[Coke] I had a standalone at some point, and then started leaving a copy of git checked out somewhere so I could use the version "in core" 12:59
... I think. I'm in the middle of moving off that machine, and brain cells ain't what they used to be. 13:00
ugexe Zoffix:(or anyone) we could also use another mirror of that cpan file so that we don't still get owned when github goes down 13:30
you could even apply your own filters so it only lists what you think it should 13:31
Zoffix ugexe: btw was it you who had a list of most popular modules? I need that list to test a bunch of modules with releases. 13:33
ugexe Zoffix: no, haven't heard of that yet 13:34
Zoffix moritz: was it you?
moritz Zoffix: somebody sent an analysis to me years ago 13:41
Zoffix oh :( I want recent. I guess going by github stars is good enough for my purpose. 13:42
ugexe btw - tadzik removed panda from rakudobrew so a bunch of .travis.yml will be broken right now (all the ones that use rakudobrew build-panda) 14:14
good candidate for automated PRs probably
tadzik ...whoops
ugexe tadzik: its for the best anyway... its not like there is an issue tracker to file against :) 14:15
tadzik :>
yeah, I took care of that too :P
well, rakudobrew still has one 14:16
I guess I could've handled that more gracefully
but hey, if you rely on master being always stable and working and without changes... 14:17
Zoffix ponders an alert.perl6.org 14:18
jnthn Yeah, that rakudobrew change bit my $dayjob project. I'd totally forgotten its .travis.yml was still was using Panda...probably 'cus I'd just copy-pasted it from somewhere. :)
Zoffix Some tips and bits that are too small to warrant a whole post on rakudo.org but still something we'd want to dissiminate to users in some way. So alert.perl6.org could be an RSS feed or bloglet or something that also automatically tweets any new updates 14:19
Like "still using panda in your .travis.yml? Swap to zef"
It's also still listed here: docs.travis-ci.com/user/languages/perl6
jnthn ah, that's probably where I copy/pasted from ;) 14:20
Zoffix "rakudobrew build-panda 2015.07" heh :)
tadzik I could add that as a check for modules.perl6.org/todo
ugexe the more checks the better 14:25
nine Things like this are exactly why I want as little "how" and as much "what" as possible in our module's build info. 14:34
Zoffix c: HEAD with "/tmp/foo42".IO -> $f { $f.spurt: "a\nb\nc"; my @a; for $f.open.lines(2, :close) { @a.push: $_ }; dd @a } 14:49
committable6 Zoffix, ¦HEAD(d76206e): «Array @a = ["a"]»
Zoffix c: 2017.04 with "/tmp/foo42".IO -> $f { $f.spurt: "a\nb\nc"; my @a; for $f.open.lines(2, :close) { @a.push: $_ }; dd @a } 14:50
committable6 Zoffix, ¦2017.04: «Array @a = ["a"]»
Zoffix c: 2017.03 with "/tmp/foo42".IO -> $f { $f.spurt: "a\nb\nc"; my @a; for $f.open.lines(2, :close) { @a.push: $_ }; dd @a }
committable6 Zoffix, ¦2017.03: «Array @a = ["a", "b"]»
Zoffix Zoffix--
ZofBot: nead moar tests \o/
ZofBot Zoffix, This class will then be composed, with any conflicts indicated
Zoffix Almost got this bug into .words too but my new tests for words caught it 14:51
ZOFVM: Files=1242, Tests=135580, 114 wallclock secs (21.59 usr 3.02 sys + 2313.20 cusr 165.24 csys = 2503.05 CPU) 15:02
Geth rakudo/nom: bf399380c1 | (Zoffix Znet)++ | src/core/Rakudo/Iterator.pm
Fix off-by-one in Rakudo::Iterator.FirstNThenSinkAll

Introduced[^1] to implement close-with-limit feature in IO::Handle.lines/IO::Path.lines/&lines and causes returned Seq for this arg combination for those routine to be missing last item.
  [1] github.com/rakudo/rakudo/commit/90...4b44e2bf6b
15:05
rakudo/nom: 8065d544f1 | (Zoffix Znet)++ | src/core/Rakudo/Iterator.pm
Remove copy-pastoed unused attribute
rakudo/nom: 84502dc200 | (Zoffix Znet)++ | src/core/IO/Handle.pm
[io grant] Implement $limit arg for IO::Handle.words

  - Makes interface consistent with Str.words
  - If :close is given, will close handle after reaching limit
   (or if iterator got exhausted before reaching it)
  - Lets &words/IO::Path.words to read a $limit number of words
   and close the internally used handle, avoiding the open
   handle leakage issue.
15:07
roast: b0c4a7a37c | (Zoffix Znet)++ | S16-io/words.t
[io grant] Test &words, IO::Handle.words, and IO::Path.words

  - Toss old tests; they didn't test any routine args and only two
   whitespace types of whitespace, and used inappropriate `is`
  - Test: with all currently-available Zs chars, all the args,
   and all three routines ($*ARGFILES.words tests will come with IO::CatHandle)
  - Include heuristic test for IO::Path.words failing to close the handle
   after iterator has been exhausted/limit reached
15:09
roast: 25cf5a58bb | (Zoffix Znet)++ | S16-io/words.t
Add indicator to is_run test's code

That will guarantee the loop in the code actually got run.
15:14
roast: f3d1f67988 | (Zoffix Znet)++ | S16-io/lines.t
[io grant] Test $limit arg with &lines/IO::*.lines

Rakudo fix: github.com/rakudo/rakudo/commit/bf399380c1
15:25
[Coke] Zoffix: did you remove the dep in perl6/doc on the bigpage stuff? 15:46
Zoffix Don't think so 15:47
[Coke] ah, no, it's still in the META
"make" is currently failing for me.
Zoffix m: my @a; with "/tmp/foo42".IO -> $f { $f.spurt: "a\nb\nc"; for ^15000 { @a.push: $f.open; } } 16:24
camelia ( no output )
Zoffix Why doesn't this reach the max-open-files thing?
oh doh. Failures 16:26
m: my @a; with "/tmp/foo42".IO -> $f { $f.spurt: "a\nb\nc"; for ^15000 { use fatal; @a.push: $f.open; } } 16:28
camelia Failed to open file /tmp/foo42: too many open files
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
Geth roast: 4f5589b274 | (Zoffix Znet)++ | S16-io/lines.t
[io grant] Add test for handle leak in IO::Path.lines
16:38
roast: 7b592f5e12 | (Zoffix Znet)++ | S16-io/lines.t
Fix re-declaration warnings
16:39
Zoffix
.oO( why is redeclaration a warning and not a fatal error... )
Another bit of Perl 5 that should've been left where it was found.
[Coke] Zoffix: Maybe add that to to the 6.d doc? I'd be fine with it being a compile time error. 16:53
(as a proposal)
Zoffix huggable: 6.d
huggable Zoffix, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
Zoffix [Coke]: I guess that would break doc xtest? 16:58
[Coke] Zoffix: which would? 17:27
oh, the redec. I'd update the xtest to deal with it. 17:28
Zoffix [Coke]: the code checker
OK
[Coke] (or the docs)
AlexDaniel Zoffix: I love your IO work 17:46
Zoffix Why? 17:48
AlexDaniel should there be some clearly defined reason to love something? :) 17:49
I'm just happy that somebody is working on all of these issues
(and doing it well) 17:50
Zoffix Cool
geekosaur somewhere lizmat is sighing...
Zoffix hah, true :) 17:51
I rember getting annoyed of just going through pages and pages of "merge nom" commits to newio; I can't imagine what it was like to actually be doing them. 17:54
geekosaur "frustrating" 17:58
Zoffix . 18:16
yoleaux 18:15Z <haxmeister> Zoffix: DOM::Tiny seems to work fine, installs ok and parses without error. When I get some time I'll dig more and try to understand the data structure it produces and how to get at it.
[Coke] ah, my doc issue was a rakudobrew rehash. 19:09
Zoffix :) 19:11
oops. I just now realized that all the people who received my patch renaming META.info to META6.json received it in a form of a commit with a single 340-char line :( 19:14
ZofBot: that's what happen when you rely on JavaScript to do your work for you!
ZofBot Zoffix, But I'm not sure what exactly you're after
Zoffix ZofBot: I was after 72-char or less commit messages, but it all put it in one line 19:15
ZofBot Zoffix, The exceptions will be noted as we go
geekosaur forget a blank line? 19:17
[Coke] need json pretty printer.
oh. You mean message, not content. oooops 19:18
Zoffix No, I just had a JS script paste the text into the "Commit message" text area and apparently the site wraps the text even if it's doesn't actually have newlines in it :/ 19:19
Geth nqp/master: 4 commits pushed by pmurias++ 19:38
dogbert17 commit: 2016.06 say "zofbot" # test 20:32
committable6 dogbert17, ¦2016.06: «zofbot»
AlexDaniel “zoffixznet assigned zoffixznet and unassigned zoffixznet an hour ago” … Schrödinger's Zoffix? 20:33
dogbert17 commit: 2016.06 my @a = [1,[2,3],4]; dd @a.duckmap({ $_ ~~ Int ?? $_++ !! Any });
committable6 dogbert17, ¦2016.06: «(1, (2, 3), 4)»
dogbert17 m: my @a = [1,[2,3],4]; dd @a.duckmap({ $_ ~~ Int ?? $_++ !! Any });
camelia [1, Any, 4]
dogbert17 when did this change? 20:34
AlexDaniel there's a bot for that
bisect: my @a = [1,[2,3],4]; dd @a.duckmap({ $_ ~~ Int ?? $_++ !! Any });
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=84502dc) because on both starting points the exit code is 0
dogbert17 don't know about it :)
bisectable6 AlexDaniel, bisect log: gist.github.com/6628de27aaf7039000...4a3a059774
AlexDaniel, (2016-09-26) github.com/rakudo/rakudo/commit/ca...e8b1e39330
AlexDaniel looks like your commit
dogbert17 oops
AlexDaniel c: ca93ac90^,ca93ac90 my @a = [1,[2,3],4]; dd @a.duckmap({ $_ ~~ Int ?? $_++ !! Any }); 20:35
committable6 AlexDaniel, ¦ca93ac90^: «(1, (2, 3), 4)» ¦ca93ac9: «(1, Any, 4)»
AlexDaniel yep, definitely this commit
Zoffix AlexDaniel: no, just clicked assign to self button instead of labels by accident
dogbert17 mebbe it's correct bahaviour
perlpilot dogbert17: looks right to me, but I'm not very familiar with duckmap 20:36
dogbert17 looking at Any.pod6 atm, trying to adjust incorrect examples, spelling and formatting error etc
this was one of the examples, which I will adjust unless someone screams :) 20:37
AlexDaniel screams “what the f☆∞⌛ is duckmap???” 20:39
Zoffix it's a map that maps by type 20:40
what quacks like a duck is a duck and all that
AlexDaniel what is “by type”? 20:41
Zoffix You give it a typed block and it only runs for stuff that matches the type. Basically examples above are the wrong way to use it 20:42
I'd type some but I'm on my phone
AlexDaniel oooh 20:43
Zoffix m: <a b c d e f g>.duckmap(-> $ where <c d e>.any { .uc }).say
camelia (a b c d e f g)
Zoffix booo
dogbert17 Zoffix: write some cooler examples later if you get bored with the IO stuff
AlexDaniel m: <a b c d e f g>.duckmap($ where <c d e>.any -> { .uc }).say 20:44
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse expression in argument list; couldn't find final ')'
at <tmp>:1
------> 3<a b c d e f g>.duckmap($7⏏5 where <c d e>.any -> { .uc }).say
expecting any of:
infix
Zoffix m: (478, 'foobar', 'meow', 1234).duckmap(-> Str { .flip }).say
camelia (478 foobar meow 1234)
AlexDaniel no, it was right…
Zoffix shrugs 20:45
I thought that was it
AlexDaniel c: all (478, 'foobar', 'meow', 1234).duckmap(-> Str { .flip }).say
Zoffix Ohhj
doh, I'm not assigning to $_ doh
m: (478, 'foobar', 'meow', 1234).duckmap(-> Str $_ { .flip }).say
camelia (478 raboof woem 1234)
Zoffix there we go
AlexDaniel right 20:46
Zoffix m: <a b c d e f g>.duckmap(-> $_ where <c d e>.any { .uc }).say
camelia (a b C D E f g)
Zoffix and it descends into iterables
AlexDaniel ok, so that's a thing where you pass a multi sub or something
Zoffix probably
AlexDaniel m: <a b c d e f g>.deepmap(-> $_ where <c d e>.any { .uc }).say
camelia Constraint type check failed in binding to parameter '$_'; expected anonymous constraint to be met but got Str ("a")
in block <unit> at <tmp> line 1
AlexDaniel ah-ha
jnthn Actually it's implemented just by catching an exception 20:47
AlexDaniel :|
jnthn So it's like "map with this operation if it succeeds" 20:48
Zoffix Ah, cool
jnthn Except it will also try to descend
Zoffix m: <a b c d e f g>.duckmap(-> $_ where <c d e>.any { die when 'd'; .uc }).tsay
camelia No such method 'tsay' for invocant of type 'List'
in block <unit> at <tmp> line 1
Zoffix m: <a b c d e f g>.duckmap(-> $_ where <c d e>.any { die when 'd'; .uc }).say
camelia (a b C d E f g)
Zoffix awesome
jnthn Like `try`, it's both really useful and a huge thick blanket :) 20:49
dogbert17 considers stealing these examples and add them to the pod
jnthn (In that, both are good when you just want to try and don't care otherwise, but you'd better be doing something small that can't fail in many ways) 20:50
perlpilot dogbert17: you totally should :) 21:02
(that die thing was new to me and could use a paragraph or so of explanation) 21:03
dogbert17 perlpilot: that one I didn't steal but perhaps I should 21:18
Zoffix Could be a filter for successfull transactions 21:22
"Say this data is good: {@data.duckmap({$stuff.add: $_; $something.post: $_; $whatever.whatever: $_; $_})}" 21:23
Oh wait never mind
hehe :)
('cause it returns all the data) 21:24
AlexDaniel m: say <25 abc 88>.any.duckmap({$_ + 1}) 21:26
camelia any((26), (abc), (89))
Zoffix : say <25 abc 88>.any.duckmap({$_ == 25 or die}) 21:28
m: say so <25 abc 88>.any.duckmap({$_ == 25 or die})
camelia True
Zoffix m: say so <27 abc 88>.any.duckmap({$_ == 25 or die})
camelia True
Zoffix oh right
I think it's clear duckmap isn't for me :)
m: say words(2, 2, 3) 22:42
camelia Cannot resolve caller words(Str: Int, Int); none of these signatures match:
(Str:D $: :$autoderef!, *%_)
(Str:D $: $limit, *%_)
(Str:D $: *%_)
in block <unit> at <tmp> line 1
Zoffix $autoderef???
m: say words(2, 2)
camelia (2 Nil)
Zoffix m: say words(2, 5)
camelia (2 Nil Nil Nil Nil)
Zoffix crap
m: say words(2)
camelia (2)
Zoffix That's not how I implemented limit on IO::Handle 22:43
m: say lines 2, 2
camelia (2)
Zoffix m: say comb 2, 2
camelia (2)
Zoffix m: say comb 2, 2, 2
camelia (2)
Zoffix k, simple fix it looks
1-word fix... for words :) 22:45
ZofBot: BADUMPTS!
ZofBot Zoffix, I was thinking like I do with map/grep, and now that you mention it those instances are using ({ }), not { } `No such method 'e' for invocant of type 'Distribution::Resource'` when doing %?RESOURCES<
AlexDaniel hmmm I wanted to try something…
Zoffix m: try something 22:46
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
something used at line 1
AlexDaniel aa, I remember
well, nevermind 22:48
I just remembered
m: <25 55 88>.grep({say $++}) 22:49
camelia 0
1
2
AlexDaniel m: <25 55 88>.grep(/{say $++}/)
camelia 0
0
0
AlexDaniel I'd just never remember the difference here
or understand it, even 22:50
m: <25 55 88>.grep({ {say $++} })
camelia 0
0
0
AlexDaniel this ↑ is kinda it, but still 22:51
TimToady a state variable is like a 'my' variable that is implicit one scope out 23:39
if there is more than one lexical scope (as is the case above), then each time the outer lexical scope is renewed, so is the state var 23:40
otoh, regex scopes are a bit funny... 23:41
m: <25 55 88>.grep(/:my $var; {say $var++}/)
camelia 0
1
2
TimToady m: <25 55 88>.grep(my regex { :my $var; {say $var++} }) 23:42
camelia 0
0
0
AlexDaniel squints 23:48
TimToady though by rights all of those should be failing from a null regex... 23:50
timotimo wow, the http 500 page of github is pretty 23:51
gist.github.com/tadzik/80060834fa0...53cfcbe94e - i get it for this