Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-12-17

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:00 imaltb joined #perl6
00:06 jferrero joined #perl6
00:08 pmurias joined #perl6
00:13 diakopter is everyone ready to update their systems for the Gulfo?
00:13 pmurias Gulfo?
00:13 diakopter http://www.telegraph.co.uk/finance/economics​/6819136/Gulf-petro-powers-to-launch-currenc​y-in-latest-threat-to-dollar-hegemony.html
00:14 diakopter http://wallstreetpit.com/12983-gul​f-states-to-launch-single-currency
00:19 arnsholt Very interesting Telegraph article
00:20 arnsholt But their points about there being many potential hurdles are very valid
00:25 jferrero joined #perl6
00:43 ssm joined #perl6
00:43 parduncia joined #perl6
00:52 ash___ joined #perl6
01:05 ssm joined #perl6
01:05 parduncia joined #perl6
01:07 brody_ joined #perl6
01:08 ssm joined #perl6
01:08 parduncia joined #perl6
01:10 ssm joined #perl6
01:10 parduncia joined #perl6
01:12 ssm joined #perl6
01:12 parduncia joined #perl6
01:20 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:21 carlin OHNOES No phenny :(
01:22 ashizawa joined #perl6
01:22 nbrown joined #perl6
01:24 jferrero joined #perl6
01:32 xenoterracide joined #perl6
01:33 jferrero joined #perl6
01:34 literal joined #perl6
01:38 xenoterracide_ joined #perl6
01:39 colomon joined #perl6
01:41 Gruber joined #perl6
01:42 colomon Tene: ping
01:45 agentzh joined #perl6
01:45 brody joined #perl6
01:46 BinGOs joined #perl6
01:48 kcwu joined #perl6
01:57 * colomon is furiously trying to get an Advent post ready ASAP....
02:00 ash___ whats yours on colomon?
02:01 colomon Mandelbrot sets (in perl 6)
02:01 colomon It's supposed to be for Monday, but I had it half done already.
02:03 ash___ what are mandelbrot sets exactly? I am unfamiliar with that term
02:05 JimmyZ joined #perl6
02:07 colomon http://en.wikipedia.org/wiki/Mandelbrot_set
02:08 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 ash___ oh, i have seen those before, that should be interesting
02:08 pmichaud ash___: import Foo <method>;   is the current formulation, I believe.
02:08 JimmyZ ng: 3.14.Rat.say
02:08 p6eval ng 2b5816: 3.14␤
02:09 JimmyZ ng: 3.14.perl.say
02:09 p6eval ng 2b5816: 157/50␤
02:09 JimmyZ rakudo: 3.14.perl.say; 3.14.Rat.say;
02:09 p6eval rakudo 1d44f4: 3.14␤3.14␤
02:10 ash___ thanks pmichaud, i'll look up the import method
02:12 Tene So, I just remembered that I'm supposed to have a p6advent post up.
02:12 Tene I know what the outline is, just need to write it up, but it might be a bit.
02:13 Tene Depends on internet access at where I end up next.
02:14 pmichaud Tene: what were you planning for the outline ?
02:14 Tene colomon: pong
02:15 colomon Tene: there you are!
02:15 colomon 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.
02:15 pmichaud or we could quickly finish up the Whatever post that is currently set to run on the 22nd
02:16 Tene I'll leave that up to anyone but me. :)
02:16 wayland76 I hope they come up with an exciting new glyph
02:17 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 :) )
02:17 pmichaud colomon: what's your opinion?  wait for tene's post, go with your mandelbrot post, or go with the whatever post?
02:17 Tene So, just leave me a message saying when to post it.  I was going to talk about grammars and actions.
02:18 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
02:19 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.
02:20 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
02:20 pmichaud Tene -- we'll move you to another date
02:20 pmichaud Tene: that way you can be a little less rushed... especially since grammars and actions takes a bit of explanation :)
02:20 Tene I'm swapping with colomon?  Tomorrow?
02:20 pmichaud or with Moritz if you want
02:20 Tene Okay, great.
02:21 pmichaud i.e., we can move the Whatever post to tomorrow and you can have the 22nd
02:21 pmichaud oh, wait, jnthn++ is currently tomorrow
02:21 pmichaud anyway, if you just get it drafted, someone else can take care of the date :-)
02:22 Tene Sorry, everything has been rushed lately.
02:22 pmichaud np
02:22 ash___ are trait_mod's exportable? they should be right?
02:23 ash___ rakudo: multi trait_mod:<is>(AttributeDeclarand $a, Str, $type, %args = {}) { };
02:23 p6eval rakudo 1d44f4:  ( no output )
02:23 ash___ rakudo: multi trait_mod:<is>(AttributeDeclarand $a, Str, $type, %args = {}) is export { }
02:23 p6eval rakudo 1d44f4:  ( no output )
02:23 ash___ hmmm on my computer that gave me: No applicable candidates found to dispatch to for 'trait_mod:is'
02:24 colomon Okay, my full draft is up.
02:24 colomon (as a draft, I mean)
02:26 colomon 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:27 zaslon lolperl6adventhazblogged! perl6advent++ 'Day 17: Making Snowmen': http://perl6advent.wordpress.com/​2009/12/17/day-17-making-snowmen/
02:29 pmichaud "line 3 sets $height code"    ... should "code" be there?
02:29 patspam joined #perl6
02:29 colomon nope, good call.
02:30 colomon (fixed)
02:31 pmichaud oh, outstanding post
02:32 colomon thank you (blush)
02:32 pmichaud colomon++
02:32 pmichaud out of curiosity, how slow is "slow" here?
02:32 pmichaud (I'm sure that question will come up)
02:33 colomon Timing a 31x31 right now....
02:34 colomon I've got to say, right now today I have a deep, deep love of Perl 6 as a language...
02:34 colomon ... but I will be very happy the day it runs a *lot* faster.  :)
02:34 colomon 31x31 image takes 1 minute 19 sections on my MacBook Pro.
02:35 pmichaud Tene:  You currently have Dec 21
02:35 pmichaud 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 #perl6
02:45 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:52 JimmyZ__ joined #perl6
02:59 pmichaud 89 seconds.  not too great, but could be worse.
02:59 pmichaud if the mandelbrot example isn't already in perl6-examples, it ought to be :)
02:59 Woody2143 joined #perl6
03:00 colomon For one that small, should probably be more like 1 second, I'd think.  :)
03:00 colomon where is perl6-examples in the directory tree?
03:00 pmichaud perl6-examples is a separate repo, iirc
03:00 colomon oh, on github?
03:00 pmichaud http://github.com/perl6/perl6-examples, iirc
03:02 p6eval joined #perl6
03:02 colomon got it.  I need to get to bed now, will try to sort things out in the morning.  :)
03:05 ash___ does http://github.com/ashgti/Endure​/blob/master/lib/Endure.pm#L11 look wrong? to anyone? what I am doing anyway
03:06 ash___ something seems wrong with is export
03:06 ssm joined #perl6
03:06 parduncia joined #perl6
03:09 ssm joined #perl6
03:09 parduncia joined #perl6
03:11 ssm joined #perl6
03:11 parduncia joined #perl6
03:15 ssm joined #perl6
03:15 parduncia joined #perl6
03:26 dalek nqp-rx: c9be3ee | pmichaud++ |  (4 files):
03:26 dalek nqp-rx: Update bootstrap files, PARROT_REVISION.
03:26 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/c​9be3ee3f043ac3c0023249582ed3d3581a189d3
03:26 dalek nqp-rx: 503f76f | pmichaud++ | src/NQP/Grammar.pm:
03:26 dalek nqp-rx: Merge branch 'master' of git@github.com:perl6/nqp-rx
03:26 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/5​03f76faa54f40aadfd5bc1f2aba7efd24def681
03:26 dalek nqp-rx: 88757e9 | pmichaud++ |  (2 files):
03:26 dalek nqp-rx: Fix bug when protoregex is called directly from Grammar.parse (Coke++)
03:26 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/8​8757e974e6f5e9aeb2aa1f2a27927c535760eb6
03:26 dalek nqp-rx: ac7c519 | pmichaud++ | src/stage0/ (4 files):
03:26 dalek nqp-rx: Update bootstrap with protoregex fail fix.
03:26 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/a​c7c519f92fb1f54d9d3eed41d52e61a50b318f1
03:27 Intensity joined #perl6
03:30 KatrinaTheLamia joined #perl6
03:31 dalek rakudo/master: d2dc84c | pmichaud++ | build/PARROT_REVISION:
03:31 dalek rakudo/master: Bump PARROT_REVISION to latest release.
03:31 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/d​2dc84ce6da46c0bf5ec133d1153d1434b4c6852
03:31 dalek rakudo/master: 5cccc22 | pmichaud++ |  (3 files):
03:31 dalek rakudo/master: Merge branch 'master' of git@github.com:rakudo/rakudo
03:31 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5​cccc224af3f8d4e133ec5d47274409086710bb8
03:31 dalek rakudo/master: 2198ecc | pmichaud++ | docs/announce/2009-12:
03:31 dalek rakudo/master: Some more announcement updates.
03:31 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/2​198ecc7648d12fc8f0f6bbc3ea909266d734fa9
03:51 nihiliad joined #perl6
04:14 meppel joined #perl6
04:22 synth joined #perl6
05:14 FalseVinylShrub joined #perl6
05:19 gfx joined #perl6
05:50 cotto_w0rk joined #perl6
06:02 youwin joined #perl6
06:16 SquireOfGothos joined #perl6
07:10 kaare joined #perl6
07:13 Su-Shee joined #perl6
07:15 Su-Shee good morning
07:16 diakopter left #perl6
07:17 cotto_working joined #perl6
07:18 JimmyZ Su-Shee: morning
07:24 IllvilJa joined #perl6
07:33 moritz_ good morning
07:34 szg joined #perl6
07:35 flip214 joined #perl6
07:36 szg joined #perl6
07:36 flip214 morning
07:37 Raugturi joined #perl6
07:37 Baggio_ joined #perl6
07:37 Raugturi left #perl6
07:40 y3llow joined #perl6
07:43 PZt joined #perl6
07:44 szabgabx joined #perl6
07:56 iblechbot joined #perl6
07:56 xinming joined #perl6
07:58 Raugturi joined #perl6
08:04 Raugturi left #perl6
08:20 mariuz joined #perl6
08:22 drbean_ joined #perl6
08:33 FalseVinylShrub joined #perl6
08:36 agentzh joined #perl6
08:45 FalseVinylShrub left #perl6
08:56 Raugturi joined #perl6
08:58 moritz_ freenode seems to have stabilized again
09:01 masak joined #perl6
09:09 mathw Good
09:09 mathw All the netsplits were getting extremely annoying
09:09 rfordinal joined #perl6
09:09 payload joined #perl6
09:12 perlygatekeeper1 joined #perl6
09:12 mj41_ joined #perl6
09:13 constant_ joined #perl6
09:13 rhr_ joined #perl6
09:13 tarbo2_ joined #perl6
09:14 cls_bsd_ joined #perl6
09:14 frettled colomon++ - good blog entry again
09:14 colomon frettled: thank you.
09:15 kaare joined #perl6
09:15 rfordinal left #perl6
09:16 Juerd joined #perl6
09:17 sunnavy joined #perl6
09:17 mathw Okay we spoke too soon
09:17 Su-Shee joined #perl6
09:18 wolverian joined #perl6
09:18 kcwu joined #perl6
09:18 jan joined #perl6
09:19 bloonix joined #perl6
09:19 akl joined #perl6
09:19 KatrinaTheLamia joined #perl6
09:20 r0bby joined #perl6
09:21 NucWin joined #perl6
09:21 cotto_w0rk joined #perl6
09:21 NucWin left #perl6
09:23 Exodist joined #perl6
09:26 masak colomon++ # advent blog post
09:27 khadrin_ joined #perl6
09:28 Jedai joined #perl6
09:29 payload joined #perl6
09:30 agentzh joined #perl6
09:31 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:33 allbery_b joined #perl6
09:35 huf joined #perl6
09:35 moritz_ joined #perl6
09:37 mj41 joined #perl6
09:38 szabgabx joined #perl6
09:38 huf_ joined #perl6
09:44 IllvilJa joined #perl6
09:44 ejs joined #perl6
09:48 rhr joined #perl6
09:48 wayland76 joined #perl6
09:49 flip214 joined #perl6
09:50 rfordinal joined #perl6
09:51 ejs joined #perl6
10:09 szabgabx joined #perl6
10:37 masak moritz_: instead of to-json accepting Array and Hash, why not List and Mapping?
10:37 moritz_ masak: might be better, yes
10:37 masak by the way, I'm a bit surprised that the Mapping type does not seem to have any basis in the spec.
10:38 moritz_ but if we go that way, why not Positional and Associative?
10:38 moritz_ ah, I remember why
10:38 masak might be even better.
10:38 moritz_ because match objects do both
10:38 moritz_ but then again JSON can't serialize them anyway
10:39 masak you bring up a good point.
10:39 masak sending in a Match object would create a multi conflict.
10:40 masak it seems to me that one could solve it by adding one more multi variant, though...
10:40 masak one that does both roles.
10:40 masak by the way, can I just go ahead and remove REJECTS from the spec?
10:40 moritz_ please do
10:41 moritz_ we seemed to have fairly uniform agreement that it's redundant
10:42 adhoc joined #perl6
10:43 masak aye.
10:49 flip214 I've got a question about S03, reduce() ...
10:49 flip214 anyone feels able to answer?
10:49 mathw Ask and we'll try...
10:50 flip214 > If fewer than two arguments are given, a dispatch is still attempted
10:50 flip214 > with whatever arguments are given ... blablabla
10:51 flip214 > However, the zero argument case cannot be defined this way, since there
10:51 flip214 > is no type information to dispatch on.
10:51 flip214 and so on and on
10:51 flip214 Why not have something like that: sub A(Str @a where { @a == 0}) { ... };
10:52 flip214 That should match for empty arrays, shouldn't it?
10:52 flip214 But only empty Str arrays, so the type is fixed
10:52 moritz_ but that's not the zero-argument case
10:53 moritz_ an empty array is still an argument
10:53 flip214 Yes, I know ....
10:53 flip214 but typically you won't write ().reduce
10:53 flip214 but @arr.reduce
10:53 flip214 and if the type of the @arr elements is known, this should work, shouldn't it?
10:54 flip214 Just as a way of solving the ambiguity of "no elements"
10:57 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.
10:57 masak heh. what moritz_ said. :)
10:58 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.
10:59 flip214 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/
11:05 wayland76 Free food!  End the injustice!  :)
11:05 hanekomu joined #perl6
11:07 phenny joined #perl6
11:19 ejs1 joined #perl6
11:23 Baggio_ joined #perl6
11:26 jnthn oh morning
11:28 mathw oh hai jnthn
11:32 * jnthn dusts off the roles/does patch he was working on and tries to get it into shape
11:38 jnthn (REJECTS) - no, don't remove that from the spec!
11:38 jnthn Otherwise things that can fail fast - if failing to match is what we're intereted in - don't get that info.
11:39 jnthn 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:40 jnthn I guess we could find another way to funnel that info through, but I thought that was the intention of REJECTS.
11:40 jnthn (Of course, the default is !ACCEPTS)
11:41 wayland76 phenny, tell masak jnthn wants REJECTS back again
11:41 phenny wayland76: I'll pass that on when masak is around.
11:48 jnthn :-)
11:52 * mathw applauds
11:53 mathw That's a good reason to keep it
11:58 frettled But what if masak REJECTS that notion? :D
11:58 jnthn If his arguments are good, I may ACCEPT them. ;-)
12:00 frettled hee-hee
12:04 jnthn ooh...I haz an advent post to write too.
12:07 frettled You can haz advil post!
12:07 frettled (cf. today's Pearls for Swine)
12:08 jnthn .oO( Perl for Swine! Bring home the bacon using Perl today! )
12:08 frettled \o/
12:08 * jnthn moans at Lenovo for still not delivering him shiny new hardware
12:20 Juerd I had to wait a few months for my shiny new X200s
12:20 Juerd Order placed sept. 3, received nov. 23.
12:20 frettled heh
12:21 jnthn OUCH.
12:21 jnthn They said 1-2 weeks.
12:21 frettled They didn't say which weeks, though.
12:21 Juerd So they did for my laptop.
12:21 jnthn It's useless if they take that long, I won't even be in the UK that long.
12:21 moritz_ call them
12:21 jnthn Meh. I've told them if it ain't here by next week, I cancel.
12:21 Juerd What did you order if I may ask?
12:21 jnthn *sigh*
12:22 frettled Juerd: naughty, naughty :)
12:22 Juerd frettled: ?
12:23 frettled Juerd: he ordered an empty promise, apparently :(
12:23 jnthn Just a T400...nothing too shiny. :-)
12:23 Juerd Oooh
12:23 jnthn Extra RAM, turbocache thing (thought I might get faster compiles ;-))
12:23 Juerd Unless you've picked an uncommon configuration, it should be stocked just about everywhere
12:23 Juerd Ah, there you go.
12:24 jnthn Heh, I'd have passed on those to have it in a decent timeframe. :-/
12:24 jnthn Compiling Rakudo on this slow thing...
12:24 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.
12:25 frettled …unless it voids your warranty to replace your harddrive.
12:25 Juerd It doesn't
12:25 Juerd Lenovo says harddrives are user serviceable
12:26 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
12:26 frettled And Windows 7, which I presume will be used, is TRIM aware.
12:26 frettled Juerd: nice
12:27 Juerd Of course, you are voiding the warranty of the system as the whole that included the original parts
12:27 Juerd That is: if you separate parts, warranty is separated too.
12:27 frettled ah
12:36 jaldhar joined #perl6
12:52 meteorjay joined #perl6
12:53 ejs2 joined #perl6
12:54 patspam joined #perl6
12:56 patspam joined #perl6
12:56 drbean joined #perl6
13:02 JimmyZ joined #perl6
13:03 Psyche^ joined #perl6
13:06 Wolfman2000 joined #perl6
13:08 plainhao joined #perl6
13:08 takadonet morning all
13:13 moritz_ \o
13:14 colomon o/
13:15 payload joined #perl6
13:17 moritz_ did somebody tweet today's advent post?
13:17 moritz_ seems like not
13:18 moritz_ hugme: tweet rakudoperl Perl 6 Advent Calender day 17: Making Snowmen http://perl6advent.wordpress.com/​2009/12/17/day-17-making-snowmen/
13:18 * hugme hugs moritz_; tweet delivered
13:20 patspam joined #perl6
13:20 dalek rakudo/ng: 4b30d13 | jnthn++ | src/ (2 files):
13:20 dalek rakudo/ng: 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 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/4​b30d1383dc36b4ca759c5912680cbc6befd7a38
13:20 dalek rakudo/ng: e8571af | jnthn++ | src/builtins/Bool.pir:
13:20 dalek rakudo/ng: Re-work the way Bool handles doing Abstraction to not require a runtime mix-in.
13:20 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/e​8571af7cddf0f356308bebc45734a54f4d0f43e
13:20 dalek rakudo/ng: 876f7f8 | jnthn++ | src/Perl6/Compiler/Signature.pm:
13:20 dalek rakudo/ng: Temporarily disable sigil role checks in sigs.
13:20 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/8​76f7f8fdedcbea1b146f95b9adb400336b3d04c
13:20 dalek rakudo/ng: 928dc41 | jnthn++ | src/ (5 files):
13:20 dalek rakudo/ng: Re-implement does completely in terms of the metamodel, not relying on Parrot's underlying primitives.
13:20 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/9​28dc41b5cd403f321d20bad93cf17dd043e1fda
13:21 jnthn colomon: Awesome post - just read it. :-)
13:21 jnthn colomon: BTW, patches that just landed sort of clear up the ~~ Positional issues. Almost...
13:22 colomon \o/
13:23 colomon and thank you.
13:24 masak joined #perl6
13:24 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 SmokeMachine joined #perl6
13:24 ejs1 joined #perl6
13:25 masak phenny: I've read it, but thanks.
13:25 phenny masak: 11:41Z <wayland76> tell masak jnthn wants REJECTS back again
13:26 masak jnthn: I don't understand. could you show with a code sample what you mean?
13:27 jnthn masak: $foo ~~ X calls X.ACCEPTS($foo)
13:27 jnthn masak: $foo !~~ X calls X.REJECTS($foo)
13:27 masak nod.
13:28 masak 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.
13:29 jnthn 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.
13:29 masak jnthn: do you have an example?
13:29 masak I understand what you're saying, but I don't see an actual case where it matters.
13:30 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.
13:31 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.
13:32 masak extra API complexity calls for correspondingly solid use cases :)
13:32 jnthn Well, ~~ and !~~ already dispatch differently to other operators anyways.
13:32 jnthn I agree that it'd be good to see a more concrete use case.
13:33 jnthn 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:34 masak sorry if I come off as dismissive; I want to provoke you (or someone) to come up with such a use case. ;-)
13:35 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 jnthn masak: Anyway, we'll see what comes of it.
13:35 masak I know Haskell has something similar; one == and one /= operator, each defined in terms of the other by default, but overridable.
13:35 jnthn masak: If nobody can chip in a more concrete use case, I guess it can die. :-)
13:36 masak we'll give it some time. git-svn can revert if need be.
13:36 frettled :)
13:37 Baggio_ joined #perl6
13:39 moritz_ note that  $str !~~ /regex/ is also supposed to return a Match object
13:39 moritz_ so in that case you don't win anything by REJECTS
13:40 SmokeMachine joined #perl6
13:44 Psyche^ joined #perl6
13:49 colomon ng: my @a = 1...5; pop(@a); say @a.perl;
13:49 p6eval ng 928dc4: (1, 2, 3, 4)␤
13:49 colomon ng: my @a = 1...5; pop @a; say @a.perl
13:49 p6eval ng 928dc4: (1, 2, 3, 4)␤
13:53 orafu joined #perl6
13:54 colomon is(pop @pop, 3, 'inline pop @pop works')
13:54 colomon should that test work?
13:54 colomon It looks like ng is picking up the 3 and 'inline pop @pop works' as arguments to pop...
13:55 moritz_ it should be
13:55 moritz_ is pop(@pop, 3), '...';
13:55 moritz_ pop can't do magic :-)
13:55 colomon so how does it work in master?
13:56 colomon (and it should be is (pop @pop), 3, '...'; right?)
13:56 jan_ joined #perl6
13:58 moritz_ erm, right
13:58 moritz_ maybe it defines pop as a prefix, not a listop?
13:58 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 #perl6
13:59 colomon next test which dies is   pop(@pop) ~~ Failure -- is that still right?
14:00 colomon "Could not find non-existent sub &Failure"
14:00 masak I'd do !degined or something instead...
14:00 masak s/g/f/
14:00 colomon It does that too -- first tests !defined, then ~~ Failure.
14:01 synth joined #perl6
14:01 moritz_ IMHO it should just return Nil
14:02 colomon ng doesn't even know the meaning of the word "Failure"!
14:02 masak that's the spirit!
14:02 masak :)
14:04 PerlJam colomon: so you mean Failure is not an option?
14:04 colomon PerlJam: exactly.
14:05 colomon moritz_: "If @array is empty returns a failure."
14:06 colomon 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?
14:07 dalek rakudo/master: b01665b | pmichaud++ | docs/spectest-progress.csv:
14:07 dalek rakudo/master: spectest-progress.csv update: 449 files, 32192 (86.1% of 37376) pass
14:07 dalek rakudo/master: Also reset the failure counts since Nov 28 to zero, since they
14:07 dalek rakudo/master: primarily represent changes to the spectest suite as opposed to
14:07 dalek rakudo/master: regressions.
14:07 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/b​01665bcfd1c2de5cf9536a589ca7d36e97f5e8b
14:07 dalek rakudo/master: 39685ac | pmichaud++ | docs/announce/2009-12:
14:07 dalek rakudo/master: More documentation updates.
14:07 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/3​9685ac393413d84c403a6df68d96fbfae97d6e5
14:07 moritz_ PerlJam: I'd love to see something the automagic sort
14:08 moritz_ 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!
14:08 moritz_ http://www.perlmonks.org/?node_id=809530 for inspiration
14:08 jnthn Mention min and max having that property too.
14:09 PerlJam yep
14:09 jnthn my $cheapest = @products.min(*.price) # is so cute
14:09 moritz_ rakudo: say (2, 3, 5, -1).min
14:09 p6eval rakudo 2198ec: -1␤
14:09 * jnthn wonders if the dog really wants to be taken for a walk in gale force winds...
14:09 moritz_ rakudo: say (2, 3, 5, -3).min(*.abs)
14:10 colomon jnthn: of course he does!
14:10 p6eval rakudo 2198ec: 2␤
14:10 jnthn oh wow, it just started snowing too!
14:10 PerlJam IT would be nice if that Whatever post made it out there too.
14:11 colomon The Whatever post still needs a bit of work, but absolutely agreed, it needs to get out there.
14:12 colomon (Unless someone finished it since I looked at it last night.)
14:12 PerlJam Oh, it's still slated for Dec 22
14:13 colomon But it can get moved around if needed.
14:13 colomon seems like it should go before the above examples.
14:13 moritz_ tonight or tomorrow I can find the tuits to brush it up a bit
14:13 colomon and the above examples are so cool it would be a shame not to use them.  :)
14:13 moritz_ PerlJam: so should we switch days?
14:14 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 #perl6
14:18 gbacon joined #perl6
14:18 khadrin_ joined #perl6
14:22 pmichaud I brushed up whatever a bit last night.
14:23 mathw I need to check when my next day is
14:23 mathw if It's when I think it is, I might nto have time to write it :(
14:23 colomon mathw: then you could trade with day 22 whatever...  :)
14:24 moritz_ wfm
14:25 pmichaud mathw: you're up for Dec 19
14:25 PerlJam mathw: Dec 19 looks like
14:25 mathw argh
14:25 mathw no, I don't have time to write that
14:25 mathw I've been landed with another deadline for some stuff I actually get paid for, so...
14:25 moritz_ mathw: so switch with 22nd?
14:25 mathw That would be good
14:25 mathw Hopefully I can then write it on Sunday evening
14:26 pmichaud jnthn: will you be able to get your Dec 18 post in?
14:29 colomon ng: my @a = (); say @a.elems
14:29 p6eval ng 928dc4: 1␤
14:31 ashizawa joined #perl6
14:31 nbrown joined #perl6
14:31 pmichaud ng:  my @a;  say @a.elems
14:31 p6eval ng 928dc4: 0␤
14:31 pmichaud ng: my @a = 1,2,3;  say @a.elems
14:31 p6eval ng 928dc4: 3␤
14:31 pmichaud looks like something isn't flattening properly.
14:32 jnthn pmichaud: Oh wait, is it tomorrow, not today?
14:32 jnthn OH
14:32 pmichaud ng:  my @a = ( (), 1, (1,2), 3);  say @a.elems
14:32 p6eval ng 928dc4: 4␤
14:32 jnthn Yes, but needs finishing by the end of today :-)
14:32 pmichaud jnthn: correct. :)
14:32 jnthn I can do it.
14:32 pmichaud jnthn++
14:32 jnthn I'm happy to swap too.
14:33 jnthn 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 :)
14:33 jnthn I've got the next couple of hours free, so can work on it.
14:33 mariano__ joined #perl6
14:37 colomon_ joined #perl6
14:41 mariano__ joined #perl6
14:41 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.
14:42 jnthn colomon++
14:43 ssm joined #perl6
14:43 parduncia joined #perl6
14:43 colomon jnthn++ # for making the ng changes that would let those work!
14:44 dalek rakudo/ng: 8865562 | (Solomon Foster)++ | t/spectest.data:
14:44 dalek rakudo/ng: Turn on pop.t and shift.t.
14:44 dalek rakudo/ng: (jnthn++ for making array arguments work again.)
14:44 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/8​8655626cd5ffafde6a6ced9bed2a40f55ced978
14:44 dalek rakudo/ng: b9eec4a | (Solomon Foster)++ |  (2 files):
14:44 dalek rakudo/ng: Implement end and turn on end.t.
14:44 dalek rakudo/ng: review: http://github.com/rakudo/rakudo/commit/b​9eec4a53d2608a630c3df76e1383daac5a16e23
14:44 colomon there they are.  :)
14:45 cj moritz_: ping?
14:45 moritz_ cj: pong
14:45 cj moritz_: will you help me with my internets?
14:45 cj http://wp.colliertech.org/ilbot/index.pl
14:45 colomon joined #perl6
14:46 moritz_ you need database.conf in the same dir as index.pl
14:46 cj moritz_: oh, I see ;)
14:47 cj that seems to have done it
14:47 cj moritz_: also depends on Bot::BasicBot
14:48 cj v0.81
14:49 constant joined #perl6
14:49 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:50 moritz_ 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
14:54 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
14:56 cj moritz_: do you have the bot start with init scripts?
14:58 colomon Is it safe to presume ng doesn't have array slices yet?
14:59 moritz_ cj: no, I just don't restart the machine it runs on :-)
14:59 moritz_ ng: my @a = 1, 2, 3 4; say @a[2, 0]
14:59 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)␤
14:59 moritz_ ng: my @a = 1, 2, 3 4; say @a[2]
14:59 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)␤
14:59 moritz_ ng: my @a = (1, 2, 3 4); say @a[2, 0]
14:59 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)␤
14:59 cj moritz_: ha.  except when you do.
15:00 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 #perl6
15:03 cj http://karma.colliertech.o​rg/~cjac/tmp/isurvived.png
15:03 KyleHa joined #perl6
15:03 cj speaking of grammar panic
15:05 frettled ng: my @a=1,2,3; say @a[2]
15:05 p6eval ng b9eec4: 3␤
15:05 frettled ng: my @a=1,2,3 4; say @a[2]
15:05 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:12 astrojp joined #perl6
15:13 masak cj: what's "Ling 566"?
15:14 masak oh, bet it's a course.
15:15 masak cj: I may be either blissfully naive or damaged beyond saving, but that kind of structure looks kinda fun. :)
15:16 jferrero joined #perl6
15:16 * PerlJam votes irrepairably damaged  :-)
15:16 masak I definitely wouldn't rule it out :)
15:17 masak I've been dabbling in parsers lately, and the output from them looks something like that.
15:17 masak a tree of objects carrying structured information about a flat string.
15:19 PerlJam heh ...  I just searched for something with google and was mildly shocked to see the Perl 6 Advent calendar in the results.
15:21 masak it's the shock of realizing that we have contact points with the Real World. :P
15:21 * masak hides
15:22 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
15:22 masak PerlJam: Perl 6 has an echo chamber, no question.
15:23 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:25 frettled jnthn: yeah
15:25 jnthn No it's not funny and not a useful search result. :-/
15:25 jnthn *Now
15:25 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 #perl6
15:26 cj moritz_: http://ilbot.colliertech.org/
15:27 cj masak: what parser are you using?  We'll be using an HPSG parser next quarter
15:28 cj 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.
15:28 cj but quick!  she'll be 6 next month!
15:28 cj masak: right, but you said you've dabbled... in what? :)
15:28 masak cj: I'm currently porting Parrot's PGE to Perl 6.
15:29 cj moritz_: is this supposed to be real-time?
15:29 cj PGE?
15:29 moritz_ cj: when you reload, new lines should show up immediately
15:29 masak cj: it's the parser underlying PCT, which drives e.g. Rakudo.
15:30 jaldhar joined #perl6
15:30 masak cj: http://github.com/masak/gge
15:30 cj moritz_: hurm... no go.
15:31 cj 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
15:31 moritz_ cj: depends on your idea of "friendly" :-) you can surely look into the database yourself to see if data arives there
15:32 moritz_ cj: I'd also recommend to clean the cache in /tmp/FileCache/ periodically while you're testing
15:33 cj moritz_: yeah, but if you /msg #ubuntu-us-wa, shouldn't something show up?
15:34 moritz_ cj: if the bot is logging that channel, sure
15:34 _jaldhar joined #perl6
15:35 moritz_ cj: sorry, got to go... feel free to /msg me further questions
15:37 * jnthn keeps beavering away at his roles post, having finally thought of a decentish example :-)
15:39 cj roger
15:41 Psyche^ joined #perl6
15:42 masak jnthn is a Busy Beaver... with only a small amount of bytes, he does a whole lot of work before stopping. :)
15:43 masak s/bytes/beers/
15:43 jnthn I've never made that typo in the pub.
15:44 jnthn .oO( Can I have two bytes of ale? )
15:44 cj yep... entries in the db
15:46 frettled jnthn: and if you did, would the publician notice?
15:46 jnthn frettled: Given it sounds so much like "pints"... :-)
15:47 jnthn frettled: Heh. Maybe I'll have to try it this evening. ;-)
15:47 jnthn frettled: If he does notice, I'll look a bit silly though.
15:47 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.
15:49 frettled woops, I wrote «publician», ahaha
15:49 jnthn I didn't even notice. ;-)
15:49 cj moritz_: also depends on Date::Simple
15:50 colomon "publican wood thing"?
15:50 colomon ;)
15:51 patspam joined #perl6
15:51 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:54 ash___ joined #perl6
15:55 frettled :)
15:55 [particle] don't highlight jnthn, he's busy.
15:56 Juerd jnthn is probably very good at ignoring highlights
15:56 Juerd How else could he even get any rakudo work done?
15:57 Juerd s/even/ever/
15:57 kaare_ joined #perl6
16:01 ash___ do macro's work currently?
16:02 ash___ no, it seems not,
16:03 justatheory joined #perl6
16:03 jnthn :-P
16:03 jnthn Don't worry, I finished my post anyway.
16:03 jnthn Just need to proof read and make it look pretty.
16:04 [particle] :P
16:07 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...
16:07 masak :D
16:10 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:11 jnthn Nothing spec'd yet, but I guess such a hook would belong somewhere in the meta-role I guess.
16:11 jnthn oops, double guesse
16:11 jnthn :-)
16:12 dalek nqp-rx: 9652695 | pmichaud++ |  (3 files):
16:12 dalek nqp-rx: Fix empty string in regexes (TT #1376, fperrad++).
16:12 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/9​652695b1eddc1138bcd0270f11386a0172be3f2
16:12 dalek nqp-rx: 17492b7 | pmichaud++ | src/stage0/ (4 files):
16:12 dalek nqp-rx: Update bootstrap.
16:12 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/1​7492b75774e4b5e4147611aecb0b4665413c4d5
16:13 masak jnthn: isn't that what docs/metamodel.pod in ng talks about?
16:13 nihiliad joined #perl6
16:13 jnthn masak: Yes, that'd be the place that we'd spec such a thing.
16:14 jnthn I've saved the post as a draft, if anyone wants to review it. :-)
16:14 * jnthn prof-reads too
16:15 jnthn oh damm, I accidentally wrote a pun into it...
16:16 cj jnthn: preview url?
16:16 jnthn cj: Not sure how to give you one, sorry... :-S
16:16 ash___ its wordpress right? you can't get a preview link until you post it
16:17 jnthn Ah
16:17 ash___ unless you have an account
16:17 jnthn Yeah, just folks with accounts then. :-)
16:17 ash___ with privilages high enough to view the post, then you'd need ot be logged in to view it
16:19 ash___ maybe i should explain what I am trying to do, to see if a role hook is the right way about it
16:21 pmichaud jnthn: looks good to me :)
16:21 pmichaud afk, early lunch
16:22 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 ash___ properties of the object i needs to store and their types
16:22 cj jnthn: what's the url to your blog?  I'll register
16:22 jnthn cj: It's just the perl6 advent calendar
16:23 jnthn http://perl6advent.wordpress.com/
16:23 jnthn cj: Don't worry about it though, it doesn't need huge amounts of review. :-)
16:23 masak jnthn: great post! jnthn++
16:24 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
16:25 jnthn masak: Heh. Do those work? :-)
16:25 masak jnthn: yes!
16:25 jnthn masak: But yes, good point...
16:25 jnthn masak: ooh.
16:25 masak nice, innit?
16:25 jnthn masak: Hmm...but do they distract from the explanation?
16:25 jnthn masak: oh, it's op der wiv da awesome!
16:25 masak I don't think so.
16:26 jnthn masak: OK, will change :-)
16:26 masak it's not particularly hard to guess what the syntax does.
16:26 jnthn masak: Think I need to comment on what's happening there?
16:26 masak no.
16:26 jnthn masak: ok. :-)
16:26 masak unless you want to comment on how nice it is that it works. :)
16:27 masak to me, it's the epitome of the "strangely consistent" mantra.
16:27 jnthn masak: changed :-)
16:27 masak \o/
16:27 jnthn masak++
16:27 masak (Perl 6)++
16:27 jnthn I found some english fails in my read-through and correct those too.
16:28 jnthn Post scheduled for: Dec 18, 2009 @ 0:00.
16:28 jnthn My work here is done.
16:28 jnthn :-)
16:28 jnthn Which is a good job really, since I now need to go to the station to collect a visiting friend.
16:29 kangu joined #perl6
16:29 masak jnthn: sorry, I exaggerrated. :$!foo works, but not :$.foo in Rakudo. :(
16:29 masak it should, though.
16:30 jnthn oh
16:30 jnthn masak: if you think that's an issue, feel free to change it back
16:30 masak I don't, really.
16:31 masak but it depends on how strict we are with everything-should-run-in-Rakud-master.
16:32 * masak changes it to :$!foo
16:32 masak ...then we'll have something to talk about in the comments. :)
16:33 kangu What perl6 compiler can I trust
16:33 masak kangu: define 'trust'.
16:33 masak either all of them or none of them. :)
16:33 xomas joined #perl6
16:34 kangu masak, that's null
16:34 PerlJam kangu: trust for what purpose?
16:34 kangu masak, redundant answer
16:34 masak kangu: sorry about that. could you make your question less vague?
16:35 kangu PerlJam, That does implement all perl6 standard of course
16:35 masak kangu: 'of course'? :)
16:35 masak no compiler implements the whole spec.
16:37 kangu masak, ok thanks
16:37 KyleHa A monk could do with some clarity concerning Rakudo:  http://perlmonks.org/?node_id=813205
16:37 PerlJam kangu: Of course, perl 5 is quite useful without a spec too.
16:37 masak kangu: it's possible that you're a few years to early in asking that question.
16:38 PerlJam kangu: (ergo, a Perl 6 implementation can also be useful even if it doesn't implement the entire spec)
16:38 pmurias joined #perl6
16:38 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:40 [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
16:40 PerlJam kangu: as particle says--try it.
16:40 kangu Thank you guys I'm gonna  give it a try right now
16:41 PerlJam kangu: have you seen perl6advent.wordpress.com ?
16:41 kangu just been here http://perlgeek.de/en/article/5-to-6#___top
16:42 PerlJam kangu: see http://perl6advent.wordpress.com/2009/12/1/
16:42 kangu That confirms it
16:43 mdxi joined #perl6
16:44 kangu Thanks to all and have good coding
17:00 cdarroch joined #perl6
17:00 Tene http://gist.github.com/258871 -- the program I'm going to be building in my p6advent post
17:03 Tene anyone have comments about it before I start writing the actual post?
17:04 masak swimming &
17:04 PerlJam Seems like you shouldn't need to differentiate pickone/pickmany, but instead just use the number of ac:
17:05 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.
17:05 Tene but, yes, the hints also
17:06 Tene at $realjob I have different functions to do the scoring for each type of question.
17:07 TimToady joined #perl6
17:08 PerlJam Anyway, Tene++  awesome example :)
17:08 PerlJam Tene: oh, I assume you need all of those {*} to make it work with master?
17:08 Tene Yes.
17:09 Tene as well, iirc, ng uses :actions where master uses :action
17:11 jaldhar joined #perl6
17:12 PerlJam really? I hadn't noticed that.
17:16 iblechbot joined #perl6
17:19 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?!?!?!?!?!!?
17:21 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 #perl6
17:23 ash___ does the meta model currently speced have any callbacks in it?
17:25 ash___ 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:26 breinbaas joined #perl6
17:39 tarskic joined #perl6
17:40 mikehh joined #perl6
17:41 chromatic joined #perl6
17:42 takadonet hey chromatic
17:43 chromatic morning
17:47 djburns joined #perl6
17:47 astrojp left #perl6
17:48 cj heya chromatic.  ltns
17:49 chromatic Thanks, I think.  I can't keep up with you crazy kids and your slang.
17:50 cj chromatic: long time no see ;)
17:51 cj it's chinese, from what my profé tells me
17:52 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 peter_12 joined #perl6
17:54 pmurias is there a version (perhaps perl replacement) for wdiff which uses color
17:54 Tene pmurias: I use vimdiff
17:54 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?
17:55 jnthn peter_12: Yes.
17:55 TimToady yes, though they'd like to move to a generational GC
17:55 peter_12 well that is good news
17:55 jnthn ash___: no, not yet.
17:56 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
17:57 peter_12 TimToady: really?!
17:57 peter_12 wow
17:57 chromatic So does Ruby.
17:57 chromatic At least 1.8.x.
17:57 peter_12 what is wrong with these people?!
17:58 TimToady you must think language designers are smart or something :)
17:58 chromatic What's wrong with reference counting?
17:59 anm joined #perl6
17:59 peter_12 chromatic: Reference counting and long running processes are not good friends. Think FastCGI and complex data structure relationships.
17:59 stephenlb joined #perl6
18:00 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 #perl6
18:02 peter_12 "COW"?
18:02 chromatic Copy on Write
18:04 jnthn ash___: Well, it's Rakudo's proposal for how it should look.
18:04 jnthn ash___: It is still very much up for discussion though.
18:04 peter_12 chromatic: I don't see that as a likely problem with mark-and-sweep. Hidden references are a likely problem
18:04 jnthn ash___: And certainly isn't in any sense complete.
18:07 KeithWolters joined #perl6
18:08 chromatic And read/write barriers are a problem in a "proper" GC.
18:09 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 ash___ should i try adding it to ng and submit a patch for it? or ... discuss it more ?
18:10 Tene ash___: I'd start with a RFC to the perl 6 mailing list
18:10 rgrau` joined #perl6
18:11 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 rachelBROWN joined #perl6
18:11 ash___ Tene: sounds good, i'll do that
18:12 jnthn ash___: aye, what Tene said. Here is also good to discuss.
18:13 jnthn 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.
18:14 Tene 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:18 anm hello
18:18 Tene Hi!
18:18 anm I recently came accross the perl 6 advent calendar
18:18 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
18:18 ash___ variable
18:18 anm and learned something about it, having ignored it until now
18:18 anm Tene: hi!
18:18 anm anyway, it is quite exciting
18:18 Tene ash___: I'd imagine that you override it and then just pass off to the superclass or whatever.
18:19 anm I like the new language features
18:19 jnthn ash___: It's not Parrot stuff at all, it's just the metamodel stuff. :-)
18:19 anm and thought I would give a lightning talk based on some of the posts at the local LUG tonight
18:19 anm I can't find a licence for it though
18:19 jnthn ash___: You could subclass it and use callsame.
18:20 anm (and don't have time to write own examples)
18:20 jnthn ash___: Or nextsame.
18:20 anm any idea about that?
18:21 pmichaud anm: looking
18:21 jnthn anm: Oh, good question. I wrote one of the posts, but don't know about that... :-)
18:21 jnthn ash___: Actually you'd write a method ^compose_role in your class.
18:21 chromatic I wouldn't expect any of the code has an onerous license, especially for presenting to a UG.
18:22 snearch_ joined #perl6
18:22 pmichaud I'd expect either creative commons or artistic license, depending on whether you're showing code or text
18:22 pmichaud it's probably safe to assume artistic license 2 for the code snippets
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
18:22 anm I doubt anyone would mind but thought I should check
18:22 anm right
18:23 pmichaud anm: yes, thanks for checking
18:23 anm I shall attribute it anyway
18:23 pmichaud oh, definitely attribute the author or perl6advent blog, please
18:23 pmichaud that's always a good approach
18:24 jnthn ash___: No, doesn't neeed multis.
18:24 jnthn ash___: nextsame and friends handle inehritance hierarches.
18:25 jnthn OK, gotta go...cy'all
18:26 justatheory joined #perl6
18:32 stepnem joined #perl6
18:46 REPLeffect_ joined #perl6
18:47 cj moritz_: also requires Calendar::Simple
18:47 meppl joined #perl6
18:49 ash___ rakudo: role foo { method ^bar { }; }; class Foooo does foo { };
18:49 p6eval rakudo 39685a:  ( no output )
18:50 ash___ on my computer thats giving me:  Null PMC access in get_string()
18:52 cj moritz_: http://ilbot.colliertech.o​rg/ubuntu-us-wa/2009-12-17
19:05 ShaneC joined #perl6
19:05 zamolxes joined #perl6
19:16 robert__ joined #perl6
19:16 robert__ left #perl6
19:16 vamped joined #perl6
19:26 am0c joined #perl6
19:31 diakopter joined #perl6
19:38 chromatic How much do I need to update for the release?
19:45 * PerlJam is back from lunch
19:54 astoria joined #perl6
19:54 ash___ does ng not have @*INC?
19:54 ash___ yet anyway
19:54 astoria Salut
19:55 Tene ash___: probably not.
19:55 Tene Hi, astoria!
19:55 astoria Hi Tene
19:55 ash___ Tene: okay, thats cool
19:55 PerlJam ng: say @*INC;
19:55 p6eval ng b9eec4: ␤
19:56 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?
19:56 ash___ 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
19:56 Tene ash___: last I heard, class definitions with the evalbot in here on rakudo master always time out.
19:57 ash___ oh, okay, that might be why its not giving any output
19:57 ash___ Tene: does: role foo { method ^bar { }; }; class Foooo does foo { };   give you an error?
19:57 ash___ if you don't mind checking
19:58 justatheory joined #perl6
19:58 Tene ash___: Yes, it fails in the same way.
19:59 ash___ ng seems okay with it, i think its the '^' in the method definition, but that should be allowed, shouldn't it?
20:00 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:01 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:07 chromatic Who's handling the March release?
20:11 PerlJam I don't think anyone has volunteered yet
20:13 * PerlJam dislikes "nobreak"
20:14 Tene +1
20:14 dbrock joined #perl6
20:18 moritz_ masak++ # answering Perl 6 questions on perlmonks
20:19 ash___ hmm, so you can define subs in a role right? then they are just name spaced to the name of the role?
20:20 ash___ 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
20:20 p6eval rakudo 39685a:  ( no output )
20:20 Tene 12:56 <@Tene> ash___: last I heard, class definitions with the evalbot in here on rakudo master always time out.
20:20 ash___ oops, ya thats right, eval bot don't like class definitions
20:21 ash___ moritz_: well, lexically scoped then, so to call that above bar you should do foo::bar? right?
20:28 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
20:28 moritz_ unless you export it
20:28 moritz_ or declare it as "our sub" or so
20:29 mberends joined #perl6
20:31 ash___ so, to get to baz, i should have to export baz our declare that as an our sub too?
20:33 * 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? :) )
20:34 wayland76 moritz_: for ash___'s message, s/our/or/
20:35 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 #perl6
20:37 mberends nobreak == atomic
20:40 frettled nobreak broke my blog entry :D
20:42 chromatic Hm, I'm getting spectest failures in the tarball I made.
20:42 moritz_ ash___: I think so, yes
20:42 moritz_ sorry, my connection keeps dropping off, making real-time chat basically impossible
20:42 chromatic Can other people test http://wgz.org/chromatic/tmp/rakudo-12.tar.gz ?
20:42 frettled moritz_: oh noes, asynchronous chat! :D
20:43 moritz_ chromatic: 404
20:43 frettled I was about to say «404 compliant link»
20:43 chromatic Right, mistyped.
20:43 chromatic http://www.wgz.org/chromati​c/tmp/rakudo-2009-12.tar.gz
20:44 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
20:45 KyleHa chromatic: Is it supposed to have all of t/spec in it?
20:45 moritz_ KyleHa: yes
20:45 chromatic As far as I know.
20:45 frettled My parrot's getting a biscuit.
20:45 KyleHa Nifty.
20:45 TimToady maybe we should call them "breakout" and "breakdown"  :)
20:46 mberends chromatic: fetched, building on debian stable amd64
20:47 TimToady really, we hardly need 'nobreak', given that leave already works in any simple block
20:47 TimToady but leave doesn't read well either
20:47 frettled No, not really.
20:48 frettled I liked «continue» for hysterical raisins.
20:48 sjohnson reasons or raisins?
20:48 Tene carryon
20:48 Tene carrion!
20:48 frettled sjohnson: historical raisins, that would be something, eh?
20:48 TimToady as the calender comments were demonstrating, 'continue' is very confusing to C programmers
20:48 PerlJam TimToady: stay, endure, persist, maintain
20:49 TimToady and it also means something different in Perl 5
20:49 Tene dontstop; # innuendo
20:49 PerlJam TimToady: suffer  :)
20:49 PerlJam (bit of a stretch, that one)
20:49 Tene more
20:49 TimToady (more)
20:49 PerlJam oh, I like that
20:50 KyleHa nobreak = mend
20:50 mberends endure
20:50 Tene keepgoing
20:50 sjohnson timtoady:  did you read my for loop "copy" without writing $_ idea?  if so, is it a good one?  bad one?
20:50 Tene try-the-next-one
20:50 frettled ¬break
20:50 TimToady sjohnson: doesn't seem to buy much
20:50 moritz_ dontusewhenwhenyouwanttocontinue
20:50 PerlJam bear
20:51 Tene I'm kind of tempted by using 'next' there.
20:51 TimToady unwhen
20:51 Tene when't
20:51 mberends ifatfirstyoudontsucceed
20:51 TimToady make_it_didn't_match
20:51 sjohnson ok
20:51 frettled Tene: no, "next" gives the wrong impression
20:51 TimToady notreally
20:51 Tene frettled: I agree.
20:51 KyleHa kidding
20:51 Tene among other problems.
20:52 frettled KyleHa: justkidding?
20:52 KyleHa frettled: *nod*
20:52 frettled "relay"
20:52 PerlJam belay
20:52 Tene distract
20:52 frettled rewhen
20:52 Tene whenagain
20:52 TimToady frettled: except next statement might not be a when
20:53 frettled TimToady: d'oh :)
20:53 TimToady d'oh!
20:53 Tene stay
20:53 Tene (don'tleaveme)
20:53 TimToady I kinda like d'oh
20:53 frettled Tene: which automatically plays a tune by Sash?
20:53 PerlJam So ... what happens at the end of a when?  Is it an implicit "next" or some other kind of control exception?
20:53 frettled implicit break
20:53 Tene PerlJam: implicit break
20:54 frettled the problem would go away if the semantics were changed to demand an explicit break
20:54 frettled that would be easier on the C programmers, too ;)
20:54 * TimToady shoots frettled
20:54 * frettled breaks.
20:55 diakopter make like a tree and nobreak
20:56 * PerlJam is clearly going slightly insane.
20:56 frettled How about "yield"? :)
20:56 PerlJam (I knew it was break, but I was having some sort of mental block)
20:56 frettled { mental }
20:57 frettled Can we have named blocks, BTW?
20:57 PerlJam anyway, "break" only ever matters to "when"?  It doesn't affect any other statement/block?
20:57 * frettled was almost afraid to ask.
20:57 Tene PerlJam: 'when' doesn't care about break, it throws it.
20:57 diakopter frettled: I guess just put a label before it
20:57 Tene PerlJam: it's the containing block that catches the break
20:58 Tene given/for/while/etc.
20:58 chromatic nopaste?
20:58 Tene anything that sets $_ should catch break, iiuc
20:58 TimToady $_ = 42 sets $_  :)
20:58 TimToady which is why it's limited to $_ declared as a parameter
21:00 diakopter chromatic: http://paste.lisp.org/new/perl6
21:00 TimToady maybe "oops"
21:00 chromatic Lots of failures in my release tarball: http://nopaste.snit.ch/19129
21:00 TimToady "falsealarm"
21:01 Su-Shee 'snooze'
21:01 PerlJam chromatic: aye, I just got the same results from my build here.
21:02 TimToady Su-Shee++
21:02 diakopter "ewrongdroids"
21:02 chromatic I didn't have these failures yesterday.
21:02 frettled diakopter: so I should have written: mental:{ }
21:02 TimToady if we renamed 'break' to 'cut', we could have cut/uncut
21:03 frettled TimToady: «procrastinate»
21:03 PerlJam But then all the prolog people would get confused.
21:03 chromatic The t/spectest.data file looks the same.  Hm.
21:04 TimToady keeptrying
21:04 PerlJam For some reason I tend to gravitate to the 4 letter word suggestions.  "keep" and "more" almost work.
21:05 PerlJam Do we have some sort of syntax already that lets us ignore certain types of exceptions?
21:06 frettled Well, .leave?
21:06 TimToady well, quietly catches warning exceptions
21:07 TimToady nobreak when {...}
21:08 Tene PerlJam: CATCH/CONTROL
21:10 frettled TimToady: hmm, perhaps an adverb, then?  :D
21:13 TimToady bbl &
21:13 Su-Shee break & trap
21:14 moritz_ chromatic: probable the release make target checks out the latest test suite and stuffs it into the tarball
21:15 moritz_ chromatic: I've commited a fix
21:16 mberends spectest svn r29188 here
21:16 chromatic moritz_, the Makefile agrees with you.
21:17 frettled "bow", "defer", "accede", "cede", ...
21:19 frettled The latter as in "to cede control".
21:19 mberends "stretch"
21:20 colomon joined #perl6
21:20 chromatic new tarball: http://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.
21:20 dalek rakudo/master: 55a5c07 | moritz++ | build/Makefile.in:
21:20 dalek rakudo/master: [build] use the same spectest revision for the release as everything else uses
21:20 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/5​5a5c079e69335bf95cfa70870647b42724a7d7b
21:20 frettled chromatic: but but but the spectests from the former are still running :D
21:21 chromatic You have my authorization to go all Lizzie Borden on that process family.
21:22 frettled I had to look up the name :)
21:25 frettled 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:26 chromatic t/spec/S02-literals/listquote.rakudo ........................... Failed 1/22 subtests
21:26 chromatic (less 9 skipped subtests: 12 okay)
21:26 chromatic t/spec/S02-literals/sub-calls.t ................................ Failed 2/20 subtests
21:26 chromatic t/spec/S03-junctions/misc.rakudo ............................... Failed 1/103 subtests
21:26 chromatic (less 32 skipped subtests: 70 okay)
21:27 chromatic t/spec/S03-operators/context-forcers.rakudo .................... Failed 1/93 subtests
21:27 chromatic (less 15 skipped subtests: 77 okay)
21:27 chromatic t/spec/S03-operators/numeric-context.rakudo .................... Failed 4/52 subtests
21:27 chromatic (less 2 skipped subtests: 46 okay)
21:27 chromatic (2 TODO tests unexpectedly succeeded)
21:31 frettled chromatic: I forgot, what should I be looking for?
21:31 chromatic I'm not sure I understand the question.
21:32 frettled Is there anything in particular you are interested in from a spectest run on that rakudo version?
21:34 xenoterracide_ joined #perl6
21:39 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:41 moritz_ ash___: usually things that the compiler calls for you are in all caps
21:41 moritz_ you never call a CATCH or CONTROL or BEGIN block yourself
21:41 moritz_ it's triggered automatically
21:41 ash___ ah, i see i guess that makes sense
21:43 chromatic frettled, I want a clean spectest run for the release.
21:50 ash___ can you finally a try/catch?
21:54 chromatic moritz_, apparently make release undid your change.  Any suggestions?
21:55 frettled chromatic: aha.
21:55 moritz_ chromatic: did you reconfigure before 'make release'?
21:55 frettled chromatic: Failed 26/449 test scripts, 94.21% okay. -500/34209 subtests failed, 101.46% okay.
21:55 frettled oops, missed the first line there:
21:55 frettled (21 subtests UNEXPECTEDLY SUCCEEDED), 2013 subtests skipped.
21:56 frettled System: Ubuntuy Hardy Heron, Linux 2.6.24, x86_64.
21:57 chromatic Reconfigure... let me try.
22:01 chromatic Looks good so far, moritz_.
22:02 moritz_ here too
22:06 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:09 chromatic It's not ABnormal.
22:12 chromatic moritz_, that looks much better.
22:12 * moritz_ is up at S05-mass right now, and no failures so far
22:13 chromatic newest tarball: http://wgz.org/chromatic/tmp/rakudo-2009-12.tar.gz
22:13 rachelBROWN joined #perl6
22:13 xenoterracide_ joined #perl6
22:23 justatheory joined #perl6
22:23 cotto_w0rk joined #perl6
22:30 chromatic t/spec/S32-io/IO-Socket-INET.rakudo ............................ Failed 1/18 subtests
22:30 chromatic (less 7 skipped subtests: 10 okay)
22:31 chromatic Could be a local niggle.
22:32 pmurias joined #perl6
22:38 chromatic Yep, passes here manually.
22:40 moritz_ all pass here
22:42 chromatic To git@github.com:rakudo/rakudo.git
22:42 chromatic ! [rejected]        master -> master (non-fast forward)
22:42 chromatic error: failed to push some refs to 'git@github.com:rakudo/rakudo.git'
22:42 chromatic Pull fail?
22:43 arnsholt non-fast forward means that there are merge conflicts, I think
22:43 arnsholt At least that's what it's told me when I've had conflicts when pulling
22:43 colomon joined #perl6
22:43 arnsholt How you resolve conflicts, OTOH, I have no idea >.<
22:45 chromatic Ah, I wasn't on a branch or master.
22:45 chromatic Now I need to find the commit I made there.
22:48 chromatic uploading to GH now....
22:51 dalek rakudo/master: 7f1c3fe | chromatic++ | docs/release_guide.pod:
22:51 dalek rakudo/master: [docs] Updated release guide.
22:51 dalek rakudo/master: review: http://github.com/rakudo/rakudo/commit/7​f1c3fe831e9f96d98c55ac6cec1f3ccf29ca3d7
22:52 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:53 diakopter pmurias: no, I'm going to focus on mono now; thank you, though.
22:54 pmurias diakopter: what's your plan for targeting mono?
22:55 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 diakopter though I just discovered mono hasn't yet implemented System.Reflection.Emit.DynamicILInfo, which would be cool if it had
22:55 pmurias using rakudo or starting from scratch
22:56 ingy joined #perl6
22:56 diakopter modelled after nqp-rx's Grammar.pm, yes, initially, but with the goal of syncing with STD
22:57 diakopter 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 diakopter (it's not quite "starting from scratch", in other words)
22:58 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)␤
23:01 pmurias diakopter: if you are interested i could add a C#/CIL backend to mildew over the weekend if you are interested
23:17 TiMBuS joined #perl6
23:47 pmurias_ joined #perl6
23:49 pmurias diakopter: all the dependency on smop/js/etc. could be seperated from mildew if that's troubling you
23:57 pointme joined #perl6
23:57 zaslon joined #perl6
23:57 mubot joined #perl6

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

Perl 6 | Reference Documentation | Rakudo