Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2017-01-23

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

All times shown according to UTC.

Time Nick Message
00:11 samcv MasterDuke, the docs page almost seems like we stole someone's table?
00:11 samcv q, L, or ll interpret integer as C type "long long",
00:11 samcv "unsigned long long", or "quad" (typically
00:11 samcv 64-bit integers)
00:12 samcv or i guess this is for C compatibility? it seems odd though that we have this
00:12 geekosaur yes
00:12 samcv also the "these examples are subject to system-specific variation" on many of the examples
00:13 samcv geekosaur, yes to which?
00:13 geekosaur various libc-s added their own extensions for 64 bit / long long before it got standardized, so variouys things support the most common add-ons
00:13 samcv ok
00:14 geekosaur and, more or less, any "printf" is going to use the ANSI C or libc one as its reference implementation
00:14 MasterDuke samcv: i think tbrowder copied it from the sprintf man page
00:14 geekosaur (some impls will stick to ANSI C, some will use glibc, etc.)
00:18 tbrowder samcv: no pride of authorship. i was trying to rationalize what works in p6 vs what is not available  yet and what won't be available.  i was going though actually trying each type but stopped further work at what you see.  finishing is way down my TODO list at the moment.
00:20 samcv tbrowder++
00:21 MasterDuke tbrowder: btw, i tried to run your file-reading benchmark yesterday, but it's still looking for some stuff in a Misc::Utils. anyway, i think Perl 6 should have gotten a bit faster since your last results
00:22 MasterDuke tbrowder: btw, adapted would have been a better word, i didn't mean to imply you hadn't put any thought into it
00:24 tbrowder yes, the reader is publicly rotten at the moment--i'm nearly ready to release some modules that replace the non-released Misc::Utils (which has been split into several more-focused modules based on critiques and suggestion from #perl6).  but the last time i ran the reader (couple of weeks ago) there was no significant speedup vs. p5.
00:26 MasterDuke huh, must have been thinking of something else
00:26 AlexDaniel joined #perl6-dev
01:10 TimToady .
01:10 yoleaux2 22 Jan 2017 23:52Z <MasterDuke> TimToady: do you have an opinion on Nd's in sprintf format strings? e.g., https://irclog.perlgeek.de/perl6-dev/2017-01-22#i_13970314. should they be made to work?
01:10 * TimToady shrugs too
01:12 TimToady I can think of implementations where it might be costly to continually translate %0۳d to %03d
01:13 MasterDuke hm, two shrugs and one "that would be cool". those scales aren't moving to quickly
01:13 MasterDuke *too
01:14 TimToady it runs into the "trying to stuff a static language into a string" problem that p5 has with regexes (along with many other languages)
01:15 MasterDuke well, changing this line implements %0۳d https://github.com/perl6/nqp/blob/master/src/HLL/sprintf.nqp#L161
01:15 MasterDuke `$st<size>.made` -> `nqp::radix(10, $st<size>.made, 0, 0)[0]`
01:16 TimToady well, that imposes a penalty on everyone, every time
01:17 TimToady if it could be attached to a failure test that doesn't sad-path the happy path, that would be better
01:17 MasterDuke something similar is done in a bunch of places to support Nd's
01:18 TimToady well, maybe it's that way internaly
01:18 TimToady *ally
01:19 MasterDuke you mean if it (some operation) fails, check for Nd and then restart with the 'value' instead of the Nd?
01:20 TimToady in general, I'd hope we attempt the fastest possible ASCII conversions, and if that fails, try again with Nd
01:20 TimToady since the fast majority of numbers will be written in ASCII
01:20 TimToady *vast
01:20 TimToady yes, restart
01:21 MasterDuke i don't think i've ever seen that idiom in the nqp/rakudo source
01:21 TimToady well, it's just an optimization, really, and optimization is cheating, which is technique :)
01:21 TimToady but guessing ASCII is gonna be a real good bet
01:23 MasterDuke i'll look around and see if that's done anywhere (and/or how to add it to where we go to nqp::radix right away)
01:23 TimToady and in general, I/O with base-10 numbers is worth putting a great deal of optimization effort towards
01:24 TimToady I understand python has a very fast hand-coded base-10 output routine
01:24 TimToady might be worth stealing
02:18 kalkin- joined #perl6-dev
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
02:51 brokenchicken Does anyone know how come we return `Mu` here when key doesn't match? https://github.com/rakudo/rakudo/blob/e195e5f/src/core/Pair.pm#L79
02:51 brokenchicken Since Mu isn't accepted by most operators, that results in LTA behaviour (as samcv just found out in #perl6)
02:52 brokenchicken m: my %h; dd %h<f> # Hashes, on the other hand return an Any
02:52 camelia rakudo-moar e195e5: OUTPUT«Any %h = Any␤»
02:56 TimToady it should probably return Nil, not Mu
02:56 * brokenchicken does so
03:21 Geth rakudo/nom: 9728c4a455 | (Zoffix Znet)++ | src/core/Pair.pm
03:21 Geth rakudo/nom: Change value of Pair.AT-KEY on non-existent key
03:21 Geth rakudo/nom:
03:21 Geth rakudo/nom: Currently the code returns a Mu, which isn't accepted by most operators
03:21 Geth rakudo/nom: and causes show-stopping and confusing errors.
03:21 Geth rakudo/nom:
03:21 Geth rakudo/nom: Fix by returning a much more friendly Nil instead.
03:21 Geth rakudo/nom:
03:21 Geth rakudo/nom: Discussion: https://irclog.perlgeek.de/perl6-dev/2017-01-23#i_13971026
03:21 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9728c4a455
03:21 Geth roast: 81a7ce94b3 | (Zoffix Znet)++ | S02-types/pair.t
03:21 Geth roast: Test Pair.AT-KEY for nonexistent key
03:21 Geth roast:
03:21 Geth roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/9728c4a455
03:21 Geth roast: review: https://github.com/perl6/roast/commit/81a7ce94b3
04:40 Geth nqp: b069919fb8 | (Samantha McVey)++ | src/HLL/Actions.nqp
04:40 Geth nqp: Put single quotes around the character name on the error message
04:40 Geth nqp:
04:40 Geth nqp: To make it more readable.
04:40 Geth nqp: review: https://github.com/perl6/nqp/commit/b069919fb8
05:26 Geth rakudo/nom: 58226059b5 | (Samantha McVey)++ | src/Perl6/Actions.nqp
05:26 Geth rakudo/nom: Use [] to delimit incorrect names in CURSOR.panic
05:26 Geth rakudo/nom:
05:26 Geth rakudo/nom: See discussion from here on back:
05:26 Geth rakudo/nom: https://irclog.perlgeek.de/perl6/2017-01-23#i_13971510
05:26 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/58226059b5
06:52 RabidGravy joined #perl6-dev
07:38 [Tux] This is Rakudo version 2017.01-25-g58226059b built on MoarVM version 2017.01-10-g76872dbe
07:38 [Tux] csv-ip5xs        2.932
07:38 [Tux] test            12.782
07:38 [Tux] test-t           5.267
07:38 [Tux] csv-parser      14.197
07:56 Woodi joined #perl6-dev
10:29 lizmat Files=1166, Tests=56204, 192 wallclock secs (11.46 usr  4.31 sys + 1160.80 cusr 110.93 csys = 1287.50 CPU)
10:29 yoleaux2 22 Jan 2017 23:52Z <MasterDuke> lizmat: do you have an opinion on Nd's in sprintf format strings? e.g., https://irclog.perlgeek.de/perl6-dev/2017-01-22#i_13970314. should they be made to work?
10:31 lizmat .tell MasterDuke seems like a logical continuation of the other Nd work you've done  :-)
10:31 yoleaux2 lizmat: I'll pass your message to MasterDuke.
11:11 Geth rakudo/nom: f230224d27 | (Elizabeth Mattijsen)++ | src/core/Backtrace.pm
11:11 Geth rakudo/nom: Fix for RT #130630
11:11 Geth rakudo/nom:
11:11 Geth rakudo/nom: Basically do not include any .nqp files in backtraces.
11:11 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f230224d27
11:11 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130630
11:27 lizmat m: dd (|(0,1)).List.WHAT   # sorta expected to see List there
11:27 camelia rakudo-moar 582260: OUTPUT«Slip␤»
11:28 timotimo m: say Slip ~~ List
11:28 camelia rakudo-moar 582260: OUTPUT«True␤»
11:29 timotimo m: dd (|(0, 1)).list.WHAT
11:29 camelia rakudo-moar 582260: OUTPUT«Slip␤»
11:33 lizmat timotimo: that last one I think is ok
11:33 lizmat but the .List one is not
11:34 timotimo OK!
11:41 Geth rakudo/nom: 4d4822a76c | (Elizabeth Mattijsen)++ | src/core/Slip.pm
11:41 Geth rakudo/nom: Make sure coercing a Slip to a List returns a List
11:41 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4d4822a76c
11:55 Geth rakudo/nom: 8733aa5157 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Internals.pm
11:55 Geth rakudo/nom: Make sure trying to Empty a shaped array will die
11:55 Geth rakudo/nom:
11:55 Geth rakudo/nom: my @a[2] = |();     # works
11:55 Geth rakudo/nom: my @b[2] = Empty;   # "Cannot Empty a shaped array as its size is fixed"
11:55 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8733aa5157
11:56 timotimo neat.
12:41 Geth rakudo/nom: 0ee3b7dabb | (Elizabeth Mattijsen)++ | src/core/Map.pm
12:41 Geth rakudo/nom: Make Map.sort about 1.5x faster
12:41 Geth rakudo/nom:
12:41 Geth rakudo/nom: Which also makes Map.perl/gist/Str quite a bit faster
12:41 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0ee3b7dabb
13:01 Geth rakudo/nom: b7c6e73916 | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
13:01 Geth rakudo/nom: Set up multi sub sort a bit smarter
13:01 Geth rakudo/nom:
13:01 Geth rakudo/nom: This should prevent a lot of slipping for the most generic case.
13:01 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b7c6e73916
13:09 ggoebel joined #perl6-dev
14:35 |Tux| This is Rakudo version 2017.01-30-gb7c6e7391 built on MoarVM version 2017.01-10-g76872dbe
14:35 |Tux| csv-ip5xs        2.888
14:35 |Tux| test            12.429
14:35 |Tux| test-t           4.990
14:35 |Tux| csv-parser      13.896
14:35 |Tux| I think my server was busy this morning
16:08 lizmat hmmm.. looks like we lost Geth again ?
16:08 Geth rakudo/nom: c13d0a4c06 | (Elizabeth Mattijsen)++ | 2 files
16:08 Geth rakudo/nom: Simplify Map/Hash.invert
16:08 Geth rakudo/nom:
16:08 Geth rakudo/nom: No special candidate for object hashes is needed
16:08 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c13d0a4c06
16:09 lizmat ah, no, just slow  :-)   brokenchicken??
16:09 brokenchicken lizmat: I noticed sometimes GitHub doesn't immediatelly send the web hook
16:10 brokenchicken lizmat: yeah, in the bot's terminal I see the hook arriving AFTER you said "we lost" :)
16:15 lizmat ah, ok, so it's not Geth about to die  :-)
16:27 diakopter orrrr brokenchicken had to look at the terminal for the message to arrive
16:28 brokenchicken nope, it arrived before I looked :)
16:29 TimToady joined #perl6-dev
16:42 timotimo https://status.github.com/ - many of their timings have flared up a bit very recently, maybe that had something to do with it
16:49 Geth rakudo/nom: 2f69be9144 | (Elizabeth Mattijsen)++ | 2 files
16:49 Geth rakudo/nom: Simplify Map/Hash/TypedHash .pairs / .iterator mess
16:49 Geth rakudo/nom:
16:49 Geth rakudo/nom: The base of iterating over an Associative class, should always be
16:49 Geth rakudo/nom: the .iterator method.  All other things, such as .pairs, follow
16:49 Geth rakudo/nom: from that.
16:49 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2f69be9144
16:59 Geth roast: 2dc968ec59 | (Elizabeth Mattijsen)++ | S09-hashes/objecthash.t
16:59 Geth roast: Fix too strict tests for empty hash listification
16:59 Geth roast: review: https://github.com/perl6/roast/commit/2dc968ec59
17:00 Geth roast/6.c-errata: dfe905a8ce | (Elizabeth Mattijsen)++ | S09-hashes/objecthash.t
17:00 Geth roast/6.c-errata: Fix too strict tests for empty hash listification
17:00 Geth roast/6.c-errata: review: https://github.com/perl6/roast/commit/dfe905a8ce
17:13 brokenchicken m: dd  % .list
17:13 camelia rakudo-moar 2f69be: OUTPUT«().Seq␤»
17:13 brokenchicken m: dd  % .List
17:13 camelia rakudo-moar 2f69be: OUTPUT«().Seq␤»
17:13 brokenchicken Should the title-case List return a List?
17:19 moritz yes
17:21 lizmat brokenchicken moritz : looking at that, please provide tests  :-)
17:22 moritz m: use Test; plan 1; isa-ok {}.List, List;
17:22 camelia rakudo-moar 2f69be: OUTPUT«1..1␤not ok 1 - The object is-a 'List'␤␤# Failed test 'The object is-a 'List''␤# at <tmp> line 1␤# Actual type: Seq␤# Looks like you failed 1 test of 1␤»
17:22 moritz lizmat: ^^ test right there for you
17:27 FROGGS joined #perl6-dev
18:57 ggoebel joined #perl6-dev
18:59 pyrimidine joined #perl6-dev
19:32 brokenchicken huh
19:33 brokenchicken something crashed it :/
19:33 Geth joined #perl6-dev
19:45 Geth rakudo/nom: 6dd542f6de | (Elizabeth Mattijsen)++ | 2 files
19:45 Geth rakudo/nom: Make sure that Map/Hash.List returns a List
19:45 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6dd542f6de
19:56 brokenchicken \o/
19:57 brokenchicken wow much bigger fix than I'd expect it to be
20:05 pyrimidine joined #perl6-dev
20:30 pyrimidine joined #perl6-dev
22:00 travis-ci joined #perl6-dev
22:00 travis-ci Rakudo build errored. Elizabeth Mattijsen 'Make sure that Map/Hash.List returns a List'
22:00 travis-ci https://travis-ci.org/rakudo/rakudo/builds/194585906 https://github.com/rakudo/rakudo/compare/2f69be91446a...6dd542f6de3c
22:00 travis-ci left #perl6-dev
22:00 buggable [travis build above] ✓ All failures are due to timeout (2), missing build log (0), or GitHub connectivity (0).
22:02 pyrimidine joined #perl6-dev
22:11 AlexDaniel joined #perl6-dev
22:18 samcv i'm trying to optimize string search speed for needles of length 2, but i'm running into an issue. some of the nqp tests fail. and i'm not sure how to diagnose, it just kind of hangs
22:18 samcv well it seems to work fine and then it hangs, idk how to run gdb in a test harness
22:19 jnthn samcv: ps to find the ID of the hung process, gdb can be started with a process ID to attach to it
22:19 yoleaux2 22 Jan 2017 23:52Z <MasterDuke> jnthn: do you have an opinion on Nd's in sprintf format strings? e.g., https://irclog.perlgeek.de/perl6-dev/2017-01-22#i_13970314. should they be made to work?
22:19 samcv it freezes right after showing `ok 534 - literal match with quote`
22:19 samcv when running prove -v -e 'nqp' ./t/qregex/01-qregex.t
22:20 samcv thanks jnthn
22:22 jnthn Too tired to backlog here/#moarvm today; will try and catch up tomorrow :)
22:33 samcv hmm jnthn i'm not sure what is going on
22:34 samcv gonna turn on debug and try
22:42 Geth roast: f22a9cc94b | (Zoffix Znet)++ | S12-class/attributes.t
22:42 Geth roast: Remove trailing whitespace
22:42 Geth roast: review: https://github.com/perl6/roast/commit/f22a9cc94b
22:42 samcv yeah it's not failing on something in the code i wrote at least
22:42 Geth rakudo/nom: 700a07747a | (Zoffix Znet)++ | src/Perl6/Actions.nqp
22:42 Geth rakudo/nom: Fix .= initialization of attributes for types w/ `::` in name
22:42 Geth rakudo/nom:
22:42 Geth rakudo/nom: The Perl6::World needs all namespace parts as separate strings in the
22:42 Geth rakudo/nom: Array, but currently it shoves the entire name as one item, which makes
22:42 Geth rakudo/nom: World fail to find the needed type.
22:42 Geth rakudo/nom:
22:42 Geth rakudo/nom: Fix by splitting the name on `::` before handing it to World.
22:42 Geth rakudo/nom:
22:42 Geth rakudo/nom: Bug find: https://irclog.perlgeek.de/perl6/2017-01-23#i_13976744
22:42 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/700a07747a
22:42 Geth roast: afe080a028 | (Zoffix Znet)++ | S12-class/attributes.t
22:42 Geth roast: Test attributes can be initialized with .= when type name has `::`
22:42 Geth roast:
22:42 Geth roast: Rakudo fix: https://github.com/rakudo/rakudo/commit/700a07747a
22:42 Geth roast: Bug find: https://irclog.perlgeek.de/perl6/2017-01-23#i_13976744
22:42 Geth roast: review: https://github.com/perl6/roast/commit/afe080a028
22:51 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/01/23/2017-04-welcome/
23:02 lizmat good night, #perl6-dev!
23:03 jnthn 'night, lizmat
23:03 timotimo night lizmat :)
23:04 jnthn lizmat++ # another weekly
23:05 jnthn m: say (1..20).rotor(3)
23:05 camelia rakudo-moar 700a07: OUTPUT«((1 2 3) (4 5 6) (7 8 9) (10 11 12) (13 14 15) (16 17 18))␤»
23:05 jnthn m: say (1..20).batch(3)
23:05 camelia rakudo-moar 700a07: OUTPUT«((1 2 3) (4 5 6) (7 8 9) (10 11 12) (13 14 15) (16 17 18) (19 20))␤»
23:05 jnthn Why .batch?
23:05 jnthn m: say (1..20).rotor(3, :partial)
23:05 camelia rakudo-moar 700a07: OUTPUT«((1 2 3) (4 5 6) (7 8 9) (10 11 12) (13 14 15) (16 17 18) (19 20))␤»
23:06 jnthn rotor already does this, and plenty more besides
23:09 pyrimidine joined #perl6-dev
23:09 jnthn sleep time &
23:27 samcv who do I talk to about p6lanet syndication?
23:27 samcv want to write an article but would like to set that up first
23:30 bisectable6 joined #perl6-dev
23:30 brokenchicken samcv: https://irclog.perlgeek.de/moarvm/2017-01-10#i_13891857
23:31 brokenchicken https://irclog.perlgeek.de/moarvm/2017-01-10#i_13891857
23:31 brokenchicken gdd
23:32 brokenchicken Well, the link is a few lines below there. I don't know why my stupid ass browser refuses to copy it.
23:32 samcv .ask stmuk can you syndicate my perl 6 blog o/ pl6net? feed https://cry.nu/feed.xml
23:32 yoleaux2 samcv: I'll pass your message to stmuk.
23:32 brokenchicken https://github.com/stmuk/pl6anet.org/blob/master/perlanetrc
23:32 AlexDaniel joined #perl6-dev
23:34 samcv oh
23:34 samcv k adding
23:37 pyrimidine joined #perl6-dev
23:56 timotimo m: Supply.from-list(^20).rotor(3).tap(*.perl.say)
23:56 camelia rakudo-moar 700a07: OUTPUT«No such method 'tap' for invocant of type 'Seq'␤  in block <unit> at <tmp> line 1␤␤»
23:58 timotimo m: Supply.from-list(^20).batch(3).tap(*.perl.say)
23:58 camelia rakudo-moar 700a07: OUTPUT«Too many positionals passed; expected 1 argument but got 2␤  in block <unit> at <tmp> line 1␤␤»
23:58 timotimo not sure why this is?
23:59 timotimo bisectable6: Supply.from-list(^20).batch(3).tap(*.perl.say)
23:59 bisectable6 timotimo, On both starting points (old=2015.12 new=700a077) the exit code is 1 and the output is identical as well
23:59 bisectable6 timotimo, Output on both points: Too many positionals passed; expected 1 argument but got 2␤  in block <unit> at /tmp/ndEkad2kMt line 1␤
23:59 timotimo oooh
23:59 timotimo it wants :elems(3)
23:59 timotimo m: Supply.from-list(^20).batch(:3elems).tap(*.perl.say)
23:59 camelia rakudo-moar 700a07: OUTPUT«[0, 1, 2]␤[3, 4, 5]␤[6, 7, 8]␤[9, 10, 11]␤[12, 13, 14]␤[15, 16, 17]␤[18, 19]␤»

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