Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-12-25

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

All times shown according to UTC.

Time Nick Message
00:18 dalek roast: eeda45c | (Zoffix Znet)++ | packages/Test/Util.pm:
00:18 dalek roast: Add warns-like() testing routine to Test::Util
00:18 dalek roast:
00:18 dalek roast: Currently we use is_run() to test warnings, but that shells out to make
00:18 dalek roast: files and then invokes a Perl 6 compiler. Much faster to just have
00:18 dalek roast: a routine that catches thrown warnings and uses a smartmatch on them.
00:18 dalek roast: review: https://github.com/perl6/roast/commit/eeda45c2d5
00:23 dalek roast: 7a8f78b | (Zoffix Znet)++ | packages/Test/Util.pm:
00:23 dalek roast: export warns-like()
00:23 dalek roast: review: https://github.com/perl6/roast/commit/7a8f78b9f7
00:26 dalek roast: e15b1b0 | samcv++ | S15-unicode-information/uniprop.t:
00:26 dalek roast: uniprop: add test for Simple_Uppercase_Mapping
00:26 dalek roast:
00:26 dalek roast: Also correct the plan count
00:26 dalek roast: review: https://github.com/perl6/roast/commit/e15b1b00ac
00:36 dalek rakudo/nom: c498d5b | (Zoffix Znet)++ | src/core/Stringy.pm:
00:36 dalek rakudo/nom: Warn on unitilized values in infix:<x>
00:36 dalek rakudo/nom:
00:36 dalek rakudo/nom: Originally, the op would warn on uninit. values, but had a bug where passing
00:36 dalek rakudo/nom: an Int type object would cause an infiniloop. That was fixed[^1], but
00:36 dalek rakudo/nom: introduced another bug that silenced Failures in the given repeat count. THAT
00:36 dalek rakudo/nom: bug was fixed[^2], but it now silenced warnings on uninit values.
00:36 dalek rakudo/nom:
00:36 dalek rakudo/nom: Fix both bugs by having the Any:U candidate first coerce to .Numeric before coercing
00:36 dalek rakudo/nom: to an .Int
00:36 dalek rakudo/nom:
00:36 dalek rakudo/nom: Fixes RT#130281: https://rt.perl.org/Ticket/Display.html?id=130281
00:36 dalek rakudo/nom:
00:36 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130281
00:36 dalek rakudo/nom: [1] https://github.com/rakudo/rakudo/commit/​2311372b5fde9c6b1801cf00840ed8c51bc75a69
00:38 notviki https://github.com/rakudo/rakudo/commit/c498d5bc04b13b6b8a0c146198b8c8e2b7f5f973
00:38 dalek roast: f35dcd9 | (Zoffix Znet)++ | S03-operators/repeat.t:
00:38 dalek roast: Test infix:<x> does not silence warnings on undef numeric use
00:38 dalek roast:
00:38 dalek roast: RT#130281: https://rt.perl.org/Ticket/Display.html?id=130281
00:38 dalek roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/c498d5bc04b13b6b
00:38 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130281
00:38 dalek roast: review: https://github.com/perl6/roast/commit/f35dcd989b
00:46 notviki samcv, I'm still getting failures in uniprop.t. You can check if the test file passes by running make t/spec/whatever-file.t from Rakudo's repo.
00:46 notviki # Failed test 'uniprop for Emoji_All returns False for non-Emoji'
00:46 notviki # at t/spec/S15-unicode-information/uniprop.rakudo.moar line 275
00:46 notviki # expected: Bool::False
00:46 samcv ok
00:46 notviki #      got: 0
00:46 samcv that's fudged
00:47 samcv #?rakudo.moar 10 todo "Emoji properties NYI in MoarVM"
00:47 samcv will run it though
00:49 samcv ok done
00:49 dalek roast: 8fa2693 | samcv++ | S15-unicode-information/uniprop.t:
00:49 dalek roast: Fudge failing test for uniprop
00:49 dalek roast: review: https://github.com/perl6/roast/commit/8fa26938b4
00:49 notviki \o/
00:52 samcv notviki, as far as you know, theres no lowercase/uppercase that does 'simple' mappings right?
00:52 samcv we have uc and lc and tc and they do the full mappings. but do we have one that only uses the simple mappings?
00:53 * notviki has no idea what any of that means :}
00:53 samcv would be nice if we had 'string'.uc(:simple)
00:53 samcv m: 'ß'.uc.say
00:53 camelia rakudo-moar c498d5: OUTPUT«SS␤»
00:54 notviki m: 'ß'.fc.say
00:54 camelia rakudo-moar c498d5: OUTPUT«ss␤»
00:54 samcv the simple mapping of that is ß
00:54 samcv not SS or ss
00:56 samcv and ff simple does not specify any changed mappings for example
00:56 samcv but the full casing rules it changes to Ff or FF for tc and uc respectively
00:57 notviki m: dd [.uc, .fc, .tc, ] with "ff"
00:57 camelia rakudo-moar c498d5: OUTPUT«["FF", "ff", "Ff"]␤»
00:57 notviki neat
00:57 notviki m: dd [.uc, .fc, .tc, .samecase, ] with "ff"
00:57 camelia rakudo-moar c498d5: OUTPUT«Too few positionals passed; expected 2 arguments but got 1␤  in block <unit> at <tmp> line 1␤␤»
00:58 samcv SourceBaby, &samecase
00:58 samcv SourceBaby, help
00:58 SourceBaby samcv, Use s: trigger with args to give to sourcery sub. e.g. s: Int, 'base'. See http://modules.perl6.org/dist/CoreHackers::Sourcery
00:58 samcv s: &samecase
00:58 SourceBaby samcv, Sauce is at https://github.com/rakudo/rakudo/blob/38ec79c/src/core/Cool.pm#L329
00:58 notviki m: "ff".samecase("AAAAA").say
00:58 camelia rakudo-moar c498d5: OUTPUT«FF␤»
00:59 samcv s: .samecase
00:59 SourceBaby samcv, Something's wrong: ␤ERR: No such method 'samecase' for invocant of type 'Any'␤  in block <unit> at -e line 6␤␤
00:59 notviki m: "ff".samecase("ßßßß").say
00:59 camelia rakudo-moar c498d5: OUTPUT«ff␤»
00:59 samcv how do i search for methods
00:59 notviki Object, 'method', \(args)
01:00 samcv s: Cool, 'samecase'
01:00 SourceBaby samcv, Sauce is at https://github.com/rakudo/rakudo/blob/38ec79c/src/core/Cool.pm#L218
01:00 notviki s: "x", 'samecase', \()
01:00 SourceBaby notviki, Something's wrong: ␤ERR: Could not find candidate that can do \()␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤  in block <unit> at -e line 6␤␤
01:00 notviki s: "x", 'samecase', \(|)
01:00 SourceBaby notviki, Something's wrong: ␤ERR: [31m===[0mSORRY![31m===[0m Error while compiling -e␤Prefix | requires an argument, but no valid term found␤at -e:6␤------> [32m    put sourcery( "x", 'samecase', \(|[33m⏏[31m) )[1];[0m␤    expecting any of:␤        prefix␤
01:00 notviki bleh :)
01:00 samcv s: Stringy, 'samecase'
01:00 SourceBaby samcv, Something's wrong: ␤ERR: Too many positionals passed; expected 2 arguments but got 3␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤  in block <unit> at -e line 6␤␤
01:00 samcv s: Stringy 'samecase'
01:00 SourceBaby samcv, Something's wrong: ␤ERR: [31m===[0mSORRY![31m===[0m Error while compiling -e␤Unable to parse expression in argument list; couldn't find final ')' ␤at -e:6␤------> [32m    put sourcery( Stringy[33m⏏[31m 'samecase' )[1];[0m␤    expecting any of:␤        infix␤        infix stopper␤
01:00 notviki that's a role
01:00 notviki s: Stringy.^pun, 'samecase'
01:00 SourceBaby notviki, Something's wrong: ␤ERR: Type check failed in binding to &code; expected Callable but got Nil (Nil)␤  in sub do-sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 42␤  in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 33␤  in block <unit> at -e line 6␤␤
01:00 notviki ehehe
01:00 notviki s: "x", 'samecase'
01:00 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob/38ec79c/src/core/Str.pm#L1805
01:06 dalek roast: 7b87885 | samcv++ | S15-unicode-information/uniprop.t:
01:06 dalek roast: uniprop: add tests for Simple_Titlecase_Mapping Simple_Titlecase_Mapping
01:06 dalek roast: review: https://github.com/perl6/roast/commit/7b87885057
01:45 * notviki tries a hand at RT#130286
01:46 notviki Still need to unlock the Optimizer achievement.
01:48 cognominal joined #perl6-dev
02:18 samcv notviki, so do we implement Unicode Collation Algorithm or no?
02:18 samcv or have no clue :P
02:19 notviki no idea what that even is
02:19 samcv :D
02:19 samcv basically how you sort strings alphabetically. but like. unicode version
02:20 notviki Well, jnthn++ would be best asked about hat.
02:20 notviki *that
02:20 notviki But if he has a hat, ask him about it too....
02:21 samcv a hat?
02:21 samcv oh.
02:22 samcv what.
02:26 notviki hehe
02:27 notviki Well, you asked if we should implement something and I know nothing about it, but jnthn does. So I meant that maybe he would have the answers? :)
02:27 samcv oh k
02:28 samcv well i could always just slurp the unicode collation order spec and then sort it and see if it's in the same order after :P
02:28 samcv if we do implement it, I will add a roast test, but we will see what we do
02:30 samcv notviki, what's the s/// thing that's a method call, like match
02:30 notviki .subst
02:31 notviki .subst-mutate
02:31 samcv ah k. didn't know they were the same thing
02:49 ilbot3 joined #perl6-dev
02:49 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:23 samcv s: &cmp
03:23 SourceBaby samcv, Something's wrong: ␤ERR: [31m===[0mSORRY![31m===[0m Error while compiling -e␤Undeclared routine:␤    cmp used at line 6␤␤
03:23 samcv s: cmp
03:23 SourceBaby samcv, Something's wrong: ␤ERR: [31m===[0mSORRY![31m===[0m Error while compiling -e␤Undeclared routine:␤    cmp used at line 6␤␤
03:23 samcv s: Str, cmp
03:23 SourceBaby samcv, Something's wrong: ␤ERR: [31m===[0mSORRY![31m===[0m Error while compiling -e␤Undeclared routine:␤    cmp used at line 6␤␤
03:24 samcv s: Str, &cmp
03:24 SourceBaby samcv, Something's wrong: ␤ERR: [31m===[0mSORRY![31m===[0m Error while compiling -e␤Undeclared routine:␤    cmp used at line 6␤␤
03:25 samcv oh well i found it
03:28 geekosaur s: Str, &infix:<cmp>
03:28 SourceBaby geekosaur, Something's wrong: ␤ERR: Cannot resolve caller sourcery(Str, Sub+{<anon|66327344>}+{Precedence}); none of these signatures match:␤    ($thing, Str:D $method, Capture $c)␤    ($thing, Str:D $method)␤    (&code)␤    (&code, Capture $c)␤  in block <unit> at -e line 6␤␤
03:29 geekosaur s: &infix:<cmp>
03:29 SourceBaby geekosaur, Sauce is at https://github.com/rakudo/rakudo/blob/c498d5b/src/core/Order.pm#L8
03:41 notviki s: &infix:<cmp>, \("x", "y")
03:41 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob/c498d5b/src/core/Str.pm#L2696
03:56 samcv well it seems we don't implement it. or at least it doesn't pass every test
04:01 samcv at least not with the cmp function
04:10 pyrimidine joined #perl6-dev
04:10 notviki for some reason my stage parse went into high 90s in the past ~28 hours and has consistently been there... Used to be in low 80s
04:12 notviki heh, and I have "lib:." directory
04:14 samcv me too
04:15 notviki :o
04:18 notviki oh, I see
04:18 notviki $ grep -FR 'lib:.'
04:18 notviki t/fudgeandrun:$ENV{PERL6LIB}="$pwd/lib:.";
04:18 * samcv is reading the collation algorithm file
04:18 samcv hmm
04:19 MasterDukeLaptop joined #perl6-dev
04:20 MasterDukeLaptop notviki: did you see my nqp question in #perl6 earlier? know anything about multis in nqp?
04:21 dalek rakudo/nom: a6c37a7 | (Zoffix Znet)++ | t/fudgeandrun:
04:21 dalek rakudo/nom: Fix unwanted creation of "lib:." directory
04:21 dalek rakudo/nom:
04:21 dalek rakudo/nom: Don't think we need the "." in lib anyway, so fix just by nixing that part.
04:21 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a6c37a7d52
04:21 notviki MasterDukeLaptop: saw. No idea.
04:22 samcv i'm thinking of implementing it in nqp or perl 6 possibly
04:22 samcv the unicode collation algorithm
04:22 notviki MasterDukeLaptop: Maybe grep nqp's source or nqp files in Rakudo for multies and see how they're implementing protos?
04:54 samcv damn this collation is really complicated
04:58 samcv it's pretty crazy
04:58 samcv there's like 3 levels of weighting and different rules for sequences of codes
04:59 samcv and a huge list of preset weights, and then anything not in there you use another method to determine the weighting based on a ton of rules
05:15 samcv i'm going to table this. my brain will probably explode otherwise
05:17 notviki wow, it's midnight already :o
05:17 notviki Merry Newtonmass!
05:19 samcv you too
06:20 TimToady joined #perl6-dev
06:29 pyrimidi_ joined #perl6-dev
07:15 dalek roast: 357e187 | samcv++ | S15-unicode-information/uniprop.t:
07:15 dalek roast: uniprop: more Indic_Syllabic_Category and Bidi_Paired_Bracket type tests
07:15 dalek roast:
07:15 dalek roast: Make sure we test we receive the correct value for codes *without* this
07:15 dalek roast: property.
07:15 dalek roast: review: https://github.com/perl6/roast/commit/357e1878ae
07:24 samcv m: 0x30FB.uniprop('Hyphen').say
07:24 camelia rakudo-moar a6c37a: OUTPUT«True␤»
07:25 samcv wtf how did this one break
07:25 samcv i didn't even touch that
07:45 samcv i think somehow the file must have gotten changed on disk by accident. re-extracted it and now it's fine
07:45 samcv Emoji properties are almost working :)
07:46 samcv well. they are working. just need to push the changes to my Moar branch and then set them to Bool properties in Rakudo
07:54 dalek roast: 031e82b | samcv++ | S15-unicode-information/uniprop.t:
07:54 dalek roast: Fix the Indic_Syllabic_Category test and Emoji_Presentation tests
07:54 dalek roast:
07:54 dalek roast: Also add another Emoji_Presentation test for characters that are
07:54 dalek roast: non-Emoji's.
07:54 dalek roast: review: https://github.com/perl6/roast/commit/031e82b577
08:49 dalek roast: 138a4c4 | samcv++ | S15-unicode-information/uniprop.t:
08:49 dalek roast: uniprop: some Emoji test tweaks and fix a typo
08:49 dalek roast: review: https://github.com/perl6/roast/commit/138a4c4d7f
09:31 [Tux] merry Xmas
09:31 [Tux] This is Rakudo version 2016.12-95-ga6c37a7d5 built on MoarVM version 2016.12-19-ge2ffc358
09:31 [Tux] csv-ip5xs        3.079
09:31 [Tux] test            13.465
09:31 [Tux] test-t           5.564
09:31 [Tux] csv-parser      13.922
10:00 samcv merry xmas
10:21 RabidGravy joined #perl6-dev
11:37 pmurias joined #perl6-dev
11:38 TimToady joined #perl6-dev
12:39 gfldex m: role R[$p = fail("no argument to $?ROLE")] {}; my $i = 1 does R;
12:39 camelia rakudo-moar a6c37a: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Variable '$?ROLE' is not declared␤at <tmp>:1␤------> role R[$p = fail("no argument to ⏏$?ROLE")] {}; my $i = 1 does R;␤»
12:40 gfldex is this a bug?
12:40 gfldex also, why do we got ::?CLASS but not ::?ROLE ?
12:46 AlexDaniel joined #perl6-dev
13:00 lizmat Files=1159, Tests=54970, 190 wallclock secs (10.84 usr  4.43 sys + 1137.48 cusr 125.02 csys = 1277.77 CPU)
13:00 lizmat and merry Xmas!
13:12 dalek rakudo/nom: 393afcf | ugexe++ | src/core/Distribution.pm:
13:12 dalek rakudo/nom: Fix Distribution::Path bin/resources file format
13:12 dalek rakudo/nom:
13:12 dalek rakudo/nom: Currently `CURI.install: Distribution::Path.new($path)` fails to install anything in `"{$path}/resources"` and `"{$path}/bin"`. This is because `$meta<files>` expects it's keys to be relative path strings, but was ending up with absolute paths in most circumstances resulting in CURI's install method failing its check of `/^[resources|bin]\//`. This makes sure we're using the relative path string (name-path) where it should be and jus
13:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/393afcf910
13:12 dalek rakudo/nom: 8104ff3 | lizmat++ | src/core/Distribution.pm:
13:12 dalek rakudo/nom: Merge pull request #973 from ugexe/patch-13
13:12 dalek rakudo/nom:
13:12 dalek rakudo/nom: Fix Distribution::Path bin/resources file format
13:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8104ff314b
13:19 notviki In sub f(::T) { say T }; f(10); how come T doesn't have "compile_time_value"?
13:21 notviki oh ok, never mind, the code I'm looking at looks at an op's compile time value not T's
13:22 gfldex there are still open bugreports for type captures, so I would not bet on any behaviour  of type captues just yet.
13:25 notviki gfldex: like which? I'm fixing RT#130286 right now
13:25 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130286
13:26 notviki maybe the others are related...
13:27 gfldex I believe to have on open where type captures cross module boundaries.
13:28 gfldex actually I got 3 open. Will retest them when you are done.
13:28 notviki :o
13:28 notviki What are the RT numbers?
13:28 gfldex https://rt.perl.org/Public/Search/Simple.html?q=type+capture
13:29 notviki thanks
13:29 gfldex while you are on it :->
13:42 notviki m: sleep 1 for ^4 .race; say now - INIT now
13:42 camelia rakudo-moar 8104ff: OUTPUT«4.0067885␤»
13:42 notviki m: sleep 1 for ^4 .hyper; say now - INIT now
13:42 camelia rakudo-moar 8104ff: OUTPUT«4.0063689␤»
13:42 notviki my sexy trick no longer works :(
13:51 notviki hm, funny, with people always waiting for jnthn++ to fix concurrency stuff, I never even saw the guts of .hyper/.race because I figured it's arcane
13:52 notviki s: ^4, 'hyper', \()
13:52 SourceBaby notviki, Sauce is at https://github.com/rakudo/rakudo/blob/8104ff3/src/core/Iterable.pm#L114
14:05 notviki oh, doh. I forgot to set the batch
14:05 notviki m: sleep 1 for ^4 .hyper: :batch; say now - INIT now
14:06 camelia rakudo-moar 8104ff: OUTPUT«1.006349␤»
14:06 notviki m: sleep 1 for ^4 .race: :batch; say now - INIT now
14:06 camelia rakudo-moar 8104ff: OUTPUT«1.0059018␤»
14:06 notviki \o/
14:09 pyrimidine joined #perl6-dev
14:56 notviki Is  :statement_id<?> annotation important?
14:57 notviki I'm noticing one difference between buggy and non-buggy code is in non-buggy version I have QAST::Var+{QAST::CompileTimeValue}(lexical T)  :statement_id<?> T, but in buggy it's missing the statement_id: QAST::Var+{QAST::CompileTimeValue}(lexical T) <wanted> T
15:01 lizmat notviki: no idea
15:03 notviki :(
15:08 camelia joined #perl6-dev
15:17 camelia joined #perl6-dev
15:20 lizmat m: use nqp; say nqp::iseq_i(nqp::cmp_i(0,1),-1)    # expected
15:20 camelia rakudo-moar 8104ff: OUTPUT«1␤»
15:20 lizmat m: use nqp; say nqp::iseq_i(Less,-1)   # also expected
15:20 camelia rakudo-moar 8104ff: OUTPUT«1␤»
15:20 pmurias joined #perl6-dev
15:21 lizmat m: use nqp; say nqp::iseq_i(Less || nqp::cmp_i(0,1),-1)    # not so expected
15:21 camelia rakudo-moar 8104ff: OUTPUT«0␤»
15:21 lizmat am I making a thinko?   notviki  ?
15:21 moritz m: say +Less
15:21 camelia rakudo-moar 8104ff: OUTPUT«-1␤»
15:22 moritz m: use nqp; say(Less || nqp::cmp_i(0,1))
15:22 camelia rakudo-moar 8104ff: OUTPUT«Less␤»
15:22 lizmat m: use nqp; say nqp::iseq_i(Less || (1 && nqp::cmp_i(0,1)),-1)    # also works
15:22 camelia rakudo-moar 8104ff: OUTPUT«1␤»
15:22 moritz m: use nqp; say nqp::iseq_i(nqp::decont(Less || nqp::cmp_i(0,1)),-1)
15:22 camelia rakudo-moar 8104ff: OUTPUT«1␤»
15:22 lizmat ah... the plot thickens
15:23 lizmat moritz++
15:23 moritz to plot chickens? :-)
15:23 moritz m: use nqp; say nqp::iseq(Less || nqp::cmp_i(0,1),-1)
15:23 camelia rakudo-moar 8104ff: OUTPUT«===SORRY!===␤No registered operation handler for 'iseq'␤»
15:25 notviki m: use nqp; say nqp::iscont(Less); say nqp::iscont(Less || 1)
15:25 camelia rakudo-moar 8104ff: OUTPUT«0␤0␤»
15:25 notviki moritz: so why does decont make it work?
15:26 notviki and + for that matter
15:26 notviki m: use nqp; say nqp::iseq_i(+(Less || nqp::cmp_i(0,1)),-1)
15:26 camelia rakudo-moar 8104ff: OUTPUT«1␤»
15:32 TimToady joined #perl6-dev
15:40 lizmat afk&
16:06 moritz notviki: I dunno
16:07 moritz notviki: all I know is that the _i variants aren't as magical as those without _i, to enable efficient generated code
16:11 notviki I still don't get why nqp::iseq_i(Less,-1) works, but stops working when you stick a conditional in there
16:12 notviki Should it return the exact same thing and not need any magicks?
16:12 notviki *Shouldn't it
16:13 moritz I have no idea what || code-gens to
16:13 moritz which you probably have to look into to answer that question
16:13 notviki ah
16:25 b2gills .tell samcv I'm fairly certain that the built-in sorting order for strings is the same or similar to .sort( *.ords )
16:25 yoleaux2 b2gills: I'll pass your message to samcv.
16:36 Ven joined #perl6-dev
16:40 notviki this optimizer bug is impeding my bugfixing :(
16:41 notviki Wonder if I should give up....
16:41 notviki ...but I'm so sick of giving up because I don't know enough -_-
16:46 dalek rakudo/nom: c43f625 | lizmat++ | src/core/Rakudo/Internals.pm:
16:46 dalek rakudo/nom: Introducing R:I.MERGESORT-REIFIED-LIST-WITH
16:46 dalek rakudo/nom:
16:46 dalek rakudo/nom: - re-imagination of nqp::p6sort in perl 6 using nqp::ops
16:46 dalek rakudo/nom: - don't use any indirection, directly sorts the given list
16:46 dalek rakudo/nom: - so no need to set up lists with indexes and mapping back
16:46 dalek rakudo/nom: - needs an nqp::decont in the comparator handling for some unknown reason
16:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c43f6258fa
16:46 dalek rakudo/nom: 1374fcf | lizmat++ | src/core/Any-iterable-methods.pm:
16:46 dalek rakudo/nom: Make Any.sort(&by) about 40% faster
16:46 dalek rakudo/nom:
16:46 dalek rakudo/nom: - for the 2-arg case
16:47 lizmat - using the new R:I.MERGESORT-REIFIED-LIST-WITH logic
16:47 lizmat - non-2arg case still handled by old code
16:47 lizmat review: https://github.com/rakudo/rakudo/commit/1374fcf
16:48 notviki beat
16:48 notviki *neat
16:48 pyrimidine joined #perl6-dev
17:16 pmurias nqp-m: my $bar := 4;my int $foo2 := $bar || 200;say($foo2);
17:16 camelia nqp-moarvm: OUTPUT«0␤»
17:17 pmurias lizmat: ^^ there is a bug that shows up on the nqp level that could be related to the one you found
17:17 lizmat pmurias: could well be  :-)
17:30 pmurias m: my int $foo = 4; my int $bar = 200; say(($foo || $bar)); # shouldn't this print out 4?
17:30 camelia rakudo-moar 1374fc: OUTPUT«1␤»
17:39 notviki m: my int $foo = 4; my int $bar = 200; dd (($foo || $bar));
17:39 camelia rakudo-moar 1374fc: OUTPUT«1␤»
17:39 notviki :o
17:40 notviki m: my int $foo = 4; my int $bar = 200; dd $foo || $bar;
17:40 camelia rakudo-moar 1374fc: OUTPUT«1␤»
17:40 notviki m: my int $foo = 4; my int $bar = 200; dd ($foo or $bar);
17:40 camelia rakudo-moar 1374fc: OUTPUT«1␤»
17:40 notviki m: my int $foo = 4; my int $bar = 200; dd ($foo andthen $bar);
17:40 camelia rakudo-moar 1374fc: OUTPUT«200␤»
17:40 notviki m: my int $foo = 4; my int $bar = 200; dd ($foo orelse $bar);
17:40 camelia rakudo-moar 1374fc: OUTPUT«4␤»
17:41 notviki m: my int $foo = 4; my $bar = 200; dd $foo || $bar;
17:41 camelia rakudo-moar 1374fc: OUTPUT«1␤»
17:41 notviki m: my $foo = 4; my $bar = 200; dd $foo || $bar;
17:41 camelia rakudo-moar 1374fc: OUTPUT«Int $foo = 4␤»
17:41 notviki m: my $foo = 4; my int $bar = 200; dd $foo || $bar;
17:41 camelia rakudo-moar 1374fc: OUTPUT«Int $foo = 4␤»
17:42 notviki m: my $foo = 4; my int $bar = 200; dd infix:<||>($foo, $bar);
17:42 camelia rakudo-moar 1374fc: OUTPUT«4␤»
17:42 notviki m: my int $foo = 4; my int $bar = 200; dd infix:<||>($foo, $bar);
17:42 camelia rakudo-moar 1374fc: OUTPUT«4␤»
17:43 notviki It's the optimizer
17:44 geekosaur joined #perl6-dev
17:47 notviki And I'm guessing it's evaluating it and encounters the nqp || bug
17:53 samcv .
17:53 yoleaux2 16:25Z <b2gills> samcv: I'm fairly certain that the built-in sorting order for strings is the same or similar to .sort( *.ords )
17:54 samcv yeah. it would seem so
17:59 * notviki gives up
18:00 notviki .ask jnthn what can I read to understand how to fix Optimizer bugs? Books? Papers? Docs? Anything?
18:00 yoleaux2 notviki: I'll pass your message to jnthn.
18:03 vendethiel joined #perl6-dev
18:07 pyrimidine joined #perl6-dev
18:08 japhb .tell moritz I'm having intermittent troubles loading irc logs; it seems to load slowly or not at all for a while, then suddenly work, then trouble again.  Could be just on my end, but other sites seem to be responding quickly.
18:08 yoleaux2 japhb: I'll pass your message to moritz.
18:09 pyrimidi_ joined #perl6-dev
18:09 moritz japhb: from which public IP? (so that I can look into the logs)
18:09 yoleaux2 18:08Z <japhb> moritz: I'm having intermittent troubles loading irc logs; it seems to load slowly or not at all for a while, then suddenly work, then trouble again.  Could be just on my end, but other sites seem to be responding quickly.
18:11 mst moritz: there's an IP in /whois for them
18:11 mst which may or may not be the right one, of course
18:32 notviki Gonna take the rest of the day off :/
18:32 notviki No good bugs to fix :\
18:46 FROGGS joined #perl6-dev
19:21 moritz mst: which is why I rather ask
19:22 mst moritz: well, yes, but that's what I'd grep the logs for in the meantime while waiting for a response
19:22 * mst shrugs
19:58 gfldex do we got a RT for "implement macro"?
20:00 moritz we've got a masak for that
20:04 gfldex i'm asking because I just added a workaround to a piece of code and I like to write the RT in question into the comment
20:04 gfldex so I can git grep for them
20:07 gfldex m: Q„1“; 1
20:07 camelia rakudo-moar 1374fc: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Couldn't find terminator ” (corresponding „ was at line 1)␤at <tmp>:1␤------> Q„1“; 1⏏<EOL>␤    expecting any of:␤        ”␤»
20:08 gfldex newbug?
20:08 pyrimidine joined #perl6-dev
20:08 moritz .u ““
20:08 yoleaux2 U+201C LEFT DOUBLE QUOTATION MARK [Pi] (“)
20:08 moritz bisectable6: Q„1“; 1
20:08 bisectable6 moritz, On both starting points (old=2015.12 new=1374fcf) the exit code is 1 and the output is identical as well
20:08 bisectable6 moritz, Output on both points: ===SORRY!=== Error while compiling /tmp/AeO0wh4oEO␤Couldn't find terminator ” (corresponding „ was at line 1)␤at /tmp/AeO0wh4oEO:1␤------> Q„1“; 1⏏<EOL>␤    expecting any of:␤        ”
20:09 gfldex m: say „1“; 1
20:09 camelia rakudo-moar 1374fc: OUTPUT«WARNINGS for <tmp>:␤Useless use of constant integer 1 in sink context (line 1)␤1␤»
20:09 gfldex m: say „1“;
20:09 camelia rakudo-moar 1374fc: OUTPUT«1␤»
20:09 gfldex I shall rakudobug
20:10 pyrimidine joined #perl6-dev
20:12 notviki What's the bug?
20:12 gfldex m: Q„1“;
20:12 camelia rakudo-moar 1374fc: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Couldn't find terminator ” (corresponding „ was at line 1)␤at <tmp>:1␤------> Q„1“;⏏<EOL>␤    expecting any of:␤        ”␤»
20:13 gfldex notviki: you may want to look into OUTPUT«===SORRY!=== Error while compiling <tmp>␤Couldn't find terminator ” (corresponding „ was at line 1)␤at <tmp>:1␤------>
20:13 gfldex sorry, copypasta-error
20:13 gfldex #127226
20:13 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127226
20:15 moritz m: role A { method x() { $?ROLE }}; A.x
20:15 camelia rakudo-moar 1374fc: ( no output )
20:15 moritz m: role A { method x() { $?ROLE }}; say A.x
20:15 camelia rakudo-moar 1374fc: OUTPUT«(A)␤»
20:15 moritz m: role A { method x() { ::?ROLE }}; say A.x
20:15 camelia rakudo-moar 1374fc: OUTPUT«(A)␤»
20:24 gfldex ParametricRoleGroupHOW seams not to have add_method. Any workarounds for that?
20:27 moritz structure your application to not need that?
20:27 moritz have a list of roles that you will mix into the class that you'll work with eventually?
20:27 moritz roles are immutable, iirc
20:33 notviki I wouldn't call m: Q„1“; a bug....
20:33 notviki gfldex: why do expect 42 for #127226... I'd expect '$x'
20:33 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=127226
20:37 gfldex notviki: agreed
20:48 dalek roast: 7d01982 | samcv++ | S15-unicode-information/uniprop.t:
20:48 dalek roast: Update some of the uniprop tests
20:48 dalek roast: review: https://github.com/perl6/roast/commit/7d0198241c
20:49 dalek roast: 7be7035 | samcv++ | S15-nfg/mass-chars.t:
20:49 dalek roast: mass-chars.t todo the tests don't skip for rakudo.moar
20:49 dalek roast: review: https://github.com/perl6/roast/commit/7be7035b67
21:11 pyrimidine joined #perl6-dev
21:28 AlexDaniel joined #perl6-dev
21:45 cognominal joined #perl6-dev
21:55 dalek roast: 3baa4db | samcv++ | S15-nfg/mass-chars.t:
21:55 dalek roast: Remove mass-chars.t
21:55 dalek roast:
21:55 dalek roast: The script this test was generated assumed:
21:55 dalek roast:   The number of chars we expect is:
21:55 dalek roast:   - Number of codes minus number of non-starters if the test
21:55 dalek roast:     case begins with a starter
21:55 dalek roast:   - Number of codes minus number of non-starts plus one
21:55 dalek roast:     otherwise (to account for isolated non-starters).
21:55 dalek roast:
21:55 dalek roast: This assumption did not take all the Unicode rules into account and
21:55 dalek roast: since more recent Unicode updates, they no longer hold true for the file
21:55 dalek roast: it was generated from (NormalizationTest.txt).
21:55 dalek roast:
21:56 samcv ugh grammar mistake. oh well
21:57 samcv guess dalek only prints out lines up to a certain max amount. makes sense
22:05 notviki .tell jnthn can you review https://github.com/perl6/roast/commit/3baa4db85abfe21d4df1eb9fc1149fd1f30dda15 The test file referenced in the commit message is https://github.com/perl6/roast/blob/master/S15-nfg/GraphemeBreakTest.t
22:05 yoleaux2 notviki: I'll pass your message to jnthn.
22:12 notviki Sorry, I don't mean to imply that I think I don't know what you're doing, it's just *I* don't know anything about this and others will likely miss this commit due to holidays :)
22:12 notviki *you don't know
22:12 notviki blah :)
23:24 pyrimidine joined #perl6-dev
23:34 samcv no problem :)
23:36 samcv working on updating the script which generates the test i removed plus another 4 for NFK NFC etc junk so it works with current unicode thingy

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