samcv nice 00:02
[Coke], are they scoped to where they're declared? 00:03
Element80 m: no strict; $x = 42; say $x 00:07
camelia 42
Element80 TIL
samcv wow this is silly. $blib = "$blib " if $blib 00:11
instead of just adding a space inside the sprintf code. hah
BenGoldberg If you put the space in the sprintf code, it would be unconditional space... still present even if $blib happens to be the empty string. 00:17
OTOH, if it's constructing a string for the shell to run, extra spaces should be harmless... thus, the conditional version would be silly :P 00:18
[Coke] m: StrDistance.new 00:24
camelia Use of uninitialized value of type Any in string context.
Methods .^name, .perl, .gist, or .say can be used to stringify it to something meaningful.
in block <unit> at <tmp> line 1
Type check failed in assignment to $!after; expected Str but got …
samcv my thinking as well BenGoldberg 00:25
[Coke] m: StrDistance.new(:before<a> :after('b' x 42));
camelia ( no output )
BenGoldberg m: dd StrDistance.new(:before<a> :after('b' x 42));
camelia StrDistance.new(before => "a", after => "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")
MasterDuke m: say +StrDistance.new(:before<a> :after('b' x 42)); 00:26
camelia 42
samcv though BenGoldberg i'm making a $libpath variable
so i can set libpath once and then not have these weird %s right next to other terms ad have it look weird 00:27
BenGoldberg wonders why StrDistance doesn't calculate Levenshtein distance. Is the current algorithm better somehow? 00:51
AlexDaniel iirc StrDistance isn't part of the language
github.com/perl6/doc/issues/691 00:52
Zoffix FWIW the one test that uses it isn't part of the language yet :) 00:53
ugexe StrDistance *does* calculate levenshtein distance
AlexDaniel Zoffix: I think so too
in fact, we had some tests in the past that shouldn't have been there, so… :)
BenGoldberg: anyway, if you need some sort of string distance{, then maybe you will find this module useful: github.com/MasterDuke17/Text-Diff-Sift4 00:54
omg I'm starting to talk like ZofBot
Zoffix The one thing I hate about current impl of StrDistance is I can never remember the arg names and always seem to go for :from<> to<>
Seems like it could just take two positionals 00:55
BenGoldberg It should be: @d[$i][$j] = min( @d[$i-1][$j], @d[$i][$j-1], ( @d[$i-1][$j-1] + (@s[$i] eq @t[$j]) ) );
Personally, I don't even see why this is a class. Add a method to Str, called levenshtein-distance, which would take one positional argument. 00:59
Geth rakudo/nom: 00dc4947eb | (Samantha McVey)++ | 3 files
Add perl6-lldb-m for debugging MoarVM on the LLVM debugger

I have also simplified the libpath logic and put it into one variable instead of repeating the same sprintf for every single file.
I also combined lldb and gdb into the same section of code for compactness. $blib has a space before it if defined instead of after for clarity in the sprintf declarations (visible space between parameters).
samcv there we go :) lldb for everyone
rakudo/nom: 15a93387cc | (Samantha McVey)++ | tools/build/create-moar-runner.pl
Indent heredocs in create-moar-runner.pl

