»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
00:00 nihiliad left, pmurias left, imaltb joined 00:06 jferrero left, jferrero joined 00:08 pmurias joined 00:12 supernovus left
diakopter is everyone ready to update their systems for the Gulfo? 00:13
pmurias Gulfo?
diakopter www.telegraph.co.uk/finance/economi...emony.html
wallstreetpit.com/12983-gulf-states...e-currency 00:14
arnsholt Very interesting Telegraph article 00:19
But their points about there being many potential hurdles are very valid 00:20
00:20 pmurias left 00:24 jferrero left 00:25 jferrero joined 00:42 parduncia left, ssm left 00:43 ssm joined, parduncia joined, payload left 00:46 ShaneC left 00:48 lestrrat is now known as lest_away 00:52 ash___ joined 00:54 IllvilJa left 01:03 parduncia left, ssm left 01:05 ssm joined, parduncia joined 01:06 parduncia left, ssm left, imaltb left 01:07 brody left, brody_ joined 01:08 ssm joined, parduncia joined 01:10 parduncia left, ssm left, colomon left, ssm joined, parduncia joined 01:12 parduncia left, ssm left 01:13 ssm joined, parduncia joined 01:16 nbrown left, ashizawa left
carlin phenny: tell masak using Astaire, is it possible to do a regex-based dispatch and access the capture? Something like: get '/foo/(\w*)' { # Do something with the value of \w* here } 01:20
OHNOES No phenny :( 01:21
01:21 lest_away is now known as lestrrat 01:22 ashizawa joined, nbrown joined 01:23 jferrero left 01:24 jferrero joined 01:31 stephenlb left 01:32 jferrero left, xenoterracide joined 01:33 jferrero joined 01:34 literal left, literal joined 01:38 xenoterracide_ joined 01:39 colomon joined 01:40 brody_ left 01:41 Gruber joined
colomon Tene: ping 01:42
01:42 Grrrr left 01:44 agentzh joined 01:45 brody joined 01:46 BinGOs left, BinGOs joined 01:48 kcwu joined 01:52 jferrero left
colomon is furiously trying to get an Advent post ready ASAP.... 01:57
ash___ whats yours on colomon? 02:00
colomon Mandelbrot sets (in perl 6) 02:01
It's supposed to be for Monday, but I had it half done already.
ash___ what are mandelbrot sets exactly? I am unfamiliar with that term 02:03
02:05 JimmyZ joined
colomon en.wikipedia.org/wiki/Mandelbrot_set 02:07
ash___ this might be a dumb question, how do you do include methods from a namespace into the current namespace? eg. Foo::method so you can just do method(); 02:08
02:08 xenoterracide left
ash___ oh, i have seen those before, that should be interesting 02:08
pmichaud ash___: import Foo <method>; is the current formulation, I believe.
JimmyZ ng: 3.14.Rat.say
p6eval ng 2b5816: 3.14␤
JimmyZ ng: 3.14.perl.say 02:09
p6eval ng 2b5816: 157/50␤
JimmyZ rakudo: 3.14.perl.say; 3.14.Rat.say;
p6eval rakudo 1d44f4: 3.14␤3.14␤
ash___ thanks pmichaud, i'll look up the import method 02:10
Tene So, I just remembered that I'm supposed to have a p6advent post up. 02:12
I know what the outline is, just need to write it up, but it might be a bit.
Depends on internet access at where I end up next. 02:13
pmichaud Tene: what were you planning for the outline ? 02:14
Tene colomon: pong
colomon Tene: there you are! 02:15
I'll have my mandelbrot set post ready to go in about ten minutes if you'd like to run that instead tonight and have an extra day to finish yours.
pmichaud or we could quickly finish up the Whatever post that is currently set to run on the 22nd
Tene I'll leave that up to anyone but me. :) 02:16
wayland76 I hope they come up with an exciting new glyph
Tene I'll be maybe an hour, maybe more. I'll get it up tonight sometime, though. 02:17
wayland76 (sorry, that was in reference to the Gulfo :) )
pmichaud colomon: what's your opinion? wait for tene's post, go with your mandelbrot post, or go with the whatever post?
Tene So, just leave me a message saying when to post it. I was going to talk about grammars and actions.
colomon I forgot about the whatever post. Does it need polishing at all? 02:18
pmichaud a slight bit, but I can probably have it ready in 30 or less
colomon Hmmm... mine will be done in a second too. lots to choose from... 02:19
pmichaud colomon: I say we go with yours then, if you're ready for it.
colomon works for me. I'll have it ready for whoever's handy to proofread it in a minute. 02:20
pmichaud I'm handy
Tene -- we'll move you to another date
Tene: that way you can be a little less rushed... especially since grammars and actions takes a bit of explanation :)
Tene I'm swapping with colomon? Tomorrow?
pmichaud or with Moritz if you want
Tene Okay, great.
pmichaud i.e., we can move the Whatever post to tomorrow and you can have the 22nd 02:21
oh, wait, jnthn++ is currently tomorrow
anyway, if you just get it drafted, someone else can take care of the date :-)
Tene Sorry, everything has been rushed lately. 02:22
pmichaud np
ash___ are trait_mod's exportable? they should be right?
rakudo: multi trait_mod:<is>(AttributeDeclarand $a, Str, $type, %args = {}) { }; 02:23
p6eval rakudo 1d44f4: ( no output )
ash___ rakudo: multi trait_mod:<is>(AttributeDeclarand $a, Str, $type, %args = {}) is export { }
p6eval rakudo 1d44f4: ( no output )
ash___ hmmm on my computer that gave me: No applicable candidates found to dispatch to for 'trait_mod:is'
colomon Okay, my full draft is up. 02:24
(as a draft, I mean)
Seems coherent to me, I'm going to go ahead and post it and if anyone else finds issues will fix them on the fly. 02:26
zaslon lolperl6adventhazblogged! perl6advent++ 'Day 17: Making Snowmen': perl6advent.wordpress.com/2009/12/1...g-snowmen/ 02:27
02:29 patspam1 left
pmichaud "line 3 sets $height code" ... should "code" be there? 02:29
02:29 patspam joined
colomon nope, good call. 02:29
(fixed) 02:30
pmichaud oh, outstanding post 02:31
colomon thank you (blush) 02:32
pmichaud colomon++
out of curiosity, how slow is "slow" here?
(I'm sure that question will come up)
colomon Timing a 31x31 right now.... 02:33
I've got to say, right now today I have a deep, deep love of Perl 6 as a language... 02:34
... but I will be very happy the day it runs a *lot* faster. :)
31x31 image takes 1 minute 19 sections on my MacBook Pro.
pmichaud Tene: You currently have Dec 21 02:35
Tene: feel free to write the draft early though -- it's always good to have the drafts ready to go a couple of days in advance
02:43 Exodist joined
colomon Actually, this mandelbrot script would probably be a good candidate for the benchmark suite someone (PerlJam?) mentioned earlier today. Perl 5 has a complex module, right? 02:45
02:52 JimmyZ__ joined 02:55 Woody2143 left 02:56 p6eval left
pmichaud 89 seconds. not too great, but could be worse. 02:59
if the mandelbrot example isn't already in perl6-examples, it ought to be :)
02:59 Woody2143 joined
colomon For one that small, should probably be more like 1 second, I'd think. :) 03:00
where is perl6-examples in the directory tree?
pmichaud perl6-examples is a separate repo, iirc
colomon oh, on github?
pmichaud github.com/perl6/perl6-examples, iirc
03:02 p6eval joined
colomon got it. I need to get to bed now, will try to sort things out in the morning. :) 03:02
ash___ does github.com/ashgti/Endure/blob/maste...ure.pm#L11 look wrong? to anyone? what I am doing anyway 03:05
03:06 parduncia left, ssm left
ash___ something seems wrong with is export 03:06
03:06 ssm joined, parduncia joined 03:07 parduncia left, ssm left 03:09 ssm joined, parduncia joined 03:10 parduncia left, ssm left 03:11 ssm joined, parduncia joined 03:14 parduncia left, ssm left 03:15 ssm joined, parduncia joined, JimmyZ left 03:18 patspam left
dalek p-rx: c9be3ee | pmichaud++ | (4 files):
Update bootstrap files, PARROT_REVISION.
03:26
p-rx: 503f76f | pmichaud++ | src/NQP/Grammar.pm:
Merge branch 'master' of [email@hidden.address]
p-rx: 88757e9 | pmichaud++ | (2 files):
Fix bug when protoregex is called directly from Grammar.parse (Coke++)
p-rx: ac7c519 | pmichaud++ | src/stage0/ (4 files):
Update bootstrap with protoregex fail fix.
03:27 Intensity joined 03:30 KatrinaTheLamia joined
dalek kudo/master: d2dc84c | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to latest release.
03:31
kudo/master: 5cccc22 | pmichaud++ | (3 files):
Merge branch 'master' of [email@hidden.address]
kudo/master: 2198ecc | pmichaud++ | docs/announce/2009-12:
Some more announcement updates.
03:37 JimmyZ__ is now known as JimmyZ 03:51 lestrrat is now known as lest_away, nihiliad joined 04:00 lest_away is now known as lestrrat, justatheory left 04:08 cdarroch left 04:14 wayland76 left, meppel joined 04:15 meppl left, meppel is now known as meppl 04:22 synth joined 04:38 ash___ left 05:14 FalseVinylShrub joined 05:19 gfx joined 05:23 agentzh left 05:26 FalseVinylShrub left 05:31 gfx left 05:50 cotto_w0rk joined 05:57 cotto_working left 06:02 youwin joined 06:16 SquireOfGothos joined 06:20 SquireOfGothos left 06:33 rgrau left 07:10 kaare joined 07:11 kaare is now known as Guest84606 07:13 Su-Shee joined
Su-Shee good morning 07:15
07:16 diakopter left 07:17 cotto_working joined
JimmyZ Su-Shee: morning 07:18
07:21 cotto_w0rk left 07:23 PZt left 07:24 nihiliad left, IllvilJa joined 07:28 y3llow left 07:31 xinming left
moritz_ good morning 07:33
07:34 szg joined 07:35 szg left, flip214 joined 07:36 szg joined
flip214 morning 07:36
07:37 Raugturi joined, Baggio_ joined, Raugturi left 07:40 y3llow joined 07:42 szg left 07:43 PZt joined 07:44 szabgabx joined 07:50 synth left 07:56 iblechbot joined, xinming joined 07:59 Raugturi joined 08:04 Raugturi left 08:09 rfordinal3643 left 08:20 mariuz joined 08:22 drbean_ joined 08:33 FalseVinylShrub joined 08:36 agentzh joined 08:38 drbean left 08:45 FalseVinylShrub left 08:56 Raugturi joined
moritz_ freenode seems to have stabilized again 08:58
08:58 Raugturi left 09:01 masak joined
mathw Good 09:09
All the netsplits were getting extremely annoying
09:09 rfordinal joined, payload joined 09:12 perlygatekeeper1 joined, mj41_ joined 09:13 constant_ joined, rhr_ joined, tarbo2_ joined, constant left, constant_ is now known as constant 09:14 cls_bsd_ joined
frettled colomon++ - good blog entry again 09:14
colomon frettled: thank you.
09:15 kaare joined, rfordinal left, kaare is now known as Guest74201 09:16 payload left, agentzh left, flip214 left, IllvilJa left, Su-Shee left, Guest84606 left, KatrinaTheLamia left, kcwu left, krakan left, cls_bsd left, khadrin_ left, jan_ left, huf left, bloonix left, Wolfman2000 left, rhr left, wolverian left, Jedai left, broquain1 left, Juerd_ left, allbery_b left, moritz_ left, xomas left, r0bby left, mj41 left, tarbo2 left, sunnavy_ left, akl left, mj41_ is now known as mj41, Juerd joined 09:17 sunnavy joined
mathw Okay we spoke too soon 09:17
09:17 Su-Shee joined 09:18 wolverian joined, kcwu joined, jan joined 09:19 jan is now known as Guest20664, bloonix joined, akl joined, Exodist left, KatrinaTheLamia joined 09:20 rgrau``` is now known as rgrau, r0bby joined 09:21 NucWin joined, NucWin left, cotto_w0rk joined 09:23 Exodist joined, cotto_working left
masak colomon++ # advent blog post 09:26
09:26 mj41 left 09:27 khadrin_ joined 09:28 Jedai joined 09:29 payload joined 09:30 xenoterracide_ left, agentzh joined 09:31 frettled sets mode: +oooo arnsholt carlin colomon Juerd, frettled sets mode: +oooo literal masak mathw Su-Shee
masak carlin: re Astaire/captures: yes, that should be possible. that feature is perhaps a week away, though. I'm currently investigating how to make Astaire easier to deploy. 09:31
09:32 frettled sets mode: +v mubot, frettled sets mode: +vv p6eval pointme 09:33 allbery_b joined 09:35 huf joined, moritz_ joined 09:37 szabgabx left, mj41 joined 09:38 szabgabx joined, huf_ joined 09:40 huf left 09:44 IllvilJa joined, ejs joined 09:45 rhr_ left 09:48 rhr joined, wayland76 joined 09:49 flip214 joined 09:50 rfordinal joined 09:51 ejs left, ejs joined 10:06 szabgabx left 10:09 szabgabx joined 10:16 meppl left 10:18 lestrrat is now known as lest_away 10:20 Gruber is now known as Grrrr 10:26 chromatic left 10:32 JimmyZ left
masak moritz_: instead of to-json accepting Array and Hash, why not List and Mapping? 10:37
moritz_ masak: might be better, yes
masak by the way, I'm a bit surprised that the Mapping type does not seem to have any basis in the spec.
moritz_ but if we go that way, why not Positional and Associative? 10:38
ah, I remember why
masak might be even better.
moritz_ because match objects do both
but then again JSON can't serialize them anyway
masak you bring up a good point. 10:39
sending in a Match object would create a multi conflict.
it seems to me that one could solve it by adding one more multi variant, though... 10:40
one that does both roles.
by the way, can I just go ahead and remove REJECTS from the spec?
moritz_ please do
we seemed to have fairly uniform agreement that it's redundant 10:41
10:42 adhoc joined
masak aye. 10:43
flip214 I've got a question about S03, reduce() ... 10:49
anyone feels able to answer?
mathw Ask and we'll try...
10:50 frettled sets mode: +o moritz_
flip214 > If fewer than two arguments are given, a dispatch is still attempted 10:50
> with whatever arguments are given ... blablabla
> However, the zero argument case cannot be defined this way, since there 10:51
> is no type information to dispatch on.
and so on and on
Why not have something like that: sub A(Str @a where { @a == 0}) { ... };
That should match for empty arrays, shouldn't it? 10:52
But only empty Str arrays, so the type is fixed
moritz_ but that's not the zero-argument case
an empty array is still an argument 10:53
flip214 Yes, I know ....
but typically you won't write ().reduce
but @arr.reduce
and if the type of the @arr elements is known, this should work, shouldn't it?
Just as a way of solving the ambiguity of "no elements" 10:54
moritz_ I don't know if typed arrays are common enough to warrant such an extra mechanism 10:57
masak flip214: @arr would need to be typed as an Array of Str (or whatever). not sure how common that'll be in practice.
heh. what moritz_ said. :)
moritz_ especially since a mechanism has to exists for the common case too (even if it's not that polished) 10:58
flip214 For the non-common case, with arbitrary classes, that might work - Array of Window or something like that.
and for the common case, like Str and Num, there are already "defaults" defined - [+]=>0 and [*]=>1 10:59
masak I'll be gone for a few hours. big department Christmas Lunch, also known as Free Food! \o/
10:59 masak left 11:01 SmokeMachine left 11:05 huf_ is now known as huf
wayland76 Free food! End the injustice! :) 11:05
11:05 hanekomu joined 11:07 phenny joined 11:08 payload left 11:17 Baggio_ left 11:19 ejs1 joined 11:23 Baggio_ joined
jnthn oh morning 11:26
mathw oh hai jnthn 11:28
11:29 ejs left
jnthn dusts off the roles/does patch he was working on and tries to get it into shape 11:32
(REJECTS) - no, don't remove that from the spec! 11:38
Otherwise things that can fail fast - if failing to match is what we're intereted in - don't get that info.
AFAIK, one thing Perl 5 regex are good at is being able to fail to match quickly when a match is jus tnot possible. 11:39
I guess we could find another way to funnel that info through, but I thought that was the intention of REJECTS. 11:40
(Of course, the default is !ACCEPTS)
wayland76 phenny, tell masak jnthn wants REJECTS back again 11:41
phenny wayland76: I'll pass that on when masak is around.
11:41 agentzh left
jnthn :-) 11:48
mathw applauds 11:53
That's a good reason to keep it
11:54 Baggio_ left
frettled But what if masak REJECTS that notion? :D 11:58
jnthn If his arguments are good, I may ACCEPT them. ;-)
11:59 Guest20664 left
frettled hee-hee 12:00
jnthn ooh...I haz an advent post to write too. 12:04
12:04 cls_bsd_ is now known as cls_bsd
frettled You can haz advil post! 12:07
(cf. today's Pearls for Swine)
jnthn
.oO( Perl for Swine! Bring home the bacon using Perl today! )
12:08
frettled \o/
jnthn moans at Lenovo for still not delivering him shiny new hardware
Juerd I had to wait a few months for my shiny new X200s 12:20
Order placed sept. 3, received nov. 23.
frettled heh
jnthn OUCH. 12:21
They said 1-2 weeks.
frettled They didn't say which weeks, though.
Juerd So they did for my laptop.
jnthn It's useless if they take that long, I won't even be in the UK that long.
moritz_ call them
jnthn Meh. I've told them if it ain't here by next week, I cancel.
Juerd What did you order if I may ask?
jnthn *sigh*
frettled Juerd: naughty, naughty :) 12:22
Juerd frettled: ?
frettled Juerd: he ordered an empty promise, apparently :( 12:23
jnthn Just a T400...nothing too shiny. :-)
Juerd Oooh
jnthn Extra RAM, turbocache thing (thought I might get faster compiles ;-))
Juerd Unless you've picked an uncommon configuration, it should be stocked just about everywhere
Ah, there you go.
jnthn Heh, I'd have passed on those to have it in a decent timeframe. :-/ 12:24
Compiling Rakudo on this slow thing...
frettled jnthn: mm, you could've ordered it just with extra RAM, and then bought an Intel X25-M MkII instead of that «turbocache» thing.
…unless it voids your warranty to replace your harddrive. 12:25
Juerd It doesn't
Lenovo says harddrives are user serviceable
frettled yay 12:26
Juerd Everything that can be removed by removing marked screws (those that have a little symbol next to them) you can exchange yourself without voiding warranty
frettled And Windows 7, which I presume will be used, is TRIM aware.
Juerd: nice
Juerd Of course, you are voiding the warranty of the system as the whole that included the original parts 12:27
That is: if you separate parts, warranty is separated too.
frettled ah
12:36 jaldhar joined 12:52 meteorjay joined 12:53 ejs2 joined 12:54 patspam joined 12:55 patspam left 12:56 patspam joined, patspam left, drbean joined 13:02 JimmyZ joined, ejs1 left, Patterner left 13:03 Psyche^ joined, Psyche^ is now known as Patterner 13:06 Wolfman2000 joined 13:08 plainhao joined
takadonet morning all 13:08
13:11 flip214 left
moritz_ \o 13:13
13:14 drbean_ left, iblechbot left
colomon o/ 13:14
13:15 payload joined
moritz_ did somebody tweet today's advent post? 13:17
seems like not
hugme: tweet rakudoperl Perl 6 Advent Calender day 17: Making Snowmen perl6advent.wordpress.com/2009/12/1...g-snowmen/ 13:18
hugme hugs moritz_; tweet delivered
13:20 patspam joined
dalek kudo/ng: 4b30d13 | jnthn++ | src/ (2 files):
Re-work the PIR role creation helper to work in terms of the meta-model, rip out old attribute composition routine and mark the punner as needing a re-write.
13:20
kudo/ng: e8571af | jnthn++ | src/builtins/Bool.pir:
Re-work the way Bool handles doing Abstraction to not require a runtime mix-in.
kudo/ng: 876f7f8 | jnthn++ | src/Perl6/Compiler/Signature.pm:
Temporarily disable sigil role checks in sigs.
kudo/ng: 928dc41 | jnthn++ | src/ (5 files):
Re-implement does completely in terms of the metamodel, not relying on Parrot's underlying primitives.
jnthn colomon: Awesome post - just read it. :-) 13:21
colomon: BTW, patches that just landed sort of clear up the ~~ Positional issues. Almost...
colomon \o/ 13:22
and thank you. 13:23
13:24 masak joined
jnthn Was a...tricky...patch to write. Not helped by me making a typo deep within it that took half an hour to find today. 13:24
13:24 SmokeMachine joined, ejs1 joined
masak phenny: I've read it, but thanks. 13:25
phenny masak: 11:41Z <wayland76> tell masak jnthn wants REJECTS back again
masak jnthn: I don't understand. could you show with a code sample what you mean? 13:26
13:26 frettled sets mode: +v phenny, frettled sets mode: +o masak
jnthn masak: $foo ~~ X calls X.ACCEPTS($foo) 13:27
masak: $foo !~~ X calls X.REJECTS($foo)
masak nod.
jnthn: couldn't you fail fast in an ACCEPTS method just as well? 13:28
jnthn masak: This was spec'd to behave differently from just a bog standard "do the thing and not the result" becuase sometimes you may be able to fail the smartmatch very quickly, if you know it's a negative result that is desired.
masak: "how quickly can I say yes" and "how quickly can I say no" may call for a different approach. 13:29
masak jnthn: this is all very theoretical.
jnthn: do you have an example?
I understand what you're saying, but I don't see an actual case where it matters.
jnthn masak: I don't off hand. I have had conversations with some Perl 5 regex guy (forget who) and seem to recall that the "knowing when we can't match" is one thing Perl 5 does well. But I won't pretend to understand exactly how that works. :-) 13:30
masak and even if there is such a case, I don't see why an ACCEPTS method would be worse at failing things quickly than a REJECTS method would be.
jnthn masak: Possibly. I just think it was spec'd for a reason and with some use case in mind. 13:31
masak sending !~~ and ~~ along different codepaths, just because we think it might be a good idea, seems like a prime example of premature optimization to me.
extra API complexity calls for correspondingly solid use cases :) 13:32
jnthn Well, ~~ and !~~ already dispatch differently to other operators anyways.
I agree that it'd be good to see a more concrete use case.
I just wanted to bring up the "why I think it was designed that way". 13:33
masak jnthn: yes, because right now it's "don't kill REJECTS, it might conceivably be a good idea for some nebulous reason"
13:33 ejs2 left
masak sorry if I come off as dismissive; I want to provoke you (or someone) to come up with such a use case. ;-) 13:34
jnthn masak: I'm not the person who can come up with a regex one, for sure - I just suspect there may be @other who can. :-) 13:35
masak: Anyway, we'll see what comes of it.
masak I know Haskell has something similar; one == and one /= operator, each defined in terms of the other by default, but overridable.
jnthn masak: If nobody can chip in a more concrete use case, I guess it can die. :-)
masak we'll give it some time. git-svn can revert if need be. 13:36
frettled :)
13:37 Baggio_ joined, SmokeMachine left 13:38 REPLeffect_ left
moritz_ note that $str !~~ /regex/ is also supposed to return a Match object 13:39
so in that case you don't win anything by REJECTS
13:40 SmokeMachine joined 13:44 Patterner left, Psyche^ joined, payload left, Psyche^ is now known as Patterner
colomon ng: my @a = 1...5; pop(@a); say @a.perl; 13:49
p6eval ng 928dc4: (1, 2, 3, 4)␤
colomon ng: my @a = 1...5; pop @a; say @a.perl
p6eval ng 928dc4: (1, 2, 3, 4)␤
13:50 hanekomu left 13:53 orafu left, orafu joined
colomon is(pop @pop, 3, 'inline pop @pop works') 13:54
should that test work?
It looks like ng is picking up the 3 and 'inline pop @pop works' as arguments to pop...
moritz_ it should be 13:55
is pop(@pop, 3), '...';
pop can't do magic :-)
colomon so how does it work in master?
(and it should be is (pop @pop), 3, '...'; right?) 13:56
13:56 jan_ joined
moritz_ erm, right 13:58
maybe it defines pop as a prefix, not a listop?
masak moritz_: I guess if the optimizer noted that the Match object is never used as anything except as a Bool, it might do any manner of tricks with not collecting all capture information etc.
13:58 drbean_ joined
colomon next test which dies is pop(@pop) ~~ Failure -- is that still right? 13:59
"Could not find non-existent sub &Failure" 14:00
masak I'd do !degined or something instead...
s/g/f/
colomon It does that too -- first tests !defined, then ~~ Failure.
14:01 rfordinal left, synth joined
moritz_ IMHO it should just return Nil 14:01
colomon ng doesn't even know the meaning of the word "Failure"! 14:02
masak that's the spirit!
:)
PerlJam colomon: so you mean Failure is not an option? 14:04
colomon PerlJam: exactly.
moritz_: "If @array is empty returns a failure." 14:05
but we could always change the spec, the tests, and the code. :) 14:06
PerlJam So ... any ideas for what I should post to day 20 of the Perl 6 Advent calendar? Initially I was thinking of a post with more detail on grammars and such, but I'm not wedded to that. Anyone have any other ideas of something they'd like to see?
dalek kudo/master: b01665b | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 449 files, 32192 (86.1% of 37376) pass

primarily represent changes to the spectest suite as opposed to regressions.
14:07
kudo/master: 39685ac | pmichaud++ | docs/announce/2009-12:
More documentation updates.
moritz_ PerlJam: I'd love to see something the automagic sort
PerlJam: that passing an arity-1 block sorts by the transformation result, but returns the original 14:08
PerlJam moritz_: oh, that's an excellent one!
moritz_ www.perlmonks.org/?node_id=809530 for inspiration
jnthn Mention min and max having that property too.
PerlJam yep 14:09
jnthn my $cheapest = @products.min(*.price) # is so cute
moritz_ rakudo: say (2, 3, 5, -1).min
p6eval rakudo 2198ec: -1␤
jnthn wonders if the dog really wants to be taken for a walk in gale force winds...
moritz_ rakudo: say (2, 3, 5, -3).min(*.abs)
colomon jnthn: of course he does! 14:10
p6eval rakudo 2198ec: 2␤
jnthn oh wow, it just started snowing too!
PerlJam IT would be nice if that Whatever post made it out there too.
colomon The Whatever post still needs a bit of work, but absolutely agreed, it needs to get out there. 14:11
(Unless someone finished it since I looked at it last night.) 14:12
PerlJam Oh, it's still slated for Dec 22
colomon But it can get moved around if needed. 14:13
seems like it should go before the above examples.
moritz_ tonight or tomorrow I can find the tuits to brush it up a bit
colomon and the above examples are so cool it would be a shame not to use them. :)
moritz_ PerlJam: so should we switch days?
PerlJam moritz_: thinking about it. But let me cobble something together today first and see how that goes :) 14:14
moritz_ PerlJam: sure, no hurry
14:15 cj joined, drbean left 14:18 gbacon joined, khadrin_ left, khadrin_ joined 14:22 nbrown left, ashizawa left, ejs1 left
pmichaud I brushed up whatever a bit last night. 14:22
mathw I need to check when my next day is 14:23
if It's when I think it is, I might nto have time to write it :(
colomon mathw: then you could trade with day 22 whatever... :)
moritz_ wfm 14:24
pmichaud mathw: you're up for Dec 19 14:25
PerlJam mathw: Dec 19 looks like
mathw argh
no, I don't have time to write that
I've been landed with another deadline for some stuff I actually get paid for, so...
moritz_ mathw: so switch with 22nd?
mathw That would be good
Hopefully I can then write it on Sunday evening
pmichaud jnthn: will you be able to get your Dec 18 post in? 14:26
14:28 lest_away is now known as lestrrat
colomon ng: my @a = (); say @a.elems 14:29
p6eval ng 928dc4: 1␤
14:31 ashizawa joined, nbrown joined
pmichaud ng: my @a; say @a.elems 14:31
p6eval ng 928dc4: 0␤
pmichaud ng: my @a = 1,2,3; say @a.elems
p6eval ng 928dc4: 3␤
pmichaud looks like something isn't flattening properly.
jnthn pmichaud: Oh wait, is it tomorrow, not today? 14:32
OH
pmichaud ng: my @a = ( (), 1, (1,2), 3); say @a.elems
p6eval ng 928dc4: 4␤
jnthn Yes, but needs finishing by the end of today :-)
pmichaud jnthn: correct. :)
jnthn I can do it.
pmichaud jnthn++
jnthn I'm happy to swap too.
But either works for me. 14:33
pmichaud I might write up a draft of a post so we have another extra one in queue :)
jnthn I've got the next couple of hours free, so can work on it.
14:33 mariano__ joined, parduncia left, ssm left 14:37 colomon_ joined, colomon left, colomon_ is now known as colomon 14:40 mariano__ left 14:41 mariano__ joined
masak colomon: your 'Making Snowmen' post was appropriately timed -- many places in Europe got snow today. :) 14:41
colomon Is dalek down? anyway, end implemented and three more spectests up and running in ng.
jnthn colomon++ 14:42
14:43 JimmyZ left, ssm joined, parduncia joined, frettled sets mode: +v dalek
colomon jnthn++ # for making the ng changes that would let those work! 14:43
14:43 frettled sets mode: +o colomon, frettled sets mode: +v zaslon
dalek kudo/ng: 8865562 | (Solomon Foster)++ | t/spectest.data:
Turn on pop.t and shift.t.
14:44
kudo/ng: b9eec4a | (Solomon Foster)++ | (2 files):
Implement end and turn on end.t.
colomon there they are. :)
cj moritz_: ping? 14:45
14:45 colomon left
moritz_ cj: pong 14:45
cj moritz_: will you help me with my internets?
wp.colliertech.org/ilbot/index.pl
14:45 colomon joined
moritz_ you need database.conf in the same dir as index.pl 14:46
cj moritz_: oh, I see ;)
that seems to have done it 14:47
moritz_: also depends on Bot::BasicBot
v0.81 14:48
14:49 constant left, constant joined
moritz_ cj: note that you'll need the cgi/.htaccess file, which currently assumes that it runs on a virtual host on its own 14:49
cj: ie that the base url is / and not /ilbot/ - no idea if it works the way you do it 14:50
cj moritz_: okay. I'll set up the virtualhost
moritz_ cj: when you're all done please notify me, I'd like to have an overview of how many sites use ilbot 14:54
cj roger
moritz_: do you have the bot start with init scripts? 14:56
colomon Is it safe to presume ng doesn't have array slices yet? 14:58
moritz_ cj: no, I just don't restart the machine it runs on :-) 14:59
ng: my @a = 1, 2, 3 4; say @a[2, 0]
p6eval ng b9eec4: Confused at line 1, near "my @a = 1,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
moritz_ ng: my @a = 1, 2, 3 4; say @a[2]
p6eval ng b9eec4: Confused at line 1, near "my @a = 1,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
moritz_ ng: my @a = (1, 2, 3 4); say @a[2, 0]
p6eval ng b9eec4: Confused at line 1, near "my @a = (1"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
cj moritz_: ha. except when you do.
moritz_ cj: right. Then I start a screen session, and in screen I start the logging bot 15:00
cj moritz_: okay. that's what I'm doing, too.
15:02 ash___ joined
cj karma.colliertech.org/~cjac/tmp/isurvived.png 15:03
15:03 KyleHa joined
cj speaking of grammar panic 15:03
frettled ng: my @a=1,2,3; say @a[2] 15:05
p6eval ng b9eec4: 3␤
frettled ng: my @a=1,2,3 4; say @a[2]
p6eval ng b9eec4: Confused at line 1, near "my @a=1,2,"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (src/stage0/HLL-s0.pir:328)␤
15:07 astrojp left 15:12 astrojp joined
masak cj: what's "Ling 566"? 15:13
oh, bet it's a course. 15:14
cj: I may be either blissfully naive or damaged beyond saving, but that kind of structure looks kinda fun. :) 15:15
15:16 jferrero joined
PerlJam votes irrepairably damaged :-) 15:16
masak I definitely wouldn't rule it out :)
I've been dabbling in parsers lately, and the output from them looks something like that. 15:17
a tree of objects carrying structured information about a flat string.
15:18 Guest74201 left
PerlJam heh ... I just searched for something with google and was mildly shocked to see the Perl 6 Advent calendar in the results. 15:19
masak it's the shock of realizing that we have contact points with the Real World. :P 15:21
masak hides
PerlJam Yes, we need to make sure that Perl 6 doesn't get an echo chamber like Perl 5 15:22
frettled PerlJam: But how do we exclude experts-exchange.com, then? :D
masak PerlJam: Perl 6 has an echo chamber, no question.
cj masak: we're in the same course. I enjoyed it ;) 15:23
jnthn frettled: That site was at least funny before they inserted the hyphen...
15:24 ash___ left
frettled jnthn: yeah 15:25
15:25 jaldhar left
jnthn No it's not funny and not a useful search result. :-/ 15:25
*Now
masak PerlJam: and the echo chamber needs to be there, because in the Mean Old World out there, Perl 6 doesn't exist, has missed the boat, and has a logo for 5-year-old girls.
15:26 lisppaste3 joined
cj moritz_: ilbot.colliertech.org/ 15:26
masak: what parser are you using? We'll be using an HPSG parser next quarter 15:27
logo for 5-year-old girls!? I'll show mine! 15:28
masak cj: I'm not in any course; just generally interested in linguistics.
cj but quick! she'll be 6 next month!
masak: right, but you said you've dabbled... in what? :)
masak cj: I'm currently porting Parrot's PGE to Perl 6.
cj moritz_: is this supposed to be real-time? 15:29
PGE?
moritz_ cj: when you reload, new lines should show up immediately
masak cj: it's the parser underlying PCT, which drives e.g. Rakudo.
15:30 jaldhar joined
masak cj: github.com/masak/gge 15:30
cj moritz_: hurm... no go.
moritz_: is there a friendly way to debug why the entries aren't making it to the database or wherever the cgi finds them? 15:31
moritz_ it's not a chat. It's a logging page
cj: depends on your idea of "friendly" :-) you can surely look into the database yourself to see if data arives there
cj: I'd also recommend to clean the cache in /tmp/FileCache/ periodically while you're testing 15:32
cj moritz_: yeah, but if you /msg #ubuntu-us-wa, shouldn't something show up? 15:33
moritz_ cj: if the bot is logging that channel, sure 15:34
15:34 _jaldhar joined
moritz_ cj: sorry, got to go... feel free to /msg me further questions 15:35
15:36 Patterner left
jnthn keeps beavering away at his roles post, having finally thought of a decentish example :-) 15:37
cj roger 15:39
15:41 Psyche^ joined, Psyche^ is now known as Patterner
masak jnthn is a Busy Beaver... with only a small amount of bytes, he does a whole lot of work before stopping. :) 15:42
s/bytes/beers/ 15:43
jnthn I've never made that typo in the pub.
.oO( Can I have two bytes of ale? )
15:44
cj yep... entries in the db
frettled jnthn: and if you did, would the publician notice? 15:46
jnthn frettled: Given it sounds so much like "pints"... :-)
frettled: Heh. Maybe I'll have to try it this evening. ;-) 15:47
frettled: If he does notice, I'll look a bit silly though.
15:47 jaldhar left
frettled jnthn: Nevermind silly, try! :D 15:47
jnthn I guess the publican would thing I'd had a long night drinking, and have a word with me mother.
frettled woops, I wrote «publician», ahaha 15:49
jnthn I didn't even notice. ;-)
cj moritz_: also depends on Date::Simple
colomon "publican wood thing"? 15:50
;)
15:50 patspam left 15:51 patspam joined
jnthn Is a republican a publican who re-invented themselves as a politician? 15:51
jnthn hides his irc so he can actually get his post written
15:53 Baggio_ left 15:54 ash___ joined
frettled :) 15:55
[particle] don't highlight jnthn, he's busy.
Juerd jnthn is probably very good at ignoring highlights 15:56
How else could he even get any rakudo work done?
s/even/ever/ 15:57
15:57 kaare_ joined
ash___ do macro's work currently? 16:01
no, it seems not, 16:02
16:03 justatheory joined
jnthn :-P 16:03
Don't worry, I finished my post anyway.
Just need to proof read and make it look pretty.
[particle] :P 16:04
masak maybe you should prof-read it, too, to give it the right lecture-like quality. 16:07
jnthn I'm not a prof...I don't have any white...oh, wait...
masak :D
ash___ is there a method that is called when a role is composed into an object? like a callback you can register on a role or something, so it knows when its composed 16:10
jnthn Nothing spec'd yet, but I guess such a hook would belong somewhere in the meta-role I guess. 16:11
oops, double guesse
:-)
dalek p-rx: 9652695 | pmichaud++ | (3 files):
Fix empty string in regexes (TT #1376, fperrad++).
16:12
p-rx: 17492b7 | pmichaud++ | src/stage0/ (4 files):
Update bootstrap.
masak jnthn: isn't that what docs/metamodel.pod in ng talks about? 16:13
16:13 nihiliad joined
jnthn masak: Yes, that'd be the place that we'd spec such a thing. 16:13
I've saved the post as a draft, if anyone wants to review it. :-) 16:14
jnthn prof-reads too
oh damm, I accidentally wrote a pun into it... 16:15
cj jnthn: preview url? 16:16
jnthn cj: Not sure how to give you one, sorry... :-S
ash___ its wordpress right? you can't get a preview link until you post it
jnthn Ah 16:17
ash___ unless you have an account
jnthn Yeah, just folks with accounts then. :-)
ash___ with privilages high enough to view the post, then you'd need ot be logged in to view it
maybe i should explain what I am trying to do, to see if a role hook is the right way about it 16:19
pmichaud jnthn: looks good to me :) 16:21
afk, early lunch
ash___ i was toying with the idea of making a role based persistence api, so you can store an instance of an object to a file/db/memcahce/etc. but in order to build the storage container i'd need to know which properties of the object are supposed to be stored. to do that I was thinking of using a hook on the role that you'd add to the attributes you wanted to store. in the callback i would (hopefully) be able to tell the manager object th 16:22
properties of the object i needs to store and their types
cj jnthn: what's the url to your blog? I'll register
jnthn cj: It's just the perl6 advent calendar
perl6advent.wordpress.com/ 16:23
cj: Don't worry about it though, it doesn't need huge amounts of review. :-)
masak jnthn: great post! jnthn++
ash___ i like the use of the snowman in day 17 16:24
masak jnthn: in the DeliveryCalculation, look what an opportunity you have to use :$.mass and :$.dimensions
jnthn masak: Heh. Do those work? :-) 16:25
masak jnthn: yes!
jnthn masak: But yes, good point...
masak: ooh.
masak nice, innit?
jnthn masak: Hmm...but do they distract from the explanation?
masak: oh, it's op der wiv da awesome!
masak I don't think so. 16:26
jnthn masak: OK, will change :-)
masak: Think I need to comment on what's happening there?
masak it's not particularly hard to guess what the syntax does.
no.
jnthn masak: ok. :-)
masak unless you want to comment on how nice it is that it works. :)
to me, it's the epitome of the "strangely consistent" mantra. 16:27
jnthn masak: changed :-)
masak \o/
jnthn masak++
masak (Perl 6)++
jnthn I found some english fails in my read-through and correct those too.
Post scheduled for: Dec 18, 2009 @ 0:00. 16:28
My work here is done.
:-)
Which is a good job really, since I now need to go to the station to collect a visiting friend.
16:29 kangu joined
masak jnthn: sorry, I exaggerrated. :$!foo works, but not :$.foo in Rakudo. :( 16:29
it should, though.
jnthn oh 16:30
masak: if you think that's an issue, feel free to change it back
masak I don't, really.
but it depends on how strict we are with everything-should-run-in-Rakud-master. 16:31
masak changes it to :$!foo 16:32
...then we'll have something to talk about in the comments. :)
kangu What perl6 compiler can I trust 16:33
masak kangu: define 'trust'.
either all of them or none of them. :)
16:33 xomas joined
kangu masak, that's null 16:34
PerlJam kangu: trust for what purpose?
kangu masak, redundant answer
masak kangu: sorry about that. could you make your question less vague?
kangu PerlJam, That does implement all perl6 standard of course 16:35
masak kangu: 'of course'? :)
no compiler implements the whole spec.
kangu masak, ok thanks 16:37
KyleHa A monk could do with some clarity concerning Rakudo: perlmonks.org/?node_id=813205
PerlJam kangu: Of course, perl 5 is quite useful without a spec too.
masak kangu: it's possible that you're a few years to early in asking that question.
PerlJam kangu: (ergo, a Perl 6 implementation can also be useful even if it doesn't implement the entire spec) 16:38
16:38 reid06` left, pmurias joined
kangu PerlJam, absolutely right just been excited to see all the new goodies. I bet this gonna take the language a further step ahead 16:38
[particle] kangu: try rakudo. you'll like it. 16:40
PerlJam kangu: There's an implementation called Rakudo based on the Parrot virtual machine that many of us here use for various purposes
kangu: as particle says--try it.
kangu Thank you guys I'm gonna give it a try right now
PerlJam kangu: have you seen perl6advent.wordpress.com ? 16:41
kangu just been here perlgeek.de/en/article/5-to-6#___top
PerlJam kangu: see perl6advent.wordpress.com/2009/12/1/ 16:42
kangu That confirms it
16:43 mdxi joined
kangu Thanks to all and have good coding 16:44
16:44 kangu left 16:47 pmurias left 17:00 cdarroch joined
Tene gist.github.com/258871 -- the program I'm going to be building in my p6advent post 17:00
anyone have comments about it before I start writing the actual post? 17:03
masak swimming & 17:04
PerlJam Seems like you shouldn't need to differentiate pickone/pickmany, but instead just use the number of ac:
17:04 masak left
PerlJam but I guess the distinction is needed for the hints. 17:05
Tene PerlJam: it was inspired by $realjob, where we also have truefalse, fillintheblank, and a couple of others.
but, yes, the hints also
at $realjob I have different functions to do the scoring for each type of question. 17:06
17:07 TimToady joined, _jaldhar left
PerlJam Anyway, Tene++ awesome example :) 17:08
Tene: oh, I assume you need all of those {*} to make it work with master?
Tene Yes.
as well, iirc, ng uses :actions where master uses :action 17:09
17:11 jaldhar joined
PerlJam really? I hadn't noticed that. 17:12
17:16 iblechbot joined
colomon Woah, it's going to take me some studying to figure out how Tene's example works... 17:19
Tene colomon: some studying... or a BLOG POST ABOUT IT?!?!?!?!?!!?
colomon Yes, a blog post would do nicely. Shall I skip the studying and wait for you to spoon feed it to me? :) 17:21
Tene eh, your choice.
17:22 pmurias joined
ash___ does the meta model currently speced have any callbacks in it? 17:23
i know in ruby for instance, they have callbacks for method_added, method_removed, included (when its added to a class), extended (when its added to the eigenclass or module) 17:25
17:26 breinbaas joined 17:39 tarskic joined 17:40 mikehh joined 17:41 chromatic joined 17:42 justatheory left
takadonet hey chromatic 17:42
chromatic morning 17:43
17:47 djburns joined, astrojp left
cj heya chromatic. ltns 17:48
chromatic Thanks, I think. I can't keep up with you crazy kids and your slang. 17:49
cj chromatic: long time no see ;) 17:50
it's chinese, from what my profé tells me 17:51
Tene chromatic: I haven't seen you for about 13 months. 17:52
cj a literal translation of "ho noi mou gin" according to the interwebs
17:54 colomon left, peter_12 joined
pmurias is there a version (perhaps perl replacement) for wdiff which uses color 17:54
Tene pmurias: I use vimdiff
peter_12 So I learned that perl5 uses reference counting. I was disappointed to learn that. Does parrot/perl6 use something safer like mark-and-sweep?
jnthn peter_12: Yes. 17:55
TimToady yes, though they'd like to move to a generational GC
peter_12 well that is good news
jnthn ash___: no, not yet.
peter_12 I'm still in shock that perl5 uses reference counting. It took a lot of wind out of my sails. 17:56
TimToady so does Python
peter_12 TimToady: really?! 17:57
wow
chromatic So does Ruby.
At least 1.8.x.
peter_12 what is wrong with these people?!
TimToady you must think language designers are smart or something :) 17:58
chromatic What's wrong with reference counting?
17:59 anm joined
peter_12 chromatic: Reference counting and long running processes are not good friends. Think FastCGI and complex data structure relationships. 17:59
17:59 stephenlb joined
ash___ jnthn: i noticed the doc/metamodels.pod in ng, is that where they metamodel in general is being discussed? 18:00
chromatic You don't have to implement the reference counts naively; you run into similar problems with COW pages growing unshared if you store the marks in the obvious and naive and wrong place with a mark/sweep collector.
18:01 colomon joined
peter_12 "COW"? 18:02
chromatic Copy on Write
jnthn ash___: Well, it's Rakudo's proposal for how it should look. 18:04
ash___: It is still very much up for discussion though.
peter_12 chromatic: I don't see that as a likely problem with mark-and-sweep. Hidden references are a likely problem
jnthn ash___: And certainly isn't in any sense complete.
18:07 mariuz left, KeithWolters joined
chromatic And read/write barriers are a problem in a "proper" GC. 18:08
ash___ i feel like having some hookable callback on a few of the meta methods would be useful, like a method thats called when something is composed or inherited for instance 18:09
should i try adding it to ng and submit a patch for it? or ... discuss it more ?
Tene ash___: I'd start with a RFC to the perl 6 mailing list 18:10
18:10 rgrau` joined 18:11 KeithWolters left
Tene If it doesn't get warnocked, it'll probably wander aimlessly for few days, and then you can go back over it and pick up all of the suggestions, and maybe iterate again. 18:11
18:11 rachelBROWN joined
ash___ Tene: sounds good, i'll do that 18:11
jnthn ash___: aye, what Tene said. Here is also good to discuss. 18:12
But good to send longer roposals to the list. 18:13
Tene Personally, that sounds a bit weird to me. I'd imagine that you just override the method called to compose the role, or whatever.
a separate callback list would be a bit unusual, and doesn't really show up anywhere else in Perl 6, but it's certainly worth discussion. 18:14
anm hello 18:18
Tene Hi!
ash___ there is a compose_role method in the RoleHOW but i'd be weary of overriding that method, as at a glance it looks like magic parrot stuff, but in general i think they could be useful for things like if you wanted to store a list of your subclasses, an easy way of doing that is define a method of the approriate hook then when someone subclasses the parent class it will call that method and you can just keep track of the children in a
variable
anm I recently came accross the perl 6 advent calendar
and learned something about it, having ignored it until now
Tene: hi!
anyway, it is quite exciting
Tene ash___: I'd imagine that you override it and then just pass off to the superclass or whatever.
anm I like the new language features 18:19
jnthn ash___: It's not Parrot stuff at all, it's just the metamodel stuff. :-)
anm and thought I would give a lightning talk based on some of the posts at the local LUG tonight
I can't find a licence for it though
jnthn ash___: You could subclass it and use callsame.
anm (and don't have time to write own examples) 18:20
jnthn ash___: Or nextsame.
anm any idea about that?
pmichaud anm: looking 18:21
jnthn anm: Oh, good question. I wrote one of the posts, but don't know about that... :-)
ash___: Actually you'd write a method ^compose_role in your class.
chromatic I wouldn't expect any of the code has an onerous license, especially for presenting to a UG.
18:22 snearch_ joined
pmichaud I'd expect either creative commons or artistic license, depending on whether you're showing code or text 18:22
ash___ jnthn: hmm, well now you expect me to use multi methods properly, *needs to stop forgetting about that*. I suppose you can do the same for add_method and add_attribute too, maybe a hook isn't needed
pmichaud it's probably safe to assume artistic license 2 for the code snippets
anm I doubt anyone would mind but thought I should check
right
pmichaud anm: yes, thanks for checking 18:23
anm I shall attribute it anyway
pmichaud oh, definitely attribute the author or perl6advent blog, please
that's always a good approach
jnthn ash___: No, doesn't neeed multis. 18:24
ash___: nextsame and friends handle inehritance hierarches.
OK, gotta go...cy'all 18:25
18:26 justatheory joined 18:28 anm left 18:29 hercynium left 18:32 stepnem joined 18:46 REPLeffect_ joined
cj moritz_: also requires Calendar::Simple 18:47
18:47 meppl joined
ash___ rakudo: role foo { method ^bar { }; }; class Foooo does foo { }; 18:49
p6eval rakudo 39685a: ( no output )
ash___ on my computer thats giving me: Null PMC access in get_string() 18:50
18:52 pmurias left
cj moritz_: ilbot.colliertech.org/ubuntu-us-wa/2009-12-17 18:52
19:03 peter_12 left 19:05 ShaneC joined, zamolxes joined 19:16 robert__ joined, robert__ left, vamped joined 19:24 plainhao left 19:26 am0c joined 19:27 khadrin_ left, djburns left, justatheory left 19:31 diakopter joined
chromatic How much do I need to update for the release? 19:38
PerlJam is back from lunch 19:45
19:46 frettled sets mode: +ooo chromatic TimToady Tene 19:54 astoria joined
ash___ does ng not have @*INC? 19:54
yet anyway
astoria Salut
Tene ash___: probably not. 19:55
Hi, astoria!
astoria Hi Tene
ash___ Tene: okay, thats cool
PerlJam ng: say @*INC;
p6eval ng b9eec4: ␤
PerlJam Well, it doesn't complain at least :) 19:56
ash___ Tene can you think of any reason my rakudo (on master branch) won't run role foo { method ^bar { }; }; class Foooo does foo { };, but rakudo in here will?
i even re-checked out rakudo and had it re-build parrot in a completely separate folder and it still didn't work, same error
Tene ash___: last I heard, class definitions with the evalbot in here on rakudo master always time out.
ash___ oh, okay, that might be why its not giving any output 19:57
Tene: does: role foo { method ^bar { }; }; class Foooo does foo { }; give you an error?
if you don't mind checking
19:58 justatheory joined
Tene ash___: Yes, it fails in the same way. 19:58
ash___ ng seems okay with it, i think its the '^' in the method definition, but that should be allowed, shouldn't it? 19:59
Tene iirc, if that's valid, it's specced as defining a method on the metaclass, or something. I wouldn't be surprised if rakudo master doesn't implement that properly. 20:00
ash___ i know jnthn did some work on the meta stuff in ng, thats probably why it doesn't complain, i'll just wait for ng to come around into master 20:01
chromatic Who's handling the March release? 20:07
PerlJam I don't think anyone has volunteered yet 20:11
PerlJam dislikes "nobreak" 20:13
Tene +1 20:14
20:14 dbrock joined
moritz_ masak++ # answering Perl 6 questions on perlmonks 20:18
20:18 mubot left
ash___ hmm, so you can define subs in a role right? then they are just name spaced to the name of the role? 20:19
rakudo: role foo { sub bar { say '1'; }; }; class Fooo { sub baz { say '2'; }; }; Fooo::baz; foo::bar; 20:20
moritz_ by default subs live in lexical scopes, not namesapces
p6eval rakudo 39685a: ( no output )
Tene 12:56 <@Tene> ash___: last I heard, class definitions with the evalbot in here on rakudo master always time out.
ash___ oops, ya thats right, eval bot don't like class definitions
moritz_: well, lexically scoped then, so to call that above bar you should do foo::bar? right? 20:21
Tene ash___: that would be package-scoped, not lexically. 20:28
moritz_ it means that you can call the sub only from within the role
unless you export it
or declare it as "our sub" or so
20:29 mberends joined
ash___ so, to get to baz, i should have to export baz our declare that as an our sub too? 20:31
20:31 colomon left
moritz_ can't parse that sentence 20:33
wayland76 also dislikes nobreak, but after spending 10 or 15 minutes with a thesaurus, realises that there didn't seem to be any really good alternatives (why don't thesauri have more archaic words? :) )
moritz_: for ash___'s message, s/our/or/ 20:34
TimToady the one good thing about nobreak is that it's easy to explain in terms of break 20:35
ash___ to execute baz from my above example (Fooo::baz) i should have to do: sub baz is export {} or our sub baz { }, right?
20:35 vamped left
mberends nobreak == atomic 20:37
frettled nobreak broke my blog entry :D 20:40
20:40 frettled sets mode: +o mberends, frettled sets mode: +o wayland76
chromatic Hm, I'm getting spectest failures in the tarball I made. 20:42
moritz_ ash___: I think so, yes
sorry, my connection keeps dropping off, making real-time chat basically impossible
chromatic Can other people test wgz.org/chromatic/tmp/rakudo-12.tar.gz ?
frettled moritz_: oh noes, asynchronous chat! :D
moritz_ chromatic: 404 20:43
frettled I was about to say «404 compliant link»
chromatic Right, mistyped.
www.wgz.org/chromatic/tmp/rakudo-2009-12.tar.gz
ash___ moritz_: well, for classes you don't currently need to (or its not complaining when i try to do Fooo::baz; ) but roles give me an Undef error even when i export the sub or declare the sub doing our sub bar 20:44
moritz_ ash___: for classes it's the same, but rakudo handles it a bit lax
KyleHa chromatic: Is it supposed to have all of t/spec in it? 20:45
moritz_ KyleHa: yes
chromatic As far as I know.
frettled My parrot's getting a biscuit.
KyleHa Nifty.
TimToady maybe we should call them "breakout" and "breakdown" :)
20:46 moritz_ sets mode: +oo KyleHa ash___
mberends chromatic: fetched, building on debian stable amd64 20:46
TimToady really, we hardly need 'nobreak', given that leave already works in any simple block 20:47
but leave doesn't read well either
frettled No, not really.
I liked «continue» for hysterical raisins. 20:48
sjohnson reasons or raisins?
Tene carryon
carrion!
frettled sjohnson: historical raisins, that would be something, eh?
TimToady as the calender comments were demonstrating, 'continue' is very confusing to C programmers
PerlJam TimToady: stay, endure, persist, maintain
TimToady and it also means something different in Perl 5 20:49
Tene dontstop; # innuendo
PerlJam TimToady: suffer :)
(bit of a stretch, that one)
Tene more
TimToady (more)
PerlJam oh, I like that
KyleHa nobreak = mend 20:50
mberends endure
Tene keepgoing
sjohnson timtoady: did you read my for loop "copy" without writing $_ idea? if so, is it a good one? bad one?
Tene try-the-next-one
frettled ¬break
TimToady sjohnson: doesn't seem to buy much
moritz_ dontusewhenwhenyouwanttocontinue
PerlJam bear
20:51 SmokeMachine left
Tene I'm kind of tempted by using 'next' there. 20:51
TimToady unwhen
Tene when't
mberends ifatfirstyoudontsucceed
TimToady make_it_didn't_match
sjohnson ok
frettled Tene: no, "next" gives the wrong impression
TimToady notreally
Tene frettled: I agree.
KyleHa kidding
Tene among other problems.
frettled KyleHa: justkidding? 20:52
KyleHa frettled: *nod*
frettled "relay"
PerlJam belay
Tene distract
frettled rewhen
Tene whenagain
TimToady frettled: except next statement might not be a when
frettled TimToady: d'oh :) 20:53
TimToady d'oh!
Tene stay
(don'tleaveme)
TimToady I kinda like d'oh
frettled Tene: which automatically plays a tune by Sash?
PerlJam So ... what happens at the end of a when? Is it an implicit "next" or some other kind of control exception?
frettled implicit break
Tene PerlJam: implicit break
frettled the problem would go away if the semantics were changed to demand an explicit break 20:54
that would be easier on the C programmers, too ;)
TimToady shoots frettled
frettled breaks.
diakopter make like a tree and nobreak 20:55
PerlJam is clearly going slightly insane. 20:56
frettled How about "yield"? :)
PerlJam (I knew it was break, but I was having some sort of mental block)
frettled { mental }
Can we have named blocks, BTW? 20:57
PerlJam anyway, "break" only ever matters to "when"? It doesn't affect any other statement/block?
frettled was almost afraid to ask.
Tene PerlJam: 'when' doesn't care about break, it throws it.
diakopter frettled: I guess just put a label before it
Tene PerlJam: it's the containing block that catches the break
given/for/while/etc. 20:58
chromatic nopaste?
Tene anything that sets $_ should catch break, iiuc
TimToady $_ = 42 sets $_ :)
which is why it's limited to $_ declared as a parameter
diakopter chromatic: paste.lisp.org/new/perl6 21:00
TimToady maybe "oops"
chromatic Lots of failures in my release tarball: nopaste.snit.ch/19129
TimToady "falsealarm"
Su-Shee 'snooze' 21:01
PerlJam chromatic: aye, I just got the same results from my build here.
21:01 mariano__ left
TimToady Su-Shee++ 21:02
diakopter "ewrongdroids"
chromatic I didn't have these failures yesterday.
frettled diakopter: so I should have written: mental:{ }
TimToady if we renamed 'break' to 'cut', we could have cut/uncut
frettled TimToady: «procrastinate» 21:03
PerlJam But then all the prolog people would get confused.
chromatic The t/spectest.data file looks the same. Hm.
TimToady keeptrying 21:04
PerlJam For some reason I tend to gravitate to the 4 letter word suggestions. "keep" and "more" almost work.
Do we have some sort of syntax already that lets us ignore certain types of exceptions? 21:05
21:06 justatheory left
frettled Well, .leave? 21:06
TimToady well, quietly catches warning exceptions
nobreak when {...} 21:07
Tene PerlJam: CATCH/CONTROL 21:08
frettled TimToady: hmm, perhaps an adverb, then? :D 21:10
TimToady bbl & 21:13
Su-Shee break & trap
moritz_ chromatic: probable the release make target checks out the latest test suite and stuffs it into the tarball 21:14
chromatic: I've commited a fix 21:15
mberends spectest svn r29188 here 21:16
chromatic moritz_, the Makefile agrees with you.
frettled "bow", "defer", "accede", "cede", ... 21:17
The latter as in "to cede control". 21:19
mberends "stretch"
21:20 colomon joined
chromatic new tarball: wgz.org/chromatic/tmp/rakudo-2009-12.tar.gz 21:20
frettled I think the verb has to have some connection to what actually happens; we want to explicitly _not_ make the decision whether this is the final result or not.
dalek kudo/master: 55a5c07 | moritz++ | build/Makefile.in:
[build] use the same spectest revision for the release as everything else uses
frettled chromatic: but but but the spectests from the former are still running :D
chromatic You have my authorization to go all Lizzie Borden on that process family. 21:21
frettled I had to look up the name :) 21:22
I somehow suspect that TimToady really meant "be back later" when he wrote "bbl &", and that it wasn't merely a joking suggestion regarding the control. :) 21:25
chromatic t/spec/S02-literals/listquote.rakudo ........................... Failed 1/22 subtests 21:26
(less 9 skipped subtests: 12 okay)
t/spec/S02-literals/sub-calls.t ................................ Failed 2/20 subtests
t/spec/S03-junctions/misc.rakudo ............................... Failed 1/103 subtests
(less 32 skipped subtests: 70 okay)
t/spec/S03-operators/context-forcers.rakudo .................... Failed 1/93 subtests 21:27
(less 15 skipped subtests: 77 okay)
t/spec/S03-operators/numeric-context.rakudo .................... Failed 4/52 subtests
(less 2 skipped subtests: 46 okay)
(2 TODO tests unexpectedly succeeded)
frettled chromatic: I forgot, what should I be looking for? 21:31
chromatic I'm not sure I understand the question.
frettled Is there anything in particular you are interested in from a spectest run on that rakudo version? 21:32
21:34 xenoterracide_ joined
ash___ just wondering, this might be a kind of odd question and its probably for historical reasons but why are a few things in perl randomly in ALL CAPS? i am not seeing the logic 21:39
moritz_ ash___: usually things that the compiler calls for you are in all caps 21:41
you never call a CATCH or CONTROL or BEGIN block yourself
it's triggered automatically
ash___ ah, i see i guess that makes sense
chromatic frettled, I want a clean spectest run for the release. 21:43
21:44 Su-Shee left
ash___ can you finally a try/catch? 21:50
chromatic moritz_, apparently make release undid your change. Any suggestions? 21:54
frettled chromatic: aha. 21:55
moritz_ chromatic: did you reconfigure before 'make release'?
frettled chromatic: Failed 26/449 test scripts, 94.21% okay. -500/34209 subtests failed, 101.46% okay.
oops, missed the first line there:
(21 subtests UNEXPECTEDLY SUCCEEDED), 2013 subtests skipped.
System: Ubuntuy Hardy Heron, Linux 2.6.24, x86_64. 21:56
chromatic Reconfigure... let me try. 21:57
22:00 rachelBROWN left
chromatic Looks good so far, moritz_. 22:01
moritz_ here too 22:02
22:04 kaare_ left
ash___ is it normal for the spec test to spike at like 1.05 gig's of ram taken for a single perl 6 process? 22:06
chromatic It's not ABnormal. 22:09
moritz_, that looks much better. 22:12
22:12 xenoterracide_ left
moritz_ is up at S05-mass right now, and no failures so far 22:12
chromatic newest tarball: wgz.org/chromatic/tmp/rakudo-2009-12.tar.gz 22:13
22:13 rachelBROWN joined, xenoterracide_ joined 22:17 astoria left 22:20 cotto_w0rk left 22:21 tarskic is now known as tarski 22:23 justatheory joined, cotto_w0rk joined 22:28 KyleHa left
chromatic t/spec/S32-io/IO-Socket-INET.rakudo ............................ Failed 1/18 subtests 22:30
(less 7 skipped subtests: 10 okay)
Could be a local niggle. 22:31
22:32 pmurias joined 22:38 mberends left
chromatic Yep, passes here manually. 22:38
moritz_ all pass here 22:40
chromatic To [email@hidden.address] 22:42
! [rejected] master -> master (non-fast forward)
error: failed to push some refs to [email@hidden.address]
Pull fail?
arnsholt non-fast forward means that there are merge conflicts, I think 22:43
22:43 colomon left
arnsholt At least that's what it's told me when I've had conflicts when pulling 22:43
22:43 colomon joined
arnsholt How you resolve conflicts, OTOH, I have no idea >.< 22:43
chromatic Ah, I wasn't on a branch or master. 22:45
Now I need to find the commit I made there.
uploading to GH now.... 22:48
dalek kudo/master: 7f1c3fe | chromatic++ | docs/release_guide.pod:
[docs] Updated release guide.
22:51
pmurias diakopter: are you still interested in using js as the vm? (thinking if you have any wishes when i set to rewrite V8.pm) 22:52
diakopter pmurias: no, I'm going to focus on mono now; thank you, though. 22:53
pmurias diakopter: what's your plan for targeting mono? 22:54
diakopter I'm making a "nq"nqp-rx (clone), but with the goal of growing that into Perl 6 proper instead of building another layer 22:55
though I just discovered mono hasn't yet implemented System.Reflection.Emit.DynamicILInfo, which would be cool if it had
pmurias using rakudo or starting from scratch
22:56 ingy joined
diakopter modelled after nqp-rx's Grammar.pm, yes, initially, but with the goal of syncing with STD 22:56
but yes, lots of code/ideas can be simply ported because of all the work already put into STD, PAST/nqp-rx, and rakudo 22:57
(it's not quite "starting from scratch", in other words)
ash___ ng: role A { }; say ~A.^methods; 22:58
p6eval ng b9eec4: No such attribute 'parrotclass'␤current instr.: 'perl6;RoleHOW;methods' pc 4835 (src/metamodel/RoleHOW.pir:47)␤
pmurias diakopter: if you are interested i could add a C#/CIL backend to mildew over the weekend if you are interested 23:01
23:15 ash___ left 23:17 TiMBuS joined 23:25 tarski left 23:35 iblechbot left 23:47 pmurias_ joined, pmurias left 23:48 pmurias_ is now known as pmurias
pmurias diakopter: all the dependency on smop/js/etc. could be seperated from mildew if that's troubling you 23:49
23:57 pointme left, zaslon left, pointme joined, zaslon joined, mubot joined