ugexe m: class Bar { }; say ::("Bar").^can("xxx"); role Foo { }; say ::("Foo").^can("xxx"); # is this a bug or expected? 00:03
camelia rakudo-moar bc3592: OUTPUT«()␤Too many positionals passed; expected 2 arguments but got 3␤ in block <unit> at <tmp> line 1␤␤»
ugexe m: class Bar { }; say ::("Bar").^can(); 00:27
camelia rakudo-moar bc3592: OUTPUT«Too few positionals passed; expected 3 arguments but got 2␤ in any can at gen/moar/m-Metamodel.nqp line 1128␤ in block <unit> at <tmp> line 1␤␤»
ugexe m: role Foo { }; say ::("Foo").^can();
camelia rakudo-moar bc3592: OUTPUT«0␤»
Zoffix s: ::("Foo").HOW, "can", \() 00:35
SourceBaby Zoffix, Something's wrong: ␤ERR: Method 'map' not found for invocant of class 'NQPRoutine'␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 25␤ in block <unit> at -e line 6␤␤
ShimmerFairy Zoffix: thanks, that moved me on to other issues with my grammar :) 00:53
Zoffix \o/ 00:54
dalek kudo/nom: 94b09ab | (Zoffix Znet)++ | src/Perl6/Grammar.nqp:
Initialize %quote_lang_cache at creation

instead of calling nqp::isnull on each invocation of the method
01:17
Zoffix ^ stresstest passes, but I'm unsure whether there was some sort of a reason to not have it initialized from start 01:18
ShimmerFairy What's interesting in doing very fiddly regex stuff is that P6 doesn't have any capability to set the match object of a cursor manually like you can in NQP (via nqp::bindattr). 02:53
lizmat Files=1136, Tests=52738, 227 wallclock secs (13.20 usr 3.81 sys + 1401.89 cusr 132.03 csys = 1550.93 CPU) 07:23
dalek kudo/nom: 8a66833 | lizmat++ | src/core/ (2 files):
Make permutations() about 5x as fast

  - based on for ^100 { my @a = permutations(6) }
  - rewrite using nqp ops
  - be smarter on finding out when to finish
  - don't use smart swapping (could use an nqp::swap :-)
  - move back to List.pm, as no native arrays are used anymore
  - brings down the magic box benchmark down to 18.5 from 25 wallclock secs
  - still needs work on List.permutations for even better performance
