dalek ast: e16d1a0 | (Zoffix Znet)++ | S02-literals/radix.t:
Remove trailing whitespace
ast: 340125d | (Zoffix Znet)++ | S02-literals/radix.t:
Format spread out code tighter
kudo/nom: a489de3 | PerlJam++ | src/core/Exception.pm:
un-mention mainline in exception
kudo/nom: 0c3d9e8 | (Zoffix Znet)++ | src/Perl6/Actions.nqp:
Awesomify error when misparsing rad numbers

  - Remove fractional numbers that make no sense to user
  - Throw X::Syntax::Number::InvalidCharacter instead of X::AdHoc
  - Indicate visually where the issue in the number is
Fixes RT#128804: rt.perl.org/Ticket/Display.html?id=128804
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128804
dalek ast: 83ad8fd | (Zoffix Znet)++ | S02-literals/radix.t:
Test rad number misparse errors are awesome

RT#128804: rt.perl.org/Ticket/Display.html?id=128804 Fix commit: github.com/rakudo/rakudo/commit/0c3d9e803d
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128804
MasterDuke babydrop: just curious, any reason $<fracpart> ?? $<fracpart> !! '' couldn't be $<fracpart> (// | ||) ''? 00:48
dalek kudo/nom: a2ede36 | lizmat++ | / (2 files):
Make sure we can .reverse/rotate shaped 1dimmed arrays
babydrop MasterDuke: I was gonna say no, but for some reason this change dies with "concatenate requires a concrete string, but got null" gist.github.com/zoffixznet/bb664e9...083cc4abe0 03:05
MasterDuke not what i would've expected
babydrop yeah weird 03:06
MasterDuke same for // ?
babydrop is building that ATM
MasterDuke i really want an exists=
babydrop Yeah, works with // 03:10
nqp: nqp::say("foo" ~ ($<bar> || '')) 03:11
camelia nqp-moarvm: OUTPUT«foo␤»
babydrop nqp: nqp::say("foo" ~ ($<bar> || 'meow'))
camelia nqp-moarvm: OUTPUT«foomeow␤»
babydrop weird
MasterDuke exists= is the wrong way to say it. // => definiteness, || => truthiness, <something> => hash existence 03:15
babydrop Oh, repod 03:22
nqp: my $m := ("foo" ~~ /$<bar>=\w+/); nqp::say($m<bar> || '')
camelia nqp-moarvm: OUTPUT«say requires a concrete string, but got null␤ at <tmp>:1 (<ephemeral file>:<mainline>)␤ from gen/moar/stage2/NQPHLL.nqp:1462 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval)␤ from gen/moar/stage2/NQPHLL.nqp:1665 (/home/camelia/rakudo-m-i…»
babydrop nqp: my $m := ("foo" ~~ /$<bar>=\w+/); nqp::say($m<bar> // '')
camelia nqp-moarvm: OUTPUT«foo␤»
babydrop hmm 03:23
Actually, that makes even less sense, 'cause in this case $m<bar> is defined
nqp-jvm: my $m := ("foo" ~~ /$<bar>=\w+/); nqp::say($m<bar> // '')
camelia nqp-jvm: OUTPUT«#␤# There is insufficient memory for the Java Runtime Environment to continue.␤# pthread_getattr_np␤# An error report file with more information is saved as:␤# /home/camelia/hs_err_pid532.log␤[thread 139630030198528 also had an error]␤»
MasterDuke i get "foo" with a slightly old nqp-j 03:26
dalek kudo/nom: 061753c | (Zoffix Znet)++ | src/Perl6/Actions.nqp:
Use shorter conditional

babydrop The annoying part about ^ that is I mistyped the name of the key in the ?? !! form and had to rebuild when I realised that :)
back when I first wrote that 03:37
and || form wouldn't have had that issue
dalek ast: d47d898 | (Zoffix Znet)++ | S02-literals/radix.t:
Test awesomeness of X::Syntax::Number::InvalidCharacter

RT#130255: rt.perl.org/Ticket/Display.html?id=130255
We need a special place for tests like these. Either t/ in rakudo or `volatile/` in spec. Basically for tests that check the currently desired behaviour is correct, but carry no obligation that we will maintain the current behaviour unchanged, since in the future we may decide a reformatted message reads better and overly-specific content tests would break due to that reformatting.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130255
rakudo/nom: 37ead5a | (Zoffix Znet)++ | src/core/Exception.pm:
rakudo/nom: Awesomify X::Syntax::Number::InvalidCharacter
rakudo/nom: - Explicitly tell what char is invalid
babydrop - Offer a list of valid chars
Fixes RT#130255: rt.perl.org/Ticket/Display.html?id=130255
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130255
babydrop github.com/rakudo/rakudo/commit/37...f85b0b7685
dalek p: 4a3ae57 | MasterDuke17++ | src/vm/moar/HLL/Backend.nqp:
Add SQL as an output option for profiles

This creates a .sql file with several CREATE TABLE statements and many INSERT INTO statements. This has been tested with SQLite and with the appropriate queries the results seem to match the JSON and HTML outputs.
p: 8cbb0ca | (Zoffix Znet)++ | src/vm/moar/HLL/Backend.nqp:
Merge pull request #327 from MasterDuke17/profile_output_to_sql

Add SQL as an output option for profiles
babydrop spectest a bump 04:31
dalek kudo/nom: f20b8b6 | (Zoffix Znet)++ | tools/build/NQP_REVISION:
(nqp bump) Add SQL as an output option for profiles
kudo/nom: acbbc87 | (Zoffix Znet)++ | src/Perl6/Compiler.nqp:
Add .sql format option to --help usage message
MasterDuke if anyone is interested, i profiled a rakudo build and output it as sql. the 740mb (13 million lines) file took a min or two for sqlite to .read 05:55
the top 40 routines sorted by exclusive time (descending) are here: gist.github.com/MasterDuke17/5bb11...b60406e91f 05:56
babydrop :o
MasterDuke++ 05:58
.oO( a web app that lets you explore huge .sql profiles... )
dalek kudo/nom: 5635c5b | (Zoffix Znet)++ | src/Perl6/Actions.nqp:
Compare numeric value against a constant number, not string
moritz MasterDuke: so MATCH and find_symbol, right? 06:55
dalek p: 5c42dcc | moritz++ | src/QRegex/Cursor.nqp:
Expand tabs to spaces in Cursor.MATCH; no functional changes
p: e1f6ab4 | moritz++ | src/QRegex/Cursor.nqp:
Add a type declaration in Cursor.MATCH

might improve codegen a bit
p: 9269633 | (Zoffix Znet)++ | src/QRegex/P6Regex/Actions.nqp:
Remove trailing whitespace
moritz so, I've noticed that the NQP code in Rakudo often uses "if +@foo { ... }" or "if +%sym { ... }" 07:35
why the + in front of the containers?
is it faster than without it?
it looks a bit like cargo culting to me, but what do I know about NQP? :_) 07:36
babydrop I know +@foo in Perl 6 is *not* faster for not fully riefied stuff
moritz yes, in NQP @ isn't lazy 07:37
babydrop Still, I'd imagine "does have any stuff?" is easier to answer than "how much stuf is there?"
moritz when I remove it, the changes to setting compilation speed seem to be insiginificant 07:38
babydrop hm, rx_syntax in nqp/t/qregex is not being run :\ 07:39
And if I add it to run each test fails (cause it tests errors...)
moritz babydrop: there should be a test runner that reads that file 07:44
might have gone missing
babydrop nothing turns up for grep -R 'rx_syntax'
moritz right 07:45
dalek p: c5f3888 | (Zoffix Znet)++ | / (3 files):
Forbid bare \b and \B in regexes

Fixes RT#128986: rt.perl.org/Ticket/Display.html?id=128986
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128986
babydrop oh... 08:01
dalek p: 66308ea | (Zoffix Znet)++ | src/QRegex/P6Regex/ (2 files):
Simplify forbiddence of bare \b and \B in regexes

Use the obsolete throwage thing right in the grammar instead of going all the way into actions.
kudo/nom: 08589d3 | (Zoffix Znet)++ | tools/build/NQP_REVISION:
(nqp bump) Forbid bare \b and \B in regexes

Fixes RT#128986: rt.perl.org/Ticket/Display.html?id=128986
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128986
dalek ast: 23431df | (Zoffix Znet)++ | S05-metasyntax/regex.t:
Remove trailing whitespace
ast: 846af2a | (Zoffix Znet)++ | S05-metasyntax/regex.t:
Test bare \b and \B in regexes are forbidden

RT#128986: rt.perl.org/Ticket/Display.html?id=128986 Fix commits:
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128986
kudo/nom: 4e76827 | (Zoffix Znet)++ | src/core/Mu.pm:
Implement Mu.emit to go with &emit

To mirror &take/.take symmetry.
Fixes RT#128968: rt.perl.org/Ticket/Display.html?id=128968
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128968
dalek ast: e3c8d5a | (Zoffix Znet)++ | S17-supply/basic.t:
Test .emit works as a method

RT#128968: rt.perl.org/Ticket/Display.html?id=128968
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128968
timotimo MasterDuke: good work! 10:19
MasterDuke github.com/perl6/nqp/blob/master/s....nqp#L1011 12:27
nqp::bindpos($list, $name, $submatch);
nqp: my $a := "c"; my $l := nqp::list(); nqp::bindpos($l, $a, "test"); say($_) for $l 12:29
camelia nqp-moarvm: OUTPUT«test␤»
MasterDuke nqp: my $a := "c"; my $l := nqp::list(); nqp::push($c, "before"); nqp::bindpos($l, $a, "test"); say($_) for $l
camelia nqp-moarvm: OUTPUT«Use of undeclared variable '$c' at line 2, near ", \"before\""␤ at gen/moar/stage2/NQPHLL.nqp:724 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:2664 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moarvm:v…»
MasterDuke nqp: my $a := "c"; my $l := nqp::list(); nqp::push($l, "before"); nqp::bindpos($l, $a, "test"); say($_) for $l
camelia nqp-moarvm: OUTPUT«test␤»
MasterDuke interesting, so that just resets the list? 12:30
nqp: my $a := "c"; my $l := nqp::list(); nqp::push($l, "before 1"); nqp::push($l, "before 2"); nqp::bindpos($l, $a, "test"); say($_) for $l
camelia nqp-moarvm: OUTPUT«test␤before 2␤»
MasterDuke ah, just the first index 12:31
timotimo i did not know that o_O 12:32
that's a bug, right?
MasterDuke not very obvious, why not just nqp::bindpos($list, 0, $submatch); 12:33
don't know
timotimo i mean, in theory $name could have an int in it 12:34
MasterDuke i'm trying to make it a str 12:36
right now it doesn't like github.com/perl6/nqp/blob/master/s...r.nqp#L985
if !nqp::isnull($name) && nqp::defined($name) && $name ne '' {
but i get "equal requires a concrete string, but got null" 12:37
which i don't understand because !nqp::null($name) is the very first condition 12:38
dalek p: 6842e5a | niner++ | / (4 files):
Allow for using a different prefix for NQP and MoarVM

Parts of the build system assumed that NQP and MoarVM are being installed into the same prefix. This is no longer the case. With the (now documented --with-moar) option, the user can point to a moar binary that may reside somewhere else.
kudo/nom: a803a15 | niner++ | src/Perl6/ModuleLoader.nqp:
Get rid of unneeded searching of . and blib for NQP modules
kudo/nom: 6f6e6db | niner++ | / (8 files):
--with-nqp Configure option for having NQP in a different prefix

With this change, Rakudo, NQP and MoarVM can be installed into different prefixes each. Should simplify packaging these components separately quite a bit simpler.
nine mst: ^^^ sorry, I was kinda bored on my way home and too tired to dig into the JIT
moritz nine++ 13:17
nine mst: but rakudo still gives plenty opportunity to sink a couple hours :) 13:18
timotimo cool! 13:26
MasterDuke so locally i just turned NQPCursorRole.$!name into a str. nqp builds and passes make test, rakudo builds, but make install dies with "X::Multi::NoMatch exception produced no message in block <unit> at tools/build/create-moar-runner.pl line 9" 13:28
and the parse wasn't noticeably faster :( 13:29
lucasb_ m: say sub ($,$,$,$,$) {}.signature 14:12
camelia rakudo-moar 6f6e6d: OUTPUT«($,,,,)␤»
lucasb_ ^^ hopefully, an easy one to fix 14:13
I was reminded of it while reading the ticket that said that '--target=parse' is hanging 14:14
babydrop clicks the "Take" button on lucasb_ 17:40
.ask nine how did you figure out it was endless recursion in QRegex.dump? rt.perl.org/Ticket/Display.html?id=129262 17:41
yoleaux2 babydrop: I'll pass your message to nine.
babydrop Hm t/spec/S02-literals/radix.t keeps failing for me during spectest run, but passes individually "Non-zero exit status: 255" 18:20
dalek ast: f49e54a | (Zoffix Znet)++ | S02-literals/radix.t:
Fix typo in test description
babydrop ...maybe that's what it was trying to tell me...
dalek kudo/nom: 219f527 | (Zoffix Znet)++ | src/core/Signature.pm:
Fix strippage of anon typeless sigils in Signature.gist

Fixes: irclog.perlgeek.de/perl6-dev/2016-...i_13678469
  TimToady++ for the fix
ast: 3ef9dfb | (Zoffix Znet)++ | S06-signature/introspection.t:
Test Signature.gist does not strip typeless anon scalar sigils

Test for commit github.com/rakudo/rakudo/commit/219f527d4a
babydrop weird. make t/spec/S02-literals/radix.t always passes, but prove -e './perl6' -vlr t/spec/S02-literals/radix.rakudo.moar does show the crash each time :/ 18:30
m: :11<Z> 18:31
camelia rakudo-moar 219f52: OUTPUT«Unhandled exception: Index out of range. Is: -1, should be in 0..Inf␤ at <unknown>:1 (/home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm:print_exception)␤ from SETTING::src/core/Exception.pm:426 (/home/camelia/rakudo-m-inst-1/sha…»
nine babydrop: a neat trick jnthn++ tought me: attach gdb to the "hanging" process. Then: call MVM_dump_backtrace(tc) 18:32
yoleaux2 17:41Z <babydrop> nine: how did you figure out it was endless recursion in QRegex.dump? rt.perl.org/Ticket/Display.html?id=129262
nine Should give you a backtrace of the running process.
babydrop nine++ thanks
Ah, I see the issue of the test. This Zoffix dude forgot to increase plan in: github.com/perl6/roast/commit/d47d...2eae6f67b4 18:33
dalek ast/ab5tract/bag-mix-symdif: 5c99c7a | ab5tract++ | S03-operators/ (2 files):
Re-introduce the fixes for bag/mix symdif

This time, we don't change any of the set tests.
All of the 'showkv' calls were removed as they are no longer necessary and several new tests to ensure symmetric behavior on (+) and (.) operators.
ast: 2c21cc2 | (Zoffix Znet)++ | S02-literals/radix.t:
Fix broken radix parse tests

Tests added in github.com/perl6/roast/commit/d47d...2eae6f67b4
  - Bump plan
  - radix 36 does not trigger the tested error, test radix 35 instead
kudo/nom: fa82a1f | (Zoffix Znet)++ | src/core/Exception.pm:
Fix crash with X::Syntax::Number::InvalidCharacter when radix is 11

  "There are only two hard problems in Computer Science:
   cache invalidation, naming things, and off-by-one errors."
.oO( Invalidating everyone's mental cache when you rename something to avoid off-by-one errors )
MasterDukeLaptop is there any way to get line directives working during the nqp compile? 20:15
this line github.com/perl6/nqp/blob/master/s...r.nqp#L679 is run, but @*comp_line_directives is always empty 20:17
however, github.com/perl6/nqp/blob/master/s...s.nqp#L228 is not being called 20:19
i tried making new bootstrap files, but no dice 20:20
[TuxCM] This is Rakudo version 2016.11-130-gfa82a1f85 built on MoarVM version 2016.11-27-g3171dbbe 20:44
csv-ip5xs 3.264
test 14.397
test-t 6.610
csv-parser 13.801
MasterDukeLaptop [TuxCM]: have you been able to make use of any of lizmat's recent work on native shaped arrays? 20:50
MasterDuke .tell jnthn to go along with the issue AlexDaniel mentioned, here's the backtrace for a segfault. however, i don't know exactly what the code was that caused the segfault, since accidentally we were both editing it at the same time. gist.github.com/MasterDuke17/8e162...c3ffd6ccde 21:07
yoleaux2 MasterDuke: I'll pass your message to jnthn.
AlexDaniel I think the issue is not with the code, you just got a bit lucky once :)
babydrop .tell Zoffix irclog.perlgeek.de/perl6/2016-12-04#i_13679924 21:51
yoleaux2 babydrop: I'll pass your message to Zoffix.
dalek ast: 47c7fef | (Aleks-Daniel Jakimenko-Aleksejev)++ | S02-literals/quoting-unicode.t:
“smart” → “curly” (related to RT #130260)

These are just the test descriptions, so I guess there is no problem with that change whatsoever.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130260
babydrop Looks like Apevoyer started failing after "--with-nqp Configure option for having NQP in a different prefix" commit 22:54
timotimo ah, darn 22:57
dalek p: 1e7409a | MasterDuke17++ | src/QRegex/Cursor.nqp:
Convert tabs to spaces and align things
p: 9e53a15 | (Zoffix Znet)++ | src/QRegex/Cursor.nqp:
Merge pull request #328 from MasterDuke17/QRegex-Cursor.nqp_whitespace_cleanup

Convert tabs to spaces and align things