Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-01-10

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:06 tokuhirom joined #perl6
00:09 dalek niecza: 701e7eb | (Solomon Foster)++ | lib/CORE.setting:
00:09 dalek niecza: Add sub pairs.
00:09 dalek niecza: review: https://github.com/sorear/niecza/commit/701e7eb5b4
00:09 dalek niecza: 6e964d2 | (Solomon Foster)++ | t/spectest.data:
00:09 dalek niecza: Turn on S32-array/pairs.t.
00:09 dalek niecza: review: https://github.com/sorear/niecza/commit/6e964d2e43
00:16 tokuhirom joined #perl6
00:28 molaf joined #perl6
00:31 wolfman2000 joined #perl6
00:33 bacek_at_work joined #perl6
00:35 [Coke] joined #perl6
00:35 masak joined #perl6
00:35 pmichaud joined #perl6
00:35 PerlJam joined #perl6
00:36 Util joined #perl6
00:36 dalek niecza: 9bf5263 | (Solomon Foster)++ | lib/CORE.setting:
00:36 dalek niecza: Add sub elems.
00:36 dalek niecza: review: https://github.com/sorear/niecza/commit/9bf526377a
00:36 dalek niecza: e6dfd53 | (Solomon Foster)++ | t/spectest.data:
00:36 dalek niecza: Turn on S32-array/elems.t.
00:36 dalek niecza: review: https://github.com/sorear/niecza/commit/e6dfd533d6
00:41 tadzik joined #perl6
00:41 dalek roast: 4984187 | (Solomon Foster)++ | S32-array/elems.t:
00:41 dalek roast: Fudge for niecza.
00:41 dalek roast: review: https://github.com/perl6/roast/commit/498418720f
00:59 dalek roast: b8ba7e6 | (Solomon Foster)++ | S32-hash/exists.t:
00:59 dalek roast: Fudge for niecza.
00:59 dalek roast: review: https://github.com/perl6/roast/commit/b8ba7e62d9
00:59 dalek roast: b44e3ec | (Solomon Foster)++ | S32-hash/exists.t:
00:59 dalek roast: Tests for :exists added.
00:59 dalek roast: review: https://github.com/perl6/roast/commit/b44e3ec99f
01:00 dalek niecza: 6ad55ae | (Solomon Foster)++ | t/spectest.data:
01:00 dalek niecza: Turn on S32-hash/exists.t.
01:00 dalek niecza: review: https://github.com/sorear/niecza/commit/6ad55ae5b2
01:00 sorear karma colomon
01:00 aloha colomon has karma of 204.
01:00 sorear karma Solomon Foster
01:00 aloha Solomon Foster has karma of 153.
01:00 sorear almost there!
01:01 colomon ;)
01:07 raiph joined #perl6
01:07 dalek roast: 8032449 | (Solomon Foster)++ | S04-blocks-and-statements/pointy.t:
01:07 dalek roast: Fudge for niecza.
01:07 dalek roast: review: https://github.com/perl6/roast/commit/80324495f7
01:08 dalek niecza: fc198f2 | (Solomon Foster)++ | t/spectest.data:
01:08 dalek niecza: Turn on S04-blocks-and-statements/pointy.t.
01:08 dalek niecza: review: https://github.com/sorear/niecza/commit/fc198f2b8f
01:15 dalek roast: 154dbe5 | (Solomon Foster)++ | S16-io/basic-open.t:
01:15 dalek roast: Fudge for niecza.
01:15 dalek roast: review: https://github.com/perl6/roast/commit/154dbe5bd7
01:16 dalek niecza: 0e2bf45 | (Solomon Foster)++ | t/spectest.data:
01:16 dalek niecza: Turn on S16-io/basic-open.t.
01:16 dalek niecza: review: https://github.com/sorear/niecza/commit/0e2bf450d7
01:17 SolarNRG joined #perl6
01:25 sftp joined #perl6
01:26 leprevost joined #perl6
01:27 dalek niecza: 4dcd1f7 | sorear++ | src/niecza:
01:27 dalek niecza: Start towards a consistent handling of type_constraints and typenames
01:27 dalek niecza: review: https://github.com/sorear/niecza/commit/4dcd1f770f
01:30 leprevost joined #perl6
01:30 Juerd joined #perl6
01:31 dalek roast: 2b3a229 | (Solomon Foster)++ | S02-types/sigils-and-types.t:
01:31 dalek roast: Fudge for niecza
01:31 dalek roast: review: https://github.com/perl6/roast/commit/2b3a229992
01:33 zjmarlow joined #perl6
01:36 dalek niecza: c9ab37e | (Solomon Foster)++ | t/spectest.data:
01:36 dalek niecza: Turn on S02-types/sigils-and-types.t.
01:36 dalek niecza: review: https://github.com/sorear/niecza/commit/c9ab37e368
01:50 dalek roast: 3511439 | (Solomon Foster)++ | S02-types/declare.t:
01:50 dalek roast: Additional fudging for niecza.
01:50 dalek roast: review: https://github.com/perl6/roast/commit/3511439562
02:01 dalek roast: ed292ed | (Solomon Foster)++ | S06-advanced/lexical-subs.t:
02:02 dalek roast: Change fail to ok 0.  This seems more consistent.  Probably still a better way to right it.
02:02 dalek roast: review: https://github.com/perl6/roast/commit/ed292edc25
02:02 dalek niecza: bbfe2b9 | (Solomon Foster)++ | t/spectest.data:
02:02 dalek niecza: Turn on S06-advanced/lexical-subs.t.
02:02 dalek niecza: review: https://github.com/sorear/niecza/commit/bbfe2b9281
02:03 sorear colomon: perhaps somebody mixed up fail with flunk
02:03 colomon seems like it should be lives_ok or something like that
02:03 colomon but ok 0 seems like it should work for sane conditions, and makes niecza like the file.
02:04 colomon ack!  I said "right" instead of "write".
02:04 colomon I will be so happy when I shake this head cold.
02:04 colomon at 11am this morning I was already so tired I was thinking it was 4pm.
02:21 colomon sorear: do we have FIRST yet?
02:22 sorear No.
02:22 sorear START will fill some of the same purposes in a pinch though.
02:23 TimToady moving the code out in front of the loop is usually simpler :)
02:24 colomon FIRST is one of those sugar things I lust after.
02:24 TimToady colomon: if you just put a gist of your pi, I can put in on RC, if you're shy. :)
02:25 colomon TimToady: yeah, I should get around to that, shouldn't I?
02:26 TimToady I just think it'd make a great 400th entry on RC
02:26 colomon awww
02:26 colomon just give me a minute to try to get reduce working on niecza.
02:26 sorear What was the big feature that made the pi work on Rakudo again?
02:26 colomon bignums
02:26 colomon bigints
02:26 sorear ISTR there was a reason it didn't work on niecza
02:26 TimToady niecza needs to support subsigs
02:27 sorear niecza: sub foo($x [$y,$z]) { say $z }; foo([2,3])
02:27 p6eval niecza v13-185-gbbfe2b9: OUTPUT«Potential difficulties:â�¤  $x is declared but not used at /tmp/Woz5tkEcLq line 1:â�¤------> [32msub foo([33mâ��[31m$x [$y,$z]) { say $z }; foo([2,3])[0mâ�¤  $y is declared but not used at /tmp/Woz5tkEcLq line 1:â�¤------> [32msub foo($x [[33mâ��[31m$y,$z]) { …
02:27 sorear niecza: sub foo($x [$y,$z]) { say $z }; foo([2,3]) #OK
02:27 colomon right, I've got an uglier version that works on niecza, but the subsig version is nice
02:27 p6eval niecza v13-185-gbbfe2b9: OUTPUT«3␤»
02:27 TimToady cool
02:27 TimToady didn't know that
02:27 sorear are you missing Mu.Capture?
02:29 * colomon had no idea subsigs worked at all on niecza
02:30 sorear they were added two days ago
02:30 sorear +only
02:30 colomon new!
02:31 colomon doesn't work because my reduce broke the niecza build.
02:31 sorear sure I didn't break it first?
02:31 colomon yes
02:32 sorear how is your reduce connected to reduceop?
02:32 colomon I used True and False before they were defined
02:32 colomon massively simpler
02:32 sorear worth killing reduceop, then?
02:32 colomon no, no, no, it's not a replacement
02:33 colomon parallel version of the same basic concept
02:33 colomon S32-Containers and search on reduce
02:35 colomon Sub-signatures NYI at /Users/colomon/tools/pi/pi-timtoady.pl line 27:
02:35 colomon ------>     stream(-> [$u, $v]⏏ { floor($u * $v * $n); },
02:39 sorear oh
02:39 sorear -> $ [...
02:39 sorear I missed the path for when there is no overall variable
02:39 dalek roast: 3bf852e | (Solomon Foster)++ | S32-list/reduce.t:
02:39 dalek roast: Fix broken test.  Fudge for niecza.
02:39 dalek roast: review: https://github.com/perl6/roast/commit/3bf852efe7
02:39 sorear will fix that shortly
02:39 colomon sorear++
02:41 sorear niecza: say []
02:41 p6eval niecza v13-185-gbbfe2b9: OUTPUT«␤»
02:43 sorear colomon: I wonder if I should close #102
02:43 sorear colomon: 'git log S02-types/parcel.t' ... this isn't a regression
02:43 sorear it does document a NYI
02:44 dalek niecza: 2daaa81 | sorear++ | / (2 files):
02:44 dalek niecza: Support literal constants as types in multis (fixes #101)
02:44 dalek niecza: review: https://github.com/sorear/niecza/commit/2daaa81532
02:46 colomon niecza: say <5 7 8>[]
02:46 p6eval niecza v13-185-gbbfe2b9: OUTPUT«Unhandled exception: No value for parameter \$index in postcircumfix:<[ ]>␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (postcircumfix:<[ ]> @ 1) ␤  at /tmp/_vrraHiSJe line 1 (mainline @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 2968 (ANON @ …
02:46 colomon sorear: your call.  I was mostly worried because I thought it was a regression
02:51 dalek niecza: 71a58df | sorear++ | src/niecza:
02:51 dalek niecza: Fix sub-signatures with no preceding variable, colomon++
02:51 dalek niecza: review: https://github.com/sorear/niecza/commit/71a58df2f7
02:52 sorear 2daaa81 might allow a few unfudges, although it doesn't yet let you write multi foo(Increase) {} or multi foo(pi) {}
02:52 sorear nom: multi foo(True) {}
02:52 p6eval nom 38165a:  ( no output )
02:52 sorear nom: multi foo(pi) {}
02:52 p6eval nom 38165a:  ( no output )
02:55 dalek niecza: 7704df1 | (Solomon Foster)++ | lib/CORE.setting:
02:55 dalek niecza: Simple implementations of Any.reduce and sub reduce.
02:55 dalek niecza: review: https://github.com/sorear/niecza/commit/7704df129d
02:55 dalek niecza: c5f959c | (Solomon Foster)++ | t/spectest.data:
02:55 dalek niecza: Turn on S32-list/reduce.t.
02:55 dalek niecza: review: https://github.com/sorear/niecza/commit/c5f959c861
02:58 colomon sorear++ # pi works on niecza now!
02:59 sorear so how far are we from Easter? :D
03:12 colomon pi gist: https://gist.github.com/1586644
03:13 * TimToady sees it and seizes it :)
03:13 colomon If TimToady++ thinks this should be #400, then I'd appreciate a quick code review
03:13 TimToady looking
03:13 colomon TimToady: this code works on niecza and rakudo
03:13 colomon the use Test can be deleted, clearly
03:14 colomon comments, maybe?
03:14 TimToady don't need the Haskell
03:14 colomon http://www.mathpropress.com/​stan/bibliography/spigot.pdf is the Haskell program I translated to p6
03:15 TimToady biab
03:17 zjmarlow joined #perl6
03:18 TimToady RC has it's own examples of other languages :)
03:18 colomon oh, interesting... I just changed it to be properly infinite, and niecza stops dead at digit 100 or so.
03:18 athomason joined #perl6
03:20 colomon I've just updated the gist with a slightly better end section, no comments other than the above URL.
03:21 colomon huh.  rakudo goes that far and stops too
03:22 colomon 3.14159265358979323846264338327950288​4197169399375105820974944592307816406​2862089986280348253421170679821480865
03:22 colomon it's correct that far
03:23 TimToady maybe it can't gc if you don't throw away the earlier digits
03:24 colomon seems odd that both implementations would gc in the same spot
03:24 colomon I'll bet it's a real flaw in the implementation
03:26 TimToady could be
03:26 colomon hmm... looks like mono hits 100M and stops
03:26 colomon but it's chewing up CPU
03:28 colomon yeah, it's chewing up a full core's worth of CPU without any apparent additional memory allocation
03:30 TimToady nom leaks slowly after hitting 300m
03:31 TimToady Rat limits?
03:31 colomon might be
03:32 colomon It's been so long I don't remember how the code works anymore.  :)
03:32 TimToady if the rhs is greater than 64bits..
03:32 TimToady div works better
03:32 colomon Did they actually fix Rats to not be de facto FatRats in Rakudo?
03:33 colomon ooooo.... interesting
03:33 colomon I think you're basically right, but....
03:34 colomon extr's result becomes NaN
03:34 TimToady and if you're div'ing Ints, the .floors are redundant
03:35 colomon yup, just give me a minute to study how it fails more carefully.  :)
03:38 orafu joined #perl6
03:38 Psyche^ joined #perl6
03:39 colomon okay, I *think* what is happening is the internal numbers are getting so big that when the / operation can't be a Rat, both sides are converted to Num and the numbers are too big to be Nums, so they become Inf, and then it's Inf / Inf
03:39 [Coke] niecza: https://gist.github.com/1586644
03:39 p6eval niecza v13-189-gc5f959c: OUTPUT«(timeout)3.1415926535897932384626433​8327950288419716939937510582097494459230781​64062862089986280348253421170679821480865»
03:40 colomon bingo!
03:40 [Coke] colomon: should I hold off before doing the final run of the day?
03:40 colomon [Coke]: I'm not doing any more spectest cleaning today, for sure.
03:41 colomon niecza: https://gist.github.com/1586644
03:41 p6eval niecza v13-189-gc5f959c: OUTPUT«(timeout)3.14159265358979323846264338​32795028841971693993751058209749445923078164​06286208998628034825342117067982148086513282​30664709384460955058223172535940812848111745​02841027019385211055596446229489549303819644​288109756659334461284756482337867831652712…
03:42 colomon looks correct
03:43 colomon just generated ~2000 digits in 10 seconds here (niecza)
03:45 colomon seems like Rakudo starts lagging around digit 1900 or so
03:46 * TimToady wonders why you can iteratoe pi-stream() directly in niecza but not nom
03:47 TimToady if you do that, all you need is: state $ = print '.'
03:48 TimToady but it seems pi-stream returns something indexable but not iterable...
03:49 TimToady funny, since it says it's type List()
03:50 colomon TimToady: if you don't mind, I'm going to turn this over to you for rosetta coding... I don't really remember how to edit the site.  And I should be getting to bed.
03:50 TimToady okay, will do
03:50 TimToady thanks!
03:50 colomon thank you!
03:51 saberman_2 joined #perl6
04:00 saberman_2 joined #perl6
04:04 TimToady 400 entries for Perl 6 on rosettacode thanks to colomon++!   \o/
04:11 TimToady (well, and everyone else :)
04:11 TimToady sorear++ and jnthn++ in particular
04:19 kaleem joined #perl6
04:20 sorear \o/
04:33 moritz \o
04:33 phenny moritz: 09 Jan 22:30Z <jnthn> tell moritz oops, the setting compilation bustage was not anything to do with moving the temporal ops. It was to do with the sleep change that came in the previous commit.
04:34 phenny moritz: 09 Jan 22:30Z <jnthn> tell moritz well, the rtype bit anyway
04:34 phenny moritz: 09 Jan 22:57Z <jnthn> tell moritz fixed the other bug you ran into too. Note - please can we call what you're called CORE2 as CORE, and then call the more primitive one something like PRIMITIVES? :)
04:34 moritz oh doh
04:34 birdwindupbird joined #perl6
04:36 [Coke] # 01/09/2012 - niecza at 96.68% -- https://gist.github.com/1476841
04:36 moritz phenny: tell jnthn oh d'oh, thanks. I'm fine with any setting rename, it's just a proof of concept so far
04:36 phenny moritz: I'll pass that on when jnthn is around.
04:36 [Coke] (still increasing, despite recent gains by rakudo!)
04:38 * moritz -> travel
06:01 cognominal joined #perl6
06:06 mkramer joined #perl6
06:27 donri joined #perl6
06:30 koban joined #perl6
06:37 alim_ joined #perl6
06:44 wtw joined #perl6
06:53 odoacre joined #perl6
06:56 replore joined #perl6
06:59 kaleem joined #perl6
07:09 Suor joined #perl6
07:17 Suor left #perl6
07:38 Suor joined #perl6
07:41 Suor left #perl6
07:56 snearch joined #perl6
07:56 masak niecza: constant @fiblist = 0, 1, 1, map &fib, 1..*; sub fib($n where * > 2) { @fiblist[$n - 1] + @fiblist[$n - 2] }; say fib 5
07:56 p6eval niecza v13-189-gc5f959c: OUTPUT«Unhandled exception: System.Exception: Unable to find lexical &fib in @fiblist init␤  at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, Boolean upf, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤  at Niecza.CLRBac…
07:56 masak aww :)
07:56 masak clearly that must be made to work at some point.
07:57 masak g'morning, #perl6
08:06 jeffreykegler joined #perl6
08:08 tadzik o/
08:29 cognominal joined #perl6
08:32 masak *why* is .wrap already in-place?
08:33 masak hm, probably because it's diffy :)
08:35 masak niecza: sub foo(5) { say "OH HAI" }; foo 5
08:35 p6eval niecza v13-189-gc5f959c: OUTPUT«OH HAI␤»
08:35 masak \o/
08:35 masak sorear++
08:36 mj41 joined #perl6
08:37 LlamaRider joined #perl6
08:38 koban left #perl6
08:40 TimToady here's a challenge: make https://gist.github.com/1587894 work (or find the bugs)
08:40 TimToady zzz &
08:51 jnthn masak: How can that constant one work? The expression would be evaluated at BEGIN time, before you declared fib.
08:51 phenny jnthn: 04:36Z <moritz> tell jnthn oh d'oh, thanks. I'm fine with any setting rename, it's just a proof of concept so far
08:53 jnthn moritz: okies :)
08:59 masak jnthn: I'm allowed to refer to &-sigil variables before I declare them, am I not?
08:59 masak jnthn: and the sub isn't actually invoked until I request the first element, right?
09:00 jnthn oh, ick, missed the lazy map
09:00 masak TimToady: nice!
09:01 masak nom: constant @fiblist = 0, 1, 1, map &fib, 1..*; sub fib($n where * > 2) { @fiblist[$n - 1] + @fiblist[$n - 2] }; say fib 5
09:02 p6eval nom 38165a: OUTPUT«===SORRY!===␤Cannot handle constant @fiblist with non-literal value yet at line 1, near "= 0, 1, 1,"␤»
09:02 masak aww :)
09:02 LlamaRider TimToady: does using unicode symbols as operators really scale? I mean there are just that many keys you can map to uncommon UTF-8 chars
09:02 masak nom: &foo(); sub foo { say "OH HAI" }
09:02 p6eval nom 38165a: OUTPUT«OH HAI␤»
09:03 masak LlamaRider: I don't buy that argument. it's like saying "there are just that many keys you can map to sub and method names"
09:03 LlamaRider but I can _type_ sub and method names. I can't type \in
09:04 jnthn LlamaRider: Just buy one of those keyboards the Chinese use with 4000 keys on :)
09:04 masak LlamaRider: I can. I use LEIM in Emacs.
09:04 masak LlamaRider: I literally type '\in' in TeX mode, and I get the ∈ operator.
09:05 LlamaRider ah, but that's wonderful!
09:05 LlamaRider \in I can type :)
09:05 masak LlamaRider: there are reasons to avoid Unicode operators, but that isn't one of them :)
09:05 masak jnthn: have you seen someone use one of those? they're *awful*.
09:06 masak jnthn: http://en.wikipedia.org/wiki​/File:Chinese_typewriter.jpg
09:07 masak talk about hunt-and-peck!
09:07 jnthn omgz I was joking! :P
09:07 jnthn I....I didn't think somebody woulda made one :P
09:07 sorear o/ masak
09:08 masak sorear: \o
09:08 masak jnthn: I didn't know about it until about half a year ago.
09:09 sorear notice that there are gaps in the layout.
09:09 sorear what this tells me is that they are using a two-coordinate indexing system
09:10 sorear most likely some form of radical+phonetic scheme
09:10 ChanduBS joined #perl6
09:11 sorear LlamaRider: having a one-to-one correspondence between keys and characters is what's unscalable
09:11 sorear I need a better (read: unified and more general) input method system
09:12 jupp joined #perl6
09:12 sorear I can enter most of the Latin script using XCompose
09:12 jupp hi
09:12 sorear I can enter Japanese (and Chinese, sort of) using IBus, TimToady++
09:12 LlamaRider sorear: sure it's scalable, you just put more characters next to each other ;)
09:12 sorear hello and welcome, jupp, how can we help you?
09:12 jupp any hint on how I can get the old perl -en behavior with parrot?
09:13 sorear I've memorized the hex codes for the Greek alphabet
09:13 sorear anything else I have trouble with
09:13 ChanduBS left #perl6
09:13 LlamaRider sorear: I've memorized the letter names, and use \name in LaTeX, which works perfectly. But I agree it's more old-fashioned than memorizing hex codes ^^
09:14 jupp ie I want to do some complex regex substitutions as part of a shell script
09:14 sorear LlamaRider: I haven't figured out how to make LaTeX work with all my X11 apps
09:14 sorear jupp: Parrot isn't a scripting language interpreter.  It doesn't even have -e
09:14 sorear I am uncertain what you meant
09:14 sorear Unless you meant Rakudo
09:15 jupp yes I did
09:15 jupp sorry for the confusion
09:15 sorear will a Rakudo expert field this one?  masak, you did nap, didn't you?
09:15 masak sorear: yes, I seem to recall it was some radical+phonetic scheme. see http://languagelog.ldc.upenn.edu/nll/?p=3092
09:16 sorear LlamaRider: in particular, I need a way to make LaTeX work with rxvt-unicode, or another terminal emulator that's reasonably lean and POLSy
09:16 alim joined #perl6
09:16 masak jupp: Rakudo has -n and -e
09:16 masak jupp: but you may not be able to write it as -ne at this point.
09:16 masak jupp: writing it as -en never worked, in my experience.
09:17 sorear -en means to call the function named "n"
09:17 sorear always has, even in P5
09:17 masak right.
09:17 jupp I see, that fixes it
09:18 jupp thanks for your hely
09:18 jupp p
09:18 LlamaRider sorear: no clue about any of that, I didn't even know about LEIM in Emacs
09:19 sorear are you a person who can get everything they want to do done in emacs?
09:19 LlamaRider O
09:20 LlamaRider I'm trying to be, I guess.
09:21 jupp masak: any chance on why this won't yield 'bar': echo "foo" | perl6 -n -e 's/foo/bar/'
09:22 jnthn Isn't it -p that prints the output too?
09:22 masak aye.
09:22 masak try with -p instead of -n
09:22 masak (this also holds with perl5, by the way)
09:23 alim_ joined #perl6
09:23 jupp sweet
09:23 masak did it work?
09:23 masak I got a Null PMC access locally when trying it :)
09:25 jupp works for me :)
09:25 masak \o/
09:27 LlamaRider t4 of the p6cc is quite the amount of fun to work on :) just started it
09:28 masak I can only concur. :)
09:28 jnthn masak: (NPMCA) maybe ticket it, so we can make sure it's not the case in latest master?
09:31 masak jnthn: just pulled and about to rebuild.
09:31 bacek joined #perl6
09:33 sorear ...oh right.  Well I guess I can stop waffling over whether I want to enter p6cc now.
09:34 sorear indecision--
09:34 masak there's always next year.
09:34 sorear yes
09:35 * sorear wonders how urgent it is to get constants (incl. enum values) working as types
09:35 masak also, the problems are public, so if you just want to solve them without winning great books, that's still an option.
09:35 masak sorear: in what sense are non-enum constants types?
09:36 masak or in what sense do they work as types?
09:36 sorear masak: multi JapaneseName(Tue) { "kayōbi" }
09:38 jnthn nom: enum Yesness <Yes No>; multi ru(Yes) { say "Da" }; multi ru(No) { say "Nyet" }; ru(Yes); ru(No); # curious if it works in nom...
09:38 p6eval nom 38165a: OUTPUT«Da␤Nyet␤»
09:38 sorear wait, that was an enum type
09:39 masak sorear: looks like the ordinary constant-in-signature sugar mechanism to me.
09:39 sorear nom: multi foo(pi) { "Pi" }; multi foo(Any) { "Not Pi" }; say foo(pi)
09:39 p6eval nom 38165a: OUTPUT«Pi␤»
09:39 sorear masak: exactly
09:39 masak so... they already work...?
09:40 sorear allowing types and constants to be used interchangably in niecza's signatures involves an amount of yak shaving I'd rather not take on just yet
09:40 * sorear just remembers subsets need to be fixed up
09:40 sorear s/s»/ed/
09:41 LlamaRider masak: do you know how many people registered for p6cc? And why I'm the only one in #perl6? I feel like the only newbe to Perl6 on board
09:41 masak nom: enum Yesness <Yes No>; multi ru(Yes) { say "Да" }; mtul ru(No) { say "Нет" }; ru($_) for Yes, No # jnthn: at least do it with real letters! :P
09:41 p6eval nom 38165a: OUTPUT«===SORRY!===␤Confused at line 1, near "mtul ru(No"␤»
09:41 masak nom: enum Yesness <Yes No>; multi ru(Yes) { say "Да" }; multi ru(No) { say "Нет" }; ru($_) for Yes, No
09:41 p6eval nom 38165a: OUTPUT«Да␤Нет␤»
09:42 masak LlamaRider: 35 people registered.
09:42 sorear is е iotated?
09:42 masak LlamaRider: you're not the only contestant on #perl6 :)
09:42 masak sorear: "iotated"?
09:42 sorear the y in nyet
09:43 masak sorear: yes.
09:43 LlamaRider Nice info, good to know ^^ I gues I'm the only one being too loud about it xD
09:43 masak sorear: if you want the non-y version, it's э
09:44 masak LlamaRider: it's nice that you're here -- and very strategic, I might add. increases the chances of winning. :)
09:44 LlamaRider I'm quite sure I won't win anything, but it's definitely 10 times more fun when I have people to chat with :)
09:45 dakkar joined #perl6
09:45 jnthn masak: Yeah, I really shoulda...especially given I'm meant to be improving my Russian atm... :)
09:46 LlamaRider to avoid old cyrillic letters such as "э", one can use a well-behaved language like Bulgarian, No = "Не" :)
09:47 jnthn Bulgarian is a terribly behaved Slavic language. It has articles! :P
09:48 sorear jnthn: Why are you meant to be improving your Russian?
09:48 jnthn sorear: Actually have regular contact with somebody to speak it with now.
09:49 sorear \o/
09:49 jnthn Plus I want to. It's a nice language. :)
09:49 LlamaRider jnthn:  touché
09:49 sorear .oO( So it's not the same to practice Polish with tadzik, GlitchMr, and x3nU? )
09:51 jnthn sorear: By "speak" I meant, actually speaking, not just typing. :)
09:52 sorear Ah.
09:53 * masak should get a similar reason to improve his Mandarin
09:54 spine_ joined #perl6
09:55 masak ah. "iotation", from the Greek letter iota (ι). makes sense.
09:56 sorear I found someone once... only had a few minutes and I cannot for the life of me make a proper л or х
09:56 sorear my Х and К come out sounding exactly the same
09:56 masak х is mostly just a regular "h" sound, no?
09:57 masak maybe slightly more throaty than in English.
09:57 sorear k/kh standardly
09:57 sorear saKHarov, etc
09:57 masak uh, yes.
09:57 masak I don't think of that as something odd any more :)
09:58 masak sounds completely normal to me... even though Swedish has the less throaty "h" sound like English.
09:58 masak there are at least two sounds for л: hard and soft.
09:59 sorear s/Л/Р/
09:59 masak oh! :)
09:59 sorear (does anyone else find this error remotely as funny as I do?)
09:59 masak I can see how it occurred :)
09:59 sorear my friend tells me Р is identical to a Spanish trilled r.  Which I've never been able to say either
10:00 masak same as in Swedish, too.
10:00 tadzik about wrap again: https://gist.github.com/1585730
10:00 masak can anyone confirm that `perl6 -p -e ''` is busted in latest nom? I've now rebuilt, and it still gives a Null PMC access.
10:00 * jnthn can't do the Spanish really trilled 'r'
10:01 * sorear wonders if the folks in Sakhalin speak Lusskij
10:01 jnthn :P
10:01 jnthn masak: mebbe it didn't get updated properly in nom?
10:02 jnthn (can't verify, at $dayjob without a Rakudo build to hand)
10:02 masak tadzik: looks like a bug to me.
10:03 tadzik S11 uses the word "binding" when it comes to exportation, this looks more like copying
10:04 sorear I also have issues with Ь and Ы
10:05 masak that's completely normal :)
10:06 masak tadzik: haven't read what S11 says about it, but binding makes a lot of sense and copying doesn't.
10:06 masak tadzik: will you submit a rakudobug, or shall I?
10:07 * sorear needs to learn more Swedish/Norwegian/(Maybe German would be good enough?) if ey's going to run off to the frozen north
10:07 tadzik masak: go on
10:09 * masak submits rakudobug
10:10 masak sorear: I'd say German gives the most bang for the buck. plus it's good to know if you plan to tackle Swedish/Norwegian/Danish at some point anyway.
10:11 sorear finishing Russian and French would also be good someday
10:12 masak "finishing"?
10:12 arnsholt Scandinavian isn't too hard I think, the lack of inflection really helps
10:13 arnsholt On the other hand we have some messed up pronounciation
10:13 sorear masak: well, hiking to a more favorable point along the effort/reward curve
10:13 tadzik masak++
10:14 dalek niecza: 4336983 | sorear++ | / (2 files):
10:14 dalek niecza: Treat subsets in MMD as base type + where
10:14 dalek niecza: review: https://github.com/sorear/niecza/commit/4336983087
10:19 masak sorear: I'm only fluent in three languages at present. my French, Russian, Yiddish, Latin, and Mandarin are all in various states of disrepair.
10:20 donri jbobau ko!
10:21 jnthn tadzik: huh, exporting is decidedly binding.
10:22 jnthn tadzik: But don't forget closure cloning.
10:22 sorear masak: what languages *are* you fluent in?
10:22 masak sorear: Swedish, English, Esperanto. in that order.
10:23 * jnthn is only fluent in English :(
10:23 sorear for some reason I had you down as a German
10:24 sorear English, and minimally fluent in Spanish
10:24 masak no, that's moritz :)
10:25 * jnthn used to speak reasonable Spanish, back when he lived in Spain
10:26 awoodland joined #perl6
10:27 jnthn Taking vacation in Argentina later this year, so trying to remember it all. Though I think the Spanish down there is...interesting. :)
10:28 sorear well I only speak TJ spanish anyway :D
10:28 dalek niecza: 4b71f28 | sorear++ | src/ (5 files):
10:28 dalek niecza: Mergeback
10:28 dalek niecza: review: https://github.com/sorear/niecza/commit/4b71f28dbd
10:29 jnthn So long as I can order beef, beer and bus tickets, I'm sure I'll be fine.
10:30 jnthn ah, fun times at $dayjob. Our DAG is losing its A-ness...
10:30 daxim joined #perl6
10:30 sorear It was really fun that day I got Niecza's exception dispatcher to hang chasing an infinite loop of CALLER links
10:32 sorear well I think I'd best sleep now.  Immediate-term TODO: MMD/multi dispatch interaction, two level attribute stuff/trusts
10:32 jnthn Oh, I played fast and loose with Parrot CallContexts a few months back and achieved just the same... :)
10:32 sorear ..."MMD/multi dispatch interaction"??
10:32 sorear I mean MMD/junctions
10:33 * sorear out
10:33 masak jnthn: so... the DAG... it's a directed graph now? :)
10:33 baest joined #perl6
10:34 masak well, as long as you don't traverse it expecting to bottom out, you're fine, I guess.
10:34 * sorear wonders why tadzik and doy have the same shell prompt
10:35 jnthn masak: Yeah, and guess what we do with it... :)
10:35 masak jnthn: traverse it? :)
10:35 masak well, as long as you don't expect it to bottom out, you're fine, I suppose :)
10:38 jnthn Well, it may feel in some companies that there's an infinite number of levels of management, but I'm pretty sure most of them bottom out somewhere :P
10:45 * masak .oO( it's bosses all the way down )
10:46 bacek joined #perl6
11:00 bs338 joined #perl6
11:02 nornagest joined #perl6
11:42 bkolera joined #perl6
11:47 Trashlord joined #perl6
11:54 jupp joined #perl6
11:57 bacek joined #perl6
12:01 colomon TimToady: line 14, @elems should be @args (or maybe vice versa line 13)
12:01 bkolera joined #perl6
12:12 cognominal_ joined #perl6
12:18 wtw joined #perl6
12:27 LlamaRider joined #perl6
12:33 benabik joined #perl6
12:36 nornagest joined #perl6
12:41 x3nU joined #perl6
12:54 jaldhar masak:  Some days ago I asked you about entering the perl6 contest but I've just realized I forgot to email you as the instructions say.  Is it too late?
12:57 masak jaldhar: yes :/
12:59 jaldhar masak:  oh well.  I'll do the problems anyway just for my own edification.
12:59 masak nice.
12:59 masak seems you didn't ask me, but talked with moritz and kshannon.
13:02 jaldhar yeah that's right.  Though I thout I did ask you as well but I guess not.
13:02 jupp joined #perl6
13:02 masak not according to the logs...
13:04 masak jaldhar: if you do find nice solutions to problems, and send them to me by email, I will give you proper recognition in the blog posts about the tasks, even if you aren't technically part of the contest.
13:04 masak see last year's p4 task and arnsholt++: http://strangelyconsistent.org/blo​g/p4-pick-the-last-pair-of-stones
13:07 jaldhar ok "nice" might be a bit beyond my grasp :) but I want to try this.
13:07 kshannon jnthn: https://gist.github.com/1584871 - I'm down to just 6 failing test files in qbootstrap. :)
13:08 jnthn kshannon: How'd you fix the subclass one?
13:08 jnthn kshannon++
13:09 jnthn 49-regex-interpolation.t is likely just a case of NYI rather than a bug
13:22 kshannon Dammit,  still some more corner cases with the bstack
13:22 masak today's autopun spotting: http://twitter.com/timminchi​n/status/156665165075582976
13:22 kshannon And my fix leaves more entries on the stack than probablt should be there.
13:23 cognominal joined #perl6
13:23 jnthn kshannon: Yes, keeping the bstack straight is quite the brainache.
13:24 kshannon masak: Love tim.  Best song ever - Rock and roll nerd.
13:25 bluescreen10 joined #perl6
13:25 [Coke] kshannon++ #diving in to rakudo guts.
13:25 kshannon also his beat poem - Storm - http://www.youtube.com/watch?v=UB_htqDCP-s
13:25 kshannon [Coke]: nqp actually :)
13:26 kshannon I got lost in maze of twisty ListIter's when I was hacking Rakudo guts...
13:26 benabik kshannon: NQP kinda is the Rakudo guts.  ;-)
13:28 kshannon jnthn:  I think the bstack needs some docs... :(
13:29 jnthn kshannon: Yeah. pmichaud tends to be...pretty light...on docs... Then, I'm not much better.
13:29 masak kshannon: Storm is great. you'll want to see the animated movie, too: http://www.youtube.com/watch?v=HhGuXCuDb1U
13:30 * jnthn is highly amused by "If I didn't have you"
13:32 masak "you fall within a bell curve" :P
13:37 masak kshannon: I kinda like "Not perfect".
13:39 kshannon "Peace anthem" had me rolling on the floor the first time I heard it.
13:41 masak :D
14:01 alim joined #perl6
14:08 kcwu joined #perl6
14:22 skids joined #perl6
14:23 masak has anyone written something noteworthy about the structural similarities of these activities: reporting a bug; writing a test case; requesting help on IRC?
14:29 kshannon jnthn:  I'm almost sure we need this for any meaningful semantics of the bstack: https://github.com/KrisShannon/n​qp/commit/qbootstrap-proto-hack
14:33 kshannon (and the le', '$I11', '$I18', $jumplabel is probably not needed...)
14:35 jupp joined #perl6
14:35 LlamaRider joined #perl6
14:39 wolv joined #perl6
14:40 dukeleto- joined #perl6
14:40 lestrrat joined #perl6
14:40 cognominal joined #perl6
14:40 _jaldhar joined #perl6
14:40 bbkr joined #perl6
14:40 ashleydev joined #perl6
14:40 tadzik joined #perl6
14:40 dalek joined #perl6
14:40 fhelmberger joined #perl6
14:40 masak joined #perl6
14:41 spetrea joined #perl6
14:41 kfo joined #perl6
14:42 Lorn joined #perl6
14:43 PacoAir joined #perl6
14:43 masak $net.split
14:47 colomon niecza: subset Even of Int where { $_ % 2 == 0 }; say 2 ~~ Even
14:47 p6eval niecza v13-191-g4b71f28: OUTPUT«Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.STable.FindMethod (System.String name) [0x00000] in <filename unknown>:0 ␤  at Niecza.P6any.InvokeMethod (Niecza.Frame caller, System.Stri…
14:47 colomon niecza: subset Even of Int where { $_ % 2 == 0 }; say "alive!"; say 2 ~~ Even
14:47 p6eval niecza v13-191-g4b71f28: OUTPUT«alive!␤Unhandled exception: System.NullReferenceException: Object reference not set to an instance of an object␤  at Niecza.STable.FindMethod (System.String name) [0x00000] in <filename unknown>:0 ␤  at Niecza.P6any.InvokeMethod (Niecza.Frame caller, Syst…
14:48 LlamaRider joined #perl6
14:52 zhangkaizhao joined #perl6
14:52 sayu joined #perl6
14:56 fsergot joined #perl6
14:58 jnthn kshannon: Sorry, was tied up with $dayjob for a bit :)
14:58 jnthn kshannon: Hmm...we're removing the whole cut functionality there...
14:58 * jnthn wonders if we really need it, and what fails with it gone
15:00 jnthn kshannon: oh, I think I see what the patch is doing...
15:00 jnthn kshannon: Would be interested to know a Rakudo spectest run with that patch in NQP master looks compared to without it.
15:00 kshannon Well,  I don't think the cut actually works.
15:01 jnthn kshannon: I think it's meant to unwind captures that we've backtracked over.
15:01 jnthn kshannon: But from what I saw when starting to look at things, it often throws away far too much.
15:02 kshannon OK,  I'm just running the nqp tests at the moment doing a timing comparison between master and qbootstrap
15:02 jnthn kshannon: Also interesting.
15:02 jnthn kshannon: In theory QRegex should be faster. In practice, having the NFA runner in NQP may well be hideously slow.
15:02 jnthn (pmichaud didn't expect that part to stay in NQP)
15:03 jnthn A run with -Rsubprof should be revealing.
15:03 kshannon At a first approximation I'd say hideously slow is pretty accurate...
15:07 kshannon It's taking about double the time (double user, 50% more system, and double walltime)
15:08 jnthn kshannon: OK. Profiling time! :)
15:13 jnthn kshannon: I'll have chance to get the profiler on it this evening after $dayjob.
15:16 [Coke] seen pmichaud?
15:16 aloha pmichaud was last seen in #parrot 14 hours 35 mins ago joining the channel.
15:23 Trashlord joined #perl6
15:23 LlamaRider Q: How do I do " while (<STDIN>) { ... } in P6 ?
15:23 LlamaRider I've seen STDIN is now $*IN, but <> no longer do the same thing
15:24 TimToady for $*IN.lines { ... }
15:25 [Coke] (I just saw his irssi process spike while looking at something else, wondering if he was about. ;)
15:25 LlamaRider thanks. I just found it through .^methods, came to brag, and the help was there :)
15:26 TimToady LlamaRider++ for your gumption anyway
15:27 jnthn nom: say $*IN.^methods
15:27 p6eval nom 38165a: OUTPUT«open close eof get getc lines read seek tell write opened print say slurp d e f l r s t w x z copy chmod ins chomp path␤»
15:27 LlamaRider TimToady++ for teaching me SAT words ^^
15:27 masak since $*IN is the default, 'for lines() { ... }' works as well. but the parens in 'lines()' are mandatory due to the way listop parsing works.
15:28 jnthn Wow, .^methods output is, like, more useful now ;)
15:28 masak or you could go the same route and write 'for lines -> $line { ... }' or similar ;)
15:28 benabik nom: $*IN.e.say
15:28 p6eval nom 38165a: OUTPUT«Bool::False␤»
15:28 masak benabik: standard input does not exist. it is a social construct.
15:28 LlamaRider jnthn: Definitely useful! I can't wait for the day where it will spit out a table with "method name | synopsis " rows ;)
15:29 jnthn nom: say $*IN.^methods.perl
15:29 p6eval nom 38165a: OUTPUT«(method open(IO, Any, Mu *%_) { ... }, method close(IO, Mu *%_) { ... }, method eof(IO, Mu *%_) { ... }, method get(IO, Mu *%_) { ... }, method getc(IO, Mu *%_) { ... }, method lines(IO, Any $limit?, Mu *%_) { ... }, method read(IO:D, Cool:D $bytes, Mu *%_) { ... }, m…
15:31 masak ooh
15:31 masak jnthn++
15:32 LlamaRider more like $*IN.^methods.map({  $_ ~ " : " ~ $_.WHY  }) or something
15:32 jnthn nom: say $*IN.^methods>>.perl>>.say
15:32 p6eval nom 38165a: OUTPUT«method eof(IO, Mu *%_) { ... }␤method getc(IO, Mu *%_) { ... }␤method chmod(IO, Any $mode, Mu *%_) { ... }␤method w(IO, Mu *%_) { ... }␤method l(IO, Mu *%_) { ... }␤method get(IO, Mu *%_) { ... }␤method tell(IO:D, Mu *%_) { ... }␤method e(IO, Mu *%_) { ... }␤method sl…
15:32 jnthn That's probably nicer output
15:33 masak naughty jnthn, using >>.say
15:33 masak nom: class C { multi method foo($x) {}; multi method foo($x, $y) {} }; say C.^methods.perl
15:33 p6eval nom 38165a: OUTPUT«(method foo(Any, Any, Mu *%_) { ... },)␤»
15:33 masak oh, it shows the proto?
15:33 jnthn masak: Correct
15:33 benabik Why do they all have Mu *%_ ?
15:33 masak benabik: "interface consistency"
15:33 masak benabik: see S12, and A12.
15:34 jnthn benabik: All methods get that by default to ease deferral
15:34 benabik masak++
15:34 jnthn As masak says, more retionale in la spec.
15:34 jnthn *rational
15:34 benabik jnthn++
15:34 jnthn oh, whatever :)
15:34 masak benabik: short answer: because some subclass may introduce more named params.
15:34 cognominal joined #perl6
15:35 jnthn Well, it works the other way around too
15:35 jnthn You can write subclasses that defer and they don't have to care about all the nameds that parents support.
15:35 jnthn So if the parent starts to support extra ones, the subclass that defers to it need not be updated.
15:38 LlamaRider_ joined #perl6
15:38 masak aye; that's probably more to the point, now that I think about it.
15:38 masak deriving classes shouldn't have to break if the base class adds a named param or two.
15:40 colomon anyone here have wisdom on converting Unicode to ASCII in C/C++?  I know it sucks, but I need to make it happen for $work...
15:41 masak convert? you decode the Unicode, then you encode the ASCII...
15:41 masak or s:2nd/the/as/, rather.
15:42 masak ergh, s:2nd/the>>/as/ ;)
15:42 colomon decode to what?
15:43 * colomon is pondering just going through wchar's and throwing out all the ones greater than 128....
15:45 masak well, greater than 127 in that case...
15:45 colomon yeah
15:45 colomon ugh, that's evil
15:46 masak it completely depends on what you want to achieve.
15:46 masak maybe it's completely kosher to just throw them out. probably not.
15:46 colomon Unicode filename ==> Representation of filename which can legally be stored in a pure ASCII file
15:47 jnthn colomon: Heh, if that's all you need then just treat the encoded unicode string as a bunch of bytes and base64 it ;)
15:47 dalek roast: b741ac7 | coke++ | / (4 files):
15:47 dalek roast: niecza (auto)unfudge
15:47 dalek roast: review: https://github.com/perl6/roast/commit/b741ac76bf
15:48 masak jnthn++
15:48 jnthn And make sure you're consistent about the encoding :)
15:48 jnthn That way you won't lose any info.
15:48 masak indeed.
15:48 colomon intriguing notion
15:49 colomon I don't actually ever have to read filename back from the file.
15:49 benabik Write-only storage?
15:50 colomon benabik: writing the file is the point of the program; and the internally encoded filename is a trivial human-readable detail.
15:51 benabik fsvo human-readable?
15:51 * masak does a double-take at https://metacpan.org/source/SBURKE/Text-U​nidecode-0.04/lib/Text/Unidecode.pm#L400
15:52 colomon https://gist.github.com/1589727 # find the filename  ;)
15:56 kaare_ joined #perl6
15:57 geekosaur ...Hollerith strings?!
15:57 fsergot joined #perl6
15:57 PerlJam Herman Hollerith's legacy continues.
16:01 thou_ joined #perl6
16:08 masak 36HHerman Hollerith's legacy continues.
16:08 panterax joined #perl6
16:09 PerlJam masak: obviously my geek-fu is not as great as yours today
16:11 colomon The attentive eye will also note that those are 80 column lines...
16:12 masak :)
16:12 geekosaur also the D (instead of E) in the DOUBLE PRECISION constants
16:13 colomon geekosaur: yup.
16:13 colomon afk # morning walk
16:13 * masak decommute &
16:14 thou joined #perl6
16:14 LlamaRider_ any shorthand for " @a.grep({ defined $_; }); " ? Seems cumbersome
16:15 jnthn @a.grep(*.defined)
16:16 * jnthn -> home, bbl
16:16 benabik ([and] @a>>.defined) ?
16:16 LlamaRider_ Nice! * is something I have seen several times, but am yet to read about it in detail. Thanks jnthn++
16:16 benabik Oh, d'oh, wasn't paying enough attention.  WTF brain?
16:24 skids hrm.
16:24 skids rakudo: class A { multi method foo(::B $b) { say "Surprise! ::B is an en-passant type capture"; } };  class B { }; my B $b .= new(); my A $a .= new(); $a.foo($b); $a.foo(2);
16:24 p6eval rakudo 38165a: OUTPUT«Surprise! ::B is an en-passant type capture␤Surprise! ::B is an en-passant type capture␤»
16:27 PerlJam skids: why is that a surprise exactly?
16:28 skids It's a surprise to anyone who thought they were using ::B to use a class before it was declared.
16:29 skids (which is something they will probably learn well before learning what an en-passant type capture is)
16:54 * jnthn back
16:55 jnthn LlamaRider_: * has various meanings. But *.method_name is same as { $_.method_name } - that is, it makes a closure.
16:56 jnthn skids: The rule is that ::B only works for talking about as yet undeclared types in non-declarative scenarios. A signature is declarative.
16:57 kaleem joined #perl6
17:02 skids That might bear noting in S10.  Are the synopsis still in the old pugs repository?
17:03 sayu joined #perl6
17:03 PerlJam skids: no, https://github.com/perl6/specs
17:04 skids Well, maybe after lunch I will finally learn to do a pull request :-)
17:06 hanekomu joined #perl6
17:22 daxim joined #perl6
17:24 [Coke] rakudo: my $foo = Whatever.new(); say 1..$foo[^10];
17:24 p6eval rakudo 38165a: OUTPUT«1..(*, Failure.new(exception => Exception.new()), Failure.new(exception => Exception.new()), Failure.new(exception => Exception.new()), Failure.new(exception => Exception.new()), Failure.new(exception => Exception.new()), Failure.new(exception => Exception.new()), …
17:34 kshannon rakudo: my $foo = Whatever.new(); say (1..$foo)[^10];
17:34 p6eval rakudo 38165a: OUTPUT«1 2 3 4 5 6 7 8 9 10␤»
17:34 [Coke] ah, thank you.
17:35 [Coke] rakudo: my $foo = Whatever.new(); my $bar = Whatever.new(); say $foo===$bar;
17:35 p6eval rakudo 38165a: OUTPUT«Bool::False␤»
17:35 [Coke] Should Whatever be a singleton?
17:41 cognominal joined #perl6
17:44 cognominal joined #perl6
17:46 jnthn kshannon: Just done a profile of 59-nqpop.t. Over 50% of time is spent in NFA.run.
17:48 daxim joined #perl6
17:48 kaare_ joined #perl6
17:54 baest joined #perl6
17:56 kshannon Well then,  if we can speed that up to take no time at all we'll be a little bit faster than the master branch :)
17:57 jnthn Aye, and I think there'll be other wins to be had too.
17:58 jnthn kshannon: Did you get chance to try that bstack patch against the Rakudo spectest?
17:59 kaare_ joined #perl6
18:02 kshannon I've only run it against the nqp tests,  on the master branch it does fail two of the t/qregex tests
18:03 jnthn ah
18:03 * jnthn feared it may bust something
18:06 kshannon Yeah,  but I've been looking at the pir generated (it's the same on both branches),  and I still think it's the right thing to do (not so many corner cases)  The QAST compiler just needs a bit of prodding.
18:06 kshannon Running a rakudo build on patched master nqp now.
18:06 jnthn kshannon: If it's a better approach overall then I'm all for it.
18:07 jnthn kshannon: Note that I introduced a patch a while back to quantifier handling that may be unrequired after this one.
18:07 tadzik o/
18:08 jnthn kshannon: I'm having a crack an an NFA running dynop
18:08 jnthn o/ tadzik
18:09 * [Coke] stares at ack "plan +d" t/spec | sort -t: -k2.5 -n and wonders why it's not sorting the way he thinks it should.
18:09 kshannon I think it will also be pretty easy to do the 'let' binding stuff.
18:10 [Coke] s/2.5/3.5/ (no change in output)
18:10 [Coke] ARGLEBARGLE. yes there is, nevermind.
18:12 alester joined #perl6
18:12 Chillance joined #perl6
18:15 cj Mr. Coleda
18:18 [Coke] Mr. Adams-Collier
18:19 [Coke] Yes?
18:23 mkramer joined #perl6
18:24 leprevost joined #perl6
18:24 [Coke] Sí?
18:24 spine joined #perl6
18:25 [Coke] Да?
18:26 daxim ~~((°Д°))
18:27 LlamaRider joined #perl6
18:28 zjmarlow joined #perl6
18:28 cognominal_ joined #perl6
18:30 mkramer joined #perl6
18:31 fsergot joined #perl6
18:31 * kshannon is getting a little bit confused with all these different branches...
18:31 fsergot o/
18:31 jnthn kshannon: Just need to get more of them into a mergable state ;)
18:32 kshannon I think I need to redo my setup so I've got completely separated environments for master, qboot, stuffing around...
18:34 skids Unless I'm missing yet another nuance, this isn't supposed to work, but the way it doesn't work seems fishy:
18:34 skids rakudo: class A { has ::B $.a is rw }; class B { }; my A $a .= new(); $a.a.WHAT.say;
18:34 p6eval rakudo 38165a: OUTPUT«Method 'say' not found for invocant of class 'B'␤  in block <anon> at /tmp/3ptlcKj_P0:1␤  in <anon> at /tmp/3ptlcKj_P0:1␤»
18:34 jnthn eek :)
18:35 skids I'm guessing "class 'B'" means it thinks it is a symbolic link.
18:36 JimmyZ joined #perl6
18:37 gfldex nom: subset A of Str; sub foo(A $a){}; say &sub.signature;
18:37 p6eval nom 38165a: OUTPUT«===SORRY!===␤Symbol '&sub' not predeclared in <anonymous> (/tmp/D1H0qcEVj0:1)␤»
18:37 gfldex nom: subset A of Str; sub foo(A $a){}; say &foo.signature;
18:37 p6eval nom 38165a: OUTPUT«:(Str $a)␤»
18:37 gfldex shoudn't that be '(A $a)' ?
18:37 jnthn H
18:38 jnthn Hm
18:38 jnthn gfldex: Can argue it both ways
18:38 jnthn gfldex: When you write a subset type in a signature, it has to be disassembled into a nominal part and a constraint part
18:38 jnthn gfldex: Str is the nominal part, and of course there's no constraint part here, so I guess it's dropped it.
18:38 gfldex lets see
18:38 jnthn Well, it didn't drop it, there just wasn't one. :)
18:39 gfldex nom: subset A of Str where { $^s ~~ /^\d+$/ }; sub foo(A $a){}; say &foo.signature;
18:39 p6eval nom 38165a: OUTPUT«:(Str $a)␤»
18:39 jnthn Ah
18:39 jnthn ...I get that's Signature.perl missing something.
18:39 jnthn *bet
18:40 rindolf joined #perl6
18:40 rindolf Hi all.
18:41 gfldex so what is signature supposed to do then?
18:42 jnthn gfldex: .signature returns a Signature object
18:42 jnthn o/ rindolf
18:42 cj [Coke]: oh, nothing.  just a greeting.  Imagine me saluting or tipping my hat or whatever.
18:42 mkramer joined #perl6
18:43 gfldex it does that quite nicely, yet the returned object seams not to be overly honest to me
18:43 [Coke] cj; well met.
18:43 [Coke] So, what brings you perl6 land?
18:45 cj someone was talking about which /win their #perl was in.  I said "5 of course!  #perl6 used to be in 6"
18:45 cj so I fixed it.
18:45 cj Right after I joined, I found out that someone else cares about perl6 on .NET enough to commit some code, so I stayed.
18:45 nornagest joined #perl6
18:45 cj maybe if I get some tuits I'll contribute something other than snark.
18:47 cj I wrote something about it a few years ago. http://wp.colliertech.org/cj/?p=175  It seems that there are people who have actually implemented bits of it.
18:47 cj no perl5 on perl6 on .NET yet, though.  Woe.
18:47 mkramer joined #perl6
18:49 [Coke] sorear is running out of spec tests to fix, so he may get to that soon. ;)
18:49 kaare_ joined #perl6
18:49 lichtkind joined #perl6
18:50 lichtkind jnthn:  o/
18:51 icwiener joined #perl6
18:52 jnthn o/ lichtkind
18:53 mkramer joined #perl6
18:54 rindolf jnthn: what's up?
18:55 dalek nqp/qbootstrap: add1a9d | jnthn++ | src/ (2 files):
18:55 dalek nqp/qbootstrap: Quick and dirty port of NFA.run to a dynop. For nqpop.t, takes time spent in NFA.run from 51% of runtime down to 3.3%.
18:55 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/add1a9d3b4
18:56 jnthn rindolf: Not much...just working and hacking. :)
18:56 daxim joined #perl6
18:57 rindolf jnthn: nice.
18:57 birdwindupbird joined #perl6
18:57 jnthn kshannon: With that patch, we spend longer building the NFA than running it!
18:57 mkramer joined #perl6
19:02 mkramer joined #perl6
19:04 mkramer joined #perl6
19:05 cognominal joined #perl6
19:06 moritz \o
19:07 masak o/
19:07 tadzik o/
19:07 nornagest \o/
19:07 colomon o|
19:08 [Coke] colomon: yes?
19:08 LlamaRider joined #perl6
19:09 LlamaRider masak, moritz: who was the evil mind that invented the 3 naming schemes for t4? They're amazingly annoying :)
19:09 colomon may I be excused to go to the biergarten, Mr. [Coke]?
19:09 moritz LlamaRider: not me :-)
19:09 moritz LlamaRider: and yes, I find them annoying too, but I guess I'd find any numbering scheme annoying if it was imposed on me
19:10 LlamaRider I wouldn't if it was a little bit more consistent
19:10 LlamaRider I can't reuse any computation :(
19:12 moritz you don't have to do any computations in that notation
19:12 masak LlamaRider: I'll be very interested to see a less annoying notation.
19:13 masak you have my full license to invent one ;)
19:13 LlamaRider always label starting left-most element on the top row. there :-)
19:13 [Coke] colomon: ja!
19:13 LlamaRider namely labels a1, i1 and p1 are there
19:14 LlamaRider *end of rant* :p
19:14 masak fine, if that makes you happy. :)
19:15 mkramer joined #perl6
19:15 masak to me it seems like just another distribution of (in)consistency from the current rule: numbers increase from left to right.
19:15 wolfman2000 joined #perl6
19:15 arlinius joined #perl6
19:16 moritz it's just waterbed of complexity: if you don't have names for the groves, you make it more verbose to name pieces
19:16 colomon niecza: multi foo(Inf) { say "Long time" }
19:16 masak aye.
19:16 p6eval niecza v13-191-g4b71f28: OUTPUT«Potential difficulties:â�¤  &foo is declared but not used at /tmp/5VMCEpYq4U line 1:â�¤------> [32mmulti foo[33mâ��[31m(Inf) { say "Long time" }[0mâ�¤â�¤Â»
19:17 colomon niecza: multi foo(Inf) { say "Long time" }; foo(Inf)
19:17 p6eval niecza v13-191-g4b71f28: OUTPUT«Long time␤»
19:18 mtk joined #perl6
19:20 LlamaRider masak:  considering you don't really have left and right for diagonals (rather up and down) I can't agree it's the most sensible choice. Right you index left-slanted diagonals bottom-up and right-slanted ones top-down. Maybe I made the mistake of seeing them as diagonals ;)
19:20 LlamaRider Right now*
19:20 masak yeah.
19:21 masak unfortunately, I had to impose *some* notation, otherwise I couldn't write tests for it.
19:21 [Coke] colomon;there was an error on that when I removed the emit direcdtive in the spectest.
19:21 masak I chose the one I disliked the least ;)
19:21 colomon [Coke]: yeah, I got it too.  I was trying to golf it.
19:21 masak LlamaRider: there's absolutely nothing that prevents you from translating my crappy notation to your excellent one internally in your program.
19:22 colomon niecza: multi foo(1) { say "Not many"; }; multi foo(2) { say "Lots!"; }; foo(2)
19:22 p6eval niecza v13-191-g4b71f28: OUTPUT«Lots!␤»
19:22 LlamaRider masak: translating it to anything is the same amount of work ;)
19:22 LlamaRider but it's ok, I can deal with it
19:22 LlamaRider reminds of a real-world problem this way ;)
19:22 masak LlamaRider: if your notation isn't significantly better in any way, why do you prefer it to the present one? :P
19:23 LlamaRider I have a significantly better notation, and I prefer it to the current one, I just regret that translating the current one needs 3 distinct translation blocks
19:23 * [Coke] is reminded that he solved task 1 and then forgot to move on to task 2.
19:24 masak :D
19:24 masak [Coke]: also, remember that submitting solutions greatly increases your chances of winning.
19:24 benabik niecza: multi foo(True) {say "Yes"}; multi foo(False) {say "No"}; foo(False)
19:24 p6eval niecza v13-191-g4b71f28: OUTPUT«[31m===[0mSORRY![31m===[0m��Lexical True is not a package at /tmp/JIB8bFDiMw line 1:�------> [32mmulti foo(True[33m�[31m) {say "Yes"}; multi foo(False) {say "No[0m��A type must be provided at /tmp/JIB8bFDiMw line 1:�------> [32mmulti foo(True[33…
19:25 benabik Ah, well, worth a shot.
19:25 masak o.O
19:25 LlamaRider Let me know if anyone wants to compare runtimes for t3
19:25 LlamaRider I feel very sad about my performance
19:25 masak benabik: that's a bug.
19:25 benabik nom: multi foo(True) {say "Yes"}; multi foo(False) {say "No"}; foo(False)
19:25 p6eval nom 38165a: OUTPUT«Yes␤»
19:26 benabik masak: Probably enum constant as multi arg is NYI or similar.
19:26 masak supposably.
19:32 [Coke] masak: but you said there's a limit on how many times I can submit! I want to wait until the last minute so I can submit ... more... wait.
19:33 [Coke] I can compare runtimes for t1... ;)
19:34 [Coke] aw, I can't use niecza, bother. perhaps I should handroll main.
19:34 [Coke] er, MAIN
19:34 moritz you can often just add   MAIN(|@*ARGS); at the end
19:37 dalek niecza: 1c4a771 | sorear++ | lib/ObjModel.cs:
19:37 dalek niecza: Add missing Revalidate to fix NRE with subset ACCEPTS, colomon++
19:37 dalek niecza: review: https://github.com/sorear/niecza/commit/1c4a771659
19:37 [Coke] moritz: if I'm less finicky about MAIN's args, that kind of works.
19:39 masak [Coke]: last year, no individual contestant exceeded 2 submissions per task. the upper limit is 10 :)
19:40 sorear good * #perl6
19:40 masak sorear! \o/
19:41 cognominal joined #perl6
19:42 [Coke] masak: you just want to read code, don't you. :P
19:43 LlamaRider [Coke]:  t1 isn't that interesting for runtimes, I guess it's more fun to read good Perl6 there :)
19:43 zby_home_ joined #perl6
19:43 skids rakudo: class A { }; class A {...};
19:43 p6eval rakudo 38165a: OUTPUT«===SORRY!===␤Illegal redeclaration of symbol A at line 1, near "{...};"␤»
19:44 skids .oO(wherefor idempotence)
19:46 masak [Coke]: should Whatever be a singleton? no, if anything it should be uninstantiable.
19:47 jnthn masak: I think we need to distinguish Whatever (the type) and * (instance of Whatever)
19:50 [Coke] jnthn: in a way that is different from distinguishing between an Int (the type) and 3 ?
19:50 masak jnthn: oh, ok. example?
19:51 masak jnthn: or rather, what does * gain from being an instance of Whatever, rather than just Whatever itself?
19:51 jnthn masak: ~~ Whatever vs ~~ * comes to mind
19:51 masak hm.
19:52 masak are all occurrences of * in a program distinct instances?
19:52 jnthn Not sure.
19:52 jnthn I hope not!
19:52 jnthn :)
19:53 jnthn But it's possible.
19:53 jnthn (and if so, only because nobody optimized it yet)
19:53 masak perl6: my ($a, $b) = *, *; say $a === $b
19:53 p6eval pugs b927740: OUTPUT«1␤»
19:53 p6eval ..rakudo 38165a, niecza v13-191-g4b71f28: OUTPUT«Bool::False␤»
19:53 masak Pugs++
19:54 masak pugs: Whatever
19:54 p6eval pugs b927740: OUTPUT«*** No such subroutine: "&Whatever"␤    at /tmp/j3xe4pLwuG line 1, column 1 - line 2, column 1␤»
19:54 masak :P
19:57 skids Hrm, neither is "class A {...}" explicitly specced to allow idempotent predeclarations in S12.
20:02 masak skids: I see where you're coming from here. maybe that should be allowed, yes.
20:03 dalek nqp/qbootstrap: 6357dde | jnthn++ | src/QRegex/Cursor.nqp:
20:03 dalek nqp/qbootstrap: Optimize match object construction a little.
20:03 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/6357dde74d
20:03 dalek nqp/qbootstrap: f2f8e54 | jnthn++ | src/NQPQ/Actions.pm:
20:03 dalek nqp/qbootstrap: Handle integer literals a bit less stupidly, which gives a ~15% improvement on !cursor_start, which is currently a hot path.
20:03 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/f2f8e5497f
20:03 dalek nqp/qbootstrap: 83b1889 | jnthn++ | src/QRegex/Cursor.nqp:
20:03 dalek nqp/qbootstrap: Cache the protoregex table, to save re-computing it every time. Can save quite a bit of time.
20:03 dalek nqp/qbootstrap: review: https://github.com/perl6/nqp/commit/83b18896a2
20:04 moritz does qbootstrap pass its tests for you, jnthn?
20:06 zjmarlow joined #perl6
20:06 tadzik you know when jnthn does party when you see '\d+%' in commit log
20:08 masak profiling party! \o/
20:08 alvis joined #perl6
20:08 colomon \o/
20:08 mj41 joined #perl6
20:09 GlitchMr joined #perl6
20:11 zjmarlow_ joined #perl6
20:12 * masak .oO( In Soviet Russia, the Party profiles YOU! )
20:13 benabik ow...
20:14 zjmarlow joined #perl6
20:16 jnthn moritz: No, qbootstrap didn't reach all passing yet
20:16 jnthn kshannon++ is getting there though ;)
20:17 [Coke] So, what's the general process here for update the bootstrap?
20:17 dalek rakudo/staged-settings: 390b435 | moritz++ | / (3 files):
20:17 dalek rakudo/staged-settings: move Date ops to core2
20:17 dalek rakudo/staged-settings:
20:17 dalek rakudo/staged-settings: fails during compilation of CORE with "rtype not set"
20:17 dalek rakudo/staged-settings: review: https://github.com/rakudo/rakudo/commit/390b435620
20:17 dalek rakudo/staged-settings: 664f46b | jnthn++ | src/core/control.pm:
20:17 dalek rakudo/staged-settings: Work around pir::... limitation.
20:17 dalek rakudo/staged-settings: review: https://github.com/rakudo/rakudo/commit/664f46b9b2
20:17 dalek rakudo/staged-settings: ab92aff | jnthn++ | src/Perl6/ (2 files):
20:17 dalek rakudo/staged-settings: Fix for the 'Sub doesn't have an SC' issue - CORE and CORE2 both compile now.
20:17 dalek rakudo/staged-settings: review: https://github.com/rakudo/rakudo/commit/ab92aff520
20:17 dalek rakudo/staged-settings: 8e09ea9 | moritz++ | tools/build/Makefile.in:
20:17 dalek rakudo/staged-settings: move all temporal stuff to the second setting
20:17 dalek rakudo/staged-settings: review: https://github.com/rakudo/rakudo/commit/8e09ea9377
20:17 moritz jnthn: oh, you found a mini^Whelper :-)
20:18 benabik …  Is the NQPClassHOW cache on a per-class or per-object basis?
20:18 zjmarlow joined #perl6
20:18 * moritz dearly hopes it's per class
20:18 jnthn Per class
20:19 jnthn (Since the cache is stored as an attribute in the meta-object)
20:19 jnthn Note that it's not shared by subclasses
20:19 moritz .OO( caching with class )
20:20 benabik Ah, the protoregex table is based on the methods of the class.  Now I see how it hangs together.
20:20 benabik (Thought it was odd to do class-level caching of the result of a method.)
20:21 moritz in the staged-settings branch, compilation of the first setting now takes "only" about 1.45GB of virtual memory, as upposed to about 1.7GB in nom
20:22 carlin joined #perl6
20:22 [Coke] rakudo: my @multidim[0..3; 0..1]
20:22 p6eval rakudo 38165a: OUTPUT«===SORRY!===␤Shaped variable declarations are not yet implemented at line 1, near ""␤»
20:22 jnthn shop &
20:24 [Coke] rakudo: use Test; eval_lives_ok('my @multidim[0..3; 0..1]', "multidimension array");
20:24 p6eval rakudo 38165a: OUTPUT«not ok 1 - multidimension array␤# Error: Shaped variable declarations are not yet implemented at line 1, near ""␤»
20:24 [Coke] rakudo: use Test; eval_lives_ok('my @multidim[0..3; 0..1]', "multidimension array");  ok(eval('@array11[2,0] = 12'), "push the value to a multidimension array");
20:25 p6eval rakudo 38165a: OUTPUT«not ok 1 - multidimension array␤# Error: Shaped variable declarations are not yet implemented at line 1, near ""␤===SORRY!===␤Variable @array11 is not predeclared at line 1, near "[2,0] = 12"␤»
20:25 sorear [Coke]: Can we help with anything?
20:25 [Coke] rakudo: use Test; my @array11 is shape(2,4); ok(eval('@array11[2,0] = 12'), "push the value to a multidimension array");
20:25 p6eval rakudo 38165a: OUTPUT«ok 1 - push the value to a multidimension array␤»
20:26 zjmarlow joined #perl6
20:26 [Coke] that pass seems dubious.
20:26 moritz rakudo: my @a is foo(3, 4);
20:26 p6eval rakudo 38165a:  ( no output )
20:26 moritz indeed
20:26 moritz [Coke]: note that eval doesn't catch exceptions anymore; many tests still assume that
20:28 [Coke] shouldn't that test be for @array11[2;0], anyway?
20:30 masak yeah.
20:30 dalek roast: a5d2261 | coke++ | S02-types/ (4 files):
20:30 dalek roast: rakudo (auto)unfudge
20:30 dalek roast:
20:30 dalek roast: also, relocate a badly placed pugs directive.
20:30 dalek roast: review: https://github.com/perl6/roast/commit/a5d22614c4
20:30 RobiX joined #perl6
20:32 dalek roast: 92071c8 | coke++ | S02-types/array.t:
20:32 dalek roast: use multdim syntax as (prolly) intended.
20:32 dalek roast: review: https://github.com/perl6/roast/commit/92071c87a5
20:33 [Coke] no passes out of that, just a few skip->todos.
20:33 zjmarlow joined #perl6
20:34 xinming_ joined #perl6
20:34 xinming joined #perl6
20:36 bluescreen10 joined #perl6
20:36 fsergot joined #perl6
20:37 zjmarlow_ joined #perl6
20:37 birdwindupbird left #perl6
20:43 zjmarlow__ joined #perl6
20:47 zjmarlow_ joined #perl6
20:51 zjmarlow_ joined #perl6
20:57 RobiX joined #perl6
20:58 zjmarlow joined #perl6
20:58 colomon niecza: subset Even of Int where { $_ %% 2 }; my $a = Even.new; say $a.perl
20:58 p6eval niecza v13-192-g1c4a771: OUTPUT«0␤»
20:59 tadzik niecza: subset Odd of Int where { $_ !% 2 }; my $a = Odd.new; say $a.perl
20:59 p6eval niecza v13-192-g1c4a771: OUTPUT«[31m===[0mSORRY![31m===[0m��Cannot negate % because multiplicative operators are not iffy enough at /tmp/F9TuV5fjgt line 1:�------> [32msubset Odd of Int where { $_ !%[33m�[31m 2 }; my $a = Odd.new; say $a.perl[0m��Parse failed��»
20:59 tadzik niecza: subset Odd of Int where { $_ !%% 2 }; my $a = Odd.new; say $a.perl
20:59 p6eval niecza v13-192-g1c4a771: OUTPUT«0␤»
20:59 tadzik odd
21:00 benabik "are not iffy enough"?
21:01 tadzik hmm
21:01 masak tadzik: it's %%
21:01 tadzik perl6: subset Odd of Int where { $_ !%% 2 }; my $a = Odd.new; say $a ~~ Odd
21:01 p6eval pugs b927740: OUTPUT«*** ␤    Unexpected "!%%"␤    expecting operator or "}"␤    at /tmp/kjW4e2UpLh line 1, column 30␤»
21:01 p6eval ..rakudo 38165a: OUTPUT«You cannot create an instance of this type␤  in method bless at src/gen/CORE.setting:568␤  in method new at src/gen/CORE.setting:555␤  in block <anon> at /tmp/NN2FVihZTe:1␤  in <anon> at /tmp/NN2FVihZTe:1␤»
21:01 p6eval ..niecza v13-192-g1c4a771: OUTPUT«Bool::False␤»
21:02 masak tadzik, benabik: "iffy" means something like "returning a result which is at least boolean in nature, but maybe also deeper (such as a Match object)"
21:02 masak tadzik: oh, and instantiating subtypes makes no sense :)
21:03 masak likely it amounts to solving the halting problem.
21:03 zjmarlow joined #perl6
21:03 colomon masak: I was trying it because niecza let's you do it.
21:03 masak maybe it could instantiate it, if the base type's default belongs to the subtype.
21:04 masak but it should definitely protest if it doesn't.
21:04 benabik I suppose it should call the base class's .new and die if the result doesn't match the subset…
21:04 masak for a long time Rakudo didn't protest.
21:04 jnthn I'd rather we just say no :)
21:04 masak saying no is the conservative, 6.0.0 thing to do :)
21:05 colomon subset Person of Hash where { .keys.sort ~~ <firstname lastname> }
21:05 colomon lives_ok { my Person $p = { :firstname<Alpha>, :lastname<Bravo> } },
21:05 colomon 'can create subset of hash with where';
21:05 colomon does that test make any sense?
21:06 jnthn Looks OK to me at first glance
21:06 colomon what does .keys.sort ~~ <firstname lastname> mean?
21:07 masak colomon: that the keys should be that, in that order.
21:07 jnthn That the hash should have those two keys
21:07 colomon ah
21:07 * masak recognizes that code as his own!
21:07 zjmarlow_ joined #perl6
21:07 masak I am an indirect author of some tests in the spectest suite, it seems :)
21:08 * jnthn recognizes it from a ticket :)
21:09 zjmarlow__ joined #perl6
21:09 colomon niecza: subset Person of Hash where { .keys.sort ~~ <firstname lastname> }; my Person $p = { :firstname<Alpha>, :lastname<Bravo> };
21:09 p6eval niecza v13-192-g1c4a771: OUTPUT«Potential difficulties:â�¤  $p is declared but not used at /tmp/MKPbS1T633 line 1:â�¤------> [32mrt ~~ <firstname lastname> }; my Person [33mâ��[31m$p = { :firstname<Alpha>, :lastname<Brav[0mâ�¤â�¤Unhandled exception: Nominal type check failed for scalar store;…
21:10 colomon niecza: my %h = :firstname<Alpha>, :lastname<Bravo>; say %h.keys.sort ~~ <firstname lastname>
21:10 p6eval niecza v13-192-g1c4a771: OUTPUT«Bool::False␤»
21:10 colomon bug in Parcel.ACCEPTS, maybe?
21:12 Trashlord joined #perl6
21:12 localhost joined #perl6
21:12 masak niecza: my %h = :firstname<Alpha>, :lastname<Bravo>; say %h.keys.sort.perl
21:12 p6eval niecza v13-192-g1c4a771: OUTPUT«("firstname", "lastname").list␤»
21:12 masak seems that way.
21:12 masak sounds like an opportunity for another spectest :)
21:13 zjmarlow joined #perl6
21:14 sorear I don't beleive niecza has a Parcel.ACCEPTS at all
21:14 sorear ergo, it cannot be buggy :)
21:14 sorear (Parcels have ACCEPTS inherited from Any)
21:14 colomon ah, but its lack can be a bug, no?  :)
21:15 sorear o/ masak, colomon
21:15 colomon \o
21:16 * [Coke] wonders where the next set of passing niecza spectests will come from.
21:16 * masak .oO( Outer Space )
21:16 sorear What are the blockers for stealing Rakudo's Temporal implementation?
21:16 colomon it's long
21:16 * colomon thought about stealing it last week....
21:17 sorear ah
21:18 * sorear thinks long stuff should go in modules
21:18 * sorear needs to come up with some way to present the illusion of Temporal-in-the-setting while actually not
21:20 sorear what is the limit to what should appear in the setting?
21:20 sorear TimToady clearly wants a large setting, "do not force the user to predeclare the obvious"
21:20 sorear and I'm sure there's some way to magically make half of CPAN appear in CORE::
21:20 sorear but is that really desirable?
21:21 masak we want to be everyone's reinvented wheel.
21:22 sorear masak: I think Easter might come early this year. :)
21:22 [Coke] Easter?
21:23 [Coke] (as opposed to Christmas?)
21:23 zjmarlow joined #perl6
21:24 * sorear waits to see if masak remembers
21:25 masak dang it... I saw some reference to Easter the other day as well... :)
21:25 * [Coke] also.
21:26 masak it's probably something I *should* remember.
21:26 * jnthn also and was confused then :)
21:26 masak wait, don't say anything.
21:26 jnthn anything
21:26 jnthn oh, sorry
21:26 masak I'll search the IRC logs and then appear very smart for remembering :P
21:26 sorear masak: Dec 23
21:27 [Coke] had just found that reference.
21:28 ashleydev what reference?
21:28 masak :D
21:28 masak wonderful.
21:28 masak http://irclog.perlgeek.de/​perl6/2011-12-23#i_4869598
21:28 [Coke] niecza: say 18580-17965
21:28 p6eval niecza v13-192-g1c4a771: OUTPUT«615␤»
21:28 benabik_ joined #perl6
21:29 ashleydev early Easter is good!
21:29 [Coke] colomon, sorear: here's the highest # of tests of remaining unrun files:
21:29 [Coke] https://gist.github.com/1591315
21:29 masak overtaking Rakudo is great and all, but I find I want more...
21:29 colomon niecza:  subset Naht of Str where { /^[isnt|arent|amnot|aint]$/ }; say "amnot" ~~ Naht
21:30 p6eval niecza v13-192-g1c4a771: OUTPUT«Use of uninitialized value in string context␤  at /home/p6eval/niecza/lib/CORE.setting line 960 (warn @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 186 (Mu.Str @ 10) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.settin…
21:30 masak I want good concurrency primitives. I want object hashes. I want macros. I want mutable grammars.
21:30 colomon oh wise ones: does that subset I just used look right?
21:31 masak oh, and *I want S09*! :)
21:31 masak clearly I need to write a blog post about all the great things we don't have yet.
21:31 * colomon is planning a pi summary blog post talking about the awesome stuff we have now
21:31 masak colomon: I see nothing obviously wrong.
21:31 colomon masak: what does it mean to have a closure which is just a regex?
21:32 colomon niecza:  say { /^[isnt|arent|amnot|aint]$/ }()
21:32 p6eval niecza v13-192-g1c4a771: OUTPUT«{ ... }␤»
21:32 colomon niecza:  say { /^[isnt|arent|amnot|aint]$/ }("amnot")
21:32 p6eval niecza v13-192-g1c4a771: OUTPUT«{ ... }␤»
21:32 colomon niecza:  say { /^[isnt|arent|amnot|aint]$/ }("amnot").perl
21:32 p6eval niecza v13-192-g1c4a771: OUTPUT«{ ... }␤»
21:32 colomon niecza:  say { /^[isnt|arent|amnot|aint]$/ }("amnot").WHAT
21:33 p6eval niecza v13-192-g1c4a771: OUTPUT«Regex()␤»
21:33 [Coke] niecza:  say { /^[isnt|arent|amnot|aint]$/.ACCEPTS($^a) }("amnot");
21:33 p6eval niecza v13-192-g1c4a771: OUTPUT«#<match from(0) to(5) text(amnot) pos([].list) named({}.hash)>␤»
21:35 dalek roast: 85deb42 | (Solomon Foster)++ | S02-types/subset.t:
21:35 dalek roast: Fudge for niecza.
21:35 dalek roast: review: https://github.com/perl6/roast/commit/85deb42732
21:38 sorear colomon: It doesn't look quite right to me
21:39 colomon where { /^[isnt|arent|amnot|aint]$/ } you mean?
21:39 sorear colomon: That closure returns the regex, which means that the subset type check itself calls Regex.Bool, but the subset type check is happening in ClassHOW.does, where $_ isn't bound to anything useful
21:39 sorear It could be made to work, but it'd be easier to change it to where /.../  or where { m/.../ }
21:40 sorear colomon: Yes.
21:40 zjmarlow_ joined #perl6
21:40 colomon the code is from roast, and it doesn't work in either niecza or rakudo
21:41 sorear +1 to changing it, then
21:41 [Coke] +1
21:42 masak +1
21:42 masak oh, of course it should be /.../
21:42 masak didn't see that.
21:42 masak isn't that example from the spec?
21:43 colomon I dunno.
21:43 colomon just deleted that test from my local copy.
21:43 colomon but I'll take a minute or two before pushing it, just in case...
21:44 * colomon is making noms and spectesting....
21:46 dalek niecza: 22d2c18 | (Solomon Foster)++ | lib/CORE.setting:
21:46 dalek niecza: Fix Num.gist so it doesn't add unnecessary "e0"s.
21:46 dalek niecza: review: https://github.com/sorear/niecza/commit/22d2c187ca
21:46 dalek niecza: f409a86 | (Solomon Foster)++ | t/spectest.data:
21:46 dalek niecza: Turn on S02-types/subset.t.
21:46 dalek niecza: review: https://github.com/sorear/niecza/commit/f409a86478
21:46 snearch joined #perl6
21:54 dalek roast: 8d08f6f | (Solomon Foster)++ | S02-types/subset.t:
21:54 dalek roast: Remove where { /^[isnt|arent|amnot|aint]$/ } test because no one quite knows how it should work.
21:54 dalek roast: review: https://github.com/perl6/roast/commit/8d08f6f7dc
21:56 skids joined #perl6
21:57 benabik joined #perl6
21:59 JustMe04_ joined #perl6
22:03 masak good night, #perl6. dream of Easter coming early this year.
22:07 felher o/ masak
22:07 kaare_ joined #perl6
22:08 donri joined #perl6
22:16 zjmarlow_ joined #perl6
22:20 kaare_ joined #perl6
22:23 zjmarlow__ joined #perl6
22:23 Lothar joined #perl6
22:26 zjmarlow_ joined #perl6
22:32 RobiX left #perl6
22:37 dalek roast: 7e50122 | (Solomon Foster)++ | S12-subset/subtypes.t:
22:37 dalek roast: Add a couple sensible tests.  Fudge for niecza.
22:37 dalek roast: review: https://github.com/perl6/roast/commit/7e501227a1
22:43 RobiX joined #perl6
22:44 jupp joined #perl6
22:45 panterax_ joined #perl6
22:47 rsimoes left #perl6
22:47 leprevost_ joined #perl6
22:53 * skids ponders bottom of S13.
22:54 hundskatt joined #perl6
22:55 LlamaRider joined #perl6
22:56 skids If you have both Fish.(Terrier $t) and Terrier.Fish(), what about situations like as/of return type or coercive types like sub foo (Fish(Terrier) $t).  Which gets called?  Still TBD?
22:57 sorear no clue.
22:58 RobiX left #perl6
23:09 dalek niecza: 392be60 | (Solomon Foster)++ | t/spectest.data:
23:09 dalek niecza: Turn on S12-subset/subtypes.t.
23:09 dalek niecza: review: https://github.com/sorear/niecza/commit/392be603ef
23:18 colomon !tim
23:20 dalek niecza: 08f8069 | (Solomon Foster)++ | t/spectest.data:
23:20 dalek niecza: Turn on S12-subset/multi-dispatch.t.
23:20 dalek niecza: review: https://github.com/sorear/niecza/commit/08f8069eb9
23:27 colomon So, Test::Util (in roast) calls 'shell'.  Is shell even spec'd for p6?  is there some reasonable way we can make this work on niecza?
23:28 colomon afk # bedtime for H
23:29 jupp1 joined #perl6
23:33 jupp joined #perl6
23:33 [Coke] grok shell
23:34 jupp1 joined #perl6
23:34 [Coke] looks like it's in S29
23:39 wolfman2000 joined #perl6
23:44 sorear shell is easy.
23:44 sorear on Unix at least
23:44 sorear as far as I can tell, there is literally no way to make &run work on Niecza without custom C code
23:49 tokuhirom joined #perl6
23:57 donri left #perl6
23:58 bluescreen10 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo