Hotkeys I guess they fixed the script 01:11
aeruder w.t.f. 01:12
ZzZombo !ops 01:14
b2gills mst: can you kick devnul391?
Hotkeys I've mentioned it in #freenode, seems like a widespread problem 01:16
ilbelkyr thanks for the poke, appreciated :)
Hotkeys thanks for the quick reponse
ilbelkyr no worries 01:17
geekosaur yes, they're hitting all of freenode 01:19
I just banned another one in another channel but don;t have ops here 01:20
AlexDaniel hm… I wonder why I see no spam messages on matrix 06:43
[Tux] Rakudo version 2017.11-131-g3f90f663b - MoarVM version 2017.11-48-g0b9f8090a
csv-ip5xs1.104 - 1.104
csv-ip5xs-2013.259 - 13.333
csv-parser12.220 - 12.983
csv-test-xs-200.431 - 0.459
test11.868 - 12.368
test-t2.945 - 3.195
test-t --race1.236 - 1.593
test-t-2053.984 - 58.981
test-t-20 --race19.491 - 23.800
07:45
DrForr AlexDaniel: Were you one of the ones interested in the Pod:: rewrite? 08:51
AlexDaniel DrForr: a little bit :)
any news? 08:52
DrForr A ...little... bit. In fact, yes.
I'm about 70% finished with .. well, lemme put this in github first.
I don't have the code handy but I know the output well enough. 08:53
AlexDaniel mmmm, PODecember :)
DrForr gist.github.com/drforr/2cd55711368...074a213571 08:57
Takes perl6 POD and returns a linkified tree. I could of course do the ..previous-sibling..$node...next-sibling stuff as an array of entries, but since most everything else is links it just felt right to keep with the theme. 08:59
That's just a very abbreviated form of how the tree looks; I don't have all of the classes done, but once I get past one issue with the Pod::Item it feels like smooth sailing. And yes, it does create different objects from the existing Pod objects, because I don't feel there are enough reference points to easily render documents as they stand. 09:04
The parent is fairly important, as you can be walking the tree, and if you happen to be in a Node::Paragraph and want to know if you *really* want to display the <p/> tags, just check the parent, and if it's a Node::Header, skip it. 09:14
I'll probably add a tree -> iterator so you can get a lazily-evaluated array of POD nodes. 09:15
I also might not keep $node.last-child in the final tree, because it's really only a useful way of inserting items. 09:16
for $pod.depth-first -> $element { .. } # simple walker. 09:19
Any thoughts on this? The .parent link is probably the most important because as it stands it's hard to silly-walk the tree unless you pass stuff around out-of-band. 10:44
AlexDaniel 🤷 10:50
DrForr kicks Inconsolata for missing Unicode characters :) 10:51
I'm going to package it as Pod::Tree, and give it an iterator to make things a little easier to work with. 10:56
tbrowder DrForr: ++excellent work!! 10:58
DrForr I've got about 16 hours of flights ahead of me, and I'll wrap it up. 10:59
AlexDaniel DrForr++ 11:00
DrForr I wanted to get everything into objects, so Tables contain an optional Header and required Body object, Headers have separate Data sections, Bodies have Rows which contain Data sections.
tbrowder AlexDaniel: i’m tidying up for PR on config quote issue. how do you feel about debug being left in (but turned off)? 11:27
AlexDaniel tbrowder: what do you mean? 11:43
tbrowder leaving in statements like: say(“DEBUG: x var is $x”) if $debug; 11:51
AlexDaniel: i also have some questions about some conflicting or config formats that need documenting imho. 12:01
1. S26 shows two forms that look identical to me: :key<str> for a string and :key<1 2 3> for a list. how can one disambiguate the two unless a string can have bo spaces? 12:04
s/bo/no/
AlexDaniel tbrowder: oh yeah, I've been thinking about this previously 12:06
we don't have a :key“foo bar baz” form
the only reasonable pair syntax for strings we have at the moment is :key(‘foo bar baz’)
sooo… yeah. 12:07
tbrowder 2. S26 shows one form of bool entry as :key(0) and :key(1), but it doesn’t discuss :key(42) or :key(3.2).
AlexDaniel hmm why not :key(False) :key(True)? It may be outdated 12:08
tbrowder: as for debugging, we do seem to have RAKUDO_OPTIMIZER_DEBUG and RAKUDO_MODULE_DEBUG
so maybe something like that for pod is reasonable? 12:09
MasterDuke huh, even a trivial example of using nextsame goes through find_best_dispatchee
tbrowder we also have the RAKUDO* env var for tables i added in on PR 12:11
*one 12:12
MasterDuke benchable6: compare HEAD multi sub a(Int $i) { nextsame }; multi sub a(Any $a) { }; a($_) for ^100000 ||| multi sub b(Int $i) { b(Any) }; multi sub b(Any $a) { }; b($_) for ^100000
benchable6 MasterDuke, starting to benchmark the 1 given commit
MasterDuke, ¦HEAD: «Benchmark: ␤«timed out after 10 seconds»»
MasterDuke benchable6: compare HEAD multi sub a(Int $i) { nextsame }; multi sub a(Any $a) { }; a($_) for ^10000 ||| multi sub b(Int $i) { b(Any) }; multi sub b(Any $a) { }; b($_) for ^10000 12:13
benchable6 MasterDuke, starting to benchmark the 1 given commit
MasterDuke, gist.github.com/adea7e8ac92fd0c6b4...8a5249a813
tbrowder ok. given my questions, pod config handling almost becomes open-ended. i can submit my PR, which satisfies the current formats i show in the docs, takes care of the documented quote issues (and more), and should satisfy most users’ needs. 12:16
then work on fine-tuning the config specs.
MasterDuke timotimo: would would need to be done so *same, *with don't need to go through find_best_dispatchee? is that a possible optimization? 12:21
timotimo sounds difficult 12:23
we already have the dispatch cache that lets us skip find_best_dispatchee for the original dispatch 12:24
and that only stores the best result, whereas with *same and *with have to also have the second best
MasterDuke huh 12:26
tbrowder AlexDaniel: i have just updated the docs on pod config. my PR will be aligned with supporting that unless you see a problem.
timotimo we probably already log what we end up invoking there? but if we don't have a simple way to figure out if the logged value is applicable, we can't really use that 12:27
MasterDuke really kind of makes those unusable for code that gets called frequently and needs to be fast 12:28
timotimo m: multi sub infix:<,>(\a, \b) { say $*DISPATCHER.^name }; my ($a, $b); ($a, $b) = 1, 2
camelia Perl6::Metamodel::MultiDispatcher
Cannot modify an immutable Bool (True)
in block <unit> at <tmp> line 1

