»ö« 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:05 drbean left, cj left, cj joined 00:07 drbean joined 00:09 mikemol left 00:30 adu joined 00:45 tyatpi joined 00:49 tokuhiro_ joined 01:00 PZt left
lichtkind good night 01:07
01:07 lichtkind left 01:10 preflex left 01:11 scott_ joined, scott_ is now known as Guest24381, quietfanatic left 01:12 preflex joined, Guest43857 left 01:34 tyatpi left
sorear good * #perl6 01:39
01:43 PZt joined 01:48 raiph left 01:58 tokuhiro_ left 02:06 tyatpi joined 02:18 shinobicl joined 02:20 mitch__ joined 02:22 shinobicl left 02:43 jaldhar joined
dalek ecza/non-bootstrap: 995e572 | sorear++ | lib/ (3 files):
Actions pt 12
02:59
03:07 _fall0ut_ is now known as driador, driador left, driador joined 03:35 tyatpi left 03:44 cog_ joined 03:46 cognominal left 03:55 edit_21 left 03:56 edit_21 joined
dalek ecza/non-bootstrap: c3880e1 | sorear++ | lib/ (2 files):
Actions pt 13
04:26
04:29 adu left 04:52 xinming left 04:57 xinming joined
dalek rl6-bench: 68bbd89 | (Geoffrey Broadwell)++ | / (2 files):
Choose JSON prettification based on style setting (auto=pretty); this closes multi-format output TODO
05:05
rl6-bench: f1a090b | (Geoffrey Broadwell)++ | TODO:
A few more TODO items
rl6-bench: 7e6db6c | (Geoffrey Broadwell)++ | / (2 files):
Output summary to arbitrary file; guess format based on extension of outfile
moritz \o 05:07
phenny moritz: 17 Jun 22:41Z <japhb> tell moritz Congrats!
moritz japhb: thanks!
05:09 fhelmberger joined 05:10 jerome_ joined
tadzik moritz: congratulations to you both! 05:55
sorear tadzik: context? 05:56
tadzik sorear: apparently moritz got married recently 05:58
sorear moritz: If the rumours are true, congratulations! 05:59
moritz sorear: thanks 06:09
sorear I'll take that as confirmation \o/
moritz (we were legally married for two years already, it was "just" the church ceremony on Saturday. And Ronja's baptism) 06:10
and a not-so-small party
06:12 cog__ joined 06:15 cog_ left 06:18 Caldrin left 06:20 wtw joined 06:41 birdwindupbird joined 06:45 kaleem joined 07:00 thou left 07:01 brrt joined
dalek ecza/non-bootstrap: 4771f2b | sorear++ | lib/ (2 files):
Actions pt 14
07:30
07:30 [particle] joined
moritz sorear: how many parts is it going to be? 07:31
frettled moritz: (belated) congrats!
moritz frettled: thanks :-) 07:32
mhasch , too, wishes moritz all the best
moritz thanks mhasch
sorear moritz: 3-4 more 07:34
it's a 4200 line file and I'm trying to keep commits to 300ish lines 07:35
moritz sorear: can you already test the things you're porting now?
or will that only be possible after porting the whole thing? 07:36
sorear most testing has to wait
(I've been checking if it compiles continuously, which has caught quite a few mistakes)
moritz (static typing)++ 07:37
07:37 am0c left
sorear agreed 07:38
shachaf moritz: Happy moritz*=2 ! 07:43
...Or however that works.
moritz thanks shachaf :-)
shachaf Everyone's getting married these days, it seems. 07:44
frettled ackermann(moritz)?
moritz frettled: ackermann is a function of two variables :-)
shachaf moritz: It's a function of 1-3 variables depending on who's talking about it.
frettled moritz: I find you very variable!
shachaf I think the original function had three. 07:45
moritz only knows the defintion given at the top of en.wikipedia.org/wiki/Ackermann_function
but yes, wiki says it was originally three-arg 07:46
shachaf I think A_1(n) is just A_2(n,n), or something like that. 07:47
sorear sleep& 07:48
shachaf sorear: Did you hear shapr got married recently too?
frettled I actually implemented Ackermann-sort.
07:51 cog__ left 07:52 cognominal joined
sisar the word "anonymous" is overloaded, methinks. It can refer to both: "things which are unnamend" or "things which have a name but right now we don't know its name". (when I was contemplating the reason why 'anonymous functions' are named so?). I'd rather call them 'nameless functions', instead. 07:55
shachaf That seems just as ambiguous. 07:56
sisar "unnamed functions" ?
bonsaikitten I would confuse nameless with lamdbas, is that intended?
sisar bonsaikitten: no
moritz what's the difference? 07:57
bonsaikitten language is ugly ;)
shachaf "lambda" is an OK name for lambdas.
I don't see why a name is that important in most cases. 07:58
moritz in Perl 6 we have functions that know their own name, and functions we can access by name, and the two are mostly orthogonal
sisar the fist code block (in stackoverflow.com/a/834616), when run in perl6, prints 123 both times. What changed in perl6 from perl5 to make this happen? 08:02
moritz sisar: are you familiar with the warning 'Variable "$x" will not stay shared' in Perl 5? 08:04
sisar moritz: no
something I need to read ? 08:05
moritz sisar: lemme find a good explanation
sisar ok 08:06
moritz sisar: www.perlmonks.org/?node_id=696592 maybe
sisar looks
moritz (short version: nested named subs don't work properly in perl 5, because the inner function can be run before the outer one was run, and there aren't static lexpads in the same sense as Perl 6 has them) 08:07
08:07 VXZ joined
sisar moritz: where can I read about lexpads? what are they, what are static ( and dynamic) lexpads, etc ? 08:13
moritz sisar: lemme dig up another link :-)
08:15 sergot joined
sergot hello o/ 08:15
tadzik o/
sisar :) 08:17
sisar afk
08:18 cog_ joined 08:20 cognominal left, dakkar joined 08:24 cog_ left 08:26 kresike joined
kresike hello all you happy perl6 people 08:26
sergot kresike: o/
kresike sergot, \o 08:27
tadzik hi kresike
kresike hello tadzik 08:28
08:52 daxim joined
Woodi relative morning #perl6 :) 09:04
moritz absolute #perl6, Woodi :-) 09:07
09:09 brrt left
Woodi hmm, there is new 'ufo' implementation - maybe it is used with modules automatic tests ? 09:12
moritz no 09:14
sisar: one possible ressource on lexpads and closures is www.perlmonks.org/?node_id=964726 09:15
tadzik Woodi: emmentaler uses panda, which does not use ufo 09:27
moritz but panda got its own set of improvements recently 09:28
sisar back
moritz: thanks. I'll go through it.
moritz though I really want it to install .pod files in time for the next star release
tadzik right 09:29
when is the next star?
moritz soon after next compiler, which is on Thursday 09:30
tadzik: iirc you wrote a partial patch for that. Is that pushed somewhere? 09:32
if not, could you please push it to a branch?
tadzik moritz: nah, it's not commited yet 09:52
or it is, but only locally, on my laptop at home
I'll push it when I get back home. It passed the tests I've written for it, but it crashed for some reason on p6doc 09:53
moritz ok, thanks 10:01
crashes are easier to debug than silent and wrong behavior, at least in foreign code 10:02
at least I'll know from the start where it went wrong
10:04 Guest24381 left 10:13 am0c joined 10:14 tyatpi joined
tadzik istr it was something like "omg, Pod is a directory, what now?" So mayhaps I told File::Find to look for files only where I shouldn't have 10:15
moritz but Pod::To::Html also has a lib/Pod/ dir 10:17
tadzik yeah, but I didn't test it on that one. I may not remember correctly what the error was exactly about 10:19
I think it was something related to Pod directory, but I could be that I just broke everything but tests ;)
moritz ah well, I might have tuits to look at it tonight
tadzik there's a reason this patch is unpushed
10:22 pupoque_gnexus joined
moritz n: no strict; 10:23
p6eval niecza v18-7-ga660099: ( no output )
moritz n: no strict; $a; say OUR::.keys
p6eval niecza v18-7-ga660099: OUTPUT«0␤»
moritz n: no strict; $a; say MY::.keys 10:24
p6eval niecza v18-7-ga660099: OUTPUT«0␤»
moritz n: my $a; say MY::.keys
p6eval niecza v18-7-ga660099: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/uoom5Qhy4u line 1:␤------> my ⏏$a; say MY::.keys␤␤0␤»
10:24 pupoque_gnexus left
moritz sorear: can .keys on pseudo package stashes return something else than 0 in niecza? if yes, how? 10:25
n: our $X = 5; say OUR::.keys
p6eval niecza v18-7-ga660099: OUTPUT«0␤»
moritz n: no strict; eval '$x = 5'; say $x 10:31
p6eval niecza v18-7-ga660099: OUTPUT«5␤»
10:42 tyatpi_ joined 10:46 JimmyZ joined 10:50 sisar left 10:53 sisar joined 11:01 edit_21 left, edit_21 joined 11:15 cognominal joined 11:16 sunflower joined
flussence my rakudo build attempts keep dying with "invoke() not implemented in class 't'"... I'm pretty sure I fixed this one before but can't remember how. I've already cleaned out ./parrot/ and ./nqp/ too... 11:28
11:28 cognominal left 11:29 cognominal joined
flussence (hm, it might be make -j2 causing it) 11:32
moritz flussence: some parrot installs still floating around somewhere? 11:37
flussence: I think grondilu reported a similar problem
flussence nope, I'm pretty certain it's all contained in that rakudo dir... 11:40
11:40 mtk0 left, mtk0 joined 11:43 skids left 11:47 DarthGandalf left
flussence hm, make -j1 didn't fix it either :/ 11:47
11:49 DarthGandalf joined 11:50 GlitchMr joined 11:53 jaldhar left, jaldhar joined 12:00 slinkylinda joined
slinkylinda hi 12:01
A PRAYER FOR TODAYFather in heaven, I receive Your truth today. I receive Your promises. I ask that You ignite my heart with Your holy fire so that I can pursue Your perfect plan for my life. Make my thoughts and words agreeable to Your will in Jesus’ name. Amen.
am from nigeria 23 years old girl 12:02
hey pals
[email@hidden.address] that's my yahoo massenger id 12:05
ur alow to add me
12:05 brrt joined 12:06 slinkylinda left 12:10 mtk0 left, erkan left 12:11 mtk joined
tadzik didn't we use to ban the entire chatmosphere subnet? 12:12
flussence they used to identify it in the hostname...
12:13 PacoAir joined
flussence I'm still of the opinion freenode itself should do something, they have the resources to do a more thorough job of banning/quarantining them. 12:14
12:17 libertyprime left 12:18 libertyprime joined 12:25 tokuhiro_ joined 12:29 snearch joined 12:32 BaggioKwok joined 12:40 BaggioKwok left 12:56 PerlJam joined 13:00 am0c left 13:01 jimmy1980 joined, jaldhar left 13:08 mtk left 13:09 mtk joined 13:10 Psyche^ joined 13:11 UncleFester6 joined, mitch__ left 13:12 mitch__ joined 13:13 Patterner left, Psyche^ is now known as Patterner 13:16 sergot left 13:17 sergot joined 13:24 UncleFester6 left 13:25 vmspb joined
PerlJam Ah ... it's release week! 13:28
13:30 jerome_ left 13:36 sergot left 13:43 jerome_ joined 13:44 skids joined 13:56 kaleem left 13:58 Mhen joined, drbean left, Mhen left 14:01 drbean joined 14:10 fgomez left 14:11 drbean left 14:19 JimmyZ left, kaare_ joined 14:28 sunflower left 14:30 sunflower joined 14:34 sisar left 14:35 sisar joined 14:39 uvtc joined
uvtc Anyone know if Pm's first talk on lists/arrays was recorded? I was hoping to see it show up at www.youtube.com/playlist?list=PLE3F888A650339DDF it hasn't appeared there. 14:39
14:40 vmspb left
uvtc Whoops. pmichaud ^^ 14:40
I saw (yesterday) the link to the slides: pmichaud.com/2012/pres/ (yapcna-lists-1) 14:41
14:42 jaldhar joined
gfldex uvtc: irclog.perlgeek.de/perl6/2012-06-17#i_5735526 14:47
uvtc gfldex, Yes, saw that. Thanks. Do you happen to know if it made it to youtube? 14:48
Haven't been able to find it, and was wondering if anyone could confirm whether or not it was recorded. 14:49
Also, in the irc comment from pmichaud, what was the "lightning talk" about? (Separate from the lists/arrays 1 talk, I presume?) 14:50
14:51 mikemol joined, jaldhar left 14:52 wtw left 14:54 jaldhar joined 14:57 thou joined 15:04 alvis joined, MayDaniel joined 15:07 tokuhiro_ left
TimToady the lightning talk was about how much rakudo performance was better, and about how rakudo starts up faster than perl5 if you include Moose and friends to implement a modern type system like Perl 6 gives you by default 15:10
15:10 atrodo joined
uvtc TimToady, Ah, saw the slides for that. Thanks. 15:11
harmil1 TimToady: that may be, but in my recent experience, Rakudo scales much more poorly with the size of the project than Perl 5. I'm sure that's fixable, but it's a pretty big concern for me right now.
uvtc I don't see a link anywhere on perl6.org regarding archived videos of talks. Is www.presentingperl.org/ galactic central hq for these? 15:12
TimToady beats me
harmil1 hmmm… why am I harmil1 now? didn't I do all the auth magic?
15:12 harmil1 is now known as harmil
TimToady harmil: sure, but pmichaud++ was just pointing out how far rakudo has come thus far 15:13
harmil there we go
TimToady you can't say everything in a lightning talk...
harmil TimToady: it really has. I was just being a wet towel of realism ;)
TimToady he was mostly trying to counter the argument that p5 starts up so much faster than p6 15:14
and his benchmark for the other part was just a small loop
I suspect the scaling problem will improve as we move toward more compact struct reprs
kresike bye all 15:16
15:16 jimmy1980 left, kresike left
moritz note that much of the rakudo setting (with the exception of very hot pathes like list iteration) was written without good knowledge about what operations are fast or slow 15:17
I guess there's still much to be gained on that level alone 15:18
15:23 spider-mario joined 15:24 jimmy1980 joined
harmil So, for an example of what I was talking about (and I want to stress that this is only to shine a flashlight, not to belittle the massive progress thus far), try this shell script: $ for size in 1 10 100 1000 10000; do code=$(for n in $(eval "echo {1..$size}"); do echo -n "1;"; done); echo -n "Expressions in input: $size: " ; time --format=%e -- perl6 -e "$code" || break; done 15:37
My output: Expression in input: 1: 0.28 15:38
Expression in input: 10: 0.30
Expression in input: 100: 0.60
Expression in input: 1000: 3.40
Expression in input: 10000: 39.48
The good news is that that growth appears to be linear with the number of expressions (for simple expressions)
the bad news is that that's a pretty huge constant increase. 15:39
15:41 jimmy1980 left
pmichaud good mprning, #perl6 15:44
harmil howdy pmichaud
15:44 kurahaupo left
uvtc pmichaud, I was asking earlier about if your first talk on lists/arrays/parcels was recorded. Do you happen to know if it was? 15:45
pmichaud uvtc: no, I don't know what the status of any recordings are. 15:46
uvtc pmichaud, thanks.
pmichaud Yes, there was a camera in the room; I presume it was streamed live, but as to whether it was recorded anywhere or whether the video will see the light of day... that's pretty much up to the yapc::na 2012 folks, I suspect.
uvtc pmichaud, seems like it would be very useful to have a video of that talk, given your comments on the slides ( pmichaud.com/2012/pres/yapcna-lists...g.html#end ). 15:47
pmichaud uvtc: sure, I agree. I'm eagerly awaiting the talk videos myself.
and I'm really hopeful they show up. Over the years I've had tons of my talks recorded in the room, but then the videos never actually make it online. :-/ 15:48
uvtc Do folks ever bring their own recording devices? (If I ever give a talk, I'm guessing I'd record it myself just so I'd have my own copy, even if only for posterity. :) ) 15:49
pmichaud I tried doing that a couple of times but it didn't really work out.
uvtc Heh. "Hey, could you please keep an eye on this camcorder while I give the next talk? Thanks!"
Hm. I suppose getting good audio could be difficult. 15:50
pmichaud yes, but I even bought a small microphone to help with that. 15:51
the tricky part is setup+takedown in the time between talks
uvtc Not sure what you mean... could you have a buddy or spouse just make the recording for you? 15:52
pmichaud uvtc: sure, could probably delegate it. 15:53
...but it's still something I wish could be handled at a conference level instead of a per-speaker level
15:56 jaldhar left
harmil Hmm… DO NOT execute this on the p5eval bot… this seems to hang the parser: my $x = 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1; 15:56
Interestingly, if I remove exactly one of the +1's it works
uvtc pmichaud, we talked about this on irc a few weeks (?) ago. I'd probably be interested in transcribing the meat of the talk into docs on the wiki. It would be unfortunate if the recording doesn't make it online.
harmil *s/p5/p6/
15:58 jaldhar joined, kurahaupo joined 15:59 jaldhar left, uvtc left
moritz harmil: don't worry, p6eval has a CPU time limit 16:00
r: 1 while 1; say 'alive'
p6eval rakudo a2bacb: OUTPUT«(timeout)» 16:01
16:01 jaldhar joined
pmichaud uvtc: I agree, it would be unfortunate. Sadly, that's not something I control. 16:01
harmil: howdy # just now catching up with stuff :) 16:02
harmil: I think your expression example above may be reflecting parse time more than anything else. 16:03
16:03 brrt left
moritz removing one +1 results in a parse time of ~2s 16:04
pmichaud as soon as I get an up-to-date perl6 executable, I'll test.
moritz: I meant the "Expression in input" example before that.
moritz ok
with the full thing, it hasn't finished after two minutes
pmichaud harmil: gist.github.com/2949136 # I get different results... what did I do wrong? 16:07
harmil pmichaud, not sure. here's my superset-test: 16:10
for size in 1 10 100 1000 10000; do code=$(for n in $(eval "echo {1..$size}"); do echo -n "+1"; done); echo -n "Expressions in input: $size: " ; time --format=%e -- perl6 -e "my \$x = 1$code;" || break; done 16:11
BTW: all of this is rakudo-star-2012.05 16:12
pmichaud Here's what I get for rakudo-2012.05: gist.github.com/2949162 16:14
16:15 jaldhar left
pmichaud I suspect my shell isn't producing the same output as yours 16:15
harmil wow, very different
I get about the same and then it hangs at 1000
pmichaud yeah, $code always ends up being "+1" for me
harmil oh, interesting. I'm using bash 16:16
pmichaud so am I.
harmil hurm… let me make that more generic then
pmichaud oh, maybe not.
if I use bash, I get an error.
harmil heh, I'll just use some perl5 so we have consistency
pmichaud I think I get what you're doing now -- you're just concatenating a bunch of +1's together? 16:17
you can use perl6 for consistency too :_)
harmil for size in 1 10 100 1000 10000; do code=$(perl -le 'print "+1" x shift(@ARGV)' $size); echo -n "Expressions in input: $size: " ; PATH=~/local-work/self/rakudo-star/rakudo-star-2012.05/rakudo-2012.05:$PATH time --format=%e -- perl6 -e "my \$x = 1$code;" || break; done 16:18
it's true, but my brain has some very low-level "perl -le 'print …'" firmware in place at this point
16:19 MayDaniel left
harmil I don't think I could even get my fingers to type "perl -e 'say …'" on newer perls, much less run perl6 16:19
pmichaud I get good results up to $size == 1000, at which point it's hanging for me too
so, it's definitely a parsing issue somewhere
harmil interesting.
oh, wait, 1000 hangs or 10_000 hangs? 16:20
pmichaud well, 1000 takes a really long time thus far
harmil ok, yeah, I see it just spin, taking up very, very slightly more memory over time. 140 expressions was the cuttoff for me, when I did the binary search 16:21
16:21 cognominal left, cognominal joined
harmil It went from 0.7 seconds to hang from 139 to 140 16:21
pmichaud mine is hanging at 139 16:22
harmil pmichaud: given pmichaud.com/2012/pres/yapcna-lists...g.html#end would it make sense to just delete the existing synopses and replace them with a placeholder? 16:23
pmichaud harmil: +1, yes.
I'll do that today if nobody beats me to them. 16:24
gist.github.com/2949227 # hangs at 138 for me
that's just.... weird
my gut tells me this might be a parrot string bug 16:25
harmil hmmm.. is perl5 putting spaces in the result of x? That might make a difference
e.g. 1 +1 +1 +1 vs 1+1+1+1 16:26
pmichaud okay, I think it's not string length related
16:27 snearch left
pmichaud I switched it to do 1+2+3+...+$size instead and get gist.github.com/2949241 16:27
where it hangs at 139
harmil I wonder… is there some kind of recursion limit detection that's being triggered, and then rakudo is treating that as a failed match? 16:28
pmichaud oooh, that makes a lot of sense. 16:29
yes, Parrot has a recursion limit.
harmil the 13x thing is awfully suspiciously constantish.
pmichaud normally the recursion limit triggers an exception, though -- it'd mean that something is catching the exception.
harmil yeah
Maybe rakudo needs a way to turn off parrot's recursion detection temporarily and take it over itself during expression parsing 16:30
pmichaud well, we can certainly up the limit.
aha!!!
check this out -- running on 2012.01
16:31 mikemol left
harmil The real-world expectation that this would ever happen is kind of thin... 16:31
but not 0
pmichaud gist.github.com/2949262
harmil++ # excellent catch
harmil There you go!
pmichaud something post 2012.01 is catching the exception 16:32
harmil aye
pmichaud where's masakbot when you need him? ;-)
tadzik I think he's still backlogging :) 16:33
pmichaud tadzik! o/ 16:34
just one of the people I wanted to talk to!
tadzik: ping !!!
tadzik pmichaud: pong!!!
pmichaud tadzik: I have a question about .WHY and pod
tadzik go ahead
harmil Ugh… I just came across some code in Actions.pm: '&' ~ ~$<identifier> … my eyes really want to read that as "~~"! 16:35
tadzik I'm not surprised
pmichaud are you aware of anything in the pod spec that would enable me to attach something to a function so that it collects the text from another location?
e.g., an external file
?
tadzik hm 16:36
pmichaud here's my usecase
currently, we have CORE.setting
tadzik should be doable, with more or less magic
16:36 vmspb joined
pmichaud we're also creating p6doc, with the documentation for the builtins 16:36
tadzik yes
pmichaud because the builtin documentation is common to multiple implementations, I don't want each implementation to have to copy the text into its CORE.setting equivalent
but I'd still like the builtins to be able to respond smartly to .WHY 16:37
tadzik yeah, that's reasonable
I've discussed that with moritz as well, I think
pmichaud what's more, I want it to be lazy, so that the documentation is only loaded when someone requests .WHY, as opposed to being stored directly in the .pbc/binary itself
tadzik right
pmichaud anyway, think about it a bit and let me know if you come up with any ideas :) 16:38
tadzik I have some
here's the thing: github.com/rakudo/rakudo/blob/nom/...Pod.pm#L20
Pod::Block::Declarator is what generally gets attached to objects
.WHEREFORE is the object, so you can go both ways, from object to docs and the other way around, but that does not matter 16:39
so the simpliest (simplest?) thing that we can do, is so that P::B::Declarator checks for any content it may have, and if it doesn't have any it fetches it from a file we choose
or tries
pmichaud I was wondering if there's an equivalent of a '#include' possibility in pod, such that text from another location is inlined within the current pod. 16:40
tadzik which sounds easy enough to do, we may even subclass P::B::Declarator for our own purposes here
I don't think there's a way
(inlining) 16:41
pmichaud maybe we should (get Damian to) add one :)
tadzik why would you want that?
pmichaud well, the use case I've just given would be one reason
tadzik so that inlining would work lazily?
pmichaud so that text becomes more reusable
tadzik mhm
pmichaud the specific case I'm thinking of would be something like this
let's suppose we have a method in CORE.setting, where we want to pull in the standard documentation but also need to add some rakudo-specific text 16:42
tadzik mhm
pmichaud I need to see an example of .WHY again -- I've forgotten the syntax :-(
tadzik so how would you see that syntactically? =include some_file.pod? 16:43
pmichaud (or, more accurately, I don't remember the current syntax)
tadzik r: say ""
p6eval rakudo a2bacb: OUTPUT«␤»
tadzik p6eval: thanks for the newline
r: #= this sorts some zebras␤sub sort-zebras { }; say &sort-zebras.WHY
p6eval rakudo a2bacb: OUTPUT«Block::Declarator.new(WHEREFORE => sub+{<anon>} sort-zebras() { ... }, config => ().hash, content => Array.new("this sorts some zebras"))␤»
tadzik pmichaud: ^
pmichaud tadzik: perfect.... writing... 16:44
tadzik r: #= this sorts some zebras␤sub sort-zebras { }; say &sort-zebras.WHY.Stringy
p6eval rakudo a2bacb: OUTPUT«this sorts some zebras␤»
tadzik mayhaps we want that to be .gist too, or so
pmichaud yes, I was just about to say that. +1
tadzik I need to reunderstand this print/say oddness 16:45
pmichaud say uses the .gist form of things
tadzik and gist is rather non-technical 16:46
pmichaud tadzik: maybe something like gist.github.com/2949346 , where I've made up the include<...> directive to denote the inlined text. It's just a placeholder; we should definitely come up with a better syntax.
the idea being we can grab a section of text (similar to what p6doc will ultimately want to do) and pull it inline into the .WHY 16:47
tadzik right
we could also keep CORE.pod and CORE.pod.rakudo and merge them during build like we do with src/core/files and gen/CORE.setting :) 16:48
but it may be just me being lazy
pmichaud yes, we can do that also, but we pay a storage cost for that.
16:48 sergot joined
tadzik hm 16:49
or maybe we put the rakudo-specific parts in the setting, and the general ones outside
so .WHY merges those
pmichaud right, that's what I'm advocating
tadzik hm
pmichaud so our CORE.setting contains a bunch of #= include<...> tags 16:50
tadzik oh, I thought of it differently
pmichaud which pulls in the text when .WHY is requested
tadzik hmm
what I thought is... let me write this down
pmichaud anyway, I'm just planting the idea seed for now. I really like the idea that CORE.setting gets its .WHY values "on demand" from a documentation source that can be shared among implementations. 16:51
kind of an AUTOLOAD for .WHY :-) 16:52
tadzik gist.github.com/2949346#comments
16:52 UncleFester6 joined
tadzik heh, markdown turned a comment into a HEADLINE 16:52
yes, that makes sense 16:53
(what you say)
sergot Who is going to go to the YAPC::EU? :)
tadzik me
pmichaud I was thinking more of "process-inlines-in(@.content)".
tadzik that makes sense as well
UncleFester6 r: my @a = (10, 20 ,30 ,40); my @l := gather { for @a {say "hi"; take $_ } }; say ~@l
p6eval rakudo a2bacb: OUTPUT«hi␤hi␤hi␤hi␤10 20 30 40␤»
tadzik oh-oh!
We can have a custom Formatting Code for that 16:54
16:54 sunflower left
pmichaud tadzik: yes 16:54
that's why I made it look like include<...> :-)
tadzik :)
UncleFester6 r: my @a = (10, 20 ,30 ,40); my @l := gather { for @a {say "hi"; take $_ } }; .say for @l
p6eval rakudo a2bacb: OUTPUT«hi␤hi␤hi␤hi␤10␤20␤30␤40␤»
tadzik and it won't even leak out
okay, so that we can do
oh wait 16:55
we have that already
A second kind of link—the P<> or placement link—works in the opposite direction. Instead of directing focus out to another document, it allows you to assimilate the contents of another document into your own.
UncleFester6 I am having trouble understanding gather/take/lazy eval. How do I loop through @l and get hi 10 hi 20 hi 30 hi 40
tadzik In other words, the P<> formatting code takes a URI and (where possible) inserts the contents of the corresponding document inline in place of the code itself.
. o O ( there's a spec for that )
pmichaud: so we have everything we need in the spec, I think
pmichaud tadzik: awesome! That's what I wanted to know :-) 16:56
tadzik I didn't remember about that one
pmichaud I thought it might be in the spec already
tadzik pmichaud: see perlcabal.org/syn/S26.html#Placement+links
the formatting is a bit broken here though
[Coke] yawns.
pmichaud I'm also fine if WHY.content returns the raw string, and WHY.contest.gist does the inlining
tadzik it should be put into a code block
pmichaud *WHY.content.gist 16:57
tadzik yeah, that ought to be fine
pmichaud something like that
tadzik so Rakudo needn't do anything
since we'll use Pod formatters for everything anyway;
UncleFester6 r: my @a = (10, 20 ,30 ,40); my @l := gather { for @a {say "hi"; take $_ } }; .say <== @l 16:58
p6eval rakudo a2bacb: OUTPUT«===SORRY!===␤Sorry, do not know how to handle this case of a feed operator yet. at line 2, near " @l"␤»
16:58 dakkar left
UncleFester6 Anyone into being lazy that can help? 16:59
tadzik r: my @a = (10, 20 ,30 ,40); my @l := gather { for @a {say "hi"; take $_ } }; .say for @l.list 17:00
p6eval rakudo a2bacb: OUTPUT«hi␤hi␤hi␤hi␤10␤20␤30␤40␤»
tadzik r: my @a = (10, 20 ,30 ,40); my @l := gather { for @a {say "hi"; take $_ } }; say "alalala"; .say for @l.list
p6eval rakudo a2bacb: OUTPUT«alalala␤hi␤hi␤hi␤hi␤10␤20␤30␤40␤» 17:01
pmichaud I think 'for' is still over-eager in Rakudo.
that's on my to-do list for today
17:03 UncleFester6 left
[Coke] aha. 17:07
.u 302
phenny [Coke]: Sorry, no results for '302'.
[Coke] .u 0302
phenny U+0302 COMBINING CIRCUMFLEX ACCENT (◌̂)
[Coke] .u 0240
phenny U+0240 LATIN SMALL LETTER Z WITH SWASH TAIL (ɀ)
[Coke] if my p6 program consists entirely of: (hd fail.t) : 17:08
00000000 23 c2 a0 0a |#...|
00000004
then I get the pugs decodeUTF8 error.
17:09 UncleFester6 joined
[Coke] looks like a unicode whitespace character (seen in a lot of the L<> links in the spectest suite back to the spec. 17:09
17:09 att joined
[Coke] e.g. in "Perl<not an ascii space>5" 17:09
.u .c2 17:11
phenny U+34C2 CJK UNIFIED IDEOGRAPH-34C2 (㓂)
U+35C2 CJK UNIFIED IDEOGRAPH-35C2 (㗂)
U+36C2 CJK UNIFIED IDEOGRAPH-36C2 (㛂) [...]
[Coke] .u 00c2
phenny U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX (Â)
[Coke] .u 00a0
phenny U+00A0 NO-BREAK SPACE ( )
dalek ast: 12a36cc | pmichaud++ | S02-lists/tree.t:
Fudge a failing tree.t test.
17:12
17:22 Vlavv` left
sergot .u 0488 17:25
phenny U+0488 COMBINING CYRILLIC HUNDRED THOUSANDS SIGN (҈)
sorear good * #perl6 17:26
shachaf: No.
moritz: No.
[Coke] pugs: » 17:27
p6eval pugs: OUTPUT«*** ␤ Unexpected "\187"␤ expecting program␤ at /tmp/5eCxT62mkD line 1, column 1␤»
[Coke] locally that also complains about decodeUTF8'
flussence I think the build failure I was getting earlier could be a 32/64 bit thing. About to double-check that...
pmichaud afk # lunch and kid pickup 17:28
17:28 daxim left 17:32 birdwindupbird left 17:34 Vlavv` joined 17:40 cog_ joined
flussence well there goes that theory, I just built the same source tree fine in 64 then 32 bit... 17:41
17:43 cognominal left 17:46 tyatpi_ left, tyatpi left 17:48 tyatpi_ joined, tyatpi joined 17:51 sunflower joined 17:55 stepnem left 17:58 vmspb left 18:10 fhelmberger left 18:15 sirrobert left 18:22 brrt joined 18:25 stepnem joined 18:27 jaldhar joined 18:30 jevin joined
dalek kudo/nom: d223755 | moritz++ | src/core/Exception.pm:
fix types in error messages

Patch courtesy of Nick Glencross
18:31
kudo/no-strict: cb28ebf | moritz++ | src/core/Exception.pm:
fix types in error messages

Patch courtesy of Nick Glencross
18:33
kudo/no-strict: bfcce00 | moritz++ | src/Perl6/ (2 files):
first step towards "no strict;"

No way to test it yet, because $*STRICT is never set to a false valu
sisar moritz: "fix types in error messages" <--- did you just make a typo when typing "typo"?! or was it intentional ? :) 18:39
tadzik :)
18:39 UncleFester6 left
moritz sisar: it was a typo :/ 18:42
tadzik now do a push --focre :P
18:45 mikemol joined
sorear o/ mikemol !!! 18:46
mikemol lo
mikemol is sad, tired and frustrated.
Best not to get any on you.
tadzik hugme: hug mikemol 18:47
hugme hugs mikemol
sorear hugs mikemol personally.
18:51 tokuhiro_ joined 19:01 harmil left 19:03 MayDaniel joined 19:07 mikemol left 19:20 thou left 19:22 mitch__ left 19:23 jaldhar left 19:27 shinobicl joined 19:28 thou joined
flussence I've reproduced RT#113660 completely on my netbook but doing so doesn't give me any ideas. It worked on my desktop's 32-bit chroot though which is pretty out of date system-wise, maybe it's a gcc 4.6-related bug? :/ 19:28
19:35 birdwindupbird joined
moritz phenny: tell masak use.perl.org seems to be dead, the two links on rakudo.org/how-to-help/ to your journal are dead 19:41
phenny moritz: I'll pass that on when masak is around.
dalek kudo/nom: 94a8bbe | tadzik++ | src/core/Pod.pm:
Make Pod::Block::Declarator stringification more friendly
moritz phenny: ask masak do you plan to mirror the posts somewhere? I think I have an HTML dump of all of your journal entries
phenny moritz: I'll pass that on when masak is around.
moritz oh, it seems that the posts are already on strangelyconsistent.org/ I just don't have the mapping 19:43
sorear phenny: seen masak 19:50
seen masak
aloha masak was last seen in #perl6 4 days 12 hours ago saying "flight &".
19:50 stephenlb joined
tadzik I hope he landed safely 19:50
sorear I didn't realize Malmö to London was *that* long of a flight
pmichaud I suppose it depends on masak++'s wingspan 19:52
sisar seen jnthn 19:55
aloha jnthn was last seen in #perl6 4 days 19 hours ago saying "phenny stuff that matters :)".
moritz phenny: tell masak never mind, I've updated the links
phenny moritz: I'll pass that on when masak is around.
19:58 kurahaupo left
sisar has clang been tried for rakudo development ? 20:00
moritz I'm pretty sure that some folks have compiled parrot and rakudo with it 20:01
recently
20:02 kurahaupo joined, tokuhiro4 joined 20:04 FireFly joined 20:06 brrt left 20:10 GlitchMr left
dalek kudo/nom: e80b1b1 | pmichaud++ | src/core/Parcel.pm:
Parcel.elems should flatten (per TimToady++ at yapc::na 2012).
20:11
pmichaud I'm getting a spectest failure in t/spec/S32-documentation/why.t 20:12
tests 2, 14
20:12 tokuhiro_ left
[Coke] WHY! 20:12
tadzik noes, WHY? :(
pmichaud oh, I see the problem. 20:13
tadzik I probably screwed that recently
20:13 tokuhirom joined
pmichaud looks like you eliminated Stringy when adding .gist 20:13
we need both, I suspect.
tadzik oh
20:13 mcglk left, mcglk joined
tadzik no, I think the tests have worked accidentally 20:13
pmichaud looks at tests 20:14
well, clearly test #2 is likely due to a lack of .Stringy 20:15
tadzik true
pmichaud and #14 also 20:16
since comparison will compare the stringy forms
tadzik although it may be that I've just invented this rule
I don't think it's specced
#14 should probably use .WHY.content 20:17
everything else does
pmichaud hmmm
I suspect that .WHY should stringify naturally into its content
tadzik but #2 clearly expects Stringy, and I don't see why it shouldn't
20:17 tokuhirom left
tadzik it used to 20:17
pmichaud right... but .Stringy disappeared :)
I'll fix it.
tadzik I can do that
pmichaud okay, I'll let you do it. :) 20:18
tadzik so .gist can just call .Stringy 20:19
pmichaud correct.
tadzik is that a common pattern in the setting?
pmichaud yes.
it's not uncommon. 20:20
moritz where did stringy disappear from?
tadzik sounds like "oh, say() now behaves differently than print(), let's fix it :)"
Pod::Block::Declarator
funny, I thought "bah, no way there are tests relying on this"
moritz oh
for a moment I hoped it was gone from the specs 20:21
20:21 sergot left
pmichaud tadzik: perhaps it should be Str instead of Stringy, though. 20:21
src/core/Version.pm:13: multi method gist(Version:D:) { self.Str }
src/core/Numeric.pm:22: multi method gist(Numeric:D:) { self.Str }
src/core/List.pm:319: multi method gist(List:D:) { self.Str }
etc.
moritz now that we have .gist, do we really need .Stringy to print junctions?
tadzik hehe, google images for "Jim Keenan" yields surprising results 20:22
pmichaud istr that .Stringy was about more than just printing junctions.
tadzik apparently there's also some bare-chested metalhead with that name
pmichaud in particular, .Stringy is allowed to return lazy strings
moritz yes, it was also a premature generailzation of coercion to more string types
[Coke] etoomanyways to stringify. 20:23
moritz agreed
tadzik agreed
pmichaud meh, we have lots of ways to numify; seems like multiple ways to stringify also makes sense. 20:24
tadzik (:
moritz and if we default to .Stringy-fication, we need *another* layer of indirection
[Coke] pmichaud: I'm pretty much going to use print "$foo\n" instead of say $foo to avoid "weird" stringification.
20:25 Breekie joined
tadzik so .Stringy calls .Str by default 20:25
why do we need .Stringy anyway?
moritz currently for infix:<~>(Cool, Cool) (or Any, Any; not sure) we do nqp::concat($a.Str, $b.Str)
erm
pmichaud tadzik: I wouldn't worry about it at the moment. Just implement Str for P::B::D
tadzik yeah, it's compiling 20:26
moritz nqp::concat(nqp::unbox_s($a.Str), nqp::unbox_s($b.Str))
if we need .Stringy instead of .Str, we need *another* dispatch on the result
pmichaud not necessarily for Cool types
for Any, yeah.
moritz because we might not be able to unbox the return value 20:27
pmichaud: why not for Cool?
pmichaud: there can be user-defined Cool types
pmichaud we could declare that Cool types always have .Stringy --> .Str
anyway, I doubt we'll resolve much w/o TimToady present. Perhaps we need to develop a position and corner him at yapc::eu or something :) 20:29
moritz in my head I've pushed non-Str Stringy to post-6.0 already 20:30
pmichaud wfm 20:31
dalek kudo/nom: c203977 | tadzik++ | src/core/Pod.pm:
Fix Pod::Block::Declarator stringification, tadzik--
20:33
20:33 cognominal joined 20:34 spaceships joined 20:36 cog_ left 20:37 sergot joined
sorear o/ sergot, cognominal 20:38
cognominal \o to the usual suspects 20:39
20:41 harmil joined
sorear o/ harmil 20:42
harmil hey
sisar 'master' is the, umm, master branch for the nqp repo ?
pmichaud sisar: yes. 20:43
20:44 birdwindupbird left
sisar in the nom folder, `git checkout master` , `git pull`, `git log` shows that the last commit was on June 11. Whats wrong ? 20:45
tadzik nom folder is for rakudo, not nqp
sisar sorry, s/nom/nqp
moritz sisar: what does git log origin/master say? 20:46
pmichaud ...the last commit was on June 11. :-)
tadzik :P
moritz oh :-)
pmichaud github.com/perl6/nqp
sisar oh ! duh ! i got confused between nqp and nom !
pmichaud shows commit b1226f by jnthn++ on June 11.
sisar oops...
sorear sisar: you haven't committed anything recently, that's what's wrong! :D 20:47
sisar: alternatively: "YAPC::NA"
sisar sorear: :-)
moritz r: no strict; 20:48
p6eval rakudo 94a8bb: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&strict' called (line 1)␤Undefined routine '&no' called (line 1)␤»
20:48 Breekie left
pmichaud looks like rakudo doesn't know 'no' yet. 20:48
moritz aye 20:49
ok, stupid question, why does Perl6::Grammar use <sym> (instead of <.sym>) so often?
sisar ain't rakudo supposed to warn on NYI features ?
moritz I mean, it's a constant. Not much sense in capturing it
sisar: yes, I'll add that in my branch 20:50
pmichaud moritz: sometimes <sym> is used in Actions.pm
at least, it was used once -- e.g., when several statements had the same code generation that differed by only the keyword being used
20:50 vlixes joined
sisar moritz++ 20:50
moritz pmichaud: any objections to changing that where it doesn't break things?
pmichaud moritz: no objections here; it lookslike the common uses of <sym> are in statements (for, given) and binding/assignment 20:51
also 'while' 20:52
looks like it gets used in most expressions, too 20:53
moritz there's not a single <.sym> in Grammar.pm
pmichaud are there many in STD.pm, ooc? 20:54
20:54 sergot left, skids left
moritz none either 20:54
pmichaud looks like none in STD.pm, too.
sorear yes, <sym> is uesed *everytwhere* in STD
pmichaud anyway, I'm not sure there will be a lot of places that we can safely replace <sym> with <.sym>, but you're welcome to try :-) 20:55
sisar 'ooc' ~~ 'out of context' ?
harmil Does it make sense to do that for everything that doesn't need to be captured?
pmichaud harmil: only if we know that it doesn't need capturing.
moritz but if we do, yes
saves memory
pmichaud I think you have to keep <sym> for all of statement_control: 20:56
maybe <.sym> will work for statement_prefix 20:57
definitely need <.sym> for statement_mod_cond and statement_mod_loop
er, definitely need <sym> for ...
moritz r: True-bla 20:58
p6eval rakudo 94a8bb: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&bla' called (line 1)␤»
moritz bug!
tadzik sisar: out of curiosity
harmil Wait… does it save memory? 20:59
sisar tadzik: ah. thanks.
moritz should parse True-bla as an identifier, and complain that the whole thing is not defined
harmil: the more you capture, the more memory it takes
harmil wouldn't those <sym> captures be freed up once the caller returns?
moritz harmil: so replacing <sym> by <.sym> saves memory
pmichaud can probably switch special_variable <sym> to <.sym>... but probably won't save much memory
moritz harmil: not necessarily; there might references to those Match objects somewhere 21:00
harmil true
pmichaud switching the twigil <sym> to <.sym> probably saves a bit
not sure about package_declarator 21:01
or multi declarator
anyway.... there'd need to be a lot of checking on many of them before switching, since <sym> is used fairly frequently in the compiler 21:02
moritz I think the package_declarator keeps track of the package type in $*PKGDECL
pmichaud and it's probably only worth switching ones that occur frequently, like in terms or expressions
and the regex compiler may need to be told how to handle <.sym> specially, since it's not a standard subrule call. 21:03
moritz oh
pmichaud i.e., there's no 'sym' method for Cursor defined.
<sym> is currently very macro-ish. 21:04
moritz r: grammar A { proto token TOP {*}; token TOP:sym<a> { <.sym> } }; say A.parse('a')
p6eval rakudo 94a8bb: OUTPUT«q[a]␤ => q[a]␤␤»
moritz r: grammar A { proto token TOP {*}; token TOP:sym<a> { <sym> } }; say A.parse('a') 21:05
p6eval rakudo 94a8bb: OUTPUT«q[a]␤ sym => q[a]␤␤»
pmichaud yeah, looks like it still captured even with the dot, but to the wrong slot.
moritz r: grammar A { proto token TOP {*}; token TOP:sym<a> { <.sym> } }; say A.parse('a').keys 21:06
p6eval rakudo 94a8bb: OUTPUT«␤»
moritz r: grammar A { proto token TOP {*}; token TOP:sym<a> { <.sym> } }; say A.parse('a').values
21:06 Entonian joined
p6eval rakudo 94a8bb: OUTPUT«a␤» 21:06
moritz another bug
pmichaud r: grammar A { proto token TOP {*}; token TOP:sym<a> { <.sym> } }; say A.parse('a').keys.elems 21:07
p6eval rakudo 94a8bb: OUTPUT«1␤»
moritz r: grammar A { proto token TOP {*}; token TOP:sym<a> { <.sym> } }; say A.parse('a').keys.perl
p6eval rakudo 94a8bb: OUTPUT«("",).list␤»
pmichaud yeah, since <sym> isn't a standard subrule call it doesn't quite know how to modify it
I think that the compiler translates <sym> into something like $<sym>=['foo'] 21:08
i.e., it's a literal match that is captured.
of course, if you want to avoid the capture, it's always possible to switch token term:sym<xyz> { <sym> ... } to be token term:sym<xyz> { 'xyz' ... } 21:11
21:12 att left, cggoebel left, cggoebel joined 21:14 kaare_ left
pmichaud moritz: did you see the outcome of the 1+1+1+1+... bug earlier? We're hitting the recursion limit, and the exception handlers go into an infinite loop. Is there some way we can avoid the infinite exception handling loop? 21:14
moritz pmichaud: through which routines does it loop? 21:15
21:15 sunflower left
pmichaud I didn't check to find out 21:15
when I ran with -ll-exception, it threw the "recursion limit" exception right away.
but without --ll-exception, it just hangs. 21:16
moritz will try to look into it tomorrow
pmichaud okay 21:17
moritz assertion:sym<name> creates a literal 21:18
but assertion:sym<method> (which parses <.sym>) sets the rxtype to method
pmichaud no, it sets the subtype to 'method' 21:19
the rxtype remains <subcapture> 21:20
moritz erm right, subtype
pmichaud I wonder if it makes sense to grab assertion:sym<sym> and assertion:sym<.sym> specially 21:21
moritz -> sleep
21:25 integral left 21:30 kurahaupo left, Entonian left 21:32 kurahaupo joined 21:33 integral joined, integral left, integral joined
pmichaud phenny: tell harmil see gist.github.com/2950855 for the results of 1+1+1+1+... after bumping up Parrot's recursion limit. It looks like the optimizer goes quadratic with long expressions, and that's what eats up all of the time. Execution itself isn't bad (I suspect it's just a constant at the end). 21:34
phenny pmichaud: I'll pass that on when harmil is around.
pmichaud looks to me like the optimizer is saving all of the intermediate constants and perhaps shouldn't.
harmil day again?
phenny harmil: 21:34Z <pmichaud> tell harmil see gist.github.com/2950855 for the results of 1+1+1+1+... after bumping up Parrot's recursion limit. It looks like the optimizer goes quadratic with long expressions, and that's what eats up all of the time. Execution itself isn't bad (I suspect it's just a constant at the end).
harmil *sat
*say … bah :)
interesting 21:35
pmichaud so yeah, the basic parse of 1+1+1+1+...+1 (10000) takes 20 seconds to parse and generate the ast.... and that's probably too slow. But the optimizer then is decidely... unoptimal. :-) 21:36
harmil heh
pmichaud anyway, it's an excellent test case. harmil++
I'm spectesting with the bumped-up-recursion-limit now, will commit shortly.
harmil how do you set the recursion limit? 21:37
pmichaud it's a property on the parrot interpreter
harmil And is there a way to set those from nqp?
pmichaud pir::getinterp__P().recursion_limit(100000);
harmil Ah, nice 21:38
pmichaud can do it from within rakudo, actually.
parrot's default recursion limit is 1000
harmil Well, the lines kind of blur, but I was toying with it in Actions.pm
dalek kudo/nom: ddfb9ff | pmichaud++ | src/main.nqp:
Bump up Parrot's recursion limit when we start (from default 1000 to 100000).
21:39
21:39 aindilis joined
harmil I was toying with the idea that recursion limit should be dynamic, based on what kind of structure you're parsing. 21:40
21:52 MayDaniel left 21:56 tadzik is now known as zamaskowany-tadz, zamaskowany-tadz is now known as tadzik 22:05 PacoAir left
sisar what is perl6's equivalent of C's "struct" ? (I'm reluctant to make a class and then instantiate it just to store a collection of related (typed) variables.) 22:07
pmichaud sisar: it's nyi, but perl6's equivalent of a C struct will be a class.
perlcabal.org/syn/S09.html#Compact_structs 22:08
sisar looks
what does "compact" refer to in "compact struct" ? 22:12
pmichaud that the attributes are contiguous in memory, I suspect.
i.e., they act as if they had been written in a c-style struct
i.e., writing 22:13
class XYZ { has int $x; has num @foo; }
is similar to doing
struct XYZ { int x; float foo[]; } # in C 22:14
(probably need an index on @foo there.)
22:15 masak_plane joined 22:16 spider-mario left
pmichaud it's masak_plane! 22:16
\o/
tadzik it's a plane!
it's a bird!
sisar this compactness indirectly implies that we can only have low-level types in this class ?
masak_plane Oh hai from a freakin' airplane!
tadzik how is it even possible
pmichaud sisar: yes, that's what the first sentence says, I think.
masak_plane This is awesome!
sisar masak_plane: how does the plane have internet ? 22:17
masak_plane I'm flying... AND I'm on IRC.
pmichaud if you have a class with only low-level types, it behaves like a struct
tadzik the carry the wire
I think we've already discussed that here
eh, the english bad
masak_plane Won't last long though. We're going in for landing soon.
pmichaud masak_plane: all of my planes to and from yapc::na had internet available on them. Inexpensive, too, $5 for the full trip.
(I didn't purchase wifi, though, because the flights were very short.)
masak_plane sisar: what tadzik said.
sisar right 22:18
tadzik: "carry the wire" ?
pmichaud masak_plane: landing is.... where? (ooc)
masak_plane pmichaud: free internets here.
pmichaud ooooh, free internets
masak_plane Norwegian++
tadzik free as in freedom!
masak_plane sisar: we're joking you a tiddle bittle. 22:19
pmichaud: CPH
sisar masak_plane: :-)
masak_plane Ok, going offline. Nice to meet y'all.
pmichaud right, it's not wires -- it's carrier pigeons.
22:19 masak_plane left
pmichaud the pigeons catch up to the plane and have their packets decoded. 22:19
tools.ietf.org/html/rfc1149 22:20
sisar pmichaud: and this class can have both private and public variables ? (provided both are low-level types of course) 22:22
pmichaud sisar: I suspect that's possible, yes.
sisar pmichaud: nice. 22:23
sisar likes compact structs
pmichaud I know that jnthn++ has already considered the needs of compact structs in implementing 6model (the underlying object metamodel for nqp and rakudo), so there's at least some foundation for them
but, I don't have an eta for when they might appear in rakudo. 22:24
afk for a while 22:25
sisar pmichaud: i can wait :-)
phenny: ask pmichaud, the lazy vs. eager model you have for lists and arrays right now, have you thought about if it will work for n-dimentional arrays/lists too? (ooc) 22:28
phenny sisar: I'll pass that on when pmichaud is around.
sorear FFF
well, at least I can stop worrying whether masak is alive now.
sisar sorear: "FFF" ?
flussence we never found out what his wingspan was :(
pmichaud "FFF" = 4095 22:29
phenny pmichaud: 22:28Z <sisar> ask pmichaud the lazy vs. eager model you have for lists and arrays right now, have you thought about if it will work for n-dimentional arrays/lists too? (ooc)
22:29 snarkyboojum joined
sisar flussence: large enough to catch internet signals from ground ;-) 22:29
sorear sisar: a noise of great frustration
sisar sorear: en.wiktionary.org/wiki/fff, right ? 22:32
sorear no.
sisar oh 22:33
22:38 thou left 22:52 harmil left, Patterner left, LoRe left, Exodist left, takesako_ left, cosimo left, japhb left, mathw left, pnu left, estrai left, renormalist left, Maddingue left, estrai joined, mathw joined, renormalist joined, Exodist joined, literal joined, LoRe joined, Maddingue joined, pnu joined, Psyche^ joined, Psyche^ is now known as Patterner, cosimo joined, harmil joined, takesako_ joined, japhb joined 22:54 shinobicl left 22:55 harmil left, harmil joined 22:56 skids joined 22:57 whiteknight joined 22:58 whiteknight is now known as Guest35265, fgomez joined, harmil left 23:03 fgomez left, fgomez joined 23:04 fgomez left, fgomez joined, att joined 23:19 Chillance joined
felher just noticed that TimToady++ did a quite funny Q&A at the yapc:na :) $guy: "I'm kinda new to programming. Why should i learn Perl?". Larry Wall: "Uh... beats me... " :) 23:26
pmichaud: i'm kinda missing your first talk... did it even get recorded? :/
23:32 Entonian joined 23:33 masak joined
masak home 23:33
phenny masak: 19:41Z <moritz> tell masak use.perl.org seems to be dead, the two links on rakudo.org/how-to-help/ to your journal are dead
masak: 19:41Z <moritz> ask masak do you plan to mirror the posts somewhere? I think I have an HTML dump of all of your journal entries
masak: 19:55Z <moritz> tell masak never mind, I've updated the links
masak all my posts are mirrored. 23:34
see strangelyconsistent.org/blog/dog-fo...rl6-flavor
hm, and strangelyconsistent.org/blog/its-ju...tree-silly
felher o/ masak :) 23:35
masak: if i might ask: how's your qast/macro work going? :) 23:36
masak status still as per last blog post.
felher started to learn lisp to play a bit with macros and it didn't make him less excited ... :) 23:37
masak I've been on a two-week leave from everything and everyone, and this weekend I've been in London with friends. think of it as an early summer vacation.
my batteries are *charged*, baby.
tonight on the way to Gatwick airport I started storyboarding the re-make of my macros talk. looks very promising. 23:39
23:39 Entonian left
felher masak: ah, yeah. I noticed that i have been seeing you less lateley, but since i normaly don't backlog, i thought it to be pure coincidence :) 23:39
masak and the road forward with QAST is pretty straight. won't land in this month's release, but very probably in the next.
felher masak: hui. Where will you give the new macro talk? :)
masak FPW.
be there or be a French square. 23:40
(a French square is probably a rhombus or something)
felher Awesome, only about ten days. (/me is going to be a french square, i guess) 23:41
Do you know if there will be live streaming and/or recordings? 23:42
masak dunno. ask eiro.
or cognominal.
oh my, it's in ten days! :) 23:43
felher eiro: cognominal: any idea if there will be a live stream/recordings? (FPW 2012) :) 23:44
23:44 colomon left
felher good night, #perl6 23:47
masak 'night, #perl6 23:48
23:49 LaG|RickJames joined
cognominal felher, ask eiro, he is the organizer. 23:51
23:51 LaG|RickJames left
cognominal I think there will be some recording, I don't if it will be live streamed. 23:52
*don't know
feller, do you have an url for TimToady's talk? 23:53
felher cognominal: thanks, i'll ask eiro. 23:55
cognominal: yes, i do. one moment.
cognominal: www.youtube.com/watch?v=mCKU0Z-Qbkk...ure=relmfu 23:56
eiro: any idea if there will be a live stream/recordings? (FPW 2012) :) eiro++ # for organizing such an event :) 23:57
felher -> bed (really)
cognominal he must be sleeping by now as I should do instead of fighting js/jquery/coffeescript/ST2 23:58