Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-08-28

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 tewk joined perl6
00:00 kcwu joined perl6
00:00 TreyHarris joined perl6
00:00 Khisanth joined perl6
00:00 ludan joined perl6
00:00 gantrixx joined perl6
00:01 ilogger2 joined perl6
00:01 Khisanth joined perl6
00:01 Odin- joined perl6
00:01 Eidolos joined perl6
00:01 radian joined perl6
00:01 gantrixx joined perl6
00:02 lambdabot joined perl6
00:02 ajs joined perl6
00:03 mauke joined perl6
00:04 bsb joined perl6
00:04 ludan joined perl6
00:05 obra joined perl6
00:05 clkao joined perl6
00:05 JarJarBinks joined perl6
00:05 gugod_ joined perl6
00:05 marcus joined perl6
00:05 LCamel joined perl6
00:05 cognominal joined perl6
00:05 Revision17 joined perl6
00:05 broquaint joined perl6
00:05 bcorn joined perl6
00:05 Lorn joined perl6
00:06 cookys joined perl6
00:06 kolibrie joined perl6
00:06 pmurias joined perl6
00:06 markstos joined perl6
00:07 lumi joined perl6
00:07 markstos I recommend now adding http://feather.perl6.nl to the topic since the page has now been updated to be a good Perl6 resource.
00:07 lambdabot Title: Perl6 Community Development Server
00:08 SamB joined perl6
00:08 kanru joined perl6
00:09 kcwu joined perl6
00:09 merlyn joined perl6
00:09 typester joined perl6
00:09 miyagawa_ joined perl6
00:09 rnorwood joined perl6
00:09 mtve joined perl6
00:10 cj joined perl6
00:10 masak joined perl6
00:10 araujo joined perl6
00:10 notsri joined perl6
00:10 xinming joined perl6
00:10 glasser joined perl6
00:10 Eimi joined perl6
00:10 Bit-Man joined perl6
00:11 integral joined perl6
00:11 avar joined perl6
00:12 Southen joined perl6
00:13 ingy joined perl6
00:13 silug joined perl6
00:14 pasteling joined perl6
00:14 lisppaste3 joined perl6
00:15 nothingmuch joined perl6
00:15 tewk joined perl6
00:15 awwaiid joined perl6
00:15 TimToady joined perl6
00:19 markstos Which of these syntax is prefered to passed name/value pairs to subs in Perl6?
00:19 markstos foo ( name => 'value' );
00:19 markstos foo ( :name<value> ); ?
00:20 ayrnieu which do you prefer?
00:20 * clkao likes :name<value>
00:20 markstos s/passed/pass/
00:20 markstos For me, it's not currently a matter of preference, it's matter of getting either work well with pugs ATM. :)
00:21 clkao i thought both works?
00:21 Grrrr joined perl6
00:21 markstos The both do, at different times. :) I'm still a little confused about when one works and the other doesn't, but I've seen issues.
00:21 Maddingue joined perl6
00:21 markstos Hold on, I think I remember a quick example.
00:21 xern joined perl6
00:23 dvorak joined perl6
00:25 Psyche^ joined perl6
00:25 Psyche^ is now known as Patterner
00:25 TreyHarris joined perl6
00:26 nekokak joined perl6
00:26 markstos I guess my confusion is around when the slurpy modifier is needed. Here it won't work until it's added:
00:26 markstos ?eval sub foo (*%args) { say %args.perl; } foo( :a<b> ); foo( a => 'b' );
00:28 clkao i thought it's always needed if you are not having named arg in the foo signature
00:29 markstos Sounds right. I'm just used to the looseness of Perl5, and am still adapting to Perl6.
00:29 markstos However, whenever I figure out a "Perl6" way to address something, the code seems to be shorter and simpler...
00:30 clkao also you can use \ in signature to get the capture object. and just deref it
00:31 araujo joined perl6
00:31 araujo :-)
00:31 araujo cmarcelo, not sure about the difference either
00:32 markstos Capture objects are a mental leap. In Perl5, it was always an array to unpack. With Captures, I can get the named part, or the positioinal part, but I didn't see a way to get Whole Thing As An Array like I'm used to.
00:32 araujo cmarcelo, here on pugs, (1 .. 9) , [1 .. 9] , behave apparently the same
00:33 markstos However, I'm also trying to learn differnet ways to think about things, and not just translate what I know about P5 into a new syntax.
00:33 markstos I like multi methods, also I still get surprising results sometimes.
00:33 PolettiX joined perl6
00:33 markstos s/also/although/
00:35 clkao markstos: i thought by default it's *@_
00:35 clkao which is same as perl
00:35 clkao 5
00:36 markstos Oh. :) I hadn't discovered that yet. I'm enjoying trying out the newer style syntax, though.
00:36 ludan joined perl6
00:36 markstos I did notice that @_ didn't work the same.
00:36 clkao *@_ is rw, actually ;)
00:37 markstos Hmm.. Is that a good thing ?
00:37 ayrnieu markstos - yes.
00:38 ludan joined perl6
00:40 ludan joined perl6
00:45 lisppaste3 joined perl6
00:46 PolettiX joined perl6
01:01 vel joined perl6
01:05 markstos I think declaring two multi subs where all the arguments are optional should generate a warning. Here's an example:
01:05 markstos multi sub foo ($b?) { say "b: ".$b.perl } multi sub foo ($a?) { say "a: ".$a.perl } foo('boo');
01:06 markstos I've already do this twice accidently...
01:06 markstos s/do/done/
01:08 markstos I guess that's just a variation of generating two multi subs with the same signature. Currently, pugs just chooses one, although there is no clear correct answer:
01:08 markstos multi sub foo () { say "b: " } multi sub foo () { say "a: " } foo();
01:08 markstos Perhaps that should even be an error, not a warning.
01:10 justatheory joined perl6
01:16 soisoisoi joined perl6
01:26 dolmans joined perl6
01:37 bsb left perl6
01:43 markstos I'm still confused about "references are gone in Perl6", but yet, using the [] and {} notations make a difference:
01:44 markstos ?eval sub foo { say *@_.perl; } foo( <a>, %(d=>2) ); foo([<a>], {d=>2});
01:44 markstos Is this a case of pugs lagging behind the spec, or are references sorta present, even outside of Captures ?
01:54 bsb joined perl6
01:54 lambdabot joined perl6
02:10 lambdabot joined perl6
02:10 jferrero joined perl6
02:11 mdiep joined perl6
02:18 justatheory joined perl6
02:26 TreyHarris markstos: no... references are not present.  but remember, the default signature when no signature is present is (*@_).  So there's a slurpy making an implicit [,] in your call
02:30 TreyHarris so <a> gets unwound into "a"
02:46 markstos TreyHarris: /something/ is present, because [<a>] produces a different result than <a>, and {} produces a different result than %()... and the result looks like references to me.
02:47 markstos Perhaps you could say they are "embedded arrays" and "embedded hashes", but they look like references to me.
02:53 DaGo joined perl6
02:53 markstos I was wondering about the difference between %h<<$a>> and %h{$a}. The first is an interpolated string. The second is an evaluated expression.
02:53 markstos ?eval my $a = 1; my %h; %h{$a+1} = 'expression'; %h<<$a+2>> = 'interpolated string'; say %h.perl;
02:56 markstos Surprisingly, though, this can be used for to pass a named params:
02:57 markstos :name<<$value>>
02:57 markstos But this throws an error:
02:57 markstos :name{$value}
03:05 crem_ joined perl6
03:21 Yappo joined perl6
03:31 markstos left perl6
03:31 audreyt markstos: that's a simple bug... fixed
03:32 audreyt marcus: allso, re feather.perl6.nl
03:32 audreyt I'd like to simply point pugscode.org there.
03:32 agentzh joined perl6
03:32 TreyHarris audreyt: oh, was i wrong?  slurpy param doesn't effect [,] reduction on args?
03:33 audreyt marcus: but that means the essential info on pugscode.org needs to be present as well
03:33 agentzh markstos: the :name{$value} syntax seems weird. i think you should use :name($value) instead. :)
03:34 audreyt TreyHarris: slurpy and [,] are different
03:34 audreyt *@_ makes the incoming %hash into list of pairs
03:34 audreyt while [,]%hash becomes named
03:34 audreyt which is partly why they now look different...
03:35 TreyHarris ah, ok.  so foo(<a>) and foo('a') should always look different to foo, no matter how it's declared?
03:36 audreyt actually, <a> is currently just the same as 'a'
03:36 audreyt I'm not sure if it should make a 1-elem List or not, actually
03:36 TreyHarris that's what i thought
03:36 TreyHarris i just can't put it into words... but i feel it should work that way
03:36 audreyt because in perl5, qw<1>
03:36 audreyt also means just '1'
03:38 TreyHarris well, should foo(<a b>) always work like foo('a', 'b') then?  i'd say yes
03:38 audreyt it should always work like
03:38 audreyt foo( ('a','b') )
03:39 audreyt following that logic, perhaps it's wrong for <a> to just mean 'a'
03:39 audreyt perhaps it should mean ('a',) after al
03:39 audreyt that is, a List object, not a Str object.
03:44 TreyHarris hmmm.... word-calling subs seems like a common think to do though
03:45 audreyt foo([,]<a b c>) still gets you that.
03:46 agentzh (thought
03:46 agentzh (though not beautifully)
03:47 agentzh :)
03:48 audreyt sure... it depends on which way you are optimizing for
03:54 evalbot_12770 joined perl6
03:55 TreyHarris well, captures will help there too
04:01 svnbot6 joined perl6
04:02 audreyt r12772 (orig r12771):  audreyt | 2006-08-28 11:52:12 +0800
04:02 audreyt * <a> is now ('a',) and never just 'a'.
04:02 audreyt r12770 (orig r12769):  audreyt | 2006-08-28 11:35:39 +0800
04:02 audreyt * :name{...block...} and :name{hash=>'val'} now works, prompted by markstos++.
04:02 TreyHarris smoking
04:02 TreyHarris oh... damn
04:02 TreyHarris smoking r12771 ;-)
04:03 audreyt well I'm smoking r12772
04:03 audreyt so that's actually a useful diff
04:05 TreyHarris hmmm... do i need to do something about the "Smoker info not found. Please create a file named .smoker.yml" message?  i've just ignored it up till now
04:06 audreyt no that's fine
04:19 agentzh audreyt: are you smoking ~audreyt/pugs?
04:19 audreyt no. rebuilding
04:19 audreyt evalbot was down
04:19 agentzh ah, okay.
04:19 Khisanth joined perl6
04:21 dolmans joined perl6
04:22 SubStack joined perl6
04:27 TreyHarris i love how my dock cpu monitor quickly tells me when makes or smokes are done... :-)
04:27 audreyt so how mail fails are for you?
04:28 TreyHarris ?
04:28 audreyt s/mail/many/
04:28 audreyt the last line in smoke.html
04:28 TreyHarris oh, it's still smoking :-)
04:29 TreyHarris i was just noting that i don't have to look at the window to tell :-)
04:29 TreyHarris it's just doing ext/Pod-Event-Parser now, so it still has quite a ways to go
04:31 TreyHarris oh, audreyt, i've been noticing that if by mistake i run /usr/bin/pugs with a sourcetree PERL6LIB, or my sourcetree pugs without a PERL6LIB, they both start being very unhappy from then on.  segfaults and "illegal hardware instruction" errors all over the place.  i've put a ~/bin/pugs script in that looks at my cwd to decide what to do in order to keep that from happening in the future, but just fyi
04:33 audreyt ok.
04:33 audreyt bbiab
04:34 audreyt TimToady: this idiom
04:34 audreyt s:g{123}{456}
04:34 audreyt is actually wrong, right?
04:34 audreyt needs to write as
04:34 audreyt s:g {123}{456}
04:34 audreyt or s:g/123/456/
04:40 audreyt I've changed it to s:g"123"456"
04:40 svnbot6 r12772 | audreyt++ | * File::Spec::Unix: Remove the invalid quoting syntax s:g{}{} as it'd be taken as s:g({}).
04:42 evalbot_12772 joined perl6
04:43 kanru joined perl6
04:46 svnbot6 r12773 | agentz++ | [util/smartlinks.pl]
04:46 svnbot6 r12773 | agentz++ | - simplified the HTML template a bit. (now we're using
04:46 svnbot6 r12773 | agentz++ |   ``<a href="#" ...''
04:57 TimToady audreyt: yes, that's wrong
05:02 audreyt there's... a huge amount of corpus that's wrong, then
05:02 svnbot6 r12774 | audreyt++ | * pugs -Ifoo -Ibar should put bar in front of @*INC.
05:02 audreyt I finished changing ext/
05:02 audreyt but can't focus long enough to finish t/
05:05 svnbot6 r12775 | audreyt++ | * ':g{}' now always mean pair, never backtracks.
05:08 svnbot6 r12776 | audreyt++ | * Change s:P5{}{} and rx:P5{} and m:P5{} etc in ext/
05:08 svnbot6 r12776 | audreyt++ |   to use some other delimiter, usually / or ".
05:09 Aankhen`` joined perl6
05:14 TimToady I don't think <a> should assume a ,
05:15 TimToady I think it should be equivalent to ('a')
05:17 TreyHarris but <a b> will always be equivalent to ['a', 'b']?
05:17 TimToady yes.
05:17 TimToady er, no
05:17 TimToady not in list context
05:17 TimToady it's equivalent to ('a', 'b'), and the parens go away
05:18 TimToady parens do not construct sublists in list context.
05:18 TreyHarris yes
05:18 TreyHarris ok, good
05:18 TimToady and <...> is equivalent to a parenthesized list.
05:18 TimToady we use this all the time in :foo<string> to pass a single string.
05:18 TreyHarris right
05:19 TimToady turning it into ['string'] would be tragicomic
05:19 TreyHarris ok, so the behavior markstos was seeing was almost correct, and the behavior he expected would not be correct
05:19 audreyt hm. ok, reverting
05:19 audreyt but then, f(<a b>)
05:19 audreyt if it's equiv to f(('a','b'))
05:19 audreyt then it still won't bind to "sub f ($x, $y)"
05:19 audreyt right?
05:20 TimToady right, since those aren't list context
05:20 TimToady (...) autointerpolates only in list context.
05:20 TimToady except, of course, that ('a') is a perfectly good scalar too.
05:21 audreyt though ('a',) would not be
05:21 TimToady correct
05:21 audreyt and <a> is equiv to the former not the latter
05:21 TimToady yes
05:22 TimToady it's one of those syntactic literal thingies that kinda means different things, like 42
05:22 TimToady which might or might end up thinking of itself as Int or Num.
05:22 audreyt can you clarify the spec to say that <a> stands for ('a') not ('a',), then?
05:24 TimToady I'll have a look at it.
05:24 TimToady Need to pack for Birmingham though...
05:24 audreyt oh, right. have fun!
05:24 svnbot6 r12777 | audreyt++ | * <a> now means ('a') again, not ('a',), to narrowly avoid the tragicomical doom.
05:27 TreyHarris lol
05:28 audreyt :)
05:31 evalbot_12777 joined perl6
05:32 agentzh left perl6
05:32 svnbot6 r12778 | gaal++ | (minor) avoid redefining subs when subtest fails
05:36 evalbot_12777 joined perl6
05:44 christo joined perl6
05:44 svnbot6 r12779 | audreyt++ | * Pugs.Internals: don't let evalbot die whenever someone throws big5 or latin1 at her -- instead just warn about bad UTF8 sequence.
05:45 audreyt it should be much harder to accidentally kill evalbot now..
05:47 TimToady Actually, under adverbs it already says: Bare C<< <a> >> turns into C<('a')> rather than C<('a',)>.
05:47 TimToady but I will clarify the preceding section as well.
05:48 Khisanth joined perl6
05:50 audreyt k, danke
05:53 evalbot_12779 joined perl6
05:55 audreyt ?eval "這不是 UTF8 煙斗"
05:56 evalbot_12779 decodeUTF8: bad data: '\151' "\d[25]\r/ UTF8 Y\d[151]"
05:56 audreyt good, it didn't die.
05:56 audreyt (fwiw, that's "this is not a UTF8 pipe" in big5.)
05:57 audreyt ?eval "Ceci n'est pas une pipe"
05:57 evalbot_12779 "Ceci n\'est pas une pipe"
05:57 christo left perl6
05:58 TimToady Um, then why did it print right in my irssi?
05:58 audreyt that'd be... surprising
05:58 TimToady not the evalbot, but your eval
05:58 * audreyt consults her /recode settings
05:59 audreyt and indeed I set it wrong so I was sending UTf8
05:59 TimToady I see: ?eval "這不是 UTF8 煙斗"
05:59 audreyt most weird.
06:00 kasei joined perl6
06:01 audreyt ?eval "test"
06:01 evalbot_12779 "test"
06:06 b00t joined perl6
06:07 TimToady Interesting, it's 煙管 in Japanese, concentrating more on the tubiness like English.  I presume the Chinese is more of a reference to its ladle-like shape.
06:07 audreyt aye. 煙管 is valid Chinese too
06:07 TimToady or that you "scoop smoke" with it?
06:08 TimToady And maybe the 煙斗 would work in Japan too, for all that...
06:08 svnbot6 r12780 | audreyt++ | * system() should pass utf8 through as well.
06:08 audreyt though, as in the La trahison des images painting, the shape is more ladle-ish than tube-ish
06:08 TimToady "this is not a ladle or a tube either..."
06:09 audreyt "sometimes a UTF8 string is just a UTF8 string"
06:12 TimToady on the other hand, the first several pages of google hits on 煙斗 are all Chinese, so probably not used in Japan.
06:12 audreyt *nod*
06:14 onsen joined perl6
06:14 evalbot_12780 joined perl6
06:16 audreyt ?eval "山有扶蘇, 隰有荷華, 不見煙管, 乃見字串"
06:16 evalbot_12780 decodeUTF8: bad data: '\176' decodeUTF8: bad data: '\239' decodeUTF8: bad data: '\139' decodeUTF8: bad data: '\161' decodeUTF8: bad data: '\139' "q\tv\d[7], \d[176]\tw\d[239], \r\d[139]Y\d[161], C\d[139]W2"
06:16 audreyt hrm.
06:19 SamB huh, looks good to me!
06:19 SamB I guess evalbot doesn't work right?
06:19 audreyt yeah. I think it's because %ENV<> doesn't handle high bits
06:21 mauke_ joined perl6
06:21 audreyt ?eval 1
06:21 evalbot_12780 1
06:21 audreyt ?eval "煙管"
06:21 evalbot_12780 decodeUTF8: bad data: '\161' "Y\d[161]"
06:21 audreyt yup, that's it.
06:22 zgh joined perl6
06:25 gaal ?eval "this is not a lugged steel tube of a cuspy Rivendell bike"
06:25 evalbot_12780 "this is not a lugged steel tube of a cuspy Rivendell bike"
06:25 svnbot6 r12781 | audreyt++ | * ENV values are now assumed to be encoded in UTF8.
06:28 TimToady mountains have handrails, swamps have lotus flowers, you don't see a pipe, so you see a character string?
06:29 audreyt "On the mountain is the mulberry tree ; In the marshes is the lotus flower."
06:30 onsen_ joined perl6
06:30 audreyt # http://www.afpc.asso.fr/wengu/w​g/wengu.php?l=Shijing&amp;no=84
06:31 svnbot6 r12782 | audreyt++ | * oops, typo.
06:34 TimToady I suppose a mulberry is "rail plant", meaning you make a walking stick from it, or some such.
06:35 mauke_ is now known as mauke
06:37 TimToady no, I'm just misreading the character, railing is only if you combine it with "hand"...
06:37 TimToady "support plant" is more like it, or "help plant"...
06:38 Khisanth joined perl6
06:39 audreyt yup
06:39 TimToady but mulberry is 桑 in my dictionary.
06:39 TimToady durn poets, always using fancy words...
06:40 audreyt 扶蘇 means the same as 扶桑
06:40 audreyt which means the same as 桑...
06:41 TimToady my dict gives different pronunciations, or is that dialectical?
06:43 audreyt different pronounciations
06:43 TimToady agentzh: I'm not going to have time to hack on the smoke uploader to send the .yml along with, so if you want to work on that, feel free.
06:43 audreyt 扶蘇 is -u and 扶桑 is -ang
06:43 audreyt the poet is constrained by rhyming
06:43 audreyt because the original third sentence is "不見子都", which only rhymes with 扶蘇.
06:43 TimToady both tone 1
06:44 audreyt yup
06:44 TimToady one of these decades I'm gonna have to get serious about my Mandarin...
06:45 drrho joined perl6
06:46 onsen joined perl6
06:48 evalbot_12782 joined perl6
06:49 audreyt ditto for me re Japanese...
06:49 audreyt ?eval "子都"
06:49 evalbot_12782 decodeUTF8: bad data: '\229' decodeUTF8: bad data: '\173' decodeUTF8: bad data: '\144' decodeUTF8: bad data: '\233' decodeUTF8: bad data: '\131' decodeUTF8: bad data: '\189' "\d[229]\d[173]\d[144]\d[233]\d[131]\d[189]"
06:49 ayrnieu easiest way to force seriousness is to start paying someone to help you, probably.  Also, get a dictionary from www.pleco.com , and consult http://www.bokee.com/ (http://podcast.bokee.com/ has much awesomeness)
06:49 audreyt cool, at least it doesn't drop data anymore
06:49 lambdabot Title: 博客网-Bokee.com-ä½ æˆ‘çš„ç½‘ç»œ
06:50 xinming ?eval "子都"
06:50 evalbot_12782 decodeUTF8: bad data: '\229' decodeUTF8: bad data: '\173' decodeUTF8: bad data: '\144' decodeUTF8: bad data: '\233' decodeUTF8: bad data: '\131' decodeUTF8: bad data: '\189' "\d[229]\d[173]\d[144]\d[233]\d[131]\d[189]"
06:50 xinming ?eval "你好"
06:50 evalbot_12782 decodeUTF8: bad data: '\228' decodeUTF8: bad data: '\189' decodeUTF8: bad data: '\160' decodeUTF8: bad data: '\229' decodeUTF8: bad data: '\165' decodeUTF8: bad data: '\189' "\d[228]\d[189]\d[160]\d[229]\d[165]\d[189]"
06:52 audreyt ?eval "狂且"
06:52 evalbot_12782 "\d[29378]\d[19988]"
06:52 audreyt yay
06:52 christo joined perl6
06:53 audreyt ?eval "一二三".chars
06:53 evalbot_12782 3
06:55 audreyt ?eval q【Some strange quotes】
06:55 onsen_ joined perl6
06:55 evalbot_12782 "Some strange quotes"
06:55 audreyt excellent.
06:56 audreyt ?eval 1|2
06:56 evalbot_12782 (1 | 2)
06:56 TimToady 'druther see it default to \x than \d
06:56 TimToady or is that something hardwired into Haskell?
06:56 audreyt it's not
06:56 audreyt haskell uses the "\29378" form
06:56 audreyt which is invalid :)
06:57 TimToady yay
06:57 TimToady actually, I'd rather see the 狂且 form...
06:57 audreyt test for isPrint?
06:58 TimToady I've also been tempted to sneak ␤ in inplace of the newline, but wasn't sure how irssi would treat a spaceless long line...
06:59 TimToady well, now that today is
07:00 audreyt trying isPrint
07:00 TimToady tomorrow, I'd better go to bed.
07:00 audreyt sleep well :)
07:00 audreyt ...and don't let bed pugs bite
07:02 TreyHarris oh dear... you have bedpugs?
07:03 audreyt s/which, because the list is in scalar context/which, because the list is assigned to a scalar/
07:04 audreyt is perhaps more accurate... (:= wouldn't Array-isy it)
07:05 TreyHarris how so?  isn't it in scalar context?
07:05 TimToady question is, whether ($a, $b) := (1,2) dwyms?
07:06 audreyt it is, but "scalar context" alone doesn't Array-ify a list
07:06 audreyt that works, because there's an implicit : and \ on both ends, iirc
07:06 audreyt sub f ($x) {}    f (1,2);
07:07 audreyt is where it's scalar context but not scalar assignment
07:07 TimToady yeah, I guess you get one paren set free anyway
07:07 audreyt and therefore no Arrayification is performed
07:08 TimToady right, it's f((1,2),3) that does f([1,2],3)
07:08 TimToady if sub f ($x, $y)
07:08 TreyHarris urrrr.  i know i read this in synopses, but my mind's addled and i'm not remembering nor finding it quickly... what's the difference between ($x, $y) = (1, 2) and ($x, $y) := (1, 2)?
07:08 audreyt TimToady: but does it? I thought $x will get the List
07:09 audreyt and the Array(mutable)ness only happens on scalar=
07:09 audreyt not any form of :=
07:09 TreyHarris ?eval my ($x, $y) = (1, 2); <<$x $y>>.say
07:09 evalbot_12782 is now known as evalbot_12783
07:09 evalbot_12783 OUTPUT[2 ] Bool::True
07:09 TreyHarris ?eval my ($x, $y) := (1, 2); <<$x $y>>.say
07:09 evalbot_12783 OUTPUT[2 ] Bool::True
07:09 TreyHarris hrm
07:09 TreyHarris ?eval my ($x, $y) := (1, 2); [<<$x $y>>].say
07:09 evalbot_12783 OUTPUT[1 2 ] Bool::True
07:09 TreyHarris ?eval my ($x, $y) = (1, 2); [<<$x $y>>].say
07:09 evalbot_12783 OUTPUT[1 2 ] Bool::True
07:10 TimToady well, it gets listified, even if not to the extent that [...] does...
07:10 audreyt right...
07:12 audreyt clarified that, and the grammat nit, as r11509
07:12 audreyt to S02.
07:12 TimToady k
07:13 TreyHarris ?eval (1, 2).say
07:13 evalbot_12783 OUTPUT[12 ] Bool::True
07:14 TreyHarris ?eval <1 2>.say
07:14 evalbot_12783 OUTPUT[12 ] Bool::True
07:14 TimToady TreyHarris: = is defined to work very much like Perl 5's assignment, including copy semantics.  := is the new P6 binding semantics like parameter binding.  = is mostly discussed in S02, the := and binding are kinda scattered around.
07:14 TreyHarris ?eval my ($x, $y) = (1, 2); <<$x $y>>.say
07:14 evalbot_12783 OUTPUT[2 ] Bool::True
07:14 TreyHarris why?
07:15 TimToady ?eval my ($x, $y) = 1,2; <<$x $y>>.say
07:15 TreyHarris TimToady: yes, i know about :=, but I specifically wondered about the difference between := (1, 2) and = (1, 2), since they're both values on the RHS
07:15 evalbot_12783 OUTPUT[2 ] Bool::True
07:15 TimToady looks like a bug to me.
07:15 TreyHarris ok, i'll write a test
07:16 TreyHarris but i guess my smoke has to finish before i save it lest it give weird results...
07:16 TimToady the main difference between := and = on the right is that = is always only completely list or scalar context
07:16 TimToady whereas := can provide some mixture, like a sub signature can.
07:17 TreyHarris ah, right.  so in that particular example there was no reason to use := rather than =
07:18 TimToady arguably, though, if you bind to immutable values, you then can't modify them without at least undoing the binding.
07:19 TreyHarris right
07:19 TreyHarris ?eval 1 = 2
07:19 evalbot_12783 Error: Can't modify constant item: VInt 1
07:19 TreyHarris ?eval $x := 1; $x = 2
07:19 evalbot_12783 Error: Bind to undeclared variable: "$x"
07:19 TreyHarris ?eval my $x := 1; $x = 2
07:19 evalbot_12783 Error: Can't modify constant item: VInt 1
07:19 TimToady right, you can foo(1) even if the parameter is rw, as long as you don't actually w it.
07:20 TimToady though I can argue it the other way too.
07:20 TreyHarris yes. :-)  stricture?
07:20 TimToady at least if the declaration is visible at compile time.
07:20 TreyHarris that's wild....
07:20 TreyHarris ?eval my ($x, $y) = (1,2)
07:20 evalbot_12783 (\1, \2)
07:20 audreyt the <<$a $b>> bug is fixed
07:20 TreyHarris oh.
07:21 TreyHarris my pugs is printing "(#<Scalar:0x42469a8>, #<Scalar:0x42469c0>)" when i do that last
07:22 audreyt pugs> my ($x, $y) := (1, 2)
07:22 audreyt (#<Scalar::Const:0x12cd018>, #<Scalar::Const:0x12cd010>)
07:22 audreyt pugs> my ($x, $y) = (1,2)
07:22 audreyt (#<Scalar:0x12fba8c>, #<Scalar:0x12fbaa0>)
07:22 audreyt ideally the Scalar::Const will go away
07:22 audreyt and replaced by UInt
07:22 audreyt I mean Int
07:23 TreyHarris ok, good
07:25 onsen joined perl6
07:27 audreyt ?eval my ($x, $y) = 1,2; <<$x $y>>.say
07:27 evalbot_12783 OUTPUT[2 ] Bool::True
07:27 audreyt hm, still rebuilding r12784
07:29 TreyHarris oh, svnbot6 is gone
07:29 audreyt ?eval my ($x, $y) = 1,2; <<$x $y>>.say
07:29 evalbot_12783 is now known as evalbot_12784
07:29 evalbot_12784 OUTPUT[12 ] Bool::True
07:30 TreyHarris yay
07:32 audreyt svnbot6 syntax errored out ;)
07:32 audreyt fixed
07:33 TreyHarris agentzh: the synopses on feather are out of date.  at least S02 is, by almost two weeks
07:33 TreyHarris oh, he's not here
07:34 carrumba joined perl6
07:34 svnbot6 joined perl6
07:35 audreyt a simple :name{foo} change took 4 hours to settle down...
07:39 TreyHarris do you feel like stability is getting harder lately?
07:40 kane-xs joined perl6
07:40 xinming audreyt: what the stage of making the self-hosting perl 6?
07:40 onsen_ joined perl6
07:42 audreyt TreyHarris: mostly it's the unforseen consequences that shows up in t/ and examples/
07:42 svnbot6 r12787 | lwall++ | more fixing s:foo{ and m:foo{
07:42 nothingmuch joined perl6
07:42 audreyt TreyHarris: and yeah, because the sheer number of them compared to, say, 1 year ago, it's steadily more work to fix them
07:43 audreyt xinming: not sure I understand..
07:45 xinming hmm, I think I wonder how many percentage of pugs self-hosting is finished. v6 can parse the sainty test, Does it mean the self-hosting perl 6 (with many bugs is ok >_<) can be out in this christmas?
07:46 xinming v6.pm
07:46 audreyt well, that question amounts to asking whether v6/v6-Compiler/ can take over perl5/Pugs-Compiler-Perl6/
07:47 audreyt by this christmas; I'm not qualified to answer that... try fglock :)
07:47 TimToady audreyt: why is all_examples.t disabled?
07:47 audreyt is it?
07:47 TimToady svn blames you.  say "finito"
07:48 audreyt ah. sorry. was debugging
07:48 TreyHarris fglock's making lots of progress lately from the svn logs... but like audreyt, i'm sure the closer the goal gets, the harder it'll get.  hopefully it's not xeno's paradox though
07:48 audreyt fixing
07:48 audreyt fixed
07:49 audreyt r12788.
07:49 TimToady k, that should take my failures back down into the 600s
07:49 audreyt 573 here
07:50 TimToady sleep smokin' &
07:50 svnbot6 r12788 | audreyt++ | * oops, miscommitted a debugging all_parse.t
07:51 audreyt g'nite :)
07:51 * audreyt reboots to freebsd
07:54 onsen__ joined perl6
07:54 TreyHarris ?eval (1, 2) === <1 2>
07:54 evalbot_12784 is now known as evalbot_12788
07:54 evalbot_12788 Bool::False
07:57 TreyHarris 11466 test cases: 10790 ok, 676 failed, 1451 todo, 815 skipped and 79 unexpectedly succeeded
08:02 audreyt TreyHarris: if you have some cycles, can you help unTODO the 79?
08:02 audreyt it involves looking at smoke.html, find yellow boxes, and go in to edit the test files to take the :todo away.
08:04 TreyHarris audreyt: was already underway :-)
08:05 audreyt ooh :)
08:05 audreyt TreyHarris++
08:06 audreyt bbiab
08:20 pdcawley joined perl6
08:41 ruoso joined perl6
08:51 kattana_ joined perl6
08:52 ofer0 joined perl6
09:24 svnbot6 r12789 | trey++ | Added test that <<$x $y>> interpolates correctly
09:25 b_jonas joined perl6
09:44 ruz joined perl6
09:53 onsen joined perl6
09:59 onsen_ joined perl6
10:06 buetow joined perl6
10:25 marcus_ joined perl6
10:32 lumi joined perl6
10:32 svnbot6 r12790 | audreyt++ | * On FreeBSD, gmake must be used to build Judy, not make.
10:54 svnbot6 r12791 | trey++ | Un-todoing 77 tests that now pass.  There are still
10:54 svnbot6 r12791 | trey++ | a couple passing todos that are inside loops.
10:58 TreyHarris and with that, i'm too bed
10:58 TreyHarris s/oo/o/
11:00 audreyt thanks and good night :)
11:03 svnbot6 r12792 | audreyt++ | * Tighten up a few source nits that trips GHC 6.5-HEAD.
11:05 Juerd I'm glad Perl minor versions don't need code changes in everything
11:05 audreyt 6.4 to 6.6 is a major version, though
11:06 audreyt comparable to, say, 5.6 to 5.8
11:06 Juerd I call that minor :)
11:06 Juerd major.minor.revision
11:06 audreyt er, 5.8 was not much better then...
11:06 Juerd Maybe my jargon is off
11:06 audreyt no, your jargon was standard
11:06 audreyt I had to fix a large number of perl 5.6 programs for 5.8
11:07 audreyt though 5.10 looks like it'd be much less painful.
11:08 Juerd Hm
11:08 Juerd My upgrade was painless
11:09 audreyt ...your programs were largely in ASCII, dealing largely with ASCII data only, I bet.
11:09 Juerd Indeed
11:09 Juerd Well, iso-8859-1
11:09 Juerd But that's all the same as far as Perl cares
11:09 audreyt which is a bug, but yeah.
11:10 Juerd :)
11:10 Juerd It's an unpleasant feature the way I see it
11:10 audreyt lathos, jhi and friends optimized for making your life painless
11:10 Juerd Perl 6 has Str always be utf-8, right?
11:10 audreyt when they designed the 5.8 unicode model.
11:10 audreyt which made my life rather painful :)
11:10 audreyt Str is always unicode, and the preferred unicode encoding is utf8, yes.
11:11 Juerd Can I request that the default encoding be the bitwise negation of utf8, instead of utf8 itself?
11:11 Juerd That way, forgetting to encode your output at least is a bug you easily notice, instead of ignore for a few years and then get bitten by
11:11 audreyt much better is that mixing Buf and Str gives raise to fail"".
11:12 audreyt same as per the perl5 encoding::warnings module
11:12 audreyt which, imvvho, should've been the default anyway.
11:12 Juerd Outputting happens in bufs, I hope? With some conversion specified on the filehandle, or otherwise an exception?
11:12 audreyt exactly.
11:13 audreyt IO entities deal in Buf, and only gives/takes Str when there are encoding information available to them.
11:13 Juerd That's great.
11:13 Juerd Then I drop my request :)
11:14 audreyt pugs currently just pretends the utf8 encoding is impicitly irrevocably given everywhere, but that'll change once we have at least one other encoding available :)
11:14 audreyt woot :)
11:14 Juerd It was based on the Perl 5 notion of having a single string type
11:14 Juerd But I forgot that we have bufs now.
11:14 audreyt *nod*
11:14 audreyt well actually perl5 also has Buf and Str
11:14 audreyt it's just they are autopromoted
11:14 audreyt bothways
11:14 audreyt using *asymmetrical* encodings
11:15 Juerd I saw that Pugs doesn't know ==>, but I think I used it before. Is this regression, or have I not used it before?
11:15 audreyt (Buf->Str was using latin1, and Str->Buf was using utf8)
11:15 audreyt you have not used it before.
11:15 Juerd Okay
11:15 Juerd Your model of how Perl 5 has buf and str isn't entirely correct
11:16 b_jonas so it will be an error if you attempt to mix byte and char strings in any way?
11:16 Juerd buf->str could actually be utf8->latin1, as a result of several things
11:16 Juerd b_jonas: I really do hope so!
11:16 audreyt b_jonas: I'll see to it :)
11:16 Juerd b_jonas: Although - maybe bufs can have an encoding property
11:16 Juerd my Buf $foo :encoding<iso-8859-1>;
11:16 audreyt Juerd: "buf" in perl5 is SV with SVUTF8 off
11:17 audreyt and "str" in perl5 is SV with SVUTF8 on
11:17 b_jonas Juerd: I mostly think it's a good thing but I think it could have some problems as well
11:17 Juerd my Str $bar = "some text with only <256 characters"
11:17 Juerd ;
11:17 Juerd $foo = $bar  # autoconvert?
11:18 b_jonas like, when I just write $foo . " " . $bar in perl5, imagine that failing because " " is a byte string
11:18 audreyt Juerd: that's a thought.
11:18 * audreyt ponders Buf::Encoded
11:18 audreyt b_jonas: string literals are always unicode Str inperl6
11:19 audreyt as with perl5's "use utf8" in effect
11:19 b_jonas audreyt: then it's an error the other way
11:19 audreyt (which is a very weirdly named pragma.)
11:19 b_jonas when I just write $foo . " " . $bar and it fails because $foo and $bar are byte strings
11:20 audreyt right. you can't simply concat two byte buffers with a string without somehow let perl know how it should promote them
11:20 b_jonas anyway, I think if you have a variant of Buf which knows its encoding and it's fully supported (meaning you can do any operation with it and it keeps its encoding and doesn't get converted to utf8) then there's no need for a Str
11:20 b_jonas only that's very difficult to implement
11:21 b_jonas having everything encoded as utf8 simplifies lots of things
11:21 audreyt the thing is though, unless the encoding is a unicode encoding
11:21 audreyt (UTF8, UTF16, UTF32, GB18030)
11:21 audreyt then it's partial and you can put into it something that cannot be encoded into it
11:21 b_jonas yes, in some exotic encoding you can't even do index the easy way
11:22 audreyt er, well, for me s/exotic/everyday/, but yeah
11:22 b_jonas oh yes
11:22 audreyt I think it's far saner to simply allow Str operations on Str
11:23 audreyt and have buffers with attached encodings be able to convert in/out with Str
11:23 audreyt the way Juerd proposed
11:23 audreyt but there's no Buf.chars method
11:23 audreyt even when you know the encoding of it
11:24 masak I like the look of "s/exotic/everyday/", out of context. sounds like a great motto
11:24 b_jonas wouldn't it be possible to have some simple type for ascii-only string literals in the code that promote to Str or Buf as needed?
11:24 audreyt instead you need to coerce to Str using $buf.Str.chars
11:25 audreyt b_jonas: buffer literals? I think it's not too much ask for
11:25 b_jonas I'm not sure it's a good idea though
11:26 audreyt Buf("this is some buffer", :encoding<ascii>)
11:26 b_jonas "buffer literals"? do you mean some kind of exmplcit mark that marks a qquoted string as a buffer?
11:26 audreyt q:buf<ascii>"big moose"
11:26 b_jonas like, I don't know, qb"foo" or use bytes;
11:26 audreyt q:buf<big5>"now it's five moose"
11:27 audreyt and default to <ascii>
11:27 audreyt is perhaps sane.
11:28 b_jonas only, I guess, you'd also need a pragma to make every literal like that because it would be a pain to write that before every string
11:29 audreyt I guess qb"" isn't that bad
11:29 b_jonas I like qb because I can think of "bytes" instead of "Buf"
11:29 TreyHarris make ; make smoke
11:29 audreyt yup
11:30 TreyHarris reset
11:30 b_jonas but there already seems to make a :b flag for strings
11:30 TreyHarris tset
11:30 b_jonas string literals I mean
11:30 audreyt there is?
11:30 audreyt oh, backslash.
11:30 TreyHarris clear ; tset; stty sane ; clear ; reset
11:30 audreyt TreyHarris: you are not typing to the tty you think you are typing in...
11:31 TreyHarris oh!
11:31 TreyHarris lol
11:31 TreyHarris sorry
11:31 audreyt np :)
11:31 TreyHarris i couldn't figure out why nothing was happening.  focus was not following window activation :-)
11:31 audreyt I think the existing qb can be renamed to qe
11:31 audreyt q:escape qe
11:32 audreyt and then leave room to q:bytes q:b
11:32 b_jonas then you also need a name for the opposite I think
11:32 audreyt or q:buf q:b
11:32 b_jonas character strings
11:32 audreyt er no
11:32 audreyt strings are character strings
11:32 audreyt unless otherwise noted
11:32 audreyt via :b or otherwise
11:33 Juerd 13:16 < audreyt> Juerd: "buf" in perl5 is SV with SVUTF8 off
11:33 Juerd 13:17 < audreyt> and "str" in perl5 is SV with SVUTF8 on
11:33 Juerd Not really consistently.
11:33 b_jonas that's it, if I give a pragma to make all strings byte strings I might still want to make a character string literal
11:33 onsen joined perl6
11:33 Juerd It's possible to have the Str equivalent with the utf8 flag off, if there's no special character in it.
11:33 audreyt b_jonas: then you say q:!b/.../
11:33 b_jonas oh
11:34 b_jonas I see
11:34 Juerd The utf8 flag is therefor not a reliable thing to check. If it's on, you should certainly not output, but if it's off, it's not always needed to decode it -- it could actually be the *result* of decode() already.
11:35 audreyt $ perl -MDevel::Peek -MEncode -e 'Dump decode(ascii=>"x")'
11:35 audreyt SV = PV(0x8058610) at 0x8057148 REFCNT = 1 FLAGS = (TEMP,POK,pPOK,UTF8)
11:35 audreyt  PV = 0x805aec8 "x"\0 [UTF8 "x"]
11:35 audreyt that seems to work. not sure what case you are talking about
11:35 Juerd audreyt: If bufs have encodings, you could say that a filehandle that knows its encoding simply has a buf of that encoding internally that is used as a gateway. (virtually)
11:36 Juerd It may even be a simple way to implement it consistently in the beginning :P
11:36 audreyt Juerd: Str already is going to be a list of Buf
11:36 audreyt tagged with encoding info
11:37 audreyt but you can't get its encoding directly
11:37 Juerd audreyt: I was talking about a file with :utf8, properly utf8 encoded, with only latin1 chars in the first line. On readline, you get a non-utf8 bytestring, properly converted back into latin1. The 2nd line may be different yet.
11:38 audreyt I'm sorry, but latin1 chars in a utf8 encoded string
11:38 Juerd No, latin1-compatible chars
11:38 audreyt doesn't look like latin1 chars in an ascii string
11:38 Juerd They are properly utf8 encoded.
11:38 audreyt oh. then you mean ascii chars.
11:38 Juerd No, latin1
11:38 audreyt I'm thoroughly confused. example?
11:38 Juerd i.e. 2 bytes in the input, 1 byte in Perl's result.
11:39 Juerd Perl tries to be smart and use less memory, by decoding it into an octet string instead of utf8
11:39 Juerd This is no problem if you properly encode on output, though
11:39 Juerd Many people think that decode() always returns an utf8 string with flag on, and they get bitten by this. They think encoding isn't needed.
11:39 b_jonas I'm quite confused about perl5's character strings as well, and there are some points I still don't understand
11:39 Juerd But it is.
11:40 b_jonas especially with regexen
11:40 audreyt Juerd: wait, you mean my file is
11:40 audreyt C2 AA
11:40 Juerd "use utf8" also fixes it, but as a side-effect, not as a documented rule.
11:40 audreyt and then you open it up as :utf8
11:40 audreyt and then readline in perl5 returns something that's SVUTF8 off?
11:40 Juerd Yes, unless you "use utf8"
11:40 b_jonas but I think I know enough to consistently use either byte strings or byte strings with locales or character strings
11:41 Juerd I have to go; if you want, I'll send you an example tgz later today
11:41 audreyt er no.
11:41 audreyt $ perl -MDevel::Peek -e 'open FH, "<:utf8", "z"; my $line = <FH>; Dum
11:41 audreyt SV = PV(0x8058064) at 0x8057b50 REFCNT = 1 FLAGS = (PADBUSY,PADMY,POK,pPOK,UTF8) PV = 0x8059490 "\302\252"\0 [UTF8 "\x{aa}"]
11:41 audreyt $ hexdump -C z
11:41 audreyt 00000000  c2 aa
11:41 audreyt it's still with utf8 on.
11:41 audreyt (and I didn't have implicit "use utf8".)
11:42 audreyt perl 5.8.8, i386-freebsd-64int.
11:42 audreyt sure, send me the .tgz
11:43 audreyt because it's designed to not break in this case :)
11:44 audreyt in particular,
11:44 audreyt 13:39 < Juerd> Perl tries to be smart and use less memory, by decoding it into an octet string instead of utf8
11:44 audreyt I havn't seen this behaviour before. it's most common when people forgot to say "<:utf8".
11:44 audreyt in which case it's reading in Buf, not Str, as is the default.
11:47 plisk joined perl6
11:48 b_jonas I wonder what you think about this alternative syntax for comments: a # makes a comment until end of line if it's preceded by whitespace or newline, while a # _preceded_ by one or more brackets makes a long comment.
11:49 b_jonas I think it would be better then the current proposal of S02 because people usually put whitespace before comments anyway unless they're at bol,
11:49 audreyt {# .... #}
11:49 b_jonas but not always after a # sign
11:49 audreyt you mean like this?
11:49 b_jonas audreyt: possibly
11:50 b_jonas my point is that I don't like #{ as a bracketing comment
11:50 b_jonas because I want to comment out lines of code with a # with no space aftert
11:50 audreyt but we already said that you can do that at bol
11:50 b_jonas yes, but I don't always do it at bol
11:51 audreyt but if bol includes spaces after bol
11:51 b_jonas oh
11:51 audreyt would that make it work?
11:51 b_jonas I'm not sure
11:52 b_jonas then how would I use the current bracketing comment syntax to make a multi-line comment?
11:52 b_jonas do I have to add something before the #{ ?
11:52 b_jonas but I admit that the {# syntax looks sort of ugly
11:52 audreyt yup
11:53 audreyt say #{
11:53 audreyt  ...embcomment...
11:53 audreyt }# $x;
11:53 b_jonas yes, I see that but what if I want a long comment without a statement
11:53 b_jonas like, before the code
11:53 b_jonas #{
11:53 audreyt then you say
11:53 b_jonas ... lots of docs stuff
11:53 b_jonas }
11:54 audreyt =begin comment
11:54 audreyt ...
11:54 audreyt =end
11:54 b_jonas ah yes, pod syntax. tricky
11:54 audreyt as is currently practiced
11:55 b_jonas I still don't think I like the current rules for block comment.
11:56 audreyt the haskell 98 committee observed that comments are the most contentioustopic, followed by layout, syntax, grammar, and finally semantics.
11:57 elmex joined perl6
11:57 b_jonas there's yet another alternative of course but that's just as ugly:
11:58 b_jonas making # always a line comment and making a special macro similar to q that creates a block comment
11:58 audreyt obviously, q#<  .... >
11:58 b_jonas heh
11:58 b_jonas that's a wierd name
11:59 b_jonas the drawback of that is that it doesn't give a short syntax for short in-line comments
11:59 b_jonas which is an important thing
11:59 audreyt which was the original motivation.
11:59 b_jonas yes
11:59 b_jonas so let's just forget that alternative
11:59 audreyt (for multiline comments, S02 strongly suggests pod)
12:00 b_jonas and I guess you don't want to make /* a comment marker either
12:01 audreyt "you can use a macro for that" </standard-chant>
12:01 b_jonas surely
12:02 b_jonas and I can redefine what # does with a macro as well
12:02 audreyt right.
12:09 svnbot6 r12793 | audreyt++ | * Probe for threaded GHC should make sure that it runs instead
12:09 svnbot6 r12793 | audreyt++ |   of just compiles.
12:12 drbean joined perl6
12:15 svnbot6 r12794 | audreyt++ | * user-defined postfix now works again.
12:15 svnbot6 r12794 | audreyt++ | * also cleans up some unused imports and cases.
12:21 svnbot6 r12795 | audreyt++ | * take away another debug print from File::Find
12:24 onsen_ joined perl6
12:24 svnbot6 r12796 | audreyt++ | * hq9+: "subset of Str"
12:28 bpphillips joined perl6
12:41 theorbtwo joined perl6
12:48 foo\ joined perl6
12:55 jferrero joined perl6
12:56 wolverian audreyt, hey, feather's /usr/bin/pugs is pointing to nullspace. is that intentional?
13:02 audreyt no. investigating
13:12 mago joined perl6
13:18 iblechbot joined perl6
13:22 audreyt back now
13:23 xdg joined perl6
13:23 evalbot_12796 joined perl6
13:30 audreyt ?eval (1,2,3) »+« (4,5,6)
13:30 evalbot_12796 (5, 7, 9)
13:48 bpphillips joined perl6
13:49 vel joined perl6
13:51 Qiang joined perl6
13:51 svnbot6 r12797 | audreyt++ | * (minor) Test.pm: rewrite "unless" to ??!! to save a opcode.
14:04 svnbot6 r12798 | audreyt++ | * repair wizard.pl:
14:04 svnbot6 r12798 | audreyt++ |     .foo
14:04 svnbot6 r12798 | audreyt++ |         must be written (in methods) as
14:04 svnbot6 r12798 | audreyt++ |     self.foo
14:04 svnbot6 r12798 | audreyt++ |     if foo(){...}
14:04 svnbot6 r12798 | audreyt++ |         must be written as
14:04 svnbot6 r12798 | audreyt++ |     if foo() {...}
14:07 svnbot6 r12799 | audreyt++ | * more fix for rx:P5{} into rx:P5//.
14:07 svnbot6 r12800 | audreyt++ | * Put IArray into the IO monad, not the STM monad;
14:07 svnbot6 r12800 | audreyt++ |   a STM-friendly array will need an explicitly-defined
14:07 svnbot6 r12800 | audreyt++ |   data structure, most likely.
14:11 mako132 joined perl6
14:18 Juerd audreyt: shadow must be readable by www-data because of mail/irc authentication
14:19 Juerd I will restore that, now that people can no longer use PHP
14:19 audreyt Juerd: gotcha.
14:19 Juerd And will separate apache by running two different servers concerns soon.
14:19 audreyt 'k
14:19 Juerd s/concerns//
14:19 Juerd (huh)
14:21 onsen joined perl6
14:22 weinig joined perl6
14:31 audreyt cmarcelo: I just finished the final review of your SoC. congrats. :)
14:32 Juerd What was the project?
14:34 audreyt Judy bindings
14:34 Juerd I see
14:34 audreyt the thing that made Pugs really fast :)
14:35 audreyt ?eval my @x[999999] = 1; @x.push(1); @x[-1]
14:35 evalbot_12796 is now known as evalbot_12800
14:35 evalbot_12800 \1
14:35 audreyt ?eval my @x[99999999] = 1; @x.elems
14:35 evalbot_12800 100000000
14:35 audreyt try that in perl5 :)
14:36 * clkao giggles
14:36 clkao is there perl5 bindings yet?
14:36 audreyt yes
14:36 audreyt Tie::Judy
14:36 audreyt but it's missing JudyHs, but that's fine
14:37 audreyt oh, it's missing judy arrays as well.
14:37 audreyt so just StrMap.
14:37 b_jonas audreyt: I tried, it takes 0m0.526s
14:37 audreyt b_jonas: wow.
14:37 b_jonas it's fast because it doesn't have to create scalars for the intermediate elements
14:37 audreyt $ perl -e 'my @x; $x[99999999] = 1'
14:37 audreyt Out of memory during "large" request for 536875008 bytes, total sbrk() is 98304
14:38 audreyt yup. i.e. it's sparse
14:38 Limbic_Region joined perl6
14:38 b_jonas ah, if I my @x it, it takes 0m1.436s
14:38 audreyt Limbic_Region: welcome back
14:39 Limbic_Region thanks - Juerd probably thinks I was stalking him
14:39 Limbic_Region in reality, I just needed my #perl6 fix
14:40 b_jonas audreyt: is it ulimited down so that it can't eat the whole memory?
14:40 audreyt not here
14:40 audreyt so maybe a freebsd thing
14:41 penk joined perl6
14:41 Limbic_Region audreyt - I couldn't tell from the recent checkins - is debug no longer needed for Win32 on File::Find?
14:43 audreyt Limbic_Region: in fact... I'm on freebsd now, and cannot test
14:43 b_jonas this is on linux, and perl allocates 400M of memory with mmap (because that's how glibc malloc handles large chunks)
14:43 svnbot6 r12801 | audreyt++ | * some t/ unbreaking using new syntax.
14:43 svnbot6 r12801 | audreyt++ |   (note that "&f = {...}" was erroneously allowed; now must always use :=)
14:43 svnbot6 r12802 | audreyt++ | * all_parse.t: use pass() and flunk() for clearer meaning
14:43 audreyt can you see if r12802 renders the bug away?
14:43 audreyt b_jonas: ah. it's plain old libc here, so the behaviour will differ
14:43 audreyt (no, r12802 is not the fix itself)
14:44 b_jonas yes, that's normal. freebsd doesn't have gnu libc
14:45 b_jonas I still think it should be able to allocate 400M of memory and address space though
14:45 b_jonas I mean freebsd
14:46 * Limbic_Region tried to use pass() and flunk() but couldn't get it to work quite right
14:46 Limbic_Region quite possible though that non-related problems were masking the issue
14:46 Limbic_Region I am currently building 12799
14:46 svnbot6 r12803 | audreyt++ | * more test unbreaking
14:47 TimToady I'm building r12800 while packing...
14:47 Limbic_Region will svn up and build again upon completion - check .debug as well as list the examples that are still failing (locally)
14:50 Limbic_Region audreyt - did you expect your change to hq9+ (plus) to result in the example parsing or just a syntax error to fix but still not passing?
14:52 DaGo joined perl6
14:57 audreyt still not passing
14:59 Limbic_Region k
14:59 Limbic_Region if this machine had another 1/2 gig of memory I think it would not struggle so hard with the builds
14:59 Limbic_Region Jean's new laptop flies through
15:05 b_jonas (you need so much memory for hq9+?)
15:09 Limbic_Region b_jonas - no, building pugs
15:09 Limbic_Region I can get through it in one pass (thanks audreyt) but it is s-l-o-w
15:10 penk left perl6
15:11 audreyt it's certainly memory bound
15:11 marmic joined perl6
15:11 svnbot6 r12804 | audreyt++ | * Repair scan metaops: ([\+] 1, 2, 3) is now (1,3,6) again.
15:11 eden_c joined perl6
15:14 hexmode joined perl6
15:14 eden_c left perl6
15:15 bernhard joined perl6
15:15 kanru joined perl6
15:28 onsen_ joined perl6
15:29 elmex joined perl6
15:32 * Limbic_Region waits patiently as the second compile nears completion
15:32 integral anyone have any ideas on what would make the pugs link fail with undefined symbol errors for lots of _Judy* things?
15:33 PerlJam The judy libs weren't compiled?  :)
15:33 integral well both judy and HsJudy are definately compiled :)
15:33 integral But I have no idea how the cabal magic to get it to link works :-/
15:34 PerlJam Are you *sure* they're compiled?  I had a problem once where compilation failed but and empty output file was produced anyway, thus fooling the make system.  (not in pugs,but some other project)
15:34 integral I've poked them about a bit and I can't see any error messages from them
15:35 integral At the top of the pugs part of the build I see it finding the judy stuff with "configure: Dependency HsJudy-any: using HsJudy-0.1"
15:35 Limbic_Region anytime I have Judy problems I look at third-party and if blindly removing files and directories there doesn't help, I make realclean
15:35 integral Is there some way to see the actual link command used?
15:35 integral ah, realclean is more clean than distclean?
15:37 Limbic_Region realclean is definately more than clean
15:37 Limbic_Region never use make install so never use distclean
15:37 integral what's make install got to do with distclean?
15:38 Limbic_Region isn't make dist in preparation for make install
15:38 Eimi joined perl6
15:39 * Limbic_Region is think p5 here when you are preparing to upload to CPAN for others to make install that is
15:39 integral I always though the idea of make distclean was to get back to the state after untarring the distribution tarball
15:39 Limbic_Region *shrug* - the Makefile is right there - should be easy enough to see what it does
15:39 * Limbic_Region should have said he avoids anything he doesn't use/touch
15:43 b_jonas if you want to know what a make target does, you can also 'make -n target' not only read the makefile
15:46 pasteling "Limbic_Region" at 129.33.119.12 pasted "audreyt++ debug still necessary for File::Find - here are the examples that are still failing on my machine" (23 lines, 702B) at http://sial.org/pbot/19320
15:46 * Limbic_Region wanders off to lunch
15:49 weinig is now known as weinig|bbl
15:54 audreyt hm, -CPIR appears bitrotten
15:54 * audreyt ponders whether it's worth fixing
15:55 audreyt oh well. sleep first. see you tomorrow...
16:06 onsen joined perl6
16:06 b_jonas see you audreyt
16:10 Limbic_Region sleep well audreyt
16:17 TimToady whoa! 487.  Now I can go get on the airplane happy.
16:17 TimToady offline for a day or two...
16:17 TimToady &
16:19 Limbic_Region are alternate delimiters for p5 regexen supposed to work?  m:P5{foo} vs m:P5/foo/
16:20 b_jonas Limbic_Region: I think you may need a space before the bracket in that case
16:21 * Limbic_Region kisses b_jonas
16:21 b_jonas I knew it by accident only, I've just read the relevant part of the synopsis
16:22 Psyche^ joined perl6
16:22 svnbot6 r12805 | Limbic_Region++ | Added space before alternate brace delimiter in regex b_jonas++
16:26 Limbic_Region b_jonas did you happen to come across the proper way to undef a variable?
16:27 Limbic_Region ?eval my $foo = 'hello'; undef $foo
16:27 evalbot_12800 is now known as evalbot_12805
16:27 evalbot_12805 Error:  unexpected "$" expecting comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
16:28 Limbic_Region ?eval my $foo = 'hello'; $foo = undef;
16:28 evalbot_12805 \undef
16:28 * Limbic_Region wonders if they both shouldn't be considered correct
16:28 fglock joined perl6
16:31 svnbot6 r12806 | Limbic_Region++ | hangmanbot.pl changed undef $game to $game = undef though I think both should work?
16:32 Limbic_Region hrrm - apparently undefine $game works where as undef does not
16:32 * Limbic_Region reverts his fix for the alternative
16:33 Teratogen I think that Perl 6 should be designed so that it could be certified for use in medical devices, nuclear power stations, avionics, etc., even though it may be too slow for these applications
16:33 Teratogen juat my own personal apocalypse
16:34 Psyche^ is now known as Patterner
16:34 svnbot6 r12807 | Limbic_Region++ | hangmanbot.pl s/undef/undefine/g in undef $game
16:37 b_jonas Teratogen: don't be riddiculous. you'd need at least a completely different garbage collector, balanced trees instead of hashes, and an OS to run it under for that
16:38 b_jonas and probably lots of other things too I haven't even heared of
16:40 xerox joined perl6
16:40 svnbot6 r12808 | Limbic_Region++ | Insert space before @ in print@[...
16:41 Teratogen just a thought =)
16:41 Teratogen parrot could be the OS
16:41 svnbot6 r12809 | Limbic_Region++ | Insert space before $ in print$x;
16:42 Teratogen or virtual machine, if you will
16:43 b_jonas parrot could be the virtual machine but you still need an OS. we're not in the 80s when computers had no OS.
16:43 svnbot6 r12810 | Limbic_Region++ | Insert space before @ in @l[int((@l-1)/2)..int(@l/2)]
16:44 amnesiac joined perl6
16:44 b_jonas You have complicated hardware in today's computers.
16:46 Teratogen heh, entire oil drilling platforms have been implemented using TCL
16:47 Teratogen err, automated
16:51 [particle] well, just because it's done doesn't mean the language was designed to support it :)
16:51 svnbot6 r12811 | Limbic_Region++ | Added spaces to get compiler to pass - revisiting my be warranted as some may have been parse bugs
16:53 Teratogen true
16:54 Limbic_Region YAY audreyt - in case you backlog, only 7 failing examples now.  2 of which are really p5 code and 2 are because of unimplemented features (I think)
16:58 justatheory joined perl6
17:04 Teratogen hmm, if a=>b creates a "Pair object" can't we now have builtin complex math?
17:08 Teratogen well anyway it would be nice to have builtin complex math =)
17:10 Limbic_Region Teratogen - you planning on using Random Hermatian Matrices to solve the Riemann Hypothesis?
17:11 Teratogen oh there is a builtin Complex type
17:11 Teratogen interesting.
17:11 [particle] sure would be nice to have the url in the S29 actually be a hotlink to the pugs doc
17:11 Daveman joined perl6
17:12 * Teratogen is grazing through the design synopses
17:15 b_jonas I hope complex numbers will actually use the complex number functions from libc which are optimized
17:15 b_jonas and won't just reimplement them in perl6 or parrot or C.
17:18 Teratogen Perl 5 has a tradition of reimplementing functions like printf, etc.
17:18 b_jonas but that's different
17:18 obra Perl6 has a tradition of being portable to platforms with insanely broken printf ;)
17:19 b_jonas a cpu or c library can have explicit support for complex numbers and may even calculate complex trig functions more precisely and faster then anyone else
17:19 b_jonas it could still have slow replacement functions in case the c library doesn't have those functions
17:20 Teratogen I wonder if the old VAX instruction set had assembly language ops for complex numbers
17:20 Teratogen it was the ultimate CISC cpu design
17:21 Teratogen I don't see anything in the synopses about how a Complex data would be formatted if you printed it
17:21 Teratogen but then I am a Perl 6 noob
17:22 b_jonas I just can't help noticing how complex numbers are supported only by a pure-perl module in perl5 and a pure-ruby module in ruby
17:23 b_jonas however as python has builtin complex numbers surely perl6 must have them too
17:23 ingy seen gaal
17:24 b_jonas Teratogen: I guess it has to be something like (realpart,imagpart)
17:24 b_jonas that's the only format that doesn't take sides between mathematician and physician conventions (i versus j)
17:24 ajs b_jonas: I think theh implementation is more of an issue for Parrot and the other back-ends. Perl 6 will provide what support they do (for example, in v6.pm, it will probably use the P5 complex numbers module(s))
17:26 b_jonas quite possible. then I hope parrot will use the efficent functions from libc
17:26 ajs As for string output formatting, I imagine that it will have a knob somewhere.
17:26 Teratogen (realpart,imagpart) seems reasonable
17:26 * b_jonas imagines 'use complex "i";'
17:26 b_jonas :)
17:27 Teratogen or maybe it will just be [real,imag]
17:27 ajs Actually, i will likely be exported by Math::Basic alone with the rest of the happy gang of math constants.
17:27 ajs er "along with"
17:27 Teratogen i would become [0,1]
17:27 b_jonas c++ uses (real,imag) I think
17:28 ajs And the more common usage would be "use Math::Basic :constants"
17:29 Teratogen and you could have a special formatting thingie in printf that prints [a,b] as a+bi
17:29 Teratogen if you prefer to output complex numbers in that notation
17:29 b_jonas the problem with that format is that it's more difficult to read back
17:29 b_jonas you may need some delimiter around it
17:32 orbit_ joined perl6
17:32 orbit_ is now known as orbit
17:39 ajs Python, it seems, has no format string for complex. That's odd. http://docs.python.org/lib/typesseq-strings.html
17:40 ajs I'm not sure what character to steal for complex... anyone have thoughts?
17:41 ajs C, c, are taken. as are x and X. p is taken by P5, and should be an error in p6
17:41 Aankhen`` joined perl6
17:41 svnbot6 r12812 | markstos++ | add not that "contend" does not work in pugs  6.2.12 (r12811)
17:42 [particle] ajs: how about m/M ?
17:42 ajs checking 3 sources to see if it's used by anyone...
17:43 [particle] i think that's good in perl/python
17:43 ajs m it is
17:43 ajs Was checking glibc, perl5 and python
17:44 [particle] it'll be great to have native complex sprintf formatting
17:44 ajs So, what is m vs M? Signed vs. unsigned? Does it make sense to talk about unsigned complex?
17:44 [particle] no
17:44 ajs so just m, I would think
17:45 [particle] maybe it's just the case of e?
17:45 ajs eh?
17:45 [particle] for exponential format
17:45 [particle] of complex floats
17:45 [particle] naw, you'd need a different letter for that
17:46 ajs Hrm...
17:46 [particle] like mM are same, nN are exp format
17:46 ajs this is starting to sound like a modifier on e,f,g
17:46 ajs not a stand-alone
17:46 ajs so %me or %mE
17:46 ajs Does that make sense?
17:47 ajs and I guess %md too, if you want to truncate to integer parts
17:47 [particle] yep, you beat me to the last bit
17:47 ajs Ok, adding it to Functions.pod now
17:47 [particle] how about real-only or imaginary-only ?
17:48 ajs I think for that you just do something like sprintf "%f", $i.real;
17:48 [particle] yeah, that probably doesn't belong in sprintf.
17:55 orbit left perl6
17:55 ajs Is %md enough, or do we need somethig like %m[d,f] (which would increase the complexity of format strings substantially)
17:56 ajs Hrmm.... well, I'll say it's %m<directive> for now, and we can change it later
17:56 ajs I don't want to make too much policy in the documentatio
17:56 ajs n
17:56 araujo joined perl6
17:56 [particle] well, how will %md expand?
17:57 [particle] will a comma be forced?
17:57 araujo hello!
17:57 ajs I'm not specifying that just yet... I'll wait and see what the realities of implementation are
17:57 [particle] ok, then simple++
17:57 ajs indeed
17:58 [particle] howdy araujo
17:59 ajs Thanks for the idea on m. That was a good call.
17:59 araujo hi [particle] :-)
17:59 svnbot6 r12813 | ajs++ | Nicked modifiers documentation from P5 and added complex number handling
17:59 [particle] anytime, ajs_home
17:59 [particle] err...
17:59 ajs er?
18:00 [particle] ETOOMANYAJS
18:00 ajs heh
18:00 ajs I'm me. It's OK
18:00 ajs I find myself saying that in the shower.... kind of unsettling, now that I think about it ;)
18:01 fglock araujo: you are in Venezuela, right? any chance you show up in the next hackathon? http://www.perl.org.br/twik​i/bin/view/YAPC/YAPCSA2006
18:01 lambdabot Title: YAPCSA2006 &lt; YAPC &lt; TWiki
18:03 araujo hello fglock
18:03 araujo fglock, right , let me check it
18:04 PolettiX joined perl6
18:04 audreyt Limbic_Region: the more I think your suggestion re PCR, the more it makes sense.
18:04 Teratogen wow did I actually participate in a modification of Perl 6?
18:05 Teratogen I feel honored =)
18:05 Limbic_Region audreyt - well, I would like to be able to help more with the implementation
18:05 audreyt Limbic_Region: to mysleepy mind, I think this scenario makes sense
18:05 Limbic_Region did you see that we are down to 7 bad examples and 4 of which are explainable?
18:05 audreyt - Enable Pugs.Embed.Perl5 for VanillaPerl (should already work and/or is trivial)
18:05 audreyt Limbic_Region: yes :)
18:06 audreyt - Backport the PEP5 embedding flags to ActivePerl (involves tricking $Config{cl} mostly)
18:06 Limbic_Region which reminds me - I don't think $! is being set properly
18:06 audreyt - Enable Perl5 embedding on _all_ builds
18:06 Limbic_Region the reason all_parse.t just parses - and not runs, is because $! is 1 regardless of the program working correctly or not
18:06 audreyt - Drop PGE as the p6regex bridge (maybe enable via a pragma) by default; load perl5:PCR when a rx// is encountered
18:07 Limbic_Region and which is why I check the output of -c for syntax OK instead of checking $!
18:07 audreyt - Calling convention into perl5:Module is handled via Moose, Data::Bind, etc, as per standard v6.pm callconv
18:07 audreyt (that gives us closure and callbacks inside rules, and callbacks bothways)
18:07 justatheory joined perl6
18:08 thepler joined perl6
18:08 Limbic_Region Enable Perl5 embedding on _all_ builds - by default right?  It is just a shortcut for not requiring Parrot to be embedded or in the path right?
18:08 Limbic_Region oh wait, nevermind - you are already seeing much further than I was
18:08 audreyt and then things can gradually merge
18:08 audreyt as v6-Compiler pieces can be used even when pugs is the main runloop
18:08 Limbic_Region well, glad I could be a catalyst for your telescope
18:09 araujo fglock, nice , it might be possible :-)
18:09 * Limbic_Region backs away very slowly
18:09 fglock audreyt: PCR could be ported to perl6 :)
18:09 audreyt well, that will make perl5 hacking a prereq ability for pugs hackers :)
18:09 * Limbic_Region has that ability
18:09 * araujo wished he had been notified about this before
18:10 audreyt fglock: yeah, v6-Grammar/ perhaps?
18:10 Limbic_Region audreyt - so do you want me to remind you about $! not working correctly when you are awake?
18:10 fglock araujo: cool! Please let me know if you would like to submit a talk - there may be some $$ help for speakers
18:10 audreyt Limbic_Region: can you give one short example?
18:11 Limbic_Region system('pugs someexample');
18:11 Limbic_Region regardless if someexample runs correctly or not, $! is 1
18:12 Limbic_Region same for qx and ``
18:12 audreyt fglock: I wonder if it's possible to port PCR to perl6 and still have it run with reasonable speed when used as apel5 module
18:12 audreyt i.e. shared codebase
18:12 Limbic_Region of course, this was last verified the day I checked in all_parse.t so things may have been fixed
18:12 * Limbic_Region re-verifies
18:12 araujo fglock, sounds interesting, let me see what i can prepare
18:13 audreyt Limbic_Region: pugs> system("pugs moose"); say $!
18:13 audreyt pugs: moose: openFile: does not exist (No such file or directory)
18:13 fglock audreyt: I think so, it depends on an optimized emitter only, because rules are cached anyway
18:13 audreyt 1
18:13 audreyt Limbic_Region: it appears $! is set
18:13 fglock s/rules/rule compilation/
18:13 audreyt fglock: an optimised Emitter::Perl6->Perl5, right?
18:14 fglock yes
18:14 Limbic_Region audreyt - not that it isn't set, that it is always set
18:14 * Limbic_Region is confirming now
18:14 justatheory joined perl6
18:14 fglock it can be reused - actually, I think most of the perl6 version is already written
18:15 audreyt fglock: what about the Yapp part?
18:15 fglock it even had some tests, but may need an upgrade to latest Match object
18:15 audreyt PCR uses YAPP, which is not yet ported or made available
18:15 audreyt in p6land
18:15 fglock PCR doesn't need YAPP - it's only used by v6.pm
18:16 fglock PCR just provides a wrapper
18:16 audreyt er. PCR uses PGPrec
18:16 Limbic_Region audreyt - it is behaving correctly, so I will add an all_execute.t which will verify all the same parsing examples execute (though they still may produce incorrect output)
18:16 audreyt and PGPRec uses PYapp
18:16 audreyt Limbic_Region: there are interactive examples, though.
18:16 Limbic_Region audreyt - ahh, ok
18:16 Limbic_Region I remember what my issue was now
18:17 Limbic_Region when doing system(pugs -c example); # $! is not set regardless of compile/failure or is always set - can't remember which
18:17 fglock the rule compiler is written in pure rules - the Precedence parser is only used by v6 Expression parser
18:17 fglock the rule compiler should use Prec, but it doesn't ...
18:18 audreyt oh ok
18:18 Limbic_Region but even that is working correctly now
18:18 audreyt that makes it much simpler
18:18 Limbic_Region so don't mind me
18:18 audreyt so Text::Balanced, and P5Regex
18:18 audreyt is the only deps?
18:19 * Limbic_Region shuts up so fglock and audreyt can continue their plans of world domination (where's kudra with the money?)
18:19 fglock audreyt: http://svn.openfoundry.org/pugs/v6/​v6.pm/lib/Pugs/Grammar/P6P6Rule.pm
18:20 fglock oh, money - yes
18:21 fglock audreyt: I started replacing Text::Balanced with rules, I don't remember if it was finished
18:22 fglock P5Regex is needed for char classes and such, but it can be replaced easily
18:22 audreyt and pugs has P5Re natively viaPCRE anyway
18:22 audreyt so we can push as much as we'd like into p5re land if needed
18:22 fglock sure, so we can just write a few :P5
18:23 fglock so what do we need, an emitter for Rule-to-Perl6 to bootstrap?
18:24 audreyt it appears so
18:24 audreyt alternatively, Rule-to-PCRE-with-callback
18:24 fglock in order to compile the previous link
18:24 audreyt which may actually be much faster
18:24 audreyt but R->P6 is more "Correct"
18:24 audreyt and as you said, the P6 part can cheat as much as it'd like with m:P5
18:25 PerlJam you know ... whenever TimToady is here and I pay attention to #perl6, it's often like everyone is speaking another language.  Right now, it's like everyone is speaking english but saying crazy things  ;-)
18:25 audreyt I think I like that :)
18:25 fglock Rule-to-PCRE would be useful to v6.pm too
18:25 audreyt you know that PCRE has nativesupport for named captures?
18:25 audreyt as well as arbitrary callbacks that letyou alter the match state (\C)
18:26 audreyt which can be used to implement nested capture groups
18:26 PerlJam fglock: What's the state of the art now?  Are you just parsing or doing codegen or AST munging too?  (sorry I haven't kept up)
18:26 Odin- joined perl6
18:27 * PerlJam is wondering if Rule-to-PCRE lets us bootstrap anywhere we can find PCRE (php, python, java, etc)
18:27 audreyt PerlJam: that is essentially my current fav  plan, yes :)
18:28 audreyt PerlJam: re state of the art: Test.pm passes with a all-perl chain :) and nearly 1k subtests pass out of the 10k in t/
18:28 PerlJam and people said perl6 couldn't be implemented in perl5  ;)
18:29 audreyt which is why I'm gravitating from PGE/Parrot toward PCR/v6...
18:29 PerlJam audreyt: okay, it sounds good in theory, but what does it buy us in practice?
18:30 audreyt PerlJam: in practice: mostly just speed, stability and good unicode support
18:30 Limbic_Region for one, the need not to have parrot just for pge
18:30 [particle] pugs must be missing some <ident> tests, because the v6 rule is broken (too relaxed)
18:30 Limbic_Region which is all I was suggesting in the first place
18:30 PerlJam Limbic_Region: but you have to have *something* that groks PCRE anyway.  I guess that's an easier target to aim at though  :-)
18:31 audreyt well, perl5 groks PCRE
18:31 audreyt or rather, it's compatible with it
18:31 audreyt or maybe it's the other way around.
18:31 [particle] i thnk you mean to say "...for some definition of compatible"
18:31 fglock PerlJam: what audreyt said :) - sorry, I was talking with someone here
18:31 audreyt the same definition as the C in PCRE :)
18:32 [particle] :)
18:32 PerlJam so ... would there be a benefit in using one of the other PCRE host languages?  Could we accrete some hackers from the clouds surrounding those other languages?
18:32 fglock Perljam: there is also some work done in Perl6-in-Perl6
18:33 audreyt [particle]: which <ident> should not match?
18:34 audreyt PerlJam: if, at some point in time, saying -lp6re -lpcre gives you p6re syntax for an application
18:35 audreyt PerlJam: then yeah, I think there are hackers from other lands I know of that will be greatly interested :)
18:35 PerlJam ah, good point that. We need a libp6re at some point.
18:35 audreyt but not aiming that far at this point... I just want to leverageas much of fglock's brain as possible
18:35 audreyt (libp6re would require the callback handlers be rewritten in C instead of Hs/P6/P5)
18:35 fglock :)
18:36 audreyt (which, although kinda trivial, is also very tiresome.)
18:36 PerlJam Hmm.  No TPF funding for fglock?
18:36 [particle] audreyt: 123abc is an example that should not match
18:36 fglock emitting C from PCR would not be too difficult
18:36 cj left perl6
18:37 audreyt PerlJam: no SoC funding either :/
18:37 audreyt [particle]: commit a fix into perl5/Pugs-Compiler-Rule/li​b/Pugs/Grammar/Rule/Rule.pm ?
18:37 PerlJam fglock: have you submitted a grant application to TPF?
18:38 * PerlJam thinks TPF is an easier target than SoC
18:38 [particle] let me make sure i can run the tests first...
18:38 fglock PerlJam: I submitted in the previous quarter
18:38 [particle] hrmm, do i need working pugs to build v6?
18:39 [particle] or, p6p6 i guess i'm testing here
18:39 PerlJam fglock: are you planning on continuing to submit until you get awarded a grant or you've already done the work?
18:39 TreyHarris anyone know the quickest way to get the current value of svn BASE and HEAD?  svn info has to contact the repository for both...
18:39 * PerlJam wonders if we could lobby TPF somehow  :)
18:39 audreyt [particle]: no
18:39 [particle] trey, isn't there a Revision.pm somewhere?
18:40 [particle] ...or other config file that might have that info
18:40 audreyt TreyHarris: util/version_h.pl
18:40 audreyt and yes, src/Pugs/pugs_version.h
18:42 fglock PerlJam: actually I was a bit disappointed with TPF, the answer was like  "There was a bit of debate about it but most of it boiled down to thecost [...] There was also concern about the immediate benefit to the Perl community."
18:43 fglock but it may be my fault, perhaps I didn't explain it clearly enough
18:43 PerlJam fglock: well, it sounds like we could help the TPF understand the community benefit if nothing else.
18:43 PerlJam How much did you ask for?
18:44 fglock 10k, which is likely above their upper limit ...
18:44 PerlJam ouch.  I don't think they're giving out much more than $5k at a time.
18:44 fglock so I can't blame them
18:44 [particle] ja, <$5k is what i heard from the horse's mouth
18:45 PerlJam [particle]: which horse?
18:45 PerlJam Ovid?
18:45 [particle] bill odom
18:45 PerlJam oh,
18:45 PerlJam s/,/./
18:45 audreyt I'd be happy to match TPF's $5k for fglock, but I probably can't afford $10 alone myself :)
18:45 obra 5k is the max for someone who doesn't have years of a track record in the community.
18:45 audreyt s/$10/$10k/
18:46 TreyHarris [particle], audreyt: thanks, but i'm trying to convert my svn change explorer to Perl 6, and I noticed that its default revesion range (BASE:HEAD) always returns at least one revision if the repository's up to date, so I was looking to intercept that somehow... version_h.pl shows me how to get the value of BASE.  I guess I still have to run a svn cmd to get HEAD, I just don't know which one of the many choices is most efficient
18:46 PerlJam obra: which means ... only Damian, Larray, and very few others are going to get more than $5k
18:46 [particle] who's spearheading the p5-on-p6 effort :)
18:47 PerlJam [particle]: fglock!  :)
18:47 obra PerlJam: actually a few others as well ;) (Nick is the one who most recently comes to mind)
18:47 PerlJam obra: yeah, anyone who's been a perl pumpking counts
18:47 [particle] pumpking emeritus
18:48 Limbic_Region concerning funding
18:48 audreyt [particle]: btw, <ident> fixed.
18:48 Limbic_Region I am not real happy with the way TPF allocates resources
18:48 [particle] audreyt: C<svn up> just finished :)
18:48 PerlJam I don't have any money to give, but I'll be happy to help anyone here obtain funding from elsewhere if I can
18:49 Limbic_Region if someone wanted to set up a fund where donations could be designated to individuals (audreyt, fglock, gaal, etc)
18:49 Limbic_Region I would be happy to donate $x / $y interval
18:49 Limbic_Region and if $z people also contributed, there would be more $ to go around
18:50 svnbot6 r12814 | audreyt++ | * Pugs::Compiler::Rule: <ident> now rejects beginning-with-digit tokens, as prompted by particle++.
18:50 PerlJam Limbic_Region: I'd hate to bifurcate the donation efforts.  Better might be to fix TPF  (also harder, I know)
18:50 * Limbic_Region contributed regularly to the PerlMonks fund until he found out there is no public record of what the money was spent on, how much money was in reserve, or any plans on using the money in the future
18:50 Limbic_Region PerlJam - I haven't mentioned it before because I felt the same way
18:51 Limbic_Region but if I don't give two shits about the tax free status - I should be able to say where and how my money is spent
18:51 Limbic_Region I still contribute to TPF, but in much smaller amounts and not regularly
18:52 PerlJam Limbic_Region: there ar other perl luminaries that don't contribute to TPF because they think it's slightly borked.  (mjd comes to mind)
18:52 b_jonas joined perl6
18:52 fglock I guess TPF doesn't want to split resources, by funding both Parrot and Pugs
18:53 audreyt the parrot funding is actually a designated funding...
18:53 Limbic_Region well, some of it is anyway
18:53 Limbic_Region the 75K is
18:54 Limbic_Region but my point is this
18:54 PerlJam I bet if someone setup a paypal account designated for pugs funding and laid out the plan for who was to get the money and what they would accomplish, I bet people would contribute  :)
18:54 Limbic_Region nevermind, I will get hot for no reason
18:54 Limbic_Region I wouldn't even need to see what they would accomplish
18:54 Limbic_Region total contribution with a list of names and a box of what percentage goes to whom
18:55 Limbic_Region pugs was started in feb of 05 - I think it is obvious who contributes and what level that contribution is worth
18:55 TreyHarris i was under the impression--just by osmosis--that the eventual "plan", such as it was, was that an eventual perl 6 release would include components of parrot and pugs, and not just pugs' tests... was i mistaken?
18:55 Limbic_Region did any of you read that solicitation for TPF feedback not too long ago?
18:56 PerlJam I read it but it's since faded from memory
18:56 Limbic_Region well, one of the replies I found very in tune with my sentiments
18:56 PerlJam TreyHarris: that's a good vague idea of the plan, sure :)
18:57 PerlJam TreyHarris: The problem with "the plan" is that it too is a moving target as we learn new things.
18:57 Limbic_Region http://news.perlfoundation.org/20​06/08/tpf_rfc.html#comment-109232
18:58 PerlJam Limbic_Region: yep, that's about the size of it.
18:59 PerlJam What's weird is that I know there are many people who have these gripes about TPF, but TPF doesn't seem to acknowledge or respond to them
18:59 Limbic_Region so to re-iterate, if anyone sets up something where I can designate who my money goes to, I would be happy to contribute $x / $y interval
18:59 prefiks joined perl6
18:59 Limbic_Region I don't care what they spend it on, after watching this project for a year and a half - I trust the money will be put to good use
19:00 TreyHarris Limbic_Region: are you Garrett?
19:00 Limbic_Region no
19:00 Limbic_Region perlbot Limbic_Region
19:01 Limbic_Region hrmm - I thought perlbot had an entry for me - must be purl
19:01 TreyHarris i tried that :-)
19:01 TreyHarris oh.  I just read that comment on the page you sent about TPF and was going to respond if you were Garrett
19:01 fglock re TPF PR, I try to learn some lessons from it, as I'm now president of brazilian perl society
19:01 Limbic_Region here's what purl has to say about me - somebody said Limbic_Region was a crazed homocidal maniac seeking someone to endure the ramblings of a mad man who happens to hack on Pugs/Parrot/Perl6
19:02 PerlJam Limbic_Region: you're an insane monk? :)
19:03 Limbic_Region or inane
19:04 TreyHarris i'll respond anyway FYI: I'm on a couple of nonprofit boards, and while total openness is a good thing in theory, the requirements of fiduciary responsibility sometimes force a board to default to silence, even in cases where openness is desired even by the board.  it can be very frustrating.
19:04 Limbic_Region TreyHarris - I don't have strong issues with TPF
19:05 Limbic_Region though I might if I looked closely as others apparently have
19:06 Limbic_Region I am just saying it doesn't work for what I would consider donating money for
19:07 PerlJam TreyHarris: can you give an example that forces silence?
19:11 Limbic_Region PerlJam - asking must be one of the examples
19:11 * Limbic_Region ducks
19:11 PerlJam heh
19:12 wilx joined perl6
19:16 [particle] how do i build & test p6p6? C<nmake build_perl5 && nmake test>?
19:16 [particle] prove6?
19:17 fglock [particle]: do you mean v6/v6?
19:17 [particle] sorry, yes
19:17 [particle] it's been a while since i've done this
19:18 fglock it is work in progress - but you can compile the files with plain perl5, if you have v6.pm installed
19:18 fglock but you'll get some errors
19:18 [particle] compiling grammar for miniperl6 gives me substr and uninit warnings
19:22 audreyt win32 embedding works.
19:22 svnbot6 r12815 | ajs++ | Fixed incorrect mapping of q and L to types and also added examples -- also tried to clean up usage of C terminology to be more VM-friendly. Not sure if I helped or not
19:22 fglock [particle] v6/v6-Compiler is a perl6-level compiler; v6/v6.pm is an api-compatible perl6 version of v6.pm
19:22 fglock both are very experimental
19:23 [particle] fglock: my goal is to get the parrot/perl6 and v6 parser grammars in sync
19:24 Limbic_Region audreyt - you aren't asleep yet?
19:24 [particle] i need to be able to test v6 in order to do that
19:24 fglock [particle]: you need perl5/Pugs-Compiler-Perl6 - that's the working compiler
19:26 fglock http://svn.openfoundry.org/pugs/perl5/​Pugs-Compiler-Perl6/lib/Pugs/Grammar/
19:26 lambdabot Title: Revision 12815: /perl5/Pugs-Compiler-Perl6/lib/Pugs/Grammar
19:26 [particle] ...and i build that from pugs with C<nmake build_perl5>, right?
19:27 fglock [particle]: you can install v6.pm from CPAN, in order to get all dependencies, and then just update it by installing the svn version
19:29 [particle] ok
19:30 fglock [particle]: you can interrupt the v6.pm tests after 20 or so passes, and then force install it
19:32 xerox joined perl6
19:34 fglock [particle]: syncing the grammars is complicated because PCR and PGE have different subsets of the rule language implemented so far
19:37 fglock [particle]: specifically, PCR uses perl6(ish) callbacks for doing tree operations, instead of TGE
19:37 [particle] how many levels of transformation are there?
19:38 [particle] perl 6 -> parse -> emitted code?
19:38 [particle] parrot is currently perl 6 -> parse -> PAST -> POST -> PIR
19:39 fglock there are only a few transformations, for example to make a recursive rule into a list of matches
19:39 fglock so it's mostly perl6 -> parse and preprocess -> process-again and emit
19:40 fglock the emitter does some transformations too (perl5 specific)
19:40 ingy fglock! [particle]!
19:40 ingy audreyt!
19:40 fglock ingy!
19:41 ingy can you guys tell me the easiest way to parse python using Haskell?
19:42 fglock ingy: mm - somebody asked me to write a python-to-perl5 compiler
19:42 ingy did you?
19:43 gaal ingy: use Parsec to do the parsing, use HsSyck to emit the AST for testing
19:43 fglock but I'd use perl5 instead, by replacing v6.pm grammar
19:44 fglock ingy: no, but I'm still thinking about it
19:44 ingy so is there a good way to turn the Python grammar into Parsec code?
19:44 gaal hmm, scw is making a Perl 6 Rules -> Parsec convertor you should look at
19:44 ingy gaal: where?
19:44 gaal so if you have the Python grammar in Rules, maybe :)
19:45 ingy :)
19:45 gaal ingy: misc/pX/scw
19:45 ingy ok
19:45 mdiep joined perl6
19:45 gaal I don't know what its status is.
19:45 [particle] howdy ingy!
19:45 gaal but ingy, Parsec itself isn't that hard
19:45 audreyt ingy: #haskell will be useful for this :)
19:45 ingy I ned to port pyyaml to perl and I'm thinking... how boring of me
19:46 ingy audreyt: I might be too noob
19:46 ingy for #haskell. but ok
19:46 fglock there is a Parsec converter is in perl5/Pugs::Compiler::Rule
19:46 audreyt fglock: are you on vanillaperl?
19:47 fglock audreyt: I'm on ubuntu, but I can switch to it
19:47 svnbot6 r12816 | audreyt++ | * First attempt at win32 perl5 embedding -- works on vanillaperl here.
19:47 gaal whoo!
19:47 ingy :D
19:48 ingy audreyt++ # indeed
19:48 fglock audreyt: I'll try to recompile - but it'll take some time
19:49 * Limbic_Region is on ActiveState
19:49 araujo joined perl6
19:49 weinig|bbl is now known as weinig
19:50 audreyt Limbic_Region: trying AS now
19:51 Limbic_Region just ran perl Makefile.PL
19:51 Limbic_Region should I be concerned that the message at the end says p5 embedding is disabled?
19:51 audreyt you should.
19:51 audreyt that menas AS is explicitly disallowed
19:52 Limbic_Region ok, now what?
19:52 audreyt now wait for my next commit.
19:53 * Limbic_Region gives up trying to tell her she should go to sleep
19:53 Limbic_Region unless of course this is a non-$work day
19:54 audreyt it actually is.
19:54 * [particle] thinks audreyt can take care of herself (and can code in her sleep anyway)
19:54 wolverian audreyt, yay, thanks for fixing feather's pugs :)
19:54 Limbic_Region wait, before you do anything
19:54 Limbic_Region is this p5 embedding on by default
19:55 Limbic_Region or just, if you enable p5 embedding - it should work
19:55 Limbic_Region I ask because I didn't explicitly set PUGS_EMBED
19:55 * Limbic_Region sets in anyway to see what happens
19:55 araujo hello all
19:56 Limbic_Region salutations
19:56 fglock audreyt: is there a windows binary build for ghc 6.5, or are you using 6.4?
19:56 larsen joined perl6
19:56 Limbic_Region fglock - yes
19:56 Limbic_Region but don't use the latest snapshot - use the one from the 19th
19:56 Limbic_Region link in a sec
19:56 [particle] i wonder, if audrey can code in her sleep, why does she ever wake up?
19:57 Limbic_Region fglock - http://www.haskell.org/ghc/dist/current/dist/​ghc-6.5.20060819-i386-unknown-mingw32.tar.gz
19:58 fglock Limbic_Region: thanks
19:58 svnbot6 r12817 | ajs++ | Created "Scalar" API document and moved methods out of the main Functions document into there.
19:58 svnbot6 r12816 | audreyt++ | * First attempt at win32 perl5 embedding -- works on vanillaperl here.
19:59 Limbic_Region shouldn't that be s/First/Second/
20:01 araujo oh no, the haskell book section on READTHEM is missing the best book!
20:01 Limbic_Region ok - what EXACTLY do I have to do to try p5 embedding in AS
20:01 Limbic_Region IOW, do I have to set PUGS_EMBED or not and do I have to build clean or not
20:02 cognominal araujo: what is this book?
20:02 * araujo should start using his commit bit with this fix :-)
20:03 araujo cognominal: Introduction to Functional Programming
20:04 audreyt Limbic_Region: rm dist/build/pugs/embed/perl5.*
20:04 audreyt Limbic_Region: set PUGS_EMBED=perl5
20:05 Limbic_Region attempting now
20:05 audreyt and don't run MAkefile.PL.
20:06 Limbic_Region oops
20:07 * Limbic_Region doesn't know how to undo a run Makefile.PL
20:07 audreyt don't need to
20:08 Limbic_Region k
20:09 audreyt ...committing
20:10 Limbic_Region ok - will nopaste current error then in case it is relavent
20:11 pasteling "Limbic_Region" at 129.33.119.12 pasted "current build failure on Win32 trying to embed perl 5" (16 lines, 895B) at http://sial.org/pbot/19328
20:15 audreyt test with
20:15 svnbot6 r12818 | audreyt++ | * extremely klugy way to get ActivePerl +p5embed to compile.
20:15 audreyt pugs -Mperl5:CGI -e "say CGI.new"
20:16 audreyt I'll look at method dispatch, dynaloader etc later
20:16 audreyt but that's secondary
20:16 audreyt also, unklugifying r12818 would be appreciated
20:16 Limbic_Region did you see my current build failure?
20:16 audreyt yes. try r12818
20:17 audreyt actually, don't; try r12819 :)
20:17 svnbot6 r12819 | audreyt++ | *oops.
20:17 svnbot6 r12818 | audreyt++ | * extremely klugy way to get ActivePerl +p5embed to compile.
20:21 audreyt you should see, at end of compilation:
20:21 audreyt gcc: unrecognized option `-nologo'
20:21 audreyt gcc: unrecognized option `-GF'
20:21 audreyt gcc: unrecognized option `-Zi'
20:21 Limbic_Region trying 12818
20:21 audreyt those are expected (help welcome to filter them out); the resulting pugs.exe should still work
20:21 audreyt 12818 will not work.
20:21 audreyt 12819 probably will
20:22 Limbic_Region oh, I misparsed actually, don't; try r12819 :)
20:22 audreyt :)
20:22 audreyt sorry, kinda late here.
20:22 audreyt (bbiab)
20:27 Limbic_Region currently dying at line 294 in Makefile.PL "                    $Config{lddlflags} =~ s/-libpath:"?(.*?)"? //g or die;"
20:27 Limbic_Region but I have to go so perhaps later in your day or tomorrow night
20:33 lichtkind joined perl6
20:33 lichtkind hej folks hi PerlJam
20:34 lichtkind PerlJam i hope i did not raise ecpectations too much
20:40 svnbot6 r12820 | fglock++ | * v6 - added Pugs::Runtime::Capture.pm
20:41 kane-xs seen audreyt
20:42 audreyt kane-xs: pong. going to sleep in a bit
20:43 audreyt if anyone on activeperl cares to try out p5embed, please report the result here :)
20:43 svnbot6 r12821 | audreyt++ | * fix again according to L~R's feedback
20:43 audreyt the steps are:
20:43 kane-xs audreyt: check privmsg on irc.perl.org
20:43 audreyt rm dist/build/Pugs/Embed/Perl5*
20:43 audreyt set PUGS_EMBED=perl5
20:43 audreyt perl Makefile.PL
20:43 audreyt nmake
20:43 kane-xs audreyt: p4 server and p4web up and running
20:43 kane-xs and that change to your account you requested has been done.. output in privmsg on irc.perl.org
20:44 audreyt kane-xs: got it. thanks!
20:44 * audreyt goes sleeping
20:45 kane-xs nn audreyt
20:52 xinming joined perl6
20:53 * araujo been reading the pugs code
20:53 araujo very clear indeed :-)
20:53 * araujo has noticed some 'redundant' do
20:59 SamB you mean like do do do return ()?
21:01 araujo Well, no really redundants, probably no needed. Like, do x >> y >> .... do z >> y
21:01 SamB oh
21:01 SamB well, mine were redundant too! though syntactically invalid...
21:01 xinming_ joined perl6
21:01 araujo haha :-)
21:01 xerox ?type \it -> let please = id in please do do do please do please do do do it
21:02 lambdabot parse error on input `do'
21:02 SamB at least, I assume so...
21:02 * xerox giggles
21:02 SamB > do do do return ()
21:02 lambdabot add an instance declaration for (Show (m ()))
21:02 araujo @type do do putStr >> return ()
21:02 SamB oh wait, nope!
21:02 lambdabot String -> ()
21:02 SamB huh
21:02 araujo :-)
21:02 SamB it seems like do is sometimes allowed places and sometimes it is...
21:02 SamB er.
21:02 SamB sometimes not.
21:03 Limbic_Region joined perl6
21:04 Limbic_Region seen audreyt
21:04 Limbic_Region .seen audreyt
21:14 glasser joined perl6
21:16 b_jonas Limbic_Region: try a "!" but she last talked on this channel at 22:44 "audreyt goes sleeping"
21:16 Limbic_Region thanks
21:16 Limbic_Region got home and things are looking much better for p5 embedded using AS perl
21:16 Limbic_Region running final step now
21:18 Limbic_Region b_jonas - how far back does your scrollback go?
21:18 svnbot6 r12822 | audreyt++ | * more tweaks to make vanilla and activeperl happy
21:18 Limbic_Region I can't seem to get to the irc logs
21:19 fglock left perl6
21:19 b_jonas 20:52
21:19 Limbic_Region I have pugs built with p5 embedded but need to test it - audreyt pasted a very short 1 liner
21:19 Limbic_Region something along the lines of pugs -M<module> -e "thingy"
21:20 b_jonas pugs -Mperl5:CGI -e "say CGI.new"
21:20 b_jonas I think that's it
21:20 Limbic_Region yep
21:20 Limbic_Region will test
21:20 Limbic_Region after sleeping audreyt's latest update that is
21:21 jferrero joined perl6
21:22 Limbic_Region having a gig of memory with dual processors is soooo much better than 1/2 gig and a single processor
21:24 Limbic_Region thanks b_jonas
21:24 ruz joined perl6
21:30 rashakil joined perl6
21:37 Limbic_Region audreyt - in case you are sleeping with your eyes open or you backlog - embedded p5 works on AS perl
21:37 Limbic_Region as of latest build - pugs -Mperl5:CGI -e "say CGI.new" returns
21:38 Limbic_Region <obj:scalar:Perl5>
21:40 * Limbic_Region does a happy dance
21:46 * Limbic_Region does a smoke
21:46 avar a smoke?
21:48 Limbic_Region nmake smoke
21:48 Limbic_Region you are familiar with the smoke reports right?
22:04 ajs cpan v6: Failed 48/100 test scripts, 52.00% okay. 263/638 subtests failed, 58.78% okay.
22:04 ajs ouch
22:07 araujo brb
22:08 araujo joined perl6
22:12 weinig is now known as weinig|bbl
23:00 glasser` joined perl6
23:04 markstos joined perl6
23:17 markstos Is it correct that a private method would be declared as: method !my_private_meth {
23:17 markstos S12 only mentions private methods briefly.
23:25 lollan joined perl6
23:25 TreyHarris markstos: i would think it would be my method...
23:26 markstos In that case, pugs hasn't caught with with the spec, as my own play tests showed, that 'my method' doesn't hide the method from outside the class. Objects can still call it.
23:28 TreyHarris pugs oo is very much out of date.  run a smoke on the oo/ tests to see what i mean
23:32 pasteling "TreyHarris" at 207.171.180.101 pasted "simple given/when: why doesn't it compile?" (8 lines, 245B) at http://sial.org/pbot/19329
23:33 TreyHarris anyone got any clue as to the above pasteling?
23:34 markstos It passes pugs -c with r12822
23:34 TreyHarris ohhh
23:34 TreyHarris thanks
23:34 markstos But if I had to guess, it looks like something I ran into. It might work to compare $x.ref to 'Num' instead of  Num, even though your code looks more spec-compliant.
23:35 TreyHarris i was using an older rev because i was making current
23:37 markstos It actually works with the current rev. Neat! I'll have to refactor some of my code to use this style now.
23:37 christo joined perl6
23:38 TreyHarris yes... fixing the test suite after the last smoke to remove now-functioning todos last night gave me a great deal of insight into what's now working that didn't used to :-)
23:38 markstos Ah.

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

Perl 6 | Reference Documentation | Rakudo