Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-07-26

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

All times shown according to UTC.

Time Nick Message
00:19 AlexDaniel joined #perl6-dev
00:49 tbrowder joined #perl6-dev
00:50 tbrowder left #perl6-dev
01:13 FROGGS_ joined #perl6-dev
01:28 gfldex m: sub niler( --> Int:D ) { return-rw Nil }; my Int $i = niler; dd $i;
01:28 camelia rakudo-moar 041919: OUTPUT«Int $i = Int␤»
01:29 gfldex what exactly does `return-rw Nil` return?
01:29 gfldex m: sub niler( --> Int:D ) { return-rw Nil }; my Int $i := niler; dd $i;
01:29 camelia rakudo-moar 041919: OUTPUT«Type check failed in binding; expected Int but got Nil (Nil)␤  in block <unit> at <tmp> line 1␤␤»
02:01 gfldex m: class Baddy is Nil {}; sub niler( --> Any:D ) { return-rw Baddy.new }; my $i := niler; dd $i;
02:01 camelia rakudo-moar 041919: OUTPUT«Nil␤»
02:01 gfldex m: class Baddy is Nil {}; sub niler( --> Any:D ) { Baddy.new }; my $i := niler; dd $i;
02:01 camelia rakudo-moar 041919: OUTPUT«Nil␤»
02:02 gfldex m: class Baddy is Nil {}; sub niler( --> Any:D ) { Baddy.new }; my $i = niler; dd $i;
02:02 camelia rakudo-moar 041919: OUTPUT«Any $i = Any␤»
02:02 gfldex m: class Baddy is Nil {}; sub niler( --> Any:D ) { Baddy.new }; my $i = 42; $i = niler; dd $i;
02:02 camelia rakudo-moar 041919: OUTPUT«Any $i = Any␤»
02:24 gfldex .tell TimToady i somehow feel that definedness contraints on --> and returns are to missleading to have. see: m: class Baddy is Nil {}; sub niler( --> Any:D ) { Baddy.new }; my $i = 42; $i = niler; dd $i;
02:24 yoleaux2 gfldex: I'll pass your message to TimToady.
02:25 gfldex m: class Baddy is Nil {}; sub niler( --> Any ) { my Any:D $r = Baddy.new; $r }; my $i = 42; $i = niler; dd $i;
02:25 camelia rakudo-moar 041919: OUTPUT«Type check failed in assignment to $r; expected type Any:D cannot be itself (perhaps Nil was assigned to a :D which had no default?)␤  in sub niler at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
02:32 gfldex .tell TimToady what makes me uneasy are lines line the following. A new and aspiring Perl 6 Programmer might take the `--> IO::Path:D` at face value. Given it's IO and we support Windows I would not bet my life on the :D part. https://docs.perl6.org/type/IO$COLON$COLONPath#method_absolute
02:32 yoleaux2 gfldex: I'll pass your message to TimToady.
02:45 gfldex m: my Nil:D $i = Failure.new('boo boo');
02:45 camelia rakudo-moar 041919: ( no output )
02:45 gfldex m: my Nil:D $i = Failure.new('boo boo'); say $i;
02:45 camelia rakudo-moar 041919: OUTPUT«boo boo␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
02:46 gfldex m: my Nil:D $i = Failure.new('boo boo'); say $i.defined;
02:46 camelia rakudo-moar 041919: OUTPUT«False␤»
02:46 gfldex m: my Any:D $i = Failure.new('boo boo'); say $i.defined;
02:46 camelia rakudo-moar 041919: OUTPUT«False␤»
02:48 gfldex this is actually keeping me awake at night. :->
06:50 RabidGravy joined #perl6-dev
07:27 sno joined #perl6-dev
08:06 Ven_ joined #perl6-dev
08:15 [TuxCM] joined #perl6-dev
08:19 Woodi joined #perl6-dev
09:45 tbrowder joined #perl6-dev
10:15 Ven_ joined #perl6-dev
11:39 tadzik joined #perl6-dev
11:42 Ven_ joined #perl6-dev
11:49 dalek nqp: 560522b | moritz++ | / (90 files):
11:49 dalek nqp: Some initial parrot removal
11:49 dalek nqp: review: https://github.com/perl6/nqp/commit/560522ba16
11:49 dalek nqp: 0c3d652 | moritz++ | / (4 files):
11:49 dalek nqp: More deparroting
11:50 dalek joined #perl6-dev
11:50 dalek rakudo/nom: 2efb01b | moritz++ | tools/build/NQP_REVISION:
11:50 dalek rakudo/nom: Bump to an NQP version without parrot support.
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2efb01b8e6
11:56 arnsholt moritz++
12:05 nwc10 joined #perl6-dev
12:05 nwc10 moritz++
12:05 nwc10 but
12:05 nwc10 Unrecognized revision specifier 'parrot-15-gdd5f3c1'
12:05 nwc10 because my most recent tag in my nqp is 'parrot'
12:06 nwc10 p$ git describe
12:06 nwc10 parrot-15-gdd5f3c1
12:06 moritz nwc10: git describe --match '^20.*' should help
12:06 nwc10 $ git describe --match '^20.*'
12:06 nwc10 fatal: No names found, cannot describe anything.
12:06 moritz nwc10: eeks, --match '20*'
12:07 moritz it's a glob, not a regex, sorry
12:07 nwc10 I was going to say "So it's a glob, not a regex?"
12:07 nwc10 I guess that this means that something in nqp needs tweaking, so that one doesn't build:
12:07 nwc10 $ ./nqp-m --version
12:07 nwc10 This is nqp version parrot-15-gdd5f3c1 built on MoarVM version 2016.07-6-gfd7fe64
12:10 moritz fix presently forthcoming
12:12 dalek nqp: 2cfaf60 | moritz++ | tools/ (2 files):
12:12 dalek nqp: Prefer numeric tags when generating version numbers from `git describe`
12:12 dalek nqp: review: https://github.com/perl6/nqp/commit/2cfaf6078b
12:14 dalek nqp: 3593d1f | moritz++ | tools/ (2 files):
12:14 dalek nqp: Use a more windows-friendly way of quoting things
12:14 dalek nqp:
12:14 dalek nqp: ... hopefully
12:14 dalek nqp: review: https://github.com/perl6/nqp/commit/3593d1f63c
12:14 moritz it would be nice if somebody on Windows could test that
12:15 dalek rakudo/nom: b294e9b | moritz++ | tools/build/NQP_REVISION:
12:15 dalek rakudo/nom: Bump to an even newer NQP
12:15 dalek rakudo/nom:
12:15 dalek rakudo/nom: where hopefully the version number generation is not broken by the "parrot" tag
12:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b294e9b001
12:15 moritz I really should have made it a branch, not a tag :(
12:32 moritz nwc10++ # quick feedback
13:07 jnthn A non-annotated tag woulda been fine too
13:08 jnthn Since git describe only sees the annotated ones
13:10 nwc10 works on "my" machine
13:25 skids joined #perl6-dev
13:30 brrt joined #perl6-dev
14:19 brrt joined #perl6-dev
14:20 ilmari jnthn: except gen-version does 'git describe --tags', which includes non-annotated ones
14:21 jnthn d'oh
14:21 jnthn I thought the reason we -a'd them was for that script
14:21 jnthn I'll stop bothering then :)
14:22 jnthn The commit messages are kinda pointless... git tag -a 2016.07 ... "Tag 2016.07 release." .oO( You don't say??? )
14:23 ilmari another use of annotated tags is that they can be signed
14:23 timotimo maybe we should annotate these release tags with wikipedia's article of the day
14:23 jnthn Yeah, but we're not doing that :)
14:24 jnthn That'd be a more sensible reason to use them, though
14:24 jnthn And arguably we should consider signing them at some point
14:24 ilmari the NQP and Rakudo ones seem to be
14:24 ilmari but not moarvm
14:40 * brrt is pro-signing
14:40 brrt anyone with a GPG key and a commit bit can sign a release, no?
14:41 unmatched} Yes.
14:42 unmatched} We do that now (for Rakudo at least)
14:43 unmatched} and nqp
14:44 brrt and next tags don't have to come from the same person?
14:44 brrt then I don't see a problem with moarvm releases having signed tags
14:44 perlpilot GPG isn't required even (wasn't last time I checked)
14:45 brrt how are they signed then?
14:45 unmatched} It is required
14:45 unmatched} And no, doesn't have to be same person for next tags
15:08 Ven_ joined #perl6-dev
15:15 pmurias joined #perl6-dev
15:17 dalek nqp: 0e66b0f | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
15:17 dalek nqp: [js] When looking up and binding variables that are stored on context, refer directly to correct scope instead of dynamically walking over the scopes.
15:17 dalek nqp: review: https://github.com/perl6/nqp/commit/0e66b0f750
15:17 dalek nqp: 255d2e9 | (Pawel Murias)++ | src/vm/js/Operations.nqp:
15:17 dalek nqp: [js] Optimize nqp::bindattr($obj, Foo, '$!foo', $value) and nqp::getattr($obj, Foo, '$!foo') when we know Foo and '$!foo' and compile time.
15:17 dalek nqp: review: https://github.com/perl6/nqp/commit/255d2e9d1f
15:18 nwc10 left #perl6-dev
15:21 pmurias joined #perl6-dev
15:23 Ven_ joined #perl6-dev
15:52 nine masak: I have a probable fix for the S04-statements/return.t and S10-packages/basic.t failures
15:55 nine The fix is just a couple of characters. The real challenge is writing a good commit message because that will show if I 100 % understand why it fixes this issue.
16:12 dalek rakudo/nom: 22e46b5 | niner++ | src/core/CompUnit/Repository/FileSystem.pm:
16:12 dalek rakudo/nom: Fix merge global symbols failures when changing repositories
16:12 dalek rakudo/nom:
16:12 dalek rakudo/nom: Given:
16:12 dalek rakudo/nom: use lib 'lib';
16:12 dalek rakudo/nom: use A;
16:12 dalek rakudo/nom: use lib 'other-lib';
16:12 dalek rakudo/nom: use B; # which uses A
16:12 dalek rakudo/nom:
16:12 dalek rakudo/nom: A will be precompiled into lib/.precomp. B will be precompiled into other-lib
16:12 dalek rakudo/nom: against A. So everyone should have been happy. But we tried to be extra
16:12 dalek rakudo/nom: careful to not load a precomp file that was compiled when not the whole
16:12 dalek rakudo/nom: repo-chain was available. We therefore included the identity of the whole repo
16:12 dalek rakudo/nom: chain in a module's precomp id. So The A our B is precompiled against had a
16:13 nine different precomp id (due to the different repo-chain) than the A we loaded in the main program. This caused the collision. Since we now have the means to safely access precomp stores of the whole repo chain, we don't need this extra carefulness anymore. Indeed it's actually harmful. https://github.com/rakudo/rakudo/commit/22e46b56a2451bb5836ec0100244b59360f59c0c
16:20 * [Coke] loves the code vs. comment ratio there. :)
16:20 [Coke] nine++ for continuing to fight the precomp batle.
16:20 [Coke] *battle
16:55 FROGGS joined #perl6-dev
17:19 [TuxCM] joined #perl6-dev
17:32 [TuxCM] This is Rakudo version 2016.07.1-60-g22e46b5 built on MoarVM version 2016.07-4-g236058a
17:32 [TuxCM] test            14.802
17:32 [TuxCM] test-t           7.955
17:32 [TuxCM] csv-parser      15.910
18:04 * jnthn should have a decent Perl 6 tuit supply tomorrow o/
18:05 jnthn Might well dig into concurrency things (race, hyper, etc.)
18:05 unmatched} Woohoo \o/
18:10 [Coke] ++jnthn
18:17 [Coke] RT: 1325; @LARRY: 4; CONC: 7; GLR: 5; JVM: 68; LHF: 1; LTA: 81; NEW: 868; NYI: 28; OSX: 6; PERF: 18; POD: 9; PRECOMP: 8; RFC: 22; SEGV: 25; STAR: 1; TESTNEEDED: 10; TODO: 8; UNI: 12; UNTAGGED: 656; WEIRD: 3
18:21 unmatched} Is this really an LHF? https://rt.perl.org/Ticket/Display.html?id=126087
18:21 unmatched} m: use JSON::XS::from<Perl5>
18:21 camelia rakudo-moar 22e46b: OUTPUT«===SORRY!===␤Could not find JSON::XS::from at line 1 in:␤    /home/camelia/.perl6␤    /home/camelia/rakudo-m-inst-2/share/perl6/site␤    /home/camelia/rakudo-m-inst-2/share/perl6/vendor␤    /home/camelia/rakudo-m-inst-2/share/perl6␤    CompUnit…»
18:22 psch unmatched}: the naive thing would be to check for a final package in the use named "from"
18:22 psch unmatched}: that solution is pretty LHF, yes
18:22 unmatched} That's too naive
18:23 unmatched} That means I can't have a package with 'from' in it.
18:23 psch the next safety would be to check for a positional parameter to the use that fits a Repository spec
18:23 unmatched} And there are already Config::From and Term::From
18:23 psch 'from' ne 'From'
18:24 unmatched} Details :)
18:24 unmatched} Also: windows
18:25 psch so on windows "use lWp::uSErAgENt" works?
18:27 hankache joined #perl6-dev
18:28 perlpilot checking if the last bit is "::from" isn't too naive.   You only have to do it when the Whatever::from isn't found and then only do to suggest that they may have meant :from instead
18:28 perlpilot s/do to/do it to/
18:29 perlpilot So ... LHF to make the error message non-LTA
18:30 unmatched} psch: yup
18:30 psch well, that's definitely a bug
18:30 perlpilot indeed.
18:30 psch also probably not LHF :)
18:32 unmatched} https://gist.github.com/zoffixznet/55d55bdac41aad2feac7a98ed2925754
18:33 unmatched} But how would it know that the file isn't the right one if there's no case sensitivity on Windows?
18:33 dalek rakudo/nom: d7838c3 | moritz++ | tools/build/check-versions.pl:
18:33 dalek rakudo/nom: Remove parrot-specific, obsolete tool
18:33 dalek rakudo/nom:
18:33 dalek rakudo/nom: nwc10++ for brining it up
18:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d7838c3c9b
18:34 unmatched} I don't need a "unit class Foo;" in there. It can be just a bunch of subs, or even a plain sub EXPORT and nothing else :/
18:44 unmatched} Another LTA-ness in the same area:
18:44 unmatched} m: use Test:From<Perl5>'
18:44 camelia rakudo-moar 22e46b: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> use Test:From<Perl5>⏏'␤»
18:44 unmatched} m: use Test:From<Perl5> # I mean this
18:44 camelia rakudo-moar 22e46b: ( no output )
19:00 jnthn I *think* for installed modules (e.g. not coming via -Ilib) even on Windows it's case sensitive.
19:01 brrt joined #perl6-dev
19:01 unmatched} Yeah, it is. Just the files
19:02 unmatched} Yeah, it is. Just the files where this ambiguity happens.
19:02 jnthn Yeah... That may be resolvable too
19:02 unmatched} :o
19:03 jnthn If you can see what the directory actually contains by querying the file system, you can see if it matches up, for example. :)
19:03 unmatched} Neat.
19:03 jnthn Just 'cus the file system is case insensitive doesn't mean it doesn't know which case the user typed :)
19:03 jnthn On Windows at least.
19:04 jnthn otoh, that kind of introspection does of course give some risk of race conditions...
19:04 jnthn pub &
19:24 [Coke] CSRF failures from rakudo to RT have been resolved.
19:24 [Coke] I only ever saw them when I wasn't logged in, now they're gone.
19:25 AlexDaniel joined #perl6-dev
19:26 timotimo \o/
19:47 travis-ci joined #perl6-dev
19:47 travis-ci Rakudo build passed. Moritz Lenz 'Remove parrot-specific, obsolete tool
19:47 travis-ci https://travis-ci.org/rakudo/rakudo/builds/147553740 https://github.com/rakudo/rakudo/compare/22e46b56a245...d7838c3c9bfc
19:47 travis-ci left #perl6-dev
20:11 cog_ joined #perl6-dev
20:36 [Sno] joined #perl6-dev
21:37 mst joined #perl6-dev
21:48 dalek rakudo/nom: c57ac29 | lizmat++ | src/core/Any-iterable-methods.pm:
21:48 dalek rakudo/nom: Fix comment
21:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c57ac29834
22:26 skids joined #perl6-dev

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