Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-09-02

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:08 TimToady nr: my $result = shell("exit 123"); say ?$result; say +$result;
00:08 camelia rakudo 5aeaca: OUTPUT«shell is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:2␤  in sub shell at src/RESTRICTED.setting:7␤  in block  at /tmp/jM22wUwtDf:1␤␤»
00:08 camelia ..niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: shell may not be used in safe mode␤  at /home/p6eval/niecza/lib/CORE.setting line 0 (shell @ 0) ␤  at /tmp/ZyvwjOBynv line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/C…
00:08 xinming joined #perl6
00:08 TimToady that returns True incorrectly for a non-zero exit
00:08 kbaker joined #perl6
00:10 dalek specs: 0db77c8 | larry++ | S29-functions.pod:
00:10 dalek specs: only exit 0 is "success" for run/shell
00:10 dalek specs: review: https://github.com/perl6/specs/commit/0db77c8d5e
00:12 TimToady afk &
00:12 Psyche^ joined #perl6
00:35 raiph joined #perl6
01:03 BenGoldberg joined #perl6
01:05 BenGoldberg Jenkins isn't the only software for automated building... http://en.wikipedia.org/wiki/Comparison_of_continuous_integration_software
01:06 FROGGS_ joined #perl6
01:39 drbean joined #perl6
01:39 * [Coke] hurls http://stackoverflow.com/questions/18561179/example-of-perl-6-grammar-with-operator-precedence-rules
01:47 [Coke] (I can probably answer that in NQP, due to partcl, but am unsure how to do it in rakudo)
01:48 benabik I think it needs to derive from HLLGrammar and use EXPR instead of infix directly.  Or can just declare a proto infix, but then the precedence does nothing.
01:48 * benabik is also far more familiar with NQP.
01:49 benabik (And parrot-nqp at that.)
01:52 dalek roast: c49992e | coke++ | S03-operators/context-forcers.t:
01:52 dalek roast: pugs fudge
01:52 dalek roast: review: https://github.com/perl6/roast/commit/c49992e1ac
02:21 dayangkun joined #perl6
02:30 [Coke] rn: say 1,(1 == 0),2
02:30 camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«1False2␤»
02:31 [Coke] rn: say 1,(()),2
02:31 camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«12␤»
02:32 [Coke] rn: say 1,(1==2??3!!()),2
02:32 camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«12␤»
02:32 [Coke] rn: say (1,(1==2??3!!()),2).perl
02:32 camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«(1, (), 2)␤»
02:32 [Coke] rn: say (1,(1==2??3!!()),2) == (1,2)
02:32 camelia niecza v24-92-g3961d5d: OUTPUT«False␤»
02:32 camelia ..rakudo 5aeaca: OUTPUT«True␤»
02:32 [Coke] ... there we go.
02:33 [Coke] we have a spec test that assumes rakudo is correct there.
02:41 sorear o_O since when can you use == on Parcels
02:42 sorear oh, it's numifying them using .elems
02:42 sorear rn: say 0+(1,(),2)
02:42 camelia rakudo 5aeaca: OUTPUT«2␤»
02:42 camelia ..niecza v24-92-g3961d5d: OUTPUT«3␤»
02:42 sorear rn: say (1,(),2).elems
02:42 camelia rakudo 5aeaca: OUTPUT«2␤»
02:42 camelia ..niecza v24-92-g3961d5d: OUTPUT«3␤»
02:42 sorear rn: say ().elems
02:42 camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«0␤»
02:43 sorear rn: say (1,(2,3),4).elems
02:43 camelia rakudo 5aeaca: OUTPUT«4␤»
02:43 camelia ..niecza v24-92-g3961d5d: OUTPUT«3␤»
02:43 sorear seems rakudo's Parcel.elems uses .flat.elems semantics while niecza's uses .lol.elems semantics
02:43 sorear rn: say (1,(2,3),4).flat.elems
02:43 camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«4␤»
02:44 sorear r: say (1,(2,3),4).lol.elems # niecza lacks explicit lol unless colomon added it while I was not looking
02:44 camelia rakudo 5aeaca: OUTPUT«3␤»
02:44 dalek roast: 6ef1b5d | coke++ | S (7 files):
02:44 dalek roast: niecza fudge
02:44 dalek roast: review: https://github.com/perl6/roast/commit/6ef1b5d991
02:45 [Coke] only a partial fudging, but that should help for tomorrow's run.
02:45 [Coke] (issues opened for most things)
02:47 [Coke] colomon: (>+) and (<+) were two of the biggest issues (caused 108 tests aborted in S03-operators/bag
02:55 xenoterracide joined #perl6
03:17 raiph joined #perl6
03:34 preflex joined #perl6
03:34 EvanTeitelman joined #perl6
03:38 panchiniak_ joined #perl6
03:38 logie joined #perl6
03:52 panchiniak_ joined #perl6
04:17 shinobicl_ joined #perl6
04:50 hummeleBop joined #perl6
04:53 logie joined #perl6
04:56 JimmyZ I don't know why I can't build rakudo here, hands up after compiling core setting
04:56 cognominal joined #perl6
05:02 moritz \o
05:05 hummeleBop left #perl6
05:17 JimmyZ Hi, I can't build NQP either : https://gist.github.com/zhuomingliang/6409404
05:18 JimmyZ under strawberry (v5.18.1) built for MSWin32-x64-
05:19 JimmyZ seems was broken by 197640def955febde04b49491c7e6ecc3d25a059
05:38 iSlug joined #perl6
05:39 agre joined #perl6
05:42 dmol joined #perl6
05:42 JimmyZ for rakudo, it hans here
05:42 JimmyZ .\perl6.exe --target=pir  --output=src\gen\RESTRICTED.setting.pir src\RESTRICTED
05:42 JimmyZ .setting
05:42 JimmyZ .\perl6.exe --target=pir --output=lib\lib.pir lib\lib.pm6
05:42 JimmyZ .\perl6.exe --target=pir --output=lib\Test.pir lib\Test.pm
05:42 JimmyZ .\perl6.exe --target=pir --output=lib\Pod\To\Text.pir lib\Pod\To\Text.pm
05:42 JimmyZ *hangs
05:43 JimmyZ the four hangs
05:43 JimmyZ I meant four of all
05:51 raiph joined #perl6
05:54 jlaire joined #perl6
05:56 FROGGS joined #perl6
05:57 FROGGS morning
06:07 muspellsson joined #perl6
06:21 dalek v5: 81ad7b3 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
06:21 dalek v5: regexes return a list when captures are involved
06:21 dalek v5:
06:21 dalek v5: This also fixes an issue where matching against an empty string
06:21 dalek v5: always was true.
06:21 dalek v5: review: https://github.com/rakudo-p5/v5/commit/81ad7b3d60
06:21 dalek v5: b7fd099 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
06:21 dalek v5: fixed cmp, utf8.P5Str and added pack "U"
06:21 dalek v5:
06:21 dalek v5: cmp had two multi candidates with identical signature and utf8.P5Str tries to return an
06:21 dalek v5: utf8-ecnoded string before it falls back to binary.
06:21 dalek v5: review: https://github.com/rakudo-p5/v5/commit/b7fd099a18
06:21 dalek v5: 68600eb | (Tobias Leich)++ | STATUS.md:
06:21 dalek v5: status update after pack.t unfudges
06:21 dalek v5: review: https://github.com/rakudo-p5/v5/commit/68600ebc09
06:33 slavik joined #perl6
06:37 kaleem joined #perl6
06:43 sqirrel joined #perl6
06:44 salv0 joined #perl6
06:48 xenoterracide joined #perl6
06:57 masak good morning, #perl6
06:57 FROGGS o/
07:04 sorear o/
07:04 zakharyas joined #perl6
07:05 masak heh. Adobe Reader is now so advanced that despite best efforts, I can't hide all the crap around the presentation and just have it show me the slide.
07:05 masak (that's before I go to full screen mode, so no big deal. but still, kind of a defeat.)
07:06 bonsaikitten why would you still use that? ;)
07:06 masak hm, good point.
07:06 * masak downloads Evince
07:06 bonsaikitten s/evince/okular/ ;)
07:06 masak ...whose slogan is "Simply a document viewer"! win!
07:06 masak ok :)
07:06 domidumont joined #perl6
07:07 JimmyZ pdf.js ...
07:07 diakopter masak: want to implement a pdf interpreter in p6?
07:07 JimmyZ firefox support it :P
07:07 masak diakopter: maybe later. I'm teaching today.
07:08 masak bonsaikitten: can't use okular easily. this is a Windows box, and I won't install KDE on it.
07:08 bonsaikitten masak: oh. I am mildly surprised.
07:08 masak it's not my machine.
07:08 masak we go to a place to teach.
07:09 masak ah, this is much better.
07:09 masak Evince++
07:11 domidumont joined #perl6
07:14 dmol joined #perl6
07:17 xenoterracide joined #perl6
07:34 daxim joined #perl6
07:48 Woodi joined #perl6
07:49 fhelmberger joined #perl6
08:03 dmol1 joined #perl6
08:08 moritz \o
08:10 FROGGS o/
08:14 dalek Perlito: 3badb3c | (Flavio S. Glock)++ | / (3 files):
08:14 dalek Perlito: Perlito5 - grammar - block vs. hash
08:14 dalek Perlito: review: https://github.com/fglock/Perlito/commit/3badb3c568
08:15 dakkar joined #perl6
08:18 dayangkun joined #perl6
08:25 dalek Perlito: 11c09f8 | (Flavio S. Glock)++ | / (3 files):
08:25 dalek Perlito: Perlito5 - grammar - indirect-object fix
08:25 dalek Perlito: review: https://github.com/fglock/Perlito/commit/11c09f895e
08:43 raiph joined #perl6
09:00 donaldh joined #perl6
09:10 hoelzro has Perlito been removed from the feature matrix?
09:12 JimmyZ Had it been added?
09:12 hoelzro I thought I saw it there?
09:12 iSlug joined #perl6
09:17 moritz I'm pretty sure it's never been there
09:18 hoelzro ok, I'm just delusional then =)
09:18 moritz happens to all of us :-)
09:38 timotimo good *, *!
09:39 xinming joined #perl6
09:41 hoelzro timotimo: ahoy!
09:42 dalek v5: 4faaaa6 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
09:42 dalek v5: dont return the "ref" for Int, Str, ...
09:42 dalek v5: review: https://github.com/rakudo-p5/v5/commit/4faaaa6631
09:42 dalek v5: 7959d69 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
09:42 dalek v5: subs have an implicit @_ param, default to a lookup
09:42 dalek v5: review: https://github.com/rakudo-p5/v5/commit/7959d69c2a
09:42 dalek v5: 9f4bb8e | (Tobias Leich)++ | STATUS.md:
09:42 dalek v5: status update
09:42 dalek v5: review: https://github.com/rakudo-p5/v5/commit/9f4bb8e6b3
09:43 timotimo oh wow, that last one just about 1.5x'd your pass rate :)
09:43 FROGGS yeah, and I've seen some LHF that will gimme a bunch more :o)
09:46 dalek Perlito: d7d8c35 | (Flavio S. Glock)++ | misc/pad.pl:
09:46 dalek Perlito: Perlito5 - misc - minimal repl
09:46 dalek Perlito: review: https://github.com/fglock/Perlito/commit/d7d8c3573e
09:58 krunen joined #perl6
10:09 SamuraiJack joined #perl6
10:14 timotimo nice, yapctv uploaded more recordings to youtube
10:16 timotimo masaks regex talk, jnthns moarvm talk
10:17 timotimo kind of sad they could apparently not get the audio from the speaker mic
10:17 FROGGS timotimo: yeah, but jnthn talk seem to be incomplete
10:17 timotimo oh no! :(
10:23 iSlug joined #perl6
10:26 krunen lizmat: I'd like to go to Frankfurt please. Is there still room?
10:27 lizmat hi krunen , yes, there is still room
10:27 tadzik yay, krunen \o/
10:27 masak krunen! \o/
10:27 dalek Perlito: 624a3d3 | (Flavio S. Glock)++ | misc/pad.js:
10:27 dalek Perlito: Perlito5 - misc - minimal repl (js)
10:27 dalek Perlito: review: https://github.com/fglock/Perlito/commit/624a3d3599
10:28 hoelzro is that the last spot?
10:28 lizmat Roland, the guy who is supplying the venue
10:28 krunen Great! I'm looking forward to digging deeper into the harder stuff.
10:28 timotimo hm, i still need to arrange some travel stuff
10:28 lizmat no, there is still 1 spot available: I have one guy bail out because he had to leave on Sun evening to be back home Monday morning
10:28 hoelzro timotimo: you and me both =/
10:28 lizmat and couldn't get a flight that wasn't outrageously expensive
10:29 hoelzro how late is it expected to go on Sunday? I'd like to be home on Sunday night as well, but I'm flexible enough to go home on Monday if need be
10:29 lizmat also: if you're coming by car to Frankfurt, you will need a Green stciker to be allowed to drive it in the center of Frankfurt
10:29 ssutch joined #perl6
10:30 timotimo lizmat: i think i may need the hotel room you offered me and have to get there on friday and leave on either sunday evening late or monday
10:30 lizmat well, the "how long" bit is a bit hard:
10:30 lizmat people have said the program description is of a 2 week course
10:30 lizmat so, I expect it to not end early Sunday afternoon
10:31 krunen Is there a hotel most people stay at?
10:31 lizmat but I guess by 19:00 our brains will be fried enough to want to go home
10:31 lizmat or at least to the hotel
10:31 lizmat krunen: I have rooms booked at a hotel around the corner from the venue
10:31 lizmat the accommodation is on the house if you want to share a room  :-)
10:33 SamuraiJack_ joined #perl6
10:37 timotimo yes, jnthns moarvm talk ends when he puts on the 6model explanation slide
10:38 timotimo oooooh wow the autofocus on masaks talk is *horrid* at the beginning
10:38 timotimo also, it seems like the beginning is missing :(
10:39 * moritz really loves how infoq reports talks, with two synchronized videos, one for the slides and one for the speaker
10:40 timotimo oh yes. as far as i know the devices you need to grab VGA output for such a thing is very expensive
10:41 moritz r: $_ = 'abc'; tr/a/A/; .say
10:41 camelia rakudo 5aeaca: OUTPUT«Abc␤»
10:41 moritz r: $_ = 'abc'; tr/a..c/A..C/; .say
10:41 camelia rakudo 5aeaca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/vFeQPWtlIb�Range missing start character on the left�at /tmp/vFeQPWtlIb:1�------> [32m$_ = 'abc'; tr/a..c/A..[33m�[31mC/; .say[0m�»
10:41 moritz std: $_ = 'abc'; tr/a..c/A..C/; .say
10:41 camelia std 27326bc: OUTPUT«ok 00:00 43m␤»
10:42 moritz .tell Mouq tr/a..c/A..C/ parsefails on rakudo; want to investigate?
10:42 yoleaux moritz: I'll pass your message to Mouq.
10:47 salv0 joined #perl6
10:53 timotimo and some questions are missing from the end apparently as well :(
11:14 lizmat r: "abc" ~~ m/a(bc){$<caught> = $0}/ # is this supposed to be working, like ever ?
11:14 camelia rakudo 5aeaca: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/0CbfMsVWCc:1␤␤»
11:15 masak lizmat: only if S05 says so, IMO.
11:16 masak lizmat: a case could be made for Match objects having a fixed "shape".
11:16 masak (optimizability, primarily)
11:16 masak if you want to ad-lib things, there's always the .ast namespace.
11:16 timotimo masak: how much time passed in your talk before the live demo started where you compared sed, awk, python, perl5 and perl6?
11:17 moritz most of the time, I think
11:17 masak timotimo: between 20 and 30 minutes.
11:17 timotimo aaw :(
11:18 masak failed recording? :/
11:39 jnthn Aww, too bad some is missing of the MoarVM talk
11:49 FROGGS jnthn: no problem, some of us will here it live and in color in a few days :o)
11:50 FROGGS hear*
11:50 jnthn It's more than a few days, but yes, later this month :)
11:50 lizmat :-)
11:51 FROGGS a bit more than a dozon
11:51 FROGGS no, exactly that^^
11:59 * jnthn needs to finish writing it yet :)
11:59 jnthn (nearly there, though :))
12:01 pmurias joined #perl6
12:01 JimmyZ btw: nqp is broken here, and rakudo compiling hangs here too.
12:02 JimmyZ see early irclog today
12:03 pmurias jnthn: what would be great if some of you NQP workshop internals notes could be turned into docs
12:03 lizmat pmurias: that's one of my motives for having the workshop  :-)
12:14 denisboyun joined #perl6
12:14 masak JimmyZ: that sounds highly irregular. when did it last work? are you able to bisect the problem?
12:16 JimmyZ masak: yes, see http://irclog.perlgeek.de/perl6/2013-09-02#i_7531742
12:21 donaldh joined #perl6
12:21 dalek roast: fa508be | (Elizabeth Mattijsen)++ | S05- (12 files):
12:21 dalek roast: More S05 test unfudges, skip->todo and additional tests
12:21 dalek roast: review: https://github.com/perl6/roast/commit/fa508beac3
12:22 lizmat only 103 test files remain to be checked  :-)
12:23 FROGGS lizmat+=103 :o)
12:23 pmurias jnthn: my $ops := self.post_new('Ops', :result(%*REG<cur>)) stores the result of the last thing in ops into %*REG<cur>?
12:29 spider-mario joined #perl6
12:32 lizmat r: sub a(&infix:<+>) { ... } # what does this even mean, using an op as a signature ?
12:32 camelia rakudo 5aeaca: OUTPUT«===SORRY!===␤invoke() not implemented in class 'QAST::Want'␤»
12:32 lizmat ( found in t/spec/S06-advanced/lexical-subs.t )
12:33 GlitchMr lizmat, I think it gets subroutine as argument, and dynamically changes &infix:<+>, so inside this function, + means your function.
12:35 lizmat ok, that seems to make sense with the test
12:35 lizmat definitely NYI  :-)
12:40 masak JimmyZ: are you able to revert 197640def955febde04b49491c7e6ecc3d25a059 on current nqp master?
12:40 masak revert cleanly, that is.
12:44 moritz don't revert it, without it zavolaj will bomb again :/
12:46 masak I meant locally.
12:46 v joined #perl6
12:47 dalek roast: aad3319 | (Elizabeth Mattijsen)++ | S06-multi/syntax.t:
12:47 dalek roast: Removed obsolete test for Multi type object
12:47 dalek roast: review: https://github.com/perl6/roast/commit/aad33193a7
12:48 sqirrel joined #perl6
12:48 jnthn pmurias: No, it means that $ops.result in the future will yield %*REG<cur>.
12:49 xinming joined #perl6
12:49 jnthn JimmyZ: Are you using mingw?
12:49 GlitchMr r: say <<hello <<world hello>> abc>>.perl
12:49 camelia rakudo 5aeaca: OUTPUT«(("hello", "<<"), ("world", "hello").list, (">>", "abc"))␤»
12:49 GlitchMr n: say <<hello <<world hello>> abc>>.perl
12:49 jnthn JimmyZ: I worked with jaffa4 at YAPC::EU to try and isolate that problem.
12:49 camelia niecza v24-92-g3961d5d: OUTPUT«("hello", "<<world", "hello>>", "abc")␤»
12:49 jnthn JimmyZ: It boils down to something wrong with Temporal :S
12:49 GlitchMr I'm not sure, but Rakudo seems to do the wrong thing when dealing with <<hello <<world hello>> abc>>.perl
12:50 jnthn The line in the setting that sets $PROCESS::TZ is wrong
12:50 jnthn s/is/goes/
12:50 jnthn And somehow hangs
12:50 lizmat FWIW, I've seen that behavipur before
12:51 jnthn GlitchMr: Um, I'm not sure what the output should be but I'm pretty sure it should not be that... :)
12:51 lizmat seem to recall it was somehow related to %ENV
12:51 JimmyZ jnthn: yes
12:52 JimmyZ masak: I don't have commit bit to push nqp :P
12:52 JimmyZ masak: oh
12:52 JimmyZ yes ,revert it builds fine
12:53 JimmyZ I just get undefined reference to `Parrot_str_
12:53 JimmyZ new_from_cstring'
12:54 jnthn JimmyZ: What platform is this?
12:54 moritz JimmyZ: what's your github ID?
12:54 jnthn But no, I don't think reverting is the answer...
12:54 JimmyZ jnthn: strawberry perl 5.18
12:54 JimmyZ moritz: zhuomingliang
12:54 Mouq joined #perl6
12:55 moritz JimmyZ: you should now have a NQP commit bit.
12:55 JimmyZ moritz: thanks
13:09 pmurias jnthn: !dump_str is called on NQPCapture, aren't method with ! supposed to be private
13:15 shinobicl_ joined #perl6
13:16 jnthn pmurias: In NQP it's just part of the name
13:16 Mouq joined #perl6
13:17 jnthn Rakudo handles it as S12 says, though.
13:17 jnthn Just one of the ways NQP cheats
13:21 * lizmat wonders whether :$^a really is supposed to be shorthand for a => $^a
13:21 PacoAir joined #perl6
13:21 jnthn yes
13:22 lizmat okidoki  :-)
13:22 jnthn hm, I seem to recall I fixed that a while back too :)
13:22 FROGGS does :$<a> work yet too?
13:22 jnthn oh, *that* was the one I fixed...
13:22 FROGGS cool :o)
13:22 FROGGS hehe
13:22 lizmat FROGGS: not saying it worked already
13:24 jnthn r: say ({ :$^a }(42)).perl
13:24 camelia rakudo 5aeaca: OUTPUT«"a" => 42␤»
13:24 FROGGS I love it
13:25 jnthn r: say ({ :$:a }(a => 42)).perl
13:25 camelia rakudo 5aeaca: OUTPUT«"a" => 42␤»
13:25 jnthn hehe
13:25 pmurias jnthn: is there a reason why do we cheat this way?
13:26 jnthn pmurias: It keeps NQP simpler, mostly.
13:26 * lizmat revisits a failing test
13:26 jnthn pmurias: Plus inertia. We depend on it being that way in varius places.
13:26 jnthn Not really worth changing.
13:36 FROGGS joined #perl6
13:37 lizmat r: class A { has $!foo is ref }  # is ref simply NYI, or obsolete ?
13:37 camelia rakudo 5aeaca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/rL2SgF6ygaâ�¤Can't use unknown trait 'is ref' in an attribute declaration.â�¤at /tmp/rL2SgF6yga:1â�¤------> â�¤    expecting any of:â�¤        rwâ�¤        readonlyâ�¤        box_targetâ�¤Â»
13:37 jnthn What would it even mean in that context?
13:38 lizmat the way I read S06:1926
13:38 synopsebot Link: http://perlcabal.org/syn/S06.html#line_1926
13:38 lizmat is that you can put the named parameter into .new and it would bind to that parameter, rather than copying ?
13:39 jnthn Isn't is ref an old name for something else we have now?
13:39 daxim joined #perl6
13:39 lizmat it's still in the spec  :-)
13:39 jnthn Yeah but
13:39 jnthn I think it's outdated
13:39 jnthn is ref used to be a parameter trait
13:39 jnthn I thought it became something else
13:39 jnthn I forget what
13:40 lizmat known parameter traits are:  rw readonly copy required parcel
13:40 jnthn is parcel maybe...
13:40 lizmat rw maybe the one ?
13:41 jnthn Anyway, the idea makes sense, I just think it shouldn't be called that...
13:41 jnthn Dobut ti
13:41 jnthn I think is ref became is parcel...
13:41 jnthn TimToady may remember...or searching history may work :)
13:43 lizmat fwiw, that is the *only* mention of "is ref" in the spec
13:43 jnthn yes
13:43 lizmat running into it because t/spec/S06-traits/misc.t is testing for it
13:43 jnthn Thus why I think it just wasn't updated
13:43 pmurias jnthn: it it known that the dump method on matches is broken?
13:43 jnthn I'm sure it used to exist as a param trait
13:44 jnthn pmurias: How so? I was pretty sure I used --target=parse lately...
13:44 lizmat changing it to "is parcel" makes the test pass
13:44 jnthn lizmat: What kind of object is it testing it on?
13:45 lizmat scalar
13:45 lizmat sub mods_param_ref ($x is parcel) { $x++;  }
13:45 jnthn oh, a parameter
13:45 lizmat mods_param_ref(1) fails
13:45 lizmat mods_param_ref($foo) works
13:45 jnthn Yes, that confirms it...
13:45 JimmyZ SHA-1: 4bd6b5e958ee5c10cefd15ce762b90db86fd537e
13:45 JimmyZ * [S06,S09] rename 'is ref' to 'is parcel' and make it synonymous with \
13:45 jnthn JimmyZ++ # that really confirms it
13:45 JimmyZ * [S06,S12] make attributive parameters default to 'is copy' binding
13:45 JimmyZ make easy way for an attribute to override this with 'is ref'
13:46 jnthn JimmyZ: Which of those commits came firt?
13:46 jnthn *fist
13:46 jnthn *first
13:46 jnthn argh!
13:46 JimmyZ note that 4bd6b5e958ee5c10cefd15ce762b90db86fd537e is earlier than the poster
13:46 FROGGS hmmm, shouldn't it be `is rw` then?
13:46 jnthn FROGGS: No, I don't think so.
13:46 dalek specs: a02e2e1 | (Elizabeth Mattijsen)++ | S06-routines.pod:
13:46 dalek specs: Parameter trait "is ref" is now "is parcel"
13:46 dalek specs: review: https://github.com/perl6/specs/commit/a02e2e1d48
13:46 FROGGS what does `is parcel` anyway?
13:46 jnthn FROGGS: Seem as \foo
13:47 pmurias jnthn: http://pastie.org/8291343
13:47 FROGGS k
13:47 FROGGS thanks
13:47 jnthn pmurias: that doesnt' help me when I don't have anything handy to run it on :)
13:48 dalek roast: 3c96139 | (Elizabeth Mattijsen)++ | S06-traits/misc.t:
13:48 dalek roast: Changed "is ref" test to "is parcel"
13:48 dalek roast: review: https://github.com/perl6/roast/commit/3c96139219
13:48 jnthn (at teaching place)
13:48 pmurias ahh ok
13:48 jnthn But it should work, anyway...
13:49 pmurias jnthn: the output is "- 0: o\n"
13:49 JimmyZ s/poster/latter/
13:49 jnthn I'm just surprised if it's broken 'cus I thought that's what --target=parse uses...
13:49 pmurias so the rest of that is missing
13:49 jnthn ugh
13:49 FROGGS ahh, I had that issue too I think
13:49 jnthn That wants fixing :)
13:49 jnthn Maybe it's broken for --target=parse but I missed it
13:50 dalek roast: b1a65f0 | (Elizabeth Mattijsen)++ | S06- (12 files):
13:50 dalek roast: Unfudges, skip -> todo and other clarifications in S06 testing
13:50 dalek roast: review: https://github.com/perl6/roast/commit/b1a65f0507
13:50 FROGGS lizmat++ # good work!
13:54 ajr joined #perl6
13:57 dalek roast: 890a40a | Mouq++ | S03-metaops/hyper.t:
13:57 dalek roast: Unfudge .».++ tests
13:57 dalek roast: review: https://github.com/perl6/roast/commit/890a40a88b
13:58 ajr_ Am I correct in assuming that perl6 is doing some heavy computing at start-up, rather than loading some huge file?
13:58 ajr_ If that's the case, would it be possible to cache the result of the calculations, to speed up subsequent loads?
13:59 JimmyZ nope
13:59 domidumont joined #perl6
13:59 JimmyZ why do you think that?
13:59 jnthn ajr_: Mostly it's loading and deserializing a bunch of objects (whcih is the cached calculation of the meta-objects, types, etc.)
14:01 ajr_ @jimmyZ - something's taking time to execute. It would have to be a huge file to take that long to load, which suggests that it's processing something.
14:05 lizmat ajr_: just parsing the settings takes 2+ minutes already, be glad it doesn't have to do that everytime rakudo starts  :-)
14:06 lizmat am I correct in assuming that we never want my %h{Mu}; to work ?
14:07 lizmat it would mean that all {} access would also have to allow Mu
14:07 lizmat so I would suggest %h{Mu} to fail at compile time
14:09 Mouq std: $_ = "abc"; tr/a..c/A..C/
14:09 yoleaux 10:42Z <moritz> Mouq: tr/a..c/A..C/ parsefails on rakudo; want to investigate?
14:09 camelia std 27326bc: OUTPUT«ok 00:00 43m␤»
14:09 Mouq moritz: Why yes, yes I would ;p
14:10 Mouq moritz++ btw # tr/// implementation
14:11 Mouq What does QAST::SVal.new() create?
14:12 Mouq Oh. I should just rtfm. https://github.com/perl6/nqp/blob/master/docs/qast.markdown
14:21 dalek roast: 6231e15 | (Elizabeth Mattijsen)++ | S11-modules/ (2 files):
14:21 dalek roast: Unfudges etc. for S11
14:21 dalek roast: review: https://github.com/perl6/roast/commit/6231e15ab4
14:21 timotimo in my experience, SVal works best if you forget to use :value(...) and just plop the string right into the node!
14:22 pmurias that's irony?
14:22 timotimo yes
14:23 timotimo mixed with a side of bitterness
14:23 daxim it's like rain on your wedding day
14:23 timotimo at least that didn't cost me much time, because the error message i got was quite enlightening
14:26 dalek nqp: b867c93 | (Pawel Murias)++ | t/nqp/79-callercode.t:
14:26 dalek nqp: Expand test 79 to also check callercode works in methods.
14:26 dalek nqp: review: https://github.com/perl6/nqp/commit/b867c9383b
14:26 dalek nqp: 9318564 | (Pawel Murias)++ | / (2 files):
14:26 dalek nqp: Fix NQPMatch.dump. Add a test that check match methods work correctly.
14:26 dalek nqp: review: https://github.com/perl6/nqp/commit/93185649e9
14:27 lizmat r: class A { has $!a; method a { Proxy.new( FETCH => method () { $!a } ) } }; say A.new.a  # failure seems to be triggered by "method ()'
14:27 camelia rakudo 5aeaca: OUTPUT«Can not get attribute '$!a' declared in class 'A' with this object␤  in method <anon> at /tmp/MUfUgkRGLE:1␤  in sub say at src/gen/CORE.setting:12457␤  in block  at /tmp/MUfUgkRGLE:1␤␤»
14:28 donaldh joined #perl6
14:28 timotimo r: class A { has $!a; method a { Proxy.new( FETCH => method :: () { $!a } ) } }; say A.new.a
14:28 camelia rakudo 5aeaca: OUTPUT«Nominal type check failed for parameter ''; expected A but got Proxy instead␤  in method <anon> at /tmp/sZjdfvUSaw:1␤  in sub say at src/gen/CORE.setting:12457␤  in block  at /tmp/sZjdfvUSaw:1␤␤»
14:29 timotimo isn't that how you do anon if you feel forced to put something where its name was supposed to be?
14:29 lizmat not sure
14:29 timotimo r: class A { has $!a; method a { Proxy.new( FETCH => method { $!a } ) } }; say A.new.a
14:29 camelia rakudo 5aeaca: OUTPUT«Can not get attribute '$!a' declared in class 'A' with this object␤  in method <anon> at /tmp/kDBfWfT6nA:1␤  in sub say at src/gen/CORE.setting:12457␤  in block  at /tmp/kDBfWfT6nA:1␤␤»
14:29 timotimo r: class A { has $!a; method a { Proxy.new( FETCH => method :: { $!a } ) } }; say A.new.a
14:29 camelia rakudo 5aeaca: OUTPUT«Nominal type check failed for parameter ''; expected A but got Proxy instead␤  in method <anon> at /tmp/1l7oiVWFbp:1␤  in sub say at src/gen/CORE.setting:12457␤  in block  at /tmp/1l7oiVWFbp:1␤␤»
14:30 timotimo dunno.
14:33 jnthn An anonymous method declares its own self
14:33 jnthn Which is of type Mu, or perhaps Any
14:34 jnthn This hides the self that $!a is declared on
14:34 lizmat aha… of course
14:34 jnthn Should really be a compile-time error...
14:34 lizmat then the test is bogus
14:34 masak jnthn: waitwait... even a nested method inside a class?
14:34 lizmat jnthn: are you saying that $!foo is really just self->foo ?
14:35 masak lizmat: if by self->foo you mean "lower-level lookup", then yes.
14:35 denisboyun joined #perl6
14:35 lizmat aha, that explains the recursion  :-)
14:35 timotimo "wrongcursion" :)
14:36 lizmat in t/spec/S12-attributes/mutators.t
14:36 masak "oh-noes-not-againcursion"
14:36 masak lizmat: no, I don't think it explains the recursion...
14:37 masak $.a delegates to $!a but not vice versa.
14:37 lizmat so basically that makes it impossible to have a private attribute $!a in a class and a method "a" referring to $!a
14:38 lizmat if you specify that as a method, you get the wrong self
14:38 lizmat and if you don't, you get recursion
14:38 timotimo er, not quite
14:38 lizmat ok, *phew*
14:38 timotimo r: class A { has $!a; method a { Proxy.new( FETCH => sub { $!a } ) } }; say A.new.a
14:38 * lizmat looks deeper into the test
14:38 camelia rakudo 5aeaca: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤  in sub  at /tmp/3YEhhIMDAO:1␤  in sub say at src/gen/CORE.setting:12457␤  in block  at /tmp/3YEhhIMDAO:1␤␤»
14:39 timotimo r: class A { has $!a; method a { Proxy.new( FETCH => sub ($thing) { $!a } ) } }; say A.new.a
14:39 camelia rakudo 5aeaca: OUTPUT«(signal SEGV)»
14:39 timotimo oh, pardon me
14:39 timotimo i may be full of carp
14:40 * masak submits rakudobug
14:40 timotimo huh, the proxies *are* supposed to be given anonymous methods
14:40 * masak is surprised
14:41 lizmat blocks seem to work ok as well
14:41 jnthn masak: I'm not sure putting it inside a class means it should get the current package as its invocant type... In fact, that would absolutely not work here...
14:42 masak r: class A { has $!a; method a { Proxy.new( FETCH => sub ($thing) { 42 } ) } }; say A.new.a
14:42 camelia rakudo 5aeaca: OUTPUT«(signal SEGV)»
14:43 jnthn I hate Proxy...
14:43 jnthn I'm not sure it's possible to make it not be fragile :/
14:43 jnthn decommute &
14:48 FROGGS joined #perl6
14:49 FROGGS olé \o/
14:53 dalek v5: 2c1d7e9 | (Tobias Leich)++ | / (2 files):
14:53 dalek v5: put labeled statements in the ast
14:53 dalek v5: review: https://github.com/rakudo-p5/v5/commit/2c1d7e95d8
14:56 timotimo oh, labels?
14:56 lizmat v5  :-)
14:56 timotimo yes, i saw that
14:59 FROGGS timotimo: that is exactly what Perl6 does too
14:59 FROGGS parse label declarations, but goto/last/next/redo LABEL is NYI
14:59 tadzik curiosity: how many people here click the links that synopsebot generates?
14:59 timotimo ah, okay
15:00 timotimo i occasionally do, tadzik
15:00 * lizmat 2
15:00 kaare_ joined #perl6
15:00 FROGGS r: my $s = 'abc'; $s ~~ tr/a/x/; say $s
15:00 camelia rakudo 5aeaca: OUTPUT«xbc␤»
15:00 FROGGS ohh, that is something I need to steal :o)
15:01 FROGGS tadzik: I do usually
15:02 lizmat tadzik: wouldn't mind it doing RT#12345 as well  :-)
15:02 FROGGS true
15:02 timotimo i'd like that, yes
15:03 FROGGS $timotimo ~~ s[like] = 'like to do';  # well volunteered! :P
15:04 tadzik lizmat: that sounds doable :)
15:05 lizmat cool!
15:05 Mouq joined #perl6
15:06 synopsebot joined #perl6
15:06 tadzik RT#12345
15:06 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=12345
15:06 tadzik S1:2
15:06 synopsebot Link: http://perlcabal.org/syn/S1.html#line_2
15:06 tadzik perfect
15:06 timotimo cool :)
15:06 FROGGS hehe
15:06 FROGGS tadzik++
15:06 FROGGS RT #123
15:06 FROGGS :o(
15:06 tadzik :|
15:06 dalek roast: d031607 | (Elizabeth Mattijsen)++ | S12- (8 files):
15:06 dalek roast: Unfudges etc. for S12
15:06 dalek roast: review: https://github.com/perl6/roast/commit/d031607bd5
15:06 FROGGS *g*
15:07 synopsebot joined #perl6
15:07 tadzik I'll just make it sikp RT
15:07 tadzik #1234
15:07 lizmat 52 more files to check   …  calling it a day for now
15:07 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=1234
15:07 tadzik good enough
15:07 FROGGS tadzik is our #1 !
15:07 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=1
15:07 tadzik hah
15:07 FROGGS RT #0xEF05BC
15:07 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=0
15:07 FROGGS hehe
15:07 lizmat no permission to view ticket 1
15:07 FROGGS (joke)
15:08 tadzik A QA walks into a bar. A QA runs into a bar. A QA jumps into a bar. A QA crawls into a bar.
15:12 JimmyZ foobar
15:16 TimToady the QA fails to note the systematic error of never walking out of a bar
15:17 moritz a QA walks into a QA
15:18 dalek roast: 992054f | (Elizabeth Mattijsen)++ | S03-metaops/hyper.t:
15:18 dalek roast: Skip hyper .++ tests, they bomb now
15:18 dalek roast: review: https://github.com/perl6/roast/commit/992054f03a
15:18 timotimo aaw :(
15:18 lizmat Mouq: you may want to look at S03-metaops/hyper.t
15:19 lizmat at least on parakudo "(@r = (1, 4, 9))».++;" seems to fail now
15:21 Mouq
15:22 * Mouq is building parakudo
15:23 timotimo r: (@r = (1, 4, 9))».++
15:23 camelia rakudo 5aeaca: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/M47EHWc15Tâ�¤Variable '@r' is not declaredâ�¤at /tmp/M47EHWc15T:1â�¤------> [32m(@r[33mâ��[31m = (1, 4, 9))».++[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
15:23 Mouq Err, wow, parakudo, not jarakudo
15:23 timotimo r: (my @r = (1, 4, 9))».++
15:23 camelia rakudo 5aeaca: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤  in sub METAOP_HYPER_CALL at src/gen/CORE.setting:15838␤  in block  at /tmp/pNM43DNMqR:1␤␤»
15:23 Mouq r: (my @r = (1, 4, 9)).».++
15:23 camelia rakudo 5aeaca: OUTPUT«No such method 'postcircumfix:<( )>' for invocant of type 'Int'␤  in sub METAOP_HYPER_CALL at src/gen/CORE.setting:15838␤  in block  at /tmp/Lz25s0bsoE:1␤␤»
15:23 Mouq Hmm
15:25 Mouq r: .++ # …
15:25 camelia rakudo 5aeaca:  ( no output )
15:26 timotimo another bunch of videos just hit the yapceu youtube account
15:26 timotimo including jnthn++ 's jvm talk :)
15:26 FROGGS ohh cool
15:26 FROGGS bbi41:52 :o)
15:27 timotimo :)
15:27 timotimo same
15:29 jnthn :P
15:29 jnthn Damn, I'm bad for productivity
15:30 FROGGS **g
15:30 FROGGS I'm haccking while listening, so dont feel too bad :o)
15:35 timotimo how far did the scheduler work get to the point where tasks being blocked by other tasks are handled cleverly?
15:35 dalek roast: 5ceab2c | (Elizabeth Mattijsen)++ | S03-binding/hashes.t:
15:35 dalek roast: Needed to add a dummy skipped test not not completely skip this file ???
15:35 dalek roast: review: https://github.com/perl6/roast/commit/5ceab2cd43
15:35 dalek roast: d20b0d2 | (Elizabeth Mattijsen)++ | S (3 files):
15:35 dalek roast: Fix the things I unfixed the past hours
15:35 dalek roast: review: https://github.com/perl6/roast/commit/d20b0d21f2
15:37 TimK1 joined #perl6
15:46 ajr joined #perl6
15:48 raiph joined #perl6
15:56 Mouq r: say 4i; say 4.i
15:56 camelia rakudo 5aeaca: OUTPUT«0+4i␤No such method 'i' for invocant of type 'Int'␤  in block  at /tmp/kRKQ18l7ka:1␤␤»
15:57 shinobicl_ joined #perl6
15:59 Mouq r: multi postfix:<𝑖> ($n) { &postfix:<i>($n) }; 4.𝑖
15:59 camelia rakudo 5aeaca: OUTPUT«No such method '𝑖' for invocant of type 'Int'␤  in block  at /tmp/X59MGUFqHb:1␤␤»
16:00 Mouq r: multi postfix:<𝑖> ($n) { &postfix:<i>($n) }; 4𝑖
16:00 camelia rakudo 5aeaca:  ( no output )
16:00 rindolf joined #perl6
16:02 TimToady r: multi postfix:<𝑖> ($n) { $n\i }; say 4\𝑖
16:02 camelia rakudo 5aeaca: OUTPUT«0+4i␤»
16:02 TimToady for alphabetic postfixes you have to use \ instead of .
16:02 TimToady because the parser prefers to parse . as a normal method dispatch in that case
16:03 TimToady in general, there are many more method names than alpha postfixes :)
16:06 Mouq Cool. I didn't realize 𝑖 would be seen as an alpha
16:07 TimToady P6 is trying to be the first mainstream language that thinks in Unicode
16:08 TimToady rather than in some encoding of Unicode
16:09 timotimo so, were any interesting questions asked after the jvm-rakudo talk?
16:09 TimToady don't recall
16:09 TimToady might've run out of time
16:11 TimToady jnthn++ might have better recall of that
16:11 Mouq r: macro postfix:< ⟼ >($a) { quasi { $_ = {{{$a}}}; } }; 4⟼.++; .say
16:11 camelia rakudo 5aeaca: OUTPUT«Cannot modify an immutable value␤  in any  at /tmp/hdvwMQw4zl:1␤  in block  at /tmp/hdvwMQw4zl:1␤␤»
16:13 nebuchadnezzar joined #perl6
16:13 Mouq r: macro postfix:< ⟼ >($a) { quasi { $_ = {{{$a}}}; } } ␤ 4⟼.++; .say
16:13 camelia rakudo 5aeaca: OUTPUT«Cannot modify an immutable value␤  in any  at /tmp/K60llhqJcJ:1␤  in block  at /tmp/K60llhqJcJ:1␤␤»
16:13 masak Mouq: $_ would be lexically bound to that quasi scope, so what you're doing won't work without COMPILING::
16:13 masak (which is NYI)
16:14 Mouq It works in repl...
16:14 masak o.O
16:16 TimToady I get: java.lang.ArrayIndexOutOfBoundsException: 4
16:19 Mouq I'm on parakudo. Interestingly it doesn't work if there isn't a newline before it's used, so it is something weird with the repl I think pretty certainly
16:19 jnthn I don't think there were time for questions after the JVM talk...
16:20 jnthn But some people asked me privately afterwards...
16:21 pmurias jnthn: why do we have a ws rxtype?
16:22 jnthn pmurias: To facilitate analysis/compilation. It delegates straight off to subrule, iirc.
16:23 jnthn If we see two of 'em in a row in a concat we'd know we could throw away one, though.
16:24 jnthn (Though, no reegeedx optimizer yet :()
16:24 jnthn *regex
16:24 jnthn what the fingers...
16:24 dalek roast: f7a382d | (Elizabeth Mattijsen)++ | S14-roles/parameterized-mixin.t:
16:24 dalek roast: Fudges for S14
16:24 dalek roast: review: https://github.com/perl6/roast/commit/f7a382d364
16:26 timotimo jnthn: i was refering to private questions; just ones that would be interesting to other people and not violate the asker's expectation of privacy of course
16:26 * timotimo is watching the perl 7 version discussion panel
16:27 lizmat timotimo: there was not much discussion
16:27 pmurias jnthn: isn't it possible to override the ws rule?
16:28 pmurias jnthn: so the ws rxtype could be removed?
16:31 jnthn pmurias: I don't see how the first thing you said implies the second.
16:31 jnthn Anyway, it stays.
16:32 jnthn Note it's only for automatically inserted <.ws> calls.
16:32 masak timotimo: ooh, the panel is online? I hope I did OK...
16:32 timotimo http://www.youtube.com/watch?v=E_8bjsimLsk
16:32 lizmat n: say ord("")
16:32 camelia niecza v24-92-g3961d5d: OUTPUT«(Any)␤»
16:32 lizmat r: say ord("")
16:32 timotimo i'ven't seen you on stage yet
16:32 camelia rakudo 5aeaca: OUTPUT«Cannot get character of empty string␤  in method ord at src/gen/CORE.setting:3098␤  in sub ord at src/gen/CORE.setting:3202␤  in block  at /tmp/JKPDUQJhcJ:1␤␤»
16:32 masak timotimo: TimToady and lizmat and I were invited up on stage.
16:32 masak timotimo: I was there in the role of "jnthn isn't here, let's grab this guy" :P
16:33 timotimo hah :)
16:33 jnthn masak, the backup jnthn. :)
16:33 masak wfm :P
16:33 jnthn me too :P
16:33 pmurias jnthn: what I mean is that an ws rxtype offers no extra info from an equivalent subrule
16:33 timotimo I like seeing either of you, so I wouldn't complain :)
16:34 jnthn pmurias: It offers the fact that it was inserted automatically
16:34 pmurias and how is that imporant for compilation?
16:34 pmurias * important
16:35 jnthn For code-gen, it's not. For an optimizer, it may be.
16:36 jnthn It's not something I put it; it's been in there for quite a while. I'm guessing Pm has a reason for it to be there.
16:36 pmurias wasn't it treated differently during NFA construction in the past?
16:37 jnthn It may still be
16:37 jnthn But yeah, could be relevant there too...
16:37 jnthn I'm not seeing a reason to remove it, though.
16:37 jnthn I mean, you're arguing over a one line method to implement it :/
16:38 skids joined #perl6
16:42 dalek rakudo/nom: bb2d2e2 | (Elizabeth Mattijsen)++ | src/core/Cool.pm:
16:42 dalek rakudo/nom: Make "".ord return Any, just like Niecza (unspecced behaviour, afaics)
16:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bb2d2e2108
16:50 timotimo i don't think i learnt too much from viewing that, but that's my fault
16:52 TimToady it was intended more for consumption by the P5 audience
16:53 masak I'm not sure I picked out an intent of the whole thing.
16:55 timotimo huh?
16:55 masak I understood it as Andrew's attempt to honor the "Future Perl" debate with some of his opinions. which were, in order, "I'm not really serious about this Perl 7 thing", "Please don't remove ~~ from Perl 5", "Hey, how about that Perl 7 thing?"
16:55 masak I can't have been the only one who was confused by that set of messages.
16:55 masak then again, *all* Perl 6 detractors pulled the same "I'm not really serious" line first thing they did.
16:56 lizmat fwiw, I feel that andrew did not want to lose face by removing that item from the agenda
16:56 lizmat but he probably should have
16:56 masak maybe because TimToady made sure to saw them off at the ankles in his keynote.
16:58 lizmat r: say <a b c d>.rotate # should this work, not seeing any spec for it
16:58 camelia rakudo 5aeaca: OUTPUT«No such method 'rotate' for invocant of type 'Parcel'␤  in block  at /tmp/2uLBgT5buD:1␤␤»
16:58 lizmat n: say <a b c d>.rotate # should this work, not seeing any spec for it
16:58 camelia niecza v24-92-g3961d5d: OUTPUT«b c d a␤»
16:58 TimToady well, I didn't say they couldn't have Perl 7--I just pointed out that it wouldn't have my blessing unless it solved more of the RFCs than Perl 6 does. :)
16:58 denis_boyun joined #perl6
16:59 timotimo r: my @a = <a b c d>; say @a.rotate;
16:59 camelia rakudo 5aeaca: OUTPUT«b c d a␤»
16:59 timotimo so this is just about parcel having the method, not just Array or List?
16:59 lizmat timotimo: yes
16:59 lizmat niecza seems to have it, rakudo doesn't
17:00 lizmat n: say <a b c d>.rotate.WHAT
17:00 camelia niecza v24-92-g3961d5d: OUTPUT«(Parcel)␤»
17:00 timotimo my ($a, $b, $c) = 1, 2, 3; say ($a, $b, $c); ($a, $b, $c) .= rotate; say ($a, $b, $c); # i think this should work
17:00 timotimo rn: my ($a, $b, $c) = 1, 2, 3; say ($a, $b, $c); ($a, $b, $c) .= rotate; say ($a, $b, $c); # i think this should work
17:00 camelia niecza v24-92-g3961d5d: OUTPUT«1 2 3␤2 3 1␤»
17:00 camelia ..rakudo 5aeaca: OUTPUT«1 2 3␤No such method 'rotate' for invocant of type 'Parcel'␤  in method dispatch:<.=> at src/gen/CORE.setting:1151␤  in block  at /tmp/HZe_UsVBS0:1␤␤»
17:00 synopsebot Link: http://perlcabal.org/syn/S0.html#line_1
17:00 timotimo tee hee
17:01 tadzik what :)
17:01 tadzik ah :D
17:02 jnthn ahaha..
17:03 lizmat guess we need a \b (or |w) before the S
17:04 lizmat cycling and dinner&
17:04 masak rn: say "S02" ~ ":42"
17:04 camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«S02:42␤»
17:04 synopsebot Link: http://perlcabal.org/syn/S02.html#line_42
17:04 masak cute.
17:04 timotimo tadzik: so, what was the latest status of sockets on jvm?
17:06 tadzik timotimo: they work :)
17:06 tadzik donaldh++ is now working on making them better
17:06 timotimo oh!
17:06 timotimo i did not realize!
17:06 tadzik they aren't merged
17:06 timotimo what's the next thing on the road to betterness?
17:07 tadzik until we have open(..., $p) I can't tell if spectests pass
17:07 timotimo ah, that's tough :(
17:07 tadzik LWP::Simple works with them sometimes
17:07 timotimo ... sometimes :/
17:07 tadzik yeah
17:19 TimK1 left #perl6
17:21 Mouq Is @r».++ eqv in terms of results to @r.map: -> $a is copy {$a.++} ?
17:21 Mouq Oh wait, no
17:21 benabik <-> $a
17:21 benabik (Or equiv -> $a is rw)
17:22 Mouq r: (my @r = (1, 4, 9)).map: <-> $a {$a.++}; say @r
17:22 camelia rakudo bb2d2e: OUTPUT«2 5 10␤»
17:22 Mouq benabik.++
17:24 FROGGS joined #perl6
17:25 Mouq r: 100{}
17:25 camelia rakudo bb2d2e:  ( no output )
17:26 Mouq r: 100{0}
17:26 camelia rakudo bb2d2e: OUTPUT«postcircumfix:<{ }> not defined for type Int␤current instr.: 'throw' pc 389528 (src/gen/CORE.setting.pir:165044) (src/gen/CORE.setting:10183)␤called from Sub 'sink' pc 425588 (src/gen/CORE.setting.pir:178293) (src/gen/CORE.setting:11572)␤called from Sub 'MAIN' pc 4…
17:28 dalek v5: b147be0 | (Tobias Leich)++ | / (2 files):
17:28 dalek v5: wire tr/// to .trans, moritz++
17:28 dalek v5: review: https://github.com/rakudo-p5/v5/commit/b147be06c9
17:29 hoelzro ticket purchased!
17:29 hoelzro \o/
17:30 masak ticket... to what? LWP::Simple?
17:30 hoelzro Frankfurt::Workshop
17:30 masak \o/
17:36 cognominal itou
17:41 GlitchMr joined #perl6
17:44 btyler joined #perl6
17:49 Guillaume2 joined #perl6
17:49 Guillaume2 hey
17:49 masak aloha.
17:49 Guillaume2 i smoked a joint
17:49 Guillaume2 im in a caf.
17:49 Guillaume2 café
17:49 * masak looks for op
17:49 Rotwang joined #perl6
17:50 Guillaume2 was kicked by masak: Guillaume2
17:50 Guillaume2 joined #perl6
17:50 Guillaume2 why did you kick me , poor sinner that i am ??
17:50 masak hm, or should that be a kickban...
17:51 Guillaume2 was kicked by masak: Guillaume2
17:52 moritz masak++
17:53 flussence «too few arguments: 0 passed, 138051968 expected»... get outta here REPL, I'm not typing all those in!
17:53 SamuraiJack_ joined #perl6
17:53 jnthn flussence: GO FOR IT!
17:53 moritz flussence: nothing easier than that: my @args := 1 xx 138051968; foo(|@args);
17:54 masak to those who felt I crossed a line in kickbanning our weedy friend, he just proved to me on privmsg where his continued presence on the channel would lead...
17:55 masak flussence: "go home REPL, you're drunk" :)
17:55 jnthn masak: If you'd got consensus with somebody else, at least it woulda been a joint decision...
17:56 * moritz groans
17:58 masak jnthn: I would say I "weeded him out" quite quickly.
17:58 flussence so I've been sitting on a beach for most of the day poking at the code for a HTML5 entities module... :)
17:58 Mouq At least you were blunt about it.
17:59 jnthn masak: You toke him rapidly indeed.
17:59 ajr_ So you smoked him.
18:00 masak ah, #perl6. it's nice to come home to you after a day's work :)
18:00 diakopter flussence: you got it all figured out? :)
18:00 flussence it turns out that rakudo[parrot] takes *15* minutes just to decode/.perl.say the JSON file containing the entity list... rakudo[jvm] is about 3 times as fast
18:00 moritz that's still not awesome
18:01 moritz flussence: how big is the file?
18:01 flussence pretty big, about 2230 items
18:01 diakopter *gag*
18:01 diakopter only 3x as fast?!
18:02 itz_ joined #perl6
18:02 diakopter *whimper*
18:02 flussence well that's including the startup time... ;)
18:03 ajr_ Did you use ~~?
18:04 ssutch joined #perl6
18:04 ajr joined #perl6
18:06 flussence (the JSON's at http://www.whatwg.org/specs/web-apps/current-work/multipage/entities.json if anyone is curious. They seem to be going the NFG route in a few places...)
18:07 moritz 148K
18:08 TimToady Q: What's either better or worse than a troll?  A: A stoned troll.
18:08 masak :)
18:09 Quom joined #perl6
18:10 domidumont joined #perl6
18:10 lue (depends on your definition of "being stoned")
18:13 dmol joined #perl6
18:14 timotimo i guess that's why it's "either"
18:15 diakopter masak cast the first stone
18:16 TimToady A search of the appropriate historical records indicates that hobbits were throwing stones long before you were born.
18:22 Mouq_ joined #perl6
18:23 prevost joined #perl6
18:27 GlitchMr joined #perl6
18:39 flussence rn: say "\x1f63e".encode('utf16').values
18:39 camelia rakudo bb2d2e: OUTPUT«55357 56894␤»
18:39 camelia ..niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: System.ArgumentException: Encoding name 'utf16' not supported␤Parameter name: name␤  at System.Text.Encoding.GetEncoding (System.String name) [0x00000] in <filename unknown>:0 ␤  at Builtins.encode (System.String inp, System.String enc…
18:39 flussence rn: say "\x1f63e".encode('utf-16').values
18:39 camelia rakudo bb2d2e: OUTPUT«55357 56894␤»
18:39 camelia ..niecza v24-92-g3961d5d: OUTPUT«Buf.new(...)␤»
18:39 ssutch joined #perl6
18:40 flussence I have absolutely no idea how to (or whether I can) work with utf-16 in niecza, and it's a prerequisite for the JSON stuff I'm doing...
18:41 timotimo rn: '\xff\xfe\xf6\x00'.decode('utf16').say
18:41 camelia niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method decode in type Str␤  at /tmp/yNXX31cK7t line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤  at /home…
18:41 camelia ..rakudo bb2d2e: OUTPUT«No such method 'decode' for invocant of type 'Str'␤  in block  at /tmp/p0mFauMBu3:1␤␤»
18:41 timotimo rn: utf16.new(0xff, 0xfe, 0xf6, 0x00).decode('utf16').say
18:41 camelia niecza v24-92-g3961d5d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Undeclared routine:â�¤     'utf16' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1502 (die @ 5) â�¤  at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 36) â�¤  at /ho…
18:41 camelia ..rakudo bb2d2e: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4882␤  in block  at /tmp/oK1cPdwVkc:1␤␤»
18:41 timotimo rn: Buf.new(0xff, 0xfe, 0xf6, 0x00).decode('utf16').say
18:41 camelia rakudo bb2d2e: OUTPUT«ö␤»
18:41 camelia ..niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match:␤    Mu, *%_␤  at /tmp/lqCgSJMMxh line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @…
18:42 timotimo rn: Buf.new((0xff, 0xfe, 0xf6, 0x00)).decode('utf16').say
18:42 camelia niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match:␤    Mu, *%_␤  at /tmp/8fLOSyV7ng line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @…
18:42 camelia ..rakudo bb2d2e: OUTPUT«ö␤»
18:42 timotimo well, what can i say? :\
18:43 timotimo rn: (0xff, 0xfe, 0xf6, 0x00).buf.decode('utf16').say
18:43 camelia niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method buf in type Parcel␤  at /tmp/dCFHBZ52HQ line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤  at /home…
18:43 camelia ..rakudo bb2d2e: OUTPUT«No such method 'buf' for invocant of type 'Parcel'␤  in block  at /tmp/PBvrx6DaXV:1␤␤»
18:43 flussence r: utf16.new("\x1f63e".encode('utf-16').values).perl.say
18:43 camelia rakudo bb2d2e: OUTPUT«utf16.new(55357, 56894)␤»
18:43 flussence r: utf16.new("\x1f63e".encode('utf-16').values).decode.ords.say
18:43 camelia rakudo bb2d2e: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4882␤  in block  at /tmp/kGQ4SnJlh8:1␤␤»
18:43 flussence blargh.
18:43 flussence r: uint16.new("\x1f63e".encode('utf-16').values).decode('utf-16').ords.say
18:43 camelia rakudo bb2d2e: OUTPUT«Default constructor for 'uint16' only takes named arguments␤  in method new at src/gen/CORE.setting:822␤  in method new at src/gen/CORE.setting:817␤  in block  at /tmp/ZvT6r8bNz2:1␤␤»
18:43 flussence r: uint16.new(|("\x1f63e".encode('utf-16').values)).decode('utf-16').ords.say
18:44 camelia rakudo bb2d2e: OUTPUT«Default constructor for 'uint16' only takes named arguments␤  in method new at src/gen/CORE.setting:822␤  in method new at src/gen/CORE.setting:817␤  in block  at /tmp/8gdn6TI1Qb:1␤␤»
18:44 flussence r: Buf[uint16].new("\x1f63e".encode('utf-16').values).decode('utf-16').ords.say
18:44 camelia rakudo bb2d2e: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4755␤  in block  at /tmp/rJ4xaVSo8s:1␤␤»
18:44 jnthn joined #perl6
18:44 flussence r: say Buf[uint16].new(55357, 56894).decode('utf-16').ords
18:44 camelia rakudo bb2d2e: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4755␤  in block  at /tmp/zKGGTO3Nen:1␤␤»
18:45 flussence r: say Buf[uint16].new([55357, 56894]).decode('utf-16').ords
18:45 camelia rakudo bb2d2e: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4755␤  in block  at /tmp/YpXJh9reuv:1␤␤»
18:45 flussence r: say Buf[uint16].new([55357, 56894])
18:45 camelia rakudo bb2d2e: OUTPUT«Buf:0x<d83d de3e>␤»
18:45 flussence uh...
18:45 flussence r: say Buf[uint16].new([55357, 56894]).decode('utf16')
18:45 camelia rakudo bb2d2e: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4755␤  in block  at /tmp/spNvFguwVy:1␤␤»
18:45 timotimo oh
18:45 timotimo is this about uint not working in general?
18:46 flussence this *was* working in my local copy of JSON::Tiny... I've got tests and everything
18:46 flussence r: say Buf[uint16].new([0xD835, 0xDCB7]).decode('utf16')
18:46 camelia rakudo bb2d2e: OUTPUT«VMArray: index out of bounds␤  in method decode at src/gen/CORE.setting:4755␤  in block  at /tmp/xZ4eVNMsne:1␤␤»
18:47 flussence something's gone screwy here :/
18:47 ajr_ joined #perl6
18:47 flussence yeah, I just finished updating rakudo and now it's stopped working
18:48 donaldh tadzik: timotimo: making sockets on JVM better goes via worse first :-/
18:48 timotimo i see
18:49 donaldh meaning that I have sync client sockets working using the same NIO ops as we use for files.
18:49 Mouq joined #perl6
18:50 donaldh But I have not got server or async sockets implemented on NIO yet.
18:50 moritz has anybody tried panda on jakudo?
18:51 Mouq n: (0xff, 0xfe, 0xf6, 0x00).map({Buf.new($_)}).decode('utf16').say
18:51 camelia niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Cannot call new; none of these signatures match:␤    Mu, *%_␤  at /tmp/PNY7WGaTKt line 1 (ANON @ 4) ␤  at <unknown> line 0 (KERNEL map @ 2) ␤  at /home/p6eval/niecza/lib/CORE.setting line 370 (Any.map @ 4) ␤  at /tmp/PNY7WGaTKt line 1 …
18:53 donaldh moritz: yes. Very close to working, with a couple of tweaks.
18:53 donaldh moritz: panda is hard-coded to compile to pit and to copy pir files during install.
18:53 donaldh pir even
18:55 donaldh tweaking pit to jar was enough to get bootstrap to work.
18:55 donaldh darned auto correct
18:56 jnthn You have auto cat rectal on your IRC client?!
18:57 donaldh MacOS is generous with its auto corrupting text widgets.
18:57 FROGGS wut?
18:57 jnthn eek :)
18:58 arnsholt I have no problems with autocorrect on OS X. OTOH, I spend 90% of the time looking at a terminal window =D
18:59 * geekosaur points at System Preferences > Language & Text > Text
19:00 donaldh geekosaur++ iirc that global setting didn't used to exist.
19:01 geekosaur it was elsewhere in lion
19:01 geekosaur or maybe it was SL that it was different. whatever version they added pervasive autoincorrect to
19:01 geekosaur I keep looking for it under Keyboard initially because that's where it used to live at one point
19:01 donaldh I knew the option was available in the context menu of every text area but I think there was no way to persist preference.
19:10 shinobicl_ left #perl6
19:28 logie joined #perl6
19:30 GlitchMr joined #perl6
19:31 GlitchMr r: macro double($value) { quasi { {{{$value}}}; {{{$value}}}; Nil } }; double print "lol";
19:31 camelia rakudo bb2d2e: OUTPUT«lollol»
19:31 GlitchMr Interesting.
19:31 masak how so?
19:32 GlitchMr Well, it isn't.
19:33 masak sounds like we're in agreement.
19:34 flussence r: say "\x1f63e".encode('utf-16').values
19:34 camelia rakudo bb2d2e: OUTPUT«55357 56894␤»
19:34 flussence on jvm, those have become *signed* ints :(
19:35 GlitchMr Well, it's not that JVM has unsigned values.
19:36 GlitchMr (unless I'm mistaken)
19:36 flussence yeah but this all *worked* a few days ago... I'm wondering if 2d5abcaedb caused it
19:37 GlitchMr Still, I don't understand why Java developers decided to not implement unsigned types.
19:37 flussence and besides, jvm repl says they're Ints with a capital I, so wraparound shouldn't be happening
19:38 sorear java has one unsigned type (char aka unsigned short)
19:38 GlitchMr I know about 'char'
19:38 GlitchMr But it's useless.
19:38 sorear GlitchMr: space constraints in the 1-byte opcode set have a lot to do with it, I think
19:39 sorear the JVM has a lot more problems than the CLR with opcode space because the Java people originally wanted to directly execute bytecodes with a type-ignorant interpreter
19:40 flussence (aren't there some arm chips that actually do that?)
19:40 EvanTeitelman joined #perl6
19:43 GlitchMr "1-byte opcode set"
19:44 GlitchMr I'm not sure if this is bad or worse.
19:44 ssutch joined #perl6
19:45 sorear well, the short version is "hysterical raisins"
19:45 GlitchMr Just like generics implemented using type erasure, causing broken implementation of generics.
19:46 arnsholt All the Java integer types are signed, but the VM specs the representation (twos complement, IIRC) as well, so you can fake signedness
19:47 sorear and there's no reason they couldn't have implemented unsigned types in the *compiler* - actually the VM uses two's complement so everything except division would more or less just work, with a few bitmasks
19:47 sorear (why did it take the world so long to standardize on binary two's complement?)
19:49 GlitchMr Two's complement is already sort of standard.
19:49 moritz (why did it take the world so long to standardize on UTF-8?)
19:50 sorear GlitchMr: that didn't happen until around 1980
19:50 GlitchMr 1980 doesn't count now, does it?
19:50 BabsSeed joined #perl6
19:50 sorear why weren't the advantages already obvious in 1940, is what I'm tangentially asking
19:51 masak they probably were, to at least some.
19:51 flussence on further poking, all heck's broken loose in my repl...
19:51 flussence > say ("\x1f63e".encode("utf$_").gist for 8, 16, 32)
19:51 flussence Buf:0x<-10 -61 -68 -42> Buf:0x<-27c3 -21c2> Buf:0x<1f63e>
19:51 arnsholt Probably, but in 1940 storage costs were completely different as well
19:51 GlitchMr Sign bit is easier when you print negative integer.
19:51 flussence (...that's jvm, and parrot:)
19:51 flussence > say ("\x1f63e".encode("utf-$_").gist for 8, 16, 32)
19:51 flussence encoding #-1 not found
19:52 moritz and then there's BCD and the love for 7-segment displays...
19:52 GlitchMr BCD is only for printing.
19:52 FROGGS r: say (("utf-$_").gist for 8, 16, 32)
19:52 camelia rakudo bb2d2e: OUTPUT«utf-8 utf-16 utf-32␤»
19:52 moritz iirc some bar code scanners use it too
19:52 GlitchMr Well, it makes sense, considering the number is already in BCD.
19:52 jnthn Didn't/doesn't x86 support Binary Coded Decimal? :)
19:53 timotimo i think it does
19:53 FROGGS flussence: works on my box (rakudo@parrot HEAD)
19:53 GlitchMr I know 65816 support BCD.
19:53 GlitchMr supports*
19:53 flussence jnthn: I've read that POWER does, don't think x86 does (at least in its basic instruction sets)...
19:54 flussence it's probably in some SSE99999 extension somewhere...
19:54 flussence r: say ("\x1f63e".encode("utf-$_").gist for 8, 16, 32)
19:54 sorear x86 has limited support for BCD arithmetic
19:54 camelia rakudo bb2d2e: OUTPUT«encoding #-1 not found␤  in method encode at src/gen/CORE.setting:5851␤  in block  at /tmp/e9jNPJEnGI:1␤␤»
19:54 sorear SSE?  nah, this is taking up space in the 1-byte 8086 legacy instruction set
19:55 FROGGS r: say (-> $_ { "\x1f63e".encode("utf-$_").gist } for 8, 16, 32)
19:55 camelia rakudo bb2d2e: OUTPUT«encoding #-1 not found␤  in method encode at src/gen/CORE.setting:5851␤  in block  at /tmp/Hy9IQ8WyIS:1␤␤»
19:55 sorear amd64 booted them though
19:55 GlitchMr BCD causes bugs.
19:55 GlitchMr PS3 had once bricked for one day because it stored the time in BCD.
19:56 GlitchMr day*
19:57 sorear the design of the eniac arithmetic system is pretty funny in retrospect
19:57 sorear bcd? try 1-of-10 binary coding
19:57 flussence is... that what it sounds like?
19:58 Guillaume2 joined #perl6
19:58 Guillaume2 why did you guys kick me earlier ?
19:58 Guillaume2 because i said I smoked a joint
19:58 Guillaume2 who cares
19:59 Guillaume2 what was your point ???
19:59 Guillaume2 was kicked by masak: Guillaume2
20:00 GlitchMr Who is that guy anyway?
20:00 flussence .oO( I think the point was to nip bad behaviour in the bud )
20:00 masak ...as a general note, he keeps being obscene to me over privmsg.
20:00 GlitchMr Oh, I see, spamming over PM.
20:00 moritz fwiw "who cares" is exactly the point
20:01 timotimo obscene!
20:01 masak that is not an exaggeration.
20:01 timotimo in that case, off with 'is heeeeeead!
20:02 masak anyway, points to the guy for getting a rhyme in between lines 2 and 4.
20:03 timotimo it would have been better to just quote lines from "i smoke to joints"
20:03 timotimo (of which there is a lovely version by richard cheese)
20:04 GlitchMr Interesting, http://ckknight.github.io/gorillascript/ has syntactic macros, and is actually entirely defined in terms of macros.
20:05 * geekosaur came very close to quoting it the first time they were in here
20:07 * masak .oO( I would've hoped something called "gorillascript" were defined entirely in terms of bananas )
20:08 moritz ook ook!
20:08 masak Jarkko, is that you? :P
20:09 tadzik oh, Richard Cheese :D
20:10 * lizmat just realized that if a test-file is opened in vi, you cannot spectest it
20:10 timotimo .... you can't?
20:11 * lizmat suddenly realizes that that is not true
20:11 lizmat *sigh*
20:11 masak tadzik: how does Richard Cheese enter the picture?
20:11 masak there's a "cheesescript", too?
20:12 flussence okay, my laptop's running rakudo 2013.08-3-g7cb364b which works fine, HEAD currently doesn't...
20:12 flussence time to go do this bisect thing I guess...
20:12 timotimo masak: the thing i said about the "smoke two joints" song
20:12 tadzik masak: spotify:track:3F8C4lBQBb1prDTockGa0p :)
20:12 moritz lizmat: I've had some weird interactions with vim saving files and fudge then deleting the source file, or something
20:13 masak tadzik: dz :)
20:13 lizmat so I thought I'd optimize Parcel.elems:
20:13 lizmat -    method elems() { self.flat.elems }
20:13 lizmat +    method elems() { nqp::elems($!storage) }
20:14 lizmat oddly enough, this causes quite some spectest errors
20:15 masak interesting. why?
20:15 moritz it's the .flat that makes a difference
20:15 moritz ((1, 2), (3, 4))
20:15 moritz .flat.elems is 4, nqp::elems($!storage) is 2
20:15 moritz I really wish we had at least one primitive and non-magical list-y type in Perl 6
20:16 lizmat surely we must have a better way to find out the number of elements without having to clone a potentially large list ?
20:16 moritz like an eager, non-flattening array
20:16 benabik Walk it without cloning?
20:16 lizmat yes, I guess that would be it
20:18 lizmat r: say ((1,2,3,4),(5,6),[7.8]).elems
20:18 camelia rakudo bb2d2e: OUTPUT«7␤»
20:18 lizmat so only pairs are flattened ?
20:18 benabik s/pair/parcel
20:19 lizmat parcels, right
20:19 lizmat duh
20:19 moritz r: say ((1, 2, 3, 4).item, 5).elems
20:20 camelia rakudo bb2d2e: OUTPUT«2␤»
20:20 moritz only non-item parcels :-)
20:20 flussence rn: say ((1,2,3,4),(5,6),[7,8]).elems
20:20 camelia niecza v24-92-g3961d5d: OUTPUT«3␤»
20:20 camelia ..rakudo bb2d2e: OUTPUT«7␤»
20:20 moritz r: say ((my @ = 1, 2, 3, 4), 5).elems
20:20 camelia rakudo bb2d2e: OUTPUT«5␤»
20:20 moritz only non-item list-like types
20:21 benabik [7,8] is an item?
20:21 moritz yes
20:22 moritz curlies and brackets are items
20:22 moritz and parens and @ sigils flatten
20:22 lizmat r: say (1,2,3).WHAT; say (1,2,3).item.WHAT  # how to see the diff between (1,2,3) and (1,2,3).item ?
20:22 camelia rakudo bb2d2e: OUTPUT«(Parcel)␤(Parcel)␤»
20:23 jnthn Be careful. If you .elems a Parcel with something in it that's Iterable, it'll reify the iterator as part of working out the elems count. If you don't keep that around, you'd end up re-evaluating it later.
20:23 moritz lizmat: there's no neat p6-level introspection for that :(
20:24 moritz nqp::iscont is useful inside the compiler
20:24 moritz r: say nqp::iscont((1, 2, 3))
20:24 camelia rakudo bb2d2e: OUTPUT«0␤»
20:24 moritz r: say nqp::iscont((1, 2, 3).item)
20:24 camelia rakudo bb2d2e: OUTPUT«1␤»
20:25 moritz we really need a .flattens or .is-item method or so
20:25 * lizmat abandons the Parcel.elems idea for now
20:25 moritz rakudo has a .flattens iirc, but it means something else
20:27 jnthn lizmat: I'm somewhat doubtful that Parcel.elems shows up as a hot-path (though happy to see a profile that shows otherwise), or that it's easy to optimize without duplicating a bunch of list handling logic.
20:28 lizmat jnthn: I was looking at how it was done, and  didn't take the flattening into account
20:28 jnthn *nod*
20:28 lizmat so a saw LHF, that now appears to be hanging higher
20:28 jnthn Aye :)
20:29 lizmat back to Parcel.rotate
20:29 lizmat rn: say <a b c d e>.rotate
20:29 camelia niecza v24-92-g3961d5d: OUTPUT«b c d e a␤»
20:29 camelia ..rakudo bb2d2e: OUTPUT«No such method 'rotate' for invocant of type 'Parcel'␤  in block  at /tmp/Nanpza7rRm:1␤␤»
20:29 lizmat rn: say ((1,2),(3,4).rotate
20:29 camelia niecza v24-92-g3961d5d: OUTPUT«[31m===[0mSORRY![31m===[0m��Unable to parse parenthesized expression at /tmp/WouXttb_LY line 1:�------> [32msay ([33m�[31m(1,2),(3,4).rotate[0m�Couldn't find final ')'; gave up at /tmp/WouXttb_LY line 1 (EOF):�------> [32msay ((1,2),(3,4).rotate[…
20:29 camelia ..rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/VM5oucfInlâ�¤Unable to parse expression in parenthesized expression; couldn't find final ')'â�¤at /tmp/VM5oucfInl:1â�¤------> [32msay ((1,2),(3,4).rotate[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        method a…
20:30 lizmat rn: say ((1,2),(3,4)).rotate
20:30 camelia rakudo bb2d2e: OUTPUT«No such method 'rotate' for invocant of type 'Parcel'␤  in block  at /tmp/ffgkMhe101:1␤␤»
20:30 camelia ..niecza v24-92-g3961d5d: OUTPUT«3 4 1 2␤»
20:30 lizmat seems like niecza isn't flattening
20:30 lizmat rn: say ((1,2),(3,4)).elems
20:30 camelia rakudo bb2d2e: OUTPUT«4␤»
20:30 camelia ..niecza v24-92-g3961d5d: OUTPUT«2␤»
20:30 lizmat so this is a niecza error ?
20:31 jnthn Believe so
20:31 jnthn We tend to default to list semantics rather than lol semantics without an explicit lolization
20:33 lizmat rn: say ((1,2),(3,4)).list.rotate.Parcel
20:33 camelia niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method Parcel in type Parcel␤  at /tmp/MsnTC09CO8 line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤  at /h…
20:33 camelia ..rakudo bb2d2e: OUTPUT«3 4 1 2␤»
20:33 lizmat rn: say ((1,2),(3,4)).list.rotate.Parcel.perl
20:33 camelia niecza v24-92-g3961d5d: OUTPUT«Unhandled exception: Unable to resolve method Parcel in type Parcel␤  at /tmp/9ci8kD5vQb line 1 (mainline @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␤  at /h…
20:33 camelia ..rakudo bb2d2e: OUTPUT«((3, 4), (1, 2))␤»
20:36 * lizmat abandons Parcel.rotate for the moment as well
20:38 pmurias joined #perl6
20:40 timotimo do i want to see "StrayTaoist. perl 5 + moose = perl 7"?
20:40 pmurias nqp: grammar ABC { token TOP { foo {make 123;}} }; say('ast:',ABC.parse('foo').ast);
20:40 camelia nqp: OUTPUT«ast:␤»
20:40 pmurias is this correct?
20:40 donaldh FROGGS: Fixing https://gist.github.com/FROGGS/ebdc0c7809d1b2902533 requires transforming @*INC to absolute paths before use.
20:41 donaldh FROGGS: It needs to be done in ModuleLoader.search_path. I don't know if it's possible to call IO::Spec.rel2abs from ModuleLoader, which is pre-setting.
20:41 flussence r: say ("\x1f63e".encode("utf-$_").gist for 8, 16)
20:41 camelia rakudo bb2d2e: OUTPUT«Buf:0x<f0 9f 98 be> Buf:0x<d83d de3e>␤»
20:41 pmurias rakudo: grammar ABC { token TOP { foo {make 123;}} }; say('ast:',ABC.parse('foo').ast);
20:41 camelia rakudo bb2d2e: OUTPUT«ast:123␤»
20:41 flussence okay, it was utf-32 causing parrot to freak out.
20:42 jnthn pmurias: Rakudo has it correct.
20:43 jnthn pmurias: Could either fix it in NQP or call it a limitation ;)
20:43 pmurias jnthn: how am I supposed to work around it?
20:43 jnthn pmurias: Well, make is typically done in action methods.
20:44 jnthn pmurias: It works out fine there.
20:47 pmurias would it be an easy fix?
20:47 jnthn pmurias: If we take the approach I did in Rakudo, it makes every Cursor a word bigger.
20:47 jnthn And I can't think of another one.
20:49 pmurias could we make it raise an error?
20:49 pmurias or a warning?
20:50 jnthn Not especially easily
20:56 TimK1 joined #perl6
20:58 pmurias jnthn: I was just trying to use it to demonstrate a different bug, so it's not particularly important for me
20:58 Mouq r: slang Hip::6;
20:58 camelia rakudo bb2d2e: OUTPUT«===SORRY!===␤Name Hip:: ends with '::' and cannot be used as a package name␤»
20:58 Mouq r: slang Gangster;
20:58 camelia rakudo bb2d2e: OUTPUT«===SORRY!===␤No such method 'new_type' for invocant of type 'NQPMu'␤»
20:59 Mouq n: slang Hindi;
20:59 camelia niecza v24-92-g3961d5d: OUTPUT«[31m===[0mSORRY![31m===[0m��slang at /tmp/fbp7J8xVl_ line 1:�------> [32mslang Hindi[33m�[31m;[0m��Unable to resolve method name in type Any at /tmp/fbp7J8xVl_ line 1:�------> [32mslang Hindi[33m�[31m;[0m��Unable to resolve method close in type…
21:02 Mouq rn: class BDSMer { has $.partner; method cuff ( BDSMer $p is rw ) { $.partner := $p } }
21:02 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/HqJYLZ3Xqlâ�¤Cannot use bind operator with this left-hand sideâ�¤at /tmp/HqJYLZ3Xql:1â�¤------> [32mf ( BDSMer $p is rw ) { $.partner := $p [33mâ��[31m} }[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
21:02 camelia ..niecza v24-92-g3961d5d: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Cannot use bind operator with this LHS at /tmp/E1Uc3xcRoi line 1:â�¤------> [32mff ( BDSMer $p is rw ) { $.partner := $p[33mâ��[31m } }[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting li…
21:04 Mouq std: class BDSMer { has $.partner; method cuff ( BDSMer $p is rw ) { $.partner := $p } }
21:04 camelia std 27326bc: OUTPUT«ok 00:00 46m␤»
21:05 jnthn Access your partner privately to bind.
21:05 jnthn $!partner
21:05 Mouq Ah, okay. Thanks jnthn
21:06 Mouq I guess Camelia's a little young to see that sort of thing happen publicly
21:06 timotimo so the talk "perl5 + moose == perl7" begins with the claim that perl6 killed perl5 :|
21:07 masak timotimo: that seems to be an excellent first step to proving that Perl 5 + Moose == Perl 7 :P
21:08 jnthn r: multi infix:<+>('Perl 5', 'Moose') { 'Perl 7' }; say 'Perl 5' + 'Moose'
21:08 camelia rakudo bb2d2e: OUTPUT«Perl 7␤»
21:08 timotimo :)
21:09 xenoterracide joined #perl6
21:11 masak r: multi infix:<==>('Perl 5', 'dead') { True }; say 'Perl 5' == 'dead'
21:11 camelia rakudo bb2d2e: OUTPUT«True␤»
21:12 lizmat r: my FatRat $a=0.1  # do we need to cast a type here ?
21:12 camelia rakudo bb2d2e: OUTPUT«Type check failed in assignment to '$a'; expected 'FatRat' but got 'Rat'␤  in block  at /tmp/_KIeMVvQI8:1␤␤»
21:12 dalek roast: 3dc96a5 | flussence++ | S32-str/encode.t:
21:12 dalek roast: Add some utf16 tests
21:12 dalek roast: review: https://github.com/perl6/roast/commit/3dc96a590a
21:13 flussence I think I fudged those properly... poke me if not
21:15 flussence .decode is broken on one VM, .values is broken on the other :(
21:15 yoleaux is broken on one VM, .values is broken on the other :(
21:15 flussence grr
21:15 timotimo :D
21:15 lizmat .decode echo
21:15 yoleaux echo
21:16 timotimo .decode üöä
21:16 yoleaux üöä
21:16 timotimo what does it even ...
21:16 lizmat .decode \x2205
21:16 yoleaux \x2205
21:16 timotimo .decode .-.. -.-. ..-.- .-.
21:16 yoleaux .-.. -.-. ..-.- .-.
21:16 flussence decodes its input to utf8, obviously
21:16 timotimo that must be it
21:19 pmurias jnthn: I have mangaged to creat a test which fails due to the 'ws' rxtype being used: http://pastie.org/8292575
21:19 pmurias jnthn: so now I'm arguing over one incorrect line of code ;)
21:30 pecastro_ joined #perl6
21:34 adu joined #perl6
21:36 dalek roast: b2c3056 | (Elizabeth Mattijsen)++ | S32-str/chop.t:
21:36 dalek roast: Remove tests for multiple items to be chopped
21:36 dalek roast: review: https://github.com/perl6/roast/commit/b2c3056abf
21:37 lizmat tests originate from 2008, aka 5+ years ago, and seem to have no bearing on reality or the future
21:41 btyler joined #perl6
21:42 donaldh S32-io says that select is gone. Is it specced how a listen socket should be tested to see if it is ready for accept() ?
21:43 donaldh JVM supports blocking and non-blocking behaviour for accept().
21:43 masak lizmat: seems to be a Perl 5 feature.
21:44 lizmat indeed… wow, learned some P5 today
21:45 * donaldh will implement blocking accept for now.
21:46 masak lizmat: I don't think that's a reason to implement it in Perl 6, though ;)
21:47 * donaldh thinks we will get much more mileage out of AsynchronousServerSocketChannel and Future / CompletionHandler.
21:49 donaldh 'night o/
21:54 dalek perl6-roast-data: 562ddc4 | coke++ | / (5 files):
21:54 dalek perl6-roast-data: today (automated commit)
21:54 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/562ddc4cda
21:57 lizmat 98.1% for JVM, with 200+ more fails: must have been my unfudging  :-(
21:59 Mouq joined #perl6
22:16 masak 'night, #perl6
22:17 Mouq r: https://gist.github.com/Mouq/6417756
22:17 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/GY9tUvEBmz�'Recursive::Stub' cannot inherit from 'Recusive' because it is unknown.�Did you mean 'Recursive'?��at /tmp/GY9tUvEBmz:3�------> �»
22:17 Mouq 'night masak
22:18 Mouq r: https://gist.github.com/Mouq/6417756
22:18 camelia rakudo bb2d2e: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/X11tuonI9Bâ�¤Virtual call $.r may not be used on partially constructed objectsâ�¤at /tmp/X11tuonI9B:7â�¤------> [32m        $.r[33mâ��[31m = Recursive::Stub.new;[0mâ�¤    expecting any of:â�¤        statement listâ�¤ …
22:19 Mouq Bluh
22:19 Mouq r: https://gist.github.com/Mouq/6417756
22:19 camelia rakudo bb2d2e:  ( no output )
22:25 timotimo lizmat: are you sure? it doesn't seem like there's any sign of test files crashing or something, so a skip -> todo wouldn't have done that
22:26 timotimo fwiw, the rakudo.jvm pass rate has apparently gone up
22:26 lizmat ok, but then why is JVM dropping in %?
22:26 timotimo about 150 less skips
22:26 timotimo ah, interesting
22:26 timotimo the number of tests specced has increased dramatically
22:27 timotimo i never did understand that part.
22:27 timotimo about 40 more "planned", but a bit more than 300 more specced
22:27 timotimo S03 gained almost all of those spec additions it seems
22:31 bluescreen10 joined #perl6
22:31 jnthn 'night
22:33 cognominal As an experiment I rewrote sort this way but I got an ambiguous call message when calling with a block : multi sub sort(Callable $cmp, *@values) { @values.sort($cmp)  }
22:33 cognominal multi sub sort(*@values) { @values.sort }
22:34 cognominal I thought that the first multi would win being more specific.
22:34 cognominal Am I wrong?
22:34 * sorear is still quite bothered by the fact that you can't sort an array using &sort if it may contain objects that do Callable
22:35 lizmat gnight #perl6!
22:37 cognominal sorear, on that case you need an explicit sort routine, so your Callable are starts at the second argument, so this is not a problem.
22:37 cognominal Or am I wrong again?
22:38 cognominal s/are starts/args start/
22:38 sorear cognominal: yeah, you can work around it with sort &[cmp], @array
22:40 cognominal Callable are not sorthable witout an explicit sort. They don't even have all a name.
22:41 cognominal Any way the current definition of sort is very much perl5 like with explicit shift of an argument :(
22:41 xenoterracide joined #perl6
22:42 sorear Callable is a role.  Nothing prevents you from defining a sortable class, then months later coming up with a reasonable notion of postcircumfix:<( )> for it
22:42 sorear You add 'does Callable' and bam! your sorts break.
22:43 cognominal indeed
22:44 Mouq joined #perl6
22:46 raiph joined #perl6
23:04 cognominal joined #perl6
23:12 tadzik ahaahahah. "Is Odo your first or last name?" "Yes." DS9++
23:13 benabik joined #perl6
23:44 timotimo so DSA?
23:45 tadzik :)
23:45 sorear debian sec advisory?  digital signature algorithm?
23:45 xenoterracide joined #perl6

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

Perl 6 | Reference Documentation | Rakudo