07:27
nine m: say (2.0**0.5) * (2.0**0.5) == 2.0 12:20
camelia rakudo-moar 8a6683: OUTPUT«False␤»
nine Would there at least in theroy be a way to fix this? ^^^
|Tux| Hmm, I did run the timing this morning but it looks like I forgot to post them, right? 12:26
nine right 12:28
Zoffix: doc seems to need Pod::To::BigPage but installation fails with "Expected MAST::Frame, but didn't get one" 12:29
[Coke] nine: I would imagine if you made a new numeric type that kept track of powers like we do rationals. 12:34
but if you fall back to Num, all bets are off.
MetaZoffix nine: yeah, that bug has been there for ages. I don't know why gdflex doesn't use a UA module that actually works. 12:36
nine: if you uninstall IO::Socket::SSL, then it should install fine.
nine: FWIW, this is the line that was complaining about .modified on non-found file yesterday. I then went and and added a check in Rakudo for non-failure of the file it was trying to check .modified on and then the .load was not returning anything usable: github.com/gfldex/perl6-pod-to-big...nepage#L72 12:38
brrt |Tux|: make a bot ;-) 12:39
nine MetaZoffix: I wonder why it doesn't use try-load?
MetaZoffix *shrug* 12:40
|Tux| This is Rakudo version 2016.08.1-142-g8a66833 built on MoarVM version 2016.08-43-g3d04391 12:41
csv-ip5xs 9.722
test 15.482
test-t 7.206
csv-parser 17.567
nine MetaZoffix: I wonder how if $unit { my $modified = $unit.modified; can fail? 12:42
Shouldn't the if $unit protect it from a Failure already?
MetaZoffix m: try { "notafile".IO.modified; CATCH { default { .^name.say} } 12:43
camelia rakudo-moar 8a6683: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> odified; CATCH { default { .^name.say} }⏏<EOL>␤»
MetaZoffix m: try { "notafile".IO.modified; CATCH { default { .^name.say} } }
camelia rakudo-moar 8a6683: OUTPUT«X::IO::DoesNotExist␤»
MetaZoffix ^ it was failing with that
oh wait.
Lemme try to find which rakudo change I made last night
oh, yeah, that was the line.. with if $unit 12:47
I changed this line to or ($modified and $modifed > $since) and the error went away (but loading wasn't happening still): github.com/rakudo/rakudo/blob/nom/...ry.pm#L169 12:48
nine Oooh...the $unit is defined just fine. It's the unit's $!path attribute pointing to a non-existent file
MetaZoffix So maybe $unit contains something fishy
Ah
nine And the path does look fishy indeed. The .tmp extension shouldn't be there. 12:49
Testing a fix 12:53
dalek kudo/nom: c9b18c6 | niner++ | src/core/CompUnit/PrecompilationStore/File.pm:
Fix weird issues with trying to load a just stored PrecompilationUnit

Trying to use the PrecompilationUnit created when storing a precompilation file for loading causes all sorts of weird issues. Those can be solved by thinking things through and ensuring that the unit's internal state is suitable for loading. As a quick fix however, just clear it from the cache.
13:09
nine MetaZoffix: the fix ^^^
MetaZoffix \o/ nine++
nine How to get lots of karma: * write dog slow code. * speed up the code later on * fix the bugs caused by the speedup * fix the bugs in the bugfix * ... 13:11
MetaZoffix :D
brrt nine: another strategy is to start an ambitious JIT project, hit the wall when there are things you don't understand, and take lots of time in getting to understand it and fixing issues 13:14
nine Oh yeah, brrt++ 13:23
brrt haha
ShimmerFairy
.oO(premature optimization is the root of low karma)
13:27
|Tux| gist.github.com/Tux/046469284af190...832072a8ac 14:06
timotimo hm, where is it trying to install to? 14:42
MetaZoffix "now can you get it to dynamically pull the latest rakudo star" ... We can just create a redirect on rakudo.org that will redirect from rakudo.org/downloads/star/rakudo-st...est.tar.gz to the latest release 15:07
And the script would use that URL
Script... and well, all the references where we currently hardcode the version
oops wrong channel 15:09
.tell stmuk_ We added -latest.whatever URLs so a single URL can be used to link to the latest Star version. On release, those would need to be updated in the .htaccess file. Sent a PR to update the release guide: github.com/rakudo/star/pull/76 15:28
yoleaux2 MetaZoffix: I'll pass your message to stmuk_.
dalek ar: 49e17c5 | (Zoffix Znet)++ | tools/star/release-guide.pod:
Include step top update `-latest-` URLs
15:36
ar: 8ae2604 | (Steve Mynott)++ | tools/star/release-guide.pod:
Merge pull request #76 from zoffixznet/patch-1

Include step top update `-latest-` URLs
stmuk_ MetaZoffix: it might actually be easier to use sym links but good idea anyway 15:44
yoleaux2 15:28Z <MetaZoffix> stmuk_: We added -latest.whatever URLs so a single URL can be used to link to the latest Star version. On release, those would need to be updated in the .htaccess file. Sent a PR to update the release guide: github.com/rakudo/star/pull/76
MetaZoffix w00t! Just fixed the bug I was trying to fix. The one I called mountain-shaped learning curve last night :) 16:24
TimToady You mean you unlearned things on the other side? 16:36
MetaZoffix Heh :) Nah, it's an infinite mountain :) 16:37
dalek kudo/nom: 2287173 | (Zoffix Znet)++ | src/Perl6/ (2 files):
Make all of our Unicode quotes work in qww<>

Fixes RT#128304
  jnthn++ (suggesting to try a DRY fix [^1]), AlexDaniel++ (finding one for
another similar bug [^2]), TimToady++ (writing the fix for that bug that I now shamelessly stole [^3]).
  [1] irclog.perlgeek.de/perl6-dev/2016-0...i_13168143
  [2] irclog.perlgeek.de/perl6-dev/2016-0...i_13168292
  [3] github.com/rakudo/rakudo/commit/36...2a0b7dadd6
16:55
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128304
ast: addcec6 | (Zoffix Znet)++ | S02-literals/quoting.t:
Unfudge tests for Unicode quotes in qww<>

RT128304
[Coke] nice. 17:04
buggable: rt? 17:06
buggable: bugs?
RT: 1378; @LARRY: 20; BOOTSTRAP: 5; BUG: 489; BUILD: 11; CONC: 52; DOCS: 1; GLR: 5; IO: 18; JVM: 69; LTA: 117; MATH: 7; NATIVECALL: 15; NEW: 843; NYI: 91; OO: 7; OSX: 6; PERF: 27; POD: 17; PRECOMP: 12; REGEX: 35; REPL: 4; RFC: 57; SEGV: 38; SPESH: 1; STAR: 6; TESTNEEDED: 30; TODO: 10; UNI: 30; UNTAGGED: 287; WEIRD: 3
FROGGS o/ 17:31
timotimo greetings FROGGS 17:32
dalek p: 4f73719 | coke++ | docs/ops.markdown:
add a note to cover the un-doc'd box_u
MetaZoffix buggable: tags 18:04
buggable MetaZoffix, Total: 1380; BUG: 536; UNTAGGED: 287; LTA: 117; NYI: 91; JVM: 63; RFC: 57; CONC: 52; SEGV: 38; REGEX: 35; TESTNEEDED: 30; UNI: 30; PERF: 27; @LARRY: 20; IO: 18; POD: 17; NATIVECALL: 14; BUILD: 11; PRECOMP: 11; TODO: 11; MATH: 7; OO: 7; TESTCOMMITTED: 7; STAR: 6; BOOTSTRAP: 5; GLR: 4; OSX: 4; REPL: 4; WEIRD: 3; CONFIGURE: 1; DOCS: 1; LIBRARY: 1; RT: 1; SITE: 1; SPEC: 1; See perl6.fail/ for details
MetaZoffix ^ the command is tags... (though I now added rt and bugs and ? variants :))
buggable: bugs?
buggable MetaZoffix, Total: 1380; BUG: 536; UNTAGGED: 287; LTA: 117; NYI: 91; JVM: 63; RFC: 57; CONC: 52; SEGV: 38; REGEX: 35; TESTNEEDED: 30; UNI: 30; PERF: 27; @LARRY: 20; IO: 18; POD: 17; NATIVECALL: 14; BUILD: 11; PRECOMP: 11; TODO: 11; MATH: 7; OO: 7; TESTCOMMITTED: 7; STAR: 6; BOOTSTRAP: 5; GLR: 4; OSX: 4; REPL: 4; WEIRD: 3; CONFIGURE: 1; DOCS: 1; LIBRARY: 1; RT: 1; SITE: 1; SPEC: 1; See perl6.fail/ for details
nine m: say 2**1023 == Inf; say 2**1024 == Inf; say 2**1025 == Inf; say 2**1024 == 2**1025; 18:36
camelia rakudo-moar 228717: OUTPUT«False␤True␤True␤False␤»
nine quite odd indeed :) 18:37
masak so, what you're saying is, infix:<==> is not transitive :/ 18:38
two things equal to a third thing can somehow manage to be different 18:39
TimToady notes that comparing to Inf is coercing to Num 18:43
m: say (2**1024).Num == (2**1025).Num 18:44
camelia rakudo-moar 228717: OUTPUT«True␤»
zumbra If I make changes in nqp/ dir in my Rakudo checkout how to make Rakudo build process pick them up so I could test they are correct? 19:03
timotimo you have to "make install" under nqp, then "make clean" and "make install" in rakudo
zumbra Thanks
timotimo i'm glad to assist :) 19:04
nine 2**1024 looks like an arbitrary limit rather than one imposed by the underlying architecture. If we are in that game already, why not throw an error when coercing that to Num? 19:05
masak m: say 2 ** 1024 < Inf 19:06
camelia rakudo-moar 228717: OUTPUT«False␤»
b2gills There may have to be special cases for &[==] &[<] &[>] when one side is Inf/-Inf and the other is an Int 19:36
dalek p: 32fd43d | (Zoffix Znet)++ | src/HLL/Grammar.nqp:
Add LEFT/RIGHT DOUBLE PARENTHESIS in matching brackets list

