Zoffix | "* ugexe uses sublime 3" | 01:03 | |
ugexe: does it work fine with Perl 6? | |||
Last I tried sublime 2, the highlighting was totally broken | |||
samcv: "but i didn't want to mess up zoffix's automated thingy"... I think my automated thingy is pretty unmessable, so go ahead and do whatever you want :) | 01:04 | ||
samcv: the code for it is in the repo BTW: github.com/perl6/ecosystem/blob/ma...ls/meta.p6 | 01:06 | ||
ugexe | I use the ModernPerl highlighter and yeah its still broken, but not for anything i ever reach for so it hasnt bothered me yet | 01:25 | |
Zoffix will probably reach the broken parts often considering I occasionally reach those with Atom's highlighter too | 01:26 | ||
MasterDuke_ | another question about bind_one_param, can i tell if it's being called for a sub vs method? | 03:43 | |
[Tux] | This is Rakudo version 2017.04.3-71-gaa23a91fb built on MoarVM version 2017.04-44-gf0db8822 | 06:01 | |
csv-ip5xs 3.101 | |||
test 13.365 | |||
test-t 5.121 - 5.425 | |||
csv-parser 14.323 | |||
nine | timotimo: I'm probably biased, but to me the "Distro packages" link makes it look like nxadm's scripts are the only way to get at distro packages, when there are up to date packages for at least Debian and openSUSE. | 09:45 | |
Geth | rakudo/nom: 8928fb0fe1 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Fix incorrect comment |
09:46 | |
timotimo | nine: good point, i threw it out | 09:55 | |
Zoffix | buggable: speed 10 | 09:56 | |
buggable | Zoffix, āāāāāāāāāā data for 2017-04-24ā2017-04-28; range: 4.996sā5.425s; 5% slower | ||
Zoffix | buggable: speed 30 | ||
buggable | Zoffix, āāāāāāāāāāāāāāāāāāāā āāāāāāāāāā data for 2017-04-15ā2017-04-28; range: 4.994sā5.479s; 8% slower | ||
Zoffix wonders what's going on with test-t bench :/ | |||
buggable: speed 50 | |||
buggable | Zoffix, āāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāā ā ā āāā āāā āāāāāāā data for 2017-04-07ā2017-04-28; range: 4.921sā5.479s; 9% slower | ||
Zoffix | buggable: speed 199 | ||
buggable | Zoffix, Refusing to do more than 100 last entries | ||
Zoffix | buggable: speed 100 | ||
buggable | Zoffix, āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā data for 2017-03-14ā2017-04-28; range: 4.829sā7.664s; 10% slower | ||
Zoffix | buggable: speed 80 | 09:57 | |
buggable | Zoffix, āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā data for 2017-03-22ā2017-04-28; range: 4.829sā6.637s; 9% slower | ||
Zoffix | Maybe the bugfixes.... | 09:59 | |
.ask MasterDuke_ do you still have your improved messages for "Invocant requires instance" exceptions? Can you start REPL and then exit it via CTRL+D. What method call triggers the "expected instance of IO::Handle" error? | 10:25 | ||
yoleaux | Zoffix: I'll pass your message to MasterDuke_. | ||
Zoffix | grrr | 10:34 | |
Wasted 40 minutes on a stupid error | |||
Still didn't track it down | |||
And .backtrace.Str is empty apparently | |||
And --ll-exception does nothing | 10:35 | ||
lizmat | :-( | 10:38 | |
Zoffix | gah, found it! | 10:40 | |
The get() call | |||
.tell MasterDuke_ nevermind; located the culprit | |||
yoleaux | Zoffix: I'll pass your message to MasterDuke_. | ||
Geth | rakudo/nom: 44893e6a56 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make (+) a multi Start of optimization work on (+) |
11:07 | |
rakudo/nom: 7c53183516 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm Add R:I.ADD-SET-TO-BAG worker method To be used for Setty (+) Setty in various places. |
|||
Zoffix | .ask AlexDaniel how to bisect without RESTRICTED mode? I need to bisect $ = run($*EXECUTABLE, "-e", "get", :in).in.close | 11:09 | |
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
Zoffix | Looking at code, this bug has been there for like 2 years :| wonder how it went unnoticed for so long | 11:10 | |
.ask AlexDaniel and this one too: $ = run($*EXECUTABLE, :in).in.close | 11:11 | ||
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
timotimo | Zoffix: i'm working on a hack to let you do that :) | 11:12 | |
Zoffix | Ah, I was looking at the wrong thing. The bug is 2 months old. | 11:13 | |
Or (now - Mar 7) old | |||
timotimo | are you in the whateverable channel, zoffix? | 11:15 | |
Zoffix | Then another mistery is: how has no one (not even tests?) notice REPL complaining about IO::Handle instance when exiting :/ | ||
timotimo: nope | |||
Ah, OK. Tests at least I see why: they use regex match, not full output check | 11:16 | ||
timotimo | please come over for a little bit | ||
Zoffix | .tell AlexDaniel Never mind; timotimo++ sorted me out | 11:19 | |
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
timotimo | i've shut it down again, but iirc you also have access to the server it runs on? | 11:20 | |
Zoffix | timotimo: yeah. Is it a separate bot? trisectable? | ||
timotimo | Bisectable-but-not-restricted.p6 | ||
Zoffix | Cool. Thanks | ||
timotimo | YW | 11:21 | |
Geth | rakudo/nom: 4b8fd4a4f9 | (Zoffix Znet)++ | src/core/IO/ArgFiles.pm Fix crash on ^D to $*IN when reading with IO::ArgFiles IO::Handle.close wants a :D but in some conditions we set $!io to a type object so that call fails. Fix by checking $!io is True. Fixes whine about IO::Handle incocants in Fallback REPL exit. |
11:27 | |
rakudo/nom: 1456849675 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Setty (+) Setty about 45x faster - with a 100 element Set with itself - give Setty (^) Setty its own candidate written using nqp ops |
11:29 | ||
lizmat | argh, copypasto in last line :-( | 11:30 | |
timotimo | lizmat^^ | ||
lizmat | timotimo?? | ||
timotimo | Zoffix~~ | 11:31 | |
lizmat | sometimes I wish we could create a commit to fix a commit message | ||
timotimo | well, you can forcepush :) | 11:34 | |
we should make something like gmail's "unsend" feature | |||
i.e. it'll pretend you have already sent | |||
but it only actually sends a minute later | |||
so you get the sensation of "oh shit! i just sent something wrong!" with the pleasure of "phew, i could fix it before things went to hell" | 11:35 | ||
jnthn | lizmat: Maybe try to get used to doing "git show" before "git push" :) | 12:12 | |
Geth | rakudo/nom: ccedd6b1e3 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm Add R:I.ADD-MIX-TO-MIX worker method To be used for Mixy (+) Mixy in various places. |
12:22 | |
rakudo/nom: 92df7d5c9a | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Mixy (+) Mixy about 45x faster - with a 100 element Mix with itself - give Mixy (+) Mixy its own candidate written using nqp ops |
|||
Zoffix | TIL about git show :) | 12:26 | |
In fact, the only difference is that I'm wearing pants and my cat isn't staring at me from her cat tree... Though my door locks, so I can rectify at least one of those :P | 12:35 | ||
nine | No, please don't look the cat in! | 12:38 | |
Zoffix | heh | ||
Geth | rakudo/nom: 9e9449e3e8 | (Zoffix Znet)++ | t/02-rakudo/repl.t Test for extraneous output in a REPL session |
12:48 | |
timotimo | that phone looks positively ancient :D | ||
Zoffix | (I know that test file is currently disabled; gonna try to remember to fix it up and enable it on the weekend) | 12:49 | |
Yeah it is :) | 12:50 | ||
timotimo | i'm just trying out plasma, and it's giving me a very wtf thing where i can use alt-1/2/3/4/5/6/7/9/0 to switch to weechat windows | 12:51 | |
but alt-8 does nothing at all | |||
alt-8 would get me to this channel... this is a very important channel :| | |||
Geth | roast: 81170f3a63 | (Zoffix Znet)++ | S16-filehandles/argfiles.t Test ^D with get(IO::ArgFiles) does not crash Rakudo fix: github.com/rakudo/rakudo/commit/4b8fd4a4f9 |
12:57 | |
rakudo/nom: 3dc08553d0 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm Add R:I.ADD-BAG-TO-BAG worker method To be used for Baggy (+) Baggy in various places. |
13:02 | ||
rakudo/nom: ab5cd11b3f | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Baggy (+) Baggy about 50x faster - with a 100 element Bag with itself - give Baggy (+) Baggy its own candidate written using nqp ops |
13:05 | ||
[Coke] yawns. | 13:10 | ||
lizmat looks at an interesting set of molars | 13:13 | ||
MasterDuke_ | Zoffix: fwiw, i get `Method 'close' must be called on an object instance of type 'IO::Handle', not a 'IO::Handle' type object. Did you forget a '.new'?` | 13:17 | |
yoleaux | 10:25Z <Zoffix> MasterDuke_: do you still have your improved messages for "Invocant requires instance" exceptions? Can you start REPL and then exit it via CTRL+D. What method call triggers the "expected instance of IO::Handle" error? | 13:18 | |
10:40Z <Zoffix> MasterDuke_: nevermind; located the culprit | |||
Zoffix | MasterDuke_: thanks. Indeed it was the close :) | ||
MasterDuke_ | going to PR this soon, but it does break some tests in t/spec/S32-exceptions/misc.t and t/spec/S06-signature/types.t that are looking for specific words in a specific sequence | 13:20 | |
it might be possible to add the info i did without breaking the tests, but i reworded the message to something i think is a little better | 13:21 | ||
but i wouldn't say the reworded message is nobel-literature-prize worthy, so don't mind changing if people don't like what i've done | 13:24 | ||
[Coke] | any exception code that's looking for a specific message and not a type should be changable in 6.c-errata | 13:27 | |
Geth | rakudo/nom: 1b0e41f972 | (Zoffix Znet)++ | 2 files Fix REPL crash when $*HOME is not set The .history-file that Linenoise/Readline use uses $*HOME, but it can be unset and defaulted to Nil. Fix by falling back to using $*TMPDIR in those cases. Addresses RT#130456: rt.perl.org/Ticket/Display.html?id=130456 |
||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130456 | ||
lizmat | m: my %h = a => "b"; dd %h.Bag # a bit of a WAT to me | 13:47 | |
camelia | Type check failed in assignment; expected Int but got Str ("b") in block <unit> at <tmp> line 1 |
||
lizmat | m: my %h = a => 42; dd %h.Bag # a bit of a WAT to me | ||
camelia | ("a"=>42).Bag | ||
jnthn | Hm, how so? | 13:51 | |
Possibly the error in the first case could be improved | 13:52 | ||
lizmat | jnthn: I sorta expected Set semantics when coercing to a Bag | ||
so ignoring the value, as it does with the other set operators, set to 1 | 13:53 | ||
jnthn | m: my %b is BagHash; %b<a> = 42; dd %b | 13:54 | |
camelia | ("a"=>42).BagHash | ||
jnthn | That's why I'm not surprised by (and would expect) the current behavior, fwiw | 13:55 | |
Can always say %h.keys.Bag to get the other thing | |||
lizmat | yeah, it was just a bit of a WAT to me | 14:16 | |
Geth | rakudo/nom: a85b654d5a | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Map (+) Map about 2.5x faster - with a 26 element Hash with itself |
14:22 | |
b2gills | Zoffix: I noticed the REPL complaining about IO::Handle instance, it has apparently never bothered me enough to remember to report it | 14:33 | |
Zoffix | heh | 14:36 | |
Geth | rakudo/nom: 514124e3a9 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm Add R:I.ADD-ITERATOR-TO-BAG worker method To be used for Iterable (+) Iterable in various places. |
14:52 | |
rakudo/nom: 6de089334c | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Iterable (+) Iterable about 18x faster - with a 100 element Array with itself - give Iterable (+) Iterable its own candidate written using nqp ops |
|||
lizmat | this concludes the (+) optimizations for now | ||
Geth | rakudo: MasterDuke17++ created pull request #1073: Add method name and received type to type vs instance error |
||
jnthn | lizmat: Nice set of speedups on those :) | 15:07 | |
lizmat | yeah, there's room for more improvement, especially for immutables, but this will do for now :-) | 15:08 | |
ugexe | m: say v1.1 ~~ v1.*.2; # expected? | 15:27 | |
camelia | True | ||
ugexe | not sure what to expect when the Whatever is not the last item | ||
MasterDuke_ | re my PR and tests for messages, i think there are a couple options: | 15:28 | |
1) change the texts and/or order of words the current tests check for | |||
2) change the current tests to just check that they throw and add some message tests in rakudo's t/05-messages/01-errors.t | |||
3) try to convert to typed Exceptions and change the current tests to check for those and add some message tests in rakudo's t/05-messages/01-errors.t | |||
ugexe | seems like currently a Whatever automatically adds a `+` to the end, so 1.*.2 -> 1.0.2+ which ACCEPTS v1.1 | 15:31 | |
MasterDuke_ | these are the failing tests: github.com/perl6/roast/blob/master....t#L40-L48 and github.com/perl6/roast/blob/master...#L795-L798 | 15:33 | |
Geth | rakudo/nom: ba3cf4e5b4 | (Timo Paulssen)++ | lib/Test.pm6 "like" shall not crash the script when a non-Str is passed for example, when you were like `@things[2]` and there weren't enough items. also, the "hack to deal with failures" was never going to work, as Failure can't get passed to a Str parameter |
15:39 | |
rakudo/nom: 9cb26c0927 | (Elizabeth Mattijsen)++ | 11 files Remove unnecessary saving of nqp::iterator values You can use the iterator value itself after an nqp::shift. |
15:50 | ||
Zoffix votes options 3 | 16:09 | ||
m: try Str.contains: 42; say $!.^name | 16:10 | ||
camelia | X::Multi::NoMatch | ||
Zoffix | m: try IO::Handle.close; say $!.^name | ||
camelia | X::AdHoc | ||
Zoffix | yeah, adhocs are ewwy | ||
m: ((1, 2).Seq, (3, 4).Seq).sort({$^b[0] <=> $^a[0]}).say | 16:56 | ||
camelia | ((3 4) (1 2)) | ||
Zoffix | m: ((1, 2).Seq, (3, 4).Seq).sort({$^b[0] <=> $^a[0]}).perl.say | ||
camelia | (Seq.new-consumed(), Seq.new-consumed()).Seq | ||
Zoffix doesn't get how it's unconsumed in one case but is consumed in another | |||
m: ((1, 2).Seq, (3, 4).Seq).sort({$^b[0] <=> $^a[0]}).cache.perl.say | 16:58 | ||
camelia | (Seq.new-consumed(), Seq.new-consumed()) | ||
Zoffix | m: use nqp; my $s := ((1, 2).Seq, (3, 4).Seq).sort({$^b[0] <=> $^a[0]})[0]; dd nqp::getattr($s, Seq, '$!iter').DEFINITE | 17:06 | |
camelia | Bool::False | ||
Zoffix | c' | 17:07 | |
c'mon, bug... I'm gonna find you. No point in hiding! | 17:08 | ||
Zoffix tries a thing | 17:11 | ||
Ohh yes | 17:20 | ||
A juicy 1-year old bugglet. | 17:21 | ||
ZofBot: yummy, yummy! | |||
ZofBot | Zoffix, more like, what are those 383 about? | ||
Zoffix | ZofBot: that's my stash for the rainy day! Stay out of it! | ||
ZofBot | Zoffix, ) The default "BUILD" semantics are inherited from "Mu", so you need to write initialization routines only if you wish to modify the default behavior | ||
Zoffix | ZOFFLAP: t/spec/S11-modules/require.t | 17:22 | |
I mean | 17:23 | ||
ZOFFLOP: t/spec/S11-modules/require.t | |||
ZOFFLOP: t/spec/S11-modules/nested.t | |||
Also: | |||
ZOFFLOP: t/spec/S32-io/indir.t # reported yesterday; still to see what's up with it | 17:24 | ||
Geth | rakudo/nom: 54f50956ad | (Zoffix Znet)++ | src/core/Seq.pm Fix Seq.perl for cached Seqs The conditional checking whether Seq is consumed is phrased incorrectly and erroneously declares as consumed Seqs that no longer have $!iter, but do have a cache in $!list. Fixes RT#131222: rt.perl.org/Ticket/Display.html?id=131222 |
17:34 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131222 | ||
japhb | Zoffix: Idea for the 'buggable: speed' sparkline: 1. Calc mean and standard deviation 2. Replace every entry that is more than e.g. 2 deviations from the mean with an arrow such as ā/ā (U+2191 and U+2193). 3. Recalculate the displayed range to only include the values that are <= 2 deviations from the mean, and scale the unicode bars appropriately. # This should keep outliers from flattening all the other values, while still highlighting them in a useful | 17:35 | |
Geth | roast: 7d4092d940 | (Zoffix Znet)++ | S32-list/seq.t Test Seq.perl works on cached Seqs RT#131222: rt.perl.org/Ticket/Display.html?id=131222 Rakudo fix: github.com/rakudo/rakudo/commit/54f50956ad |
17:36 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131222 | ||
Zoffix | japhb: awesome! Can't wait to merge the PR :P | ||
buggable: speed | |||
buggable | Zoffix, āāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāā ā ā āāā āāā āāāāāāā data for 2017-04-07ā2017-04-28; range: 4.921sā5.479s; 9% slower | ||
Zoffix | +/-2SD is like ~97% of data innit? Will it really help much? | 17:37 | |
japhb | Zoffix: Happy to. Buggable doesn't appear to be in whateverable ... where is it? | ||
Zoffix | buggable: source | 17:38 | |
buggable | Zoffix, See: github.com/zoffixznet/perl6-buggable | ||
Zoffix | japhb: specifically this: github.com/zoffixznet/perl6-buggab.../Speed.pm6 | ||
japhb | Zoffix: Yes, if the data was normally distributed. But it's not. We're just (ab)using the calculation to find outliers. | ||
Zoffix | japhb: you can probably just run that module by itself on command line and feed it Strs to methods | ||
japhb: ah right! | 17:39 | ||
japhb | Zoffix: Ah, good thinking | ||
Zoffix & | 17:43 | ||
timotimo | that is not where i expected that bug to be there | 17:46 | |
lizmat | m: class A { ... }; method A::foo() { "foo" }; class A { }; dd A.foo # bug or case of DIHWIDT ? | 18:06 | |
camelia | Potential difficulties: Useless declaration of a has-scoped method in mainline (did you mean 'my method A::foo'?) at <tmp>:1 ------> 3class A { ... }; method7ā5 A::foo() { "foo" }; class A { }; dd A.f No such method 'foo' for inā¦ |
||
lizmat | m: class A { ... }; my method A::foo() { "foo" }; class A { }; dd A.foo # no warning | ||
camelia | No such method 'foo' for invocant of type 'A' in block <unit> at <tmp> line 1 |
||
lizmat | m: class A { ... }; my method A::foo() { "foo" }; class A { }; dd A.foo # no warning | ||
camelia | No such method 'foo' for invocant of type 'A' in block <unit> at <tmp> line 1 |
||
lizmat | m: class A { ... }; our method A::foo() { "foo" }; class A { }; dd A.foo # our doesn't help either | 18:07 | |
camelia | No such method 'foo' for invocant of type 'A' in block <unit> at <tmp> line 1 |
||
Zoffix thinks it'd be weird if you could augment a class just by declaring a method elsewhere... | 18:54 | ||
There is a ticket that also references a discussion on this topic vis-a-vis doing this sort of stuff but looks like for a package var/sub; not a class's method: rt.perl.org/Ticket/Display.html?id...et-history | 18:55 | ||
geekosaur votes for DIHWIDT; if someone is trying to emulate perl 5 behavior, that's because perl 5 "OO" was a hack using package scoped subs as methods | 18:59 | ||
and yes, it'd be weird and bad if defining a package-scope sub did an "augment", especially without a MONKEY | 19:00 | ||
jnthn | Indeed. In Perl 6, method dispatch doesn't look at the contents of packages or lexpads, only in the meta-object | 19:05 | |
my blah A::foo means the A is lexically visible | 19:06 | ||
The foo will be our-scoped within A because there's nothing else it could be :) | |||
lizmat | jnthn: note this was a method | 19:08 | |
jnthn | That's irrelevant. | ||
lizmat | anyways, DIHWIDT it is :-) | ||
maybe it shouldn't be silent, though :-) | |||
jnthn | Once you stick a my or our on the thing, it's just a Method code object that's getting put into the lexpad or package | ||
Which is OK if you wanted to do it, but isn't a way to get something into the method dispatch table that the .foo calling syntax will care about. | 19:09 | ||
I'd count it as "unusual to want to do, but an unusual thing to do by accident" :) | 19:10 | ||
Well, I guess depending where you're coming from :) | |||
Geth | rakudo/nom: 39ede87d1c | (Elizabeth Mattijsen)++ | 2 files Move %*ENV initialization logic to R:I |
||
geekosaur | again, it makes sense as a p5-ism | 19:15 | |
Geth | rakudo/nom: d3e8c82dc2 | (Elizabeth Mattijsen)++ | src/core/Env.pm Implement %?ENV for the core setting This may need some more thought. I thought this was specced, but apparently it isn't. Anyways, this will probably need to be done to any package being precomped. Hence the move of the initialization logic to R:I. Please revert if this is deemed a bad idea. |
19:16 | |
timotimo | oh, so this gives you the env at precompilation time? | ||
lizmat | well, currently at core setting build time | ||
timotimo | oh, "for the core setting" | 19:26 | |
i didn't read that | |||
lizmat | timotimo: yeah, we would need to stick it in the package of a precomped module before writing to disk :-) | 19:30 | |
timotimo | fortunately we can easily serialize hashes now | 19:32 | |
lizmat | yes, exactly :-) | ||
Geth | star: 5a5c84d432 | (Steve Mynott)++ | tools/star/Makefile bump moar to 2017.04-53-g66c6dda to fix old GCC systems like Centos 6 and OpenBSD |
19:42 | |
stmuk_ | pl6anet.org/drop/rakudo-star-2017.04-RC1.tar.gz | 19:45 | |
MasterDuke_ | anybody have a suggestion for what typed Exception(s) to use for my PR? | 19:55 | |
timotimo | X::No | 19:56 | |
MasterDuke_ | heh. i'll do the easy part of adding them, but am hoping to shift the blame for naming them | 19:58 | |
timotimo | good idea | ||
Zoffix | X::NotInstance | 20:03 | |
X::NeedInstance | |||
or I guess X::Parameter::NotInstance | 20:06 | ||
we have ::InvalidType, so maybe ::InvalidDefinetness or something more pronounceable | 20:07 | ||
lizmat | do we have a quick way of resetting an nqp::hash (aka deleting all the keys) ? | 20:09 | |
Zoffix | m: class { has Str:D $.foo }.new | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable definition of type Str:D requires an initializer at <tmp>:1 ------> 3class { has Str:D $.foo 7ā5}.new |
||
MasterDuke_ | ::InvalidConcreteness ? | 20:18 | |
Zoffix | Do we use concreteness as term? | 20:19 | |
MasterDuke_ | nqp::isconcrete is in the if there | ||
"concrete" is in the rakudo source some | 20:20 | ||
timotimo | "instantiatedness" is not better :) | 20:21 | |
MasterDuke_ | also, aside from typed exceptions, what about my modifications to the language in the message? any comments/suggestions? | 20:22 | |
Geth | rakudo/nom: 48ce87011f | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make (.) a multi Start of optimization work on (.) |
20:47 | |
rakudo/nom: afd24a881d | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm Add R:I.MULTIPLY-SET-TO-BAG worker method To be used for Setty (.) Setty in various places. |
|||
rakudo/nom: 1562da070d | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Setty (.) Setty about 35x faster - with a 100 element Set with itself - give Setty (.) Setty its own candidate written using nqp ops |
|||
Zoffix | m: (try require JSON::Fast <&to-json>) === Nil and &to-json = sub { Rakudo::Internals::JSON.to-json($^a); }; dd to-json 42 | 21:01 | |
camelia | "42" | ||
Zoffix wishes Rakudo::Interanls.*json were unavailable to users so people would not abusedly use it :\ | 21:02 | ||
[Coke] | (in general, when adding exceptions, use more generic exception types and add the deets in the message) | 21:03 | |
MasterDuke_ | [Coke]: there's a continuum though, since what i'm replacing is in fact the most generic exception with all the details in the message | 21:07 | |
[Coke] | Sure, of course. | 21:13 | |
unfortunately, the list of exceptions was grown organically, I suspect we'll have to be more rigorous in .d, and .e | |||
MasterDuke_ | yep. i'm currently working on X::InvalidConcreteness, but am still open to suggestions | 21:16 | |
Zoffix | Is it just for params tho? | ||
We have a bunch of X::Param::* exceptions | |||
MasterDuke_ | and invocant | ||
Zoffix | invocant is a param | ||
I'm eating the weirdest ice-cream: chocolate, in a jello-like banana flavoured coating :S | 21:18 | ||
MasterDuke_ | sure, technically, but do most people think of it as one? | ||
Zoffix does | |||
MasterDuke_ | or are you suggesting X::Param::InvalidConcreteness? | ||
Zoffix | Yeah | ||
X::Param::SomethingOrOther | |||
MasterDuke_ | that's an easy change | ||
Zoffix | Should Seq.Capture .cache the stuff? | 21:19 | |
Zoffix leans towards "no" and tries it out | 21:20 | ||
ugh | 21:31 | ||
Note to self: CTRL+V into GitHub editor when an image in your copy-paste buffer automatically uploads it :S | |||
timotimo | yes, indeed :| | 21:32 | |
wonder if it gets deleted when you throw out the reference from the text box | |||
Zoffix | Sounds nifty.... Unless you find it out by accident and your screenshot contains data you rather not share with the world :/ | ||
timotimo | yeah | 21:33 | |
a userscript could be made | |||
Geth | roast: 15806c4d46 | (Zoffix Znet)++ | S32-list/seq.t Remove trailing whitespace |
21:37 | |
Zoffix now notices the taking-forever fudger TimToady mentioned before | 21:42 | ||
japhb | Zoffix: Finally popped enough $work off my stack to send you a Buggable PR | 21:44 | |
timotimo | what, autounfudge? | 21:45 | |
Zoffix | timotimo: no, the fudger that runs when you run `make stresstest` | 21:46 | |
timotimo | oh | ||
Zoffix | takes like... 7-10 s | ||
timotimo | i'm not sure i know about that | ||
Zoffix | Used to be faster | ||
ZOFVM: Files=1242, Tests=133834, 124 wallclock secs (24.72 usr 3.45 sys + 2592.86 cusr 144.62 csys = 2765.65 CPU) | 21:49 | ||
Geth | rakudo/nom: 98e137b1fe | (Zoffix Znet)++ | src/core/Seq.pm Implement Seq.Capture So users could unpack Seqs into stuff. Fixes issue mentioned in comments in RT#131222: rt.perl.org/Ticket/Display.html?id...xn-1458022 |
21:51 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=131222 | ||
roast: b218a1ac01 | (Zoffix Znet)++ | S32-list/seq.t Test Seq.Capture Rakudo fix: github.com/rakudo/rakudo/commit/98e137b1fe |
21:52 | ||
lizmat | good night, #perl6-dev! | 22:02 | |
samcv | night lizmat | 22:04 | |
MasterDuke_ | o/ | ||
japhb | Night, lizmat! | ||
samcv | also guys. should `author` be an allowed key in META6.json. it's not in the spec | ||
`authors` is which is a list. but many commonly use `author` instead. should we change the spec or bring modules into compliance with the spec | |||
Zoffix | night | ||
samcv: IMO yes | 22:05 | ||
samcv | which one | ||
Zoffix | oh | ||
samcv | ask an OR question and get yes as the response :P | ||
Zoffix thinks more and withdraws the yes | |||
jnthn | I had and maybe still have modules with "author" instead of "authors" | 22:06 | |
samcv | imo i think we shouldn't have redundant fields | ||
you have many jnthn :) | |||
jnthn | And tbh I really can't be bothered with fixing that. :P | ||
Zoffix | samcv: I'm gonna go with "Having aut | ||
ugexe | author is required for backcompat | ||
Zoffix | gah | ||
samcv | is it? | ||
Zoffix | samcv: I'm gonna go with "having `authors` and bring to back compat" | 22:07 | |
ugexe: is this stuff even tested? I thought META wasn't tested at all | |||
samcv | with older rakudo? | ||
most modules only have "authors" | |||
ugexe | its not, but we still made sure we didn't break any existing modules that are installed when we did the s22/distribution PRs | ||
jnthn | What is used to determine the auth? | 22:08 | |
ugexe | the old Distribution defined `auth` as $!auth // $!author // $!authority | ||
samcv | ok. but the question is. should 'author' be in the spec? or be not specced | ||
and the people be told to use 'authors' instead | |||
that's the question. i'm not saying to remove support for it from anything that allows it to exist | |||
that's a different issue from what the standard should be imo | |||
ugexe | right | 22:09 | |
Zoffix | samcv: my reasoning is: `author` is nice, but a string value goes with it, not an array. So then we just add more confusion: which value is right with which key. And if we just alias the keys and accept weird stuff like `"authors": "Zoffix" / "author" : ["Zoffix"]` then all the tools need to be taught to handle all those combinations, so natural outcome is to just have `authors` that takes an array | ||
samcv | yeah | ||
that's much easier | |||
ugexe | i use 'owner' in my stuff... originally i considered auth to be `$owner + $content_storage` (which aren't specced in s22 but mentioend) | 22:10 | |
but really auth should just be its own thing, so no real need for owner/author i suppose | |||
samcv | owner is kind of vague. own what? copyright? the repo? idk. | ||
Zoffix still isn't sure what ends up being the `auth` | |||
samcv | but 'creator' would be ok for me instead of 'author' | ||
errr i mean | |||
ugexe | you owned the urn | ||
jnthn | I'd presumed the author I was filling out in META6.json was the auth :) | ||
samcv | creator instead of owner | ||
ugexe | owner:service | 22:11 | |
Zoffix | jnthn: but what about multiple authors? | ||
ugexe | ugexe:github | ||
Zoffix | Like 20-40 authors. Some Perl 5 modules have that many listed | ||
Fun to make that an `auth` :P | |||
jnthn | Right, which is why there's probably two separate things needed here | 22:12 | |
samcv | heh | ||
Zoffix | Yeah, agreed | ||
jnthn | authors which is just a list of people who contributed for...whatever purpose :) | ||
samcv | auth = authorization right? | ||
ugexe | authority | ||
jnthn | samcv: It's deliberately ambiguous between author and authority | ||
Zoffix | { "authors" : [ "Zoffix Znet", "NeuralAnomaly" ], "auth": "github:perl6" } | ||
lizmat | agree, "auth" is immutable for a distribution, "authors" isn't | ||
samcv | yeah that | ||
lizmat | really sleep& | ||
samcv | authority and authorization are the same uh. thingy | ||
authority authorizes etc. | 22:13 | ||
ugexe | authorization does not take place | ||
it could i guess | |||
but thats something for the recommendation managers / content storages to handle | |||
samcv | well in the future.. | ||
yeah | |||
check the auth is the same as where it got it from | |||
ugexe | no | 22:14 | |
samcv | no? | ||
ugexe | auth has no relation to where it comes from | ||
coincidently it almost always is, but thats not its purpose | |||
samcv | so it's not meant to have any verification? | ||
ugexe | no, a recommendation manager / content storage could build in verification for uploads though | 22:15 | |
samcv | yes | ||
for sure | |||
ugexe | but if i have Foo::Bar:ver<1>:auth<XXX> and upload that to the ecosystem, cpan, and SomeOtherService it should retain its identity across them | 22:16 | |
samcv | i agree | ||
ugexe | fwiw I don't think authors even got saved pre 2017.07 or so (before s22 PR) | 22:22 | |
(when being installed) | |||
er 2016.07 | 22:23 | ||
Geth | rakudo/nom: 5e74017d60 | (Zoffix Znet)++ | src/core/QuantHash.pm Implement QuantHash.Capture So users could unpack all the QuantHashes into stuff |
||
roast: da28f4dc6f | (Zoffix Znet)++ | S02-types/keyhash.t Test QuantHash.Capture Rakudo impl: github.com/rakudo/rakudo/commit/5e74017d60 |
22:24 | ||
Zoffix | 2015.07 maybe? | 22:25 | |
I don't recall any S22 PRs, but I do remember there being S22 badge on ecosystem site for complying with latest S22 spec when I came to Perl 6 | |||
ugexe | that was complying with panda spec | 22:31 | |
github.com/rakudo/rakudo/pull/729 | 22:32 | ||
Zoffix | Ah. cool | 22:37 | |
buggable: speed | 22:57 | ||
buggable | Zoffix, āāāāāāāāāāāāāāāāāāāāāāāāāāāāā āāāā āā ā ā ā āāā āā ā āāāāāā data for 2017-04-07ā2017-04-28; range: 4.921sā5.479s; 9% slower | ||
Zoffix | neat | ||
buggable: speed 80 | |||
buggable | Zoffix, āāāāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāāāāā ā āāāāāāāāāāāāāāā āāāā āā ā ā ā āāā āā ā āāāāāā data for 2017-03-22ā2017-04-28; range: 4.829sā6.637s; 9% slower | ||
Zoffix | Zoffix, āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā data for 2017-03-22ā2017-04-28; range: 4.829sā6.637s; 9% slower | ||
japhb++ nice one | 22:58 | ||
japhb | Zoffix: Thought you might like that. :-) | ||
timotimo | like what? what did i miss? :( | 23:11 | |
japhb | timotimo: Note the difference between the last buggable that Zoffix requested, and the old output from the same query he pasted just below. | 23:12 | |
timotimo | oh, it has little arrows now? | 23:13 | |
japhb | timotimo: The new code handles outliers better, so one large value doesn't cause the rest of the range to get all compressed. | ||
timotimo | cool! | ||
japhb | The arrows indicate outlying values in the arrow direction. :-) | ||
timotimo | fant4stic | 23:15 | |
MasterDuke_ | this has been a very broken-up coding session, how bad is this code? gist.github.com/MasterDuke17/ff704...6ca0d7cbbe | 23:31 | |
timotimo | oh, you have nothing for the case where a parameter might be anonymous | 23:35 | |
MasterDuke_ | think it should be handled in the exception? | 23:36 | |
timotimo | do you think we can get the index of the parameter? | ||
so it could either be a string with the name or an int with the index? | |||
and based on the type it'd say "anonymous parameter number $foo" or "parameter '$param'" | 23:37 | ||
not sure if it'd help a lot | |||
also, anything about subsignatures? | |||
MasterDuke_ | what about them? | ||
timotimo | maybe it'd be a good idea to split param vs invocant | ||
well, it could point out that it's not the parameter of the routine directly but from a subsignature | |||
i think i'll go to bed now | 23:38 | ||
have a good one! | |||
MasterDuke_ | split them more than this? `my $beginning = $!param-is-invocant ?? 'Invocant of method' !! "Parameter '$!param' of routine";` | ||
timotimo | yeah | 23:39 | |
have others weigh in on this before accepting my suggestion please :) | |||
MasterDuke_ | heh, sure. later... |