Perl 6 - the future is here, just unevenly distributed

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

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

All times shown according to UTC.

Time Nick Message
00:00 timotimo OK
01:12 travis-ci joined #perl6-dev
01:12 travis-ci Rakudo build passed. Zoffix Znet 'Fix .= initialization of attributes for types w/ `::` in name
01:12 travis-ci https://travis-ci.org/rakudo/rakudo/builds/194639582 https://github.com/rakudo/rakudo/compare/6dd542f6de3c...700a07747a39
01:12 travis-ci left #perl6-dev
01:16 pyrimidine joined #perl6-dev
02:12 diakopter joined #perl6-dev
02:17 kalkin- joined #perl6-dev
02:24 pyrimidine joined #perl6-dev
02:40 MasterDuke joined #perl6-dev
02:48 ilbot3 joined #perl6-dev
02:48 Topic for #perl6-dev is now Perl 6 language and compiler development 2.0 | Logs at http://irclog.perlgeek.de/perl6-dev/today
03:02 b2gills I implemented Haskell's 「takeWhile」, and I was wondering where to put it ( I used the name 「accept-while」 because it seems more Perlish )
03:02 b2gills m: https://gist.github.com/b2gills/b877658f38dae51e3c88fbdc0990f581
03:02 camelia rakudo-moar 700a07: OUTPUT«ok 1 - ␤ok 2 - ␤ok 3 - ␤ok 4 - ␤ok 5 - ␤ok 6 - ␤ok 7 - ␤ok 8 - ␤ok 9 - ␤ok 10 - ␤»
03:26 pyrimidine joined #perl6-dev
03:36 geekosaur joined #perl6-dev
03:59 TimToady b2gills: maybe you could call it 'scan', to go with 'skip', and really confuse the Haskellers :)
04:00 TimToady 'scan' being one of the worse-named Haskell features...
04:00 b2gills The main thing is I didn't want to go with take-while, as someone may think that it goes with gather
04:01 TimToady I think I first saw skip/scan in Vax assembly language :)
04:03 b2gills I have a copy of The Second Book of Machine Language, and a 8085 users manual
04:03 TimToady and it seems a bit anti-social to make the positive scanner so much longer than the negative...
04:05 TimToady also, accept has some unfortunate socket overloadings
04:05 b2gills I tried it with adding prefix:<!>, and just using `-> |args { not condition |args }`
04:06 b2gills I'm not sure which would be the better of the three as far as speed/memory are concerned
04:09 TimToady though I guess our skip just takes a number of elements to discard
04:10 b2gills perhaps obtain or acquire
04:10 TimToady well, head is the positive counterpart of skip, I guess
04:11 TimToady m: say (1..100).head(10)
04:11 camelia rakudo-moar 700a07: OUTPUT«(1 2 3 4 5 6 7 8 9 10)␤»
04:11 TimToady m: say (1..100).skip(10)
04:11 camelia rakudo-moar 700a07: OUTPUT«(11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 …»
04:12 * TimToady is gonna have to learn this language one of these days...
04:12 b2gills I like discard-while for dropWhile
04:13 TimToady what are you doing about the necessity of 1-element lookahead?
04:14 TimToady and is that gonna impact laziness/caching?
04:15 b2gills I forgot to re-add .lazy
04:15 TimToady that's what .lazy-if is for :)
04:17 b2gills I meant `method is-lazy() { $!source.is-lazy }`
04:20 b2gills antonyms of reject: retain admit embrace uphold keep save choose
04:30 TimToady well, allow is often the opposite of reject
04:31 TimToady 'course we could go with head-while and skip-while, just for consistency, but that's a little odd
04:45 b2gills Technically since head and skip currently only know about numberish values, we could just add a Callable candidate ... or not
04:48 TimToady maybe even with a :while named arg
04:57 MasterDuke joined #perl6-dev
05:02 MasterDuke if anyone is interested, here's a perf report of building rakudo with target=parse. https://gist.github.com/MasterDuke17/aff44a22a3a22d3ce0bf476d1d0ba537
05:09 samcv would be nice is we could rewrite some of the nqp tests to use the new TAP stuff i heard pmurias added
05:12 * b2gills .oO( wish I had taken a break 3 hours ago, would have liked to see todays episode of Lucifer )
05:16 samcv looks like a lot of them do, gonna ignore the other ones that i'm getting hangs on
06:31 pyrimidi_ joined #perl6-dev
06:50 RabidGravy joined #perl6-dev
08:29 |Tux| This is Rakudo version 2017.01-34-g700a07747 built on MoarVM version 2017.01-10-g76872dbe
08:29 |Tux| csv-ip5xs        2.883
08:29 |Tux| test            12.521
08:29 |Tux| test-t           4.993
08:29 |Tux| csv-parser      13.719
08:31 AlexDaniel joined #perl6-dev
08:33 lizmat Files=1166, Tests=56206, 191 wallclock secs (11.42 usr  4.52 sys + 1156.13 cusr 112.10 csys = 1284.17 CPU)
08:55 lizmat morning, #perl6-dev
08:59 * lizmat wonders where timotimo added the redo support for whenever
09:09 Geth rakudo/nom: f6531d366f | (Elizabeth Mattijsen)++ | src/core/Any-iterable-methods.pm
09:09 Geth rakudo/nom: Allow Any.batch(:elems)
09:09 Geth rakudo/nom:
09:09 Geth rakudo/nom: To make it more in line with the reactive Supply.batch(:elems)
09:09 Geth rakudo/nom: counterpart.
09:09 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f6531d366f
09:14 Geth rakudo/nom: 56947275c5 | (Elizabeth Mattijsen)++ | src/core/Supply.pm
09:14 Geth rakudo/nom: Add Supply.rotor($batch) candidate
09:14 Geth rakudo/nom:
09:14 Geth rakudo/nom: To prevent confusion with Any.rotor($batch) candidate.
09:14 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/56947275c5
09:34 lizmat afk for a few hours&
09:34 timotimo lizmat: it lives in/near the add-whenever-block thing
09:54 nine -win 10
10:30 brokenchicken RT's weird. RT#130629 doesn't have lizmat's response that I see on mailing list but does have smsl's response, which isn't on mailing list :/
10:30 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=130629
10:30 timotimo ugh :(
10:45 brokenchicken m: dd (Empty xx 12)
10:45 camelia rakudo-moar 569472: OUTPUT«(Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty)␤»
10:45 brokenchicken m: dd (slip() xx 12)
10:45 camelia rakudo-moar 569472: OUTPUT«()␤»
10:45 brokenchicken m: dd slip() === Empty
10:45 camelia rakudo-moar 569472: OUTPUT«Bool::True␤»
11:41 lizmat m: dd slip() =:= Empty
11:41 camelia rakudo-moar 569472: OUTPUT«Bool::True␤»
11:42 lizmat wow
11:42 lizmat hmmm
11:42 lizmat Empty is defined as a constant, maybe that has something to do with that
11:44 brokenchicken Yeah, one version goes through the thunked version and the other doesn't
11:44 brokenchicken Not sure if it's really a problem though. If I literally typed (Empty xx 12) I'd want a bunch of empties and not nothing
11:45 brokenchicken m: my $e = Empty; dd ($e xx 12)
11:45 camelia rakudo-moar 569472: OUTPUT«()␤»
11:46 brokenchicken m: constant z = Empty; dd (z xx 12)
11:46 camelia rakudo-moar 569472: OUTPUT«(Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty, Empty)␤»
11:46 brokenchicken hmmm
11:48 lizmat timotimo: are you sure you pushed it?  your last commit is https://github.com/rakudo/rakudo/commit/f97d5c2aafc8427bfce
11:48 lizmat which only implements next ?
11:49 timotimo it's in a branch
11:49 timotimo i was wondering why you said it was already in
11:49 timotimo https://github.com/rakudo/rakudo/pull/998
11:53 lizmat aahh  :-)
11:53 lizmat timotimo: I said it because it was in the P6W  :-)
11:54 timotimo oh, well, the p6w is lying, clearly! ;)
11:55 lizmat not anymore  :-)
11:56 timotimo that's good
12:04 lizmat timotimo: so what happens if a redo happens, and it's in $redoable, and then a next is done?
12:04 timotimo well, hopefully that works. i didn't write a test for that combination
12:05 lizmat I'm trying to see if I can apply the same trick to Any-iterable and speed up all map/fors
12:05 timotimo m: react { whenever Supply.from-list(^10) { say "doing $_"; redo unless $++ %% 2; next unless $++ %% 3 } }
12:05 camelia rakudo-moar 569472: OUTPUT«doing 0␤doing 1␤===SORRY!===␤redo without loop construct␤»
12:05 timotimo oh, it's not merged, of course
12:05 timotimo right, that'd be cool if that could work
12:28 lizmat $ 6 'react { whenever Supply.from-list(^10) { print "$_ "; last } }'
12:28 lizmat 0 1 2 3 4 5 6 7 8 9
12:29 lizmat timotimo: is that what we expect?  I would think it would only say "0" ?
12:29 lizmat m: react { whenever Supply.from-list(^10) { print "$_ "; last } }
12:29 camelia rakudo-moar 569472: OUTPUT«0 ===SORRY!===␤last without loop construct␤»
12:29 lizmat ok, so it would be an improvement
12:33 lizmat timotimo: added some comments
12:36 jnthn Looks like it's not untapping the supply or something
12:37 lizmat jnthn: so you agree it should just say "0" with the last ?
12:37 jnthn yes
13:02 pyrimidine joined #perl6-dev
13:08 pyrimidine joined #perl6-dev
13:12 timotimo good thing i pr'd and marked "needs review" :)
13:26 * brokenchicken likes to write tests first for stuff like that
13:36 Geth rakudo/nom: a2fbe20bdc | (Elizabeth Mattijsen)++ | 3 files
13:36 Geth rakudo/nom: Reorganize Set/SetHash/Setty a bit
13:36 Geth rakudo/nom:
13:36 Geth rakudo/nom: The base functionality is the .iterator method.  By making sure Set
13:36 Geth rakudo/nom: and SetHash have their own iterator method, we can more .pairs to
13:36 Geth rakudo/nom: Setty.  .antipairs could be moved to Setty anyway, as there is no
13:36 Geth rakudo/nom: difference between Set and SetHash for that.  Also make sure that
13:36 Geth rakudo/nom: SetHash.values|pairs|kv have their own iterator.
13:36 Geth rakudo/nom:
13:37 Geth rakudo/nom: Final result: SetHash.iterator|pairs|antipairs|kv|values 20x faster
13:37 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a2fbe20bdc
13:37 Geth rakudo/whenever_last_redo: 48 commits pushed by lizmat++
13:37 Geth rakudo/whenever_last_redo: review: https://github.com/rakudo/rakudo/compare/cb7dcee11a...334b8b2176
13:37 lizmat oops, that last bit wasn't intended  :-)
13:37 lizmat but guess doesn't hurt ?
13:39 pyrimidine joined #perl6-dev
13:43 timotimo wow, those are all the commits to nom that happened since i started that branch?!
13:43 timotimo that's crazy i didn't realize i started it so far back
13:43 lizmat apparently
13:43 timotimo feels like it was just the day before yesterday
13:44 brokenchicken well, almost, it's two days before yesterday :)
13:45 timotimo maybe i accidentally started the branch from a very old commit
13:46 brokenchicken No, there have been that many commits in the past 4 days.
13:56 brokenchicken NeuralAnomaly: status
13:56 NeuralAnomaly brokenchicken, [✘] Next release will be in 3 weeks and 4 days. Since last release, there are 10 new still-open tickets (10 unreviewed and 0 blockers) and 41 unreviewed commits. See http://perl6.fail/release/stats for details
13:57 brokenchicken NeuralAnomaly: status
13:57 NeuralAnomaly brokenchicken, [✘] Next release will be in 3 weeks and 4 days. Since last release, there are 10 new still-open tickets (10 unreviewed and 0 blockers) and 33 unreviewed commits. See http://perl6.fail/release/stats for details
13:57 brokenchicken And 33 of them were since release
14:00 timotimo wow.
14:02 lizmat yeah, I had a bit of backlog that I didn't want to commit before the release  :-)
14:03 timotimo mhm
14:06 pyrimidine joined #perl6-dev
14:22 ggoebel joined #perl6-dev
14:38 * mst wins
14:41 mst brokenchicken: hrm, benchable6 and friends are on a different host to the others?
14:41 brokenchicken yeah
14:41 brokenchicken That's AlexDaniel's server
14:43 Geth rakudo/nom: e995107538 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
14:43 Geth rakudo/nom: Make Baggy.kv about 15% faster
14:43 Geth rakudo/nom:
14:43 Geth rakudo/nom: This was actually more about getting the .kv in line with all of the
14:43 Geth rakudo/nom: other implementations of .kv
14:43 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e995107538
14:45 mst AlexDaniel: any chance you can get a consistent ident for your bots so I can +v them with a single mask?
14:47 AlexDaniel mst: well, ideally they should be identified as “whateverable”, but only 5 simultaneous logins are allowed on freenode
14:47 AlexDaniel if that is what you're asking
14:48 AlexDaniel so what should I do?
14:48 mst eh?
14:49 mst AlexDaniel: what-bug, what-com, etc. (for buggable6, commitable6) would work nicely
14:50 mst just like zoffix's bots all match *!*zofbot-*@perl6.party etc.
14:57 pyrimidine joined #perl6-dev
15:04 committable6 joined #perl6-dev
15:04 evalable6 joined #perl6-dev
15:04 benchable6 joined #perl6-dev
15:04 bisectable6 joined #perl6-dev
15:04 unicodable6 joined #perl6-dev
15:04 statisfiable6 joined #perl6-dev
15:04 AlexDaniel mst: like this?
15:07 b2gills m: say <include exclude> X~ '-' X~ <while until> # TimToady how about include/exclude
15:07 camelia rakudo-moar e99510: OUTPUT«(include-while include-until exclude-while exclude-until)␤»
15:07 AlexDaniel I thought that you can do it by nick and just use “whateverable” for that, but okay
15:08 mst blam
15:09 mst # access #perl6-dev add *!~*-able@2001:41d0:2:5eb5:: +V
15:10 brokenchicken those are pretty long names
15:11 brokenchicken Fitting Perl 6 code into 80-col width is already somewhat a game due to scopes being added quite fast
15:11 mst AlexDaniel: I can, but then I'd have to add access entries for every bot manually, and since you don't bother telling me when you add a bot, what we had was 'half a set of manual entries and some missing ones'
15:11 mst now I've cleaned everything up and consolidated down to three entries for each channel, two for zoffix's bots and one for yours
15:11 mst and now neither of you need to (ahem) bug me to get configuration for a new one
15:12 mst *and* we've freed up a bunch of access list slots, which are not infinite
15:12 mst I mean, sure, I *can* "do it by nick", but I don't like copy-paste administration any more than I like copy-paste coding :P
15:13 AlexDaniel it doesn't work when you're identified for one nick but use another?
15:13 mst what?
15:13 AlexDaniel ok-ok nevermind, I don't want you to scream at me again…
15:14 mst oh, you have an *account* for them that they all log into?
15:14 AlexDaniel yes
15:14 pyrimidine joined #perl6-dev
15:15 mst yeah, had you told me that, I could've done it that way instead
15:15 b2gills brokenchicken: to be fair it is *only* 1½ times longer than Haskell's takeWhile and dropWhile
15:15 AlexDaniel no not really, what you did is right
15:15 AlexDaniel as I've said, it's limited to 5 simultaneous logins only
15:15 AlexDaniel and I'm already at 6
15:15 mst ah, *that's* what you were talking about
15:15 mst we were discussing nicks and idents and hostnames at the time
15:16 mst there's all sorts of limits for various shit, so I didn't catch what you meant
15:16 mst the trouble with me having spent a long time running IRC stuff is that I use the language precisely, and then when somebody who's not as experienced uses terms that appear to them to be about right, I sometimes completely fail to map it across
15:16 mst (that is -not- meant to be a criticism, except perhaps of me)
15:18 brokenchicken b2gills: what are these methods for again?
15:18 Geth rakudo/nom: ad908065e3 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
15:18 Geth rakudo/nom: Introducing R:It.Mappy-kv-from-pairs
15:18 Geth rakudo/nom:
15:18 Geth rakudo/nom: Abstract handling of .kv logic on hashes in which the actual key/value
15:18 Geth rakudo/nom: are stored in a Pair of the value (such as object hashes and baggies)
15:18 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ad908065e3
15:19 Geth rakudo/nom: 4ef37cf9a5 | (Elizabeth Mattijsen)++ | 2 files
15:19 Geth rakudo/nom: Use new R:It.Mappy-kv-from-pairs where possible
15:19 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4ef37cf9a5
15:19 mst AlexDaniel: anyway, thanks for poking things, and shout if there's anything else like this that isn't doing the right thing
15:20 AlexDaniel mst: what's the idea behind voicing the bots?
15:20 mst it's fairly traditional, and you'll now find that if you do '/names' (or /n on most clients) the bots are listed at the top
15:20 mst makes it easier to find 'em
15:20 AlexDaniel mst: for example, there's dalek, synopsebot6 and ilbot3
15:21 AlexDaniel and even camelia
15:21 AlexDaniel they don't seem to be voiced
15:21 mst nobody asked yet
15:21 mst synopsebot6 is on the same host as the zofbots, so that could be sorted just by changing ident, same as dalek
15:22 mst and camelia I can special case
15:22 mst seems camelia was setup for perl6 but not here
15:23 b2gills brokenchicken: 「(^20).include-while(* !== 5).List eqv (^5).List」  and 「(^20).exclude-while(* !== 5).List eqv (5..^20).List」
15:24 AlexDaniel shadowpaste is also a bot on #perl6
15:24 mst brokenchicken: is synopsebot6 yours? whose is dalek?
15:26 brokenchicken nope
15:26 mst mm
15:26 brokenchicken I think they're "community managed"
15:30 brokenchicken yeah, both dalek and synopse are on hack
15:32 dalek joined #perl6-dev
15:33 brokenchicken TIL synopsebot is a p6 bot :o
15:33 brokenchicken oh, but it doesn't use IRC::Client
15:34 mst ah, I see you already did dalek, excellent
15:34 synopsebot6 joined #perl6-dev
15:34 brokenchicken and done
15:37 [Coke] Do we even want dalek here anymore now that we have geth?
15:37 AlexDaniel for now, yes
15:38 AlexDaniel some repos are still using it
15:38 AlexDaniel .tell dalek Please switch this bot to Geth
15:38 yoleaux2 AlexDaniel: I'll pass your message to dalek.
16:08 ggoebel joined #perl6-dev
17:07 travis-ci joined #perl6-dev
17:07 travis-ci Rakudo build errored. Elizabeth Mattijsen 'Make Baggy.kv about 15% faster
17:07 travis-ci https://travis-ci.org/rakudo/rakudo/builds/194838757 https://github.com/rakudo/rakudo/compare/a2fbe20bdcb9...e99510753809
17:07 travis-ci left #perl6-dev
17:07 buggable [travis build above] ✓ All failures are due to timeout (1), missing build log (0), or GitHub connectivity (0).
17:23 perlpilot joined #perl6-dev
18:50 FROGGS joined #perl6-dev
19:32 b2gills joined #perl6-dev
19:40 Geth roast: d00fc0f99e | (Zoffix Znet)++ | README.md
19:40 Geth roast: Mention fudge --keep-exit-code option
19:40 Geth roast: review: https://github.com/perl6/roast/commit/d00fc0f99e
19:43 Geth roast: 18ca2c1273 | (Zoffix Znet)++ | README.md
19:43 Geth roast: Fix typo
19:43 Geth roast: review: https://github.com/perl6/roast/commit/18ca2c1273
19:54 Geth nqp: MasterDuke17++ created pull request #343: Support Nd's in sprintf format strings
19:54 Geth nqp: review: https://github.com/perl6/nqp/pull/343
19:56 brokenchicken MasterDuke: did TimToady say we didn't want this stuff on fastpath? I wasn't really paying attention but I recall something said on this
19:58 brokenchicken Also, every time I see nqp::radix() I'm reminded of Zefram and the issue of cut off numbers
19:58 brokenchicken m: printf "%033", 42
19:58 camelia rakudo-moar 4ef37c: OUTPUT«Directive 033 is not valid in sprintf format sequence %033␤␤»
19:58 brokenchicken m: printf "%033d\", 42
19:58 camelia rakudo-moar 4ef37c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"' ␤at <tmp>:1␤------> 3printf "%033d\", 427⏏5<EOL>␤    expecting any of:␤        postfix␤»
19:58 brokenchicken ugh
19:58 brokenchicken m: printf "%033d", 42
19:58 camelia rakudo-moar 4ef37c: OUTPUT«000000000000000000000000000000042»
19:58 brokenchicken m: printf "%03\x[308]3d", 42
19:58 camelia rakudo-moar 4ef37c: OUTPUT«Directive d not applicable for type Int␤␤»
20:02 brokenchicken that's a crappy error but I'd guess the new version will silently succeed, using effectively "%03d"
20:16 samcv i would like to see a benchmark of new vs old speed tbh
20:17 samcv wouldn't making ascii numbers fast in radix be the best way to fix any potential performance issues?
20:23 Geth nqp: 518a38ac87 | MasterDuke17++ | src/HLL/sprintf.nqp
20:23 Geth nqp: Support Nd's in sprintf format strings
20:23 Geth nqp: review: https://github.com/perl6/nqp/commit/518a38ac87
20:23 Geth nqp: c22e9c65cb | lizmat++ | src/HLL/sprintf.nqp
20:23 Geth nqp: Merge pull request #343 from MasterDuke17/support_Nds_in_sprintf
20:23 Geth nqp:
20:23 Geth nqp: Support Nd's in sprintf format strings
20:23 Geth nqp: review: https://github.com/perl6/nqp/commit/c22e9c65cb
20:25 samcv u: trillion
20:25 unicodable6 samcv, U+16B61 PAHAWH HMONG NUMBER TRILLIONS [No] (????)
20:25 samcv m: say ????
20:25 camelia rakudo-moar 4ef37c: OUTPUT«1000000000000␤»
20:26 pyrimidine joined #perl6-dev
20:28 raiph joined #perl6-dev
20:31 samcv m: 0x1CD1.uniprop('sc').say
20:31 camelia rakudo-moar 4ef37c: OUTPUT«Inherited␤»
20:31 moritz m: say 0x16B61.unival
20:31 camelia rakudo-moar 4ef37c: OUTPUT«1000000000000␤»
20:32 samcv m: 0x0363.uniprop('sc').say
20:32 camelia rakudo-moar 4ef37c: OUTPUT«Inherited␤»
20:41 Geth rakudo/nom: 736ef1ab45 | (Elizabeth Mattijsen)++ | 4 files
20:41 Geth rakudo/nom: Create specific skip-one's for "difficult" iterators
20:41 Geth rakudo/nom:
20:41 Geth rakudo/nom: Specifically the consumers of Rakudo::Iterator::Mappy that cannot
20:41 Geth rakudo/nom: have a "simple" skip-one.
20:41 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/736ef1ab45
20:41 Geth rakudo/nom: 54f647d127 | (Elizabeth Mattijsen)++ | src/core/Rakudo/Iterator.pm
20:41 Geth rakudo/nom: Add a generic skip-one to R:It:Mappy
20:41 Geth rakudo/nom:
20:41 Geth rakudo/nom: This makes all uses of .skip on iterators based on this role about
20:41 Geth rakudo/nom: 15% faster.
20:41 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/54f647d127
20:48 raiph m: role A { method m {} }; role B does A {}; class C does A does B {} # curious message; at least LTA
20:48 camelia rakudo-moar 4ef37c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Method 'm' must be resolved by class C because it exists in multiple roles (B, A)␤at <tmp>:1␤»
20:48 samcv i've been thinking about implementing the script extensions property
20:49 samcv and how to store the data in MVM. maybe have a bitmap type thing where 1 = Deva, 2=Dupl, 4=Greek etc, and then just add up the total
20:49 samcv and then we can fast path checking if that property includes the requested name
20:50 samcv which is the most common case of using it
20:50 samcv it's the only property I know of which holds multiple values
20:52 raiph ^^^ my `m: role ...` line above is a golf of bdfoy's recent SO Q
20:54 raiph hi samcv, i'm curious what "script extensions" are and who uses them?
20:55 raiph (looking right now)
20:55 samcv for example
20:55 samcv 0951          ; Beng Deva Gran Gujr Guru Knda Latn Mlym Orya Shrd Taml Telu # Mn       DEVANAGARI STRESS SIGN UDATTA
20:55 samcv this one character is used with all these scripts
20:55 samcv so if you wanted to do /<:Deva>/ to match it, it would currently not work
20:55 samcv m: 0x0951.uniprop('sc').say
20:55 camelia rakudo-moar 54f647: OUTPUT«Inherited␤»
20:56 samcv imo we should check script and script extension when doing <:scriptname>
20:56 samcv but script values can only have one value
20:57 samcv thouhg you could still do <:Script<Deva>> and force it to only check script property if for some reason you want that
20:58 raiph i now feel up to speed :)
20:59 samcv cool
20:59 samcv m: 0x32C0.uniprop('sc').say
20:59 camelia rakudo-moar 54f647: OUTPUT«Common␤»
20:59 samcv so that is a Hani symbol that means month january
20:59 samcv if you did <:Hani> it wouldn't match, but the user probably would be suprised by why it did not match
21:00 raiph does the script extensions list include a dupe of the original script?
21:00 samcv no
21:00 samcv that's why it's called script extensions :P
21:00 samcv an addition to
21:01 raiph so what i'd perlishly expect is
21:01 raiph 1. <:Deva> matched either script or any entry in extensions
21:02 samcv what comes after 1?
21:02 raiph 2. <:Script<Deva>> matched Deva in script
21:03 samcv scx is the short name of script extensions btw
21:03 samcv yeah that's what I feel too raiph
21:03 raiph 3. <:SCX<Deva Beng>> matched extension containing Deva and Beng
21:03 raiph or something like that
21:04 samcv and?
21:04 raiph i think that's it
21:04 samcv not or?
21:04 Geth rakudo/nom: 5db0b2964b | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
21:04 Geth rakudo/nom: Make Baggy.kxxv about 30% faster
21:04 Geth rakudo/nom:
21:04 Geth rakudo/nom: By rewriting using nqp:: ops
21:04 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5db0b2964b
21:04 samcv well I guess you can do <:scx<Deva> + :scx<Beng>> i think that's the syntax
21:05 samcv or something, haven't done it in a bit, would have to check my module
21:05 samcv idk why the hell you'd want to match multiple script extension values though... really a corner case
21:06 samcv so I don't think we should focus too much on that. can do <:scx<Deva>>|<:scx<Beng>> or something
21:06 raiph yeah the `and` rather than `or` was not based on RL needs
21:07 samcv i mean
21:07 samcv <:Script<Beng Devi>> i would think that would match both of them
21:07 samcv since only scx has multiple values
21:07 raiph it was just an arbitrary pick so let's pretend I didn't suggest that bit :)
21:07 samcv kk
21:07 samcv idk maybe wa can already do this, i've never tried to put multiple things there
21:08 samcv m: say 'a' /<:Script<Arabic Latin>>l
21:08 camelia rakudo-moar 54f647: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3say 'a' /<:Script<Arabic Latin>>7⏏5l␤    expecting any of:␤        infix␤        infix stopper␤        postfix␤        statement end␤        state…»
21:08 samcv m: say 'a' /<:Script<Arabic Latin>>
21:08 camelia rakudo-moar 54f647: OUTPUT«Value of type List uselessly passed to val()␤  in block <unit> at <tmp> line 1␤Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually throw…»
21:08 samcv m: say 'a' /<:Script<Arabic>>
21:08 camelia rakudo-moar 54f647: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5a' (indicated by ⏏)␤  in block <unit> at <tmp> line 1␤␤Actually thrown at:␤  in block <unit> at <tmp> line 1␤␤»
21:08 samcv m: say 'a' /<:Script<Arabic>>/
21:08 camelia rakudo-moar 54f647: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3say 'a' /<:Script<Arabic>>/7⏏5<EOL>␤    expecting any of:␤        prefix␤        term␤»
21:08 samcv m: say 'a' ~~ /<:Script<Arabic>>/
21:08 camelia rakudo-moar 54f647: OUTPUT«Nil␤»
21:08 * samcv hits self on head
21:08 samcv m: say 'a' ~~ /<:Script<Arabic Latin>>/
21:08 camelia rakudo-moar 54f647: OUTPUT«Nil␤»
21:08 raiph heh
21:09 samcv m: say 'a' ~~ /<:Script<Latin Arabic>>/
21:09 camelia rakudo-moar 54f647: OUTPUT«Nil␤»
21:09 samcv m: say 'a' ~~ /<:sc<Latin>>/
21:09 camelia rakudo-moar 54f647: OUTPUT«Nil␤»
21:09 samcv uhmm
21:09 raiph when it works, i agree it's best with OR logic as the assumption if it's a list
21:09 samcv m: 'a'.uniprop('sc').say
21:09 camelia rakudo-moar 54f647: OUTPUT«Latin␤»
21:10 samcv m: say 'a' ~~ /<:Latin>/
21:10 camelia rakudo-moar 54f647: OUTPUT«「a」␤»
21:10 samcv m: say 'a' ~~ /<:Script<Latin>>/
21:10 camelia rakudo-moar 54f647: OUTPUT«「a」␤»
21:10 samcv oh yeah. there's a bug where sc != Script
21:10 samcv m: say 'a' ~~ /<:Script<Latin>>/
21:10 camelia rakudo-moar 54f647: OUTPUT«「a」␤»
21:10 samcv m: say 'a' ~~ /<:Script<Arabic Latin>>/
21:10 camelia rakudo-moar 54f647: OUTPUT«Nil␤»
21:10 samcv m: say 'a' ~~ /<:Script<Latin Arabic>>/
21:10 camelia rakudo-moar 54f647: OUTPUT«Nil␤»
21:11 samcv idk what it tries to even do if anything
21:11 samcv may just not know wtf to do with two values
21:11 samcv m: say 'a' ~~ /<:Script<Latin Latin>>/
21:11 camelia rakudo-moar 5db0b2: OUTPUT«Nil␤»
21:11 samcv yeah
21:11 raiph m: say 'a' ~~ /<:Script<'Latin Arabic'>>/
21:11 camelia rakudo-moar 5db0b2: OUTPUT«Nil␤»
21:12 raiph m: say 'a' ~~ /<:Script<<'Latin Arabic'>>>/
21:12 camelia rakudo-moar 5db0b2: OUTPUT«Nil␤»
21:12 raiph m: say 'a' ~~ /<:Script('Latin Arabic')>/
21:12 camelia rakudo-moar 5db0b2: OUTPUT«Nil␤»
21:12 raiph m: say 'a' ~~ /<:Script('Latin')>/
21:12 camelia rakudo-moar 5db0b2: OUTPUT«「a」␤»
21:17 Geth rakudo/nom: 2922ec49ff | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
21:17 Geth rakudo/nom: Make Baggy.antipairs about 25% faster
21:17 Geth rakudo/nom:
21:17 Geth rakudo/nom: By rewriting it in nqp:: ops, and using Pair.antipair
21:17 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2922ec49ff
21:28 pyrimidine joined #perl6-dev
21:41 Geth rakudo/nom: e5ca5c278c | (Elizabeth Mattijsen)++ | 3 files
21:41 Geth rakudo/nom: Give Baggy an iterator, move .pairs to QuantHash
21:41 Geth rakudo/nom:
21:41 Geth rakudo/nom: Because now we can.
21:41 Geth rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e5ca5c278c
21:47 * samcv curses the heavens
21:47 samcv m: 129342.uniprop('Prepend').say
21:47 camelia rakudo-moar 2922ec: OUTPUT«E_Base␤»
21:48 samcv ugh. my constant issue lol. that the property _value_'s and the property _names_ comingle
22:14 jnthn samcv: I'm guessing in your re-impl of ucd2c we shall *not* be repeating this? :)
22:14 samcv yep
22:15 samcv I still haven't heard back on my grant proposal though :(
22:15 brokenchicken :/ weird
22:16 samcv gonna send him another email
22:17 samcv any opinion on the other thing i mentioned jnthn , regarding script extensions
22:18 samcv storing them like 1 = Greek 2 = Latin. so Greek+Latin would be 3
22:18 samcv at least for storing in MVM
22:25 lizmat samcv: I was wondering about your grant application, haven't seen anything about it  :-(
22:25 samcv yeah i sent another email. last i heard back was a week ago
22:26 jnthn samcv: It sounds reasonable at first blush.
22:26 jnthn But I'm more than a little tired, so... :)
22:26 brokenchicken samcv: ask [Coke] to poke around about it. He's a TPF member IIRC
22:33 [Coke] I'm guessing samcv missed the submission deadline for this run
22:33 [Coke] everything goes through makoto, and he hasn't mentioned it.
22:34 jnthn Hm, can we do it from the Perl 6 core dev fund? It meets those reqs, IMO.
22:34 samcv so i may have to wait an extra month or how long is the next time period?
22:34 [Coke] every two months is the general fund.
22:34 samcv i tried to submit it as an ian hague grant. and he said:
22:34 samcv I learned that Ian Hague fund has no allocatable money. I am discussing the
22:34 samcv best option with the Board.
22:34 samcv idk if what i did was wrong
22:34 [Coke] I don't see why it couldn't be addressed from one of the other funds - but then it isn't a GC grant.
22:35 [Coke] the core dev fund is different.
22:35 jnthn samcv: It was sensible in so far as that *was* the right thing to do. But recently that fund was indeed exhausted.
22:35 samcv ah ok
22:35 brokenchicken :(
22:35 jnthn (But you couldn't have reasonably known that from what's on the TPF site.)
22:35 samcv yea
22:35 jnthn But the Perl 6 core dev fund was the longer term solution for funding Perl 6 core dev work
22:35 [Coke] jnthn: well, based on prposed work - not sure if all the grants allocated are still *really* in progress.
22:35 samcv i sent the app to karen which is what TPF site said. and then just didn't hear back
22:35 [Coke] karen doesn't work there anymore.
22:36 samcv oh
22:36 samcv the site needs to be. updated
22:36 jnthn There's More Than One Way To Be Outdated :P
22:36 [Coke] are you talking with Makoto now?
22:36 [Coke] samcv: it has been
22:36 samcv yeah i am [Coke]
22:36 samcv it has not. see http://www.perlfoundation.org/ian_hague_perl_6_development_grants
22:36 [Coke] ok. Keep doing that, he's the best person to talk to
22:36 [Coke] samcv: see http://www.perlfoundation.org/contact_us
22:37 samcv grant page: Please submit this form when completed to Karen Pauley, President of TPF, karen-at-perlfoundation.org
22:37 [Coke] I'll let M. know about the email on the hague page.
22:37 samcv thanks
22:37 jnthn [Coke]++
22:37 [Coke] samcv: also, feel free to ask people here when you have questions, as there are least 3 of us who are involved somehow. (like you're doing now.)
22:37 * jnthn has no idea of the current status of the Perl 6 core dev fund, tbh.
22:38 jnthn (As in, how much is in the pot)
22:38 jnthn Guess I get to find out in a few weeks when I need to ask that. :)
22:38 brokenchicken I'm getting mixed info TBH. Some people say there's plenty of money. Others say there's no money.
22:38 samcv heh
22:38 samcv maybe they're both right ;P
22:38 samcv also aren't those kind of subjective words
22:38 [Coke] brokenchicken: there are different buckets of money. so they're probably all right.
22:39 [Coke] (hague grant, core fund, general grants)
22:40 samcv was hoping to find out in a week or two so I could know whether or not I need to get or job, or could do that after working on the grant
22:42 brokenchicken [Coke]: is there a publicly available sum for "might be used for Perl 6 grants", regardless of which bucket the funds are from or is this stuff secret?
22:42 lizmat samcv: so which bucket were you going for ?
22:42 samcv i submitted an email for the ian hague grant according to instructions on http://www.perlfoundation.org/ian_hague_perl_6_development_grants
22:42 samcv so 1. the email it says to email on there, person doesn't work there anymore. 2. there's no money in that fund
22:43 brokenchicken I went with whatever the link was on P6Weekly; prolly a general grant. It asked for Perl 5 Pod submitted on a web page; no emails.
22:43 lizmat ah, ok, that's outside of the two-monthly grant applications, afaik
22:44 * lizmat is tired and goes to bed
22:44 lizmat good night, #perl6-dev!
22:44 brokenchicken night
22:45 samcv night lizmat
22:46 timotimo gnite lizmat
22:47 jnthn 'night, lizmat o/
22:52 [Coke] brokenchicken: as far as I know the buckets are controlled by the treasurer. I'm on the GC, and I have no idea how much is in that bucket.
22:53 [Coke] so, no, it's not common knowledge. (I assume other board members and maybe the GC chair know)
22:53 timotimo GC is what again? Grand Committee?
22:53 timotimo Grand Coalition
22:53 timotimo Grant Committee, probably
22:53 [Coke] grants committee
22:53 samcv Garbage Collector
22:53 timotimo Garden Communists
22:54 samcv heh
22:54 [Coke] global
22:54 [Coke] ... and then I lost it
22:55 samcv it's faster to put functions before where they're actually used right?
22:55 samcv as far as compiling speed, or does it not matter?
22:55 jnthn Barely matters
22:55 brokenchicken OK. Thanks.
22:56 jnthn (We poke an entry into a "check it later" hash if it isn't there, but it's really not particularly costly)
22:56 samcv TPF: https://i.ytimg.com/vi/odEIOnI64Hw/hqdefault.jpg
23:02 [Coke] samcv++
23:03 samcv ah i found a bug. err. maybe this. yeah. i think i already knew this existed
23:03 samcv m: my $var = 0x0600.chr ~ 'a'; say $var.chars; say $var.uninames
23:03 camelia rakudo-moar e5ca5c: OUTPUT«2␤(ARABIC NUMBER SIGN LATIN SMALL LETTER A)␤»
23:03 samcv m: my $var = 0x0600.chr ~ '2'; say $var.chars; say $var.uninames
23:03 camelia rakudo-moar e5ca5c: OUTPUT«1␤(ARABIC NUMBER SIGN DIGIT TWO)␤»
23:04 samcv it's cause numbers have NFG_QC = False, but numbers have True. and currently prepending characters only work for characters with NFG_QC=False after them
23:07 jnthn Don't prepends have NFG_QC=False?
23:07 jnthn That should be enough, no?
23:07 jnthn (Enough to end up doing the full set of checks, I mean)
23:08 * jnthn goes to get some much-needed rest :)
23:08 jnthn 'night
23:10 samcv nope jnthn
23:10 samcv prepends have false, and if the one after them has True, then it thinks all is well and good
23:10 samcv if it's false it checks and knows it shouldn't break
23:36 samcv hm thinking i should try installing swift

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