Perl6::Metamodel::MultiDispatcher
Perl6::Metamodel::MultiDispatcher
tbrowder i think the form :key”string” you suggested may not be easy to implement but i will see if i can add it to my PR. 12:29
AlexDaniel tbrowder: I don't think it should be implemented, unless we decide to have it supported in normal code as well 12:30
MasterDuke i've been trying to get a `multi sub infix:<,>(\a, \b)` that doesn't use *same, but haven't been able to yet
AlexDaniel tbrowder: the reason I'm mentioning it is that this question used to come up sometimes 12:31
tbrowder: and it's indeed less than awesome that you can use :foo<bar> for one-worded strings but have to fall back to :foo(‘b a r’) for strings with spaces… 12:32
but this stuff perhaps needs an [RFC] ticket
MasterDuke timotimo: `multi sub infix:<,>(\a, \b) { my \in := nqp::list(a,b); (nqp::istype(a,Slip) || nqp::istype(b,Slip)) ?? &infix:<,>(in) !! nqp::p6bindattrinvres(nqp::create(List),List,'$!reified',in)` nearly worked 12:33
AlexDaniel generally we probably don't want to add more pair forms, because we have too many already…
tbrowder ok. please look at github doc pod config and see if those formats look satisfactory.
AlexDaniel but in that case pod config has to support :foo(‘bar’) properly
lizmat MasterDuke: my take so far: gist.github.com/lizmat/a33a78d54b2...785dbe2034
MasterDuke but would cause `===SORRY!=== Something went wrong in (NotFound)`
AlexDaniel tbrowder: sorry, what's the link? 12:34
tbrowder github.com/perl6/doc/blob/master/d...e/pod.pod6 12:35
look at the table starting at line 48 12:36
MasterDuke lizmat: cool. did you seem timotimo++'s comments about nqp::p6argvmarray vs nqp::list?
*see
timotimo did we actually time it, though?
MasterDuke hm, don't remember now 12:37
timotimo argvmarray vs nqp::list i mean
the wins i'm expecting come from not having to go into and back out of a list
i.e. if you have (\a, \b) and use nqp::istype on them, spesh ought to know what types they are
AlexDaniel tbrowder: looks good 12:38
tbrowder ok! i’ll run with that
MasterDuke lizmat: have you benchmarked your change yet?
lizmat I only checked the cases *with* a Slip, they were *not* slower that I could see 12:39
but also: make install fails with that patch, not sure why yet :-(
atm I was more focussed on working on Telemetry pod and the P6W 12:40
so, please run with my code if you want
timotimo interesting. the first thing finddispatcher does is "frame_force_to_heap" 12:42
i wonder what other operations cause that
MasterDuke benchable6: compare HEAD use nqp; sub a(\a, \b) { my \in := nqp::p6argvmarray; nqp::p6bindattrinvres(nqp::create(List),List,'$!reified',in) }; a($_, $_) for ^1000000 ||| use nqp; sub b(\a, \b) { nqp::p6bindattrinvres(nqp::create(List),List,'$!reified',nqp::list(a,b)) }; b($_, $_) for ^1000000 12:43
benchable6 MasterDuke, starting to benchmark the 1 given commit
MasterDuke, gist.github.com/88a69ba870c1259ccf...d2acea44f4
AlexDaniel not sure if these measurements are reasonable because the server is kinda out of ram… 12:44
timotimo huh leaves from ipv6, returns with ipv4?
AlexDaniel cycled a few bots to free some…
MasterDuke i see similar numbers locally
AlexDaniel timotimo: it's randomized to go over 10 connections per ip freenode limit :) 12:45
timotimo ah
AlexDaniel :D
timotimo well, we could ask for increased limit for our bots
AlexDaniel actually it's better to merge this: github.com/MoarVM/MoarVM/pull/659
it kinda slipped through the cracks but I hope the PR still works if conflicts are resolved 12:46
MasterDuke huh, `git apply` is failing with `error: unrecognized input` on lizmat's patch. `git am` fails with `Patch format detection failed.` 12:50
timotimo that's a two-stage diff 12:52
it has multiple - and + at the beginning
teatime it could be a left-handed patch, but chances are it's just metric. 12:53
timotimo i'd just throw out one column, and one of the extra - entries in the diff headers and such 12:55
no, actually
i'd block-select and copy-paste %)
lizmat MasterDuke: updated the gist from a real "git diff" (was a "git show stash@{0} before)
MasterDuke: pretty sure that applies cleanly 12:56
MasterDuke ah, cool
lizmat sorry for the confusion :-(
MasterDuke no worries 12:57
tbrowder AlexDaniel: i just discovered a subtle bug in the config continuation situation: leaving a blank line after the config portion and before the first table row seems to make config continuation work. i think i know the place in the grammar that causes that! 13:53
AlexDaniel meh… closing an issue without resolving anything… don't do that. 14:09
if it belongs elsewhere just move it 14:10
tbrowder don’t worry, one prob at a time 14:20
just working on tests and discovered why continuation happened to work sometimes and not others 14:21
AlexDaniel that wasn't related to you :)
tbrowder but it does apply anyway :) 14:22
gotta do Christmas stuff... 14:23
|Tux| Rakudo version 2017.11-131-g3f90f663b - MoarVM version 2017.11-48-g0b9f8090a
csv-ip5xs1.068 - 1.076
csv-ip5xs-2012.690 - 13.088
csv-parser12.090 - 12.141
csv-test-xs-200.470 - 0.481
test11.333 - 11.535
test-t2.905 - 2.907
test-t --race1.222 - 1.313
test-t-2051.822 - 52.664
test-t-20 --race17.582 - 18.059
14:44
(as the system was now very idle)
lizmat dinner& 16:20
Geth nqp: 8351167da1 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/MultiCacheInstance.java
[jvm] Boost size of multi-dispatch cache

This copies what was done for (old multi-dispatch cache of) MoarVM with
  github.com/MoarVM/MoarVM/commit/99bf383cb1
17:33
nqp: 567f6568f1 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/MultiCacheInstance.java
[jvm] Avoid multi-dispatch errors

The old code didn't check whether containers are writable.
Also it looks like the flags for native and non native containers of the same base type were identical.
Fixes some tests in roast (in S03-operators/autoincrement.t, S03-operators/increment.t and S06-multi/by-trait.t).
lizmat AlexDaniel: I seem to have misplaced the link to the ticket overview generator / wiki / site :-( 20:27
AlexDaniel what do you mean?
reportable6: list 20:28
reportable6 AlexDaniel, gist.github.com/bb1d2f866175eaf3b8...1d988b788a
lizmat AlexDaniel: that's not really something linkable for the P6W ?
AlexDaniel reportable6: 2017-12-11T00:00:00Z 2017-12-18T00:00:00Z
reportable6 AlexDaniel, OK, working on it! This may take up to 40 seconds
AlexDaniel lizmat: we should link this I think: github.com/rakudo/rakudo/wiki/Ticket-updates 20:29
reportable6 AlexDaniel, gist.github.com/2313f13e789ae400f5...f41ef60f4e
lizmat yup, that's the one
AlexDaniel and that's ↑ for the last week
lizmat it gets added automatically ? 20:30
AlexDaniel not yet :) Just added it manually now 20:31
lizmat ack...
lizmat was about to as well, but was beaten to it 20:32
AlexDaniel reportable6: weekly
reportable6 AlexDaniel, You can implement this feature if you need it :) (meanwhile try to be more specific by using 「list」 command)
AlexDaniel 🖕 reportable6 20:33
github.com/perl6/whateverable/issues/268 20:37
and there we have it, whateverable reached 200 open tickets :) 20:38
AlexDaniel looks at his message… stoprobotabuse.com/ ? :) 20:44
“Many people think this is OK since there is no physical harm involved. Nonetheless this behavior will develop trust issues in robots and inhibits their normal healthy development.” :) 20:46
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/12/18/...rty-years/ 20:59
bartolin lizmat++ thanks for yet another good weekly! also: have the appropriate amount of fun while celebrating 21:08
perlpilot lizmat++ indeed 21:18
lizmat: btw, someone turned me on to github.com/allisonrandal/gunie today. I don't know if you're aware of it. You may have mentioned it in a weekly before and I just forgot about it though 21:21
lizmat actually I didn't, but the last commit is already 4 months ago :-( 21:22
I guess it's done? ":-) 21:23
I'll keep it for next weeks... as it's not really evolving at the moment
masak lizmat++ # weekly 21:28
masak opened up www.nntp.perl.org/group/perl.perl6...g4633.html half-expecting it to be a tricky problem involving macros -- fortunately it wasn't 21:35
perlpilot lizmat: FSVO "done". It looks like it just makes a syntax tree and doesn't *really* implement Perl 1.0, but it might inspire others to play or take it all the way to a full implementation 21:37
(or implement Perl 1.0 in Perl 6 ;-) 21:38
lizmat I'd rather implement perl 5 in perl 6 :-) 21:41
would be a bit more useful 21:42
lizmat goes off celebrating& 21:43