Part of the previous commit's changes but I separated out the change in indent into its own commit.
ugexe ah yeah. i was thinking StrDistance used the levenshtein routine in Perl6/World.nqp 01:00
samcv is there any way to access the levenstein?
Zoffix Meh, it don't feel like it belongs in Str.
samcv would be weird as a method though. as zoffix seems to think as well 01:01
AlexDaniel if I recall correctly there was no easy ay to access the levstheni 01:03
way*
but… it would be great to have one
I'd love to see how it compares with sift4 module 01:04
Zoffix I thought Perl6/World levenstein used StrDistance 01:06
Guess not github.com/rakudo/rakudo/blob/nom/...p#L58-L179 01:07
Though it *is* used somewhere in Grammar/Actions
Geth rakudo: LLFourn++ created pull request #1108:
Fix 'is export' on constants assigned to routines
01:18
roast: LLFourn++ created pull request #280:
Tests for exporting a constant assigned to a routine (RT #131704)
01:19
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131704
MasterDuke is there a way to use run() with a chained bash pipeline? e.g., something like run('ls', '|', 'sort', '-u') 02:03
geekosaur my $p = run('ls', :out); run('sort', '-u', :in($p.out)); 02:04
if you *must* do it in bash, do it in bash: run('bash', '-c', 'ls | sort') 02:05
MasterDuke heh, i was hoping for something a little simpler since the pipeline has a couple commands
Zoffix
.oO( why not shell()? )
geekosaur (although if youcare about portability at all you will use sh instead of bash. but who cares about portability any more?
or that, yes
MasterDuke i want to pass an option to one of the commands, but not open myself up to a shell injection 02:06
e.g., shell("ls --foo=$variable | sort -u")
geekosaur then you want my first example 02:07
no, it should not handle '|' magically, unless you think it's fine to prevent use of '|' as a parameter (e.g. to a field separator option)
nor is it possible to handle a named parameter as a positional so :pipe or :p is out as a separator 02:09
Zoffix m: use nqp; sub foo (:$x := 42) { dd nqp::iscont($x) }()
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> 3use nqp; sub foo (:$x :7⏏5= 42) { dd nqp::iscont($x) }()
Zoffix Any way to make a named param that takes a default and it not be a cont? 02:10
geekosaur ...also you likely need a recent rakudo for the first to work, because older ones were copying what data was immediately available instead of plumbing the commands together
Zoffix m: use nqp; sub foo (Mu :$x = 42) { dd nqp::iscont($x) }() 02:11
camelia 1
AlexDaniel geekosaur: fwiw, in your example, you have to $p.out.close if you don't have the most recent rakudo
Zoffix m: use nqp; sub foo (Int :$x = 42) { dd nqp::iscont($x) }()
camelia 0
MasterDuke yep, that's not a problem
Zoffix what sorcery is that... :(
AlexDaniel geekosaur: ah heh, which is exactly what you said basically :)
MasterDuke replying to geekosaur
Zoffix Ah, it's the rw thing that makes it deconted 02:12
Oh well, screw it
MasterDuke initial version of coverable6 was just launched 03:18
[Tux] This is Rakudo version 2017.06-148-g15a93387c built on MoarVM version 2017.06-37-g4e29e4c7 06:11
csv-ip5xs 2.630
test 12.615
test-t 4.185 - 4.431
csv-parser 13.185
lizmat Files=1209, Tests=64159, 217 wallclock secs (13.05 usr 4.89 sys + 1318.64 cusr 136.10 csys = 1472.68 CPU) 07:42
Geth roast: 5c12a34e6d | LLFourn++ | 2 files
Tests for exporting a constant assigned to a routine (RT #131704)
07:48
roast: 2f1759760c | lizmat++ (committed using GitHub Web editor) | 2 files
Merge pull request #280 from LLFourn/export-constant-regex

Tests for exporting a constant assigned to a routine (RT #131704)
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131704
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131704
lizmat samcv++ # unicode grant status update cry.nu/perl6/grant-status-update-2/ 07:59
Geth rakudo/nom: d067abf47a | LLFourn++ | src/core/traits.pm
Fix 'is export' on constants assigned to routines

The 'is export' exception catchall was higher precedence than the constant exporting candidate in the case of Routine. This patch makes
  `constant $sub is export = sub { ... }` take the same path as
  `sub foo is export { ... }` while preserving the constant variable's
symbol. ... (8 more lines)
10:03
rakudo/nom: 488abd8c89 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/traits.pm
Merge pull request #1108 from LLFourn/export-constant-regex

Fix 'is export' on constants assigned to routines
Zoffix samcv++ 10:06
samcv :) 10:07
timotimo .tell BenGoldberg the reason StrDistance is a class is because the tr operator returns it with the before and after of what it does so that the levenshtein distance will only be calculated if the user wants to see it, rather than on every single tr/// invocation 10:09
yoleaux timotimo: I'll pass your message to BenGoldberg.
timotimo .tell BenGoldberg if it were a method on Str with one pos arg, you'd turn my $dist = +tr/foo/bar/ into my $before = $_; tr/foo/bar/; my $dist = $before.levenshtein-distance($_) 10:10
yoleaux timotimo: I'll pass your message to BenGoldberg.
Zoffix NeuralAnomaly: status 10:11
NeuralAnomaly Zoffix, [✘] Next release will be in 1 week and 2 days. Since last release, there are 26 new still-open tickets (25 unreviewed and 0 blockers) and 153 unreviewed commits. See perl6.fail/release/stats for details
Geth rakudo/nom: 1b6d048bdf | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm
Handle case where "removed" is set and "from" isn't
11:17
rakudo/nom: 35cc7c0ecd | (Elizabeth Mattijsen)++ | src/core/set_precedes.pm
Deprecate (<+) ≼ (>+) ≽ in favor of (<=) ⊆ (>=) ⊇

As per irclog.perlgeek.de/perl6-dev/2017-...i_14830389
stmuk_ Zoffix: perl6.fail/release/stats is showing deleted tickets like the RT#131624 spam 11:20
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131624
Zoffix Yeah, I know. 11:21
I manually delete them once in a while but too lazy to code an automated solution
awww ≼ is deprecated. It's so pretty 11:24
lizmat prettier than ⊆ ? 11:26
it's less pointy, yes :-)
Zoffix Even use it in my advent article 11:27
stmuk_ surely its just a case of adding 'deleted' (or similar) to github.com/zoffixznet/r6/blob/mast.../RT.pm#L40
unless I'm missing something
Geth star: tbrowder++ created pull request #91:
tweak grammar and wording
11:28
Zoffix stmuk_: maybe, dunno
Geth star: 17634af46d | (Tom Browder)++ (committed by Zoffix Znet) | tools/star/release-guide.pod
tweak grammar and wording (#91)

  * add specific instructions for a system installation
  * tweak wording per Zoffix's comment
  * correct grammar, tweak wording
11:33
rakudo/nom: ebaac64d09 | (Elizabeth Mattijsen)++ | src/core/Setty.pm
Remove superfluous istrue and add return type
11:44
rakudo/nom: e20817fb7b | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm
Don't tell if there's no "from" or "removed"
11:52
star: tbrowder++ created pull request #93:
add space after script name
11:55
tbrowder i should have been using a separate and new branch for each PR, sorry 11:57
Geth rakudo/nom: 842bb31cd0 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
Move Baggy.eqv logic to Baggy.ACCEPTS

As the logic is the same, except for the explicit type check in eqv
12:34
rakudo/nom: c65652d83f | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
Make Baggy.keys about 40% faster

  - by nqp::getattr rather than .key
12:46
Zoffix stmuk_: I added `deleted` to that line now. But that spam ticket didn't get deleted 13:13
I think the problem was is RT's API doesn't report deletion status in the info, as it does with rejected/resolved 13:15
Yeah, now I remember it more: the script fetches only stuff from $last_fetch_date, adds new tickets and deletes anything that was resolved/rejected. But the `delete` status doesn't get reported the same as resolved/rejected, so teh fetcher doesn't know when a ticket was deleted and the fix needed would be to do a full DB fetch every, say, 24hrs, and refresh entire R6 db, so this way deleted tickets will be 13:21
nuked
Geth rakudo/nom: b2d2bf5905 | (Elizabeth Mattijsen)++ | 5 files
Make (Bag|Mix).WHICH about 8x faster

  - based on a 1000 elem Bag
  - introduces internal method raw_keys_values
   returns a nqp::list_s with keys and weight concatenated with \0
  - introduces internal method sha1, which sorts the above list and sha1s it
  - removes .WHICH from (Bag|Mix).Hash, now automatically handled by Mu.WHICH
13:40
lizmat this breaks 1 suspect spectest and makes 2 TODO's pass
Zoffix Is sha1-ing the keys of a bag really something that'd users would wanna do? 13:43
timotimo better than a potentially million characters long WHICH string :)
Zoffix timotimo: I don't see the connection to WHICH 13:44
Geth roast: 14af8024df | (Elizabeth Mattijsen)++ | S02-types/baggy.t
Fix too specific test for .WHICH value
timotimo it's strange, of course, to not have sha1 and raw_keys_values be private methods
the sha1 method was introduced to power WHICH
Zoffix Yeah, but it's a public method. 13:45
lizmat well, yeah, but private methods in roles *still* have a runtime lookup overhead :-(
timotimo maybe make them all uppercase
to signify "not for users"
Zoffix Yeah
.oO( method RAKUDO-INTERNAL-sha1 )
13:46
lizmat well, I would have to change a number of them then :-(
lizmat will upppercase 13:47
Zoffix I think this is a good example of the life of these things: youtu.be/D16wa-gnFwE?t=802 13:50
$*MAIN-ALLOW-NAMED-ANYWHERE wasn't specced or documented, yet there it is on a presentation screen of a large Perl conf :) 13:51
lizmat notes that UPPERCASING didn't help either :) 13:54
Geth rakudo/nom: d8c9435389 | (Elizabeth Mattijsen)++ | 3 files
We don't need no damned Baggy.sha1 :-)
Zoffix Yeah, which is why IMO we need to have "RAKUDO-INTERNAL", or something, prefix for things we don't plan to let users use 13:56
Though even then it's not fool-proof
Zoffix points at zef
lizmat perhaps we need an "is internal" trait ? 13:59
Zoffix maybe :)
[Coke] suggests is SEKRIT 14:02
Geth rakudo/nom: c585f370ce | (Elizabeth Mattijsen)++ | 2 files
.WHICHes must be ObjAts
14:04
Zoffix ZofBot: burn the .WHICHes! 14:05
ZofBot Zoffix, or why the idea of "hashref" has given way to just "hash" Zoffix: you should care becouse you delegate to them via libuv
Zoffix ZofBot: dammit! That was supposed to be a secret!
ZofBot Zoffix, map: {
Geth roast: e9f0893dc3 | (Elizabeth Mattijsen)++ | 2 files
Fix/Untodo tests related to RT #124454
14:16
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124454
Geth roast/6.c-errata: 1e29fd1882 | (Elizabeth Mattijsen)++ | 2 files
Fix/Untodo tests related to RT #124454
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124454
Zoffix m: use Test; isnt .Mix.WHICH, .WHICH with <a b c>.Mix.WHICH 14:23
camelia ok 1 -
Geth star: tbrowder++ created pull request #94:
tweak wording per comment by Zoffix, add space after script name
14:25
dogbert17 lizmat: so the idea is that Setty's and Baggies use the same sub-/superset operators from now on, i.e. (>=) and (<=) ? 14:26
lizmat dogbert17: yes, they have baggy (multiset) semantics for Bags/Mixes
and setty semantics for Set/SetHash 14:27
Sets being considered a constrained Bag 14:28
see irclog.perlgeek.de/perl6-dev/2017-...i_14830389
dogbert17 and officially the old operators are deprecated from 2017.07 ? 14:29
Zoffix This reminds me that this statement is only theoretically accurate, but not practically: github.com/rakudo/rakudo/blob/nom/...pl#L10-L12 14:30
dogbert17 just contemplating when we should change docs.perl6.org/language/setbagmix#infix_(%3C+)
Zoffix There's been a ton of new features that we documented and that people very likely use, but theoretically they're not part of Perl 6 language, because there's no 6.d yet 14:31
lizmat has really given up on that issue
Zoffix :) 14:32
dogbert17 I can fix the doc, but perhaps I should wait until next release?
Zoffix m: say Date.new('2017-10-19') - Date.today
nine I think it would help a lot of people if we just released a 6.d with what we have now. That way they can at least declare the dependency on the language version.
camelia 105
Zoffix So, let's do it? 14:33
jnthn I think it's quite clear that we want 6.d before the end of the year
Zoffix 105 days until Diwali. Seems like ample time to do all the things that need to be done.
jnthn If we want to do things Just Now then a 6.c.1 is also totally fine
Given I've publicly said the non-blocking await will be sorted by 6.d, I'd quite like to get that nailed :) 14:34
Pretty sure 105 days is enough for it :)
nine I'd be totally fine with a 6.c.1 as well. I'd be fine with having done such point releases regularily for the last year ;)
Zoffix A point release for every Rakudo Star? :) 14:35
huggable: star 14:36
huggable Zoffix, Estimated Rakudo Star releases for 2017: .01, .04, .07 & .10
Zoffix so 4 point releases.
a year
+1 major release every 2 years
lizmat likes the idea of a 6.c.1 release for every Rakudo Star 14:37
jnthn I'd be good with that.
Zoffix So.... then tentatively, we're aiming to cut 6.d on Diwali, aka Oct 18-19, 2017? 14:38
jnthn (Or at least, the general idea of a time-based minor, and for the moment the r* cadance works)
Zoffix is excited
[Coke] -1 on just-releasing-what-we-have. 14:39
lizmat [Coke]: elaborate
[Coke] I would love to see some curation there.
not "everything that's in rakudo is now 6.d" 14:40
Zoffix Not in rakudo, in roast/master
jnthn [Coke]: It's not "everything that's in Rakudo"
It's...what Zoffix said
[Coke] Zoffix: I have the same objection to that.
jnthn 6.c was never "what's in Rakudo", that's why we've been able to change various things that were in Rakudo
[Coke] there needs to be some review.
Zoffix [Coke]: OK, agreed. 14:41
[Coke] jnthn: I get the distinction, yes, I misspoke about the source of the everything.
Zoffix And I think after 6.d, when we start doing quarterly point releases of the language, it'd be easier to review the new additions
Than what we have now (2 years worth of changes)
jnthn I guess "review per time period" will be much easier too
Given...yes, the accumulation 14:42
[Coke] regarding documenting things, I have a long standing ticket about marking which language version something is available in (and maybe which compiler versions) on the doc site.
Zoffix Yup. That should also be resolved in the 105 days. 14:43
huggable: 6.d
huggable Zoffix, Proposals for 6.d language: github.com/perl6/specs/blob/master/v6d.pod
Zoffix And this too
dogbert17 Zoffix: is there anything missing in the 6.d proposals document? 14:45
Zoffix Dunno
Not to my knowledge
[Coke] moritz: your request for Sigils imply :D - doesn't this mean I can no longer have "my @x;" ?
dogbert17 wasn't there some discussion about something with '-' and some kind of file operations a few days ago 14:46
jnthn That is defined
Zoffix dogbert17: But to note: that document isn't "what's new in 6.d". It's just stuff that we included there and (mostly) still needs implementing.
dogbert17: ah yeah that needs to be added
[Coke]: IIRC the proposal is only for parameters, not variables 14:47
dogbert17 don't remember the details but a lot of people had opinions
Zoffix I remember details. Will add it now
[Coke] Zoffix: the samples show signatures, but aren't explicit that that's the only target.
dogbert17 Zoffix++ 14:48
[Coke] moritz: also should specify what that means for *@arg and **@args
even if it's "no change."
also, how to get the original behavior back if it's wanted? 14:51
lizmat use v6.c ? 14:53
[Coke] I mean, given this new feature, how do you declare an array parameter that -can- be undef.
typo in doc: "offser" 14:54
Zoffix :_ smiley
[Coke] Zoffix: when you say deprecate, do you literally mean mark deprecated, or do you mean remove? 14:55
Geth star: f0d3c5f8c3 | (Steve Mynott)++ | README
Correct $INSTDIR path documention and move to new section.

