Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:08 Ben_Goldberg joined #perl6-dev
01:53 ilbot3 joined #perl6-dev
01:53 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
01:58 Zoffix s: &infix:<,>, \()
01:58 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/b147217/src/core/List.pm#L1330
01:58 Zoffix It's (&callable, Capture $args?) or (Mu $object, Str:D $method-name, Capture $args?)
02:03 MasterDuke ah, thanks
02:40 Ben_Goldberg joined #perl6-dev
02:40 [Coke] .
05:21 samcv u: { .uniprop('Unified_Ideograph') and .uniprop('Block') ~~ /:i 'cjk'.*[unified|compatibility].*ideograph/ }
05:21 unicodable6 samcv, U+3400 <CJK Ideograph Extension A> [Lo] (?)
05:21 unicodable6 samcv, U+3401 <CJK Ideograph Extension A> [Lo] (?)
05:23 unicodable6 samcv, 80452 characters in total: https://gist.github.com/76507b46b89c49b960bbe5c997339110
05:25 samcv u: { .uniprop('Unified_Ideograph') and .uniprop('Block') eq 'CJK Unified Ideograph'| 'CJK Compatibility Ideographs' }
05:25 unicodable6 samcv, U+FA0E CJK COMPATIBILITY IDEOGRAPH-FA0E [Lo] (?)
05:25 unicodable6 samcv, U+FA0F CJK COMPATIBILITY IDEOGRAPH-FA0F [Lo] (?)
05:25 unicodable6 samcv, 12 characters in total: https://gist.github.com/7ca08e27a7f3c82fd022482f210983c6
05:43 samcv u: { .uniprop('Unified_Ideograph') and .uniprop('Block') eq 'CJK Unified Ideographs'| 'CJK Compatibility Ideographs' }
05:43 AlexDaniel Aw, I did not restart the bots yet
05:43 unicodable6 samcv, U+4E00 <CJK Ideograph> [Lo] (?)
05:43 unicodable6 samcv, U+4E01 <CJK Ideograph> [Lo] (?)
05:43 AlexDaniel some nice changes pending there :)
05:44 unicodable6 samcv, 20962 characters in total: https://gist.github.com/f961212f16d570f6a0f2a14cf1726755
05:44 AlexDaniel samcv: do you think gists of more than 5000 characters are useful?
05:45 AlexDaniel because the current version simply refuses to upload more than 5000
05:45 AlexDaniel should I bump it to 100_000 or something?
05:49 samcv well i more want the ranges of codepoints
05:49 samcv like a-b + c-d + e + f +g
05:50 samcv don't care what the actual characters are, just the ranges of them and where they are
05:54 AlexDaniel hm
06:07 samcv well i figured it out
06:13 samcv well got generating collation values for Tangut, Nushu, and Unified_Ideograph's working
06:13 samcv since they have generated not specific collation values
07:00 vendethiel joined #perl6-dev
07:38 evalable6 joined #perl6-dev
07:38 committable6 joined #perl6-dev
07:38 quotable6 joined #perl6-dev
07:38 unicodable6 joined #perl6-dev
07:39 bisectable6 joined #perl6-dev
07:39 bloatable6 joined #perl6-dev
07:39 greppable6 joined #perl6-dev
07:39 benchable6 joined #perl6-dev
07:39 statisfiable6 joined #perl6-dev
07:41 coverable6 joined #perl6-dev
09:16 nebuchadnezzar joined #perl6-dev
10:30 lizmat joined #perl6-dev
10:31 lizmat Files=1217, Tests=67403, 230 wallclock secs (13.68 usr  4.97 sys + 1399.85 cusr 143.07 csys = 1561.57 CPU)
10:31 yoleaux 01:31Z <Zoffix> lizmat: should "holes" in Arrays that get created from `:delete` use `is default` value maybe? IIRC we talked about it long time ago and at the time the `nqp::null` was decided to be good enough, but now some users are having issues that they get an unwanted Mu in a hole ( https://irclog.perlgeek.de/perl6/2017-07-23#i_14909593 ). I figured maybe it should be what you'd get as if an element was never there.
10:31 yoleaux 01:35Z <Zoffix> lizmat: disregard. I see it already does use is default :)
10:32 lizmat m: my @a; @a[2] = 42; dd |@a   # feels wrong to me
10:32 camelia rakudo-moar b14721: OUTPUT: «Mu?Mu?Int @a = 42?»
10:34 lizmat m: my @a is default(666); @a[2] = 42; dd @a.iterator.pull-one   # seems to work ok
10:34 camelia rakudo-moar b14721: OUTPUT: «Int @a = 666?»
10:34 lizmat m: my @a is default(666); @a[2] = 42; dd |@a   # feels wrong to me
10:34 camelia rakudo-moar b14721: OUTPUT: «Mu?Mu?Int @a = 42?»
10:35 lizmat m: 'my @a is default(666); @a[2] = 42; dd List.from-iterator(@a.iterator)   # even this seems ok
10:35 camelia rakudo-moar b14721: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Unable to parse expression in single quotes; couldn't find final "'" ?at <tmp>:1?------> 3ator(@a.iterator)   # even this seems ok7?5<EOL>?    expecting any of:?        single quotes?      …»
10:35 lizmat m: my @a is default(666); @a[2] = 42; dd List.from-iterator(@a.iterator)   # even this seems ok
10:35 camelia rakudo-moar b14721: OUTPUT: «(666, 666, 42)?»
10:38 lizmat m: my @a is default(666); @a[2] = 42; dd (|@a).AT-POS(0)   # underlying issue, I think
10:38 camelia rakudo-moar b14721: OUTPUT: «Nil?»
10:41 lizmat Ah. I think I see the problem
10:41 lizmat when we slip a reified Array, it creates a List binding to the $!reified of the Array
10:42 lizmat it, however, does *not* copy the Array descriptor, which contains the default value
10:42 lizmat one could argue that slipping a reified array should be a noop
10:54 Geth_ ¦ star: 7d290f0080 | (Steve Mynott)++ | modules/perl6-Test-When
10:54 Geth_ ¦ star: bump Test::When to pull Zoffix++ windows test fixes
10:54 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/7d290f0080
10:56 lizmat_ joined #perl6-dev
11:09 Geth_ ¦ star: 3688b05372 | (Steve Mynott)++ | tools/build/Makefile.in
11:09 Geth_ ¦ star: add space after script name tbrowder++
11:09 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/3688b05372
11:17 lizmat_ .ask Zoffix so what is the use case of slipping an Array ?
11:17 yoleaux lizmat_: I'll pass your message to Zoffix.
11:18 nine I wonder if we should automatically create symlinks for installed scripts (in cases where we have write permissions). /usr/bin/FOO -> /usr/share/perl6/site/bin/FOO and /usr/local/bin/FOO -> /usr/share/perl6/vendor/bin/FOO
11:20 nine Or even go a step further and just install our scripts into those directories. They are very generic wrappers anyway.
11:39 BenGoldberg joined #perl6-dev
11:54 lizmat .tell Zoffix nvm, found a use case: .map: { |@a }
11:54 yoleaux lizmat: I'll pass your message to Zoffix.
12:26 MasterDuke timotimo: ping
12:33 MasterDuke .ask timotimo are you going to implement the coveragecontrol op? or should i try? also, any opinion on not caching lines already covered (since that could be changed independently of adding the op)? or should that be a controllable option also?
12:33 yoleaux MasterDuke: I'll pass your message to timotimo.
12:58 Geth ¦ rakudo/nom: 0970ba3314 | (Elizabeth Mattijsen)++ | 2 files
12:58 Geth ¦ rakudo/nom: Make R:I:ReifiedArray take the descriptor seperately
12:58 Geth ¦ rakudo/nom:
12:58 Geth ¦ rakudo/nom: Preliminary work to fix;
12:58 Geth ¦ rakudo/nom:   my @a is default(42); @a[1] = 666; dd |@a
12:58 Geth ¦ rakudo/nom: producing 42,666 rather than Mu,666
12:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0970ba3314
13:21 BenGoldberg c: srand 42; my @a = "Just another perl6 hacker,".comb; my @b; @b[$_] = @a.shift for (^26).pick(*); say @b.join;
13:21 committable6 BenGoldberg, ¦srand: «Cannot find this revision (did you mean “Bend”?)»
13:21 BenGoldberg b: srand 42; my @a = "Just another perl6 hacker,".comb; my @b; @b[$_] = @a.shift for (^26).pick(*); say @b.join;
13:21 bisectable6 BenGoldberg, On both starting points (old=2015.12 new=0970ba3) the exit code is 0 and the output is identical as well
13:21 bisectable6 BenGoldberg, Output on both points: «h6eta,pJarrc euoklhrtn se »
13:22 MasterDuke c: HEAD srand 42; my @a = "Just another perl6 hacker,".comb; my @b; @b[$_] = @a.shift for (^26).pick(*); say @b.join;
13:22 committable6 MasterDuke, ¦HEAD(0970ba3): «h6eta,pJarrc euoklhrtn se »
13:22 BenGoldberg b: srand 42; say "h6eta,pJarrc euoklhrtn se ".comb.pick(*).join
13:22 bisectable6 BenGoldberg, On both starting points (old=2015.12 new=0970ba3) the exit code is 0 and the output is identical as well
13:22 bisectable6 BenGoldberg, Output on both points: «Just another perl6 hacker,»
13:23 BenGoldberg It's kinda funny that we haven't changed the random generator in that time.  Not bad, necessarily.
13:25 timotimo MasterDuke: we could have the environment variable choose different "modes"
13:25 yoleaux 12:33Z <MasterDuke> timotimo: are you going to implement the coveragecontrol op? or should i try? also, any opinion on not caching lines already covered (since that could be changed independently of adding the op)? or should that be a controllable option also?
13:26 MasterDuke yeah, i was thinking something similar, but wasn't sure if it should be done by the env variable or the op
13:30 MasterDuke e.g., nqp::coveragecontrol((UNIQUE_LINES|START), (1|0));
13:43 timotimo we could make the whole thing controlled by the op and give the perl6 commandline interface all the control instead of env vars
13:44 timotimo but i like that i can just set the env var and run a full test suite
13:44 timotimo without hacking around with proves --exec command and such
13:48 lizmat m: my @a is default("foo"); @a[2] = "bar"; dd @a.join   # another null leaking out
13:48 camelia rakudo-moar 0970ba: OUTPUT: «"bar"?»
13:50 travis-ci joined #perl6-dev
13:50 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make R:I:ReifiedArray take the descriptor seperately
13:50 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256586885 https://github.com/rakudo/rakudo/compare/b147217ed80c...0970ba331458
13:50 travis-ci left #perl6-dev
13:50 buggable [travis build above] ? Did not recognize some failures. Check results manually.
14:05 Zoffix .
14:05 yoleaux 11:17Z <lizmat_> Zoffix: so what is the use case of slipping an Array ?
14:05 yoleaux 11:54Z <lizmat> Zoffix: nvm, found a use case: .map: { |@a }
14:06 Zoffix Another usecase is calling .List on a bunch of arrays to get rid of containers so you could flatten them
14:07 lizmat yeah, note I'm finding other cases of nulls not being handled correctly wrt default
14:08 lizmat m: my @a is default("foo"); @a[2] = "bar"; dd @a.join   # another one
14:08 camelia rakudo-moar 0970ba: OUTPUT: «"bar"?»
14:08 lizmat would have expected "foofoobar" there
14:15 Zoffix m: my @a is default(42); @a[2] = 70; dd @a.FLATTENABLE_LIST
14:15 camelia rakudo-moar 0970ba: OUTPUT: «(Mu, Mu, 70)?»
15:04 BenGoldberg joined #perl6-dev
15:06 lizmat Zoffix: that last one I don't consider a bug  -)
15:38 Geth ¦ rakudo/nom: 9b5cce0aec | (Elizabeth Mattijsen)++ | src/core/List.pm
15:38 Geth ¦ rakudo/nom: Make List.join handle nulls better
15:38 Geth ¦ rakudo/nom:
15:38 Geth ¦ rakudo/nom: Especially when doing service as Array.join
15:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9b5cce0aec
16:28 travis-ci joined #perl6-dev
16:28 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make List.join handle nulls better
16:28 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256617304 https://github.com/rakudo/rakudo/compare/0970ba331458...9b5cce0aecf6
16:28 travis-ci left #perl6-dev
16:29 buggable [travis build above] ? Did not recognize some failures. Check results manually.
16:33 stmuk_ http://pl6anet.org/drop/rakudo-star-2017.07-RC1.tar.gz
16:43 MasterDuke stmuk_: does that have the fix for --ll-exception in it?
16:43 stmuk_ I don't think so .. I'll probably have to list that under the errata on the website
16:44 stmuk_ but at least the debugger now works :)
16:45 MasterDuke i'd hate for a star release to have that broken, any chance of pulling the fix in?
16:47 stmuk_ well I patched up the last Star release in a fairly hacky way to fix various problems and that seemed a mistake in hindsight
16:47 stmuk_ MasterDuke: is the problem in MoarVM, NQP or Rakudo?
16:48 MasterDuke nqp
16:50 nine stmuk_: the patch is very self contained changing code that's only running when --ll-exception is active
16:50 stmuk_ well maybe there should be a nqp 2017.07.1 release in that case? Although my personal view is that it's not worth it since the sort of person using --ll-exception isn't likely to be a R* user
16:51 nine stmuk_: that's it: https://github.com/perl6/nqp/commit/c0abee7953ac7d6f090ccf4a762f6de5fc85ca70
16:51 nine R* users may still be asked by core devs for a --ll-exception run for diagnosing rakudo bugs
16:52 stmuk_ I could create an unofficial nqp 2017.07.1 by patching in place
16:52 MasterDuke stmuk_: true, but they show up on #perl with problems and we ask for --ll-exception output to help
16:53 stmuk_ but creating a proper upstream nqp 2017.07.1 would also help El_Che's releases
16:54 MasterDuke nine: i'm not sure if my first attempt at a fix (which your diff is against) made it in the release
16:54 nine MasterDuke: AFAIK it did
16:54 MasterDuke cool, even easier then
16:55 stmuk_ Zoffix: do you have any views on the above ^^^^
16:55 stmuk_ or AlexDaniel
17:13 * dogbert17 is slowly putting his new Ryzen rig together, has been seven years since the last build ..
17:17 Zoffix stmuk_: -1 for a point release just to get --ll-exception working. If a user has a problem, we can ask for code and run it on a build without that bug, and in my experience, a lot of people run rakudobrew anyway
17:17 MasterDuke dogbert17: what motherboard did you go with?
17:18 Zoffix lizmat: how come? That's what's used to slip args into routines and the presence of Mus instead of Anys (by default) would make most routines choke  since the default param type is Any, not Mu
17:22 stmuk_ it would be easier for R* to slipstream in fixes if there were  -stable type branches
17:25 stmuk_ also any third party packagers
17:28 dogbert17 MasterDuke: I went for a Asus ROG Strix B350 Gaming
17:28 dogbert17 there will be no LED strips installed though :)
17:31 MasterDuke i think that's one of the ones i was looking at. B350 seems like the sweet spot
17:36 stmuk_ . o O ( and an unirepo )
17:42 dogbert17 yeah, that and an R5 1600 in my case. Will start with 16 gigs of ram.
17:43 * stmuk_ waits for a R3 like a cheapskate
17:51 AlexDaniel stmuk_: well, there are always bugs that can be hotfixed, so we should draw a line somewhere. --ll-exception does not seem like something critical to me, especially given that in 3 months this will be a non-issue. However, you raise a very good issue! Stable branches? Maybe. I'm not sure what would be the best solution, but it would be nice to make this process easier for everybody.
17:52 MasterDuke dogbert17: one 16gb, or two 8gb?
17:55 MasterDuke i want 32gb eventually, but since it's only a dual channel chipset i'd want to do it as two 16gbs. 32gb is kind of expensive with the price of ram right now, but i don't know how much performance will suffer with only one 16gb in
17:56 MasterDuke probably not noticeable, but...
18:34 dogbert17 MasterDuke: 2 8gb
18:38 stmuk_ what's stage 2 time on a R5?
18:39 MasterDuke stage 2?
18:41 MasterDuke Zoffix: how much ram does your beefy vm have?
18:42 stmuk_ "stage parse"
18:44 MasterDuke i think nine said his R7 1800x did stage parse in low 40's, could try to figure out the scale up factor from that
18:46 MasterDuke https://irclog.perlgeek.de/perl6-dev/2017-04-19#i_14453896
18:46 Zoffix MasterDuke: well, it's configurable. Can make it up to 455GB. But I normally use 24GB; more than enough
18:46 MasterDuke do you have it spun up? if so, do you mind trying `perl6 -e 'my $a = "a" x 2**32-1; say $a.chars; my $b = $a.substr(1); say $b.chars'`?
18:48 Zoffix not ATM
18:49 Zoffix Google gives $300 free credit.... You can sign up for Google Compute Engine and spin it up yourself, free :)
20:50 Geth ¦ rakudo/nom: 640641876c | (Elizabeth Mattijsen)++ | 2 files
20:50 Geth ¦ rakudo/nom: Revert "Make R:I:ReifiedArray take the descriptor seperately"
20:50 Geth ¦ rakudo/nom:
20:50 Geth ¦ rakudo/nom: This reverts commit 0970ba331458df7786c999aa2440f8765d7c42b6.
20:50 Geth ¦ rakudo/nom:
20:50 Geth ¦ rakudo/nom: We need Array.Slip to return a List without containers, so we cannot
20:50 Geth ¦ rakudo/nom: actually use R:I.ReifiedArray for this.
20:50 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/640641876c
21:49 travis-ci joined #perl6-dev
21:49 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Revert "Make R:I:ReifiedArray take the descriptor seperately"
21:49 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256679142 https://github.com/rakudo/rakudo/compare/9b5cce0aecf6...640641876c71
21:49 travis-ci left #perl6-dev
21:49 buggable [travis build above] ? Did not recognize some failures. Check results manually.
21:54 lizmat Could it be we're exiting after a successful install with an exit code of 1 ????  ^^^^^
21:57 Geth ¦ rakudo/nom: 356dc40425 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
21:57 Geth ¦ rakudo/nom: Introducing R:I.ReifiedListWithDefault
21:57 Geth ¦ rakudo/nom:
21:57 Geth ¦ rakudo/nom: Same as R:I.ReifiedList, but with a given default value for nulls.
21:57 Geth ¦ rakudo/nom: Could have been integrated into R:I.ReifiedList, but since that is a
21:57 Geth ¦ rakudo/nom: *very* hot code path, it felt that this would add unnecessary baggage
21:57 Geth ¦ rakudo/nom: for the most common case.
21:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/356dc40425
21:57 Geth ¦ rakudo/nom: 12d7d5b48a | (Elizabeth Mattijsen)++ | src/core/Array.pm
21:57 Geth ¦ rakudo/nom: Handle slipping Arrays with default values
21:57 Geth ¦ rakudo/nom:
21:57 Geth ¦ rakudo/nom: Done by creating a special subclass of Slip called Slip-With-Default,
21:57 Geth ¦ rakudo/nom: which also keeps a default value to apply for null values.  This in
21:58 Geth ¦ rakudo/nom: turn either feeds R:I.ReifiedListWithDefault, or a custom AT-POS.
21:58 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/12d7d5b48a
21:59 lizmat m: my @a is default(42); @a[2] = 666; dd (|@a)
21:59 camelia rakudo-moar 640641: OUTPUT: «slip(Mu, Mu, 666)?»
21:59 lizmat will be "slip(42, 42, 666)" soon
21:59 lizmat m: my Int @a; @a[2] = 666; dd (|@a)
21:59 camelia rakudo-moar 640641: OUTPUT: «slip(Mu, Mu, 666)?»
22:00 lizmat similarly, will be "slip(Int, Int, 666)"
22:00 lizmat m: my @a; @a[2] = 666; dd (|@a)
22:00 camelia rakudo-moar 640641: OUTPUT: «slip(Mu, Mu, 666)?»
22:00 lizmat will be "slip(Any, Any, 666)"
22:01 lizmat and that concludes my hacking for today
22:01 lizmat good night, #perl6-dev!
22:27 samcv MasterDuke, that potential bug should be squashed now with https://github.com/MoarVM/MoarVM/commit/1e92fc9689
22:28 samcv in addition to making it faster/better as well and refactoring code into a separate function
22:53 travis-ci joined #perl6-dev
22:53 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Handle slipping Arrays with default values
22:53 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256691656 https://github.com/rakudo/rakudo/compare/640641876c71...12d7d5b48add
22:53 travis-ci left #perl6-dev
23:08 cognominal joined #perl6-dev
23:33 samcv pretty excited. on my special MoarVM collation-arrays branch out of all the collation tests (190,412 total tests) failing only 699 now \o/

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