[Tux] This is Rakudo version 2017.06-131-gd4436e18c built on MoarVM version 2017.06-30-g389e9732 06:46
csv-ip5xs 2.657
test 12.629
test-t 4.086 - 4.177
csv-parser 12.341
Geth rakudo/nom: c25fc85c4b | (Jonathan Worthington)++ | src/Perl6/Optimizer.nqp
Remove dead code path from optimizer.

We stopped using the lexotic op and mechanism for return handlers a long time ago; this is a relic from then.
09:43
nqp: 987178ace0 | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
Remove now-unused MoarVM lexotic of compilation.

Was replaced by using normal return handlers for implementing `return` a long time ago.
rakudo/nom: a7b2304e79 | (Jonathan Worthington)++ | src/vm/jvm/runtime/org/perl6/rakudo/RakOps.java
Remove an unused `import`.
10:09
nqp: f216702b44 | (Jonathan Worthington)++ | 10 files
Remove now-unused lexotic bits from JVM backend.
10:10
lizmat hopes either ugexe or nine could answer stackoverflow.com/questions/448838...l-6-module 11:37
afk& 14:11
jnthn m: my $s = "foo"; say "$s>>.uc()" 14:47
camelia FOO
jnthn m: my $s = "foo"; say "$s>>[0]"
camelia foo
jnthn lizmat: Don't think rt.perl.org/Ticket/Display.html?id=131695 is a bug
The rules for interpolation don't disqualify hypers.
jnthn writes up a rejection 14:50
timotimo it doesn't reject the hyper when you put a \ in front of the first > 14:52
dogbert17 is wondering what the purpose is behind the undocumented method Supply.stable 14:54
jnthn timotimo: unspace
timotimo it waits for values emitted by the supply to stay the same value for a while, then it emits the value 14:55
dogbert17 "stay the same value" ? 14:57
what's the usecase? 14:58
timotimo when you have a text box and you want to wait for the user to stop typing before you run some code 14:59
so you don't run your code for every single letter typed
dogbert17 aha, so during a specified time the taps won't receive anything? 15:00
timotimo yeah
but after a timeout after the last value runs out it will emit the last value
dogbert17 does this work for both live and on-demand supplies? 15:02
timotimo should 15:03
jnthn Surely will 15:10
Its at its most useful on things like UI input
dogbert17 tries to cobble together an example 15:11
jdv79 most useful. reminds me of a euro opera rock show type deal i went to in berlin. 15:12
oh. "endless forms most beautiful", nightwish 15:13
jnthn never managed to see nightwish yet
timotimo hardly ever goes to concerts 15:15
jnthn Me either these days... :(
I mean, I never went to loads of them 15:16
Maybe once a year or so
Or twice.
Depended what was on offer :)
jnthn mostly ended up seeing Dream Theater
dogbert17 so while the stable supply timout is running all values emitted to the supplier will get thrown away except the last one (talking about the stable Supply)? 15:24
jnthn Yes, and each time it resets the timeout 15:25
nine I once drove to Switzerland to see Nightwish on their "last" tour before they split up with Tarja. Got stuck in hellish traffic jams and it took me 9 hours despite racing through Switzerland like a mad man. Got to see the last 5 songs from way in the back. 15:26
Took a different route the next day on the way home just to get stuck again some 30km from home. Took 3 hours to make those so ended up again with 9 hours of driving. I then decided to never use a car to get to a concert ever again :) 15:27
dogbert17 as for the timeout reset I'm not so sure given that my test program works ok
jnthn nine: Ouch. Stories like that make me glad driving ain't an option for me. :P 15:28
dogbert17 what I mean is that the reset part doesn't work, or I'm misunderstanding
no, forget what I wrote, I'm a moron :) 15:29
raschipi Once a got stuck overnight in small village in Uruguay because of a typhoon. 15:30
dogbert17 tries to document what I have learned ... 15:32
ugexe lizmat: thats a complicated question to answer because it depends on the CUR that loaded it. any answer will just be met with something along the lines of "is it in the documentation?", but its not in the documentation because some of that stuff is NYI 15:40
nine and I agreed at tps that ^ver should ideally be populated with META6 data is available. but implementation will not be as simple as that could sound 15:44
llfourn's response in the mailing list linked in the SO question is pretty much spot on 15:47
otherwise you can figure out what CUR you are using, and take the appropriate action. e.g. 15:50
m: say $*REPO.need(CompUnit::DependencySpecification.new(:short-name('NativeCall'))).distribution.meta<ver>;
camelia v6.c
ugexe -Ilib doesn't set :distribution in its CUR, so that requires yet-another-way 15:51
llfourn ugexe: I was thinking about writing a response to that SO. I thought that .^ver and .distribution.meta<ver> were intended to be different. I thought that module/class versions were a thing? 15:52
(admittedly I haven't read the synopsis or the various proposals/discussions) 15:53
ugexe they would "override" the meta data
nine FWIW I do hope that the implementation will not be horribly complicated. We just have to get version and auth from the meta data into Perl6::Grammar's $*VER and $*AUTH
llfourn ugexe: that soudns fair enough.
ugexe the meta data provides should (but doesnt... yet?) allow like "Foo::Bar:ver<2>" even if the distribution its in is ver 3 15:54
right now the "distribution" version is applied to everything, but technically we should be able to declare other version
nine: the implementation should not be complicated, but figuring out the right interface so that it works for the various CURs likely will be 15:56
llfourn I think that makes sense. I guess Foo::bar:ver<2> or :ver<3> can even be in the same compunit?
ugexe the naive issue being ver|version
llfourn: that i haven't thought about, but from what I understand of s11 only the :api<> version should affect that 15:57
theoretically... nothing has been done with :api yet 15:58
llfourn goes to actually read s11 15:59
"On top of that, Perl 6 allows different versions of the same compunit to be installed in a single repository." 16:00
Eh do we have versions for compunits now?
or does that sentence mean package?
ugexe its an attribute they have, but i dont think they are used
github.com/rakudo/rakudo/blob/nom/...on.pm#L480 16:01
dogbert17 jnthn, timotimo: what do you think of gist.github.com/dogbert17/8b2f6249...5ad3809539
llfourn so we have distribution versions, compunit versions AND package versions that could all potentially be different? 16:02
(though I think the package declarator itself doesn't take a version)
timotimo it should point out more clearly that "new" value means "changed" value, or "non-equal" value 16:03
also, perhaps we want stable to be able to take a comparison function
ugexe i think compunit version and package version are the same thing
llfourn eh? by package version I mean like class Foo:ver<2>?
ugexe and I mean any version on a module in a distribution that is not the same as the distribution version 16:04
llfourn ...maybe I should just finish reading :)
dogbert17 timotimo: but it doesn't take a comparison function today from what I can see
llfourn *module* meaning a package or a compunit? 16:05
jnthn dogbert17: maybe more like "This method can be quite useful when handling UI input, where it is not desired to perform an operation until the user has stopped typing for a while rather than on every keystroke."
ugexe CUR most likely has a :version attribute so it doesn't have to go through the slower .distribution
timotimo dogbert17: that's why i suggest it :)
jnthn timotimo: Actually we go purely on time
llfourn ugexe: ah ok
jnthn timotimo: What you're suggesting is .squish.stable :)
timotimo oh! i did not know that!
llfourn so I think that sentence from s11 is kind of wrong then 16:06
nine I concur
timotimo so maybe we can formulate it a bit more like "Creates a new supply that only emits a value after no other values have been emitted for $time" 16:08
dogbert17 jnthn: have added your suggestion
timotimo also, "they will be thrown away" sounds a bit like it refers to the new values 16:09
jnthn dinner & 16:10
dogbert17 timotimo: have updated the gist
timotimo okay, and maybe "changed values" should be changed so it doesn't imply the values have to be different? 16:13
dogbert17 perhaps the word 'values' is enough 16:15
timotimo i think it'd also be nice to point out the synergy it has with putting a squish in front 16:17
AFK for a bit 16:18
ugexe it should be pointed out that its not reasonable to expect package managers to parse `class Foo::Bar:ver<2>` from code, so such declarations *should* always be in the meta data as well (through provides somehow) 16:59
putting it on the class itself really only helps when you `-Ilib`, and even then it doesn't make much sense since -Ilib does not load version info (although -I. would) 17:00
e.g. -Ilib is not intended to fulfill its version, its intended to fulfill version 0 (*) 17:01
m: package foo:ver<1> { say $?PACKAGE.^ver }; # -Ilib 17:05
camelia No such method 'ver' for invocant of type 'Perl6::Metamodel::PackageHOW'
in block <unit> at <tmp> line 1
ugexe m: module foo:ver<1> { say $?PACKAGE.^ver }; # -I, 17:06
camelia v1
ugexe s/-I,/-I./
nine But shouldn't the -Ilib case read the META6.json? 17:10
ugexe what if its -Ifoo, should it always look 1 level higher for a meta6.json? 17:11
-I. finds the meta because it checks if $dir.child("META6.json") 17:12
-Ilib just guesses
which is why i cringe when I usee `use lib <lib>` in distribution's tests instead of `use lib '.'` or some such 17:13
s/usee/see/
timotimo when i -I. and there's a meta6.json with a provides, that'll work out fine?
ugexe makes sense if its not a distribution yet, because there is no meta6.json. but otherwise not 17:14
timotimo sounds like i want to adopt that
ugexe yep, -I. uses META6.json to turn module names into paths instead of s/::/\// on the name
timotimo very nice
ugexe (or -I/directory/containing/meta6-file/ rather)
timotimo of course 17:15
ugexe nine: if lib was "reserved" in the way "bin" "resources" etc are then I think its ok to check the parent directory for a META6.json file. but not if "any" directory can be used 17:16
and I dont see a problem with making that a rule either. otherwise someone is eventually going to put all his module source in his resources and load them dynamically through %?RESOURCES because... 17:17
nine ugexe: IIRC we look in the repo's parent directory for the META6.json on the asumption that we're in "lib" or "src" or some such 18:04
Zoffix returns 18:47
yoleaux 7 Jun 2017 15:22Z <tony-o> Zoffix: data-dump PRs merged ..
9 Jun 2017 05:49Z <samcv> Zoffix: yay! you read my mind about `use lib` accepting IO::Path objects! did i ever complain about that or are you a mind reader
10 Jun 2017 18:38Z <zengargoyle> Zoffix: biodude says thaks
samcv wow that was an old message
jnthn Zoffix: wb :) 18:48
Zoffix Decided it would be good to have a little roadmap planned, to have some direction. So I plan to: implement unsigned types correctly, then use them to use proper `uint64` in Rat to (hopefully) speed it up, and then make Rational immutable by getting rid of Rational.REDUCEME and possibly speeding up reduction. And, unless 6.c roast blocks it, I wanna get rid of Rats with Num numerators and represent their 18:53
Num.Rat cases with the IEEE thing we already do for Rat.Num cases, but in reverse, so Inf => 1/0, -Inf => -1/0, NaN => 0/0; that'll fix at least two tickers.
Well, I'll do that after I learn C. 25% complete right now./ 18:54
Also, found out that signed overflow is undefined behaviour in C. Wonder if that carries over to our natives... 18:56
m: my int8 $x = 127; say ++$x
camelia -128
Zoffix Oh + I'll fix the case where stuff like 9.99999999999999999999999999999999999 still gives a Rat, but a sick one. Gonna try out TimToady's suggestion of making a RatStr, so we get a non-contagious FatRat, but will see think about what's best once I get there. This will fix at least one ticket. 18:59
jnthn Zoffix: Yes, 'cus (in both cases) they do what the hardware does :) 19:01
Getting the unsigned stuff more properly fixed up would be very nice :)
MasterDuke Zoffix: i have some branches in moarvm/nqp/rakudo where i started to attempt a uint fix (don't remember the exact names right now). feel free to steal anything if you like 19:05
Zoffix: i think 'add_bindattr_u' and 'add_unsigned_int_ops_where_missing' are the names of the branches (in all the repos) 19:56
Zoffix ok 20:16
MasterDuke btw, just finished Seqs part 2 a min ago, good stuff 20:20
ugexe nine: github.com/rakudo/rakudo/blob/nom/...tem.pm#L26 What you're saying does happen, but only for $?RESOURCES (and part of the reason I wonder if CURs should not just delegate this off to the Distribution object itself) 20:58
lizmat and another Perl 6 Weekly hits the net: p6weekly.wordpress.com/2017/07/03/...-on-speed/ 22:09
Zoffix Who runs FakeUnicode account? Is it some Perl 6er? 22:22
On Twitter I mean 22:23
lizmat good night, #perl6-dev! 22:29
Zoffix night 22:30
lizmat++ # good weekly 22:32
timotimo it's not some perl 6er 22:45
or rather, it would surprise me if it were
though given their desire to remain pseudonymous, it'd be a bad idea for them to display they're part of the perl 6 community, as it is somewhat small
Zoffix was just surprised to be cc'd by them in a couple of tweets 22:49
ZofBot: I guess I'm just famous!
ZofBot Zoffix, html?id=131626 there's not a lot to be copied, and until we have a better way to alias, I think this could do with the proper comments in the code eveo, you there? do you think this should work on Linux: my $fh = open('~/scratch
Zoffix No, it shouldn't, ZofBot 22:50
jnthn Not without the closing ' and ), ZofBot :P
And I hpoe that's a ~ directory :P
timotimo zofbot's a smarty 22:51
AlexDaniel “Perhaps this example should be provided somewhere as a 'gotcha'.” – IMO we should put more effort on eliminating gotchas, making messages awesome, etc. We already have a bunch of tickets for gotchas, and if all are actually documented the traps page will be huuuuge… github.com/perl6/doc/issues?utf8=%...amp;q=trap 23:08
timotimo i thought you could use roundrobin to transpose an array of arrays, but somehow i'm not getting it to work 23:11
oh, because the array itemized the sub-arrays
yeah, that was it 23:12
roundrobin(|$a) gives the original list back when it only has one sub-list 23:13
er, not the original list
the single sub-list, unchanged
oh, hm. no, that's not what you want
you do get (("a", "b", "c"),).Seq