Mention the second PATH addition and remind user the source build will display this anyway
Zoffix [Coke]: literally mark deprecated (i.e. insert a call to DEPRECATE) 14:56
[Coke] Zoffix++ 14:57
lizmat aw, I killed Geth ? 14:59
lizmat committed github.com/rakudo/rakudo/commit/48...cade1280a2 15:00
Zoffix Seems same failure mode as its last death. Quits after receiving JSON from GitHub and no errors or any other output in screenlog
lizmat also committed github.com/rakudo/rakudo/commit/1a...7df3563ef1
moritz m: my @a; say @a.perl 15:06
camelia []
moritz [Coke]: `my @a` initializes @a not with a type object, but with an empty array. Same for *@arg that matches zero elements
nine Zoffix: anything about a segfault in dmesg output maybe? 15:09
Zoffix Oh yeah "[21171803.070062] moar[14083]: segfault at 2000000001 ip 00007fa96727f537 sp 00007fa917ffe9d0 error 4 in libmoar.so[7fa9670ae000+4b8000]" 15:12
Zoffix & 15:13
nine Maybe even a core dump in /var/lib/systemd/coredump?
[Coke] moritz: ok, that all seems reasonable. :) 15:15
Geth rakudo/nom: e8e68955f4 | (Elizabeth Mattijsen)++ | 4 files
Hide QuantHash.raw_keys as R:Q.RAW-KEYS
15:23
Zoffix no coredumps 15:33
Geth rakudo/nom: c3e3ffaadb | (Elizabeth Mattijsen)++ | 4 files
Hide Baggy.raw_keys_values as R:Q.BAGGY-RAW-KEYS-VALUES
15:49
lizmat afk&
Zoffix wants to make a Perl 6 user survey 16:52
Nothing huge, just ask why people use it and what they think is most imprortant to improve 16:53
And have some data for marketing for 6.d 16:54
/j #perl6 18:56
gah
Geth rakudo/nom: edadbe6f50 | (Timo Paulssen)++ | src/core/Process.pm
fix $*EXECUTABLE dying when rakudo run via valgrind

it gives an empty string rather than an undefined object, so the // operator wouldn't ever do anything here and the fallback was essentially useless.
20:18
rakudo/nom: 59b812521c | (Elizabeth Mattijsen)++ | 18 files
Obscurize QuantHash.raw_hash to QuantHash.RAW-HASH
21:07
Zoffix So... with 6.d... How about changing language name? :) 21:22
Feels like an opportune point to do such a change. 21:23
lizmat if there would be a change, I would propose "Rakudo Perl 6" instead of just "Perl 6" 21:25
emphasizing the "Rakudo" bit 21:26
Zoffix registers rakudo.party :) 21:30
Yeah, I really like it. I think that accomplishes the goal having the ability of avoiding (or at least de-emphasizing) "Perl" in marketing materials to draw people in, while still retaining "Perl 6" so that all of our existing infrastructure doesn't look totally confusing. 21:38
I'm gonna sub "Perl 6" with "Rakudo" on all of my rakudo.party article soon. 21:39
*articles
jnthn sighs
Zoffix Why? 21:40
The past two years are a pretty clear indication to me that name "Perl" is unmarketable. Even on the coolest articles the comments quickly dwelve into why Perl is dead, whether trolling in tone or genuine polite discussion. 21:41
lizmat jnthn: why sigh ? Rakudo is *an* implementation of Perl 6, is it not ? 21:43
jnthn Yes, and thus not the name of the language
But seriously, I've been working on this for ages and have watched this damn disucssion happen like 50 times by now.
timotimo .o( 10 reasons why gcc is the best programming language )
lizmat jnthn: but it is blurring already 21:44
Zoffix And there's still a major problem. You could have the discussion a 100 times and we'll still have a problem if it's not addressed.
lizmat I mean, the Perl 6 Weekly *is* about Rakudo Perl 6
for lack of news of other implementations 21:45
Zoffix What was the gist of other discussions? When I came to Perl 6 on The Christmas, the explanation was that Perl 6 is a good name because Perl is a strong brand. 2 years later I see that assumption failed. 21:46
lizmat but I was more thinking about marketing Perl 6, not necessarily changing the name of the language
Zoffix Same here. It's all marketing. 21:47
It's not so much renaming the language, but having a perfectly usable name that does not have "Perl" in it. 21:48
And it doesn't matter if the full name has Perl in it.
jnthn Wait, what? You started this with "How about changing language name?" :P
timotimo literally
Zoffix Hahaha. Well, I didn't expect that I'd get anything else other than "this damn discussion again". 21:49
ugexe ive never had a problem marketing to businesses other than lacking performance in their areas of need. and these have all been perl shops, and likely only entertained the idea of a different language at all was *because* of the name perl
Zoffix But what started it before I typed stuff in the chat is me brushing up on my work's marketing books to prep for marketing 6.d and realizing "Perl 6" as a name is quite unmarketable. 21:50
timotimo maybe we need to call it Six Perl instead
Spear :) 21:52
Spleen
Geth rakudo/nom: 73c3bcc662 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
Introducing Rakudo::QuantHash::Quanty role

