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 |