»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:06 xinming left
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␤␤»
..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
TimToady that returns True incorrectly for a non-zero exit 00:08
00:08 kbaker joined
dalek ecs: 0db77c8 | larry++ | S29-functions.pod:
only exit 0 is "success" for run/shell
TimToady afk & 00:12
00:12 Psyche^ joined 00:13 shinobicl_ left 00:16 Psyche^_ left 00:24 slavik1 left 00:35 raiph joined 01:03 BenGoldberg joined
BenGoldberg Jenkins isn't the only software for automated building... en.wikipedia.org/wiki/Comparison_of...n_software 01:05
01:06 FROGGS_ joined 01:10 FROGGS left 01:17 drbean left 01:26 kbaker left 01:39 drbean joined
[Coke] hurls stackoverflow.com/questions/1856117...ence-rules 01:39
(I can probably answer that in NQP, due to partcl, but am unsure how to do it in rakudo) 01:47
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.
(And parrot-nqp at that.) 01:49
01:51 drbean left
dalek ast: c49992e | coke++ | S03-operators/context-forcers.t:
pugs fudge
02:13 cono left 02:21 dayangkun joined
[Coke] rn: say 1,(1 == 0),2 02:30
camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«1False2␤»
[Coke] rn: say 1,(()),2 02:31
camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«12␤»
[Coke] rn: say 1,(1==2??3!!()),2 02:32
camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«12␤»
[Coke] rn: say (1,(1==2??3!!()),2).perl
camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«(1, (), 2)␤»
[Coke] rn: say (1,(1==2??3!!()),2) == (1,2)
camelia niecza v24-92-g3961d5d: OUTPUT«False␤»
..rakudo 5aeaca: OUTPUT«True␤»
[Coke] ... there we go.
we have a spec test that assumes rakudo is correct there. 02:33
sorear o_O since when can you use == on Parcels 02:41
oh, it's numifying them using .elems 02:42
rn: say 0+(1,(),2)
camelia rakudo 5aeaca: OUTPUT«2␤»
..niecza v24-92-g3961d5d: OUTPUT«3␤»
sorear rn: say (1,(),2).elems
camelia rakudo 5aeaca: OUTPUT«2␤»
..niecza v24-92-g3961d5d: OUTPUT«3␤»
sorear rn: say ().elems
camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«0␤»
sorear rn: say (1,(2,3),4).elems 02:43
camelia rakudo 5aeaca: OUTPUT«4␤»
..niecza v24-92-g3961d5d: OUTPUT«3␤»
sorear seems rakudo's Parcel.elems uses .flat.elems semantics while niecza's uses .lol.elems semantics
rn: say (1,(2,3),4).flat.elems
camelia rakudo 5aeaca, niecza v24-92-g3961d5d: OUTPUT«4␤»
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␤»
dalek ast: 6ef1b5d | coke++ | S (7 files):
niecza fudge
[Coke] only a partial fudging, but that should help for tomorrow's run. 02:45
(issues opened for most things)
colomon: (>+) and (<+) were two of the biggest issues (caused 108 tests aborted in S03-operators/bag 02:47
02:47 BenGoldberg left 02:55 xenoterracide joined 03:00 raiph left 03:17 raiph joined 03:21 EvanTeitelman left 03:32 preflex left 03:34 preflex joined, ChanServ sets mode: +v preflex, EvanTeitelman joined 03:38 panchiniak_ joined, logie joined 03:52 panchiniak_ left, panchiniak_ joined 03:54 xenoterracide left 04:17 shinobicl_ joined 04:31 shinobicl_ left 04:44 raiph left 04:48 logie left 04:49 EvanTeitelman left 04:50 hummeleBop joined 04:53 logie joined 04:54 cognominal left
JimmyZ I don't know why I can't build rakudo here, hands up after compiling core setting 04:56
04:56 cognominal joined
moritz \o 05:02
05:05 hummeleBop left 05:10 panchiniak_ left
JimmyZ Hi, I can't build NQP either : gist.github.com/zhuomingliang/6409404 05:17
under strawberry (v5.18.1) built for MSWin32-x64- 05:18
seems was broken by 197640def955febde04b49491c7e6ecc3d25a059 05:19
05:28 FROGGS_ left 05:38 iSlug joined 05:39 agre joined 05:41 logie left 05:42 dmol joined
JimmyZ for rakudo, it hans here 05:42
.\perl6.exe --target=pir --output=src\gen\RESTRICTED.setting.pir src\RESTRICTED
.\perl6.exe --target=pir --output=lib\lib.pir lib\lib.pm6
.\perl6.exe --target=pir --output=lib\Test.pir lib\Test.pm
.\perl6.exe --target=pir --output=lib\Pod\To\Text.pir lib\Pod\To\Text.pm
the four hangs 05:43
I meant four of all
05:51 raiph joined 05:54 jlaire joined 05:56 FROGGS joined
FROGGS morning 05:57
06:07 muspellsson joined, muspellsson left 06:09 dmol left
dalek : 81ad7b3 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
regexes return a list when captures are involved

This also fixes an issue where matching against an empty string always was true.
: b7fd099 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
fixed cmp, utf8.P5Str and added pack "U"

cmp had two multi candidates with identical signature and utf8.P5Str tries to return an utf8-ecnoded string before it falls back to binary.
: 68600eb | (Tobias Leich)++ | STATUS.md:
status update after pack.t unfudges
06:27 iSlug left 06:33 slavik joined 06:37 kaleem joined 06:43 sqirrel joined 06:44 salv0 joined 06:48 xenoterracide joined 06:56 xenoterracide left
masak good morning, #perl6 06:57
sorear o/ 07:04
07:04 zakharyas joined
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
(that's before I go to full screen mode, so no big deal. but still, kind of a defeat.)
bonsaikitten why would you still use that? ;) 07:06
masak hm, good point.
masak downloads Evince
bonsaikitten s/evince/okular/ ;)
masak ...whose slogan is "Simply a document viewer"! win!
ok :)
07:06 domidumont joined
JimmyZ pdf.js ... 07:07
diakopter masak: want to implement a pdf interpreter in p6?
JimmyZ firefox support it :P
masak diakopter: maybe later. I'm teaching today.
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.
masak it's not my machine.
we go to a place to teach.
ah, this is much better. 07:09
07:10 domidumont left 07:11 domidumont joined 07:14 dmol joined 07:17 xenoterracide joined 07:28 Mouq left 07:29 raiph left 07:34 daxim joined 07:47 Woodi left 07:48 Woodi joined 07:49 fhelmberger joined 08:03 dmol1 joined, dmol left
moritz \o 08:08
FROGGS o/ 08:10
dalek rlito: 3badb3c | (Flavio S. Glock)++ | / (3 files):
Perlito5 - grammar - block vs. hash
08:15 dakkar joined 08:18 dayangkun left, dayangkun joined
dalek rlito: 11c09f8 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - grammar - indirect-object fix
08:43 raiph joined 09:00 donaldh joined 09:03 sqirrel left
hoelzro has Perlito been removed from the feature matrix? 09:10
JimmyZ Had it been added? 09:12
hoelzro I thought I saw it there?
09:12 iSlug joined
moritz I'm pretty sure it's never been there 09:17
09:17 iSlug left
hoelzro ok, I'm just delusional then =) 09:18
moritz happens to all of us :-)
09:33 zakalwe_ is now known as zakalwe 09:37 xinming left
timotimo good *, *! 09:38
09:39 xinming joined
hoelzro timotimo: ahoy! 09:41
dalek : 4faaaa6 | (Tobias Leich)++ | lib/Perl5/Terms.pm:
dont return the "ref" for Int, Str, ...
: 7959d69 | (Tobias Leich)++ | lib/Perl5/Actions.nqp:
subs have an implicit @_ param, default to a lookup
: 9f4bb8e | (Tobias Leich)++ | STATUS.md:
status update
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)
dalek rlito: d7d8c35 | (Flavio S. Glock)++ | misc/pad.pl:
Perlito5 - misc - minimal repl
09:58 krunen joined 10:00 raiph left 10:09 SamuraiJack joined
timotimo nice, yapctv uploaded more recordings to youtube 10:14
masaks regex talk, jnthns moarvm talk 10:16
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
timotimo oh no! :(
10:18 mtj_ left 10:21 salv0 left 10:23 iSlug joined
krunen lizmat: I'd like to go to Frankfurt please. Is there still room? 10:26
lizmat hi krunen , yes, there is still room 10:27
10:27 ssutch left
tadzik yay, krunen \o/ 10:27
masak krunen! \o/
dalek rlito: 624a3d3 | (Flavio S. Glock)++ | misc/pad.js:
Perlito5 - misc - minimal repl (js)
hoelzro is that the last spot? 10:28
lizmat Roland, the guy who is supplying the venue
krunen Great! I'm looking forward to digging deeper into the harder stuff.
timotimo hm, i still need to arrange some travel stuff
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
hoelzro timotimo: you and me both =/
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
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
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:
people have said the program description is of a 2 week course
so, I expect it to not end early Sunday afternoon
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
or at least to the hotel
krunen: I have rooms booked at a hotel around the corner from the venue
the accommodation is on the house if you want to share a room :-)
10:33 SamuraiJack_ joined 10:35 dayangkun left, SamuraiJack left
timotimo yes, jnthns moarvm talk ends when he puts on the 6model explanation slide 10:37
oooooh wow the autofocus on masaks talk is *horrid* at the beginning 10:38
also, it seems like the beginning is missing :(
moritz really loves how infoq reports talks, with two synchronized videos, one for the slides and one for the speaker 10:39
timotimo oh yes. as far as i know the devices you need to grab VGA output for such a thing is very expensive 10:40
moritz r: $_ = 'abc'; tr/a/A/; .say 10:41
camelia rakudo 5aeaca: OUTPUT«Abc␤»
moritz r: $_ = 'abc'; tr/a..c/A..C/; .say
camelia rakudo 5aeaca: OUTPUT«===SORRY!=== Error while compiling /tmp/vFeQPWtlIb␤Range missing start character on the left␤at /tmp/vFeQPWtlIb:1␤------> $_ = 'abc'; tr/a..c/A..⏏C/; .say␤»
moritz std: $_ = 'abc'; tr/a..c/A..C/; .say
camelia std 27326bc: OUTPUT«ok 00:00 43m␤»
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 10:52 ssutch left
timotimo and some questions are missing from the end apparently as well :( 10:53
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␤␤»
masak lizmat: only if S05 says so, IMO. 11:15
lizmat: a case could be made for Match objects having a fixed "shape". 11:16
(optimizability, primarily)
if you want to ad-lib things, there's always the .ast namespace.
timotimo masak: how much time passed in your talk before the live demo started where you compared sed, awk, python, perl5 and perl6?
moritz most of the time, I think 11:17
masak timotimo: between 20 and 30 minutes.
timotimo aaw :(
masak failed recording? :/ 11:18
11:19 nebuchadnezzar left
jnthn Aww, too bad some is missing of the MoarVM talk 11:39
FROGGS jnthn: no problem, some of us will here it live and in color in a few days :o) 11:49
hear* 11:50
jnthn It's more than a few days, but yes, later this month :)
lizmat :-)
FROGGS a bit more than a dozon 11:51
no, exactly that^^
11:53 donaldh left
jnthn needs to finish writing it yet :) 11:59
(nearly there, though :))
12:01 pmurias joined
JimmyZ btw: nqp is broken here, and rakudo compiling hangs here too. 12:01
see early irclog today 12:02
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
masak JimmyZ: that sounds highly irregular. when did it last work? are you able to bisect the problem? 12:14
JimmyZ masak: yes, see irclog.perlgeek.de/perl6/2013-09-02#i_7531742 12:16
12:21 donaldh joined
dalek ast: fa508be | (Elizabeth Mattijsen)++ | S05- (12 files):
More S05 test unfudges, skip->todo and additional tests
lizmat only 103 test files remain to be checked :-) 12:22
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 12:32 donaldh left
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 xenoterracide left
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.
lizmat ok, that seems to make sense with the test 12:35
definitely NYI :-)
masak JimmyZ: are you able to revert 197640def955febde04b49491c7e6ecc3d25a059 on current nqp master? 12:40
revert cleanly, that is.
12:41 daxim left
moritz don't revert it, without it zavolaj will bomb again :/ 12:44
masak I meant locally. 12:46
12:46 v joined
dalek ast: aad3319 | (Elizabeth Mattijsen)++ | S06-multi/syntax.t:
Removed obsolete test for Multi type object
12:47 xinming left 12:48 sqirrel joined
jnthn pmurias: No, it means that $ops.result in the future will yield %*REG<cur>. 12:48
12:49 xinming joined
jnthn JimmyZ: Are you using mingw? 12:49
GlitchMr r: say <<hello <<world hello>> abc>>.perl
camelia rakudo 5aeaca: OUTPUT«(("hello", "<<"), ("world", "hello").list, (">>", "abc"))␤»
GlitchMr n: say <<hello <<world hello>> abc>>.perl
jnthn JimmyZ: I worked with jaffa4 at YAPC::EU to try and isolate that problem.
camelia niecza v24-92-g3961d5d: OUTPUT«("hello", "<<world", "hello>>", "abc")␤»
jnthn JimmyZ: It boils down to something wrong with Temporal :S
GlitchMr I'm not sure, but Rakudo seems to do the wrong thing when dealing with <<hello <<world hello>> abc>>.perl
jnthn The line in the setting that sets $PROCESS::TZ is wrong 12:50
And somehow hangs
lizmat FWIW, I've seen that behavipur before
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
JimmyZ jnthn: yes
masak: I don't have commit bit to push nqp :P 12:52
masak: oh
yes ,revert it builds fine
I just get undefined reference to `Parrot_str_ 12:53
jnthn JimmyZ: What platform is this? 12:54
moritz JimmyZ: what's your github ID?
jnthn But no, I don't think reverting is the answer...
JimmyZ jnthn: strawberry perl 5.18
moritz: zhuomingliang
12:54 Mouq joined
moritz JimmyZ: you should now have a NQP commit bit. 12:55
JimmyZ moritz: thanks
13:00 v left
pmurias jnthn: !dump_str is called on NQPCapture, aren't method with ! supposed to be private 13:09
13:14 Mouq left 13:15 shinobicl_ joined
jnthn pmurias: In NQP it's just part of the name 13:16
13:16 Mouq joined
jnthn Rakudo handles it as S12 says, though. 13:17
Just one of the ways NQP cheats
13:20 shinobicl_ left 13:21 SamuraiJack_ left
lizmat wonders whether :$^a really is supposed to be shorthand for a => $^a 13:21
13:21 PacoAir joined
jnthn yes 13:21
lizmat okidoki :-) 13:22
jnthn hm, I seem to recall I fixed that a while back too :)
FROGGS does :$<a> work yet too?
jnthn oh, *that* was the one I fixed...
FROGGS cool :o)
lizmat FROGGS: not saying it worked already
jnthn r: say ({ :$^a }(42)).perl 13:24
camelia rakudo 5aeaca: OUTPUT«"a" => 42␤»
FROGGS I love it
jnthn r: say ({ :$:a }(a => 42)).perl 13:25
camelia rakudo 5aeaca: OUTPUT«"a" => 42␤»
jnthn hehe
pmurias jnthn: is there a reason why do we cheat this way?
jnthn pmurias: It keeps NQP simpler, mostly. 13:26
lizmat revisits a failing test
jnthn pmurias: Plus inertia. We depend on it being that way in varius places.
Not really worth changing.
13:33 FROGGS left 13:36 FROGGS joined
lizmat r: class A { has $!foo is ref } # is ref simply NYI, or obsolete ? 13:37
camelia rakudo 5aeaca: OUTPUT«===SORRY!=== 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␤»
jnthn What would it even mean in that context?
lizmat the way I read S06:1926 13:38
synopsebot Link: perlcabal.org/syn/S06.html#line_1926
lizmat is that you can put the named parameter into .new and it would bind to that parameter, rather than copying ?
jnthn Isn't is ref an old name for something else we have now? 13:39
13:39 daxim joined
lizmat it's still in the spec :-) 13:39
jnthn Yeah but
I think it's outdated
is ref used to be a parameter trait
I thought it became something else
I forget what
lizmat known parameter traits are: rw readonly copy required parcel 13:40
jnthn is parcel maybe...
lizmat rw maybe the one ?
jnthn Anyway, the idea makes sense, I just think it shouldn't be called that... 13:41
Dobut ti
I think is ref became is parcel...
13:41 denisboyun left
jnthn TimToady may remember...or searching history may work :) 13:41
lizmat fwiw, that is the *only* mention of "is ref" in the spec 13:43
jnthn yes
lizmat running into it because t/spec/S06-traits/misc.t is testing for it
jnthn Thus why I think it just wasn't updated
pmurias jnthn: it it known that the dump method on matches is broken?
jnthn I'm sure it used to exist as a param trait
13:43 awwaiid_ is now known as awwaiid
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
jnthn lizmat: What kind of object is it testing it on?
lizmat scalar 13:45
sub mods_param_ref ($x is parcel) { $x++; }
jnthn oh, a parameter
lizmat mods_param_ref(1) fails
mods_param_ref($foo) works
jnthn Yes, that confirms it...
JimmyZ SHA-1: 4bd6b5e958ee5c10cefd15ce762b90db86fd537e
* [S06,S09] rename 'is ref' to 'is parcel' and make it synonymous with \
jnthn JimmyZ++ # that really confirms it
JimmyZ * [S06,S12] make attributive parameters default to 'is copy' binding
make easy way for an attribute to override this with 'is ref'
jnthn JimmyZ: Which of those commits came firt? 13:46
JimmyZ note that 4bd6b5e958ee5c10cefd15ce762b90db86fd537e is earlier than the poster
FROGGS hmmm, shouldn't it be `is rw` then?
jnthn FROGGS: No, I don't think so.
dalek ecs: a02e2e1 | (Elizabeth Mattijsen)++ | S06-routines.pod:
Parameter trait "is ref" is now "is parcel"
FROGGS what does `is parcel` anyway?
jnthn FROGGS: Seem as \foo
pmurias jnthn: pastie.org/8291343 13:47
jnthn pmurias: that doesnt' help me when I don't have anything handy to run it on :)
dalek ast: 3c96139 | (Elizabeth Mattijsen)++ | S06-traits/misc.t:
Changed "is ref" test to "is parcel"
jnthn (at teaching place)
pmurias ahh ok
jnthn But it should work, anyway...
pmurias jnthn: the output is "- 0: o\n" 13:49
JimmyZ s/poster/latter/
jnthn I'm just surprised if it's broken 'cus I thought that's what --target=parse uses...
pmurias so the rest of that is missing
jnthn ugh
FROGGS ahh, I had that issue too I think
jnthn That wants fixing :)
Maybe it's broken for --target=parse but I missed it
dalek ast: b1a65f0 | (Elizabeth Mattijsen)++ | S06- (12 files):
Unfudges, skip -> todo and other clarifications in S06 testing
FROGGS lizmat++ # good work!
13:54 ajr joined 13:55 ajr is now known as Guest48857 13:56 domidumont left, Guest48857 is now known as ajr_
dalek ast: 890a40a | Mouq++ | S03-metaops/hyper.t:
Unfudge .».++ tests
13:57 zakharyas left
ajr_ Am I correct in assuming that perl6 is doing some heavy computing at start-up, rather than loading some huge file? 13:58
If that's the case, would it be possible to cache the result of the calculations, to speed up subsequent loads?
JimmyZ nope 13:59
13:59 domidumont joined
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.)
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:01
lizmat ajr_: just parsing the settings takes 2+ minutes already, be glad it doesn't have to do that everytime rakudo starts :-) 14:05
am I correct in assuming that we never want my %h{Mu}; to work ? 14:06
it would mean that all {} access would also have to allow Mu 14:07
so I would suggest %h{Mu} to fail at compile time
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 FROGGS left
camelia std 27326bc: OUTPUT«ok 00:00 43m␤» 14:09
Mouq moritz: Why yes, yes I would ;p
14:10 sqirrel left
Mouq moritz++ btw # tr/// implementation 14:10
What does QAST::SVal.new() create? 14:11
Oh. I should just rtfm. github.com/perl6/nqp/blob/master/d...t.markdown 14:12
dalek ast: 6231e15 | (Elizabeth Mattijsen)++ | S11-modules/ (2 files):
Unfudges etc. for S11
timotimo in my experience, SVal works best if you forget to use :value(...) and just plop the string right into the node!
pmurias that's irony? 14:22
timotimo yes
mixed with a side of bitterness 14:23
daxim it's like rain on your wedding day
timotimo at least that didn't cost me much time, because the error message i got was quite enlightening
14:23 kaleem left
dalek p: b867c93 | (Pawel Murias)++ | t/nqp/79-callercode.t:
Expand test 79 to also check callercode works in methods.
p: 9318564 | (Pawel Murias)++ | / (2 files):
Fix NQPMatch.dump. Add a test that check match methods work correctly.
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
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␤␤»
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
timotimo r: class A { has $!a; method a { Proxy.new( FETCH => method { $!a } ) } }; say A.new.a
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␤␤»
timotimo r: class A { has $!a; method a { Proxy.new( FETCH => method :: { $!a } ) } }; say A.new.a
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␤␤»
timotimo dunno. 14:30
jnthn An anonymous method declares its own self 14:33
Which is of type Mu, or perhaps Any
This hides the self that $!a is declared on 14:34
lizmat aha… of course
jnthn Should really be a compile-time error...
lizmat then the test is bogus
masak jnthn: waitwait... even a nested method inside a class?
lizmat jnthn: are you saying that $!foo is really just self->foo ?
masak lizmat: if by self->foo you mean "lower-level lookup", then yes. 14:35
14:35 denisboyun joined
lizmat aha, that explains the recursion :-) 14:35
timotimo "wrongcursion" :)
lizmat in t/spec/S12-attributes/mutators.t 14:36
masak "oh-noes-not-againcursion"
lizmat: no, I don't think it explains the recursion...
$.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
if you specify that as a method, you get the wrong self 14:38
and if you don't, you get recursion
timotimo er, not quite
lizmat ok, *phew*
timotimo r: class A { has $!a; method a { Proxy.new( FETCH => sub { $!a } ) } }; say A.new.a
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␤␤»
lizmat looks deeper into the test
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)»
timotimo oh, pardon me
i may be full of carp
masak submits ra