Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-09-30

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

All times shown according to UTC.

Time Nick Message
00:09 MasterDuke m: my @a = [[1..3], [4..6], [7..9]]; @a[*-1]:delete; @a.say; @a[0]:delete; @a.say;
00:09 camelia rakudo-moar 58cf9d: OUTPUT«[[1 2 3] [4 5 6]]␤[(Any) [4 5 6]]␤»
00:09 MasterDuke is ^^^ expected? :deleting off the end truncates the Array, :deleting off the front leaves a hole
00:10 timotimo i think so, yeah
00:16 MasterDuke i have to agree with tushar over in #perl6 that's not what i would have expected
00:18 MasterDuke i can see all sort of bugs coming from people programmatically  :deleting stuff  that happens to fall at one end or the other and getting different results
00:18 timotimo accessing it via index won't asplode at least
00:19 timotimo when using Z metaops, that can cause problems, as that stops at the shorter sequence
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
02:10 b2gills joined #perl6-dev
02:16 Zoffix New post: ""Perl 6: What Programming In The Future Is Like?" (Lightning Talk Slides and Video)": http://perl6.party/post/Perl-6-What-Programming-In-The-Future-Is-Like
02:43 dalek rakudo/nom: 415461b | (Zoffix Znet)++ | src/core/Numeric.pm:
02:43 dalek rakudo/nom: Remove now-useless .defined check
02:43 dalek rakudo/nom:
02:43 dalek rakudo/nom: Pointed out by b2gills++
02:43 dalek rakudo/nom:
02:43 dalek rakudo/nom: The addition of the :D constraint[^1] in the signature already ensures the value
02:43 dalek rakudo/nom: is always defined, so we do not need to check that.
02:43 dalek rakudo/nom:
02:43 dalek rakudo/nom: https://github.com/rakudo/rakudo/commit/84b7ebdf425a25731425541fbd8ca643a6396e6e
02:43 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/415461b4d3
02:45 llfourn psch: http://www.nntp.perl.org/group/perl.perl6.compiler/2016/09/msg13961.html # this might be relevant to your interests in case you didn't see it
03:34 Ven_ joined #perl6-dev
03:36 travis-ci joined #perl6-dev
03:36 travis-ci Rakudo build failed. Zoffix Znet 'Remove now-useless .defined check
03:36 travis-ci https://travis-ci.org/rakudo/rakudo/builds/163900552 https://github.com/rakudo/rakudo/compare/58cf9d85cb84...415461b4d341
03:36 travis-ci left #perl6-dev
03:37 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
03:38 Zoffix t/04-nativecall/13-union.t
03:49 Ven_ joined #perl6-dev
04:37 MasterDuke if you run this in your rakudo directory: perl6 -e 'for run(:out, "git", ‘log’, ‘-z’, ‘--pretty=%H’, ‘2015.07^..HEAD’).out.split(0.chr, :skip-empty) { last }'
04:38 MasterDuke you get this error: fatal: write failure on 'stdout': Connection reset by peer
04:39 MasterDuke if you take out that 'last' in the for body (or replace it with just about anything else), no error
04:41 MasterDuke is that unavoidable, or is there a way for rakudo to more gracefully exit the loop (and therefore the run)?
04:49 geekosaur the convention is for programs to ignore SIGPIPE specifically to avoid erroring in that situation.
04:49 geekosaur if git does not do so, you cannot force it to do so
04:49 geekosaur er, not ignore, but not issue errors on it.
05:09 dalek roast: 0806465 | usev6++ | S32-num/int.t:
05:09 dalek roast: Fudge newly added test for JVM
05:09 dalek roast: review: https://github.com/perl6/roast/commit/08064659b7
05:10 geekosaur well, unless we do something like leave SIGPIPE at SIG_IGN in the spawned child
05:49 Ven_ joined #perl6-dev
07:41 psch llfourn: i hadn't seen it, thanks.  the idea sounds fun
07:41 psch i wonder if we already can simply create a CompUnit for P6Regex instead of perl6...
07:45 psch also, what's the moar equivalent of jvms Ops.typeName?  do we have that?
08:00 RabidGravy joined #perl6-dev
08:25 psch humm, how do i reply to a given mailing list topic without having recieved it because i wasn't subscribed yet
08:29 DrForr Have someone forward it to you?
08:32 psch hm, the list's help says i can request specific messages
08:32 psch but that'd mean i'd have to know how many there were already afaict..?
08:33 DrForr Is there a mailman-ish interface?
08:33 psch it's apparently ezmlm
08:35 psch so, uhm, i don't know.  i don't know what the mailman interface looks like :)
08:36 stmuk_ psch: add the right header
08:39 psch ah, apparently the index command clips to the latest messages if the argument is too large
08:39 psch and with that i can get the full messages now
08:42 psch stmuk_: i have no idea how i'd figure out the header, or even how to set it in gmail :S
08:42 psch also, yes, i did get the full PCRE6/JVM thread, but it's still a digest from perl6-compiler-help@perl.org, which probably means i can't reply like this...
09:19 stmuk_ you could set up mutt to use google imap .. I think it's something like x-ref:
09:20 stmuk_ or not bother
09:21 psch yeah, probably going with that last one in the end :)
09:36 dalek nqp: f4e333a | peschwa++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/CStruct.java:
09:36 dalek nqp: Die on CStruct without any fields.
09:36 dalek nqp: review: https://github.com/perl6/nqp/commit/f4e333a225
09:37 dalek rakudo/nom: 7e98695 | peschwa++ | tools/build/NQP_REVISION:
09:37 dalek rakudo/nom: Bump NQP_REVISION for illegal fieldless CStruct
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7e98695aae
09:37 dalek rakudo/nom: 5a43547 | peschwa++ | t/04-nativecall/16-rt125408.t:
09:37 dalek rakudo/nom: Fix test for rt125408.
09:37 dalek rakudo/nom:
09:37 dalek rakudo/nom: The repr doesn't actually play a role in the original bug,
09:37 dalek rakudo/nom: as per http://irclog.perlgeek.de/perl6-dev/2016-09-27#i_13289063.
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5a435475f8
09:37 dalek rakudo/nom: acd185a | peschwa++ | t/04-nativecall/06-struct.t:
09:37 dalek rakudo/nom: Add a test for invalidity of empty CStruct
09:37 dalek rakudo/nom:
09:37 dalek rakudo/nom: That is, classes with repr<CStruct> cannot have no Attributes.
09:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/acd185ac8f
09:38 psch hm, the .travis.yml change got lot in dalek it seems
09:38 psch anyway, travis will probably complain about moar failing a lot, which is the new CStruct test, which needs https://github.com/MoarVM/MoarVM/pull/416
09:38 psch plus bumping as approriate
09:39 psch (where 'a lot' means 'on all platform/version combinations there'll be at least one test failure')
09:39 psch ...or something like that
09:57 AlexDaniel joined #perl6-dev
10:28 Zoffix j: Int ~~ 42
10:28 camelia rakudo-jvm 2a1605: OUTPUT«Invocant requires an instance, but a type object was passed␤  in block <unit> at <tmp> line 1␤␤»
10:28 Zoffix m: Int ~~ 42
10:28 camelia rakudo-moar 83d733: ( no output )
10:28 Zoffix ah parsing error
10:30 Zoffix r: Int ~~ τ
10:30 camelia rakudo-moar 83d733: ( no output )
10:30 camelia ..rakudo-jvm 2a1605: OUTPUT«Invocant requires an instance, but a type object was passed␤  in block <unit> at <tmp> line 1␤␤»
10:31 Zoffix Why would there be "parsing errors" with JVM? https://github.com/perl6/roast/commit/08064659b7
10:31 Zoffix j: say τ
10:31 camelia rakudo-jvm 2a1605: OUTPUT«6.283185307179586␤»
10:31 Zoffix j: for 42, τ, ½ -> $what { say $what }
10:31 camelia rakudo-jvm 2a1605: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> for 42, τ,⏏ ½ -> $what { say $what }␤    expecting any of:␤        block or pointy block␤        infix␤        infix stopper␤        prefix␤        …»
10:31 Zoffix j: for (42, τ, ½) -> $what { say $what }
10:31 camelia rakudo-jvm 2a1605: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Bogus term␤at <tmp>:1␤------> for (42, τ,⏏ ½) -> $what { say $what }␤    expecting any of:␤        infix␤        infix stopper␤        prefix␤        statement end␤        statement…»
10:32 Zoffix 0.o
10:32 jnthn Unicode property oddities maybe?
10:32 Zoffix Ah
10:32 jnthn j: for 42, τ -> $what { say $what }
10:32 camelia rakudo-jvm 2a1605: OUTPUT«42␤6.283185307179586␤»
10:32 jnthn j: say ½
10:32 camelia rakudo-jvm 2a1605: OUTPUT«===SORRY!===␤Argument to "say" seems to be malformed␤at <tmp>:1␤------> say⏏ ½␤Bogus postfix␤at <tmp>:1␤------> say ⏏½␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statemen…»
10:32 jnthn m: say ½
10:32 camelia rakudo-moar 83d733: OUTPUT«0.5␤»
10:33 jnthn Seems it doesn't handle ½ properly
10:33 jnthn .u ½
10:33 yoleaux2 U+00BD VULGAR FRACTION ONE HALF [No] (½)
10:33 jnthn m: say uniname '½'
10:33 camelia rakudo-moar 83d733: OUTPUT«VULGAR FRACTION ONE HALF␤»
10:33 jnthn j: say uniname '½'
10:33 camelia rakudo-jvm 2a1605: OUTPUT«VULGAR FRACTION ONE HALF␤»
10:34 jnthn Hm, it knows it exists at least
10:36 psch m: say uniprop '½'
10:36 camelia rakudo-moar 83d733: OUTPUT«No␤»
10:36 psch j: say uniprop '½'
10:36 camelia rakudo-jvm 2a1605: OUTPUT«uniprop NYI on jvm backend␤  in block <unit> at <tmp> line 1␤␤»
10:36 psch oh, NYI i think?
10:36 psch yeah
10:42 dalek roast: afbc6b0 | (Zoffix Znet)++ | S32-num/int.t:
10:42 dalek roast: Revert "Fudge newly added test for JVM"
10:42 dalek roast:
10:42 dalek roast: This reverts commit 08064659b7897a623daf9f4ee2ba511de131bae8.
10:42 dalek roast:
10:42 dalek roast: The fudge is needed not due to test itself but due to components
10:42 dalek roast: used in it. The test will be changed to use working compontents
10:42 dalek roast: in next commit.
10:42 dalek roast: review: https://github.com/perl6/roast/commit/afbc6b05ed
10:42 dalek roast: 74d1a70 | (Zoffix Znet)++ | S32-num/int.t:
10:42 dalek roast: Don't use ½ as it's not yet supported on JVM
10:42 dalek roast: review: https://github.com/perl6/roast/commit/74d1a70f98
10:49 psch meh, marshalling troubles :l
10:50 psch as in, can't get the category of '½' via interop because Character only deals with char and int, not long
10:52 psch aha, but Integer doesn't get type wrangled...
10:52 psch j: use java::lang::Character:from<JavaRuntime>; use java::lang::Integer:from<JavaRuntime>; say Character.getType(Integer.valueOf(0xbd))
10:52 camelia rakudo-jvm 2a1605: OUTPUT«11␤»
10:52 psch m: say '½'.NFD
10:52 camelia rakudo-moar 83d733: OUTPUT«NFD:0x<00bd>␤»
10:52 psch so, yeah, jvm also thinks '½' is No -- that's the name of the const that is 11 :P
10:52 psch but iirc we do some category handling ourselves, for some reason
10:53 psch oh, and travis did react exactly as i anticipated
10:53 psch but we had a failure before already so there's no announcement..?
11:05 jnthn It'd probably have been better to push the test update after the Moar thing got merged :P
11:06 psch dunno, nine said it'd be fine :)
11:09 jnthn #dammitnine :P
12:47 AlexDaniel joined #perl6-dev
12:51 hackedNO1 NeuralAnomaly: status
12:51 NeuralAnomaly hackedNO1, [✘] Next release will be in 1 day and 2 weeks. Since last release, there are 24 new still-open tickets (21 unreviewed and 0 blockers) and 93 unreviewed commits. See http://perl6.fail/release/stats for details
12:51 hackedNO1 2 weeks.. time flies
12:52 jnthn o.O
12:58 |Tux| joined #perl6-dev
13:11 * [Coke] finds "1 day and 2 weeks" non-english.
13:13 * [Coke] wonders the origin of that phrasing is.
13:16 jnthn It's English, just odd :P
13:16 jnthn otoh, so is writing dates mm-dd-yyyy :P
13:18 hackedNO1 It's an apparent bug in my Perl 5 module :)
13:18 jnthn As usual, language is full of nice inconsistencies :)
13:18 hackedNO1 Supposed to say 2 weeks and 1 day
13:19 hackedNO1 So the origin of that phrase is poor hacking skills :D
13:19 jnthn :)
13:20 perlpilot it should clearly say "1 fortnight and 1 day"  ;)
13:21 jnthn "far enough away you can still chill"
13:37 |Tux| Better late than not ...
13:38 |Tux| This is Rakudo version 2016.09-93-g83d733c built on MThis is Rakudo version 2016.09-93-g83d733c built on MoarVM version 2016.09-3-g9b39aa5
13:38 |Tux| csv-ip5xs        4.237
13:38 |Tux| test            15.842
13:38 |Tux| test-t           7.066
13:38 |Tux| csv-parser      17.689
13:38 |Tux| oarVM version 2016.09-3-g9b39aa5
13:38 |Tux| csv-ip5xs        4.237
13:38 |Tux| test            15.842
13:38 |Tux| test-t           7.066
13:38 |Tux| csv-parser      17.689
13:38 timotimo pretty good performance there
13:43 FROGGS joined #perl6-dev
14:07 RabidGravy perl 5 might be faster at somethings than rakudo but it takes twice as long to build on this machine
14:08 arnsholt Which numbers are what in those CSV numbers?
14:08 hackedNO1 Isn't that just the tets?
14:08 hackedNO1 *tests
14:08 timotimo ip5xs is inline::perl5 for the XS version of Text::CSV
14:08 hackedNO1 Try running the stresstest along with the build on that box :P
14:09 timotimo if i remember correctly, test is a super naive implementation of csv, and test-t is the optimized, smart implementation?
14:58 SourceBaby joined #perl6-dev
14:58 Undercover joined #perl6-dev
15:29 patrickz joined #perl6-dev
15:42 cognominal joined #perl6-dev
15:48 dalek joined #perl6-dev
15:56 FROGGS joined #perl6-dev
16:09 |Tux| joined #perl6-dev
18:22 AlexDaniel joined #perl6-dev
20:27 hackedNODE Hoe come slurpies can't have defaults?
20:27 hackedNODE *How
20:29 gfldex jnthn: it seams I got a Channel without a start that tries to .rethrow and hangs (likely in .rethrow). Could that be?
20:31 gfldex jnthn: not related to no start. Channel and .rethrow seams to cause a hang.
20:59 * jnthn doesn't see the connection between channels and rethrow...
21:04 jnthn Got a golfed example?
21:53 gfldex jnthn: yes: https://gist.github.com/3fc26c5fe03ed90b6160da07667b31cc
21:56 dalek rakudo/nom: 31eba77 | usev6++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
21:56 dalek rakudo/nom: Report type name in type constraint error on JVM
21:56 dalek rakudo/nom:
21:56 dalek rakudo/nom: If an instance object was passed where a type object was
21:56 dalek rakudo/nom: required, or vice versa, Rakudo on MoarVM already reported
21:56 dalek rakudo/nom: the name of the required type (commit 9a1616ed63).
21:56 dalek rakudo/nom:
21:56 dalek rakudo/nom: Now Rakudo on JVM does the same. Fixes RT #126124 for rakudo-j.
21:56 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/31eba778f3
21:56 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=126124
21:56 dalek rakudo/nom: 1f29cb2 | lizmat++ | src/vm/jvm/runtime/org/perl6/rakudo/Binder.java:
21:56 dalek rakudo/nom: Merge pull request #891 from usev6/rt126124
21:57 gfldex jnthn: shall I rakudobug? (i'm not quite sure if it's actually channel related)
21:58 MasterDuke jnthn: btw, if you're interested, i seem to have a different segfault's valgrind output here https://gist.github.com/MasterDuke17/ae868132b8cf9cb7103b00541cea8291
21:58 timotimo gfldex: isn't that just because you're never closing the channel?
21:58 timotimo and .list might be trying to .eager it?
21:58 timotimo oh, say is definitely trying to .eager it
21:59 gfldex if you comment the die out, it works
21:59 timotimo of course
21:59 timotimo because then the $channel.close will be executed
21:59 gfldex i will try to LEAVE the close
21:59 timotimo good idea
22:00 gfldex that solves the problem
22:01 gfldex jnthn: sorry, ENOBUG
22:01 timotimo :)
22:01 timotimo glad it was so easy
22:06 gfldex was there a decision made what happens to exceptions thrown inside a thread (that is not the main thread), that are not caught by an await?
22:07 timotimo no, it should break the promise
22:07 gfldex the promise is kinda list in my example
22:08 timotimo right, you're not awaiting that promise
22:08 gfldex https://gist.github.com/gfldex/f76ee074c2d080912b0f87ae65c9bef1
22:08 gfldex line 124-138 in case you wonder
22:09 timotimo we wanted to have something like warning if you .sink a promise
22:09 timotimo because then if it gets broken nothing notices that
22:11 timotimo you know there's something like .then that you can use to close the channel if the promise gets broken?
22:16 gfldex i have a CATCH block in this example so a LEAVE seams fitting
22:17 timotimo yup
22:18 lizmat good night, #perl6-dev
22:18 timotimo gnite lizmat!
22:20 timotimo From: "Carl Mäsak" (via RT) <perl6-bugs-followup@perl.org>
22:21 timotimo masak: how could you? :)
22:23 geekosaur double encoding rears its head again
22:23 geekosaur (aka wtf8)
22:24 timotimo wtf88
22:24 geekosaur hm, no, that;s the other problem. utf8 being "interpreted" by iso8859
22:24 timotimo ah, ok
22:24 timotimo well, headers in mails are supposed to only ever be iso8859, or something like that?
22:24 geekosaur which is more likely to be the receiving mail server's fault
22:25 timotimo i expect my client caused the b0rkage at the end
22:25 geekosaur only supposed to be 0x20-0x7f although there is an extension
22:25 timotimo X-Amavis-Alert: BAD HEADER SECTION, Non-encoded 8-bit data (char C3 hex):
22:25 timotimo From: "Carl M\303\203\302\244sak" (via RT) [...]
22:25 timotimo yeah, i think there's a way to put something in front of a header's value to say "oh btw this is encoded in ***"
22:25 geekosaur ... *that* looks double encoded
22:26 timotimo m: say 0xc3.base(8)
22:26 camelia rakudo-moar 1f29cb: OUTPUT«303␤»
22:27 jnthn gfldex: Sorry, was away playing TTR. Glad I don't have a bug to hunt this time. ;)
22:28 jnthn MasterDuke: That's likely harmless, though a bit sloppy. (I suspect it's just that we pad segments in the bytecode file, and never care about what value the padding has.)
22:28 jnthn MasterDuke: Feel free to drop that in the MoarVM queue. You can even hacktoberfest it. ;)
22:29 timotimo Transport Tycoon Reloaded?
22:30 gfldex is there any propaganda about hacktoberfest?
22:31 timotimo pandaganda
22:31 AlexDaniel jnthn: how can segfault be harmless?
22:33 jnthn AlexDaniel: Where was there a segfault?
22:33 gfldex i wonder if IO::Path should does Associative
22:33 jnthn Oh, odd
22:33 jnthn The gist is marked segfault
22:33 gfldex '/home/'<dex>:exists
22:33 jnthn But the valgrind output doesn't indicate one
22:34 MasterDuke *** Error in `/home/bisectable/.rakudobrew/moar-nom/install/bin/moar': double free or corruption (fasttop): 0x00000000047e7ea0 *** Aborted
22:34 jnthn That's not in the gist?
22:34 MasterDuke no, that's when running not under valgrind
22:35 jnthn 'fraid those two are unrelated.
22:35 MasterDuke running the same script in a loop
22:35 MasterDuke i'll keep running it in a loop with valgrind then, hopefully get a segfault
22:36 japhb joined #perl6-dev
22:36 jnthn Yeah, valgrind should output SIGSEGV, or at the very least something about an invalid read or invalid write
22:37 jnthn It'll reliably catch and warn about the bytecode padding thingy too...which is also worth filing a MoarVM issue on.
22:37 jnthn Especially if you've a reliable reproduction
22:38 MasterDuke https://github.com/MoarVM/MoarVM/issues/417
22:38 jnthn Thanks
22:40 jnthn I was hunting a SEGV earlier this week (didn't find it yet) that only occasionally showed up under valgrind... https://gist.github.com/jnthn/7d2cefda9d88151fb91ba5a62e6c7b4f is what I managed to catch, fwiw
22:43 MasterDuke so the backstory is that the script that builds new commits for the whateverables wiped out the directory it runs from (deleting almost everything else in the directory)
22:43 jnthn o.O
22:44 MasterDuke and we're trying to figure out what happened/where in the code
22:44 MasterDuke https://github.com/perl6/whateverable/blob/master/build.p6
22:44 AlexDaniel MasterDuke: that's an older version I think
22:45 MasterDuke https://gist.github.com/MasterDuke17/45936a01c315946e559cc0f3c0432de2
22:45 MasterDuke current version
22:47 jnthn fwiw, that poll loop thingy could be start react { whenever $channel -> $commit { ... } }
22:48 jnthn Well, provided a .close happens at some point
22:48 jnthn Though .race will be nicer :)
22:49 * jnthn wonders if it could be something about LEAVE phaser scoping issues... :S
22:50 AlexDaniel jnthn: there are many issues there :( For example, 「sleep rand / 10;」 is *very* required
22:50 travis-ci joined #perl6-dev
22:50 travis-ci Rakudo build failed. lizmat 'Merge pull request #891 from usev6/rt126124
22:50 travis-ci https://travis-ci.org/rakudo/rakudo/builds/164165090 https://github.com/rakudo/rakudo/compare/83d733cbf89e...1f29cb23bd6f
22:50 travis-ci left #perl6-dev
22:50 AlexDaniel but it takes time to isolate all of the actual bugs
22:52 buggable [travis build above] ☠ Did not recognize some failures. Check results manually
22:52 jnthn AlexDaniel: Debugging/fixing them is more than a little time-consuming too
22:52 AlexDaniel jnthn: yeah I know
22:52 TimToady joined #perl6-dev
22:55 jnthn Ah well, torture the implementors... :)
22:58 * jnthn gets some rest... 'night
23:02 * MasterDuke wonders if it would be bad to wish jnthn a night of finding segfault solutions in his dreams
23:06 japhb .ask timotimo Have you had a chance to work on https://github.com/timo/cellular-automata-tests/blob/master/animated_blocks.p6 again?  I'm curious how `method enqueue(int $color, int $x, int $y)` turned out ....
23:06 yoleaux2 japhb: I'll pass your message to timotimo.
23:30 timotimo o/
23:30 yoleaux2 23:06Z <japhb> timotimo: Have you had a chance to work on https://github.com/timo/cellular-automata-tests/blob/master/animated_blocks.p6 again?  I'm curious how `method enqueue(int $color, int $x, int $y)` turned out ....
23:30 timotimo japhb: i think i tried it and it was almost useless :)
23:30 timotimo yeah, in fact i have it open in front of me

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