Geth | tap-harness6: samcv++ created pull request #13: Use SPDX identifier in license field of META6.json |
00:46 | |
samcv | PR for everyone! | 00:47 | |
it's like christmas! | |||
MasterDuke_ | .ask timotimo i'm trying to work on RT #118555 (typed optional array parameters not working), but have hit a roadblock. some comments here: irclog.perlgeek.de/perl6-dev/2017-...i_14485206 . any suggestions? | 02:38 | |
yoleaux | MasterDuke_: I'll pass your message to timotimo. | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=118555 | 02:39 | |
MasterDuke_ | .ask lizmat i'm trying to work on RT #118555 (typed optional array parameters not working), but have hit a roadblock. some comments here: irclog.perlgeek.de/perl6-dev/2017-...i_14485206 . any suggestions? | ||
yoleaux | MasterDuke_: I'll pass your message to lizmat. | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=118555 | ||
MasterDuke_ | .ask jnthn i'm trying to work on RT #118555 (typed optional array parameters not working), but have hit a roadblock. some comments here: irclog.perlgeek.de/perl6-dev/2017-...i_14485206 . any suggestions? | ||
yoleaux | MasterDuke_: I'll pass your message to jnthn. | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=118555 | ||
MasterDuke_ | .ask TimToady i'm trying to work on RT #118555 (typed optional array parameters not working), but have hit a roadblock. some comments here: irclog.perlgeek.de/perl6-dev/2017-...i_14485206 . any suggestions? | ||
yoleaux | MasterDuke_: I'll pass your message to TimToady. | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=118555 | ||
timotimo | MasterDuke_: i'm not really knowledgable on the fine details of creating types that have parameterization applied to them, whether that's different from the more harmless types we have | 05:51 | |
MasterDuke_: you might have gotten "inconsistent bind result" because we generated code with the fast-path binder that caused a failure (because perhaps you haven't modified the fast-path binder yet? it's called lower_signature or some such) and then your modified code was signaling success and then the binder said "well, something's wrong and i can't be bothered to turn into general AI to fix it for you" | 05:53 | ||
[Tux] | This is Rakudo version 2017.04.3-51-gff4a034dd built on MoarVM version 2017.04-44-gf0db8822 | 06:32 | |
csv-ip5xs 3.020 | |||
test 12.956 | |||
test-t 4.996 - 4.996 | |||
csv-parser 12.956 | |||
Now, *that* is what I would call stable :) | |||
samcv | nice | 06:37 | |
can we do this every time | |||
[Tux] | Error encoding UTF-8 string: could not encode Unicode Surrogate codepoint 56887 (0xDE37) | 06:47 | |
in using utf8-c8 | |||
Error encoding UTF-8 string: could not encode codepoint 1821802 (0x1BCC6A), codepoint out of bounds. Cannot encode higher than 1114111 (0x10FFFF) | 06:48 | ||
Error encoding UTF-8 string: could not encode codepoint 1184858 (0x12145A), codepoint out of bounds. Cannot encode higher than 1114111 (0x10FFFF) | |||
timotimo | it could be argued that for this case, utf8-c8 should also generate synthetics that help us roundtrip | 06:49 | |
nine | I dare say that's the whole point of utf8-c8, isn't it? | ||
[Tux] nods | |||
[Tux] waits for that to be perferct in order to support real-binary (like images) in Text::CSV | 06:50 | ||
timotimo | yeah | ||
[Tux] | FWIW I finally implemented :strict in Text::CSV_XS and Text::CSV | 06:51 | |
If this attribute is set to 1, any row that parses to a different number of fields than the previous row will cause the parser to throw error 2014. | 06:52 | ||
1 ā True in perl6 | |||
[Tux] => $work | 06:54 | ||
dogbert17 | \o | 09:22 | |
can I trick one of you to merge github.com/perl6/nqp/pull/355 or am I supposed to do it myself (I do see a big green merge button...) | 09:37 | ||
samcv | dogbert17, can you change your commit message | 09:41 | |
to actually describe what the fix is for | |||
:) | 09:42 | ||
just some short thing "Fix RT #8888 words words words words" | |||
dogbert17 | You mean on the first line, there are plenty words in the second paragraph | 09:43 | |
nine | dogbert17: yes. Makes it easier for people who write change logs or the weekly | 09:44 | |
samcv | ^ | 09:45 | |
yeah the title/1st line | |||
dogbert17 | Hmm, dunno if my git fu is up to it, do I have to create a new PR or is there a more clever way | ||
samcv | nope | ||
"git commit --amend" | 09:46 | ||
then git push --force | |||
dogbert17 | oh, will try | ||
samcv | if you want to change the date on the commit as well: git commit --amend --date now | ||
by defualt it doesn't change the date and leaves it identical | |||
dogbert17 | do you think I should change the date? | 09:47 | |
nine | no | ||
samcv | not unless you're changing actual code | ||
dogbert17 | which I won't | ||
samcv | or whatever, since it helps github/peolpe looking at it know last time it was modified. yup | ||
dogbert17 | well, the change is now visible on my forked repo, wonder if the PR will be updated automatically | 09:54 | |
nine | dogbert17: it already is, since the PR only points to a repo | 09:55 | |
dogbert17 | cool | ||
Geth | tap-harness6: 57316c2fb9 | (Samantha McVey)++ | META6.json Use SPDX identifier in license field of META6.json Use the standardized identifier for the license field. For more details see design.perl6.org/S22.html#license |
10:09 | |
tap-harness6: 292b8f8419 | (Zoffix Znet)++ (committed using GitHub Web editor) | META6.json Merge pull request #13 from samcv/SPDX-license Use SPDX identifier in license field of META6.json |
|||
dogbert17 | the build checks passed, wohoo | 10:19 | |
Zoffix | . | 10:20 | |
yoleaux | 09:17Z <daxim> Zoffix: please do not forget about nuget/chocolatey specs for vip release | ||
Zoffix | eww | ||
Geth | nqp: c35494d7fb | (Jan-Olof Hendig)++ | src/HLL/Compiler.nqp Fix for RT #130760 - print usage instructions to stderr when an invalid command line option is used Entering an invalid option when invoking nqp or perl6 leads to an error message being printed followed by usage instructions. In both cases this information is written to stdout when it should have been written to stderr. This fix solves the problem for nqp by introducing a flag which tells the code doing the writing which fd to use. In order to fix perl6 a separate Rakudo PR is necessary. That fix will be dependent on this one but it won't break anything even if this fix is reverted, it will just continue to work the way it does today. |
||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130760 | ||
nqp: 745c61dbc0 | niner++ (committed using GitHub Web editor) | src/HLL/Compiler.nqp Merge pull request #355 from dogbert17/fix-for-rt130760 Fix for RT #130760 |
|||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130760 | ||
dogbert17 | nine++ | 10:31 | |
Geth | rakudo: dogbert17++ created pull request #1071: Fix for RT #130760 - print perl6 usage msg to stderr when an invalid ā¦ |
10:52 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130760 | ||
lizmat | dogbert17: so maybe I should bump nqp ? | 10:56 | |
yoleaux | 02:39Z <MasterDuke_> lizmat: i'm trying to work on RT #118555 (typed optional array parameters not working), but have hit a roadblock. some comments here: irclog.perlgeek.de/perl6-dev/2017-...i_14485206 . any suggestions? | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=118555 | ||
dogbert17 | lizmat: to get the most out of the fix yes :) | 10:58 | |
lizmat tests | 11:09 | ||
dogbert17 hides /o\ | 11:10 | ||
Geth | rakudo/nom: 17921bf282 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION Bump NQP to get dogbert17's improvements |
11:25 | |
rakudo/nom: version bump brought these changes: github.com/perl6/nqp/compare/2017....8-g745c61d 2a6d3d1e54 | (Jan-Olof Hendig)++ | src/Perl6/Compiler.nqp Entering an invalid option when invoking nqp or perl6 leads to an error message being printed followed by usage instructions. In both cases this information is written to stdout when it should have been written to stderr. This fix solves the problem for perl6 by introducing a flag which tells the code doing the writing which fd to use. This fix will be dependent on nqp commit 745c61d in order to solve the problem described above. In the absence of the nqp commit nothing will break however, it will just continue to work the way it does today. |
|||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130760 | ||
rakudo/nom: 92a93aa853 | lizmat++ (committed using GitHub Web editor) | src/Perl6/Compiler.nqp Merge pull request #1071 from dogbert17/fix-rt-130760 Fix for RT #130760 - print perl6 usage msg to stderr when an invalid ā¦ |
|||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130760 | ||
dogbert17 | lizmat++ | 11:32 | |
Geth | rakudo/nom: 8b8f66c0d0 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Turn <(^)> into a multi for faster dispatch |
11:47 | |
rakudo/nom: d92a212352 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Setty (^) Setty about 20x faster - with a 100 element Set with itself (worst case) - give Setty (^) Setty its own candidate written using nqp ops |
|||
Zoffix switches META.info swapper to check every 1hr instead of every 30m | 12:04 | ||
hehe. Fixing up one of my Perl 5 modules and release tool tells me some of my modules are out of date and I should update the following: gist.github.com/zoffixznet/3204e9b...826e89954b | 12:17 | ||
All that to release 1 package :} | |||
"If you're seeing this warning, your toolchain is really, really old* and you'll almost certainly have problems installing CPAN modules from this century. But never fear, dear user, for we have the technology to fix this!" | 12:18 | ||
That has a distinct waft of mst-ware :D | |||
wonder how the hell my toolchain is really really old, if I'm using perlbrewed v5.22.1 :/ | 12:20 | ||
Fucking great. Upgrading stuff broke `dzil release` | 12:23 | ||
jnthn | Is the META.info swapper something that means I don't need to manually update the meta list now I've merged a ton of renaming PRs? | 12:24 | |
yoleaux | 02:39Z <MasterDuke_> jnthn: i'm trying to work on RT #118555 (typed optional array parameters not working), but have hit a roadblock. some comments here: irclog.perlgeek.de/perl6-dev/2017-...i_14485206 . any suggestions? | ||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=118555 | ||
Zoffix | jnthn: yup. Look at the last line in #perl6. It swapped them for you | 12:25 | |
jnthn | hah, wow | ||
Nice | |||
I was about to be like, darn, I don't have time to manually do that now, shoulda thought of it before I started merging :) | 12:26 | ||
Zoffix | ZofBot: it's the future! | ||
ZofBot | Zoffix, exception Exegesis A document originally written by "TheDamian", in which he tried to explain the "Apocalypse"s to the common (wo)man | ||
jnthn | (whoever wrote that updating thingy)++ | ||
Probably Zoffix++ :) | |||
Zoffix | :) | ||
MasterDuke_ | jnthn: got time for a question about typed optional array parameters? | 12:29 | |
jnthn | 'friad not | ||
(Got language class soon) | 12:30 | ||
Should have later on today though :) | |||
MasterDuke_ | no worries, i'll ping again later if haven't figured it out by then | ||
jnthn | Alright | ||
Geth | rakudo/nom: 4e37e7c563 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make sure Setty (^) Setty always returns a Set Before, in some cases, it would return a SetHash if a SetHash was given. |
12:37 | |
rakudo/nom: 9f0b1218f3 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Mixy (^) Mixy about 150x faster - with a 100 element Mix with itself (worst case) - give Mixy (^) Mixy its own candidate written using nqp ops |
12:39 | ||
nine | # 1 lines longer than coding standard limit (100 columns): | 13:15 | |
oops, wrong channel | |||
Zoffix wonders when did the "coding standard" became 100 columns | |||
nine | That was output of a failing test in a $work project | 13:17 | |
Zoffix | Ah | ||
nine | I actually enjoy not having to stick to that strict rule in rakudo code. I just don't enjoy having to read the resulting code ;) | 13:18 | |
Zoffix | m: use nqp; sub (+args) { dd nqp::atpos(nqp::p6argvmarray, 0) =:= Empty }(Empty) | 13:19 | |
camelia | Bool::True | ||
Zoffix | I think I finally came up with the solution that plagues chained andthen/orelse | ||
Or at least, I thought up a lead to follow to try and fix it | |||
dogbert17 | Zoffix: so the rest is over? | 13:37 | |
Zoffix | Nope, still resting. | ||
dogbert17 | how was the game with this 'Hung lo' character or whatever his name was? | 13:38 | |
Zoffix | Well-made, lots of lowbrow humour, but I've read some reviews and seems like it'll get old fast. Levels are procedurally generated and the story is poor. | 13:41 | |
Zoffix wants Far Cry 5 :/ | 13:42 | ||
MasterDuke_ | i loved the original shadow warrior, and have the the first new one, but haven't gotten to play it yet | 13:44 | |
the trio of low-brow humor Build engine games (duke nukem, shadow warrior, and redneck rampage) were all surprisingly good | 13:45 | ||
Geth | rakudo/nom: bea8ac6890 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Fix problem with Mixy (^) Mixy not caught by spectest |
13:50 | |
Zoffix | m: my Int @a = 1 .. Inf; | 13:51 | |
camelia | ( no output ) | ||
Geth | rakudo/nom: ee45936017 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Baggy (^) Baggy about 150x faster - with a 100 element Bag with itself (worst case) - give Baggy (^) Baggy its own candidate written using nqp ops |
||
Zoffix | This isn't really wrong, eh? | ||
Zoffix | You can't ever reach the Inf end | 13:52 | |
So there's no binding failure | |||
lizmat | and by the time you would, you'd get a binding fail :-) | ||
dogbert17 | Zoffix: perhaps you should pick up Destiny 2 when it is released | 13:53 | |
lizmat | sometime I wonder whether we should have a stringy Inf to which all strings would be less | ||
afk& # 1x 20x faster and 2x 150x faster is a good score for today so far :-) | 13:54 | ||
Zoffix | :) | ||
MasterDuke_ | timotimo++ making essentially the same change to lower_signature in Actions.nqp that i did to handle_optional in BOOTSTRAP.nqp gets me much farther | 13:59 | |
there's an error late on make install, but perl6-m is created and `sub foo(Int @a?) { say @a ?? "@a[]" !! "no arg" }; foo();` now gives 'no arg' locally | 14:00 | ||
Geth | roast: 991cfddd5b | (Zoffix Znet)++ | S32-array/elems.t Fix typo in test descriptino |
14:06 | |
AlexDaniel | self-referential junctions! | 14:07 | |
nice | |||
Geth | roast: ada48a6538 | (Zoffix Znet)++ | S32-array/elems.t Add vague test for death in my Int @a = 1..Inf; @a[*-1] RT#125576: rt.perl.org/Ticket/Display.html?id=125576 |
14:09 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=125576 | ||
Zoffix | m: my @a; my %h; @a[0] = @a; %h<foo> = %h; my $a; $a = any @a, %h, $a | 14:10 | |
camelia | ( no output ) | ||
Zoffix | m: my @a; my %h; @a[0] = @a; %h<foo> = %h; my $a; $a = any @a, %h, $a; say $a | ||
camelia | (timeout) | 14:11 | |
Zoffix | A self-referential Junction containing self-referential Array and Hash :) | ||
MasterDuke_ | heh, every single spectest failed, the patch may need some more work | 14:12 | |
Zoffix | .ask lizmat what was the problem not caught by tests? I'd like to add a test. RE github.com/rakudo/rakudo/commit/bea8ac6890 | 14:17 | |
yoleaux | Zoffix: I'll pass your message to lizmat. | ||
lizmat | . | 14:21 | |
yoleaux | 14:17Z <Zoffix> lizmat: what was the problem not caught by tests? I'd like to add a test. RE github.com/rakudo/rakudo/commit/bea8ac6890 | ||
lizmat | Zoffix: actually, it *may* have been me not running a spectest when It should have | 14:22 | |
Zoffix | c: 9f0b1218f3,HEAD my $a = mix <a a a b c>; my $b = mix <a b>; dd $a (^) $b | ||
committable6 | Zoffix, Ā¦9f0b121: Ā«("c"=>1).MixĀ» Ā¦HEAD(ee45936): Ā«("a"=>2,"c"=>1).MixĀ» | ||
Zoffix | lizmat: ah, OK then | ||
lizmat | I was adding the Baggy (^) Baggy candidate, and the Mixy (^) Mixy candidate started failing | ||
MasterDuke_ | is there a way to tell that a Parameter's $!nominal_type is parameterized? other than `if nqp::index($nominal_type.HOW.name($nominal_type), '[') > 0` | 14:23 | |
lizmat | looking back on it now, I probably didn't run a spectest on 9f0b1218f3 | ||
afk again& | |||
Zoffix | Happens. | ||
MasterDuke_ | ah ha! now all spectests pass and `sub foo(Int @a?) { say @a ?? "@a[]" !! "no arg" }; foo();` gives 'no arg' locally | 14:32 | |
Zoffix | What's the trick to make a single `shell` invocation execute multiple commands on windows? | 15:09 | |
jnthn | Like cmd.exe /c "echo Foo && echo Bar" | 15:10 | |
Zoffix | oh. OK | 15:11 | |
jnthn | Though that's not very Windows specific I guess :) | ||
MasterDuke_ | jnthn: i hope this is a quick question: is there a way to tell that a Parameter's $!nominal_type is parameterized? other than `if nqp::index($nominal_type.HOW.name($nominal_type), '[') > 0` | 15:13 | |
jnthn | uh, that's a really bad way :-) | 15:16 | |
Either something on .HOW.archetypes will tell you, or you'll often find that .HOW ~~ Metamodel::CurriedRoleHOW | 15:17 | ||
Though some others (like Array) do whatever they like on parameterization | 15:18 | ||
What's the context where you need to know this? | |||
I think you were trying to fix stuff like Int @array? | |||
MasterDuke_ | yep | ||
jnthn | Yeah, the thing there is... | 15:19 | |
The type we have there is Positional[Array] | |||
gah | |||
The type we have there is Positional[Int] | |||
But the type we should create by default is Array[Int] :) | |||
m: say Positional[Int] ~~ Positional | 15:20 | ||
camelia | True | ||
jnthn | m: say Positional[Int].of | ||
camelia | (Int) | ||
jnthn | We only want to do this when the sigil is @ however | ||
(There's a flag that states this) | |||
MasterDuke_ | so right here: github.com/rakudo/rakudo/blob/nom/....nqp#L8435 i added `if nqp::index($nomtype.HOW.name($nomtype), '[') > 0 { $var.default(QAST::WVal.new( :value($nomtype) )); } else {` | 15:21 | |
which passes all spectests and makes `Int @a?` work | |||
jnthn | More robust would be something like | ||
if nqp::istype($nomtype, $*W.find_symbol(['Positional'])) && !($nomtype.of =:= $*W.find_symbol(['Mu']) | 15:22 | ||
But yh | 15:23 | ||
MasterDuke_ | thanks, i'll give that a shot | ||
jnthn | But the thing it's doing in the barnch is wrong | 15:24 | |
*branch | |||
If it passes the tests you didn't write enough :) | 15:25 | ||
MasterDuke_ | heh, haven't added any tests yet | ||
jnthn | sub x(Int @arr?) { @arr.push(42) } | ||
Should work :) | |||
And won't | |||
You'd need to create an Array[Int] | |||
Geth | roast: 5eb61ccaf2 | (Zoffix Znet)++ | S19-command-line/arguments.t Test fancy chars in command line args stay fancy RT#127925: rt.perl.org/Ticket/Display.html?id=127925 |
||
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=127925 | ||
jnthn | And then nqp::create that | 15:26 | |
MasterDuke_ | right. `Cannot modify an immutable Positional[Int]` | ||
jnthn | Yeah | ||
So that's the second half | |||
MasterDuke_ | nqp::create(Array[Int]) doesn't work | ||
i already tried hard-coding that | 15:27 | ||
jnthn | That's a mixing of levels | ||
Array[Int] doesn't exist in NQP and if it did it'd be the wrong one :) | |||
I think there's a $*W.parameterize_type or so | |||
Which you can pass $*W.find_symbol(['Array']) and $nomtype.of to | 15:28 | ||
Which will build the Array[Int] type | |||
Which can then be stuck in a QAST::WVal and used with nqp::create | |||
MasterDuke_ | cool, let me try that | 15:29 | |
timotimo | rrrrrrrrrrrrrrrrrrrrrrrrrrrrttttttttttttttttttttttttttttttttttttttttttttbsMy chances of finishing Persona 5 any time soon are incredibly slim. As much as I loved (yes, loved) forming a crack team of heart thieves, falling in love with a punk rock doctor, eating massive hamburgers for fabulous stats and prizes, and watching films about baked goods superheroes, I just can't see myself finding that much time | 15:32 | |
to do it all over again. I'll just have to live vicariously through just about everyone else on the site. | |||
dogbert17 | oops | ||
/usr/bin/perl t/harness5 --fudge --moar --keep-exit-code --verbosity=1 t/spec/S32-list/minmax.t | |||
t/spec/S32-list/minmax.rakudo.moar .. | |||
MoarVM panic: Collectable 0x96a2648 in fromspace accessed | |||
jnthn | Nice find | 15:34 | |
dogbert17 | it was with a small nursery | 15:38 | |
Geth | roast: 4e73bea9e8 | (Zoffix Znet)++ | integration/error-reporting.t Test bad `use` gives line number in error message RT#130979: rt.perl.org/Ticket/Display.html?id=130979 |
15:39 | |
synopsebot6 | Link: rt.perl.org/rt3/Public/Bug/Display...?id=130979 | ||
dogbert17 | let me see if I can get some gdb output ... | ||
timotimo | cool | 15:41 | |
MasterDuke_ | hm, `!($nomtype.of =:= $*W.find_symbol(['Mu']))` won't compile and gives `Cannot find method 'WHY' on object of type Perl6::Metamodel::CurriedRoleHOW` | 15:42 | |
jnthn | m: say Positional[Int].HOW.WHAT | 15:46 | |
camelia | (CurriedRoleHOW) | ||
jnthn | m: say Positional[Int].of | ||
camelia | (Int) | ||
jnthn | Hmm, odd | ||
What code won't it compile? | |||
If CORE.setting it may be a bootstrap issue | 15:47 | ||
MasterDuke_ | `if !($nomtype.of =:= $*W.find_symbol(['Mu'])) {` in Actions.nqp | ||
jnthn | Could always stick a try in there :) | ||
MasterDuke_ | yeah, this is during a rakudo build | ||
jnthn | Yeah but the error you showed is a Perl 6 one, not an NQP one | ||
MasterDuke_ | in parse | 15:48 | |
jnthn | In parse of CORE.setting, I guess? | ||
MasterDuke_ | yeah | ||
jnthn | Hm | ||
I guess another way is | |||
m: say Positional[Int].HOW.^method-table | |||
camelia | No such method 'method-table' for invocant of type 'NQPClassHOW' in block <unit> at <tmp> line 1 |
||
jnthn | m: say Positional[Int].HOW.^method_table | ||
camelia | No such method 'WHICH' for invocant of type 'NQPRoutine' in block <unit> at <tmp> line 1 |
||
jnthn | m: dd Positional[Int].HOW.^method_table | 15:49 | |
camelia | No such method 'WHICH' for invocant of type 'NQPRoutine' in block <unit> at <tmp> line 1 |
||
jnthn | m: dd Positional[Int].HOW.^method_table.keys | ||
camelia | ("name", "accepts_type", "set_shortname", "new_type", "pretend_to_be", "make_pun", "configure_punning", "shortname", "type_check", "instantiate_generic", "set_pun_repr", "set_name", "pretending_to_be", "inheritalize", "specialize", "find_method", "pun", ā¦ | ||
jnthn | m: dd Positional[Int].HOW.^method_table.keys.grep(/arg/) | ||
camelia | ("role_arguments",).Seq | ||
jnthn | Ah, that | ||
m: say Positional[Int].role_arguments | |||
camelia | No such method 'role_arguments' for invocant of type 'Positional[Int]' in block <unit> at <tmp> line 1 |
||
jnthn | m: say Positional[Int].^role_arguments | ||
camelia | ((Int)) | ||
jnthn | That could be a way | ||
m: say Positional.^role_arguments | 15:50 | ||
camelia | No such method 'role_arguments' for invocant of type 'Perl6::Metamodel::ParametricRoleGroupHOW' in block <unit> at <tmp> line 1 |
||
jnthn | Would need to be guarded by an nqp::can | ||
But that saves the punning trap | |||
And so shouldn't trip up CORE.setting compilation | |||
MasterDuke_ | yeah, the stack trace did have make_pun at the top | ||
ok, i'll give that a try | 15:51 | ||
dogbert17 | jnthn; sorry for the delay, gist.github.com/dogbert17/12dc1eb9...07402c7bc7 | 16:14 | |
jnthn | dogbert17: No worries, I'm exhausted anyway | 16:34 | |
MasterDuke_ | `Cannot find method 'list' on object of type NQPArray`, i get that from passing `$nomtype.HOW.role_arguments($nomtype)` as the $arglist parameter to $*W.parameterize_type, which does `for @($arglist) {` | 16:51 | |
Zoffix | nqp: try die("42"); say($!) | 17:01 | |
camelia | |||
Zoffix | The $! is not a thing in nqp? In Perl6/World in particular? | ||
Looking at this Oohh | |||
Well, was wondering how was this fix apparently was working: github.com/FROGGS/p6-if/pull/3/files | 17:02 | ||
But now I realize that code is in Perl 6 and even though it's mixed into $*W, it's still Perl 6 | |||
Zoffix 's mind blowns a bit | |||
MasterDuke_ | m: say Positional[Int].^role_arguments | 17:26 | |
camelia | ((Int)) | ||
MasterDuke_ | m: say Array[Positional[Int]].^role_arguments | ||
camelia | No such method 'role_arguments' for invocant of type 'Perl6::Metamodel::ClassHOW+{<anon>}+{<anon>}' in block <unit> at <tmp> line 1 |
||
MasterDuke_ | huh | ||
pmurias | jnthn: how is our native str to native num conversion supposed to work? | 17:29 | |
currently it's platform specific with on moarvm "Information" being converted to "Inf" on linux but not on windows | |||
on the jvm it works even more differently | 17:30 | ||
jnthn: I can make it consistent but I need to know what's the behaviour we want | |||
jnthn | m: my num $foo = '4.2' | 17:31 | |
camelia | This type cannot unbox to a native number: P6opaque, Str in block <unit> at <tmp> line 1 |
||
jnthn | It's supposed to do that :) | ||
m: my num $foo = '4.2'.Num | |||
camelia | ( no output ) | ||
jnthn | And going through Num should be sane | 17:32 | |
m: my str $s = '4.2'; my num $n = $s; | |||
camelia | ( no output ) | ||
jnthn | o.O | ||
And that'd be a bug that it compiles | |||
m: my str $s = '4.2'; my num $n = $s; say $n | |||
camelia | 4.2 | ||
Zoffix | m: my str $s = 'Infinity and beyond'; my num $n = $s; say $n | ||
camelia | Inf | ||
jnthn | :P | ||
Zoffix | m: my str $s = '42 pies'; my num $n = $s; say $n | 17:33 | |
camelia | 42 | ||
jnthn | I guess this is about the op taht's used at a lower level to do this, though :) | ||
pmurias | jnthn: so I should copy the .Num behavior? | 17:34 | |
jnthn | pmurias: That'd seem sensible, yeah | ||
I'd hope that path is well tested :) | 17:35 | ||
pmurias | our str to num has 4 recently added tests :) | 17:36 | |
jnthn: my num = 'bla bla'.Num; | 17:37 | ||
m: my num = 'bla bla'.Num; | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Malformed my at <tmp>:1 ------> 3my num7ā5 = 'bla bla'.Num; |
||
pmurias | m: my num $x = 'bla bla'.Num;say $x | ||
camelia | This type cannot unbox to a native number: P6opaque, Failure in block <unit> at <tmp> line 1 |
||
pmurias | m: say 'bla bla'.Num | 17:38 | |
camelia | Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3ā5bla bla' (indicated by ā) in block <unit> at <tmp> line 1 Actually thrown at: in block <unit> at <tmp> line 1 |
||
MasterDuke_ | jnthn: sorry to keep bothering you about this, but any suggestions for my two comments above (method 'list' on NQPArray, and role_arguments not working on things with multiple parameterizations)? | ||
pmurias | jnthn: do we want the str to num conversion to throw an exception in the cases it can't convert? | ||
jnthn: also I spotted a BEGIN nqp::hash in our setting, not sure if it should be put in a WVal as normally BOOTHashes are specially handled | 17:39 | ||
MasterDuke_ | pmurias: i think lizmat did the `BEGIN nqp::hash` intentionally as an optimization of some kind | 17:40 | |
jnthn | Array[...] is handled specially by the Array class rather than being a role parameterization | 17:41 | |
But I don't think for default you need to worry about multi-level, and the outer-most level will always be Positional? | |||
pmurias: Probably would have to, because Failure is not an option | |||
MasterDuke_ | ah, that's probably true | 17:42 | |
pmurias | jnthn: we have a choice between NaN and 0 | ||
jnthn | pmurias: True, but I'd prefer throw-y to those :) | ||
pmurias | got to go meet a friend, I'll backlog and be back later | 17:43 | |
MasterDuke_ | jnthn: any idea about the method 'list' business with role_arguments and parameterize_types? | 17:48 | |
i gotta agree with Zoffix, working in World.nqp is harder than most of the other stuff | 17:51 | ||
nine | MasterDuke_: it takes some getting used to :) | ||
jnthn | MasterDuke_: Dinner now, will have to look at that a bit more after | 17:54 | |
MasterDuke_ | sure, np | ||
nine | MasterDuke_: nqp/t/nqp/035-prefix-sigil.t shows how this @($array) business is supposed to work. It does so in Perl6::Actions because parameterize_type is passed an $<arglist>.ast which is a QAST::Node which has a method list() | 18:09 | |
MasterDuke_: a quick n' dirty way around that would be to hllize the NQPArray you get from role_arguments, because Perl6 arrays do have a list() method ;) | 18:10 | ||
MasterDuke_ | nine++ | ||
nine | A cleaner way would probably be to write a version of parameterize_type that takes an NQPArray. It's mostly just a wrapper around self.parameterize_type_with_args anyway | 18:11 | |
MasterDuke_ | or maybe just inline and adapt the relevant parts of parameterize_type, since i only need it in one spot anyway | 18:15 | |
nine | yes | ||
MasterDuke_ | heh, `Cannot iterate object with P6opaque representation (List)` when i pass in `nqp::hllizefor(@role_args, 'perl6')`. closer... | 18:19 | |
nine | Add a .FLATTENABLE_LIST() | 18:22 | |
Then we've come full circle ;) | |||
MasterDuke_ | huh again. `Method 'new-unit' must be implemented by CompUnit::PrecompilationStore because it is required by roles: CompUnit::PrecompilationStore.` | 18:31 | |
obviously did something wrong with my parameterize_type adaptation | 18:32 | ||
nine | Looks like you're punning roles there | 18:34 | |
MasterDuke_ | yep, somehow | 18:35 | |
hm. rakudo built, but now `sub foo(Int @a?) { @a.push(42) }; foo();` gives `Cannot resolve caller STORE(Array[Int]: Array[Int]); none of these signatures match:` | 18:45 | ||
jnthn | That looks like a create or .new was missed somewhere | 18:46 | |
MasterDuke_ | jnthn++ | 18:55 | |
`sub foo(Int @a?) { @a.push(42); dd @a }; foo();` now gives `Array[Int].new(42)` | 18:56 | ||
jnthn | MasterDuke++ | 19:22 | |
MasterDuke_ | just need to run a final spectest before the PR | 19:26 | |
man, that kept alternating between 'looks hard', 'oh, looks approachable', 'nope, looks hard', 'but wait...' | 19:27 | ||
Zoffix | m: say "{236/380*100}% of META.infos are still unmerged" | 19:37 | |
camelia | 62.105263% of META.infos are still unmerged | ||
Zoffix | ZofBot: METAcide | 19:38 | |
ZofBot | Zoffix, On systems with no concept of volume, returns '' (the empty string) for volume | ||
MasterDuke_ | 38% after what, 24h? not bad | ||
Zoffix | I thought it was pretty bad :} | ||
Maybe it's just me being hyper about GitHub notifications. | 19:39 | ||
I do wish it let you stash notifications. Sometimes you go look and realize you don't have time to take care of it ATM, but there's no way to re-mark notification as unread :\ | 19:40 | ||
Maybe I should complain on Twitter again. Worked with "Blame" view :) | |||
Geth | rakudo: MasterDuke17++ created pull request #1072: Fix typed optional Array and Hash parameters |
19:43 | |
MasterDuke_ | i'll also write some tests in a bit | 19:46 | |
Zoffix | samcv: RabidGravy threatened to removed all his modules? Why? | 20:09 | |
samcv | i think he was just being stubborn not wanting to fix his projects metadata | ||
he didn't have any real reason but "this hasn't been discussed enough" even when it had been discussed many places | 20:10 | ||
being put into practice etc, docs updated and s22 etc. | |||
he didn't offer any reason he did not like the changes to license guidelines for META files though | |||
Zoffix is sad to have missed the drama :) | |||
samcv | Zoffix, irclog.perlgeek.de/perl6/search/?n...+blackmail | 20:11 | |
can find it when you searach for nuclear blackmail for irc.perl6.org :X | |||
and he made that claim the day before even | 20:12 | ||
then said it again more strongly the next day | |||
he's been absent since a day after that, afaik. and modules still in place at least. i hope he cools off | |||
interestingly he did fix the metadata on one project. the first one i PR'd | 20:17 | ||
but then got mad when i wanted him through PR's to change all his modules.. i did the work for him even | 20:18 | ||
Zoffix | .ask RabidGravy reading the log about license thing. Could we get to the issues instead of threatening to remove all the modules? From logs, I see license/license issue; we can handle both. What other concerns do you have? | ||
yoleaux | Zoffix: I'll pass your message to RabidGravy. | ||
nine | Wow, I just found my name on docs.perl6.org/language/modules#in...ntry-META6 next to a TODO "fix EVAL precomp bug". But I don't even know what that is. Unless it's something long gone? | 20:20 | |
samcv | Zoffix, licence and license is no issue SPDX even says those two words are equivilant | ||
japhb wonders whether it is considered polite/ethical to just keep forks of every repo that has ever been added to the ecosystem, so that we can say "part of the community agreement in being visible to package managers is that we deprive you of the nuclear option" | |||
samcv | so since i'm following spdx, that is not a problem | 20:21 | |
japhb | (Where by "package manager" I am being intentionally vague) | ||
samcv | japhb, github says you can | ||
and it's expected when you put things on github to get forked. you agree to those terms | |||
japhb | samcv: Link? | ||
Zoffix | japhb: it's part of ToS | ||
samcv | yeah | ||
japhb | Well, there's a difference between theoretically possible, and *us actively doing it*. | 20:22 | |
samcv | well. i think we already do it for every module to keep backups just in case. or something | ||
japhb | samcv: Where? | ||
Zoffix | japhb: also, unless redguard's system is offline, the ecosystem is being regularly released to CPAN, so nuclear option isn't really an option | ||
samcv | japhb, github.com/moritz/perl6-all-modules | ||
Zoffix | oh yeah and that too | ||
japhb | samcv: Current commit in that repo is "Remove repos that no longer exist". | 20:23 | |
samcv | :X | ||
japhb | So that's not actually serving that purpose. | ||
Zoffix | heh :) | ||
Well CPAN them | |||
*then | |||
samcv | japhb, but you can look in the history right? | ||
git keeps all things | |||
japhb | Zoffix: Is this done automatically for *all* modules in our ecosystem (releasing to CPAN, I mean) | 20:24 | |
samcv: git *can* keep all things. ;-) But yes, I get your point. | |||
Zoffix | japhb: it was, yeah | ||
samcv | hmm | ||
Zoffix | I don't know the current status | ||
samcv | that's not in our TOS for ecosystem | 20:25 | |
japhb | Fair enough | ||
samcv | i don't think | ||
Zoffix | jdv79_: what's happening with CPAN? | ||
samcv | will have to check ToS for github. i think you have to allow forking and viewing at least. not sure about repackaging | ||
since some don't have licenses | |||
if that's something people should expect we should add it to github.com/perl6/ecosystem#legal | 20:26 | ||
Zoffix | Geth: uptime | 20:27 | |
japhb | Well, the scenario would be "Person A invokes nuclear option, deletes all their repos from Github; one of the core team (or a bot) switches the ecosystem entry over to the community fork, and we consider that the canonical (mutable) repo from then on" | ||
Geth | Zoffix, 1 day, 2 hours, 24 minutes, and 26 seconds | ||
japhb | That's the thing to make sure we can reasonably do. | ||
So we have to be able to have all the redistro rights we had before when we invoke the de-nuclear fix. | 20:28 | ||
Zoffix | Yeah | ||
One Leftpad is enough :) | |||
mst | if somebody nuclear options, then the community fork is a new authority | ||
Zoffix: that only happend because npm lack a spine | 20:30 | ||
Zoffix | Ah | ||
japhb | mst: Is there any infrastructure for letting the community authority cleanly take over, so that end users stay on the currently-maintained fork, oblivious to the averted disaster? | ||
mst | Zoffix: npm gave one of his other namespaces away because corporate pressure | 20:31 | |
japhb: the whole point of the authority system is to avoid *needing* a concept of a blessed-by-authority fork | 20:32 | ||
samcv | if you wanted to really suck you'd prolly force overwrite the git repos | 20:33 | |
and then wait for the backups to pick it up... and update the meta info | |||
japhb | mst: I meant, is there anyway to let end users know "This isn't just two actively maintained forks -- Authority A which you are currently following has been shut down completely, and here is the replacement" | 20:35 | |
samcv | Zoffix, to process my frusration using comedy i made a script | ||
japhb | Automated succession. | ||
samcv | cry.nu/9PMBST.html that actually does automatically remove all your modules from ecosystem by 9pm bst | ||
well i never ran it without $TEST = True; or the line to push to ecosystem commented out | 20:36 | ||
japhb | We'd have the same problem if an active maintainer dies suddenly without a secession plan, and the community gets together to find a new maintainer | ||
samcv | but it commits and everything hah | ||
japhb | *succession | ||
samcv | well when people die github doesn't usually remove their account | ||
mst | japhb: this is completely the wrong place to be discussing this, but the ecosystem is basically a giant pile of duct tape anyway, so the general answer to "is there infrastructure for" is "no, because lol what infrastructure" | ||
japhb | mst: :-D Fair enough. | 20:37 | |
mst | OTOH this also means nothing is really set in stone | ||
japhb | samcv: Yes, but if you're an end user, you would have no idea that bug/security fixes were no longer happening in that repo, but were happening elsewhere -- right up until the day your service gets owned because it hasn't updated its libraries in a while. | 20:38 | |
Zoffix | samcv: 404 | ||
samcv | ? | ||
japhb, that's true. | |||
Zoffix | Nevermind.. | ||
mst | japhb: right, I think *ideally* we would have certain authority sources that *can* be transferred | 20:39 | |
Zoffix | mst: what's the right place for discussing this? | ||
mst | Zoffix: I'd've thought the toolchain channel, since that's where all the software that actually has to deal with this lives? | ||
japhb | Didn't we have an -ecosystem or -toolchain or something channel? | ||
Zoffix | Ah | ||
samcv | what toolchain channel... | ||
Zoffix | #perl6-toolchain | ||
mst | the one I set up in 2015 to discuss module installation related stuff | ||
samcv | can you put it in the topic maybe? | 20:40 | |
i wouldn't even have known it existed | |||
and people coming to perl6-dev may want to join it if they are interested in that kind of thing | |||
japhb | samcv: You mean a mention in this channel's topic to look over there for ecosystem/toolchain? | ||
mst | I confess to being a little disappointed nobody bothered to tell you before giving you access to ecosystem | ||
samcv | sure | 20:41 | |
japhb | mst: I'd heard about it a couple years ago, but had assumed this channel was taking over all of the dev discussions elsewhere. | ||
Thanks | |||
mst | this channel is for language and compiler development, as was already in the topic | ||
not sure how you assumed it also took over a bunch of other things, but ok | 20:42 | ||
Zoffix | I was cutting releases for like 3 months before I realized there was a #perl6-release channel :p | ||
japhb | Zoffix: I *hadn't* heard about that one ... | ||
samcv | :O | ||
Zoffix | It's closed now :) | ||
samcv | i'm in it now | 20:43 | |
japhb | mst: Because I'm not always here. I took a vacation, came back and found this channel existed. | ||
(where "here" means "paying attention and backlogging these channels") | |||
[Coke] | perl6-release can be ded. | 21:23 | |
samcv | oh wow madcapjake merged some of my META.info changes. he lives | 21:34 | |
gonna comment and tag here here github.com/MadcapJake/language-per.../issues/55 maybe get a response | 21:35 | ||
Geth | rakudo/nom: 139243971a | (Elizabeth Mattijsen)++ | src/core/set_operators.pm Make Map (^) Map about 50x faster - with a 26 element Hash with itself (worst case) - give Map (^) Map its own candidate written using nqp ops |
21:48 | |
lizmat | and that concludes my hacking for today | ||
good night, #perl6-dev! | |||
Zoffix | night | 22:04 |