jeffythedragonsl hey 01:52
MasterDuke a diff of `my int $bar` vs `my $bar` is a little more instructive, in that there's almost no difference whatsoever
which means it's probably not a grammar/codegen problem 01:53
jeffythedragonsl WVal vs IVal
naxieAlDle interestingly, it's not that 01:54
my $bar := 4; my int $foo2 := $bar || 12+0; say($foo2); # 4
my $bar := 4; my int $foo2 := $bar || 12; say($foo2); # 0
MasterDuke and it is likely a moarvm problem
naxieAlDle I wonder if there's any way to use committable to test nqp stuff… 01:55
MasterDuke i'd `git grep unless` in MoarVM and see what you find there
naxieAlDle because I wonder if it has always been like this
maybe someone should try to bisect manually, as it doesn't take much to compile nqp
MasterDuke naxieAlDle: nqpbisect and moarvmbisect bots would be nice 01:56
jeffythedragonsl there's a lot of stuff
naxieAlDle yea, there's a feature request for that
MasterDuke: I think we can reuse bisectable for that 01:57
MasterDuke: I bet it's a difference of 5 lines or something like that
MasterDuke bisectable6: use nqp; my $bar = 4; my int $foo2 = nqp::unless($bar,200); say($foo2);
bisectable6 MasterDuke, On both starting points (old=2015.12 new=d444f65) the exit code is 0 and the output is identical as well
MasterDuke, Output on both points: «4»
MasterDuke bisectable6: use nqp; my int $bar = 4; my int $foo2 = nqp::unless($bar,200); say($foo2);
bisectable6 MasterDuke, On both starting points (old=2015.12 new=d444f65) the exit code is 0 and the output is identical as well
MasterDuke, Output on both points: «1»
MasterDuke committable6: all use nqp; my $bar = 4; my int $foo2 = nqp::unless($bar,200); say($foo2);
committable6 MasterDuke, gist.github.com/1e2b35320de7a35dfa...da5426f453 01:58
MasterDuke committable6: all use nqp; my int $bar = 4; my int $foo2 = nqp::unless($bar,200); say($foo2);
committable6 MasterDuke, gist.github.com/52da5d8f542e4ed2cb...9ec973e994 01:59
MasterDuke !!!
committable6: 2015.11,2015.12 use nqp; my int $bar = 4; my int $foo2 = nqp::unless($bar,200); say($foo2);
committable6 MasterDuke, ¦2015.11: «4» ¦2015.12: «1»
naxieAlDle bisect it? 02:00
MasterDuke bisectable6: old=2015.11 use nqp; my int $bar = 4; my int $foo2 = nqp::unless($bar,200); say($foo2);
bisectable6 MasterDuke, Bisecting by output (old=2015.11 new=d444f65) because on both starting points the exit code is 0
MasterDuke, bisect log: gist.github.com/81733000d3a933c772...5c5db4850c
MasterDuke, (2015-12-16) github.com/rakudo/rakudo/commit/2d...4c7aa657e3
naxieAlDle doesn't look right?
MasterDuke hmm, not sure that's related 02:01
naxieAlDle commit: 2d98de93ba^,2d98de93ba use nqp; my int $bar = 4; my int $foo2 = nqp::unless($bar,200); say($foo2);
committable6 naxieAlDle, ¦2d98de93ba^: «4» ¦2d98de9: «1»
naxieAlDle still interesting :)
MasterDuke jeffythedragonsl: ^^^ might be helpful, might not 02:02
samcv NeuralAnomaly, status
NeuralAnomaly samcv, [✘] Next release will be in 6 days and 2 hours. Since last release, there are 56 new still-open tickets (18 unreviewed and 0 blockers) and 70 unreviewed commits. See perl6.fail/release/stats for details
naxieAlDle Geth: help
Geth naxieAlDle, Source at github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to geth.perl6.party/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes
naxieAlDle IOninja: what was the magic command to show what commits were brought by a NQP bump?
samcv yes naxieAlDle
IOninja points to help above ^ 02:03
jeffythedragonsl you guys lost me a little... think I need to study the language more...
IOninja c'mon man :)
samcv naxieAlDle git log --oneline 2017.02-67-g5023309..HEAD
for example
just put in whatever is the actual `NQP_VERSION` or whatever is in that file 02:04
IOninja Geth: ver github.com/rakudo/rakudo/commit/22...9854e33739
Geth IOninja, version bump brought in these changes: github.com/perl6/nqp/compare/2017....-g4ceee06d
samcv oh with the bot
naxieAlDle IOninja: you torturer, want me to read the source code :P
MasterDuke jeffythedragonsl: i think `git grep unless_` in MoarVM will point you in the right direction
IOninja naxieAlDle: no, the usage is in the help message :/
naxieAlDle IOninja: ah, dammit… *facepalm
* 02:05
samcv naxieAlDle, your name is annoying
naxieAlDle IOninja: forgive my stupidity and blindness!
and my nickname too :P
jeffythedragonsl at least it fits
samcv that's what i was talking about
jeffythedragonsl so it's like ack-grep?
IOninja What is? 02:06
jeffythedragonsl git grep
IOninja Oh, no idea. Never used it.
jeffythedragonsl beyondgrep.com/
it's my favorite perl 5 script
IOninja Geth: ver github.com/perl6/nqp/commit/2d98de93ba 02:07
Oh, it's rakudo's commit 02:08
Geth: ver github.com/rakudo/rakudo/commit/2d98de93ba
come on, you stupid robot!
Geth: ver github.com/rakudo/rakudo/commit/2d98de93ba
Geth IOninja, version bump brought in these changes: github.com/perl6/nqp/compare/ $update[0] := $target[0];... }
IOninja uuh
Ah
It's not a version bump 02:09
samcv i've been using `ripgrep` which allows regex or whatever, is pretty fast. and only searches things not ignored by .gitignore by default
but there's tons of ways to “grep” source code
geekosaur git grep isn't as smart as ack, but it does limit the search to (history of) the files that are version controlled so you don't get it searching the trash
jeffythedragonsl ok I'll use git grep then. Mostly I use ack when stuck in subversion world 02:10
naxieAlDle another trick is to use 「grep -P …」, which gives perl-like regexes on some systems
e.g. grep -Po 'foo\K.*' 02:11
MasterDuke i have `[grep] lineNumber = true` set in my ~/.gitconfig 02:12
samcv wow ack is much slower than ripgrep
oh i guess maybe partially cause it is not ignoring things in gitignore 02:13
that's annoying
geekosaur I think there's an option?
(and an ackrc file)
jeffythedragonsl silver searcher is faster
MasterDuke and then have a vim plugin which, when you do `vim <file>:<number>:`, open the file at that linenumber
samcv ok if i do unrestricted search, ripgrep took 0.04s and ack takes 1.79 seconds 02:14
that's a pretty huge difference
jeffythedragonsl ripgrep looks pretty new
samcv ag took 1.01 02:15
try out ripgrep. really fast. (all the above measurements were in unrestricted mode to rule out them ignoring different files than each other) 02:16
naxieAlDle I wish it was in debian repos
looks *very* promising
samcv ripgrep isn't?
oh well 02:17
for detailed benchmarks you an see here blog.burntsushi.net/ripgrep/ for many different kinds of regex 02:19
naxieAlDle samcv: I'll keep my eye on it anyway, thank you very much for mentioning it
I use grep every day, and recently started using ack sometimes, just to see how it goes. Yes, ack is noticeably slow 02:20
jeffythedragonsl wow I take a break from coding for a couple years and look at all the cool stuff that happens 02:21
naxieAlDle samcv: what's the easiest way to use rg with a pager? Or does it default to using one? 02:24
samcv pager? what
jeffythedragonsl I think he means the more command 02:25
naxieAlDle or less
jeffythedragonsl less is better than more :) 02:27
geekosaur .oO { pg -ns } 02:28
MasterDuke any reason infix:<min> and infix:<max> github.com/rakudo/rakudo/blob/nom/...1932-L1944 don't have any narrow multi's? e.g., Int, int, Str 02:29
i shaved a couple seconds off that code mscha posted in #perl6 earlier by adding them and they pass a spectest 02:30
Geth rakudo/nom: 7bebec08e9 | (Samantha McVey)++ | CONTRIBUTING.md
Make some minor grammar and markdown changes for CONTRIBUTING.md
02:31
samcv MasterDuke, by adding ones for Int? 02:32
MasterDuke samcv: yeah 02:33
IOninja couple seconds is what? ~2% increment?
samcv MasterDuke, probably because cmp calls different things based on the types involved 02:34
IOninja and it's marked as pure, so it gets constant folded.
MasterDuke it was closer to 10%
11969988 calls to max took 5.3s before, 1.6s after 02:36
`multi sub infix:<max>(Int:D \a, Int:D \b) { nqp::if(nqp::isgt_i(nqp::cmp_I(nqp::decont(a), nqp::decont(b)), 0), a, b) }` 02:37
IOninja ah, based on AST it doesn't get folded when given variables, never mind. 02:38
MasterDuke any objections to a PR adding Int, int, and Str versions for max and min? 02:40
naxieAlDle
.oO( only time and bisectable will tell )
02:42
travis-ci Rakudo build errored. Samantha McVey 'Make some minor grammar and markdown changes for CONTRIBUTING.md' 03:24
travis-ci.org/rakudo/rakudo/builds/210178210 github.com/rakudo/rakudo/compare/d...ebec08e930
buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), or GitHub connectivity (0).
Geth rakudo: MasterDuke17++ created pull request #1035:
Add narrower candidates for infix min and max
03:55
IOninja m: say (int:D).HOW.^name 04:05
camelia Perl6::Metamodel::DefiniteHOW
IOninja m: say (int:U).HOW.^name
camelia Perl6::Metamodel::DefiniteHOW
Geth rakudo/nom: a9c51964a0 | (Daniel Green)++ | src/core/Any-iterable-methods.pm
Add narrower candidates for infix min and max

