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 |