The QuantHash equivalent of Rakudo::Iterator::Mappy
21:53
rakudo/nom: 7f109ed7cc | (Elizabeth Mattijsen)++ | 3 files
Use R:Q::Quanty where possible

This reduces the usage of QuantHash.hll_hash, but not eliminates it completely yet :-(
Zoffix That'd give awful googling results :)
timotimo let's call our language The 21:54
and then we make a dialect that can drop down to assembly language directly and call it Thee 21:55
Zoffix "The" is good. We'd shoot right to the top of TOBEE index :}
TIOBE
But I like "Rakudo". Much more familar name already. People already are told to use "Rakudo Star". etc 21:56
And the full name expanding "Rakudo Perl 6" explains all those perl6 mentions all over the place. 21:57
:)
Well, I'll start with rakudo.party. Will see where it takes me :)
Though I'm slightly saddened to lose the alliteration :) 21:58
timotimo rakudo.raffle 22:00
samcv looking through the last 2 failed graphemeclusterbreak tests 22:05
one of them is this:
BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) × [10.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier)
definetly synthetic and not ever going to be seen but hah
why would you ever... heh 22:06
timotimo boy + combining dyalysis machine? 22:07
lizmat well, if you could force a segfault with it, some people *will* use it :-(
timotimo jnthn: you agree it's a bug Rakudo_Scalar can't be mixed in because the ops using it don't follow the real_data pointer? 22:11
i mean you can mix into it, but it'll then say "this isn't writable!" when i assign to it, which i assume is because it's accessing some probably bogus data? 22:12
jnthn timotimo: Um...that sounds a bit bused 22:13
*busted even 22:15
Though SIGBUS is probably also a possibility :P
timotimo well, i have only tried a single piece of code 22:18
i should try something with more than one scalar :)
m: my $a = 99; $a.VAR does role MessUp { has $.bar }; say 1 + $a 22:24
camelia Cannot resolve caller Numeric(Scalar+{MessUp}: ); none of these signatures match:
(Mu:U \v: *%_)
in block <unit> at <tmp> line 1
timotimo that's wrong, isn't it?
jnthn Hm, odd indeed 22:25
Oh
Maybe when we mix in, we don't carry the container spec correctly?
timotimo i'm not sure how i'd figure that out :D
jnthn The MOP'd have to be doing it explicitly
Read the mixin code ;)
But we have to do such tricks to get mixins to bool to still boolify right 22:26
timotimo i don't see an nqp op that'd give us the container spec for something 22:29
there is only setcontspec, not getcontspec
jnthn Indeed; really we'd have to stash the info in the meta-object if we ain't alrady 22:30
*already 22:31
Then ask for it
Geth rakudo/nom: 125bc437df | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
Introducing R:Q:Quanty-kv role