Add :D candidate for Int, int, Num, and num and implement them in nqp. Makes `Int:D max Int:D` about 3x faster.
04:27
rakudo/nom: 9cd7c5a98e | (Daniel Green)++ | src/core/Any-iterable-methods.pm
Remove unneeded/unused smilies from natives
rakudo/nom: 0f289a3fe3 | (Zoffix Znet)++ | src/core/Any-iterable-methods.pm
Merge pull request #1035 from MasterDuke17/add_narrower_candidates_for_infix_min_and_max

Add narrower candidates for infix min and max
MasterDuke IOninja: any opinion on github.com/perl6/roast/blob/master....t#L45-L47 ? think those are correct tests? 04:34
IOninja no idea 04:39
MasterDuke yeah, i'll .ask around 04:42
.ask jnthn do you have any thoughts on my question here irclog.perlgeek.de/perl6-dev/2017-...i_14247061 ? i was working on github.com/MoarVM/MoarVM/issues/513 and had made some progress, but those tests failed 04:45
yoleaux2 MasterDuke: I'll pass your message to jnthn.
MasterDuke .ask lizmat do you have any thoughts on my question here irclog.perlgeek.de/perl6-dev/2017-...i_14247061 ? i was working on github.com/MoarVM/MoarVM/issues/513 and had made some progress, but those tests failed
yoleaux2 MasterDuke: I'll pass your message to lizmat.
MasterDuke .ask timotimo do you have any thoughts on my question here irclog.perlgeek.de/perl6-dev/2017-...i_14247061 ? i was working on github.com/MoarVM/MoarVM/issues/513 and had made some progress, but those tests failed
yoleaux2 MasterDuke: I'll pass your message to timotimo.
DnAeillaxe MasterDuke: my best guess is that the test was supposed to be: my $type \$var = $maxval; \$var++; \$var 04:50
MasterDuke DnAeillaxe: yeah, was thinking the same thing. that makes sense 04:51
DnAeillaxe MasterDuke: that being said… 04:52
your changes will prevent this, right?
m: my int8 $x = 250; say $x
camelia -6
MasterDuke i'm just working on the *64 versions 04:53
DnAeillaxe well, fine 04:55
m: my uint64 $x = 18446744073709551610; say $x
camelia -6
MasterDuke i guess if i get them right i might try the others. but i'm really not the best person for this stuff
DnAeillaxe wait, what's up with it…
m: my int64 $x = 18446744073709551610; say $x 04:56
camelia -6
DnAeillaxe this is what I meant…
MasterDuke: I've been using this stuff to do quick conversions from unsigned to signed
not in actual code, but using perl6 as my general-purpose calculator :) 04:57
travis-ci Rakudo build passed. Zoffix Znet 'Merge pull request #1035 from MasterDuke17/add_narrower_candidates_for_infix_min_and_max 05:17
travis-ci.org/rakudo/rakudo/builds/210190501 github.com/rakudo/rakudo/compare/7...289a3fe3f4
Geth roast: 534c607615 | usev6++ | 2 files
Fudge some newly added tests for JVM
06:36
samcv what. nqp isn't even tested on jvm by travis :( 08:40
time to remedy that 08:47
Geth nqp: ff42445b9d | (Samantha McVey)++ | 10 files
Remake stage0 for JVM
nqp: 915c7517fd | (Samantha McVey)++ | .travis.yml
Attempt to get Travis CI testing under JVM
samcv wow nice. it might actually work on the first .travis.yml commit :) 08:52
moritz sound suspicious :-) 09:38
lizmat . 10:11
yoleaux2 04:45Z <MasterDuke> lizmat: do you have any thoughts on my question here irclog.perlgeek.de/perl6-dev/2017-...i_14247061 ? i was working on github.com/MoarVM/MoarVM/issues/513 and had made some progress, but those tests failed
lizmat MasterDuke: looks like if it fits, it is allowed: as soon as a significant bit is outside of 64bit, it complains 10:14
but only on assignment. Once it is in a native int, all bets and checks are off 10:15
m: my int $a = 9223372036854775807; dd $a; $a++; dd $a
camelia 9223372036854775807
-9223372036854775808
lizmat and that is the intent of natives, afaik
Files=1179, Tests=55864, 192 wallclock secs (11.65 usr 4.57 sys + 1149.74 cusr 107.20 csys = 1273.16 CPU) 10:30
afk again& 10:31
Geth rakudo: dod38fr++ created pull request #1036:
fix installation path of core dist
11:28
jnthn . 11:44
yoleaux2 04:45Z <MasterDuke> jnthn: do you have any thoughts on my question here irclog.perlgeek.de/perl6-dev/2017-...i_14247061 ? i was working on github.com/MoarVM/MoarVM/issues/513 and had made some progress, but those tests failed
jnthn MasterDuke: I suspect the test is a thinko; 2**63-1 and -2**63 would both be fine 11:45
It's fine if you overflow once you're in native land, that's part of native semantics
But unboxing something from Int that can't fit in the first place should be an error
MasterDuke ah ha, that's what i thought/hoped 11:46
for all the differently sized types? 11:47
e.g., assigning 256 to a uint8 should fail, but assigning 255 and then incrementing should result in 0? 11:48
jnthn Yes 11:49
MasterDuke cool 11:50
now while i'm thinking about it, can i create an mp_int outside of a function here? github.com/MoarVM/MoarVM/blob/mast...P6bigint.c 11:54
timotimo well, we always just create mp_int with malloc, iirc 17:36
yoleaux2 04:45Z <MasterDuke> timotimo: do you have any thoughts on my question here irclog.perlgeek.de/perl6-dev/2017-...i_14247061 ? i was working on github.com/MoarVM/MoarVM/issues/513 and had made some progress, but those tests failed
timotimo MasterDuke: sorry, i don't think i have an actual clue for this topic 17:37
nine I'd appreciate any input on irclog.perlgeek.de/perl6/2017-03-12#i_14250480 17:40
yoleaux2 10 Mar 2017 23:40Z <IOninja> nine: camelia seems to be stuck on an old commit. Needs to nuke nqp/MoarVM/3rdparty/libtommath to get it going again
nine jnthn: any input on irclog.perlgeek.de/perl6/2017-03-12#i_14250480 greatly appreciated :) 17:41
DrForr waves at nine - Found a little issue with role Inline::Python::PythonParent. If the parent class has :: in the name, $subclass_name has the :: in it as well, apparently illegal in Python. 17:47
Filed an issue already :) 17:49
Geth nqp: 042fe37620 | usev6++ | 2 files
[JVM] Make nqp::div_i round down, not towards zero

