Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-04-08

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

All times shown according to UTC.

Time Nick Message
00:08 ZofBot joined #perl6-dev
00:10 ZofBot joined #perl6-dev
00:20 ZofBot joined #perl6-dev
00:22 Zoffix ZofBot: hey!
00:22 ZofBot Zoffix,  It runs as user on and is copied to the web server via rsync
00:22 Zoffix ZofBot: sweet. We'll talk about Perl 6 once in a while, I guess :)
00:22 ZofBot Zoffix,  At the this refers to section whose synopsis is but whose Exegesis is about the module Apocalypses and Exegeses were only written for some of the early the later sections have no corresponding Most changes to these design docs have been discussed on Free Node channel on IRC
00:24 Zoffix [Coke]: oops. Forgot a `Nil` on a line :P
00:24 timotimo markov chain bot?
00:25 timotimo regurgitates random lines from irc history?
00:25 ZofBot joined #perl6-dev
00:26 Zoffix heh
00:26 Zoffix ZofBot: people are mean to you, eh?
00:26 ZofBot Zoffix,  In other the files from the test suite are divided into pieces and inserted after corresponding paragraph of the Synopses
00:26 mst timotimo: I think random-log-line bot not markov chain?
00:27 timotimo i tend to always just spout a random log line from the immediate future, so there's that
00:27 ZofBot_ joined #perl6-dev
00:27 ZofBot joined #perl6-dev
00:27 Zoffix ZofBot: sup, bruh.
00:27 ZofBot Zoffix, please visit the official Perl 6 this page The HTML version of Synopses contains code snippets from the official test suite
00:28 Zoffix hehe
00:29 Zoffix ZofBot: what are your thoughts in Junctions
00:29 ZofBot Zoffix, As design frequently subjected to the rigors of through implementation and use in practice
00:30 ZofBot joined #perl6-dev
00:30 Zoffix ZofBot: test
00:30 ZofBot Zoffix, Your changes will automatically appear on the web server in less than one hour
00:31 Zoffix Oh, I forgot to pull
00:31 ZofBot joined #perl6-dev
00:36 ZofBot joined #perl6-dev
00:37 ZofBot joined #perl6-dev
00:38 ZofBot joined #perl6-dev
00:42 ZofBot joined #perl6-dev
00:47 Zoffix jesus
00:48 Zoffix Note to self: `constant $foo = do { slurp some file you plan on changing }` is a bad idea :P
00:48 Zoffix was trying to figure out how the bot could still reply to me after I deleted its brain :P
00:50 geekosaur heh
00:51 ZofBot joined #perl6-dev
00:52 Zoffix ZofBot: what are your thoughts on Junctions
00:52 ZofBot Zoffix, in(3); my %contended_hash; start { for 0
00:52 Zoffix Cool...
01:39 Geth ¦ roast/test_fix_p5_die: 705c371845 | (Brian Duggan)++ | S10-packages/basic.t
01:39 Geth ¦ roast/test_fix_p5_die: Test fix for not dying on 'for $x()'
01:39 Geth ¦ roast/test_fix_p5_die:
01:39 Geth ¦ roast/test_fix_p5_die: This commit adds a test for a fix for dying
01:39 Geth ¦ roast/test_fix_p5_die: on 'for $x()' (which is valid Perl 6 code).
01:39 Geth ¦ roast/test_fix_p5_die:
01:39 Geth ¦ roast/test_fix_p5_die: Tests #131076
01:39 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131076
01:39 Geth ¦ roast/test_fix_p5_die: See rakudo/rakudo@87fe800d1d
01:39 Geth ¦ roast/test_fix_p5_die: review: https://github.com/perl6/roast/commit/705c371845
01:42 Geth ¦ roast: bduggan++ created pull request #262: Test fix for not dying on 'for $x()'
01:42 Geth ¦ roast: review: https://github.com/perl6/roast/pull/262
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:01 Geth ¦ roast/test_fix_p5_die: 4f2ed71700 | (Brian Duggan)++ | S10-packages/basic.t
02:01 Geth ¦ roast/test_fix_p5_die: Test fix for not dying on 'for $x()'
02:01 Geth ¦ roast/test_fix_p5_die:
02:01 Geth ¦ roast/test_fix_p5_die: This commit adds a test for a fix for dying
02:01 Geth ¦ roast/test_fix_p5_die: on 'for $x()' (which is valid Perl 6 code).
02:01 Geth ¦ roast/test_fix_p5_die:
02:01 Geth ¦ roast/test_fix_p5_die: Tests #131076
02:01 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131076
02:01 Geth ¦ roast/test_fix_p5_die: See rakudo/rakudo@87fe800d1d
02:01 Geth ¦ roast/test_fix_p5_die: review: https://github.com/perl6/roast/commit/4f2ed71700
02:06 Geth ¦ roast: f392589161 | (Brian Duggan)++ | S10-packages/basic.t
02:06 Geth ¦ roast: Test fix for not dying on 'for $x()' (#262)
02:06 Geth ¦ roast:
02:06 Geth ¦ roast: This commit adds a test for a fix for dying
02:06 Geth ¦ roast: on 'for $x()' (which is valid Perl 6 code).
02:06 Geth ¦ roast:
02:06 Geth ¦ roast: Tests #131076
02:06 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131076
02:06 Geth ¦ roast: See rakudo/rakudo@87fe800d1d
02:06 Geth ¦ roast: review: https://github.com/perl6/roast/commit/f392589161
02:37 AlexDaniel I was actually expecting this to work
02:37 AlexDaniel m: say +any(5,"flarg") // 0
02:37 camelia rakudo-moar af50e0: OUTPUT: «===SORRY!===␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5flarg' (indicated by ⏏)␤»
02:37 AlexDaniel but // does not work with junctions
02:37 AlexDaniel m: say any(5, Nil, 10) // 0
02:37 camelia rakudo-moar af50e0: OUTPUT: «any(5, Nil, 10)␤»
02:37 AlexDaniel m: say any(5, Nil, 10) || 0
02:37 camelia rakudo-moar af50e0: OUTPUT: «any(5, Nil, 10)␤»
02:38 AlexDaniel which makes sense, actually
02:38 AlexDaniel what is this… a waterbed of expectations?
02:39 mst is that like a cupboard of love?
02:43 vendethiel joined #perl6-dev
03:00 Zoffix_ joined #perl6-dev
03:01 Zoffix_ .tell TimToady if you have interest, a useless use of useless use spotted in smartmatch + block + try: `say 42 ~~ { try 1 }`  Ticket: https://rt.perl.org/Ticket/Display.html?id=131123
03:01 yoleaux2 Zoffix_: I'll pass your message to TimToady.
03:01 Zoffix_ left #perl6-dev
03:05 Zoffix_ joined #perl6-dev
03:08 Zoffix_ AlexDaniel, // works with Junctions, it just doesn't return a Junction but a collapse result. Same as .Bool
03:08 Zoffix_ m: say any(42, 65, 0)
03:08 camelia rakudo-moar af50e0: OUTPUT: «any(42, 65, 0)␤»
03:08 Zoffix_ m: say so any(42, 65, 0)
03:08 camelia rakudo-moar af50e0: OUTPUT: «True␤»
03:08 AlexDaniel yea
03:32 AlexDaniel m: say (+any(5,‘blargh’,42)).&(sub { $^a // 0 })
03:32 camelia rakudo-moar af50e0: OUTPUT: «any(5, 0, 42)␤»
03:33 AlexDaniel m: say sub { $^a // 0 }(+any(5,‘blargh’,42))
03:33 camelia rakudo-moar af50e0: OUTPUT: «any(5, 0, 42)␤»
03:38 perlnecrohacker joined #perl6-dev
03:39 perlnecrohacker joined #perl6-dev
03:41 perlnecrohacker joined #perl6-dev
03:43 perlnecrohacker joined #perl6-dev
03:45 perlnecrohacker joined #perl6-dev
03:46 perlnecrohacker joined #perl6-dev
03:47 perlnecrohacker joined #perl6-dev
03:51 Zoffix_ ZofBot, what are your thoughts on Junctions and definedness?
03:51 ZofBot Zoffix_, On POSIX systems, you can detect this condition this way: use POSIX qw(sysconf _PC_CHOWN_RESTRICTED); $can-chown-giveaway = not sysconf(_PC_CHOWN_RESTRICTED); chmod LIST Changes the permissions of a list of files
03:52 Zoffix_ Cool. Thanks.
03:58 Zoffix_ Midnight.
03:58 Zoffix_ Time to sleep
03:58 Zoffix_ ZofBot, good night!
03:58 ZofBot Zoffix_, file}; :bin constraints (no constraints at all) If the above are causing problems, p:bin{} can be used as no checking is done here
03:58 Zoffix_ left #perl6-dev
06:19 Geth ¦ nqp: a4612e3c47 | (Samantha McVey)++ | t/nqp/107-index.t
06:19 Geth ¦ nqp: Add more tests for nqp::index
06:19 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/a4612e3c47
07:16 TimToady joined #perl6-dev
07:54 sasheto joined #perl6-dev
08:07 robertle joined #perl6-dev
08:16 RabidGravy joined #perl6-dev
08:31 Geth ¦ rakudo/nom: a153ea209f | (Elizabeth Mattijsen)++ | 4 files
08:31 Geth ¦ rakudo/nom: Generalize all Mix(|Hash).Bag(|Hash) coercions
08:31 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a153ea209f
08:53 camelia joined #perl6-dev
08:57 cognominal joined #perl6-dev
08:58 nine joined #perl6-dev
08:59 camelia joined #perl6-dev
09:10 AlexDaniel joined #perl6-dev
09:11 Geth ¦ rakudo/nom: 3e412b9d07 | (Elizabeth Mattijsen)++ | 4 files
09:11 Geth ¦ rakudo/nom: Generalize .Bag(|Hash) coercion a bit further
09:11 Geth ¦ rakudo/nom:
09:11 Geth ¦ rakudo/nom: Also fix nodality.
09:11 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3e412b9d07
09:11 Geth ¦ rakudo/nom: 7025050d22 | (Elizabeth Mattijsen)++ | 5 files
09:11 Geth ¦ rakudo/nom: Generalize Bag(|Hash).Mix(|Hash) coercion
09:11 Geth ¦ rakudo/nom:
09:11 Geth ¦ rakudo/nom: Also fix nodality
09:11 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7025050d22
09:37 Geth ¦ rakudo/nom: 2ed572a1c6 | (Elizabeth Mattijsen)++ | 5 files
09:37 Geth ¦ rakudo/nom: Generalize (Bag|Mix)Hash.clone, simplify (Bag|Mix).clone
09:37 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2ed572a1c6
10:12 Geth ¦ rakudo/nom: d673ea71cd | (Elizabeth Mattijsen)++ | 2 files
10:12 Geth ¦ rakudo/nom: Streamline Set(|Hash).clone
10:12 Geth ¦ rakudo/nom:
10:12 Geth ¦ rakudo/nom: - makes SetHash.clone about 250x faster (for a 10 element SetHash)
10:12 Geth ¦ rakudo/nom: - does not need to look at any keys at HLL level
10:12 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d673ea71cd
10:15 Geth ¦ roast: fe233b64dc | (Elizabeth Mattijsen)++ | S02-types/sethash.t
10:15 Geth ¦ roast: Add some more SetHash.clone sanity tests
10:15 Geth ¦ roast: review: https://github.com/perl6/roast/commit/fe233b64dc
10:32 lizmat http://stackoverflow.com/questions/43289842/should-this-perl-6-catch-block-be-able-to-change-variables-in-the-lexical-scope
10:33 lizmat looking at ^^^^ , I'm wondering whether we shouldn't containerize the Exception in $_, so that you could assign a value to it to be stored in the variable
10:33 lizmat the fix would then be:  my $e = $_; $_ = 0; $e.resume
10:39 RabidGravy I'm not sure, it seems that the OP wants the lexical context of the throw site to be copied into the CATCH which is kinda scary
10:39 RabidGravy to me anyhow
10:40 lizmat well, that's *how* he tried to do it
10:40 lizmat the question is really: I'm playing with resumable exceptions. In this example, I try to numify something that doesn't numify. I catch that and attempt to give the $value variable an appropirate value then resume execution
10:41 lizmat .oO( RabidGravy must like the pirate in that quote )
10:42 RabidGravy RARR!
10:46 jnthn It's because the exception throw happens prior to the assignment
10:47 AlexDaniel joined #perl6-dev
10:47 jnthn And then when the resume happens the assignment is yet to take place
10:47 jnthn And what gets assigned is the Failure
10:47 jnthn I can write that on SO, I guess... :)
10:48 lizmat jnthn: hence my proposal to make $_ a container
10:48 lizmat so you could *change* the value to be assigned
10:50 lizmat jnthn: I'll write it on SO if you don't feel like it
10:50 jnthn Bu tit's not about that :)
10:50 jnthn Oh, I maybe see what you're saying
10:51 jnthn I'd more expect that to be an argument to resume, though
10:51 jnthn Note that $_ is not the Failure
10:51 jnthn It's an Exception
10:52 lizmat sorry, yes
10:52 lizmat but a parameter to .resume would be better
10:52 jnthn I'm still not convinced (just checking) that'd actually make a difference in this particular case
10:55 lizmat +    method resume(Exception:D: $value = $!ex --> True) {
10:55 lizmat +        nqp::resume($value);
10:56 lizmat too simple  :-(
10:57 jnthn Yes, and also the fatalization done by try will also not allow this
10:57 jnthn As I've nearly written in my answer
10:57 lizmat ah, ok  :-)
10:57 jnthn Darn, this indentation style
10:58 lizmat yeah, it's like Tuxes
10:58 jnthn That also puts the closing } indented?
10:59 lizmat yeah
10:59 lizmat .oO( feels like you never get closure )
11:01 nine m: try { my $m = "Hello"; my $default; my $value = +$m; $value //= $default; say $value; CATCH { when X::Str::Numeric { $default = 0; .resume; } } }'
11:01 camelia rakudo-moar d673ea: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Strange text after block (missing semicolon or comma?)␤at <tmp>:1␤------> 3::Numeric { $default = 0; .resume; } } }7⏏5'␤    expecting any of:␤        infix␤        infix stopper␤        s…»
11:01 nine m: try { my $m = "Hello"; my $default; my $value = +$m; $value //= $default; say $value; CATCH { when X::Str::Numeric { $default = 0; .resume; } } }
11:01 camelia rakudo-moar d673ea: OUTPUT: «0␤»
11:01 nine That workaround doesn't look so bad. Though I have to admit that it's very unintuitive.
11:06 lizmat well, you would need to do that for every variable assignment in the block.
11:07 lizmat I guess the point would be that you would only need to do stuff inside the CATCH block and have it apply to all assignments
11:07 nine Btw. jnthn: is it possible that the contents of a byte code file depend on when the GC is running? I tried to find where we are referencing the repo a comp unit was loaded from but ended up running into code layout having influence on whether the reference is there or not.
11:08 nine jnthn: I pretty much hope you say yes, because then I can just give up on the brittle attempt to not reference the repo
11:15 jnthn lizmat: There's so many other ways to factor that out that don't involve resumable exceptions... :)
11:15 lizmat true
11:16 lizmat perhaps he didn't realize you can catch failures by //=
11:17 jnthn m: only sub prefix:<+>($v) { CORE::{'&prefix:<+>'}($v) // 0 }; say +'hello' # another way :)
11:17 camelia rakudo-moar d673ea: OUTPUT: «0␤»
11:18 jnthn You can put that in a module and import it, meaning even less boilerplate in any given scope where you wish to do this :)
11:18 jnthn nine: Umm...I can't think of how that could easily happen aside from if the contents of nqp::where or nqp::objectid were being used somewhere
11:20 nine jnthn: none of those is used in src/core/CompUnit/. I got different results depending on the presence of code that wasn't even executed like RAKUDO_MODULE_DEBUG stuff.
11:21 jnthn o.O
11:21 jnthn That sounds...interesting
11:53 nine Except that now that I've tried to continue this frustrating work it suddenly behaves quite logically.
11:53 nine I could even narrow it down to the compile time EVAL run by dependency re-resolving
11:56 Geth ¦ rakudo/nom: 188b7b1d90 | (Elizabeth Mattijsen)++ | 3 files
11:56 Geth ¦ rakudo/nom: Implement .tail(*-N) for all but first N elements
11:56 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/188b7b1d90
11:57 lizmat basically the same as .skip(N)
12:13 nine Indeed! When I replace the dependency specification EVAL with the code we use on JVM (where compile time EVAL doesn't work yet), I can load a precompiled Inline::Perl5 installed from an RPM package :)
12:26 [Tux] This is Rakudo version 2017.03-182-g188b7b1d9 built on MoarVM version 2017.03-98-g9653dc6a
12:26 [Tux] csv-ip5xs        3.034
12:26 [Tux] test            12.648
12:26 [Tux] test-t           4.928 - 5.413
12:26 [Tux] csv-parser      12.832
13:04 jnthn m: class X::Test is Exception { has $.message }; my $p = Promise.new; $p.break(X::Test.new(message => "oh crumbs")); try await start { await $p }; say $!
13:04 camelia rakudo-moar 188b7b: OUTPUT: «Tried to get the result of a broken Promise␤  in block <unit> at <tmp> line 1␤␤Original exception:␤    Tried to get the result of a broken Promise␤      in block  at <tmp> line 1␤␤    Original exception:␤        Died with X::Test+{X::Prom…»
13:04 Zoffix buggable: speed 5
13:04 buggable Zoffix, ▁▂▂█▁ data for 2017-04-06–2017-04-08; range: 4.928s–5.413s; 1% faster
13:05 jnthn m: use Test; class X::Test is Exception { has $.message }; my $p = Promise.new; $p.break(X::Test.new(message => "oh crumbs")); try await start { await $p }; like $!.gist, /crumbs/
13:05 camelia rakudo-moar 188b7b: OUTPUT: «not ok 1 - ␤␤# Failed test at <tmp> line 1␤#      expected: '/crumbs/'␤#      got: 'Tried to get the result of a broken Promise␤#   in block <unit> at <tmp> line 1␤␤# Original exception:␤#     Tried to get the result of a broken Promise…»
13:08 ZofBot joined #perl6-dev
13:30 Zoffix Did we do something with precomp/module loading recently? A spec file tells me it can't find Test::Util, despite the file being there :S https://gist.github.com/zoffixznet/efc86cb85e2dbd14a276755a479b5021
13:30 Zoffix ugh missing `lib`
13:31 Zoffix m: use </home/camelia>
13:31 camelia rakudo-moar 188b7b: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    use used at line 1␤␤»
13:31 Zoffix m: use </home/camelia>; use Test::Util
13:31 camelia rakudo-moar 188b7b: OUTPUT: «===SORRY!===␤Could not find Test::Util at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-1/share/perl6/site␤    /home/camelia/rakudo-m-inst-1/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-1/share/perl6␤    CompUnit::…»
13:31 Zoffix I see
13:31 Zoffix ZofBot: need moar coffee!
13:31 ZofBot Zoffix, The 'S' can be thought of as standing for Sequential, Serial, Synchronous, Short-circuit, Single-thread, and Safe
13:32 Zoffix ZofBot: what about Scary?
13:32 ZofBot Zoffix, So instead of installing a symbol into a lexical or package symbol table, they merely install a public or private method in the current class or role via calls to its metaobject
13:37 Zoffix ZOFVM: Files=1234, Tests=133452, 114 wallclock secs (21.81 usr  3.32 sys + 2345.44 cusr 154.34 csys = 2524.91 CPU)
13:37 Zoffix 1234 files! Yes!
13:38 Geth ¦ rakudo/nom: 093bb89673 | (Jonathan Worthington)++ | src/core/Exception.pm
13:38 Geth ¦ rakudo/nom: Prevent loss of exception message on rethrow.
13:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/093bb89673
13:39 Geth ¦ roast: 8f8e5e2153 | (Jonathan Worthington)++ | S17-promise/basic.t
13:39 Geth ¦ roast: Test nested awaits don't lose exception messages.
13:39 Geth ¦ roast:
13:39 Geth ¦ roast: Previously they did in some cases (like the one exercised in this
13:39 Geth ¦ roast: test), which was a real nuisance for debugging.
13:39 Geth ¦ roast: review: https://github.com/perl6/roast/commit/8f8e5e2153
13:42 jnthn Ran into that while working on cert verification stuff in IO::Socket::Async::SSL
13:48 Zoffix :o
13:49 Zoffix \o/
13:49 Zoffix buggable: eco Socket
13:49 buggable Zoffix, Found 4 results: IO::Socket::SSL, CheckSocket, WebSocket, Test::IO::Socket::Async. See https://modules.perl6.org/#q=Socket
13:49 Zoffix There've been many requests for IRC::Client to use SSL. I guess soon that'll be a reality :)
13:52 jnthn I'm hopeful it'll be in a state where I feel OK about adding it to the ecosystem this weekend :)
13:53 Zoffix \o/
13:53 Zoffix ZOF6VM: Files=1234, Tests=133453,  226 wallclock secs
13:55 jnthn I need to write some proper tests, and implement hostname checking
13:55 jnthn And then it's probably sufficiently secure to use
13:55 jnthn I think our existing SSL module isn't doing those things, though :(
13:56 jnthn shopping; bbl
13:57 Geth ¦ rakudo/nom: 50aea2b4bd | (Zoffix Znet)++ | src/core/IO/Handle.pm
13:57 Geth ¦ rakudo/nom: [io grant] Restore IO::Handle.IO
13:57 Geth ¦ rakudo/nom:
13:57 Geth ¦ rakudo/nom: After more thought, it was a bit too much to remove it along with
13:57 Geth ¦ rakudo/nom: other IO::Pathy methods. Bringing it back, mostly so that IO() coercers
13:57 Geth ¦ rakudo/nom: take it, just like they take Cools. And it makes far more sense to
13:57 Geth ¦ rakudo/nom: coerce an IO::Handle to IO::Path than it does to coerce a Complex.
13:57 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50aea2b4bd
14:19 Zoffix grr
14:19 * Zoffix is annoyed with tests that don't localize the environment before messing with it
14:19 Zoffix #      got: '/zip/loc/../foo/../../bar'
14:19 Zoffix "zip what?"
14:43 Geth ¦ rakudo/nom: 966a7e3a10 | (Zoffix Znet)++ | src/core/IO/Path.pm
14:43 Geth ¦ rakudo/nom: [io grant] Implement IO::Path.concat-with
14:43 Geth ¦ rakudo/nom:
14:43 Geth ¦ rakudo/nom: - Does what .child used to do
14:43 Geth ¦ rakudo/nom: - .child will be changed to throw for non-child paths
14:43 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/966a7e3a10
14:44 Geth ¦ roast: 0e47f25e07 | (Zoffix Znet)++ | S32-io/io-path.t
14:44 Geth ¦ roast: [io grant] Test IO::Path.concat-with
14:44 Geth ¦ roast:
14:44 Geth ¦ roast: Rakudo impl: https://github.com/rakudo/rakudo/commit/966a7e3a10
14:44 Geth ¦ roast: review: https://github.com/perl6/roast/commit/0e47f25e07
14:45 timotimo Zoffix: i'm having a hard time finding that document with your planned changes that had all these links to github issues in them?
14:45 Zoffix timotimo: it's in docs/    https://github.com/rakudo/rakudo/blob/nom/docs/2017-IO-Grant--Action-Plan.md
14:46 Zoffix And all the Issues are in this repo: https://github.com/zoffixznet/IOwesomeness
14:46 timotimo ah!
14:46 timotimo i was looking for a gist >_>
14:47 Zoffix timotimo: XML.pm6 already has a PR to fix it: https://github.com/supernovus/exemel/pull/43
14:47 timotimo cool
14:47 Zoffix And no, there's no role for "IO::Handle or IO::Path I don't care"; they're vastly differnt objects, so the "I don't care claim" is untrue
14:47 timotimo i'll send 'em that link
14:48 timotimo i accept that explanation
14:48 timotimo though we may want to put that sentence into the plan for future reference
14:51 Geth ¦ rakudo/nom: 38c40bbef2 | (Zoffix Znet)++ | docs/2017-IO-Grant--Action-Plan.md
14:51 Geth ¦ rakudo/nom: Mention there's no point in objects doing an empty role IO
14:51 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/38c40bbef2
14:53 Zoffix Well, not entirely no point. It was later found we should bring back `role IO` and make IO::Path do it. Because when we make our coercers actually check the return types, we'd have a lot of explosion with IO() coercers if IO::Path isn't IO type
14:53 Zoffix But I'll postpone that change until release, just to shake out all these bugs like in XML.pm6 where people incorrectly use IO role as a type constraint.
14:54 Zoffix (in XML.pm6, the method wants an IO::Handle, for example, and will croak if given an IO::Path)
14:56 timotimo mhm
14:56 timotimo thanks for doing all of this \o/
15:23 Geth ¦ rakudo/nom: 94a6909788 | (Zoffix Znet)++ | src/core/IO/Spec/Unix.pm
15:23 Geth ¦ rakudo/nom: [io grant] Clean up IO::Spec::Unix.abs2rel a bit
15:23 Geth ¦ rakudo/nom:
15:23 Geth ¦ rakudo/nom: - Shove $*CWD default into signature instead of using `Str` and
15:23 Geth ¦ rakudo/nom: then using an `if` on it in the body.
15:23 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/94a6909788
16:14 Zoffix ZofBot: TFW you think you're out of vanilla coffee, but then find to full jars in the cupboard
16:14 ZofBot Zoffix, The side-effect code is only run for emitted values, not when the original is quit or done
16:15 Zoffix ZofBot: but what about coffee
16:15 ZofBot Zoffix, 2
16:15 Zoffix Right, 2 jars
16:17 Zoffix t/spec/S11-modules/nested.t flopped
16:18 Geth ¦ rakudo/nom: cb323d5dd3 | (Zoffix Znet)++ | 8 files
16:18 Geth ¦ rakudo/nom: [io path] Remove IO::Path.abspath
16:18 Geth ¦ rakudo/nom:
16:18 Geth ¦ rakudo/nom: The original plan was to make it a private method. However,
16:18 Geth ¦ rakudo/nom: IO::Path.absolute just calls to .abspath under the hood. So, instead
16:18 Geth ¦ rakudo/nom: of making it private, move the code to IO::Path.absolute.
16:18 Geth ¦ rakudo/nom:
16:18 Geth ¦ rakudo/nom: Net result: saved method call in IO::Path.absolute
16:18 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cb323d5dd3
16:24 BenGoldberg joined #perl6-dev
16:25 simcop2387 joined #perl6-dev
16:26 Zoffix uuuhh.
16:26 Zoffix Yes, remove all USES of .abspath but not the method itself lulz
16:30 simcop2387 Zoffix: sorry for stalking you but i thought you might like to know about changes to perlbot's eval.  you can eval with different perl versions now.  4, 5.5 .. 5.24, and blead.  and even have perlbot test it on most of them in #perlbot with evalall:  That is all.
16:31 BenGoldberg ZofBot, The coffee is immesurable.  There is no spoon.
16:31 ZofBot BenGoldberg, "val()"-based representation of rational literals
16:31 Zoffix simcop2387: thanks!
16:33 timotimo cool, i wonder if that was inspired by the whateverables?
16:38 Geth ¦ rakudo/nom: a432b3d963 | (Zoffix Znet)++ | 2 files
16:38 Geth ¦ rakudo/nom: [io grant] Remove IO::Path.abspath (part 2)
16:38 Geth ¦ rakudo/nom:
16:38 Geth ¦ rakudo/nom: The previous commit[^1] did not do a thorough job.
16:38 Geth ¦ rakudo/nom:
16:38 Geth ¦ rakudo/nom: [1] https://github.com/rakudo/rakudo/commit/cb323d5dd3
16:38 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a432b3d963
16:49 Geth ¦ rakudo/nom: 4642cf47c3 | (Zoffix Znet)++ | src/core/IO/Path.pm
16:49 Geth ¦ rakudo/nom: Remove comment
16:49 Geth ¦ rakudo/nom:
16:49 Geth ¦ rakudo/nom: While making $!abspath a native type no longer segfaults, it actually
16:49 Geth ¦ rakudo/nom: makes file tests about 8% slower. Due to boxing/unboxing?
16:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4642cf47c3
17:05 Zoffix m: multi sub term:<B> (:$foo!) {say "with $foo"}; multi sub term:<B> () { say "without foo" }; B; B :foo
17:05 camelia rakudo-moar a432b3: OUTPUT: «without foo␤with True␤»
17:05 Zoffix TimToady: ^ terms can have args
17:09 Zoffix Which is really neat, 'cause you can do this:
17:09 Zoffix m: multi sub term:<B> (:$foo!) {"with $foo"}; multi sub term:<B> () { "without foo" }; say B :foo ~ B
17:09 camelia rakudo-moar a432b3: OUTPUT: «with Truewithout foo␤»
17:09 Zoffix hehe
17:22 tomboy64 joined #perl6-dev
17:22 tomboy64 are there any news regarding rakudo + jvm? it doesn't build for me since almost a year now (2016.06 iirc)
17:26 Zoffix tomboy64: I haven't seen any recent work on it.
17:26 Zoffix All the volunteers currently working on MoarVM/Rakudo itself
17:27 tomboy64 ahh, good to know. thanks.
17:27 Zoffix There were a few fixes going in in the past 3-4 months, but there were just unbusting fixes to make it compile
17:27 Zoffix And maybe it broke again if you're having trouble building it
17:27 tomboy64 i guess i'll stop checking then. i kind of implemented it to work on gentoo.
17:28 tomboy64 meaning, the i altered the package to work with the jvm.
17:30 lizmat fwiw, I haven't been able to build the JVM backend for quite some time now
17:30 lizmat Stage jast       : java.lang.OutOfMemoryError: PermGen space
17:30 lizmat Exception in thread "main"
17:30 lizmat Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"
17:30 tomboy64 indeed
17:31 tomboy64 i was just wondering because it's still advertised on the moarvm homepage
17:31 tomboy64 thanks for the info :)
17:35 lizmat afk&
17:36 Geth ¦ roast: e5dc37667b | (Zoffix Znet)++ | S16-filehandles/filestat.t
17:36 Geth ¦ roast: [io grant] Expand IO::Path.accessed tests
17:36 Geth ¦ roast: review: https://github.com/perl6/roast/commit/e5dc37667b
17:38 TimToady Zoffix: that's just the crazy part, not the insane part :)
17:38 yoleaux2 03:01Z <Zoffix_> TimToady: if you have interest, a useless use of useless use spotted in smartmatch + block + try: `say 42 ~~ { try 1 }`  Ticket: https://rt.perl.org/Ticket/Display.html?id=131123
17:39 Zoffix :)
17:59 sasheto joined #perl6-dev
18:05 * Zoffix wonders if it was a good idea to visit the NSA hack arsenal github link
18:05 Zoffix Almost cloned it, but don't think I want the black helicopters to descend on my building...
18:06 Zoffix Context: https://twitter.com/Snowden/status/850766326943690752
18:25 Geth ¦ rakudo/nom: 954e69eae4 | (Zoffix Znet)++ | src/core/IO/Special.pm
18:25 Geth ¦ rakudo/nom: [io grant] Fix return value of IO::Special methods
18:25 Geth ¦ rakudo/nom:
18:25 Geth ¦ rakudo/nom: The intent appears to have been to return a type object, but it's
18:25 Geth ¦ rakudo/nom: functioning as a return type constraint.
18:25 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/954e69eae4
18:30 Zoffix m: my $*FOO; say $*FOO.VAR.name
18:30 camelia rakudo-moar 4642cf: OUTPUT: «$*FOO␤»
18:30 Zoffix m: say $*OUT.VAR.name
18:30 camelia rakudo-moar 4642cf: OUTPUT: «<element>␤»
18:30 Zoffix <element>??
18:37 Geth ¦ rakudo: jsimonet++ created pull request #1057: [Test] Add default description.
18:37 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1057
18:43 Geth ¦ roast: 43ec5437d9 | (Zoffix Znet)++ | S32-io/io-special.t
18:43 Geth ¦ roast: [io grant] Cover methods of IO::Special
18:43 Geth ¦ roast: review: https://github.com/perl6/roast/commit/43ec5437d9
18:44 Geth ¦ rakudo/nom: 67f06b233c | (Zoffix Znet)++ | t/spectest.data
18:44 Geth ¦ rakudo/nom: [io grant] Run S32-io/io-special.t test file
18:44 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/67f06b233c
18:49 Geth ¦ rakudo/nom: 4b915f7f3f | (Julien Simonet)++ | lib/Test.pm6
18:49 Geth ¦ rakudo/nom: [Test] Add default description.
18:49 Geth ¦ rakudo/nom:
18:49 Geth ¦ rakudo/nom: Add description for like, unlike, use-ok.
18:49 Geth ¦ rakudo/nom: Rename some parameters for a more standardised naming (desc vs msg) for
18:49 Geth ¦ rakudo/nom: isa-ok, does-ok, can-ok and use-ok.
18:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4b915f7f3f
18:49 Geth ¦ rakudo/nom: ade8c4c78c | (Zoffix Znet)++ | lib/Test.pm6
18:49 Geth ¦ rakudo/nom: Merge pull request #1057 from jsimonet/nom
18:49 Geth ¦ rakudo/nom:
18:49 Geth ¦ rakudo/nom: [Test] Add default description.
18:49 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ade8c4c78c
18:49 Ven joined #perl6-dev
19:02 Geth ¦ rakudo/nom: 50a0dc2cfe | (Zoffix Znet)++ | lib/Test.pm6
19:02 Geth ¦ rakudo/nom: Code clean up
19:02 Geth ¦ rakudo/nom:
19:02 Geth ¦ rakudo/nom: - Wrap insanely long lines
19:02 Geth ¦ rakudo/nom: - Get rid of supersticious parens
19:02 Geth ¦ rakudo/nom: - Get rid of concatenation bonanza
19:02 Geth ¦ rakudo/nom: - Fix typo
19:02 Geth ¦ rakudo/nom: - Use .perl on strings in like/unlike default desc so that
19:02 Geth ¦ rakudo/nom:     whitespace shows up properly
19:02 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/50a0dc2cfe
19:03 AlexDaniel joined #perl6-dev
19:04 AlexDaniel no yoleaux news, right?
19:04 Zoffix None that I know of.
19:05 AlexDaniel okay
19:07 dpk joined #perl6-dev
19:07 dpk central services here, i hear you've been having some issues with your ducts
19:07 Zoffix \o
19:07 AlexDaniel :)
19:08 yoleaux joined #perl6-dev
19:09 Zoffix \o/
19:09 yoleaux 16:25Z <simcop2387> Zoffix: Hey I added a bunch of stuff to perlbot's eval.  you can now do eval$VERSION: to run a specific version (supported are, qw/5.6 5.8 5.10 5.12 5.14 5.16 5.18 5.20 5.22 5.24 5.5 4/), and in #perlbot or /msg you can do evalall: to run on perl versions between 5.5-5.24 + current blead
19:09 Zoffix Sweet. Now I don't need to go to #perl6 to get my messags :)
19:09 dpk so, now i'll try and get your old messages into the main yoleaux instance database … let's see
19:09 AlexDaniel Zoffix: are there any other channels yoleaux2 was on?
19:09 AlexDaniel Zoffix: wait, can we have the latest version of tell.db?
19:10 AlexDaniel Zoffix: and not the one that is one day old? :)
19:10 dpk oh yeah, if there have been any changes since last night, that'd be good to have
19:10 Zoffix I've just copied it over
19:10 Zoffix Same URL as yesterday https://temp.perl6.party/tell.db
19:10 AlexDaniel dpk: ↑ :)
19:10 Zoffix channels: only #moarvm and #perl6-dev
19:15 Zoffix m: say 397/181
19:15 camelia rakudo-moar 50a0dc: OUTPUT: «2.193370␤»
19:15 Zoffix m: say 181/397
19:15 camelia rakudo-moar 50a0dc: OUTPUT: «0.455919␤»
19:16 Zoffix I authored 45% of commits since last release \o/
19:16 Zoffix I guess that's a good excuse as any to call it a day and go play Andromeda
19:16 Zoffix \o
19:17 Zoffix ZofBot: good night!
19:17 ZofBot Zoffix, $base defaults to the constant *e*
19:18 AlexDaniel ZofBot: tell me honestly, do you think at least a little bit before saying something?
19:18 ZofBot AlexDaniel, See Abstractions
19:18 AlexDaniel ZofBot: alright
19:18 ZofBot AlexDaniel, } when Hash {
19:31 Zoffix Does anyone got ops to r/perl6 reddit? Need to remove announcement tag from the IOwesomeness and put it onto the two upgrade notices: https://www.reddit.com/r/perl6/
19:31 Zoffix "🎺🎺🎺 Upgrade Information for Changes Due to IO Grant Work" and "🎺🎺🎺 ** PART 2 **: Upgrade Information for Changes Due to IO Grant Work"
19:32 timotimo i should be able to
19:32 timotimo how do i do it though
19:33 timotimo found it
19:34 timotimo both posts are now announcemens, the previously announcementized post is no longer announcified
19:34 yoleaux joined #perl6-dev
19:34 dpk okay, the message databases should be merged now
19:35 Zoffix dpk++ thanks
19:35 Zoffix timotimo, the 🎺🎺🎺 ** PART 2 **: Upgrade Information for Changes Due to IO Grant Work should also be an announcement
19:35 dpk welcome
19:35 Zoffix There are 2 upgrade notices
19:35 dpk left #perl6-dev
19:36 timotimo didn't i do that?
19:37 timotimo modemake announcement? (bottom announcement will be replaced) yes / no
19:37 timotimo can only have two
19:37 Zoffix Ah
19:37 Zoffix OK then
19:37 Zoffix Set just the PART 2 then
19:37 timotimo i'd like to keep the weekly, though
19:37 Zoffix Since it links to the first one
19:37 timotimo yeah, did that
19:37 timotimo yup
19:37 Zoffix OK, timotimo++ thanks
19:39 timotimo no prob
19:51 BenGoldberg joined #perl6-dev
19:51 Ven joined #perl6-dev
19:52 simcop2387 left #perl6-dev
20:08 AlexDaniel bots
20:08 AlexDaniel huggable: bots
20:08 huggable AlexDaniel, The #perl6 irc channel normally hosts several helpful bots. I am a bot, and everyone else voiced on this channel is a bot. See the full list here: https://github.com/perl6/doc/issues/711#issuecomment-235414744
20:08 AlexDaniel “run my dpk”… that's not what I meant…
20:12 cognominal joined #perl6-dev
20:36 sasheto joined #perl6-dev
20:50 ugexe m: say IO::Path.new-from-absolute-path($*CWD.absolute).perl; say $*CWD.absolute.IO
20:50 camelia rakudo-moar 50a0dc: OUTPUT: «IO::Path is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting line 1␤  in method FALLBACK at src/RESTRICTED.setting line 31␤  in block <unit> at <tmp> line 1␤␤»
20:51 ugexe Zoffix: https://github.com/ugexe/zef/issues/149 breaks zef - havent figured out why
20:54 Zoffix_ joined #perl6-dev
20:55 Zoffix_ ugexe, in travis: "Failed to update p6c mirror No such method 'IO' for invocant of type 'Any'"...
20:55 Zoffix_ ugexe, by the sounds of that, sounds like it's not always defined :/
20:55 Zoffix_ ummm
20:55 Zoffix_ did I mess it up...
20:55 timotimo the .IO coercer?
20:55 timotimo yeah, shouldn't be Any, though?
20:55 timotimo like, we don.t really instantiate Any anywhere, and it's hardly of any use to anybody
20:56 Zoffix_ m: "foo".IO.absolute.say
20:56 camelia rakudo-moar 50a0dc: OUTPUT: «/home/camelia/foo␤»
20:56 Zoffix_ m: "foo".IO.parent.absolute.say
20:56 camelia rakudo-moar 50a0dc: OUTPUT: «/home/camelia␤»
20:56 Zoffix_ dafuq
20:57 * Zoffix_ fires up the VM to check
21:00 Zoffix_ No failures on 2017.03-129-gf9f0883
21:00 * Zoffix_ upgrades to HEAD
21:00 Zoffix_ m: "/foo".IO.absolute.say
21:00 camelia rakudo-moar 50a0dc: OUTPUT: «/foo␤»
21:01 Zoffix_ m: "/foo/bar".IO.absolute.say
21:01 camelia rakudo-moar 50a0dc: OUTPUT: «/foo/bar␤»
21:01 Zoffix_ m: "/foo/bar".IO.parent.absolute.say
21:01 camelia rakudo-moar 50a0dc: OUTPUT: «/foo␤»
21:01 ugexe there are other instances of .abspath used... let me try changing those
21:02 ugexe yep that was it
21:02 Zoffix_ Oh
21:04 Zoffix_ *phew* :)_
21:04 * Zoffix_ leaves back into space
21:04 Zoffix_ huggable, IO kills
21:04 huggable Zoffix_, [XXX] (doc test suite[fixed]; Text::CSV[fixed]; XML.pm6[PR to fix https://github.com/supernovus/exemel/pull/43 ])
21:05 Zoffix_ huggable, IO kills :is: [XXXX] (doc test suite[fixed]; Text::CSV[fixed]; XML.pm6[PR to fix https://github.com/supernovus/exemel/pull/43 ], Zef [PR to fix https://github.com/ugexe/zef/pull/150 ])
21:05 huggable Zoffix_, Added IO kills as [XXXX] (doc test suite[fixed]; Text::CSV[fixed]; XML.pm6[PR to fix https://github.com/supernovus/exemel/pull/43 ], Zef [PR to fix https://github.com/ugexe/zef/pull/150 ])
21:10 ugexe Zoffix_: target this instead (includes the other fix) https://github.com/ugexe/zef/commit/e2deb25
21:11 Zoffix_ huggable, IO kills :is: [XXXX] (doc test suite[fixed]; Text::CSV[fixed]; XML.pm6[PR to fix https://github.com/supernovus/exemel/pull/43 ], Zef [fixed in https://github.com/ugexe/zef/commit/e2deb25 ])
21:11 huggable Zoffix_, Added IO kills as [XXXX] (doc test suite[fixed]; Text::CSV[fixed]; XML.pm6[PR to fix https://github.com/supernovus/exemel/pull/43 ], Zef [fixed in https://github.com/ugexe/zef/commit/e2deb25 ])
21:40 Geth ¦ rakudo/nom: bf63719aa9 | (Elizabeth Mattijsen)++ | 3 files
21:40 Geth ¦ rakudo/nom: Make QuantHash.raw_hash return "inner" nqp::hash
21:40 Geth ¦ rakudo/nom:
21:40 Geth ¦ rakudo/nom: Because since that is a IterationSet, we can, and thus save on an
21:40 Geth ¦ rakudo/nom: extra nqp::getattr.  Small step towards making %!elems in QuantHash
21:40 Geth ¦ rakudo/nom: to be an IterationSet itself, rather than a Hash containing an
21:40 Geth ¦ rakudo/nom: IterationSet.
21:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bf63719aa9
22:45 jnthn Oh, the joy of things that fail one in several hundred (or thousand) times...
22:51 * jnthn will leave debugging that for tomorrow or so
22:51 jnthn That plus some more docs are what's to go before I throw https://github.com/jnthn/p6-io-socket-async-ssl into the module ecosystem, anyways
22:52 jnthn Fixing the encoding stuff up reminds me that I should really get a public API for streaming decoding into Rakudo at some point, though
22:53 jnthn Especially as the SSH binding needs the exact same
23:00 Zoffix_ left #perl6-dev
23:01 AlexDaniel joined #perl6-dev
23:15 jnthn 'night
23:16 samcv night

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