Like R:Q:Quanty, but specialised for .kv methods
22:41
rakudo/nom: 381a073e3f | (Elizabeth Mattijsen)++ | 2 files
Use R:Q:Quanty-kv where possible

Removes one more usage of QuantHash.hll_hash
rakudo/nom: b0c8e18790 | (Elizabeth Mattijsen)++ | 3 files
Remove push-all from R:Q:Quanty-kv

It is Setty specific, and we don't want to run the risk of it leaking elsewhere.
22:56
dogbert17 trying to run 'perl6 --profile --doc doc/Type/Str.pod6' fails miserably 23:11
timotimo it probably does something multithreaded? 23:12
like it calls subprocesses to get highlighting?
oh, wait
that's perl6 --doc
okay
dogbert17 yes
timotimo but i'd expect you'd have to --profile-compile there actually
dogbert17 why
the error is: 23:13
Cannot call method 'defined' on a null object
in sub heading2text at /home/dogbert/.rakudobrew/moar-nom/install/share/perl6/sources/5DD1D8B49C838828E13504545C427D3D157E56EC (Pod::To::Text) line 33
in sub pod2text at /home/dogbert/.rakudobrew/moar-nom/install/share/perl6/sources/5DD1D8B49C838828E13504545C427D3D157E56EC (Pod::To::Text) line 15
interestingly, if I run with MVM_SPESH_DISABLE=1 it works 23:14
timotimo ah
i was hunting that same thing somewhere else a day or two ago
dogbert17 github.com/rakudo/rakudo/blob/nom/...xt.pm6#L33
lizmat good night, #perl6-dev! 23:15
timotimo nite lizmat!
dogbert17 night lizmat
does this mean that $pod is suddenly Nil
timotimo out of nowhere, yeah 23:16
dogbert17 bizarre
timotimo yeah, it's something deep down in the guts
dogbert17 maybe a godd test when the spesh rework has progressed a bit further 23:17
currently running --doc on Cool.pod6 takes more than 2.5 secs on my machine 23:18
samcv dammit. ugh. ok so this is a test to make sure you break inside emoji sequences... so char 1 is emoji base char 2 is extend and char3 completes it. but i can't break on extend in other places so ugh
so another case where we need to keep state across here
dogbert17 samcv: any theories wrt RT #131384 23:20
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131384
samcv uh oh 23:21
let me see something
ok so the problem only happens when it tries to print to the screen 23:26
if you set it to a variable everything is fine
the error can be made better i think 23:28
dogbert17 interesting
samcv MVM_panic(1, "MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist");
this sounds better to me
dogbert17 but should it really come crashing down?
samcv yeah it would be nice if that didn't happen 23:29
i'm gonna check a few things
dogbert17 cool 23:30
samcv ok so the call was for -30 but only 6 synthetics exist
dogbert17 I'm probably stupid but why is it using these synthetics if it is supposed to output ascii? 23:31
samcv good point 23:37
we can make those throw exceptions instead of totally kill MoarVM though
i mean we could just insert replacement character instead... 23:39
or something
well i made failed calls return the crlr synthetic instead and it looks like i ended up with two crlf's 23:40
maybe 3
well. foo(\r\n\r\n\r\n)o 23:41
though idk how significant that is anyway
probably has to do with the number of bytes the♥ took up
m: '♥'.ord.base(2).chars.say
camelia 14
samcv so 14 bits at least. probably ended up as more than that due to utf-8 23:42
so that would make sense
u: replacement character
unicodable6 samcv, U+FFFC OBJECT REPLACEMENT CHARACTER [So] ()
samcv, U+FFFD REPLACEMENT CHARACTER [So] (�)
dogbert17 are there any 'rules' for what to do when an output encoding does not support a byte (sequence) ?
samcv uh you can use replacement character 23:43
or skip it
that's basically it
dogbert17 ok, just curious
samcv MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist. 23:46
Requested synthetic 30 but there are only 6 exist.
how is this for an error?
it's way clearer 23:47
geekosaur either remove 'there are' or say 'existing' (but that's not ideal) 23:48
BenGoldberg dogbert17, There are *three* possible things you can do when an output encoding does not support a partcular character: skip it, use a replacement, or throw an exception.
yoleaux 06:09 EDT <timotimo> BenGoldberg: the reason StrDistance is a class is because the tr operator returns it with the before and after of what it does so that the levenshtein distance will only be calculated if the user wants to see it, rather than on every single tr/// invocation
06:10 EDT <timotimo> BenGoldberg: if it were a method on Str with one pos arg, you'd turn my $dist = +tr/foo/bar/ into my $before = $_; tr/foo/bar/; my $dist = $before.levenshtein-distance($_)
BenGoldberg Ahh 23:49
samcv geekosaur, i wanted to make it more clear that there's not a set number of synthetics 23:50
hm
"Requested synthetic %i when %i exist."
geekosaur 'there are only 6 defined' or 'only 6 have been created'
samcv Requested synthetic %i when only %i have been created. 23:51
dogbert17 BenGoldberg, thx 23:52
samcv also the question is whether to print out the synthetic as a negative or positive number
but it is reversed inside the function to not be negative 23:53
Requested synthetic -10 but only 5 have been created # maybe confusing?
geekosaur I'd argue the word 'synthetic' is an implicit minus sign, or equivalently that their being negative is an internal detail the user shouldn't have to deal with 23:54
samcv yeah
i was going to change MVM_nfg_get_synthetic_info illegally called on codepoint >= 0 23:55
to MVM_nfg_get_synthetic_info illegally called on a non-synthetic codepoint.\nRequested codepoint %i.
negatives are just really confusing to anyone. like they might think oh why is it negative something must really be brokken!
geekosaur yeh. I even had that immediate thought in reaction to the original error message even though I know they're internally negative 23:56
samcv yep 23:57