Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-07-06

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 samcv nice
00:03 samcv [Coke], are they scoped to where they're declared?
00:07 Element80 m: no strict; $x = 42; say $x
00:07 camelia rakudo-moar d39f7b: OUTPUT: «42␤»
00:07 Element80 TIL
00:11 samcv wow this is silly. $blib = "$blib " if $blib
00:11 samcv instead of just adding a space inside the sprintf code. hah
00:17 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:18 BenGoldberg 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:24 [Coke] m: StrDistance.new
00:24 camelia rakudo-moar d39f7b: OUTPUT: «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 …»
00:25 samcv my thinking as well BenGoldberg
00:25 [Coke] m:  StrDistance.new(:before<a> :after('b' x 42));
00:25 camelia rakudo-moar d39f7b: ( no output )
00:25 BenGoldberg m: dd StrDistance.new(:before<a> :after('b' x 42));
00:25 camelia rakudo-moar d39f7b: OUTPUT: «StrDistance.new(before => "a", after => "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")␤»
00:26 MasterDuke m: say +StrDistance.new(:before<a> :after('b' x 42));
00:26 camelia rakudo-moar d39f7b: OUTPUT: «42␤»
00:26 samcv though BenGoldberg i'm making a $libpath variable
00:27 samcv so i can set libpath once and then not have these weird %s right next to other terms ad have it look weird
00:30 Zoffix joined #perl6-dev
00:51 * 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
00:52 AlexDaniel https://github.com/perl6/doc/issues/691
00:53 Zoffix FWIW the one test that uses it isn't part of the language yet :)
00:53 ugexe StrDistance *does* calculate levenshtein distance
00:53 AlexDaniel Zoffix: I think so too
00:53 AlexDaniel in fact, we had some tests in the past that shouldn't have been there, so… :)
00:54 AlexDaniel BenGoldberg: anyway, if you need some sort of string distance{, then maybe you will find this module useful: https://github.com/MasterDuke17/Text-Diff-Sift4
00:54 AlexDaniel omg I'm starting to talk like ZofBot
00:54 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<>
00:55 Zoffix 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]) ) );
00:59 BenGoldberg 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
00:59 Geth ¦ rakudo/nom: Add perl6-lldb-m for debugging MoarVM on the LLVM debugger
00:59 Geth ¦ rakudo/nom:
00:59 Geth ¦ rakudo/nom: I have also simplified the libpath logic and put it into one variable
00:59 Geth ¦ rakudo/nom: instead of repeating the same sprintf for every single file.
00:59 Geth ¦ rakudo/nom:
00:59 Geth ¦ rakudo/nom: I also combined lldb and gdb into the same section of code for
00:59 Geth ¦ rakudo/nom: compactness. $blib has a space before it if defined instead of after
00:59 Geth ¦ rakudo/nom: for clarity in the sprintf declarations (visible space between parameters).
00:59 samcv there we go :) lldb for everyone
00:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/00dc4947eb
00:59 Geth ¦ rakudo/nom: 15a93387cc | (Samantha McVey)++ | tools/build/create-moar-runner.pl
00:59 Geth ¦ rakudo/nom: Indent heredocs in create-moar-runner.pl
00:59 Geth ¦ rakudo/nom:
00:59 Geth ¦ rakudo/nom: Part of the previous commit's changes but I separated out
00:59 Geth ¦ rakudo/nom: the change in indent into its own commit.
00:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/15a93387cc
01:00 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?
01:00 Zoffix Meh, it don't feel like it belongs in Str.
01:01 samcv would be weird as a method though. as zoffix seems to think as well
01:03 AlexDaniel if I recall correctly there was no easy ay to access the levstheni
01:03 AlexDaniel way*
01:03 AlexDaniel but… it would be great to have one
01:04 AlexDaniel I'd love to see how it compares with sift4 module
01:06 Zoffix I thought Perl6/World levenstein used StrDistance
01:07 Zoffix Guess not https://github.com/rakudo/rakudo/blob/nom/src/Perl6/World.nqp#L58-L179
01:07 Zoffix Though it *is* used somewhere in Grammar/Actions
01:18 Geth ¦ rakudo: LLFourn++ created pull request #1108: Fix 'is export' on constants assigned to routines
01:18 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1108
01:19 Geth ¦ roast: LLFourn++ created pull request #280: Tests for exporting a constant assigned to a routine (RT #131704)
01:19 Geth ¦ roast: review: https://github.com/perl6/roast/pull/280
01:19 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131704
01:49 ilbot3 joined #perl6-dev
01:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:03 MasterDuke is there a way to use run() with a chained bash pipeline? e.g., something like run('ls', '|', 'sort', '-u')
02:04 geekosaur my $p = run('ls', :out); run('sort', '-u', :in($p.out));
02:05 geekosaur 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
02:05 Zoffix .oO( why not shell()? )
02:05 geekosaur (although if youcare about portability at all you will use sh instead of bash. but who cares about portability any more?
02:05 geekosaur or that, yes
02:06 MasterDuke i want to pass an option to one of the commands, but not open myself up to a shell injection
02:06 MasterDuke e.g., shell("ls --foo=$variable | sort -u")
02:07 geekosaur then you want my first example
02:07 geekosaur 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)
02:09 geekosaur 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) }()
02:09 camelia rakudo-moar 15a933: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> 3use nqp; sub foo (:$x :7⏏5= 42) { dd nqp::iscont($x) }()␤»
02:10 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
02:11 Zoffix m: use nqp; sub foo (Mu :$x = 42) { dd nqp::iscont($x) }()
02:11 camelia rakudo-moar 15a933: OUTPUT: «1␤»
02:11 AlexDaniel geekosaur: fwiw, in your example, you have to $p.out.close if you don't have the most recent rakudo
02:11 Zoffix m: use nqp; sub foo (Int :$x = 42) { dd nqp::iscont($x) }()
02:11 camelia rakudo-moar 15a933: OUTPUT: «0␤»
02:11 MasterDuke yep, that's not a problem
02:11 Zoffix what sorcery is that... :(
02:11 AlexDaniel geekosaur: ah heh, which is exactly what you said basically :)
02:11 * MasterDuke replying to geekosaur
02:12 Zoffix Ah, it's the rw thing that makes it deconted
02:12 Zoffix Oh well, screw it
03:11 coverable6 joined #perl6-dev
03:18 MasterDuke initial version of coverable6 was just launched
03:18 [Tux] joined #perl6-dev
03:25 raschipi joined #perl6-dev
03:26 raschipi left #perl6-dev
05:01 astj joined #perl6-dev
05:11 mst_ joined #perl6-dev
05:19 eviltwin_b joined #perl6-dev
06:11 [Tux] This is Rakudo version 2017.06-148-g15a93387c built on MoarVM version 2017.06-37-g4e29e4c7
06:11 [Tux] csv-ip5xs        2.630
06:11 [Tux] test            12.615
06:11 [Tux] test-t           4.185 - 4.431
06:11 [Tux] csv-parser      13.185
06:23 awwaiid joined #perl6-dev
07:42 lizmat Files=1209, Tests=64159, 217 wallclock secs (13.05 usr  4.89 sys + 1318.64 cusr 136.10 csys = 1472.68 CPU)
07:48 Geth ¦ roast: 5c12a34e6d | LLFourn++ | 2 files
07:48 Geth ¦ roast: Tests for exporting a constant assigned to a routine (RT #131704)
07:48 Geth ¦ roast: review: https://github.com/perl6/roast/commit/5c12a34e6d
07:48 Geth ¦ roast: 2f1759760c | lizmat++ (committed using GitHub Web editor) | 2 files
07:48 Geth ¦ roast: Merge pull request #280 from LLFourn/export-constant-regex
07:48 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131704
07:48 Geth ¦ roast:
07:48 Geth ¦ roast: Tests for exporting a constant assigned to a routine (RT #131704)
07:48 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131704
07:48 Geth ¦ roast: review: https://github.com/perl6/roast/commit/2f1759760c
07:58 AlexDaniel joined #perl6-dev
07:59 lizmat samcv++   # unicode grant status update https://cry.nu/perl6/grant-status-update-2/
08:02 |Tux| joined #perl6-dev
08:56 astj_ joined #perl6-dev
08:59 astj joined #perl6-dev
10:03 Geth ¦ rakudo/nom: d067abf47a | LLFourn++ | src/core/traits.pm
10:04 Geth ¦ rakudo/nom: Fix 'is export' on constants assigned to routines
10:04 Geth ¦ rakudo/nom:
10:04 Geth ¦ rakudo/nom: The 'is export' exception catchall was higher precedence than the
10:04 Geth ¦ rakudo/nom: constant exporting candidate in the case of Routine. This patch makes
10:04 Geth ¦ rakudo/nom: `constant $sub is export = sub { ... }` take the same path as
10:04 Geth ¦ rakudo/nom: `sub foo is export { ... }` while preserving the constant variable's
10:04 Geth ¦ rakudo/nom: symbol.
10:04 Geth ¦ rakudo/nom: <…commit message has 8 more lines…>
10:04 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d067abf47a
10:04 Geth ¦ rakudo/nom: 488abd8c89 | (Zoffix Znet)++ (committed using GitHub Web editor) | src/core/traits.pm
10:04 Geth ¦ rakudo/nom: Merge pull request #1108 from LLFourn/export-constant-regex
10:04 Geth ¦ rakudo/nom:
10:04 Geth ¦ rakudo/nom: Fix 'is export' on constants assigned to routines
10:04 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/488abd8c89
10:06 Zoffix samcv++
10:07 samcv :)
10:09 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.
10:10 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.
10:11 ggoebel joined #perl6-dev
10:11 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 http://perl6.fail/release/stats for details
10:18 astj_ joined #perl6-dev
11:09 |Tux| joined #perl6-dev
11:17 Geth ¦ rakudo/nom: 1b6d048bdf | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm
11:17 Geth ¦ rakudo/nom: Handle case where "removed" is set and "from" isn't
11:17 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1b6d048bdf
11:17 Geth ¦ rakudo/nom: 35cc7c0ecd | (Elizabeth Mattijsen)++ | src/core/set_precedes.pm
11:17 Geth ¦ rakudo/nom: Deprecate (<+) ≼ (>+) ≽ in favor of (<=) ⊆ (>=) ⊇
11:17 Geth ¦ rakudo/nom:
11:17 Geth ¦ rakudo/nom: As per https://irclog.perlgeek.de/perl6-dev/2017-07-05#i_14830389
11:17 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/35cc7c0ecd
11:20 stmuk_ Zoffix: https://perl6.fail/release/stats is showing deleted tickets like the RT#131624 spam
11:20 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131624
11:21 Zoffix Yeah, I know.
11:21 Zoffix I manually delete them once in a while but too lazy to code an automated solution
11:24 Zoffix awww ≼ is deprecated. It's so pretty
11:26 lizmat prettier than ⊆ ?
11:26 lizmat it's less pointy, yes  :-)
11:27 Zoffix Even use it in my advent article
11:27 stmuk_ surely its just a case of adding 'deleted' (or similar) to https://github.com/zoffixznet/r6/blob/master/lib/R6/RT.pm#L40
11:27 stmuk_ unless I'm missing something
11:28 Geth ¦ star: tbrowder++ created pull request #91: tweak grammar and wording
11:28 Geth ¦ star: review: https://github.com/rakudo/star/pull/91
11:28 Zoffix stmuk_: maybe, dunno
11:33 Geth ¦ star: 17634af46d | (Tom Browder)++ (committed by Zoffix Znet) | tools/star/release-guide.pod
11:33 Geth ¦ star: tweak grammar and wording (#91)
11:33 Geth ¦ star:
11:33 Geth ¦ star: * add specific instructions for a system installation
11:33 Geth ¦ star:
11:33 Geth ¦ star: * tweak wording per Zoffix's comment
11:33 Geth ¦ star:
11:33 Geth ¦ star: * correct grammar, tweak wording
11:33 Geth ¦ star: review: https://github.com/rakudo/star/commit/17634af46d
11:44 Geth ¦ rakudo/nom: ebaac64d09 | (Elizabeth Mattijsen)++ | src/core/Setty.pm
11:44 Geth ¦ rakudo/nom: Remove superfluous istrue and add return type
11:44 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ebaac64d09
11:52 Geth ¦ rakudo/nom: e20817fb7b | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm
11:52 Geth ¦ rakudo/nom: Don't tell if there's no "from" or "removed"
11:52 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e20817fb7b
11:55 Geth ¦ star: tbrowder++ created pull request #93: add space after script name
11:55 Geth ¦ star: review: https://github.com/rakudo/star/pull/93
11:57 tbrowder i should have been using a separate and new branch for each PR, sorry
12:34 Geth ¦ rakudo/nom: 842bb31cd0 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
12:34 Geth ¦ rakudo/nom: Move Baggy.eqv logic to Baggy.ACCEPTS
12:34 Geth ¦ rakudo/nom:
12:34 Geth ¦ rakudo/nom: As the logic is the same, except for the explicit type check in eqv
12:34 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/842bb31cd0
12:46 Geth ¦ rakudo/nom: c65652d83f | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
12:46 Geth ¦ rakudo/nom: Make Baggy.keys about 40% faster
12:46 Geth ¦ rakudo/nom:
12:46 Geth ¦ rakudo/nom: - by nqp::getattr rather than .key
12:46 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c65652d83f
13:13 Zoffix stmuk_: I added `deleted` to that line now. But that spam ticket didn't get deleted
13:15 Zoffix I think the problem was is RT's API doesn't report deletion status in the info, as it does with rejected/resolved
13:21 Zoffix 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 Zoffix nuked
13:27 AlexDaniel joined #perl6-dev
13:35 AlexDaniel joined #perl6-dev
13:36 AlexDaniel joined #perl6-dev
13:40 Geth ¦ rakudo/nom: b2d2bf5905 | (Elizabeth Mattijsen)++ | 5 files
13:40 Geth ¦ rakudo/nom: Make (Bag|Mix).WHICH about 8x faster
13:40 Geth ¦ rakudo/nom:
13:40 Geth ¦ rakudo/nom: - based on a 1000 elem Bag
13:40 Geth ¦ rakudo/nom: - introduces internal method raw_keys_values
13:40 Geth ¦ rakudo/nom:   returns a nqp::list_s with keys and weight concatenated with \0
13:40 Geth ¦ rakudo/nom: - introduces internal method sha1, which sorts the above list and sha1s it
13:40 Geth ¦ rakudo/nom: - removes .WHICH from (Bag|Mix).Hash, now automatically handled by Mu.WHICH
13:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2d2bf5905
13:40 lizmat this breaks 1 suspect spectest and makes 2 TODO's pass
13:43 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 :)
13:44 Zoffix timotimo: I don't see the connection to WHICH
13:44 Geth ¦ roast: 14af8024df | (Elizabeth Mattijsen)++ | S02-types/baggy.t
13:44 Geth ¦ roast: Fix too specific test for .WHICH value
13:44 Geth ¦ roast: review: https://github.com/perl6/roast/commit/14af8024df
13:44 timotimo it's strange, of course, to not have sha1 and raw_keys_values be private methods
13:44 timotimo the sha1 method was introduced to power WHICH
13:45 Zoffix Yeah, but it's a public method.
13:45 lizmat well, yeah, but private methods in roles *still* have a runtime lookup overhead  :-(
13:45 timotimo maybe make them all uppercase
13:45 timotimo to signify "not for users"
13:45 Zoffix Yeah
13:46 Zoffix .oO( method RAKUDO-INTERNAL-sha1 )
13:46 lizmat well, I would have to change a number of them then  :-(
13:47 * lizmat will upppercase
13:50 Zoffix I think this is a good example of the life of these things: https://youtu.be/D16wa-gnFwE?t=802
13:51 Zoffix $*MAIN-ALLOW-NAMED-ANYWHERE wasn't specced or documented, yet there it is on a presentation screen of a large Perl conf :)
13:54 * lizmat notes that UPPERCASING didn't help either  :)
13:54 Geth ¦ rakudo/nom: d8c9435389 | (Elizabeth Mattijsen)++ | 3 files
13:54 Geth ¦ rakudo/nom: We don't need no damned Baggy.sha1  :-)
13:54 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d8c9435389
13:56 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 Zoffix Though even then it's not fool-proof
13:56 * Zoffix points at zef
13:59 lizmat perhaps we need an "is internal" trait ?
13:59 Zoffix maybe :)
14:02 [Coke] suggests is SEKRIT
14:04 Geth ¦ rakudo/nom: c585f370ce | (Elizabeth Mattijsen)++ | 2 files
14:04 Geth ¦ rakudo/nom: .WHICHes must be ObjAts
14:04 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c585f370ce
14:05 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
14:05 Zoffix ZofBot: dammit! That was supposed to be a secret!
14:05 ZofBot Zoffix, map: {
14:16 Geth ¦ roast: e9f0893dc3 | (Elizabeth Mattijsen)++ | 2 files
14:16 Geth ¦ roast: Fix/Untodo tests related to RT #124454
14:16 Geth ¦ roast: review: https://github.com/perl6/roast/commit/e9f0893dc3
14:16 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124454
14:16 Geth ¦ roast/6.c-errata: 1e29fd1882 | (Elizabeth Mattijsen)++ | 2 files
14:16 Geth ¦ roast/6.c-errata: Fix/Untodo tests related to RT #124454
14:16 Geth ¦ roast/6.c-errata: review: https://github.com/perl6/roast/commit/1e29fd1882
14:16 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=124454
14:23 Zoffix m: use Test; isnt .Mix.WHICH, .WHICH with <a b c>.Mix.WHICH
14:23 camelia rakudo-moar c585f3: OUTPUT: «ok 1 - ␤»
14:25 Geth ¦ star: tbrowder++ created pull request #94: tweak wording per comment by Zoffix, add space after script name
14:25 Geth ¦ star: review: https://github.com/rakudo/star/pull/94
14:26 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
14:27 lizmat and setty semantics for Set/SetHash
14:28 lizmat Sets being considered a constrained Bag
14:28 lizmat see https://irclog.perlgeek.de/perl6-dev/2017-07-05#i_14830389
14:29 dogbert17 and officially the old operators are deprecated from 2017.07 ?
14:30 Zoffix This reminds me that this statement is only theoretically accurate, but not practically: https://github.com/rakudo/rakudo/blob/nom/tools/create-release-announcement.pl#L10-L12
14:30 dogbert17 just contemplating when we should change https://docs.perl6.org/language/setbagmix#infix_(%3C+)
14:31 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
14:32 Zoffix :)
14:32 dogbert17 I can fix the doc, but perhaps I should wait until next release?
14:32 Zoffix m: say Date.new('2017-10-19') - Date.today
14:32 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.
14:32 camelia rakudo-moar c585f3: OUTPUT: «105␤»
14:33 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
14:33 Zoffix 105 days until Diwali. Seems like ample time to do all the things that need to be done.
14:33 jnthn If we want to do things Just Now then a 6.c.1 is also totally fine
14:34 jnthn 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 jnthn Pretty sure 105 days is enough for it :)
14:34 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 ;)
14:35 Zoffix A point release for every Rakudo Star? :)
14:36 Zoffix huggable: star
14:36 huggable Zoffix, Estimated Rakudo Star releases for 2017: .01, .04, .07 & .10
14:36 Zoffix so 4 point releases.
14:36 Zoffix a year
14:36 Zoffix +1 major release every 2 years
14:36 AlexDaniel joined #perl6-dev
14:37 * lizmat likes the idea of a 6.c.1 release for every Rakudo Star
14:37 jnthn I'd be good with that.
14:38 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)
14:38 * Zoffix is excited
14:39 [Coke] -1 on just-releasing-what-we-have.
14:39 lizmat [Coke]: elaborate
14:39 [Coke] I would love to see some curation there.
14:40 [Coke] not "everything that's in rakudo is now 6.d"
14:40 Zoffix Not in rakudo, in roast/master
14:40 jnthn [Coke]: It's not "everything that's in Rakudo"
14:40 jnthn It's...what Zoffix said
14:40 [Coke] Zoffix: I have the same objection to that.
14:40 jnthn 6.c was never "what's in Rakudo", that's why we've been able to change various things that were in Rakudo
14:40 [Coke] there needs to be some review.
14:41 Zoffix [Coke]: OK, agreed.
14:41 [Coke] jnthn: I get the distinction, yes, I misspoke about the source of the everything.
14:41 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
14:41 Zoffix Than what we have now (2 years worth of changes)
14:41 jnthn I guess "review per time period" will be much easier too
14:42 jnthn 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.
14:43 Zoffix Yup. That should also be resolved in the 105 days.
14:43 Zoffix huggable: 6.d
14:43 huggable Zoffix, Proposals for 6.d language: https://github.com/perl6/specs/blob/master/v6d.pod
14:43 Zoffix And this too
14:45 dogbert17 Zoffix: is there anything missing in the 6.d proposals document?
14:45 Zoffix Dunno
14:45 Zoffix Not to my knowledge
14:45 [Coke] moritz: your request for Sigils imply :D - doesn't this mean I can no longer have "my @x;" ?
14:46 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
14:46 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.
14:46 Zoffix dogbert17: ah yeah that needs to be added
14:47 Zoffix [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
14:47 Zoffix I remember details. Will add it now
14:47 [Coke] Zoffix: the samples show signatures, but aren't explicit that that's the only target.
14:48 dogbert17 Zoffix++
14:48 [Coke] moritz: also should specify what that means for *@arg and **@args
14:48 [Coke] even if it's "no change."
14:51 [Coke] also, how to get the original behavior back if it's wanted?
14:53 lizmat use v6.c ?
14:53 [Coke] I mean, given this new feature, how do you declare an array parameter that -can- be undef.
14:54 [Coke] typo in doc: "offser"
14:54 Zoffix :_ smiley
14:55 [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
14:55 Geth ¦ star: Correct $INSTDIR path documention and move to new section.
14:55 Geth ¦ star:
14:55 Geth ¦ star: Mention the second PATH addition and remind user the source
14:55 Geth ¦ star: build will display this anyway
14:55 Geth ¦ star: review: https://github.com/rakudo/star/commit/f0d3c5f8c3
14:56 Zoffix [Coke]: literally mark deprecated (i.e. insert a call to DEPRECATE)
14:57 [Coke] Zoffix++
14:59 lizmat aw, I killed Geth ?
15:00 * lizmat committed https://github.com/rakudo/rakudo/commit/48c18f586cade1280a2
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
15:00 * lizmat also committed https://github.com/rakudo/rakudo/commit/1ab4fd8041042b7df3563ef1
15:01 Geth joined #perl6-dev
15:06 moritz m: my @a; say @a.perl
15:06 camelia rakudo-moar c585f3: OUTPUT: «[]␤»
15:06 moritz [Coke]: `my @a` initializes @a not with a type object, but with an empty array. Same for *@arg that matches zero elements
15:09 nine Zoffix: anything about a segfault in dmesg output maybe?
15:12 Zoffix Oh yeah "[21171803.070062] moar[14083]: segfault at 2000000001 ip 00007fa96727f537 sp 00007fa917ffe9d0 error 4 in libmoar.so[7fa9670ae000+4b8000]"
15:13 * Zoffix &
15:13 nine Maybe even a core dump in /var/lib/systemd/coredump?
15:15 [Coke] moritz: ok, that all seems reasonable. :)
15:23 Geth ¦ rakudo/nom: e8e68955f4 | (Elizabeth Mattijsen)++ | 4 files
15:23 Geth ¦ rakudo/nom: Hide QuantHash.raw_keys as R:Q.RAW-KEYS
15:23 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8e68955f4
15:33 Zoffix no coredumps
15:45 astj joined #perl6-dev
15:49 Geth ¦ rakudo/nom: c3e3ffaadb | (Elizabeth Mattijsen)++ | 4 files
15:49 Geth ¦ rakudo/nom: Hide Baggy.raw_keys_values as R:Q.BAGGY-RAW-KEYS-VALUES
15:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c3e3ffaadb
15:49 lizmat afk&
16:32 astj joined #perl6-dev
16:52 * Zoffix wants to make a Perl 6 user survey
16:53 Zoffix Nothing huge, just ask why people use it and what they think is most imprortant to improve
16:54 Zoffix And have some data for marketing for 6.d
18:11 dct joined #perl6-dev
18:40 AlexDaniel joined #perl6-dev
18:56 Zoffix /j #perl6
18:56 Zoffix gah
19:54 TimToady joined #perl6-dev
20:18 Geth ¦ rakudo/nom: edadbe6f50 | (Timo Paulssen)++ | src/core/Process.pm
20:18 Geth ¦ rakudo/nom: fix $*EXECUTABLE dying when rakudo run via valgrind
20:18 Geth ¦ rakudo/nom:
20:18 Geth ¦ rakudo/nom: it gives an empty string rather than an undefined object, so
20:18 Geth ¦ rakudo/nom: the // operator wouldn't ever do anything here and the fallback was
20:18 Geth ¦ rakudo/nom: essentially useless.
20:18 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/edadbe6f50
21:07 Geth ¦ rakudo/nom: 59b812521c | (Elizabeth Mattijsen)++ | 18 files
21:07 Geth ¦ rakudo/nom: Obscurize QuantHash.raw_hash to QuantHash.RAW-HASH
21:07 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/59b812521c
21:22 Zoffix So... with 6.d... How about changing language name? :)
21:23 Zoffix Feels like an opportune point to do such a change.
21:25 lizmat if there would be a change, I would propose "Rakudo Perl 6" instead of just "Perl 6"
21:26 lizmat emphasizing the "Rakudo" bit
21:30 * Zoffix registers rakudo.party :)
21:38 Zoffix 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:39 Zoffix I'm gonna sub "Perl 6" with "Rakudo" on all of my rakudo.party article soon.
21:39 Zoffix *articles
21:39 * jnthn sighs
21:40 Zoffix Why?
21:41 Zoffix 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:43 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
21:43 jnthn But seriously, I've been working on this for ages and have watched this damn disucssion happen like 50 times by now.
21:43 timotimo .o( 10 reasons why gcc is the best programming language )
21:44 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.
21:44 lizmat I mean, the Perl 6 Weekly *is* about Rakudo Perl 6
21:45 lizmat for lack of news of other implementations
21:46 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
21:47 Zoffix Same here. It's all marketing.
21:48 Zoffix It's not so much renaming the language, but having a perfectly usable name that does not have "Perl" in it.
21:48 Zoffix And it doesn't matter if the full name has Perl in it.
21:48 jnthn Wait, what? You started this with "How about changing language name?" :P
21:48 timotimo literally
21:49 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
21:50 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
21:52 timotimo Spear :)
21:52 timotimo Spleen
21:53 Geth ¦ rakudo/nom: 73c3bcc662 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
21:53 Geth ¦ rakudo/nom: Introducing Rakudo::QuantHash::Quanty role
21:53 Geth ¦ rakudo/nom:
21:53 Geth ¦ rakudo/nom: The QuantHash equivalent of Rakudo::Iterator::Mappy
21:53 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/73c3bcc662
21:53 Geth ¦ rakudo/nom: 7f109ed7cc | (Elizabeth Mattijsen)++ | 3 files
21:53 Geth ¦ rakudo/nom: Use R:Q::Quanty where possible
21:53 Geth ¦ rakudo/nom:
21:53 Geth ¦ rakudo/nom: This reduces the usage of QuantHash.hll_hash, but not eliminates it
21:53 Geth ¦ rakudo/nom: completely yet  :-(
21:53 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f109ed7cc
21:53 Zoffix That'd give awful googling results :)
21:54 timotimo let's call our language The
21:55 timotimo 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 :}
21:55 Zoffix TIOBE
21:56 Zoffix But I like "Rakudo". Much more familar name already. People already are told to use "Rakudo Star". etc
21:57 Zoffix And the full name expanding "Rakudo Perl 6" explains all those perl6 mentions all over the place.
21:57 Zoffix :)
21:57 Zoffix Well, I'll start with rakudo.party. Will see where it takes me :)
21:58 Zoffix Though I'm slightly saddened to lose the alliteration :)
22:00 timotimo rakudo.raffle
22:05 samcv looking through the last 2 failed graphemeclusterbreak tests
22:05 samcv one of them is this:
22:05 samcv BOY (EBG) × [9.0] COMBINING DIAERESIS (Extend) × [10.0] EMOJI MODIFIER FITZPATRICK TYPE-1-2 (E_Modifier)
22:05 samcv definetly synthetic and not ever going to be seen but hah
22:06 samcv why would you ever... heh
22:07 timotimo boy + combining dyalysis machine?
22:07 lizmat well, if you could force a segfault with it, some people *will* use it  :-(
22:07 cog__ joined #perl6-dev
22:11 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:12 timotimo 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:13 jnthn timotimo: Um...that sounds a bit bused
22:15 jnthn *busted even
22:15 jnthn Though SIGBUS is probably also a possibility :P
22:18 timotimo well, i have only tried a single piece of code
22:18 timotimo i should try something with more than one scalar :)
22:24 timotimo m: my $a = 99; $a.VAR does role MessUp { has $.bar }; say 1 + $a
22:24 camelia rakudo-moar 7f109e: OUTPUT: «Cannot resolve caller Numeric(Scalar+{MessUp}: ); none of these signatures match:␤    (Mu:U \v: *%_)␤  in block <unit> at <tmp> line 1␤␤»
22:24 timotimo that's wrong, isn't it?
22:25 jnthn Hm, odd indeed
22:25 jnthn Oh
22:25 jnthn Maybe when we mix in, we don't carry the container spec correctly?
22:25 timotimo i'm not sure how i'd figure that out :D
22:25 jnthn The MOP'd have to be doing it explicitly
22:25 jnthn Read the mixin code ;)
22:26 cog_ joined #perl6-dev
22:26 jnthn But we have to do such tricks to get mixins to bool to still boolify right
22:29 timotimo i don't see an nqp op that'd give us the container spec for something
22:29 timotimo there is only setcontspec, not getcontspec
22:30 jnthn Indeed; really we'd have to stash the info in the meta-object if we ain't alrady
22:31 jnthn *already
22:31 jnthn Then ask for it
22:41 Geth ¦ rakudo/nom: 125bc437df | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
22:41 Geth ¦ rakudo/nom: Introducing R:Q:Quanty-kv role
22:41 Geth ¦ rakudo/nom:
22:41 Geth ¦ rakudo/nom: Like R:Q:Quanty, but specialised for .kv methods
22:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/125bc437df
22:41 Geth ¦ rakudo/nom: 381a073e3f | (Elizabeth Mattijsen)++ | 2 files
22:41 Geth ¦ rakudo/nom: Use R:Q:Quanty-kv where possible
22:41 Geth ¦ rakudo/nom:
22:41 Geth ¦ rakudo/nom: Removes one more usage of QuantHash.hll_hash
22:41 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/381a073e3f
22:47 Ven joined #perl6-dev
22:56 Geth ¦ rakudo/nom: b0c8e18790 | (Elizabeth Mattijsen)++ | 3 files
22:56 Geth ¦ rakudo/nom: Remove push-all from R:Q:Quanty-kv
22:56 Geth ¦ rakudo/nom:
22:56 Geth ¦ rakudo/nom: It is Setty specific, and we don't want to run the risk of it leaking
22:56 Geth ¦ rakudo/nom: elsewhere.
22:56 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0c8e18790
23:11 dogbert17 trying to run 'perl6 --profile --doc doc/Type/Str.pod6' fails miserably
23:12 timotimo it probably does something multithreaded?
23:12 timotimo like it calls subprocesses to get highlighting?
23:12 timotimo oh, wait
23:12 timotimo that's perl6 --doc
23:12 timotimo okay
23:12 dogbert17 yes
23:12 timotimo but i'd expect you'd have to --profile-compile there actually
23:12 dogbert17 why
23:13 dogbert17 the error is:
23:13 dogbert17 Cannot call method 'defined' on a null object
23:13 dogbert17 in sub heading2text at /home/dogbert/.rakudobrew/moar-nom/install/share/perl6/sources/5DD1D8B49C838828E13504545C427D3D157E56EC (Pod::To::Text) line 33
23:13 dogbert17 in sub pod2text at /home/dogbert/.rakudobrew/moar-nom/install/share/perl6/sources/5DD1D8B49C838828E13504545C427D3D157E56EC (Pod::To::Text) line 15
23:14 dogbert17 interestingly, if I run with MVM_SPESH_DISABLE=1 it works
23:14 timotimo ah
23:14 timotimo i was hunting that same thing somewhere else a day or two ago
23:14 dogbert17 https://github.com/rakudo/rakudo/blob/nom/lib/Pod/To/Text.pm6#L33
23:15 lizmat good night, #perl6-dev!
23:15 timotimo nite lizmat!
23:15 dogbert17 night lizmat
23:15 dogbert17 does this mean that $pod is suddenly Nil
23:16 timotimo out of nowhere, yeah
23:16 dogbert17 bizarre
23:16 timotimo yeah, it's something deep down in the guts
23:17 dogbert17 maybe a godd test when the spesh rework has progressed a bit further
23:18 dogbert17 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
23:18 samcv so another case where we need to keep state across here
23:20 dogbert17 samcv: any theories wrt RT #131384
23:20 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131384
23:21 samcv uh oh
23:21 samcv let me see something
23:24 BenGoldberg joined #perl6-dev
23:26 samcv ok so the problem only happens when it tries to print to the screen
23:26 samcv if you set it to a variable everything is fine
23:28 samcv the error can be made better i think
23:28 dogbert17 interesting
23:28 samcv MVM_panic(1, "MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist");
23:28 samcv this sounds better to me
23:28 dogbert17 but should it really come crashing down?
23:29 samcv yeah it would be nice if that didn't happen
23:29 samcv i'm gonna check a few things
23:30 dogbert17 cool
23:30 samcv ok so the call was for -30 but only 6 synthetics exist
23:31 dogbert17 I'm probably stupid but why is it using these synthetics if it is supposed to output ascii?
23:33 astj joined #perl6-dev
23:37 samcv good point
23:37 samcv we can make those throw exceptions instead of totally kill MoarVM though
23:39 AlexDaniel joined #perl6-dev
23:39 samcv i mean we could just insert replacement character instead...
23:39 samcv or something
23:40 samcv well i made failed calls return the crlr synthetic instead and it looks like i ended up with two crlf's
23:40 samcv maybe 3
23:41 samcv well. foo(\r\n\r\n\r\n)o
23:41 samcv though idk how significant that is anyway
23:41 samcv probably has to do with the number of bytes the♥ took up
23:41 samcv m: '♥'.ord.base(2).chars.say
23:41 camelia rakudo-moar b0c8e1: OUTPUT: «14␤»
23:42 samcv so 14 bits at least. probably ended up as more than that due to utf-8
23:42 samcv so that would make sense
23:42 samcv u: replacement character
23:42 unicodable6 samcv, U+FFFC OBJECT REPLACEMENT CHARACTER [So] ()
23:42 unicodable6 samcv, U+FFFD REPLACEMENT CHARACTER [So] (�)
23:42 dogbert17 are there any 'rules' for what to do when an output encoding does not support a byte (sequence) ?
23:43 samcv uh you can use replacement character
23:43 samcv or skip it
23:43 samcv that's basically it
23:43 dogbert17 ok, just curious
23:46 samcv MVM_nfg_get_synthetic_info call requested a synthetic codepoint that does not exist.
23:46 samcv Requested synthetic 30 but there are only 6 exist.
23:46 samcv how is this for an error?
23:47 samcv it's way clearer
23:48 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.
23:48 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
23:48 yoleaux 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($_)
23:49 BenGoldberg Ahh
23:50 samcv geekosaur, i wanted to make it more clear that there's not a set number of synthetics
23:50 samcv hm
23:50 samcv "Requested synthetic %i when %i exist."
23:50 geekosaur 'there are only 6 defined' or 'only 6 have been created'
23:51 samcv Requested synthetic %i when only %i have been created.
23:52 dogbert17 BenGoldberg, thx
23:52 samcv also the question is whether to print out the synthetic as a negative or positive number
23:53 samcv but it is reversed inside the function to not be negative
23:53 samcv Requested synthetic -10 but only 5 have been created # maybe confusing?
23:54 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
23:55 samcv i was going to change MVM_nfg_get_synthetic_info illegally called on codepoint >= 0
23:55 samcv to MVM_nfg_get_synthetic_info illegally called on a non-synthetic codepoint.\nRequested codepoint %i.
23:55 samcv negatives are just really confusing to anyone. like they might think oh why is it negative something must really be brokken!
23:56 geekosaur yeh. I even had that immediate thought in reaction to the original error message even though I know they're internally negative
23:57 samcv yep

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary