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] |
|
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| |
|
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 |