»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:13 Schwern joined 00:40 mattp_ joined 00:44 bacek joined 00:49 whiteknight left 00:50 whiteknight joined 00:52 woosley joined
Tene colomon: you should callgrind the callgrind 00:55
00:56 whiteknight left, whiteknight joined 01:02 ymasory_ joined 01:04 am0c joined 01:11 thou left
plobsing_ ping pmichaud, jnthn 01:22
pmichaud plobsing_: pong 01:24
(yay, I have a preliminary Rakudo subroutine counter running!)
plobsing_ I've been working on a fix for zavolaj
nopaste.snit.ch/45257
colomon \\o//
plobsing_++
plobsing_ but I can't seem to get rakudos reference wrapping/unwrapping right 01:25
colomon pmichaud: was that 262724 calls to Rakudo_binding_bind_llsig? I now have kcachegrind running on my Mac and accessing the callgrind output on my Linux box. 01:27
pmichaud colomon: something like that, yes. 01:28
plobsing_: some of those assignments might be an issue 01:29
but jnthn++ would probably have to be the one to help out from here
01:29 Schwern left 01:30 slavik left
colomon so.... one line of the sin.t (towards the end) is 102 function calls 01:31
pmichaud could be
colomon is_approx(asin(:x(DifferentReal.new(0.707106781186548)), :base(Degrees)), 45, "asin(:x(DifferentReal), :base(Degrees)) - 45");
is the line 01:32
pmichaud I have a logging system set up locally that captures the names of the caller and called subs
colomon that's based on a profile run with it and a profile run with it commented out
pmichaud 102 function calls doesn't sound too far off the mark to me for that one
(whether it should actually be that many is a valid question :-)
plobsing_ phenny: tell jnthn I have a preliminary fix for zavolaj (nopaste.snit.ch/45257), but somewhere rakudo's reference wraping/unwrapping is tripping me up
phenny plobsing_: I'll pass that on when jnthn is around.
pmichaud just creating the 0.707106781... value is going to be a ton of calls 01:33
(because Rakudo does it at runtime)
colomon pmichaud: I'll tell you how many in about 20 minutes.
pmichaud :)
top Rakudo block calls for sin.t: gist.github.com/971584 01:38
colomon upgrade_to_num_if_needed ... ah 01:39
pmichaud last night I tried moving that to be PIR instead of Perl 6... it only made a small difference
oh, outstanding 01:41
so, since it's obvious that .item is a hot path -- we might get a huge win by moving it to PIR instead of Perl 6
especially since all it does is return 'self'
(for Mu)
we'd save a bunch of PMC creations by doing that 01:42
colomon when is .item called? 01:43
pmichaud whenever something is needed in item context -- e.g., assignment to a scalar
just looking at the code generated for Mu.item -- we create at least twelve PMCs per invocation 01:44
colomon !!! 01:45
pmichaud oh, maybe nine
still
colomon This is "method item { self; }" we're talking about here?! 01:47
pmichaud yes
colomon dang
01:51 johnjohn101 joined
johnjohn101 any date on release 01:51
pmichaud it's been released :)
flussence the last one was 2 weeks ago ;) 01:52
oh wait, niecza v5 was released last week too. I bet there were more compilers I'm missing too. 01:54
johnjohn101 does it do threading yet?
pmichaud no, we don't have threading yet.
flussence yes, niecza does
(iirc)
johnjohn101 ok i see rakudo star is out 01:55
pmichaud colomon: the approach I ended up taking creates a new opcode just for recording subroutine entry 01:56
johnjohn101 niecza, does it have a web site?
pmichaud that way we can put it on routine that don't use bind_llsig
*routines
e.g., cheats/ and builtins/
colomon pmichaud: does that require a parrot update, or is it npq/rakudo specific? 01:57
pmichaud it's rakudo specific
no parrot update
colomon sweet
pmichaud it would make sense to go into nqp (not -rx)
johnjohn101 ok i see niecza works with mono.. 01:58
colomon pmichaud: glancing at your output again, what catches my eye is div. I think that's only called internally from Rat (in sin.t, anyway). 02:03
pmichaud sure, we have lots of rat operations 02:04
colomon that's going to be almost all decimal constant construction, I think. 02:07
having trouble getting kcachegrind to open the third file. stupid computers... 02:09
arrrrgh. ran against the wrong sin.t file. 02:11
pmichaud there's a "div" in Real.pm 02:14
02:14 mishnik joined, mishnik left
sorear good * #perl6 02:14
pmichaud (used for infix:<mod> apparently)
02:14 mishnik joined
colomon yeah, probably not a big issue for sin.t 02:14
mishnik hi 02:15
pmichaud updated list after instrumenting the builtins: gist.github.com/971619
sorear johnjohn101: Hi! 02:16
02:18 ymasory left
sorear johnjohn101: is github.com/sorear/niecza enough? 02:29
johnjohn101: if not, what do you want to see on a website?
johnjohn101 sorear: that's what i found. I may have to ease into perl 6. 02:32
02:40 whiteknight left 02:44 woosley left 02:48 orafu joined, risou_awy is now known as risou
pmichaud gist.github.com/971866 # calling details for sin.t 02:49
afk, dinner and break
dalek kudo: e54eeca | pmichaud++ | src/ (3 files):
Initial implementation of Parrot sub logging (sublog) -- this

subroutines (for profiling and optimization).
kudo: f81d740 | pmichaud++ | tools/sublog-report.pl:
Add a simple tool to process the files produced from RAKUDO_SUBLOG.

