Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:01 ugexe only 33 more to go
00:02 samcv 33?
00:02 samcv now it seems i'm down to 478 :)
00:03 ugexe only 58 more to go
00:06 samcv after i didn't work on collation for a bit and now am working on the code again. it amazed me how well the code i wrote worked. i mean the auxillary functions here need some work but the main loop works perfectly with some minor tweaking i did
00:06 samcv not a bad thing
00:16 samcv now down to 346 :)
00:17 samcv ugexe, i get your jokes now :P once i subtracted them heh
00:19 BenGoldberg joined #perl6-dev
00:36 BenGoldberg Is nqp::p6bindattrinvres documented anywhere?  It's not mentioned in ops.markdown
00:51 samcv andddd now at 150 :)
01:02 MasterDuke the nqp::p6* ops are (i believe) rakudo specific
01:03 MasterDuke BenGoldberg: and are somewhat documented here https://github.com/rakudo/rakudo/blob/nom/docs/ops.markdown
01:05 BenGoldberg Ahh ha, I was looking at the wrong ops.markdown!  I was looking at https://github.com/perl6/nqp/blob/master/docs/ops.markdown
01:06 BenGoldberg MasterDuke++
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
02:07 vendethiel joined #perl6-dev
03:15 AlexDaniel what's the idea behind this?
03:15 AlexDaniel m: my $x = []; $x .= :test; say $x
03:15 camelia rakudo-moar 12d7d5: OUTPUT: «[(Pair) test True]?»
03:15 AlexDaniel I'm pretty sure it's there for a reason, but cannot figure it out yet
03:26 BenGoldberg m: say [] . :test
03:26 camelia rakudo-moar 12d7d5: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Unsupported use of . to concatenate strings; in Perl 6 please use ~?at <tmp>:1?------> 3say [] .7?5 :test?»
03:27 BenGoldberg m: say [].:test
03:27 camelia rakudo-moar 12d7d5: OUTPUT: «[(Pair) test True]?»
03:27 BenGoldberg m: my @a; @a.:test; say @a;
03:27 camelia rakudo-moar 12d7d5: OUTPUT: «[]?»
03:28 BenGoldberg m: say [].^find_method: :test;
03:28 camelia rakudo-moar 12d7d5: OUTPUT: «Too few positionals passed; expected 3 arguments but got 2?  in block <unit> at <tmp> line 1??»
03:37 AlexDaniel it's not about “test”, it calls .new
04:36 AlexDaniel joined #perl6-dev
06:03 [Tux] This is Rakudo version 2017.07-56-g12d7d5b48 built on MoarVM version 2017.07-15-g0729f841
06:03 [Tux] csv-ip5xs        2.551
06:03 [Tux] test            12.555
06:03 [Tux] test-t           4.091 - 4.295
06:03 [Tux] csv-parser      11.989
07:06 vendethiel joined #perl6-dev
08:41 robertle joined #perl6-dev
09:17 stmuk_ is there a test for the ll-exception issue?
09:22 stmuk_ probably not I guess since it's not part of the lanaguage
09:23 nine stmuk_: I'm not aware of any
09:24 stmuk_ I'm confused about whether the fix is in 2017.07 nqp since some commits are (MasterDuke's) and some aren't (nine's)
09:25 nine stmuk_: MasterDuke's were an attempt at fixing but were not enough
09:27 stmuk_ ah I see
09:27 stmuk_ I just get "Unhandled exception: concatenate requires a concrete string, but got null
09:27 stmuk_ with the first fix
09:28 nine yep, that's what my commit fixes
09:30 stmuk_ hmm if I bump nqp to c0abee7 in R* the other commits after 2017.07 look safe enough and "perl6 -v" will report the correct nqp
10:01 pmurias joined #perl6-dev
10:01 Geth ¦ nqp/async-await-continuations: 4 commits pushed by pmurias++
10:01 Geth ¦ nqp/async-await-continuations: a22631d06c | [js] Async/await stuff
10:01 Geth ¦ nqp/async-await-continuations: a232772f20 | [js] Add a 'use strict'
10:01 Geth ¦ nqp/async-await-continuations: 53618db05a | [js] Fix typo in test description
10:01 Geth ¦ nqp/async-await-continuations: a3c30035fe | [js] Make bootstrapped nqp-js run code correctly
10:01 Geth ¦ nqp/async-await-continuations: review: https://github.com/perl6/nqp/compare/73f5eb8676...a3c30035fe
10:18 dogbert17 joined #perl6-dev
11:03 lizmat joined #perl6-dev
11:57 Geth ¦ rakudo/nom: a636fa8f62 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
11:57 Geth ¦ rakudo/nom: Streamline .unique(:as) candidate a bit
11:57 Geth ¦ rakudo/nom:
11:57 Geth ¦ rakudo/nom: Gives about 3% improvement on a 1000 elem list wth unique values.
11:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a636fa8f62
12:05 AlexDani` joined #perl6-dev
12:27 pmurias joined #perl6-dev
12:50 travis-ci joined #perl6-dev
12:50 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Streamline .unique(:as) candidate a bit
12:50 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256853537 https://github.com/rakudo/rakudo/compare/12d7d5b48add...a636fa8f62a8
12:50 travis-ci left #perl6-dev
12:50 buggable [travis build above] ? Did not recognize some failures. Check results manually.
13:09 buggable joined #perl6-dev
13:09 Zoffix https://travis-ci.org/rakudo/rakudo/builds/256853537
13:09 buggable [travis build above] ? All failures are due to timeout (0), missing build log (0), GitHub connectivity (0), or failed make test (1). Across all jobs, only 04-nativecall/21-callback-other-thread.t test file failed.
13:11 buggable joined #perl6-dev
13:11 Zoffix https://travis-ci.org/rakudo/rakudo/builds/256853537
13:11 buggable [travis build above] ? All failures are due to timeout (0), missing build log (0), GitHub connectivity (0), or failed make test (1). Across all jobs, only t/04-nativecall/21-callback-other-thread.t test file failed.
14:09 stmuk_ why does "perl6 -v" not give the NQP version?
14:09 ilmari and why doesn't moar have a -v (only --version)?
14:10 Geth ¦ rakudo/nom: 47d9bd9bef | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
14:10 Geth ¦ rakudo/nom: Make .unique(:with) about 4x faster
14:10 Geth ¦ rakudo/nom:
14:10 Geth ¦ rakudo/nom: - based on a 100 elem array with unique elements (aka worst case)
14:10 Geth ¦ rakudo/nom: - don't use gather / take, create proper iterator
14:10 Geth ¦ rakudo/nom: - don't use .first, but loop over low level list directly
14:10 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/47d9bd9bef
14:11 Zoffix stmuk_: usually not needed, since you can get it by looking at what version the rakudo commit requires
14:27 Geth_ ¦ star: 60e4f01d42 | (Steve Mynott)++ | modules/MODULES.txt
14:27 Geth_ ¦ star: fix LWP::Simple test by installing Encode first
14:27 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/60e4f01d42
14:27 Geth_ ¦ star: eb441c1b54 | (Steve Mynott)++ | 2 files
14:27 Geth_ ¦ star: document last min fix process
14:27 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/eb441c1b54
14:27 Geth_ ¦ star: cebd7745d9 | (Steve Mynott)++ | docs/announce/2017.07.md
14:27 Geth_ ¦ star: doc NQP version to fix -ll-exception flag
14:27 Geth_ ¦ star: review: https://github.com/rakudo/star/commit/cebd7745d9
14:38 Geth ¦ rakudo/nom: 26789cc704 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
14:38 Geth ¦ rakudo/nom: Make .unique(:with(&[===])) about 20% faster
14:38 Geth ¦ rakudo/nom:
14:38 Geth ¦ rakudo/nom: - based on a 100 element array with unique elements
14:38 Geth ¦ rakudo/nom: - don't use nextwith, just return call to other candidate
14:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/26789cc704
14:57 Zoffix m: [].Slip.^name.say
14:57 camelia rakudo-moar 26789c: OUTPUT: «Array::Slip-With-Default?»
14:57 * Zoffix makes a face
14:57 timotimo m: [].Slip ~~ Slip
14:57 camelia rakudo-moar 26789c: ( no output )
14:58 timotimo m: say [].Slip ~~ Slip
14:58 camelia rakudo-moar 26789c: OUTPUT: «True?»
14:58 Zoffix Feels like leaking internal stuff to userland. It's now expected the docs to list what Array::Slip-With-Default is, which means it also has to be mentioned in the spec.
15:01 * Zoffix &
15:08 stmuk_ http://pl6anet.org/drop/rakudo-star-2017.07-RC2.tar.gz
15:12 lizmat Zoffix: do you prefer an anonymous class ???
15:15 Zoffix I think if it were possible to do with a normal Slip, that'd be best. How does .Seq manages to obtain a default without having to be Array::Seq-With-Default?
15:15 Zoffix m: my @a is default(42) = 1; @a[2] = 3; @a.Seq.List[2].say
15:15 camelia rakudo-moar 26789c: OUTPUT: «3?»
15:15 Zoffix m: my @a is default(42) = 1; @a[2] = 3; @a.Seq.List[1].say
15:15 camelia rakudo-moar 26789c: OUTPUT: «42?»
15:16 Zoffix s: [], 'Seq', \()
15:16 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/47d9bd9/src/core/List.pm#L694
15:18 Zoffix So one'd get Array::Seq-With-Default not even in all the .Slip cases, but only on fully-refied Arrays. Kinda unpredictable
15:18 lizmat Zoffix: a normal Slip isa List, and doesn't have room for a descriptor or a default
15:18 lizmat Zoffix: the alternative is that we go the slow path for all reified array Seqs
15:19 Zoffix m: my @a is default(42) = 1; @a[2] = 3; @a.List[1].say
15:19 camelia rakudo-moar 26789c: OUTPUT: «Nil?»
15:19 lizmat and that is correct ^^^
15:19 lizmat because you lose the descriptor when you make it a List
15:20 Zoffix m: my @a is default(42) = 1; @a[2] = 3; @a.FLATTENABLE_LIST[1].say
15:20 camelia rakudo-moar 26789c: OUTPUT: «(Mu)?»
15:21 lizmat afaik FLATTENABLE_LIST is an implementation detail, and one that dates from parrot days
15:21 Zoffix This is very inconsistent. You get `is default` value when you make a .Slip, but get a Mu when you slip it into a routine's arguments, and worse still, you get a Nil when you make a List
15:21 Zoffix Feels like a Nil for all cases would be much saner
15:22 Zoffix m: my @a is default(42) = 1; @a[2] = 3; sub { dd [$^a, $^b, $^c] }(|@a)
15:22 camelia rakudo-moar 26789c: OUTPUT: «Type check failed in binding to parameter '$b'; expected Any but got Mu (Mu)?  in sub  at <tmp> line 1?  in block <unit> at <tmp> line 1??»
15:22 lizmat then what's the point of "is default" ?
15:22 * lizmat checks on "my @a is default(42) = 1; @a[2] = 3; sub { dd [$^a, $^b, $^c] }(|@a)" case
15:22 Zoffix That cases uses @a.FLATTENABLE_LIST that gives thge Mu
15:23 lizmat gotcha
15:26 Zoffix ok, yeah, not Nil
15:28 Geth ¦ rakudo/nom: 2fb8c72587 | (Elizabeth Mattijsen)++ | src/core/Array.pm
15:28 Geth ¦ rakudo/nom: Obscure the Slip-With-Default class
15:28 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2fb8c72587
15:29 Zoffix s: [], 'iterator', \()
15:29 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/26789cc/src/core/Array.pm#L52
15:35 lizmat m: my Int @a = 1; @a[2] = 3; sub { dd [$^a, $^b, $^c] }(|@a)   # same issue, without "is default"
15:35 camelia rakudo-moar 26789c: OUTPUT: «Type check failed in binding to parameter '$b'; expected Any but got Mu (Mu)?  in sub  at <tmp> line 1?  in block <unit> at <tmp> line 1??»
15:40 lizmat dinner&
15:51 Zoffix m: my @a is default(42) = lazy gather { take 12; take Nil; take 70 }; @a.List.say
15:51 camelia rakudo-moar 2fb8c7: OUTPUT: «Cannot List a lazy list?  in block <unit> at <tmp> line 1??»
15:51 Zoffix orly?
15:52 Zoffix Really didn't expect there to be any difference between .Slip and .List, other than the types
15:57 Zoffix m: my @a is default(42) = gather { take 12; take Nil; take 70 }; say @a[1]:exists; .say for @a.List
15:57 camelia rakudo-moar 2fb8c7: OUTPUT: «True?12?42?70?»
15:57 Zoffix m: my @a is default(42) = gather { take 12; take Nil; take 70 }; @a[1]:delete; say @a[1]:exists; .say for @a.List
15:57 camelia rakudo-moar 2fb8c7: OUTPUT: «False?12?(Mu)?70?»
16:02 Zoffix m: my @a is default(42) = Array.from-iterator(gather { take 12; take Nil; take 70 }.iterator); @a.List.say
16:02 camelia rakudo-moar 2fb8c7: OUTPUT: «(12 (Any) 70)?»
16:03 Zoffix I guess the lastone is right
16:05 Zoffix m: my @a is default(42) = lazy 1...8; @a[1]:delete; .say for @a.Slip
16:05 camelia rakudo-moar 2fb8c7: OUTPUT: «1?2?3?4?5?6?7?8?»
16:06 Zoffix m: my @a is default(42) = lazy 1...8; @a[1]:delete; .say for @a
16:06 camelia rakudo-moar 2fb8c7: OUTPUT: «1?2?3?4?5?6?7?8?»
16:06 Zoffix m: my @a is default(42) = lazy 1...8; @a[1]:delete; .say for @a[1]:exists
16:06 camelia rakudo-moar 2fb8c7: OUTPUT: «True?»
16:07 travis-ci joined #perl6-dev
16:07 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make .unique(:with(&[===])) about 20% faster
16:07 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256912377 https://github.com/rakudo/rakudo/compare/47d9bd9befd8...26789cc7040e
16:07 travis-ci left #perl6-dev
16:07 buggable [travis build above] ? All failures are due to timeout (0), missing build log (0), GitHub connectivity (1), or failed make test (0).
16:10 Zoffix Filed as https://rt.perl.org/Ticket/Display.html?id=131790
16:12 Zoffix .tell lizmat maybe .Slip shouldn't do descriptor stuff at all? I would've expected it to be the same as .List, except for the type. And .FLATTENABLE_LIST would be fixed to give `is default` values, so if someone slips the array to a routine (e.g. say |@a), they'd get expected values. Then .List and .Slip will be the same, giving Mus for holes, and if someone wants `is default` values instead of Mus, they
16:12 yoleaux Zoffix: I'll pass your message to lizmat.
16:12 Zoffix can do `@a.Seq.List/.Slip`
16:12 Zoffix .tell can do `@a.Seq.List/.Slip`
16:12 yoleaux Zoffix: I'll pass your message to can.
16:12 Zoffix .tell lizmat can do `@a.Seq.List/.Slip`
16:12 yoleaux Zoffix: I'll pass your message to lizmat.
16:17 Zoffix .tell lizmat Just mentioning in case you don't already know this (to explain why I think .Slip should be like .List): `say |@a` doesn't call prefix:<|>. It changes it to a call to .FLATTENABLE_LIST/_HASH; so slipping arrays to args never calls .Slip. https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L6197-L6208
16:17 yoleaux Zoffix: I'll pass your message to lizmat.
16:18 * Zoffix &
17:24 liztormato joined #perl6-dev
17:26 liztormato Zoffix: I think the essence of slipping is the iteration. That it is implemented as a subclass of List is an implementation detail
17:27 Zoffix Oh
17:27 liztormato Therefore the behaviour wrt to nulls, is an artefact of the implementation
17:28 liztormato In my opinion
17:28 Zoffix OK
17:29 liztormato Currently at dinner, will get back to it when home again
17:46 travis-ci joined #perl6-dev
17:46 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Obscure the Slip-With-Default class'
17:46 travis-ci https://travis-ci.org/rakudo/rakudo/builds/256931996 https://github.com/rakudo/rakudo/compare/26789cc7040e...2fb8c72587ff
17:46 travis-ci left #perl6-dev
17:46 buggable [travis build above] ? All failures are due to timeout (0), missing build log (0), GitHub connectivity (0), or failed make test (1). Across all jobs, only t/04-nativecall/21-callback-other-thread.t test file failed.
17:50 jnthn m: my @a = 1, 2; sub foo($a is rw, $b is rw) { }; foo(|@a)
17:50 camelia rakudo-moar 2fb8c7: ( no output )
17:50 jnthn m: my @a; @a[0] = 2; sub foo($a is rw, $b is rw) { }; foo(|@a)
17:50 camelia rakudo-moar 2fb8c7: OUTPUT: «Too few positionals passed; expected 2 arguments but got 1?  in sub foo at <tmp> line 1?  in block <unit> at <tmp> line 1??»
17:50 jnthn fwiw, that may also be considered an undesirable behavior (and shares the same cause as the default thing)
18:03 robertle joined #perl6-dev
18:41 lizmat joined #perl6-dev
18:44 lizmat .
18:44 yoleaux 16:12Z <Zoffix> lizmat: maybe .Slip shouldn't do descriptor stuff at all? I would've expected it to be the same as .List, except for the type. And .FLATTENABLE_LIST would be fixed to give `is default` values, so if someone slips the array to a routine (e.g. say |@a), they'd get expected values. Then .List and .Slip will be the same, giving Mus for holes, and if someone wants `is default` values instead of Mus, they
18:44 yoleaux 16:12Z <Zoffix> lizmat: can do `@a.Seq.List/.Slip`
18:44 yoleaux 16:17Z <Zoffix> lizmat: Just mentioning in case you don't already know this (to explain why I think .Slip should be like .List): `say |@a` doesn't call prefix:<|>. It changes it to a call to .FLATTENABLE_LIST/_HASH; so slipping arrays to args never calls .Slip. https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Actions.nqp#L6197-L6208
19:33 Zoffix AlexDaniel: BTW you now have the task I didn't finish and that is making this page https://rakudo.perl6.org/downloads/star/ look as good or better than http://rakudo.org/downloads/star/ and once that's done, to redirect HTTP rakudo.org URLs to HTTPs versions and to use HTTPS versions by default in announcements
19:34 [Coke] how can I dump the guts of a Encoding::Decoder::Builtin ?
19:36 [Coke] it doesn't appear to have any attrs of its own, but has a repr of Decoder.
20:01 ggoebel joined #perl6-dev
20:01 ggoebel what does OSR stand for?
20:02 ggoebel On stack replacement...
20:06 [Coke] so, I'm digging into the Malformed UTF-8 error that I'm seeing on the mac; Might need samcv or someone to handhold here. (doesn't help that I don't have gdb, so I'm adding fprintf into moarvm at the moment to try to figure out when it goes south)
20:08 [Coke] I can tell you it's dying in the slow path: https://github.com/MoarVM/MoarVM/blob/master/src/strings/utf8.c#L496
20:24 * [Coke] hurls https://gist.github.com/coke/1050613c805eca4bb41c801aa3ad5f51 which might mean something to a MoarVM dev.
20:49 jnthn [Coke]: Dumping a Decoder: not exactly dumping but you can inspect it under gdb, for example
20:50 jnthn (The internal structure of it is opaque from Perl 6 level)
20:50 [Coke] on a mac, that's hard.
20:50 jnthn s/gdb/lldb/ ? :)
20:50 [Coke] I grabbed some output. looks like one "line" ends on byte 194, the next "line" begins on byte 171, at which point it 'splodes.
20:51 [Coke] where a line is based on nqp::decodertakeline from consume-line-chars
20:51 jnthn Yeah, was trying to figure out what to make of that :)
20:51 jnthn One interestig question: if you grab the bytes instead, are they correct?
20:52 jnthn .slurp-rest(:bin) or so
20:52 [Coke] those are the bytes I'm emitting from decode_utf8_byte in MoarVM.
20:52 [Coke] yes, it has to go through run()
20:53 [Coke] if I generate the output of 'perl6 --doc doc/Type/List.pod6' and then process that file, it's fine.
20:53 [Coke] (without bin)
20:53 jnthn I meant if you do
20:53 jnthn run(...).out.slurp-rest(:bin)
20:55 [Coke] That doesn't trigger the error. Pretty sure .lines has to be involved as well.
20:57 [Coke] m: say chr(194)
20:57 camelia rakudo-moar 2fb8c7: OUTPUT: «Â?»
20:57 [Coke] ... that character doesn't appear in the input file anywhere.
20:58 [Coke] (or in the --doc output)
20:58 geekosaur that makes me think utf8 misdecoded as iso8859
21:00 jnthn [Coke]: It won't trigger an error, I'm more curious if you the take the resulting byte sqeuence and decode it, does it decode then?
21:01 [Coke] yes, .decode('utf8') on that does not error, generates the output.
21:02 jnthn Hm, ok. Odd.
21:09 [Coke] yup. :)
21:09 [Coke] I know it requires mac+run+lines; at the moment, trying to figure out what the bad utf8 it's complaining about is, so then I can figure out where it came from. :)
21:13 jnthn [Coke]++
21:14 jnthn Once I get done with the current round of spesh changes, I'll ask lizmat++ for a shell account and see if I can reproduce it there and hunt it down, if you don't beat me to it
21:15 [Coke] thanks. spesh first. :)
21:20 Zoffix__ joined #perl6-dev
22:33 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/07/24/2017-30-starring-fresh-produce/
22:34 AlexDaniel Zoffix: is there any ticket for this somewhere?
22:39 Zoffix__ AlexDaniel, "this" being what?
22:40 AlexDaniel Zoffix__: “BTW you now have the task […]”
22:40 Zoffix__ AlexDaniel, nope, no ticket
23:10 BenGoldberg joined #perl6-dev
23:17 AlexDaniel ok, created a ticket
23:17 AlexDaniel By the way, this is a great page: https://github.com/issues/
23:17 AlexDaniel I didn't know it existed
23:21 tadzik I find it infinitely more useful when you replace the "owner:<me>" with "user:<me>" in the search bar
23:21 yoleaux 21 Jul 2017 07:58Z <AlexDaniel> tadzik: plz https://github.com/tadzik/perl6-Config-INI/pull/14
23:21 tadzik then it shows you bug in *your* projects, rather than all projects you have access to
23:22 tadzik hm, now it seems to show bugs you opened by default, actually
23:23 tadzik AlexDaniel: thanks for the bug and PR :)
23:24 AlexDaniel no, thank *you* for the bug :)
23:24 tadzik :P
23:47 Zoffix__ left #perl6-dev

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