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