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 blockat <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«FalseTrueTrueFalse» | ||
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 |