Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-09-26

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

All times shown according to UTC.

Time Nick Message
00:00 Zoffix Nope. Removed that check and still only first instance gets optimized.
00:00 Zoffix Would be awesome to discover that only first occurances of ALL ops are optimized :D
00:21 Zoffix ffs whyyy
00:22 Zoffix `method optimize_call($op) {` this never gets called on the second occurance of ≥
00:32 Zoffix oh man, indeed, it optimizes just one call with just my changes
00:32 Zoffix *without my changes
00:32 Zoffix $ RAKUDO_OPTIMIZER_DEBUG=1 ./perl6 -e 'say 2 >= 5; say 2 >= 5' 2>&1 | grep ZOF
00:32 Zoffix ZOF1: [0] &infix:«>=»
00:32 Zoffix ZOF1: [1] &say
00:32 Zoffix ZOF1: [2] &say
00:32 Zoffix ^ added a print statement to optimize_call. And it prints just once for the op
00:42 Zoffix Oh, man, it's a proper real bug \o/
00:42 mryan50 joined #perl6-dev
00:42 Zoffix DIBS!! I called it. No one debug this. I wanna fix it :D
00:46 Ven`` joined #perl6-dev
00:50 samcv My final grant report is now up! https://cry.nu/grant-report/
00:51 Zoffix woooo
00:52 samcv \o/\o/
00:52 Zoffix That's a huge amount of work done. samcv++
01:15 astj joined #perl6-dev
01:15 Zoffix w00t got a fix
01:15 * Zoffix crosses fingers and stresstests
01:17 Zoffix This is a 1337 bug :)
01:18 Zoffix Literally... line number 1337 is one of the affected lines :P
01:20 Zoffix bah "Parse errors: Tests out of sequence.  Found (10) but expected (8)" that's no good :D
01:30 astj joined #perl6-dev
01:37 Geth ¦ rakudo/nom: 8be3eb8ec8 | (Zoffix Znet)++ | src/Perl6/Optimizer.nqp
01:37 Geth ¦ rakudo/nom: Remove trailing whitespace
01:37 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8be3eb8ec8
01:55 ilbot3 joined #perl6-dev
01:55 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
02:05 llfourn joined #perl6-dev
02:07 * Zoffix goes to bed and will renew the hunt anew
02:07 Zoffix I called dibs!
02:20 llfourn joined #perl6-dev
02:22 cuonglm joined #perl6-dev
02:58 Ven`` joined #perl6-dev
03:02 * geekosaur wonders how much it will suck to use a role for the multiline marker and .? to invoke the message in the error handler..
03:05 travis-ci joined #perl6-dev
03:05 travis-ci Rakudo build failed. Zoffix Znet 'Simplify conditional
03:05 travis-ci https://travis-ci.org/rakudo/rakudo/builds/279771311 https://github.com/rakudo/rakudo/compare/8be3eb8ec89e...36f0ab4f0809
03:05 travis-ci left #perl6-dev
03:05 buggable [travis build above] ✓ All failures are due to: GitHub connectivity (1 failure).
03:13 llfourn joined #perl6-dev
03:19 bisectable6 joined #perl6-dev
03:21 BenGoldberg joined #perl6-dev
03:43 Ven`` joined #perl6-dev
03:46 mudman joined #perl6-dev
04:07 coverable6 joined #perl6-dev
04:07 committable6 joined #perl6-dev
04:07 nativecallable6 joined #perl6-dev
04:25 geekosaur joined #perl6-dev
04:31 vendethiel- joined #perl6-dev
04:41 mudman joined #perl6-dev
06:50 [Tux] This is Rakudo version 2017.09-90-g36f0ab4f0 built on MoarVM version 2017.09.1-36-gfbd89898
06:50 [Tux] csv-ip5xs        1.359 -  1.372
06:50 [Tux] test             9.995 - 10.100
06:50 [Tux] test-t           3.430 -  3.547
06:50 [Tux] csv-parser      12.452 - 12.610
06:56 pmurias joined #perl6-dev
06:59 Geth ¦ rakudo/nom: b0af549daf | (Elizabeth Mattijsen)++ | 5 files
06:59 Geth ¦ rakudo/nom: Remove trailing whitespace
06:59 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b0af549daf
07:19 Geth ¦ rakudo/nom: 8cf083c709 | (Elizabeth Mattijsen)++ | 39 files
07:19 Geth ¦ rakudo/nom: Remove trailing whitespace in NQP land
07:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8cf083c709
07:37 lizmat m: class A { has $.a }; A.a   # auto-generated accessors should probably have a :D invocant type ?
07:37 camelia rakudo-moar 8cf083: OUTPUT: «Cannot look up attributes in a A type object␤  in block <unit> at <tmp> line 1␤␤»
07:38 lizmat Question: how do I change a A to a A:D in World.nqp ?
07:39 lizmat there's a "create_coercion_type", but that appears to be for Action usage only
07:39 lizmat in any case, I don't know how to specify the "constraint" parameter on that
07:40 lizmat jnthn timotimo ^^^  :-)
07:41 lizmat other question: is it possible for a method to get JITted, but not cached in the method cache ?
07:42 lizmat I'm seeing that the generated BUILDALL gets JITted, but I also see it not being method cached (judging from the calls to find_method)
07:43 moritz is that because it's a submethod?
07:44 moritz lizmat: also, there $*W.create_definite_type for the Foo:D type objects
07:44 lizmat moritz: cool
07:45 lizmat no, it's not a submethod (afaik :-)
07:52 lizmat moritz: any suggestions as to the first parameter of create_definite_type ?
07:52 lizmat $package_type.HOW does not seem to be it
07:53 llfourn joined #perl6-dev
07:53 lizmat "Unexpected named argument 'base_type' passed"  during setting *parsing*
07:53 moritz $*W.create_definite_type($*W.resolve_mo($/, 'definite'),
07:53 lizmat moritz: I don't have a $/ at that point  :-(
07:53 moritz that's how it's used throughout Actions.pm
07:54 moritz lizmat: can you look up DefiniteHOW at that point?
07:54 lizmat with find_symbol you mean ?
07:55 [TuxCM] joined #perl6-dev
07:58 lizmat yeah, that seems to do the trick
08:02 lizmat alas, only for setting itself, not for core.d setting  :-(
08:05 lizmat or for any execution: Could not locate compile-time value for symbol Perl6::Metamodel::DefiniteHOW
08:05 pmurias Am I right that testing that 3.base(10, $huge_number_of_digits) throws and OutOfRange exception is implementation dependent and should be moved from roast to rakudo tests?
08:06 lizmat I think we have quite a few tests like that in roast
08:06 lizmat so, not sure
08:07 pmurias I moved a one that tested a limit with infix:x out of roast already
08:09 lizmat well, it can't hurt  :-)
08:10 pmurias the moving out or the 'too big to fit in memory for sure' check?
08:10 lizmat yeah :-)
08:15 lizmat jnthn moritz timotimo anyways, my work on :D-ing invocant of auto-generated accessors: https://gist.github.com/lizmat/e67ae4d93c3411b29be6bcd7f77571b2
08:30 travis-ci joined #perl6-dev
08:30 travis-ci Rakudo build passed. Elizabeth Mattijsen 'Remove trailing whitespace in NQP land'
08:30 travis-ci https://travis-ci.org/rakudo/rakudo/builds/279836100 https://github.com/rakudo/rakudo/compare/b0af549dafe6...8cf083c709e6
08:30 travis-ci left #perl6-dev
08:49 lizmat afk for a few hours&
09:00 pmurias m: my uint64 $a = -10;say $a;
09:00 camelia rakudo-moar 8cf083: OUTPUT: «-10␤»
09:09 Geth ¦ nqp: 771c893393 | pmurias++ | 5 files
09:09 Geth ¦ nqp: [js] Implement int16 and int32
09:09 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/771c893393
09:18 jnthn morning o/
09:18 yoleaux 25 Sep 2017 22:48Z <Zoffix> jnthn: feedback on your blog from Twitter: https://twitter.com/hercynium/status/912443716836741120
09:18 jnthn Well, that beats waking up to a bug report :D
09:19 * jnthn still a bit headachey, alas :S
09:22 travis-ci joined #perl6-dev
09:22 travis-ci NQP build failed. pmurias '[js] Implement int16 and int32'
09:22 travis-ci https://travis-ci.org/perl6/nqp/builds/279872604 https://github.com/perl6/nqp/compare/a254cd808f85...771c893393d6
09:22 travis-ci left #perl6-dev
09:26 Geth ¦ nqp: 4513eb66c8 | pmurias++ | 2 files
09:26 Geth ¦ nqp: [js] Make div_i by zero throw an exception
09:26 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/4513eb66c8
09:26 Geth ¦ nqp: 8e780a82c0 | pmurias++ | t/nqp/059-nqpop.t
09:26 Geth ¦ nqp: Test that division by zero throws an exception
09:26 Geth ¦ nqp: review: https://github.com/perl6/nqp/commit/8e780a82c0
09:28 pmurias jnthn: morning
09:28 jnthn o/ pmurias
09:29 jnthn lizmat: Yes, a method could get JITted but not cached, those two are orthoganol. If it's not cached, maybe you're adding the genreated BUILDALL method *after* the call to publish_method_cache?
09:32 jnthn lizmat: About the lookup, I think we install it as just Metamodel::DefiniteHOW
09:36 pmurias jnthn: hmm, a 32bit backend will have to use special int64 ops to make infix:<+> work on int64? (as add_i etc are 32 bit on it)
09:39 jnthn pmurias: hmm indeed. I guess yes, but we also statically know widths of things when we're dealing with native types
09:40 jnthn So can probably do some analysis to make it cheaper if needed
09:59 astj joined #perl6-dev
10:39 Geth ¦ rakudo: Gnouc++ created pull request #1172: Make lazy range works as Array index
10:39 Geth ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/1172
10:39 Geth ¦ roast: Gnouc++ created pull request #334: Lazy range as Array index
10:39 Geth ¦ roast: review: https://github.com/perl6/roast/pull/334
10:39 astj joined #perl6-dev
11:25 astj joined #perl6-dev
11:36 lizmat jnthn: Metamodel::DefiniteHOW was indeed the answer
11:37 lizmat so now the accessors get autogenerated with a :D on the invocant
11:38 lizmat however, even if the signature is now correct, it doesn't generate the correct error message yet:
11:38 lizmat $ 6 'class A { has $.a }; dd A.can("a")[0].signature; A.a'
11:38 lizmat :(A:D $: *%_)
11:38 lizmat Cannot look up attributes in a A type object
11:39 lizmat it does if I provide the method manually:
11:39 lizmat $ 6 'class A { has $.a; method a(A:D:) { $!a } }; dd A.can("a")[0].signature; A.a'
11:39 lizmat :(A:D $: *%_)
11:39 lizmat Invocant of method 'a' must be an object instance of type 'A', not a type object of type 'A'.  Did you forget a '.new'?
11:39 lizmat even though they have the same signature
11:40 astj joined #perl6-dev
11:40 Geth ¦ rakudo/nom: 33e113a2af | (Elizabeth Mattijsen)++ | src/Perl6/World.nqp
11:40 Geth ¦ rakudo/nom: Make auto-generated accessors have :D on the invocant
11:40 Geth ¦ rakudo/nom:
11:40 Geth ¦ rakudo/nom: This should provide for a better error message when called as a class
11:40 Geth ¦ rakudo/nom: method.  It doesn't yet, though, but at least the signature is correct.
11:40 Geth ¦ rakudo/nom: So this is still a work in progress.
11:40 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/33e113a2af
11:44 * timotimo looks into giving an indication about in-doublequote-string-ness when an undeclared variable got found
11:44 lizmat jnthn: wrt timing of the publishing of the method cache: spot on!
11:46 timotimo cool, we have $*LASTQUOTE
11:48 timotimo not sure how exactly the exception should be changed, maybe a subclass, or maybe a role to mix in
11:57 patrickz joined #perl6-dev
12:09 timotimo looks like i didn't understand lastquote properly
12:14 timotimo i'm not sure why runaway quote detection should work with $*LASTQUTE since it only gets set once the quote has finished
12:21 timotimo by checking for @*nibbles i can get it to figure out it's inside a string
12:22 timotimo oh, except it's always definite
12:24 timotimo looks like a @*dynamic var is automatically turned into an empty nqp::list when accessed but not defined
12:25 Zoffix m: say @*meows
12:25 camelia rakudo-moar 33e113: OUTPUT: «Dynamic variable @*meows not found␤  in block <unit> at <tmp> line 1␤␤»
12:25 timotimo in nqp
12:25 timotimo nqp: say(nqp::isconcrete(@*foo))
12:25 camelia nqp-moarvm: OUTPUT: «1␤»
12:26 Zoffix :})
12:28 timotimo by just setting a $*is-nibbling at the very beginning of the nibbler i can get it to properly differentiate
12:31 timotimo of course now it thinks "{ $foo }" is "inside a double-quoted string"
12:31 timotimo which isn't incorrect, but not helpful
12:35 timotimo i wonder if $*ESCAPEBLOCK is interesting here
12:35 timotimo it's what the c1 aka closure interpolation thing sets, but there's other code that unsets it and i'm not sure about the interplay
12:38 pmurias do we want CUnion to be actually part of the spec?
12:39 pmurias (we only have a fudged test for a bug in unsigned integers in a CUnion)
12:52 Zoffix I think all the NativeCall tests are in rakudo's t/*, not roast, so probably shouldn't be part of the spec
13:00 awwaiid I think NativeCall at some level should be part of the spec, as that is a key element to alternative implementations being able to use many libraries
13:00 * lizmat tends to agree
13:04 Zoffix Is there a way to non-explosively check if an attribute exists in nqp?
13:04 Zoffix m: class Foo { method x () { try say($!baz) } }; Foo.new.x
13:04 camelia rakudo-moar 33e113: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Attribute $!baz not declared in class Foo␤at <tmp>:1␤------> 3s Foo { method x () { try say($!baz) } }7⏏5; Foo.new.x␤    expecting any of:␤        horizontal whitespace␤        postfix␤  …»
13:04 Zoffix Trying to add a bunch of debug prints to dump an attribute to optimizer with search and replace and the attribute isn't available in all the places.
13:05 lizmat try { }  ??
13:05 Zoffix m: class Foo { method x () { try { say($!baz) } } }; Foo.new.x
13:05 camelia rakudo-moar 33e113: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Attribute $!baz not declared in class Foo␤at <tmp>:1␤------> 3o { method x () { try { say($!baz) } } }7⏏5; Foo.new.x␤    expecting any of:␤        horizontal whitespace␤        postfix␤  …»
13:10 Zoffix m: class Foo { has $!baz; method x () { $!baz := 42; say(try nqp::getattr(self, Foo, q|$!baz|)) } }; Foo.new.x
13:10 camelia rakudo-moar 33e113: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Could not find nqp::getattr, did you forget 'use nqp;' ?␤at <tmp>:1␤------> 3ay(try nqp::getattr(self, Foo, q|$!baz|)7⏏5) } }; Foo.new.x␤»
13:10 Zoffix nqp: class Foo { has $!baz; method x () { $!baz := 42; say(try nqp::getattr(self, Foo, q|$!baz|)) } }; Foo.new.x
13:10 camelia nqp-moarvm: OUTPUT: «42␤»
13:11 Zoffix nqp: class Foo { method x () { say(try nqp::getattr(self, Foo, q|$!baz|)) } }; Foo.new.x
13:11 camelia nqp-moarvm: OUTPUT: «␤»
13:11 lizmat that'd be the one  :-)
13:16 Zoffix "Segmentation fault" :)
13:16 timotimo nice
13:17 timotimo can you paste the code that does that?
13:17 Zoffix perl -pi -e 's/(\s*(?:multi\s+)?(method|sub|submethod)\s*([^\s({]+)[^{]+\{)/$1 nqp::say("$2 $3 [{try nqp::getattr(self, Perl6::Optimizer, q|\$!chain_depth|)}]");/g' src/Perl6/Optimizer.nqp
13:18 Zoffix then try to compile
13:21 skids joined #perl6-dev
13:30 timotimo had to disable jit, trying again
13:30 timotimo i see it's getting an actual null pointer as the object to call getattr on
13:31 dogbert17 joined #perl6-dev
13:31 timotimo crap, without jit it goes through
13:35 timotimo that's no fun
13:44 timotimo Zoffix: subs don't have a self, how is that supposed to work? :)
13:44 timotimo no good reason to have an actual null pointer there
13:44 timotimo but still
13:46 timotimo nqp: sub test($foo) { try nqp::getattr(self, NQPArray, q|$!doesntmatter|) }; for nqp::xx(1, 1000) { test(1) }
13:46 camelia nqp-moarvm: OUTPUT: «No registered operation handler for 'xx'␤   at gen/moar/stage2/QAST.nqp:1587  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/QAST.moarvm:compile_op)␤ from gen/moar/stage2/QAST.nqp:5864  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/QAST.moarvm:compile_node)␤ …»
13:46 Zoffix I thought that's what it was, but it doesn't segfault on a golfed example
13:46 timotimo nqp: sub test($foo) { try nqp::getattr(self, NQPArray, q|$!doesntmatter|) }; loop { test(1) }
13:46 camelia nqp-moarvm: OUTPUT: «Confused at line 2, near "loop { tes"␤   at gen/moar/stage2/NQPHLL.nqp:708  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:panic)␤ from gen/moar/stage2/NQP.nqp:919  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/nqp.moarvm:comp_unit)␤ from gen/mo…»
13:46 Zoffix nqp: class Z {}; sub foo() { nqp::getattr(self, Z, q|$!foo|) }; foo()
13:46 camelia nqp-moarvm: OUTPUT: «Cannot look up attributes in a VMNull type object␤   at <tmp>:1  (<ephemeral file>:foo)␤ from <tmp>:1  (<ephemeral file>:<mainline>)␤ from gen/moar/stage2/NQPHLL.nqp:1529  (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:eval)␤ from gen/moar/st…»
13:46 timotimo mhm
13:49 timotimo could be param_sp not giving vmnull in the jit if the argument number is out of bounds
13:49 timotimo though we should just outright reject self where no self exists
13:51 Zoffix oh wait it does segfault, if you repeat it enough times to git
13:51 Zoffix nqp: nqp::while(1,try nqp::getattr(self, Z, q|$!foo|))
13:51 camelia nqp-moarvm: OUTPUT: «(signal SEGV)»
13:51 Zoffix *jit
13:51 timotimo oh, no, this is getlex_no actually
13:54 timotimo interesting
13:55 timotimo if it wants an object register, it won't throw an exception when the lexical isn't found, instead it returns NULL
13:55 timotimo which the interpreter turns into VMNull for us, but the jit has no code for that case
13:55 Zoffix Ah
13:55 timotimo it just keeps the null around
14:01 timotimo ok, works now
14:01 Zoffix \o/
14:02 timotimo pushed the commit
14:02 timotimo might have wanted to test more than just core setting comp, though
14:06 lizmat timotimo: re runaway quotes, TimToady just had some words about that on perl6-users
14:06 timotimo i just read that
14:07 geekosaur ...and I just had a response because it confuses me a bit
14:07 lizmat https://www.nntp.perl.org/group/perl.perl6.users/2017/09/msg4367.html  # for others interested
14:07 geekosaur I suspect we're thinking about this in different ways
14:07 lizmat afk&
15:01 Zoffix ZofBot: this bug thinks it's tough tomatoes
15:01 ZofBot Zoffix, that's the setup I'm using? strawberry & VS2016 er, 17 ah sorry i misunderstood
15:09 AlexDaniel joined #perl6-dev
15:20 astj joined #perl6-dev
15:27 Zoffix ZofBot: I think I found it!
15:27 ZofBot Zoffix, sorry if these are stupid questions
15:28 Zoffix It look very tasty. So juuicy
15:30 AlexDaniel Zoffix++ # for having so much fun doing it :)
15:35 AlexDaniel oh, runaway quotes… I can relate to that
15:37 skids I only have one thing to say about runaway quotes: "
15:39 AlexDaniel joined #perl6-dev
15:40 AlexDaniel hehe, well… ”
15:41 AlexDaniel (some will probably notice that my quote didn't fix a thing :P )
15:41 AlexDaniel anyway, I think we had a ticket for that
15:41 AlexDaniel I didn't read the discussion yet, maybe it was already mentioned
15:43 AlexDaniel ok there's this but it's different RT #130261
15:43 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130261
15:44 Zoffix AlexDaniel: yeah, and it has a very juice perf improvement
15:44 Zoffix Just need to mop up a couple of spectest failures somehow
15:44 Zoffix *juicy
15:46 Zoffix like, 78x juicy
15:46 AlexDaniel .tell MasterDuke did we have a ticket for 「say “foo"; my $x = 42; say $x」 ?
15:46 yoleaux AlexDaniel: I'll pass your message to MasterDuke.
15:46 jdv79 not 79?  i was born in that year.
15:48 Zoffix oh, wait, typed too many zeros, it's 12x :(
15:49 skids Eh, at least you get to use the word "dozenfold"
15:49 AlexDaniel Zoffix: I'm wondering what can we do to make sure these things get noticed faster. Any ideas?
15:57 Zoffix oh man clean spectest \o/
15:58 Zoffix ZOFVM: Files=1280, Tests=152177, 148 wallclock secs (22.06 usr  3.79 sys + 3099.61 cusr 244.16 csys = 3369.62 CPU)
15:58 AlexDaniel that's like… 5 seconds slower? :)
15:59 Zoffix That's because there's one test file that runs that long
15:59 Zoffix m: for ^1000_0000 { 2 < 2; 3 < 3 }; say now - INIT now
15:59 camelia rakudo-moar 33e113: OUTPUT: «WARNINGS for <tmp>:␤3.99756666␤Useless use of "<" in expression "2 < 2" in sink context (line 1)␤»
15:59 Zoffix This is now 6x faster
15:59 AlexDaniel :OOOO
16:00 Zoffix AND fixes the warning for 3 < 3 :)
16:01 robertle joined #perl6-dev
16:03 timotimo what, the totally regular comparison ops?
16:04 Zoffix m: for ^1000_000 { 2 < 3; 2 < 3 < 4; 2 (elem) 4 }; say now - INIT now
16:04 Zoffix This is now 36x faster :P
16:04 Zoffix timotimo: all chained ops
16:04 camelia rakudo-moar 33e113: OUTPUT: «(timeout)WARNINGS for <tmp>:␤»
16:04 * Zoffix runs another stresstest before pushing
16:05 timotimo damn, i like that
16:06 Zoffix It sounds a bit too good to be true, so I hope I didn't mess up anything :)
16:06 Zoffix https://xkcd.com/221/
16:07 AlexDaniel m: say “foo"; my $x = 42; say 42
16:07 camelia rakudo-moar 33e113: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$x' is not declared␤at <tmp>:1␤------> 3say “foo"; my 7⏏5$x = 42; say 42␤»
16:08 AlexDaniel Variable '$x' is not declared (in double quotes started at line 1)
16:08 AlexDaniel or something like that?
16:08 timotimo you're right, it's very easy to do the wrong thing very fast
16:09 jnthn m: use v6.d.PREVIEW; await start await start Mu
16:09 camelia rakudo-moar 33e113: ( no output )
16:10 AlexDaniel buggable: LTA
16:10 jnthn m: use v6.d.PREVIEW; my $p = Promise.new; $p.keep(Mu); await start await $p
16:10 camelia rakudo-moar 33e113: OUTPUT: «An operation first awaited:␤  in code  at <tmp> line 1␤␤Died with the exception:␤    Type check failed in binding to parameter 'result'; expected Any but got Mu (Mu)␤      in code  at <tmp> line 1␤␤»
16:10 AlexDaniel buggable: tag LTA
16:10 buggable AlexDaniel, There are 184 tickets tagged with LTA; See http://fail.rakudo.party/t/LTA for details
16:10 jnthn aha
16:11 jnthn (fixed locally, noticed while hunting another bug)
16:15 Geth ¦ rakudo/nom: a92d0369f8 | (Zoffix Znet)++ | src/Perl6/Optimizer.nqp
16:15 Geth ¦ rakudo/nom: Fix poisoning of chain depth detection
16:15 Geth ¦ rakudo/nom:
16:15 Geth ¦ rakudo/nom: Affects all `chain` ops.
16:15 Geth ¦ rakudo/nom: Makes 6x faster:  `2 < 2; 3 < 3` (10_000_000 iterations)
16:15 Geth ¦ rakudo/nom: Makes 36x faster: `2 < 3; 2 < 3 < 4; 2 (elem) 4` (1000_000 iterations)
16:15 Geth ¦ rakudo/nom:
16:15 Geth ¦ rakudo/nom: There is logic that converts a `chain` op with two non-chain kids into a
16:15 Geth ¦ rakudo/nom: <…commit message has 12 more lines…>
16:15 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a92d0369f8
16:15 Zoffix Please review, 'cause this is only my second successful excursion into the optimizer and I don't know what I'm doing :)
16:16 Zoffix Forgot to mention in the comit but the chain depth reduction the commit adds is done a few lines down, but it's missed because of the `return` in the conditional where the commit went in
16:17 Zoffix hm.. /me notices s/$!chain_depth := $!chain_depth - 1/$!chain_depth := 0/
16:19 Geth ¦ rakudo/nom: e5c1746232 | (Jonathan Worthington)++ | src/core/Awaitable.pm
16:19 Geth ¦ rakudo/nom: Liberalize await handle result argument type
16:19 Geth ¦ rakudo/nom:
16:19 Geth ¦ rakudo/nom: So that `await` on an already kept Promise, when kept with a non-Any
16:19 Geth ¦ rakudo/nom: value, will not explode.
16:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e5c1746232
16:19 Geth ¦ rakudo/nom: 6e42b37e1b | (Jonathan Worthington)++ | src/core/ThreadPoolScheduler.pm
16:19 Geth ¦ rakudo/nom: Add "no queue progress" deadlock heuristic
16:19 Geth ¦ rakudo/nom:
16:19 Geth ¦ rakudo/nom: Will want some further tuning, but this handles the case where we do
16:19 Geth ¦ rakudo/nom: not start enough threads because we are working hard on, say, events
16:19 Geth ¦ rakudo/nom: fired by the timer queue, but not making any real progress because the
16:19 Geth ¦ rakudo/nom: general queue is not making any progress at all. Fixes hang that some
16:19 Geth ¦ rakudo/nom: low-core-count users observed in S17-supply/syntax.t.
16:19 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6e42b37e1b
16:20 timotimo pff, i will not have someone call me a "low-core-count user" like that! :P
16:21 jnthn :D
16:21 Zoffix :D
16:21 jnthn I'm one too when I use my VM ;)
16:23 jnthn Turns out whatever's wrong with cro-websocket, it's not the same thing as was wrong with S17-supply/syntax.t, alas
16:23 Geth ¦ rakudo/nom: c9f1e05a5b | (Zoffix Znet)++ | src/Perl6/Optimizer.nqp
16:23 Geth ¦ rakudo/nom: Simplify statement
16:23 Geth ¦ rakudo/nom:
16:23 Geth ¦ rakudo/nom: The conditional restricts the value to 1, so we know the result
16:23 Geth ¦ rakudo/nom: already, no need to calculate it.
16:23 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c9f1e05a5b
16:24 jnthn So still one thing to hunt down
16:24 jnthn As fallout from the supply concurrency changes
16:24 timotimo right, what you saw in cro?
16:25 jnthn Yeah...oddly, only in one test in the websockets impl
16:25 jnthn In the websocket client, of all places
16:29 AlexDaniel FWIW recently I introduced [ANNOYING] and [9999] tags in RT. Dunno if these are useful but we'll see.
16:29 Zoffix What's 9999?
16:29 AlexDaniel m: say (4,5,6).tail(-9999999999999999999)
16:29 camelia rakudo-moar 33e113: OUTPUT: «Cannot unbox 64 bit wide bigint into native integer␤  in block <unit> at <tmp> line 1␤␤»
16:29 AlexDaniel hm this one is fixed maybe
16:30 AlexDaniel but yeah, anything related to overflows
16:30 Zoffix So… I'm adding a mexico->texas converter to optimizer that, for start, will convert ≥, ≤, and ≠ to texas version. They're 50x slower than texan versions ATM
16:31 AlexDaniel maybe I should've just called it [OVERFLOW] but that's no fun
16:31 AlexDaniel buggable: tag 9999
16:31 buggable AlexDaniel, There are no tickets tagged with 9999
16:31 AlexDaniel because at least this does not work…
16:31 Zoffix Actually 22x
16:32 Zoffix 9999 is a meaningless tag, unless you're going to explain it to everyone :)
16:32 MasterDuke joined #perl6-dev
16:33 AlexDaniel well: https://rt.perl.org/Search/Simple.html?q=%5C9999
16:33 Zoffix m: 4 ≤ 5
16:33 camelia rakudo-moar c9f1e0: OUTPUT: «WARNINGS for <tmp>:␤Useless use of "≤" in expression "4 ≤ 5" in sink context (line 1)␤»
16:33 Zoffix hm, wonder if the conversion will make that one name the wrong op :/
16:38 MasterDuke AlexDaniel: how is RT #130261 different from your question?
16:38 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130261
16:39 AlexDaniel this one does not reach the end of the file
16:39 AlexDaniel m: say "foo'; my $x = 42
16:39 camelia rakudo-moar c9f1e0: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Variable '$x' is not declared␤at <tmp>:1␤------> 3say "foo'; my 7⏏5$x = 42␤»
16:39 AlexDaniel it blows up on $x
16:39 MasterDuke ah, right
16:43 AlexDaniel ok I created RT #132168
16:43 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=132168
16:49 Zoffix Hey, cool, found a nice use for R op:
16:49 Zoffix m: say [R/] «0.009406␤0.2081962»
16:49 camelia rakudo-moar c9f1e0: OUTPUT: «22.134404␤»
16:49 Zoffix Copy-pasting a string with two numbers I need to divide and didn't have to edit it :)
16:49 jnthn Ahh, hmm.
16:50 timotimo cute.
16:50 jnthn Well, I figured out, to some degree, the Cro::WebSocket bustage in so far as "I can easily patch it there"
16:51 Zoffix Hm, weird. Even after my change to rewrite &infix:<≤> to &infix:«<=» it still comes out 16% slower
16:51 timotimo is it a trap that's easy to fall into?
16:51 timotimo given you did? :)
16:51 jnthn I didn't actually write that bit of the code
16:52 Zoffix Oh wait, I was running the wrong compiler (forgot the ./)
16:52 timotimo ah!
16:54 jnthn But the trap is that `await` doesn't behave like the good way it's meant to in 6.d
16:54 jnthn A `use v6.d.PREVIEW` tossed at the top of the file works in place of a patch too
16:56 jnthn There's a mitigation for an await happening during the tapping of a Supply
16:56 jnthn Unfortunately it relies on the $*AWAITER mechanism being used
16:57 jnthn I wonder if I can make that mechanism happen while still forcing 6.c blocking
16:58 jnthn Anyways, will rest a bit now
16:59 * MasterDuke wonders ... drumroll ... how long we're going to await for 6.d?
16:59 Zoffix New Years \o/
17:00 Zoffix can't ssh to hack :/ ssh hack.p6c.org gave me ssh_exchange_identification: Connection closed by remote host and ssh zoffix@hack.p6c.org just hangs :/
17:00 Zoffix Also, something's wrong with SourceBaby
17:00 Zoffix s: &say
17:00 SourceBaby Zoffix, Something's wrong: ␤ERR: Unhandled exception: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' (from 'gen/moar/main.nqp')␤   at <unknown>:1  (/home/zoffix/services/sourceable/building-perl6/perl6.moarvm:<dependencies+deserialize>)␤
17:01 Zoffix Oh wait, I have the keys to the hack thingamajig
17:01 * Zoffix calls out "drive ran out of space"
17:01 AlexDaniel .oO( how many new years are required for v6.d? )
17:02 Zoffix It's the first one, innit?
17:03 Zoffix MasterDuke: some recent discussion: https://irclog.perlgeek.de/perl6-dev/2017-09-24#i_15210125
17:03 * Zoffix notices the switch to 6.d mode
17:03 Zoffix And I'm hacking on optimizer bugs :P
17:07 jdv79 jnthn: rail is cool overall but lately ive been into funiculars.
17:08 jdv79 neatest one so far is the "water powered" one in wiesbaden.
17:10 jdv79 steepest im nkt sure.  either heidelberg or the one outside tokyo.
17:11 jdv79 mount takao
17:13 dalek joined #perl6-dev
17:16 timotimo i'm surprised by the size of overhead CArray's ASSIGN-POS has over nqp::bindpos
17:17 timotimo the difference between ASSIGN-POS and using postcircumfix:<[ ]> on the other hand is not too big
17:19 robertle joined #perl6-dev
17:24 Geth ¦ rakudo/nom: 6ec21cb473 | (Zoffix Znet)++ | src/Perl6/Optimizer.nqp
17:24 Geth ¦ rakudo/nom: Restore perf of ≥, ≤, and ≠ to be same as Texas versions
17:24 Geth ¦ rakudo/nom:
17:24 Geth ¦ rakudo/nom: By having static optimizer change them to Texas variants.
17:24 Geth ¦ rakudo/nom:
17:24 Geth ¦ rakudo/nom: Fixes(?) RT#131626: https://rt.perl.org/Ticket/Display.html?id=131626
17:24 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6ec21cb473
17:34 [TuxCM] joined #perl6-dev
17:42 SourceBaby joined #perl6-dev
17:43 Undercover joined #perl6-dev
17:52 Zoffix c: HEAD use lib </home/bisectable/git/whateverable/data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; b 100_000, { $ = rand >= rand }, { $ = rand ≥ rand }
17:52 committable6 Zoffix, ¦HEAD(6ec21cb): «Bare: 0.018773874154s␤Old:  0.02685544979294545129s␤New:  0.03744932214446569735s␤OLD version is 39% faster»
17:52 Zoffix c: HEAD use lib </home/bisectable/git/whateverable/data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; b 10000_000, { $ = rand >= rand }, { $ = rand ≥ rand }
17:53 committable6 Zoffix, ¦HEAD(6ec21cb): ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
17:53 Zoffix c: HEAD use lib </home/bisectable/git/whateverable/data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; b 1000_000, { $ = rand >= rand }, { $ = rand ≥ rand }
17:53 committable6 Zoffix, ¦HEAD(6ec21cb): «Bare: 0.181108744615s␤Old:  0.194581s␤New:  0.339799s␤OLD version is 74% faster»
17:53 cognominal joined #perl6-dev
17:54 AlexDaniel fwiw you can also use ‘data/all-modules/…’ as it is in the same directory
17:54 Zoffix I don't get it. How does the texas version manage to be 74% faster if the optimizer rewriting the ≥ to >=
17:54 Zoffix Which apparently works for ≤ and ≠
17:54 Zoffix c: HEAD use lib <data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; b 1000_000, { $ = rand <= rand }, { $ = rand ≤ rand }
17:54 committable6 Zoffix, ¦HEAD(6ec21cb): «Bare: 0.179466286925s␤Old:  0.187858s␤New:  0.323713s␤OLD version is 72% faster»
17:54 Zoffix oh :|
17:55 Zoffix c: HEAD use lib <data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; $ = rand <= rand for ^300; $ = rand ≤ rand for ^300; b 1000_000, { $ = rand <= rand }, { $ = rand ≤ rand }
17:55 committable6 Zoffix, ¦HEAD(6ec21cb): «Bare: 0.2436865934914s␤Old:  0.4669465326911026964s␤New:  0.43620270221319541080s␤NEW version is 7% faster»
17:55 Zoffix c: HEAD use lib <data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; $ = rand >= rand for ^300; $ = rand ≥ rand for ^300; b 1000_000, { $ = rand >= rand }, { $ = rand ≥ rand }
17:55 committable6 Zoffix, ¦HEAD(6ec21cb): «Bare: 0.20398275121742s␤Old:  0.442708s␤New:  0.477549s␤OLD version is 7% faster»
17:55 Zoffix Hm, OK, nevermind. I guess my test for perf is just crap
17:56 Zoffix This one: https://gist.github.com/zoffixznet/8d4296b6a8caf089319475a1dc7a43b3
17:56 AlexDaniel (fwiw another bonus point: if you use a bunch of modules and it times out the first time, then you may want to run it again because chances are the first time it was precomp taking all that time)
17:57 Zoffix AlexDaniel: and you were asking earlier if I had ideas. I'm guessing something like that ^ where you measure against some "ruler" time that's made up by using a bunch of different code snippets and then combined and median value is found
17:57 AlexDaniel Zoffix: hmm… but any chance we can visualize what the optimizer is doing or something like that?
17:58 Zoffix AlexDaniel: you can turn on RAKUDO_OPTIMIZER_DEBUG and it'll spit out a bunch of output
17:58 Zoffix huggable: optimizer debug
17:58 huggable Zoffix, perl -pi -e 's/^(\s*(?:multi\s+)?(method|sub|submethod)\s*([^\s({]+)[^{]+\{)/$1 nqp::say("$2 $3 [{try nqp::getattr(self, Perl6::Optimizer, q|\$!chain_depth|)}] line $.") if nqp::atkey(nqp::getenvhash, "DDD");/gm' src/Perl6/Optimizer.nqp
17:58 Zoffix AlexDaniel: ^ I also use this line that makes it spit out each method as its called, so you can follow the chain of calls
17:59 * Zoffix suspects we're talking about different things :)
18:01 Zoffix man, that test is reporting difference between ops as 2.3x, but measuring it by hand shows 7% diff at most and logically there's no diff between them because they get rewritten to the same op
18:01 * Zoffix gives up on trying to write test for this
18:04 MasterDuke Zoffix: i assume --target=optimize looks the same for both?
18:17 Zoffix MasterDuke: as far as I can tell yeah: https://gist.github.com/zoffixznet/d617f113f190825fa4c7f2c46324c4ff
18:17 squashable6 joined #perl6-dev
18:18 Zoffix MasterDuke: and before the commit that added this rewrite, the Mexico versions were 20x slower, now they show up as same speed on my VM, with committable giving 7%-90% diff, with my test run in commitable giving 2.2x dif
18:20 MasterDuke huh
18:25 quotable6 joined #perl6-dev
18:25 committable6 joined #perl6-dev
18:25 unicodable6 joined #perl6-dev
18:25 coverable6 joined #perl6-dev
18:25 bisectable6 joined #perl6-dev
18:25 bloatable6 joined #perl6-dev
18:25 nativecallable6 joined #perl6-dev
18:25 benchable6 joined #perl6-dev
18:25 releasable6 joined #perl6-dev
18:25 greppable6 joined #perl6-dev
18:25 evalable6 joined #perl6-dev
18:25 squashable6 joined #perl6-dev
18:25 statisfiable6 joined #perl6-dev
18:35 Ven`` joined #perl6-dev
18:36 lizmat Zoffix: re 6ec21cb47394527983f , I wonder whether we shouldn't do this substitution earlier, while parsing.  Also, there's quite a bunch of set operators that would benefit from this, I think
18:36 Zoffix I measured ∈ vs (elems) and there was no diff
18:37 Zoffix c: HEAD use lib <data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; b 100_000, { $ = rand (elem) rand }, { $ = rand ∈ rand }
18:37 committable6 Zoffix, ¦HEAD(6ec21cb): «Bare: 0.024371067647s␤Old:  4.4153811237141000001s␤New:  4.527691621773939913564s␤OLD version is 2% faster»
18:37 Zoffix c: HEAD use lib <data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; b 100_000, { $ = rand (>=) rand }, { $ = rand ⊇ rand }
18:37 committable6 Zoffix, ¦HEAD(6ec21cb): ««timed out after 10 seconds» «exit signal = SIGHUP (1)»»
18:37 Zoffix c: HEAD use lib <data/all-modules/zoffixznet/perl6-Benchy/lib>; use Benchy; b 100_0, { $ = rand (>=) rand }, { $ = rand ⊇ rand }
18:37 committable6 Zoffix, ¦HEAD(6ec21cb): «Bare: 0.00125419454s␤Old:  0.0860958764923106430s␤New:  0.072372s␤NEW version is 18% faster»
18:38 Zoffix s: &infix:<⊇>, \(rand, rand)
18:38 SourceBaby Zoffix, Sauce is at https://github.com/rakudo/rakudo/blob/6ec21cb47/src/core/set_subset.pm#L153
18:38 lizmat so why *does* it matter for the math operators ?
18:38 Zoffix I think it's cause they use a capture and then slip it into the call, while these ops just take two positional args
18:45 Zoffix lizmat: as for substituting earlier. I did it the only way I know how :)
18:45 lizmat :-)
18:45 Zoffix If you know of a better way, sure, go for it.
18:45 lizmat not yet, actually  :-)
18:46 lizmat deep in QAST at the moment, which is quite new too me
18:53 Zoffix qast: ▸Op: :op<say>, ▸SVal: :value("Have fun!")
18:53 SourceBaby Zoffix, OUTPUT: «Have fun!␤»
18:55 lizmat yeah, something like that  :-)
18:55 lizmat nqp::say("Have fun!") is so much more readable  :-)
19:09 lizmat joined #perl6-dev
19:10 timotimo there's no reason not to fuse blocks that have no instructions in them with their successors, right?
19:10 timotimo i mean BBs in spesh
19:11 Zoffix ZOFFLOP: t/spec/S11-modules/nested.t
19:16 Geth ¦ rakudo/nom: 0961abe8ff | (Zoffix Znet)++ | src/core/Rational.pm
19:16 Geth ¦ rakudo/nom: Fix infinilop in .^roles of class that does Rational
19:16 Geth ¦ rakudo/nom:
19:16 Geth ¦ rakudo/nom: Bug find: https://irclog.perlgeek.de/perl6/2017-09-26#i_15219316
19:16 Geth ¦ rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0961abe8ff
19:18 Geth ¦ roast: b5aff33196 | (Zoffix Znet)++ | S32-num/rat.t
19:18 Geth ¦ roast: Test .^roles on Rational classes doesn't hang
19:18 Geth ¦ roast:
19:18 Geth ¦ roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/0961abe8ff
19:18 Geth ¦ roast: Bug find: https://irclog.perlgeek.de/perl6/2017-09-26#i_15219316
19:18 Geth ¦ roast: review: https://github.com/perl6/roast/commit/b5aff33196
19:20 skids https://gist.github.com/skids/08245ef93cf4cc78417affa78afe2a10 <== can anyone give me a clue how to avoid the "SC not yet resolved" here?
19:22 timotimo hm, why are you calling the result of nqplist?
19:23 timotimo also, i'm mildly surprised nqp has a concept of "is export"
19:25 skids timotimo: to get an empty nqplist.  Just cargo culting the ::World stuff really.
19:26 astj joined #perl6-dev
19:26 skids nqp only seem to like "is export" before any aother classes, not after, I noticed.
19:26 timotimo oh, huh, ok
19:26 timotimo hllize should handle turning lists into the right thing
19:27 timotimo and since the sub takes a slurpy anyway, it shouldn't be needed to have a list
19:28 skids Just calling it as nqpsub() yields "Cannot look up attributes in a VMNull type object"
19:30 timotimo huh
19:32 Geth ¦ roast: a236ed94c4 | (Zoffix Znet)++ | S32-num/rat.t
19:32 Geth ¦ roast: Spec custom parametarization of Rational
19:32 Geth ¦ roast: review: https://github.com/perl6/roast/commit/a236ed94c4
19:34 TimToady joined #perl6-dev
19:34 Geth ¦ roast: 940790f2a9 | (Zoffix Znet)++ | S32-num/rat.t
19:34 Geth ¦ roast: Must… Resist… Urge…
19:34 Geth ¦ roast: review: https://github.com/perl6/roast/commit/940790f2a9
19:35 * Zoffix & for rest of the day
19:37 Geth ¦ roast: 204fe61870 | (Zoffix Znet)++ (committed using GitHub Web editor) | S32-num/rat.t
19:37 Geth ¦ roast: Fix typo in comment
19:37 Geth ¦ roast: review: https://github.com/perl6/roast/commit/204fe61870
19:46 Ven`` joined #perl6-dev
20:50 gfldex m: sub zPad($s, 2) {('0' x (2 - floor(log10($s))+1)) ~ $s}; zPad(0, 2)
20:50 camelia rakudo-moar 0961ab: OUTPUT: «Cat object not yet implemented. Sorry.␤  in sub zPad at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»
20:50 gfldex what is a Cat object?
20:50 gfldex (And who didn't put it into Perl 6 yet?)
20:51 Zoffix lazy strings
20:52 Zoffix And it needs work on grammar engine to make it work right with it
20:52 Zoffix I had an attempt, but it doesn't work: https://github.com/zoffixznet/perl6-Kitten
20:53 Zoffix As soon as you get into regexes like /.+/ you have to reify it entirely to know if you matched or not (which is why work on regex engine is needed, I think)
20:55 timotimo i expect you get that error when you "0" x Inf
20:55 timotimo m: say "0" x Inf
20:55 camelia rakudo-moar 0961ab: OUTPUT: «Cat object not yet implemented. Sorry.␤  in block <unit> at <tmp> line 1␤␤»
20:55 Zoffix well, more like /a.+b/; I've no idea how it's meant to work. Cat is mentioned in design docs https://encrypted.google.com/search?ie=UTF-8&amp;oe=UTF-8&amp;domains=design.perl6.org&amp;sitesearch=design.perl6.org&amp;q=cat&amp;btnG=Google+Search+the+Synopses
20:57 Zoffix m: sub zPad($s, 2) { ('0' x (2 - floor($s && log10 $s)+1)) ~ $s }; zPad(0, 2)
20:57 camelia rakudo-moar 0961ab: ( no output )
20:57 Zoffix m: sub zPad($s, 2) { ('0' x (2 - floor($s && log10 $s)+1)) ~ $s }; zPad(0, 2).say
20:57 camelia rakudo-moar 0961ab: OUTPUT: «0000␤»
20:58 Zoffix m: sub zPad($s, 2) { ('0' x (2 - floor($s && log10 $s)+1)) ~ $s }; zPad(1, 2).say
20:58 camelia rakudo-moar 0961ab: OUTPUT: «0001␤»
20:59 gfldex zPad is actually a multi, so I can cheat with `multi zPad(0, 2){ '00' }`
21:00 mudman joined #perl6-dev
21:33 jnthn jdv79: Hm, trying to remember the last funicular I rode and I think probably one in Innsbruck, though I that one's perhaps more notable for the designs of its stations than anything particular about the funicular. :)
21:41 mudman If I want to make a small change to a critical file, do I paste it here first or past a link to a gist or make a pull request or any of the above of my choosing?
21:42 Zoffix mudman: unless you have questions about it you can just make a PR. run `make spectest` to ensure all the tests pass with the change
21:42 Zoffix questions about the change I mean
21:42 Zoffix You can always ask :)
21:47 mudman ok.  For this time only:  https://gist.github.com/mryan/71709f7dfb5550c0b14a526b42bf1feb
21:50 Zoffix mudman: "scalar " isn't needed, but otherwise it looks OK. You can just commit it directly. I see you're in perl6 github org, so you should have the commit bit already
21:53 mudman Cool.  re the scalar - just being explicit.  Re the commit - yep, can commit it - just wanted to be sure the fudger wasn’t being used in ways I wasn’t aware of.  Thanks for the oversight.
21:53 Zoffix Cool :
21:53 Zoffix :)
22:03 jnthn Hmmm.
22:15 jnthn Think I figured out a way that we can use $*AWAITER in 6.c land but still have it do the blocking behavior
22:15 jnthn That'll, I think, fix the regression that cro-websocket detected
22:16 jnthn It'll also make the 6.c and 6.d codepaths have more in common, which I guess is only a good thing for testing
22:16 Geth ¦ roast: mryan++ created pull request #335: Stop fudger mistaking shebang lines as directives
22:16 Geth ¦ roast: review: https://github.com/perl6/roast/pull/335
22:16 Geth ¦ roast: c24c85b9e4 | (Martin Ryan)++ | fudge
22:16 Geth ¦ roast: Stop fudger mistaking shebang lines as directives
22:16 Geth ¦ roast:
22:16 Geth ¦ roast: See Roast RT #268
22:16 Geth ¦ roast: review: https://github.com/perl6/roast/commit/c24c85b9e4
22:16 Geth ¦ roast: 3ccd0207dd | (Martin Ryan)++ (committed using GitHub Web editor) | fudge
22:16 Geth ¦ roast: Merge pull request #335 from mryan/roast-RT268
22:16 Geth ¦ roast:
22:16 Geth ¦ roast: Stop fudger mistaking shebang lines as directives
22:16 Geth ¦ roast: review: https://github.com/perl6/roast/commit/3ccd0207dd
22:19 jnthn Well, except my first effort at it breaks things
22:19 jnthn But that can be a bug hunt for tomorrow
22:25 * jnthn leaves it to spectest and goes to rest o/
22:33 samcv ok so i'm working on uniname and finding characters which shouldn't be illegal are returning illegal
22:34 samcv i mean they're non-characters but they're not illegal. like U+FFFF
22:36 samcv for codepoitns above 0x10FFFF the max currently we return unassigned
22:36 samcv <unassigned>
22:40 skids joined #perl6-dev
22:40 samcv i'm thinking we should return <reserved> that makes the most sense. since they really aren't "illegal" they just aren't characters as in they aren't assigned unicode names and properties
22:41 samcv and will never be used for that, but also they are not in private use area
22:44 mudman joined #perl6-dev
22:46 samcv greppable6, <reserved>
22:46 greppable6 samcv, https://gist.github.com/17f32924a35b32eb4fec028b4d02a2a4
22:46 samcv greppable6, <illegal>
22:46 greppable6 samcv, Found nothing!
22:46 samcv ok good
22:48 timotimo wowza. dot -Tx11 does *not* like when you pipe to it and the pipe EOFs
22:50 samcv or alternatively i could do <noncharacter>
22:51 timotimo <nonchalant>
22:52 samcv unicode seems to have reserved and unassigned synonymous
22:52 samcv there's private use, reserved/unassigned and non-characters
22:53 samcv the distinction between reserved and unassigned does not seem apparent and many cases they use "unassigned reserved codepoints"
22:53 samcv as if all unassigned ones *are* inherently resereved
22:53 samcv and non-characters are not unassigned. they've been explicitly been assigned "nothing"
22:53 samcv as opposed to things that are just not used
22:56 samcv ah and even unicode seems to name them <noncharacter-FDD0> for example in their data files
23:02 astj joined #perl6-dev
23:09 timotimo i'm finishing up reading your grant report
23:10 timotimo this sentence seems strange: I wrote documentation on our Unicode Collation Algorithm, which explains to the reader why the UCA solves, with examples of different single to multiple or multiple to single mappings of codepoints.
23:10 timotimo also, "people who want their strings to be unchanged unchanged"? :)
23:14 timotimo i should look into making json_fast better by using newer ops like indexim
23:18 samcv very unchanged!
23:19 samcv will fix those errors in a bit. so i've decided we'll respond <noncharacter> for all the noncharacters, which is FDD0..FDEF plus the last 2 of every block
23:19 BenGoldberg joined #perl6-dev
23:20 samcv so i can do:  0xFFFE +& codepoint and find the last two of each block so code is fairly simple
23:32 gfldex jnthn: are you testing the new scheduler with low physical core count?
23:33 gfldex i got really odd results here
23:33 gfldex moar takes 10% CPU time while processing a large data structure
23:33 skids Any obvious repo in which to plop this? https://gist.github.com/skids/5b2422af6935188cef9f3331e754ad87
23:42 timotimo oooooooh~
23:47 skids Hrm unfortunately not so useful on *:sym<*> subs.
23:48 timotimo oh? :(
23:50 skids I think it just adds a duplicate entry or something.  Wonder if there's a way to replace.
23:56 MasterDuke joined #perl6-dev
23:57 travis-ci joined #perl6-dev
23:57 travis-ci Rakudo build passed. Zoffix Znet 'Restore perf of ≥, ≤, and ≠ to be same as Texas versions
23:57 travis-ci https://travis-ci.org/rakudo/rakudo/builds/280065231 https://github.com/rakudo/rakudo/compare/c9f1e05a5b0b...6ec21cb47394
23:57 travis-ci left #perl6-dev

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