Fixes RT#128787
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128787
dalek kudo/nom: 87f772e | (Zoffix Znet)++ | tools/build/NQP_REVISION:
Bump NQP: Allow LEFT/RIGHT DOUBLE PARENTHESIS ...

  ...to be used as matched brackets in quoters
Fixes RT#128787
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128787
dalek ast: 9650cd2 | (Zoffix Znet)++ | S02-literals/quoting-unicode.t:
LEFT/RIGHT DOUBLE PARENTHESIS can be used as matched brackets in quoters

RT#128787
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128787
TimToady one of the main points of IEEE floating point is to *not* throw errors in overflow situations like that 20:09
throwing overflow/underflow errors tends to cause undesirable fratricide in vector ops
and sure, it's an arbitrary limit, but you'll have to talk to the IEEE about that :) 20:10
(now, if we have an additional limit in addition to what fp will represent, that's a different issue) 20:11
nine Oh, I failed to realize that this is indeed a plattform restriction. 20:48
dalek ast: 7ae8030 | (Zoffix Znet)++ | S03-operators/ternary.t:
fiddly meta error indicates what operator is used

RT#129080
21:24
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129080
dalek ast: 8c899ef | (Zoffix Znet)++ | S02-types/WHICH.t:
ObjAt.perl gives distinct results for different objects

RT#128944
21:39
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128944
b2gills &infix:« < »( Int:D, Inf ) should always return True 21:41
dalek kudo/nom: bb6da76 | lizmat++ | src/core/List.pm:
Make List.permutations 8x faster

  - based on: for ^1000 { <a b c d e>.permutations }
  - don't use a map and slice but instead:
  - create custom iterator that repurposes List returned from permutations()
  - use nqp ops to do the mapping
21:50
Zoffix :o 21:51
timotimo that looks fantastic!
MasterDuke hopefully removed the need for my List::Combinations (though its permutations weren't as faster as its combinations) 21:53
m: use nqp; say nqp::unbox_u(2**63 - 1) 21:56
camelia rakudo-moar 87f772: OUTPUT«9223372036854775807␤»
MasterDuke m: use nqp; say nqp::unbox_u(2**63 )
camelia rakudo-moar 87f772: OUTPUT«-9223372036854775808␤»
MasterDuke m: use nqp; say nqp::unbox_u(2**64 - 1)
camelia rakudo-moar 87f772: OUTPUT«-1␤»
MasterDuke m: use nqp; say nqp::unbox_u(2**64 )
camelia rakudo-moar 87f772: OUTPUT«Cannot unbox 65 bit wide bigint into native integer␤ in block <unit> at <tmp> line 1␤␤»
MasterDuke is that ^^^ correct? 21:57
geekosaur yes
MasterDuke *are those
dalek ast: 73f7539 | (Zoffix Znet)++ | S32-str/sprintf.t:
Remove trailing whitespace
lizmat timotimo: the magic numbers test now runs <3 seconds on my machine
which would make it faster than the Perl 5 version ?
dalek ast: 71aab20 | (Zoffix Znet)++ | S32-str/sprintf.t:
Invalid formats do not spill internal details

RT#129088
21:58
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129088
geekosaur well, modulo whether nqp's say understands signedness or if it's built into the operation (so nqp::unbox_u may be producing a perfectly cromulent unsigned value that nqp::say then treats as signed because it doesnt know any better)
MasterDuke but i wasn't use nqp::say? 21:59
geekosaur er, right. but it still may not know for a value coming from nqp. (I don't know how that stuff works...)
the 65-bit value thing is certainly correct; iirc bigint is not handled automagically, you need to deal with it specifically when using nqp ops 22:01
MasterDuke interestingly, nqp::unbox_u isn't used in either nqp or rakudo
geekosaur this is one reason why nqp is Not Quite Perl
MasterDuke yeah, i wasn't so concerned about that one
timotimo things are only unsigned because we use all sorts of ops with _u on them 22:08
so when you say it, it'll probably just see a regular int64 register and print that out
Zoffix I'm assuming this is just copy-paste error that made it into 6.c-errata. The test already present in -unix.t; and the objects used need to be Cygwin: github.com/perl6/roast/blob/6.c-er....t#L79-L84 22:09
Zoffix will fix that shortly; just mentioning in case I'm wrong
dalek ast: 7428736 | (Zoffix Znet)++ | S32-io/io-path- (3 files):
.absolute on paths starting with `-` does not produce empty string

RT#128840: rt.perl.org/Public/Bug/Display.html?id=128840
22:14
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128840
AlexDaniel Zoffix++ 22:17
dalek ast: 21511d3 | (Zoffix Znet)++ | S32-io/io-path-cygwin.t:
Fix incorrect object used

The IO::Path::Unix is already tested in the S32-io/io-path-unix.t [^1], and this appears to be a copy-paste error, as we need to test ::Cygwin object in this test.
  [1] github.com/perl6/roast/blob/742873....t#L63-L68
22:20
ast/6.c-errata: 1e8f6b6 | (Zoffix Znet)++ | S32-io/io-path-cygwin.t:
Fix incorrect object used

The IO::Path::Unix is already tested in the S32-io/io-path-unix.t [^1], and this appears to be a copy-paste error, as we need to test ::Cygwin object in this test.
  [1] github.com/perl6/roast/blob/fd4615....t#L63-L68
22:21
Zoffix jnthn++ made my life much easier :) (twitter.com/zoffix/status/774371073978691584) 22:41
dalek ast: 180694d | (Zoffix Znet)++ | S16-io/lines.t:
Attempting to read lines in from `/proc/$$/statm` does not hang

Running this test on OSes without /proc would just bail out with file-does-not-exist or similar error. Since all we're testing for is hanginess, that is OK.
RT#127370: #rt.perl.org/Public/Bug/Display.html?id=127370
23:01
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127370
Zoffix eh 23:06
Ah, edited wrong file
dalek ast: f69a324 | (Zoffix Znet)++ | S16-io/lines.t:
Wrap test in try {}

The 180694deff is a Linux-specific test only and will throw on other OSes. We're only interested in whether the test hangs, so throwage is fine. We just need to catch it so it doesn't break out test run.
23:08
[Coke] will wave as he goes through dublin and leeds this week. 23:10