This change makes failing test in t/nqp/059-nqpop.t pass.
18:27
travis-ci Rakudo build canceled. Nick Logan 'yyy' 19:11
travis-ci.org/ugexe/P6TCI/builds/210311755 github.com/ugexe/P6TCI/compare/a3f...5b0bfbf859
Geth roast: bc98637a9f | usev6++ | 2 files
[JVM] Unfudge three passing tests
19:40
IOninja IO::Path.Bridge is broken because it tries to call Str.Bridge, but I don't really get why we do this .Bridge business in the first place. 21:32
mc: '.'.IO.Bridge 21:33
committable6 IOninja, ¦2015.12: «Method 'Bridge' not found for invocant of class 'Str'␤ in block <unit> at /tmp/l4cpJDCX26 line 1␤ «exit code = 1»»
DrForr Just in case there isn't complete overlap here, Perl6::Tidy is on github, though at the moment it only strips comments.
moritz it's about convert to Num
IOninja moritz: but why not just do that?
s:g/\.Bridge/.Num/; 21:34
moritz dunno
Geth nqp: e30967c2f1 | usev6++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java
[JVM] Handle division by zero in div_i

Commit 042fe37620 introduced a regression (two failing tests in S32-num/int.t)
IOninja I'm just gonna toss IO::Path.Bridge instead of adding Str.Bridge. Makes no sense to me :S 21:35
MasterDuke if .Bridge is about having a common numerical ground and/or converting to Num, why does IO::Path have one anyway? 21:36
IOninja doesn't understand the question... 21:37
MasterDuke why would one convert a path to some form of number?
IOninja Because it's Cool, as to why, I don't know. 21:38
MasterDuke ah, so you're going to explicitly disallow IO::Path.Bridge?
Geth rakudo/nom: 212cc8ae5d | (Zoffix Znet)++ | src/core/IO/Path.pm
[io grant] Remove IO::Path.Bridge

It has been broken since before Christmas because it tries to call Str.Bridge that does not exist. Don't understand what the point of .Bridge is, so instead of adding Str.Bridge, remove IO::Path.Bridge
21:39
MasterDuke good grief, it also has a .Numeric and .Int? 21:41
IOninja mhm
MasterDuke are those tested in roast?
IOninja no idea
MasterDuke lizmat added them to IO::Path 3 years ago 21:43
Geth roast: 2dd4f8b0e0 | usev6++ | S03-operators/increment.t
[JVM] Fix fudges for X::Multi::NoMatch
21:44
MasterDuke .ask lizmat what are IO::Path.(Numeric|Int) for? you added them in github.com/rakudo/rakudo/commit/58...f7af43f3d4 21:45
yoleaux2 MasterDuke: I'll pass your message to lizmat.
gfldex m: class C does Iterator { method pull-one { 1 } }; dd C.new.Seq ; 22:27
camelia No such method 'Seq' for invocant of type 'C'
in block <unit> at <tmp> line 1