subroutine is entered.
kudo: afd9577 | pmichaud++ | src/cheats/ (14 files):
Instrument cheat subs with x_enter_sublog opcodes upon entry.
kudo: e952e29 | pmichaud++ | src/builtins/ (35 files):
Instrument builtins/ with "x_enter_sublog".
kudo: 25fce41 | pmichaud++ | tools/sublog-report.pl:
Add some more details to tools/sublog-report.pl .
kudo: be887ad | pmichaud++ | tools/sublog-report.pl:
Update tools/sublog-report.pl with some basic documentation for
colomon pmichaud++ 02:53
May be a while before I get to playing with it, because I've got an extremely busy weekend and a wicked $work bug that needs to be done by Monday on top of it. But I really look forward to working it out. 02:55
s/working it out/playing with it extensively/
03:01 alester_ joined
pmichaud yes, me too :) 03:12
03:23 Su-Shee_ joined 03:24 Trashlord left 03:25 cooper left 03:26 Su-Shee left 03:34 Schwern joined 03:40 am0c left, alester_ left 03:51 ymasory_ left 03:59 mishnik left 04:11 ymasory joined 04:17 nakashiman joined 04:27 Su-Shee_ left 04:48 pmichaud left 05:02 pmichaud joined
pmichaud gist.github.com/971937 # result of rewriting Mu.item (a hotpath) into PIR 05:03
basically we save the cost of creating (and discarding) 470,000 PMCs 05:04
pmichaud runs the full suite
05:05 dur-randir joined 05:14 Helios left 05:16 Helios joined 05:18 molaf joined 05:28 envi joined 05:29 dur-randir left
pmichaud gist.github.com/971944 # the full rakbench suite after rewriting Mu.item 05:31
looks like overall a 8%+ improvement, except for rx.t (it gets slower for some reason, likely solvable)
I'm in favor of applying the change, but would like opinions first 05:32
note that we even get a 10% improvement in *startup*
05:33 dur-randir joined
sorear yaya 05:36
PerlJam Is that the subid in parens? 05:39
pmichaud yes
so that we can distinguish same-named subs
PerlJam Why are some like "new (new)" ?
pmichaud those are generally written in PIR, and thus don't have a PAST-generated subid
(but the subid is in fact "new")
PerlJam I haven't looked at the diff yet, but how hard would it be to add timing info? 05:40
pmichaud I can put timestamps in, yes. I'm not sure it's useful. 05:41
there's no notion of "exiting" a sub here.
just entrance.
PerlJam Hmm.
05:44 Helios left 05:45 Helios joined
sorear looks at tools/sublog-report.pl 05:48
sorear wonders what to think of it
05:53 nymacro joined
pmichaud heads to bed 05:54
sorear bye 06:04
06:23 dur-randir left 06:30 colomon left 06:40 dolmen joined 06:50 birdwindupbird joined, nakashiman left 06:54 Trashlord joined 06:55 Su-Shee joined
jnthn yay YAPC::Russia :) 06:58
phenny jnthn: 01:32Z <plobsing_> tell jnthn I have a preliminary fix for zavolaj (nopaste.snit.ch/45257), but somewhere rakudo's reference wraping/unwrapping is tripping me up
jnthn Will take a look later. :) 07:02
moritz good morning 07:03
sorear hi jnthn!! 07:04
07:04 bessarabov joined
jnthn privet ;) 07:07
07:09 Mowah joined
jnthn pmichaud++ # call counts! 07:10
07:11 mberends joined 07:14 dur-randir joined
sorear hey mberends! 07:16
mberends hi sorear!
jnthn mberends! \o/ 07:18
mberends hi jnthn, what are you doing awake so early? ;) 07:19
moritz joins the happy familiy
different time zone? :-)
jnthn mberends: Being three timezones east of you :P
moritz confused by RAKUDO_SUBLOG 07:21
it's not easy to run a spectest run with it 07:22
maybe I need to hack the harness
07:24 mishnik joined 07:26 dionys joined 07:27 kappa joined, dayangkun joined
moritz ah yes 07:27
TAP::Harness++ # having callbacks for the exec => param 07:30
07:32 kappa left
moritz wonders if his available disc space is enough 07:34
jnthn moritz: You going to profile the whole spectests? :) 07:35
moritz jnthn: if my disc allows it, yes
jnthn ;) 07:36
moritz I just wonder what the output means
is the list of indent subs the list of callers?
jnthn moritz: e.g. in gist.github.com/971866
Yes
It's number of calls and sub
then indented below it the top call sites
And counts of those 07:37
moritz I'm a bit surprised that CREATE is leading the list by a clear margin
jnthn It's called everytime we create an object.
moritz wonders which ACCEPTS calls WHAT that often 07:38
tadzik good morning!
moritz now in S05, and 340M of logs 07:39
good morning tadzik
tadzik what's the Mu.item rewrite? 07:42
07:43 AlexKotov joined 07:45 uKibab joined
AlexKotov Hi, uKibab! 07:46
uKibab Hi Alex
AlexKotov :) YAPC::Russia - 2011 is starting now!
tadzik hello hackathoners! 07:47
AlexKotov: I saw you had some panda/windows issues. Back in the neutro days I wanted it to be windows-friendly, but there was no windows user to try it out. If you want to have a module installer on windows, that may be your day
mberends shoulda been in Moscow, but the UK post (almost) eated his passport :( 07:48
uKibab mberends: that's sad :-(
tadzik what happened!
?
AlexKotov Hi, Martin! Today is Saturday, not big chance that post will deliver it today :( 07:49
mberends Visa application posted priority 29th April, arrived at agency 10th May :P
AlexKotov tadzik: yes, some windows issues are easy to fix 07:50
07:50 mishnik left
AlexKotov tadzik: for example, folder that is bypassed to wget ($HOME) should be quited - that will help 07:51
tadzik did you mean: quoted? :)
sorear out 07:52
tadzik AlexKotov: want to fix that or should I? I have nowhere to test it anyway
mberends: heh, ask the Perl Foundation when did they receive my CLA :P
AlexKotov tadzik: I'm on the conference for the weekend, so better you do quotation for wget pathes 07:53
*NIX will not be broken, Windows will be fixed :)
tadzik AlexKotov: I don't see how a conference (especially YAPC) interferes, but ok :) 07:54
moritz moritz.faui2k3.org/tmp/sublog.log.gz # number of calls for the spectests upto S06-signature
tadzik there's no more than one wget call, is there?
AlexKotov I think one (didn't look inside installer actually) 07:57
tadzik I don't think sublog-report.pl likes "... and 348 more" in the input. Should it be ignored or something maybe? 07:58
moritz tadzik: the "... and 348 more" are from the *output* of sublog-report.pl
AlexKotov BTW, additional instruction for windows users - is to download wget.exe and copy it into folder available in $PATH :)
moritz tadzik: don't feed the scripts output to the script itself :-) 07:59
tadzik oh! :) 08:00
I like how the new sublogging doesn't add any overhead 08:01
moritz it does not?
tadzik panda list ran 15.86 before, and 15.88 after 08:02
nopaste.snit.ch/45298 -- logs for say "Hello, world!" 08:06
08:09 bessarabov left 08:10 bessarabov joined 08:13 Trashlord left 08:17 drbean joined
bessarabov 2 photos from the stage from yapc in moscow friendfeed.com/bessarabov/b62377d1/...ts-on-yapc 08:19
moritz those guys look vaguley familiar :-)
bessarabov =) 08:20
jnthn bessarabov: ooh, thakns for taking :) 08:21
jnthn was crazy enough to try and introduce himself in Russian :)
Dunno if anybody understood ;)
tadzik hey, I know those guys :)
bessarabov jnthn, well, you have an accent, but it is easy to understand your russian =) 08:22
jnthn bessarabov: Oh, at this point I'm happy if it's just understandable :)
I get to speak it like, once a year or so :)
tadzik: (hello world logs) so that's where we spend time at startup. Not too surprising that we create lots of stuff...but it looks like quite a bit. 08:23
Why does .Bool create though... :/ 08:27
moritz it creates a new Bool::{True,False}?
jnthn I'd...hope not.
Not 282 times 08:28
08:28 Moukeddar joined 08:30 araujo left
tadzik :D 08:34
is that all the PHASERS blocks we don't use?
08:35 drbean left 08:37 mj41 joined 08:38 risou is now known as risou_awy 08:45 stasy joined
stasy hi everybody 08:46
AlexKotov stasy: Hi
08:47 Moukeddar left 08:48 ilyuha joined, ilyuha left 08:49 kjeldahl joined 08:56 ershov joined 09:00 mj41 left 09:04 AlexKotov left, bessarabov left 09:06 drbean joined 09:09 stasy left 09:10 f00li5h left, ershov left 09:11 drbean left 09:14 Chillance left 09:15 dolmen left 09:23 orafu left, bessarabov joined 09:24 stasy joined 09:28 MayDaniel joined 09:29 stasy left 09:34 rainerschuster joined 09:35 drbean joined 09:36 birdwindupbird left 09:40 drbean left, MayDaniel left 09:43 Trashlord joined 09:44 bessarabov left, mberends left
tadzik that reminds me, I still have the NLPW pictures not yet uploaded anywhere 09:50
09:51 tangent_ joined 09:55 stasy joined, AndroUser2 joined 09:56 risou_awy is now known as risou 09:57 AlexKotov joined 09:59 stasy left 10:21 orafu joined, dolmen joined 10:24 rainerschuster left 10:27 AndroUser2 left, stasy joined
dalek p: 372e310 | jonathan++ | src/6model/reprs/P6opaque.c:
Fix crash when we have a typed attribute but the meta-attribute doesn't expose a .box_target.
10:29
tadzik what does the » character stand for in rules? 10:30
|| .*? \n '=' 'end' \h+ $<identifier> » \N* -- from Perl6/Grammar.pm
moritz right word boundary
10:30 woosley joined
tadzik ok, thanks 10:30
>> too? 10:31
jnthn think that's just the texas version of it
tadzik aye
proto tokens get to have possibly different gramar definitions, but the same action method, right? 10:32
jnthn tadzik: Ech variant gets its own action meth 10:33
*Each
tadzik ok, thanks
jnthn typically the variants need different things 10:34
or that's been my experience thus far, anyways
tadzik I'm looking for something for my Blocks. Every kind of block will end up being produced exactly the same way, but they'll have different parsing rules 10:35
moritz tadzik: if you have an example of how two blocks are parsed and what they should produce, maybe we can come up with something clevery-ish 10:38
10:39 woosley left
tadzik moritz: I'm now working on the grammar rules. Basically, the point is that '=begin foo\nbla bla\n=end foo' and '=for foo\nblabla\n\n 10:40
' end up being the same
moritz tadzik: if you use the same captures in each rule, it shouldn't be hard to write a routine that takes a Match and returns a Pod::Block 10:41
10:42 woosley joined
tadzik yeah, I suppose so 10:43
10:47 masak joined
masak hi #perl6. 10:48
masak just finished writing his presentation
jnthn Finished with over an hour to spare!!
masak 168 slides \o/
jnthn O_O 10:49
masak I have no idea how long it's going to take to deliver... :)
maybe we'll be here all night.
mberends: wish you were here :/ 10:50
10:57 stasy left 10:59 risou is now known as risou_awy
moritz pink floyd? 11:00
11:02 Psyche^ joined 11:05 Patterner left 11:06 Psyche^ is now known as Patterner 11:09 whiteknight joined 11:21 Ali_h_ joined 11:22 Ali_h left, Ali_h_ is now known as Ali_h
masak moritz: sorry. just another brick in the Wall. :) 11:26
masak don't need no Eddy Kayshun 11:27
11:33 wamba joined
masak just made a DSL for the Moscow metro 11:34
AlexKotov DSL = Domain Specific Language ? 11:36
tadzik Digital Subscriber Line? 11:37
masak moritz: there's a talk about exceptions going on here right now. event.perlrussia.org/mayperl4/talk/131 11:38
AlexKotov: yes. stay tuned for my talk this afternoon :)
(it's in the talk)
tadzik hrm
AlexKotov ye, looking forward for your talk today)) 11:39
masak \o/ 11:40
tadzik nopaste.snit.ch/45315 -- line * - 3, could anyone take a look?
masak AlexKotov: I'm looking forward to it as well, now that I've finished writing it! :P
tadzik masak: will there be any live streaming?
masak I doubt that.
arnsholt masak: OOC, how long is your talk with 168 slides? =) 11:42
masak tadzik: whoa. I'd like to help -- it looks interesting -- but it's doubtful this environment will provide the right kind of peace of mind for debugging grammars.
arnsholt: I don't know, I've never given it :)
arnsholt: I hope it's about 40 minutes :P
tadzik: hopefully moritz or someone else can help... 11:43
arnsholt Oh, right. How much time have the organisers allocated to you, then? =)
masak 40 minutes.
arnsholt Right. That's a lot of slides/minute ^_^
tadzik masak: I hope so. I'm investigating in other axis, but I'm afraid there's something about protos I don't quite understand 11:44
masak rakudo: say 40 / 169
p6eval rakudo be887a: OUTPUT«0.236686390532544␤»
masak rakudo: say 40 / 169 * 60
p6eval rakudo be887a: OUTPUT«14.2011834319527␤»
tadzik :O
blasphemy
11:45 araujo joined
jnthn 14 seconds a slide! :) 11:46
masak on average :)
jnthn is looking forward to this :)
arnsholt tadzik: I think the reason the rule PASSes is the * 11:47
It matches 0 <pod_block>, which is a success
tadzik oh 11:48
Right, S05 mentions Longest Token Matching for protoregexes, but we don't have that
masak corrct.
there's some LTM somewhere, but not nearly all of it. 11:49
dalek p: b12c862 | jonathan++ | src/NQP/ (2 files):
Add a way to stub in a type without doing anything with it other than new_type and with an explicitly specified meta-object type.
p: d0f50b8 | jonathan++ | src/NQP/Actions.pm:
Ensure we build proper AST node in newly added action method.
p: 3b5eec5 | jonathan++ | src/NQP/SymbolTable.pm:
Rather than dying when trying to run code we didn't compile yet, instead try to compile it on-demand and run it. Missing various environmental bits just yet, but essentially works.
masak tadzik: on that note, I wouldn't use infix:<|> in rules if I were you. it's not very future-proof.
I'd use infix:<||> across the board. 11:50
tadzik thanks
Tene masak: what's your talk on? 11:52
masak realizes that he will give a compiler talk right after jnthn gives... a compiler talk 11:53
jnthn :P
masak though it's not that bad. :) mine is less detailed and more philosophical.
Tene: event.perlrussia.org/mayperl4/talk/117
jnthn Mine has less pretty diagrams :P
Tene shame I'm missing out; that sounds like a lot of fun 11:54
masak I plan to post slides here as I give the presentation. if you just advance them each 14 seconds, you can pretend you're here... :)
s/each/every/ 11:55
AlexKotov www.picamatic.com/view/7557015_P105...halfsized/ 11:58
Pic from latest YAPC::Russia talk (about exceptions)
Tene I should find a conference to give a talk at; that would be a lot of fun. 11:59
masak Tene: YAPC::EU! :)
Tene: in beautiful Riga :)
Tene I don't think I have the money for that.
AlexKotov Tene: where are you now (geographically) ? 12:00
masak Tene: I'm speaking purely out of self-interest -- it's be nice to meet.
but I suspect I'll end up at a YAPC::NA sooner or later.
Tene AlexKotov: California, US
masak: agreed
AlexKotov Tene: yes, far way to any of Europe.... 12:01
Tene I haven't attended a YAPC::NA yet either.
12:01 wamba left
Tene I really should, one of these days 12:02
bacek ~~ 12:06
jnthn, ping
AlexKotov jnthn just started his Perl6 talk right now 12:07
masak oh. it would seem my talk just got moved to first thing tomorrow. :)
oh great, several bonus hours of procrastination :P 12:08
AlexKotov www.picamatic.com/view/7557065_P105...halfsized/ 12:09
Pic of jnthn at the stage
masak AlexKotov++ jnthn++
note the camera pointing at the laptop :P 12:10
12:10 yegor joined
masak yegor: hi. 12:12
Tene I remember meeting jnthn at the parrot summit once 12:14
the hotetl we stayed in happens to be right next to where I live, when I moved to CA
12:14 satyavvd joined
uKibab dl.kibab.com/jonathan0.jpg 12:15
Tene like, two blocks from my first apartment here.
uKibab :-)
masak uKibab: nice one!
bacek AlexKotov, передавай ему привет после презентации :) 12:18
(Sorry for Russian guys :)
dalek p: a555ce0 | bacek++ | src/6model/reprs/P6opaque.c:
Add awful, terrible block of GC
masak phenny: "передавай ему привет после презентации"? 12:19
phenny masak: "peredavay emu hello then presentations" (bg to en, translate.google.com)
masak phenny: ru "передавай ему привет после презентации"?
phenny masak: "Give my regards to him after the presentation" (ru to en, translate.google.com)
bacek AlexKotov, and tell him to review my last commit to nqp :)
wow! phenny++
actually google.translate++ :)
masak phenny: tell jnthn <bacek> AlexKotov, передавай ему привет после презентации :) <bacek> AlexKotov, and tell him to review my last commit to nqp :) [re commit a555ce0] 12:20
phenny masak: I'll pass that on when jnthn is around.
bacek masak, meh!
masak :)
bacek aloha, msg jnthn please review my last commit to nqp
oh. This incarnation of aloha doesn't have "msg". Which is probably good anyway :) 12:21
masak aye.
bacek otoh. 12:22
aloha, seen tadzik
aloha bacek: tadzik was last seen in #perl6 31 mins 37 seconds ago saying "thanks".
tadzik bacek: I'm hier
heh, I'll upload my NLPW pics too, for the fun
bacek tadzik, I know. I'm just checking cross-channel "seen"
:)
tadzik :)
AlexKotov seen tadzik 12:23
aloha tadzik was last seen in #parrot 9 seconds ago saying "(:".
AlexKotov works!
uKibab great :-)
bacek Indeed :)
12:24 Moukeddar joined
masak Moukeddar: hi! 12:24
tadzik oh, that's a hackathoney thing?
Moukeddar hello Sir
bacek So, cross-channel msg via aloha will work too. You just have to use #parrot to send message
Moukeddar how are you doing?
masak tadzik: what is?
tadzik masak: the cross-channel-seen
masak Moukeddar: I'm at YAPC::Russia :)
12:24 cognominal left
masak tadzik: I don't think so... 12:25
Moukeddar you made it
congrats
masak Moukeddar: yeah! thank.
s*
Moukeddar: how're you?
Moukeddar good but a bit Tired :) 12:26
bacek thinking about visiting YAPC::Russia some day
AlexKotov bacek: where are you now? (geographically) 12:28
bacek AlexKotov, Sydney
AlexKotov Yeah.... really far way to go to Moscow )
bacek Yeah :) 12:29
12:29 risou_awy is now known as risou
tadzik imgur.com/SSb6L&KR52j&w3vYW -- 3 NLPW pictures 12:32
Moukeddar nice
many heads
tadzik I think masak is on all three :) 12:33
masak huh. how'd that happen? :)
tadzik easily, my dear Watson. Your head is between the other heads
Moukeddar found him :) 12:34
he's in the last line of heads
bottom-right
tadzik depends on a picture :) 12:35
masak right. I've moved to a completely different place in the third picture :)
er. my head has, I mean. 12:36
Moukeddar i'm talking about the first one
right?
masak right.
Moukeddar that's jnthn in the second piC right?
masak aye. 12:37
Moukeddar why do you have to use a dish as a background image ?
pavlov Experiment?
masak Moukeddar: because the talk was called "Perl 6 Appetizers" :) 12:38
Moukeddar lol, and that's an appetizer?
masak right.
Moukeddar more like an insect fight club
masak I assure you it looks very tasty in the actual PDF. 12:39
Moukeddar must be the projection 12:40
masak I regret to say that I never managed to compress this particular PDF enough to be able to upload it.
Moukeddar too many pics? 12:41
masak it became huge because the same title imeages were repeated on all the subsequent slides.
very pretty, but too large. I haven't used that presentation system since.
Moukeddar oh, isn't there a way to make it as a template
so all the title images get linked to the first one 12:42
masak I didn't find one at the time.
I did look for one.
Moukeddar most of my PDFs are <15 page
masak the problem is the way I make PDFs per page, and then glue them together...
Moukeddar masak, try to make the whole document in Word 2010 for example 12:43
masak the presentation framework for Appetizers is online, though. it's written in Perl 6: github.com/masak/talks/blob/master...esentation
Moukeddar then save as PDF
masak Moukeddar: not if I can avoid it :D
Moukeddar it's FAT ;)
masak FAT16 or FAT32? 12:44
moritz tadzik: have you solved the issue in nopaste.snit.ch/45315 ?
tadzik moritz: yeah, we got to that 12:45
Moukeddar just plain FAT :)
but it depends on the C chain :)
tadzik I also solved a few new things, will probably have something to show off in a near future
moritz great, just came back from purchasing a new bicycle 12:46
tadzik sounds good
moritz will get it on Tuesday :-9
tadzik I was looking at some bicecles yesterday, but ended up getting new shoes and new haircut :)
moritz I also got a new haircut yesterday... for free. $wife++ :-) 12:47
Moukeddar for free?
moritz yes
Moukeddar sweet
moritz ok, it cost me a kiss
Moukeddar it's getting Hot in here, i need a military hair cut
moritz, that's expensive
get a refund 12:48
tadzik a kiss is not a contract :>
Moukeddar oh it will become one
soon
masak .oO( sub kiss { PRE { ... }; POST { ... } } ) 12:49
tadzik there's a trap in my gsoc proposal. Rakudo can't really parse the delimited blocks, it can ignore them :)
masak tadzik: that's correct. 12:50
uKibab unfortunately had to w leave in the middle of John's talk
:(
Moukeddar must be the kebab 12:51
uKibab nope :-P 12:52
AlexKotov uKibab will be back tomorrow :)
uKibab tadzik, are you participating in gsoc this summer?
Moukeddar they had this google/Opensource talk here at my city
i couldn't make it 12:53
AlexKotov Changes in tomorrow's timetable for YAPC::Russia: 1.) mberends's talks removed :( 2.) masak's talk moved from today
tadzik uKibab: yes 12:54
AlexKotov event.perlrussia.org/mayperl4/sched...2011-05-15
Moukeddar: where are you now (geographically)?
Moukeddar Morocco 12:55
AlexKotov Closer than Sydney or California, but still far enough...
Moukeddar yes pretty fat 12:56
far*
i think my uncle married a russian girl :)
pmichaud good morning, #perl6 12:57
masak pmichaud! \o/
pmichaud: jnthn is mid-talk: "Inside a Compiler".
uKibab also participa 12:58
12:58 ymasory left 12:59 AlexKotov left, AlexKotov joined
tadzik good morning pmichaud 12:59
13:00 woosley left 13:02 Moukeddar left
pmichaud masak: I trust the talk is going exceedingly well, as all of jnthn++'s talks do? 13:02
masak yes, it's proceeding nicely. 13:03
AlexKotov Current slide is "Current focus" (NQP)
pmichaud Today at 2100UTC is the Parrot Developer Summit (on #parrotsketch) -- anyone have any items they wish me to share at the summit?
tadzik pmichaud: could you poke cotto about the Select PMC which was contributed, but not yet reviewed enought to be accepted? 13:04
pmichaud tadzik: will try to do that, yes. 13:05
the summit often tends to focus on bigger picture items... but that probably qualifies
tadzik I see
well, that'll open us some way to async IO 13:06
pmichaud also, I know everyone is watching jnthn's talk, but I'm still wanting to hear opinions on gist.github.com/971944 (replacing Perl 6 Mu.item with a PIR one for 8% performance improvement)
tadzik: where was Select PMC contributed?
(ticket? mailing list?)
13:07 Chillance joined
tadzik pmichaud: tewk/select branch or something 13:08
pmichaud tadzik: it might get more attention with a trac ticket for it
13:08 AlexKotov left
tadzik pmichaud: it has a trac ticket 13:08
let me find it
pmichaud if you could .... thanks
tadzik trac.parrot.org/parrot/ticket/2034 13:09
pmichaud I can only be here for about an hour -- have a meeting irl here this morning
masak pizza! &
13:09 masak left
tadzik pmichaud: re Mu.item, I thought replacing Perl 6 with PIR was less than desired 13:09
uKibab pizza arrived? 13:10
pmichaud tadzik: I've always maintained that hotpath items (such as this) should not have to be written in P6
besides, all I'm doing is replaying
*replacing
method item() { self }
with a PIR method
.sub 'item' :method; .return (self); .end
seems minor enough for an 8% overall speed improvement 13:11
we can leave the p6 version in the source, with a comment that it's actually in builtins/Mu.pir
(p6 version commented out)
moritz +1 13:14
pmichaud someday our compiler will be smart enough that it can compile the p6 version to be on par with the PIR version. Until then, I'd like to take the speed improvement.
flussence now I'm curious, what does the P6 currently compile down to? 13:17
pmichaud well, since it's a perl 6 routine, it
creates $_, $!, and $/
(this involves creating at least 6 pmcs) 13:18
creates a return exception handler
(another pmc)
(looking) 13:19
creates a lexical 'self' PMC and binds the invocant to that 13:20
so, that's another pmc
13:20 JimmyZ joined
flussence ouch, that's a lot of work for nothing :) 13:20
pmichaud it creates a Hash for %_ 13:21
(another PMC)
tadzik pmichaud: makes sense
pmichaud and in the case of sin.t, this sequence was called 45K times
meaning we created ~450K PMCs that we just threw away 13:22
flussence yow!
pmichaud (that's what is meant by "hotpath" :)
tadzik (I meant the replacing)
pmichaud (tadzik: got it :)
flussence I think I've seen a few other bits of core that are just "{ self; }", would it make sense to do the same to those? 13:23
oh, they're just $var.{$var.WHAT} 13:24
moritz flussence: only if they are called that often (I doubt it) 13:25
13:25 stasy joined, sjn joined
flussence oh well, it's only a temporary fix anyway 13:26
pmichaud github.com/pmichaud/rakbench/blob/...140653.txt # latest rakbench results 13:27
github.com/pmichaud/rakbench/blob/...140651.txt # latest rakbench results, #2 13:28
13:28 JimmyZ left
pmichaud the above do not include the Mu.item hotpath patch 13:28
gtg -- bbl
13:28 JimmyZ joined 13:29 yegor left 13:30 stasy left
tadzik pod6 showoff: nopaste.snit.ch/45436 13:31
arnsholt Cool! 13:44
Also, for all your placeholder text needs, I recommend lipsum.lipsum.com/
=)
13:46 Su-Shee left
tadzik naah ;) 13:48
13:53 woosley joined 13:54 AlexKotov joined 13:55 Ali_h left 13:57 masak joined
masak mmm, pizza. :) 13:57
AlexKotov Yeah, pizza was tasty!
moritz tadzik++ # POD parsing 13:59
14:00 Su-Shee joined
masak pmichaud++ # groups.google.com/group/parrot-dev/...62b7fc93f6 14:01
14:06 Trashlord left
tadzik debugging grammars is a huge pain 14:09
14:10 risou is now known as risou_awy
moritz tadzik: it is, but you'll gather experience, and will need less debugging soon 14:11
tadzik probably, yes
For now I'm stuck on paragraph blocks
jnthn pmichaud: I know PIR methods are faster. They also lack signatures, and won't play well with the metamodel stuff at all, let alone v-table indexing and stuff. 14:12
phenny jnthn: 12:20Z <masak> tell jnthn <bacek> AlexKotov, передавай ему привет после презентации :) <bacek> AlexKotov, and tell him to review my last commit to nqp :) [re commit a555ce0]
masak I can't claim that it has gotten easier over time to write large grammars. I've become more careful over time though, and prefer to depend on tests for making sure I don't regress.
tadzik but maybe I'll try to (1) write a hell of tests for the delimited blocks and (2) stick it inside Rakudo and see if that works
jnthn pmichaud: It's fine for a workaround for now but it'll only cause pain. I've wasted quite enough time on the bits of NQP still written in PIR.
pmichaud: PIR inside the method is OK-er. 14:13
masak tadzik: you might want to consider evolving grammar+tests in one isolated file, and then injecting it into Rakudo when it's ready enough.
tadzik: quicker development cycle.
tadzik masak: that's what I started doing, yes
jnthn pmichaud: An optimizer is kinda high on my list post-nom.
masak tadzik++ 14:14
tadzik Rakudo's grammar will need a bit of refactoring too, it seems
alright, tests first, parablocks later 14:15
14:15 Moukeddar joined
tadzik that's an entire week 2 14:16
masak ...is this week 2? 14:17
tadzik nope, it's about -2 14:18
masak \o/
tadzik I mean I wanted to do an entire week 2 before week 1, or something like this :)
14:19 SHODAN joined 14:24 dayangkun left, AlexKotov left
masak ok, conf over for the day :) 14:25
jnthn ПИВОООООО! \o/
masak :P
tadzik phenny: "ПИВОООООО!"?
phenny tadzik: "PIVOOOOOO!" (ru to en, translate.google.com)
masak or should I say :П
tadzik :D
masak would have been really impressed if phenny'd said "BEEEEEEER!" 14:26
tadzik oh, I forgot about the missing ingredient for debugging grammars!
jnthn
masak tadzik: love? :)
jnthn tadzik: sacrifies?
masak tadzik: jelly beans? 14:27
tadzik no! ПИВОООООО!
jnthn OOOO!
tadzik that's what helped last time with Config::INI
twice
masak (Ballmer peak)++
jnthn Always practice BDD.
masak Ballmer-Driven Development?
jnthn Beer Driven Development \o/
masak oh :)
tadzik combined with Test Driven Development that gives us Best Driven Development! 14:28
masak could also have been Водка Driven Development :P
jnthn :D
14:28 dur-randir left
tadzik I prefer Bier :) 14:28
masak I'm so glad you didn't say "Biber".
er, Bieber* 14:29
jnthn ewww!
Why'd you have to mention...
:P
masak .oO( do not imbiebe... )
jnthn :P
let's go!
masak &
14:29 masak left, dionys left 14:34 stasy joined 14:38 Trashlord joined 14:41 walkalone joined, stasy left 14:43 Moukeddar left
tadzik heh, who was looking for the shortest code to generate a Null PMC Access? :) 14:45
rakudo: @.a
p6eval rakudo be887a: OUTPUT«Null PMC access in find_method('a')␤ in main program body at line 2:/tmp/g2_bhzNFCM␤»
14:48 woosley left
tadzik how do I create an Foo::Bar::$Baz instance in runtime? 14:48
14:48 woosley joined
tadzik w/o eval of course 14:48
PerlJam wonders why tadzik says "of course" :) 14:49
tadzik I'm trying to cut myself off the thought that there isn't any better way:) 14:50
dalek : 223892f | jimmy++ | docs/zh-cn/syn/S02-bits.pod:
use more descriptive words
14:54
tadzik more descriptive words? These are all squares! :P 14:57
JimmyZ :) 14:58
you may want to learn chinese? 14:59
14:59 miso_soup joined 15:01 MayDaniel joined
tadzik maybe one day 15:03
15:03 tty234 left
tadzik how do I deal with "Illegal redeclaration of symbol 'Pod6::Block'" again? 15:04
dalek : 38aa395 | jimmy++ | docs/zh-cn/syn/S02-bits.pod:
use more descriptive words again, this makes words more smooth
15:07
15:18 JimmyZ left 15:22 Ali_h joined, whiteknight left 15:25 kborer joined 15:27 p6eval left, Ali_h left, whiteknight joined 15:28 dolmen left, p6eval joined, ChanServ sets mode: +v p6eval 15:29 Ali_h joined 15:32 mj41 joined 15:33 mberends joined 15:34 MayDaniel left 15:36 tty234 joined, dur-randir joined 15:39 bluescreen10 joined 15:40 bluescreen100 joined 15:41 bluescreen__ joined
tadzik rakudo: my $a = Nil; say $a.perl # expected? 15:42
p6eval rakudo be887a: OUTPUT«Any␤»
15:43 risou_awy is now known as risou
tadzik rakudo: my @a = Nil; say @a.perl # expected? 15:43
p6eval rakudo be887a: OUTPUT«[]␤»
15:43 yegor joined
tadzik s:2nd/expected\?// 15:43
15:44 p6eval left
TimToady yes, see S02:2240 15:45
tadzik right. Thank you 15:46
15:46 bluescreen100 left, p6eval joined, ChanServ sets mode: +v p6eval, bluescreen100 joined, kborer left 15:47 kborer joined 15:48 f00li5h joined 15:55 snearch joined, envi left 16:01 birdwindupbird joined 16:02 miso_soup left 16:03 ymasory joined 16:08 p6eval left 16:10 p6eval joined, ChanServ sets mode: +v p6eval 16:16 dur-randir left 16:19 walkalone left, mj41 left 16:20 mj41 joined 16:21 bluescreen100 left 16:22 bluescreen100 joined 16:23 bluescreen10 left, bluescreen__ left, bluescreen100 left 16:27 woosley left 16:28 p6eval left 16:30 p6eval joined, ChanServ sets mode: +v p6eval 16:35 donri joined 16:43 _jaldhar left 16:47 colomon joined 16:48 orafu left 16:58 lestrrat joined, risou is now known as risou_awy 16:59 wamba joined 17:02 sjn left 17:04 yegor left 17:06 kborer left 17:07 johnjohn101 left 17:14 cognominal joined 17:19 mj41 left 17:26 jesk joined 17:28 icwiener joined 17:32 Schwern left
sorear good * #perl6 17:33
dalek ok/first-example-more-robust: e9930d3 | moritz++ | src/basics.pod:
[basics] fix duplicate invocant explanation found by PerlJam++
17:38
17:38 snearch left
dalek ok: 0281365 | moritz++ | src/basics.pod:
[basics] made first example more robust wrt whitespace. Text still needs updating
17:38
ok: 346ed6a | moritz++ | src/basics.pod:
[basics] start to updated description of the new first example
ok: e83af18 | moritz++ | src/basics.pod:
[basics] further wording changes after the s/split/words/ refactor
ok: e9930d3 | moritz++ | src/basics.pod:
[basics] fix duplicate invocant explanation found by PerlJam++
ok: 3d702f6 | moritz++ | src/basics.pod:
Merge branch 'first-example-more-robust'
17:39
17:48 mj41 joined 17:49 dju joined 17:50 masak joined
masak lol hi! 17:50
tadzik lol hi masak! 17:51
masak lol 17:52
tadzik if you're adventure-hungry, gsocmess got some funny updates recently
masak thanks; now is a good time for me to have a peek.
tadzik cool
jnthn evenin'
sorear hi masak! 17:53
masak ooh -- "Add some meat." -- Pod with meat on it :)
tadzik evenin' jnthn'
masak evening' sorear'
jnthn masak: I think you took the hungry bit too literally :P 17:56
masak jnthn: hunger is not to be trifled with! 17:59
masak makes Pac Man motions
jnthn smiles cherrily
tadzik writes FotC inspired tests 18:01
18:04 mj41 left 18:08 orafu joined
cognominal jnthn, masak, mberends : osdc.fr is tentatively scheduled in September 2011, Thursday 22 to Saturday 24. It would be part of a larger event and hosted Avenue Georges V (difficullt to find a more classy place in Paris which will change from the seedy area around Cité des Sciences). Still free and open. 18:08
mberends \o/ 18:09
cognominal beers will be probably way more expensive in the area too :( 18:10
jnthn cognominal: OK. I'm still looking at FPW too
cognominal nice
jnthn cognominal: They'll probably still be cheaper than in Swedne :P
mberends jnthn: travel via .nl if you like :)
jnthn mberends: Canny do that on the way there - I'll be coming straight from teaching. 18:11
cognominal I remember English guys complaning about the price of beers in Paris, in yapc 2003.
jnthn But on the way back maybe ;)
mberends :)
cognominal That would help organizers if you submit your talks at journeesperl.fr/fpw2011/ 18:12
sure enough, anyone on this channel is invited to come and talk in our conferences… 18:13
mberends is preparing a submission 18:15
cognominal beer is expensive but Chartreuse is free as usual :) 18:16
moritz tadzik: I get a parse error in podclasses.pl line 14 18:17
cognominal "for the happy few" would say Stendhal en Français dans le texte.
moritz tadzik: Whitespace character is not allowed as a delimiter at line 14, near " nothing s
#= nothing special. BOARing!
tadzik moritz: yeah, apparently Rakudo does not like #= anymore
moritz: I got rid of that in the Real Code
moritz tadzik: so I should be running the t/ files instead? 18:19
tadzik moritz: ufo && make test should do
moritz tadzik++ # passing tests 18:21
Tene cognominal: any chance fpw would fund my travel to give a presentation there?
tadzik moritz: I have some local ones that don't :)
moritz failing tests are great too :-) 18:22
tadzik they're even better :)
moritz but having *some* tests pass is way better than only failing tests 18:23
tadzik yes 18:24
I just added some new, both passing and failing. 18:25
moritz: could you give me a hand with prototokens? 18:30
cognominal Tene, I am writing a mail to the fpw oganizers but it would be good that you submit your potential talks with the mention you need funding. 18:32
tadzik moritz: nvm 18:34
dalek kudo/nom: 79d1ccc | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Update bootstrap to use stub syntax so that symbols end up installed in the serialization context properly.
18:47
kudo/nom: f0d615d | jnthn++ | src/CORE.setting/stubs.pm:
Stuff in the setting should be my-scoped.
masak sleeps &
18:47 masak left
tadzik what time is it in Russia? 18:48
jnthn tadzik: Getting towards 11pm 18:49
tadzik: And masak stayed up slide hacking last night ;)
colomon reminds himself to get his presentation for YAPC::NA done *before* leaving for the conference. 18:50
tadzik (:
colomon That way I can stay up drinking instead. ;)
18:51 Mowah left
colomon is also hoping there might be a chance for tunes... there's at least one world-class Irish guitarist living in Asheville. 18:52
18:53 fhelmberger joined 18:54 Mowah joined 18:59 dionys joined 19:00 noganex_ joined, noganex left 19:05 yegor joined
jnthn sleep & 19:07
19:17 kjeldahl left
tadzik rakudo: say Seq.new(1, 2, 3).perl.eval.WHAT 19:20
p6eval rakudo be887a: OUTPUT«Parcel()␤»
tadzik intentional?
19:21 ruz joined 19:22 wamba left
moritz probably not really 19:23
pmichaud rakudo: say Seq.new(1,2,3)
p6eval rakudo be887a: OUTPUT«123␤»
pmichaud rakudo: say Seq.new(1,2,3).perl
p6eval rakudo be887a: OUTPUT«(1, 2, 3)␤»
pmichaud that's likely why.
rakudo: say Seq.new(1,2,3).perl.eval.item.WHAT
p6eval rakudo be887a: OUTPUT«Seq()␤»
pmichaud that works, though :-)
19:24 dionys left
tadzik I'm debugging this for like half an hour now. In .perl it looks like a Parcel, and I'm wondering why doesn't it flatten 19:25
sorear .perl is broken by design for Seq/Parcel/List/Array
one of the reasons why I'd like to get away from the notion of perl/eval dualism 19:26
who invented .perl, and were they asleep in ~1997 when the Haskell community made the same mistake?
tadzik I don't really like the dozen types of lists
colomon or we need something else which is a dual with eval? ie a pretty-printer and a serializer, and never the twain shall meet? 19:27
sorear colomon: using eval() as a deserializer is fundamentally stupid 19:28
colomon yeah, I thought that as soon as I typed it. :)
(well, as soon as I hit enter, anyway.) 19:29
moritz btw perl 5.14 release is very soon 19:30
tadzik 72 min ago Jesse Vincent Remove RC3 marker 19:31
it's now /o\
colomon sorear: so we have, what, three distinctly different concepts all trying to squeeze into the .perl / .eval box?
tadzik and we won't be using package Foo {} syntax anyway, because everyone will be obliged to keep 5.8 compatibility 19:32
sorear colomon: I'd say.
tadzik All tests successful. 19:36
I almost stopped believing this is possible :)
19:40 iley joined 19:43 wamba joined, kappa joined 19:44 kappa left
pmichaud I've remarked numerous times that I disagree with .perl's current definition, with little effect. 19:45
(definition as given by spec as well as implementation)
.perl lacks item/list awareness
19:50 SHODAN left
colomon www.johndcook.com/blog/2011/05/13/t...-practice/ 19:55
19:56 kappa joined 19:57 ymasory left
moritz .perl is specced to imply .item context 20:00
pmichaud sure, but the thing it outputs might not be .item
moritz that's an implementation bug 20:01
pmichaud or, put another way, I believe the spec says that if you evaluate the result of .perl in item context, you get the same result as what you put in
that's certainly what happens in the case of .Seq
rakudo: say Seq.new(1,2,3).perl.eval.item.WHAT
p6eval rakudo be887a: OUTPUT«Seq()␤»
20:04 mj41 joined
plobsing_ phenny: tell jnthn I have updated the zavolaj patch: nopaste.snit.ch/45500. it still doesn't like something about the references. 20:12
phenny plobsing_: I'll pass that on when jnthn is around.
20:18 awwaiid left 20:20 awwaiid joined 20:24 wamba left 20:32 MayDaniel joined 20:33 AlexKotov joined 20:38 Trashlord left 20:39 Trashlord joined
pmichaud if anyone has time to quickly review my pds message for suggestions: gist.github.com/972609 20:40
I'll post it in about 5 mins
(it's a draft now)
tadzik pmichaud: garbage collection => better/faster garbage collection?
Parrot did have GC back then ) 20:41
pmichaud "improved"
well, Parrot has all of those, really, except the last 20:42
we just needed more still :)
tadzik (:
pmichaud: are you about to push your Mu.item change?
pmichaud tadzik: probably after PDS 20:43
right now my focus is there
Tene pmichaud: the phrasing about "we don't mind breakage ... to get them fixed or avoided" seems a bit off, in that if you're trying to avoid or fix breakage, then you do mind breakage? 20:44
pmichaud the fact that breakages occur is expected 20:45
that doesn't frustrate us (much) 20:46
Tene I don't have any recommendations; it just took me a few readings to understand what I think you meant there.
pmichaud if we could say "oh, this broke" and have a parrot person simply say "oops, we'll revert or otherwise help you out", that'd be great.
instead, we end up arguing for hours about why the breakage is absolutely necessary or that rakudo shouldn't be doing what it does or that rakudo shouldn't be targeting Parrot HEAD in the first place 20:47
the initial arguments rarely seem to listen to what we're saying, but instead are knee-jerk "you're wrong" sorts of responses. 20:48
I don't know how to improve that sentence to make that clearer, either.
Tene Perhaps "herculean effort to get necessary support from parrot"? 20:49
pmichaud too vague
and also not what I'm saying
Tene nods.
pmichaud it's not so much that it takes so long to get support, it's that we have to wade through a ton of anti-support first
Tene 'k, probably good enough.
pmichaud i.e., things that actively work against us
20:50 ab5tract joined, MayDaniel left
pmichaud "We don't mind the existence of breakages, we mind the 20:51
absolutely herculean efforts we have to go through with various
Parrot developers to get them to stop denying there's an issue
(or that they've already addressed it) so that a solution can be found. "
better ?
I'm going with that. 20:52
moritz news.perlfoundation.org/2011/05/perl-514.html 20:53
tadzik Quick, reddit it first! :P
flussence 5.14! :D 20:54
tadzik reddited it first
www.perl.org/get.html still lists 5.12.3 as the latest stable though 20:56
20:57 AlexKotov left 21:00 birdwindupbird left 21:05 iley left 21:08 ab5tract left 21:09 ab5tract joined 21:10 mj41 left 21:14 wamba joined 21:26 fhelmberger left 21:28 silent_h joined 21:29 Schwern joined 21:33 _jaldhar joined 21:34 kappa left 21:36 _jaldhar left, _jaldhar joined 21:47 ab5tract left 21:48 wamba left, Mowah left 22:12 ab5tract joined 22:17 ab5tract left 22:22 bluescreen10 joined 22:34 ab5tract joined 22:38 icwiener left 22:42 ab5tract left 22:43 ab5tract joined 22:48 ab5tract left 22:49 ab5tract joined 23:01 ab5tract left 23:13 ymasory joined 23:27 molaf_ joined
sorear good * #perl6 23:27
pmichaud: I would like to talk to you about .perl
pmichaud sorear: I'm hoping to take a break soon (been in PDS channel for 2.5 hrs) but I'll gladly take questions now :) 23:28
(or comments)
23:28 molaf left
pmichaud I'd only start by saying that .perl in rakudo is its best approximation of what I think to be a spec that needs some rethink/updating 23:28
i.e., by no means will I be defining what rakudo currently does with respect to what it *ought* to do :) 23:29
s/defining/defending/ # gah, can't type! 23:30
sorear pmichaud: I don't like the spec at all; I want to know what you'd like to see 23:31
pmichaud I think it needs to be more dwimmy
in other words, when someone uses .perl, they expect to see Perl code that would reproduce the thing they're .perling
I think we should stay true to that, even down to the notion of "this is an item" versus "this is a non-item" 23:32
sorear Do you think that @array.perl should be different from $(@array).perl? 23:33
my @foo = 1,2,3; @foo.perl; # @([1, 2, 3]) ?
23:38 jferrero joined
pmichaud I think that @foo.perl probably should be either (1,2,3) or @([1,2,3]) 23:43
mberends did we not come up with some cases a few months ago that even raised doubts about whether a .perl could ever be universal? Private object members, for example { has $!x; }
pmichaud depends on the level of fidelity we need
mberends: I'm willing to forego universal. I'd like "unsurprising" though.
right now lots of people get surprised by .perl
sorear: I can argue it either way, yes. I don't like that Array always becomes [1,2,3] though 23:44
sorear pmichaud: ignore the spec- I want to know how you think to do this right 23:45
23:45 donri left
pmichaud the more interesting case is something like: my @a = 1,2,3; (5, @a, 6).perl 23:45
sorear (5, @([1,2,3]), 6)
pmichaud right
that would be fine with me
it preserves the knowledge of the array, but also flattens
whereas: 23:46
(5, @a.item, 6).perl # (5, [1,2,3], 6)
or
my $a = [1,2,3]; (5, $a, 6).perl # (5, [1,2,3], 6) 23:47
I think that making .perl item-aware would remove a good majority of the "Huh?" moments we currently get (more) 23:48
sorear sounds easy enough to do 23:49
I'll do that
pmichaud also, I think it would help people understand the difference between item and list context
if you can *see* the difference in .perl, it makes it easier to understand what's going on
sorear +1
pmichaud (there might be cases that are more confusion as a result of the change, I admit.)
sorear @([]) is a bit ugly, is all I'll say
pmichaud it could be .list
sorear rakudo: say @([1])
p6eval rakudo be887a: OUTPUT«1␤»
pmichaud [1,2,3].list
or even list([1,2,3]) 23:50
sorear rakudo does @() now?
pmichaud I don't think it does... but it might
rakudo: say @([1,2,3]).elems
p6eval rakudo be887a: OUTPUT«3␤»
pmichaud hmmmm
rakudo: my @a = (1, @([2,3,4]), 5); say @a.elems
p6eval rakudo be887a: OUTPUT«5␤» 23:51
pmichaud looks like "yes"
oh, I think rakudo doesn't handle @$a yet
it knows the paren form, but not the non-paren prefix form
rakudo: my $a = [1,2,3]; say (1, @$a, 3).elems
p6eval rakudo be887a: OUTPUT«===SORRY!===␤Non-declarative sigil is missing its name at line 22, near "@$a, 3).el"␤»
pmichaud right, that's the one it doesn't know yet.
anyway, I think you and I are in agreement on how .perl should start to change. I'll be happy to help you make it happen :) 23:52
"Perl 6 implementors! Rise up and throw off the chains of your tormentor!" 23:53
sorear ...help?
pmichaud or something like that
sorear tehehe.
pmichaud anyway, I need a break from irc -- bbl
23:59 silent_h left