Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2007-05-17

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:06 Aankhen`` @seen agentzh
00:06 lambdabot I saw agentzh leaving #perl6 1d 18h 1m 5s ago, and .
00:10 Aankhen`` Am I correct in thinking that $obj.meth, $obj.?meth, $obj.*meth and $obj.+meth only affect the candidate list, which {call,next}{same,with} use?  The interaction between the two is confusing me. :-S
00:11 Aankhen`` Oh.  Um.  Methods won't magically call their superclass methods, will they, now?  Silly me.
00:12 Aankhen`` ...no, still confused.
00:21 weinigLap joined #perl6
00:22 ozo joined #perl6
00:29 stevan_ joined #perl6
00:36 guinex joined #perl6
00:36 stef_ left #perl6
00:41 buetow joined #perl6
00:41 lisppaste3 joined #perl6
00:42 stef_ joined #perl6
00:49 TimToady Aankhen``: you delegate to the next candidate in the list using nextsame()
00:49 TimToady but if called with .* or .+ you don't need to do that because it happens automatically.
00:49 Aankhen`` Oh, okay.
00:50 Aankhen`` What happens if it's called with .* or .+ and you use nextsame, though?
00:50 TimToady presumably the .* dispatcher is aware of that.
00:50 TimToady since it's basically just doing nextsame on your behalf
00:50 Aankhen`` Okay.
00:51 weinigLap joined #perl6
00:51 TimToady and presumably the nextsame call itself is what iterates the next list item
00:58 Aankhen`` ?eval 1.WHAT
00:58 evalbot_r16314 changed the nick to evalbot_r16308
00:58 evalbot_r16314 ::Int
00:58 Aankhen`` ?eval 1.HOW
00:58 evalbot_r16314 ^Int
00:58 Aankhen`` ?eval 1.HOW.methods
00:58 evalbot_r16314 ["","LIST","ITEM","bless"]
00:59 Patterner ?eval 1.VALUE
00:59 evalbot_r16314 Error: No such method in class Int: &VALUE
00:59 Aankhen`` ?eval class Foo { }; Foo.new.HOW.methods
00:59 evalbot_r16314 Error: No such method in class Class: &methods
00:59 Aankhen`` Bah.
00:59 Aankhen`` ?eval class Foo { }; Foo.new.HOW
00:59 evalbot_r16314 \Class.new(("attrs" => {}), ("does" => ()), ("is" => ("Object",)), ("name" => "Foo"))
01:00 Patterner ?eval 1.methods
01:00 evalbot_r16314 Error: No such method in class Int: &methods
01:01 TimToady we're all waiting for 6.28
01:02 ofer joined #perl6
01:14 lampus joined #perl6
01:18 Aankhen`` ?eval 1...
01:18 evalbot_r16314 pugs: out of memory (requested 1048576 bytes)
01:19 Aankhen`` There's this line in porting_howto: (?=foo)           -> <?before foo>
01:19 Aankhen`` The ? there is just to keep the <before> from being in the result object?
01:19 TimToady correct
01:19 Aankhen`` Kewl.
01:20 TimToady and lazy Range objects aren't really implemented yet either
01:20 Aankhen`` Yeh, I figured.
01:20 Aankhen`` I just like to check up every now and then. :-P
01:23 Southen joined #perl6
01:23 Aankhen`` Huh, this doesn't seem right (again from porting_howto): \G                -> <( .pos == $oldpos )>
01:24 Aankhen`` Should that be <{ ... }> instead?
01:24 Aankhen`` IIRC from S05, <( ... )> means that the result object only contains whatever's inside the parentheses..
01:24 Aankhen`` s/.$//
01:25 Aankhen`` ?eval say "\X[263a]"
01:25 evalbot_r16314 OUTPUT[X[263a]␤] Bool::True
01:25 Aankhen`` Poop.
01:26 TimToady should be <?{...}> or it uses the result as a subrule
01:26 Aankhen`` Ah, right, my bad.
01:26 * Aankhen`` fixes.
01:28 svnbot6 r16315 | Aankhen++ | * docs/other/porting_howto: fixed \G translation
01:30 Aankhen`` Hmm, I wish I knew what I was thinking when I wrote this: /$1/              -> my $old1 = $1; /$old1/
01:30 Aankhen`` Or at least that I remembered writing it.
01:30 edenc_ joined #perl6
01:30 Aankhen`` Wouldn't work anyway, come to think of it.
01:34 japhb joined #perl6
01:34 svnbot6 r16316 | Aankhen++ | * docs/other/porting_howto: fixed (hopefully) `/$1/ -> ...` line.
01:37 weinigLap joined #perl6
01:50 ggoebel joined #perl6
02:13 torz joined #perl6
02:17 nekokak_ joined #perl6
02:17 mj41_ joined #perl6
02:18 mj41 changed the nick to mj41_
02:18 lampus joined #perl6
02:18 stef_ joined #perl6
02:18 spinclad joined #perl6
02:18 BooK joined #perl6
02:18 diakopter joined #perl6
02:18 PerlJam joined #perl6
02:18 wolverian joined #perl6
02:18 mr_ank joined #perl6
02:18 svnbot6 joined #perl6
02:18 zamolxes joined #perl6
02:18 fridim joined #perl6
02:18 lumi joined #perl6
02:18 Casan joined #perl6
02:18 ingy joined #perl6
02:18 TimToady joined #perl6
02:18 nekokak joined #perl6
02:18 pjcj joined #perl6
02:18 statico joined #perl6
02:18 wilx joined #perl6
02:18 clkao joined #perl6
02:26 zperl joined #perl6
02:29 zperl ?eval say 'Good morning, Pugs'
02:29 evalbot_r16316 changed the nick to evalbot_r16314
02:29 evalbot_r16316 OUTPUT[Good morning, Pugs␤] Bool::True
02:29 SubStack joined #perl6
02:32 weinigLap_ joined #perl6
02:32 weinigLap joined #perl6
02:39 mako132_ joined #perl6
02:40 dolmans joined #perl6
02:42 nipotan changed the nick to nipotaway
02:59 avar mm, yummy p6 sux thread on perlmonks:)
03:00 avar http://perlmonks.org/?node_id=614624 # If anyone knows the answer to the latest Q .. :)
03:00 lambdabot Title: What's wrong with Perl 6?
03:09 foof joined #perl6
03:13 PerlJam avar: That thread started days ago.
03:13 bonesss joined #perl6
03:14 avar ya, I know
03:15 PerlJam avar: Are you *sure* there are no Perl 6 modules on CPAN?
03:16 Aankhen`` Perl6::Junction?  Perl6::Gather?  Perl6::Perldoc?
03:16 Aankhen`` (Those are the ones I remember off-hand.)
03:16 PerlJam But you've hit on an important point:  CPAN needs to grow to accomodate Perl 6 and it hasn't really.
03:16 Aankhen`` Or did you mean modules written in Perl 6?
03:16 foof Perl6::Form
03:16 avar those are perl 5 modules that emulate p6
03:16 foof ... speaking of which, how do you format numbers with commas but no decimal points?
03:16 Aankhen`` So you did mean modules written in Perl 6.
03:17 avar yup, I thought that was apperenty, apperently not:)
03:17 Aankhen`` Well, for one, search.cpan.org would have to figure out how to distinguish between Perl 5's POD and Perl 6's Pod.
03:17 Aankhen`` Er.
03:17 avar you could write it in p5 pod
03:17 Aankhen`` Sorry, s/search\.cpan\.org/CPAN as a whole/.
03:17 avar or you could just write it in p6 pod and have it look sucky
03:18 PerlJam avar: your objections are much better than w-ber's though.  l6::Form
03:18 Aankhen`` :-)
03:18 PerlJam oops.  stray mouse click.
03:18 PerlJam http://perlmonks.org/?node_id=615819
03:18 lambdabot Title: Re: What's wrong with Perl 6?
03:18 Aankhen`` Forcing everyone to document Perl 6 modules using Perl 5 POD is a really bad idea going forwards.
03:20 avar true, but that's just search.cpan.org lameness, I'm more interested in adding an index of p6 modules and having something to install them
03:20 Aankhen`` Right.
03:20 Aankhen`` I was just throwing up roadblocks. :-)
03:21 avar oh noes!:)
03:21 Aankhen`` Heh, one of the messages in that thread cites an article from 2003.
03:24 amnesiac joined #perl6
03:24 foof I was thinking a format like {],]]]} where the brackets to the right of the , are right brackets would indicate the , as a comma separator rather than a decimal separator, but then you couldn't right justify after a decimal separator.
03:25 foof Alternately, {],]]],]]]} could only mean , is a comma separator, but then you can't have a smaller width.
03:34 drbean joined #perl6
03:39 foof Actually, am I mistaken or is there no way to format numbers without putting them in a fixed-width field?
03:54 wolverian joined #perl6
03:54 diakopter joined #perl6
03:54 Casan joined #perl6
03:55 clkao joined #perl6
03:55 statico joined #perl6
03:55 ingy joined #perl6
03:55 lumi joined #perl6
03:56 Aankhen`` avar: One problem with Perl 6 modules on CPAN is… how do you differentiate Perl 5 modules from their Perl 6 ports
03:56 Aankhen`` ?
03:56 wilx joined #perl6
03:57 avar with magic
03:57 Aankhen`` Ah, glad we cleared that up.  I feel a lot better now.
03:57 avar I don't know, how is this specced in the synopsis?
03:57 avar in any case nothing will break if they're not indexed by the normal index files
03:57 Aankhen`` I don't seem to recall reading any specs about this. :-S
03:58 stef_ joined #perl6
03:58 Aankhen`` Oh, sure.
03:59 lampus joined #perl6
03:59 spinclad joined #perl6
03:59 BooK joined #perl6
03:59 PerlJam joined #perl6
03:59 mr_ank joined #perl6
03:59 svnbot6 joined #perl6
03:59 zamolxes joined #perl6
03:59 fridim joined #perl6
03:59 TimToady joined #perl6
03:59 pjcj joined #perl6
03:59 BooK_ joined #perl6
04:00 PerlPilot joined #perl6
04:02 zamolxes_ joined #perl6
04:02 TimToady joined #perl6
04:02 pjcj_ joined #perl6
04:03 lampus_ joined #perl6
04:03 spinclad_ joined #perl6
04:05 mr_ank_ joined #perl6
04:10 nperez joined #perl6
04:26 foof "(define\n (fold kons knil ls)\n (define (loop ls acc) (if (null? ls) acc (loop (cdr ls) (kons (car ls) acc)))\n\n   (if (null? ls) acc (loop (cdr ls) (kons (car ls) acc))))\n (loop ls knil))"
04:26 foof oops, wrong window
04:27 amnesiac what the...
04:28 foof sorry, my screen(1) installation is broken and I'm struggling with a bunch of scattered xterms
04:29 amnesiac what is kons and knil? user defined cons and nil symbols?
04:30 foof yeah, basically - it's a generic foldl operation
04:30 foof if you pass it cons and nil it's effectively a list-copy
04:30 foof ... I mean reverse
04:33 amnesiac I see
04:52 zamolxes changed the nick to zamolxes_
05:04 stef_ joined #perl6
05:08 ddwagnz joined #perl6
05:09 Aankhen`` (?(c)t|f)         [ c :: t | f ] # is this accurate?  I interpret the pattern on the right to mean c, with no backtracking allowed, followed by either t or f. :-S
05:09 BooK joined #perl6
05:09 Aankhen`` s/no backtracking allowed/backtracking causing the group to fail/
05:12 Aankhen`` I would have thought it's more like [ <{ (c) ?? t !! f }> ]
05:13 Aankhen`` Speaking of which, from S05: "A leading { indicates code that produces a regex to be interpolated into the pattern at that point as a subrule".  So String objects are automatically turned into Regex objects, with Regex objects being treated as subrules?
05:30 svnbot6 r16317 | Darren_Duncan++ | ext/QDRDBMS/ : updated some terminology in Language.pod, and some parameters in Operators.pm
05:35 devogon joined #perl6
05:35 SubStack joined #perl6
06:03 hirschnase joined #perl6
06:09 weinigLap joined #perl6
06:12 TimToady Aankhen``: yes, <{ $x }> will compile $x into Regex if it isn't already one, hopefully caching the Regex so it doesn't have to recompile if the string doesn't change.
06:13 TimToady though it occurs to me that <$( $x )> would do the same
06:14 Aankhen`` Neat.
06:14 TimToady on [ c :: t | f ] the :: binds tighter than the |
06:14 TimToady should probably be || nowadays though
06:14 Aankhen`` Okay.
06:15 TimToady if c fails it goes to f, if t fails it doesn't
06:15 Aankhen`` Ohh.
06:15 Aankhen`` Hmm.
06:15 Aankhen`` Ah.
06:15 TimToady so it really is if/then/else in regexland
06:15 Aankhen`` Makes sense.
06:15 TimToady and stacks vertically nicely, though that's hard to show on irc
06:16 Aankhen`` Should have known better than to doubt such an elegant construct. ^_^
06:16 TimToady was sort of an aha moment while writing A5
06:16 Aankhen`` So basically, the only change it needs is s/\|/||/ to make sure the sequence is preserved, aye?
06:17 TimToady yes, though arguably use of | just means the c's are tested in longest token order
06:17 rfordinal joined #perl6
06:17 TimToady since :: explicitly terminates the longest token match
06:17 TimToady in addition to controlling the backtrack
06:19 dduncan question: did there seem to be any merit to my suggestion of fundamentally using $ for all variables and changing @% etc to a subset of former uses? ... or did it sound without merit? ... or did I just miscommunicate the idea?
06:20 dduncan there were no replies, so I'm not sure if people didn't understand what I said, or if it was simply dismissed as not wasting time to reply to
06:20 svnbot6 r16318 | Aankhen++ | docs/other/porting_howto:
06:20 svnbot6 r16318 | Aankhen++ | * slight update to (?(c)t|f) translation.
06:20 dduncan (it was on p6l)
06:22 TimToady it seems to me to be akin to the original Highlander Variable proposal, and therefore suffer the same flaws mentioned in A2.
06:25 dduncan I'm not sure what you refer to exactly, but I don't think what I was proposing is so extreme.
06:25 dduncan it was just the @ and % sigils I suggested changing to @$ and %$, but any other sigils can stay the same
06:26 TimToady that would not be at all acceptable to the typical Perl 5 programmer.
06:26 Averell joined #perl6
06:26 TimToady and you have to explain why &$ is exempt
06:26 jisom joined #perl6
06:26 dduncan a question then, based on the way things currently are ...
06:26 TimToady I'd just rather keep those namespaces separate
06:27 dduncan I agree with keeping routines separate
06:27 dduncan now, ...
06:27 dduncan what sorts of sigils should each of these have: Set, Mapping, Capture, Signature, Pair?
06:27 dduncan I know you can use : or | etc in declaring ...
06:28 dduncan but afaik those aren't kept as sigils in variables of those types
06:28 TimToady none of those occur frequently enough to deserve anything beyond $
06:28 dduncan Seq likewise?
06:28 dduncan so are you saying that Array and Hash get their own for huffmanizing?
06:29 TimToady that's more like an Array
06:29 dduncan they are used a lot
06:29 TimToady mostly anonymously
06:29 dduncan so would a Seq variable have a @ or $ ?
06:30 TimToady Seq is immutable, so it's not a variable...  :P
06:30 dduncan let me rephrase that ...
06:30 TimToady Seq is not used much at all in the t/ director
06:30 TimToady y
06:31 dduncan would a variable defined to just hold Seq values have a @ or $ ?
06:31 TimToady you can bind a Seq to either $ or %
06:31 TimToady @ I mean
06:31 dduncan so then, Seq is the same as Array, in that it can bind to either $ or @ ?
06:32 TimToady basically
06:32 dduncan would then Mapping bind to $ or % as a Hash does?
06:32 TimToady presumably
06:33 TimToady and Code can bind to $ or &
06:33 dduncan how about Set and Bag etc ... I would imagine either % or $ as well?
06:33 dduncan would a Pair bind to a % , or just a $ ?
06:33 baest changed the nick to baest_
06:33 TimToady Indeed, the synopses discuss modelling them on hashes with automatic values
06:34 TimToady I imagine you could bind a Pair to be a tiny hash
06:34 dduncan it is with the mutable versions, so I suppose the immutable versions could have the same sigils
06:34 dduncan okay ...
06:35 TimToady yeah, we don't really distinguish mutable vs immutable variables syntactically
06:35 TimToady they just complain if you try to vary them...
06:35 dduncan part of the reason I raised the whole issue is that it seemed not so good that just Array and Hash have those extra sigils just for them, and other container types didn't ... but from what I'm reading above, it doesn't sound like my concerns in this regard are valid ... the other collection types can bind to @ or % too
06:35 TimToady and presumably the compiler can sometimes intuit more than that
06:35 TimToady or both
06:36 dduncan still, that takes care of a large part of my concern, so thanks for clearing this up
06:36 TimToady sure
06:36 dduncan do the Synopsis cover all the details we just discussed, or do you mind updating them so?
06:36 TimToady array and hash sigils are a semantic huffmanization explored by earlier Perl with pretty good results
06:36 TimToady the * sigil was a mistake though...
06:37 dduncan sure
06:37 TimToady uh, I think you could derive everything I said, but it's perhaps not always stated in so many words
06:37 dduncan on a separate matter, I'm happy to see the returns->as rename occurred in the Synopsis as we discussed last week
06:38 dduncan sure, but sometimes it helps to have some things explicitly stated
06:38 TimToady up to a point, after which you're just repeating yourself... :)
06:38 dduncan eg, explicitly state what are all the built-in types that could typically bind to each of the sigils
06:39 dduncan so eg if you said %foo in a signature, you can have an idea what range of built-in types you may get
06:39 dduncan (and $ is like a maximal type sigil in that *anything* can bind to it, afaik)
06:40 TimToady I'll think about where best to put that--the original camel structure didn't really have a chapter for types...
06:40 dduncan sure
06:40 dduncan but afaik, the synopsis have somewhat evolved away from the Camel book already
06:40 TimToady so probably somewhere in S02
06:40 dduncan sure
06:41 dduncan on a different matter, possibly previously discussed ...
06:42 dduncan given that afaik it is best practice when declaring parameter types or testing argument types that .does() is used, so that valid arguments for the parameter are ones that .does() the declared parameter type ...
06:42 dduncan and given that we often have mutable types saying they do immutable types, eg Array does Seq ...
06:43 dduncan I get the impression that if I declare a parameter of type Seq, I could validly be handed an array?
06:44 Psyche^ joined #perl6
06:44 TimToady I suppose so.  'Course, all parameters are considered readonly by default anyway...
06:44 dduncan but the reason I asked for a Seq is that I want the value I am given to be immutable, so eg if I then assign it to one of my private attributes, then subsequent modification of a passed array argument won't affect my attribute
06:45 dduncan afaik, the read-only thing just prevents me inside my routine from changing it, but doesn't prevent the above scenario
06:45 dduncan or that is, read-only prevents me from assigning to the parameter
06:45 TimToady yeah, maybe we need an "is snap" or some such for a readonly snapshot
06:45 TimToady or COW or something
06:46 dduncan and so then if the original is immutable, then the process doesn't make a copy, and if the argument is mutable, then it does make a snapshot
06:46 TimToady have the same problem if we allow people to use a class as a role
06:46 TimToady we have to take a snapshot of the current state of the class and make an immutable role from it
06:47 TimToady if objects have some kind of versioning builtin, then it could just refer to the particular state in time
06:47 dduncan still, if we can get that kind of protection, then it would be very useful to me, as I won't have to clone the argument manually in case it was mutable, to protect my internals
06:47 TimToady might work with STM somehow
06:48 dduncan perhaps, though I thought STM was more for short-term atomicity
06:48 dduncan still, thanks for anything you can do to design a fix for this matter, as I see it as a very real issue that would affect many peole
06:48 TimToady well, it's about proving lack of contradiction in some update order, and it just feels like "not updated" is one variety of assertion about the update.
06:49 dduncan is it worth my bringing up this matter on p6l, or is my just telling you now enough?
06:49 TimToady but maybe it's more of a COW issue underneath, so you only have to take a snapshot if someone has already claimed the mutability of the object.
06:50 dduncan copy-on-write sounds reasonable ...
06:50 dduncan for that matter, while I mentioned Arrays, I see this issue potentially affecting every data type
06:50 TimToady might be worth discussing on p6l; I'm likely to get distracted, and it's partly the implementors that have to figure out what it really means underneath
06:50 dduncan for example, if we have a random object that does Str or Int or Bool, they could be mutable too
06:51 TimToady sure, might even be worth some very short sugar
06:51 dduncan and for those it may not even be possible to work around outside the language, short of eg $copy = "$original" which forces a new Str to be made
06:51 dduncan and that is inefficient
06:52 dduncan okay, I'll write up a quick thing about this on p6l now ...
06:52 TimToady maybe all objects have a .snap method to go with .bless and .clone
06:52 dduncan I may also just be lazy and copy this thread into it as the meat of the post, so they know what each of us said
06:53 TimToady would be okay too
06:53 TimToady or just link to log
06:53 dduncan but .snap would be called lazily, citing COW
06:53 TimToady well, it's a noop on immutable types
06:53 dduncan I'll do both, assuming this thread is short, unless we go on for awhile
06:53 dduncan yes
06:53 TimToady would only need COW on mutables
06:53 dduncan yes
06:54 TimToady well, I need to go to bed, my eyes are crossing
06:54 dduncan sure ... and it's midnight here
06:54 dduncan thanks for the chat
06:54 TimToady your welcome, night
06:54 TimToady zzz &
06:54 TimToady *you're
07:01 Patterner changed the nick to Psyche^
07:08 drupek12 joined #perl6
07:18 franck__ joined #perl6
08:04 dduncan and the p6l post is done
08:05 dduncan and I'm gone
08:05 * dduncan zzz
08:05 Tene dduncan: seeya
08:05 iblechbot joined #perl6
08:21 bernhard joined #perl6
08:31 japhb joined #perl6
08:43 Jedai joined #perl6
08:50 pipping joined #perl6
08:55 andara joined #perl6
09:13 riffraff joined #perl6
09:20 ludan joined #perl6
09:21 riffraff hi
09:27 nwc10 left #perl6
09:29 moritz hi riffraff ;)
09:33 dduncan left #perl6
09:38 buetow joined #perl6
09:38 polettix joined #perl6
09:48 ruoso joined #perl6
09:53 the_dormant joined #perl6
09:55 IllvilJa joined #perl6
10:13 hirschnase joined #perl6
10:13 lde joined #perl6
10:23 sapir joined #perl6
10:25 sapir is there a page somewhere that describes how far away Perl 6 is from a full working implementation?
10:27 chris2 joined #perl6
10:38 xinming http://svn.pugscode.org/pugs/docs/01Overview.html
10:38 lambdabot Title: Pugs Apocryphon 1
10:39 xinming spinclad_: http://svn.pugscode.org/pugs/docs/01Overview.html
10:39 lambdabot Title: Pugs Apocryphon 1
10:39 xinming spinclad_: sorry, wrong completion.
10:39 xinming sapir: the url is for you.
10:39 sapir thanks
10:40 spinclad changed the nick to spinclad_
10:42 sapir does that mean Pugs doesn't have classes or rules yet?
10:44 mj41 h, Mono:DLR  http://www.oreillynet.com/xml/blog/2007​/05/monodlr_hello_dynamic_language.html
10:44 lambdabot Title: [Mono:DLR] Hello, Dynamic Language Runtime-enabled World! - O&#039;Reilly XML Bl ..., http://tinyurl.com/yqexqp
10:59 edenc joined #perl6
11:06 mjk joined #perl6
11:06 the_dormant joined #perl6
11:14 rindolf joined #perl6
11:32 kanru joined #perl6
11:42 nipotaway changed the nick to nipotan
11:44 rho joined #perl6
11:47 jisom_ joined #perl6
11:51 lichtkind joined #perl6
11:52 lichtkind ?eval gather for (1,1,1,2,3) {  state $previous = take $_;    next if $_ === $previous;    $previous = take $_  }
11:52 evalbot_r16318 changed the nick to evalbot_r16316
11:52 evalbot_r16318 (1, 1, 1, 1, 2, 3)
11:52 lichtkind hahahaha
11:52 lichtkind like i thought the example in the syn 6is bad
11:53 lichtkind see under http://dev.perl.org/perl6/doc/desig​n/syn/S04.html#The_gather_statement
11:53 lambdabot Title: Synopsis 4: Blocks and Statements - perl6:, http://tinyurl.com/o9tb7
11:56 pipping joined #perl6
11:59 DarkWolf84 joined #perl6
12:00 cernd joined #perl6
12:20 the_dormant joined #perl6
12:22 svnbot6 r16319 | rhr++ | [examples/unitsdat-grammar.pl] Handle nested parens correctly (maybe).
12:22 svnbot6 r16319 | rhr++ | Recursive grammars make my head hurt...
12:23 jerrylee joined #perl6
12:30 turrepurre joined #perl6
12:33 baest joined #perl6
12:53 carl_ joined #perl6
12:53 carl_ left #perl6
13:00 DarkWolf84 joined #perl6
13:02 lampus changed the nick to lampus_
13:14 svnbot6 r16320 | rhr++ | [examples/unitsdat-grammar.pl] Big refactoring, it actually makes sense now.
13:17 ludan joined #perl6
13:17 lichtkind ?eval gather {  take 1, 2;   take 5 }
13:17 evalbot_r16319 changed the nick to evalbot_r16318
13:17 evalbot_r16319 (1, 2, 5)
13:17 lichtkind ?eval gather {  take [1,1] ;   take 5 }
13:17 evalbot_r16319 ([1, 1], 5)
13:18 lichtkind thanks
13:22 gnuvince left #perl6
13:23 the_dormant_ joined #perl6
13:27 [particle] joined #perl6
13:28 lichtkind ?eval do { 'as' }
13:28 evalbot_r16319 "as"
13:28 lichtkind ?eval gather { 'as' }
13:28 evalbot_r16319 ()
13:28 lichtkind ?eval gather { take 'cdf'; 'as' }
13:28 evalbot_r16319 ("cdf",)
13:30 lichtkind ?eval @maler = gather {
13:30 lichtkind    take 'Caspar David Friedrich';
13:30 lichtkind    take 'Paul Cezanne', 'Claude Monet';
13:30 lichtkind    'Alfred Sisley';
13:30 evalbot_r16319 Error: ␤Unexpected end of input␤expecting "use", statements or "}"
13:30 lichtkind }
13:31 lichtkind ?eval @maler = gather {take 'Caspar David Friedrich';take 'Paul Cezanne', 'Claude Monet';'Alfred Sisley';}
13:31 evalbot_r16319 ["Caspar David Friedrich", "Paul Cezanne", "Claude Monet"]
13:33 PerlJam changed the nick to PerlPilot
13:33 svnbot6 r16321 | rhr++ | [examples/unitsdat-grammar.pl] Add support for prefixes and plurals in definitions.
13:40 lichtkind ?eval do { leave 2 }
13:40 evalbot_r16319 (2,)
13:40 lichtkind ?eval do { leave 2; return 1 }
13:40 evalbot_r16319 (2,)
13:40 lichtkind ?eval do { return 1 }
13:41 evalbot_r16319 Error: Cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode)
13:41 lichtkind ?eval sub r { return 1 } r();
13:41 evalbot_r16319 1
13:41 lichtkind ?eval sub r { leave 2; return 1 } r();
13:41 evalbot_r16319 (no output)
13:44 svnbot6 r16322 | rhr++ | [examples/unitsdat-grammar.pl] Was allowing prefixes in the wrong place.
13:54 stevan_ joined #perl6
13:56 pack|pizza joined #perl6
14:06 dvorak joined #perl6
14:09 hatsuseno joined #perl6
14:20 fridim joined #perl6
14:32 pipping left #perl6
14:40 drupek12 joined #perl6
14:53 elmex joined #perl6
15:02 goban joined #perl6
15:02 goban when writing perl should i actually use $_ and such? seems this could conflict with other things (say its in a subroutine)
15:03 diakopter ?eval use $_ and such
15:03 evalbot_r16322 changed the nick to evalbot_r16319
15:03 evalbot_r16322 Error: ␤Unexpected "$_"␤expecting "=", use version or use package
15:03 dunstabulos joined #perl6
15:04 TimToady goban: it is true that $_ can only mean one thing at a time
15:04 amnesiac joined #perl6
15:05 TimToady so I wouldn't use it for a scratch variable unless you really want it to be the current topic
15:05 goban dont all those global variable side effects cause confusion?
15:06 goban (new to perl)
15:06 TimToady $_ isn't a global in p6, it's a lexical
15:07 TimToady so topics are well scoped
15:07 goban ah cool, the job im applying for is using perl5 still though, but p6 sounds really cool
15:07 TimToady yes, we're fixing a lot of those kinds of problems that p5 *does* have
15:08 TimToady but p5 is still an okay language
15:08 TimToady hopefully p6 will get the same result while requiring less self-discipline
15:09 TimToady we've worked hard at reattaching various previously global concepts to the correct scope or object in p6
15:10 TimToady so nearly all the global special variables are gone
15:10 goban will normal perl 6 let me use p5, haskell, and java modules like pugs?
15:10 TimToady if the underlying engine does; the intent is to run p6 on any of a number of engines
15:10 TimToady certainly the parrot engine is aiming to run multiple engines
15:11 TimToady s/engines/languages
15:11 TimToady though I doubt they're thinking of Haskell at the moment...
15:11 TimToady the current Haskell engine gives access to p5
15:11 rindolf joined #perl6
15:12 TimToady but nobody's working on the Java connection at the moment
15:12 TimToady once we have the front end done, it shouldn't be too difficult to retarget the back end to any engine
15:12 dunstabulos how is p6 on parrot versus p6 on pugs?
15:12 TimToady including the JVM
15:12 goban dunstabulos, i think pugs is farthur along at the moment
15:12 TimToady it's difficult to compare, because parrot's p6 is happening bottom up
15:13 TimToady while pugs's is happening top down
15:13 TimToady we're hoping they'll meet in the middle and help each other
15:13 goban parot is in p5?
15:14 TimToady right now both implementations are trying to converge on the standard grammar in pugs/src/perl6/Perl-6.0.0-STD.pm
15:14 * dunstabulos is looking forward to playing with the grammar stuff
15:14 TimToady usually just referred to here as "STD"
15:14 TimToady parrot is written in C
15:14 TimToady there is a p5 implementation called "v6" by fglock
15:14 * [particle] hurls http://parrotcode.org
15:14 lambdabot Title: Parrot Virtual Machine - parrotcode
15:15 goban maybe ill start a java implementation just for fun :)
15:15 TimToady would you like a pugs commit bit?  you can basically put anything under that repository
15:16 TimToady the parrot folks are a little more disciplined  :)
15:17 jerrylee so far I cannot compile code on pugs
15:18 jerrylee can pugs be compiled?
15:18 jerrylee i mean perl code on pugs
15:18 TimToady well, that's kinda what's happening with the prelude, but you have to write in a subset of Perl 6 for that currently
15:19 TimToady can't use "return" for instance
15:19 TimToady eventually the AST will have emitters for any back end you like
15:19 TimToady fglock gets a twinkle in his eye when he thinks about a C backend
15:20 TimToady but that would be hard, since you'd have to invent continuations and GC and everything parrot and haskell already provide
15:21 TimToady as it is, targeting the JVM will be difficult if you want efficient continuations
15:22 jerrylee hmm
15:23 TimToady for the most part we've tried to define p6 such that explicit continuations aren't necessary
15:23 TimToady but they would certainly make it easier to write a regex engine that backtracks into subrules correctly
15:24 rashakil joined #perl6
15:27 justatheory joined #perl6
15:29 andara left #perl6
15:36 jerrylee when will pugs become p6?
15:38 [particle] never--there is no single official perl 6 implementation
15:39 [particle] perl 6 has an official spec, and an official test suite
15:39 goban yeah thats one thing i hate about java (no continuations)
15:39 [particle] once any implementation passes the entire test suite, it's perl 6
15:39 jerrylee wow
15:40 jerrylee so pugs could be p6 someday
15:40 [particle] it could be a p6, yes
15:40 jerrylee target date?
15:40 TimToady might even get there first, but parrot is likely to be faster
15:40 [particle] christmas
15:40 jerrylee really? this year?
15:40 TimToady year is unspecified
15:40 [particle] who said anything about year? ;)
15:41 TimToady after p6 is out, every day will seem like christmas... :)
15:41 jerrylee ha
15:41 goban maybe that should be in topic :) seems a common q
15:42 jerrylee really it is
15:43 jerrylee looks pugs and parrot are both going to be perl6
15:44 TimToady the more the merrier
15:45 jerrylee :)
15:47 TimToady once the dam bursts, you're going to see a flooding algorithm at it's best
15:47 jerrylee so compiled on pugs can also integrate with other languages? like in parrot?
15:47 the_dormant joined #perl6
15:48 TimToady if the compiler is in Perl 6, the compiler is platform agnostic
15:48 TimToady only the emitters have to know what platform they're targeting
15:49 TimToady so you could run the compiler on parrot and emit Haskell, maybe.  :)
15:49 TimToady or vice versa...
15:50 jerrylee it's really like a dream, man
15:51 TimToady we'd like to wake up someday and have it be real though...
15:53 jerrylee things are happening
15:54 TimToady well, all of us here are very stupidly persistent, so there's hope
15:54 dunstabulos is the perl6 test suite believed to be complete?
15:55 dunstabulos (believed because you never know if a test suite has complete coverage)
15:56 TimToady it's incomplete
15:56 TimToady I suspect we really want to have about twice as many tests as we have currently
15:57 the_dormant_ joined #perl6
15:59 [particle] maybe even more tests... but we need a complete spec before the test suite is complete
16:00 [particle] dunstabulos: have you seen the specs with tests linked to them?
16:00 [particle] http://spec.pugscode.org/
16:00 lambdabot Title: Official Perl 6 Documentation
16:01 * jerrylee is really sleepy now
16:01 jerrylee good night guys
16:01 jerrylee see you
16:03 [particle] for example: http://perlcabal.org/syn/S0​3.html#Operator_precedence
16:03 lambdabot Title: S03
16:03 [particle] you can show or hide the tests related to that section of the spec
16:04 dunstabulos [particle]: nifty
16:04 [particle] it's a great tool to investigate spec coverage
16:05 zarchne joined #perl6
16:33 weinigLap joined #perl6
16:34 the_dormant joined #perl6
16:37 kanru joined #perl6
16:41 lichtkind hallo TimToady  the snippet in http://dev.perl.org/perl6/doc/desig​n/syn/S04.html#The_gather_statement seems inkorrekt
16:41 lambdabot Title: Synopsis 4: Blocks and Statements - perl6:, http://tinyurl.com/o9tb7
16:42 lichtkind i think your intend was to filder unique values
16:44 PerlJam lichtkind: what do you think is incorrect about it?
16:45 TimToady just looks buggy to me
16:45 lichtkind PerlJam: it does nothing
16:46 lichtkind i tested it one hour ago
16:46 TimToady with a buggy implementation :)
16:46 PerlJam What is === again?
16:46 PerlJam That's not identity equality is it?
16:46 lichtkind yes
16:47 lichtkind TimToady: but the "buggy implementation" behaved liek expected
16:47 PerlJam perhaps === should be == then
16:47 TimToady the bug may be that pugs doesn't always consider 1 === 1
16:47 lichtkind so maybe i misunderstood something
16:48 TimToady value types should always have an identity of their value, not their memory address
16:48 [particle] 1 is a singleton
16:48 rhr ?eval my @uniq = gather for (1, 1, 2, 2, 3, 3) { state $previous = take $_; next if $_ === $previous; say $previous; $previous = take $_; }
16:48 evalbot_r16322 OUTPUT[␤␤␤␤␤␤] [1, 1, 1, 2, 2, 3, 3]
16:48 [particle] or, more appropriately, highlander :)
16:48 rhr state doesn't work
16:49 TimToady take doesn't return its value yet
16:49 rhr or that :)
16:49 TimToady ?eval gather { say take 42 }
16:49 evalbot_r16322 OUTPUT[␤] (42,)
16:49 TimToady yes, take is not up to spec yet
16:50 TimToady so, buggy implementation, not buggy spec.  :)
16:51 TimToady feel free to fix it. :D
16:51 integral joined #perl6
16:51 the_dormant_ joined #perl6
16:51 lichtkind TimToady:  so take always takes only one value when running through a block and overwrites the old if i take another?
16:52 TimToady huh?
16:52 TimToady take pushes its arguments onto the gather's list, always
16:52 TimToady it also happens to return the argements, according to spec
16:52 TimToady s/e/u
16:54 TimToady are you confused by the fact that the pseudoassign to state declaration happens only once?
16:56 TimToady the second take is never reached on the first time through the loop (assuming take worked right)
16:57 lichtkind no that one i understood something else confuses me
16:58 lichtkind so far i understand this implementation takes every value anyway so no filtering here
16:59 lichtkind there should be no take in the first line of the block i think
17:00 lichtkind i try to rewrite it like i think it should behave
17:01 TimToady the first take is guarded by being in a pseudo assign, so it only happens first time through
17:02 lichtkind ah it gets warmer
17:02 lichtkind thanks now i understand
17:04 chris2 joined #perl6
17:05 franck__ joined #perl6
17:06 lichtkind TimToady+
17:06 lichtkind TimToady++
17:07 Psyche^ joined #perl6
17:07 edenc joined #perl6
17:14 rindolf Hi lichtkind
17:14 rindolf lichtkind: what's up?
17:14 lichtkind rindolf:  perl6wise or general?
17:14 lichtkind hi
17:16 lichtkind rindolf? hm perl6wise im currently writing part 2 of an huge article which was very sucessfull amongst my friends all liked it even they know nearly nothing about perl :)
17:16 lichtkind rindolf: but im currently dont feeling that terribly well
17:18 rindolf lichtkind: "I'm"
17:18 rindolf lichtkind: not "im".
17:18 rindolf perlbot: im
17:18 perlbot im means "instant message".  If you mean "I'm" or "I am", please say that
17:19 rindolf lichtkind: are you sick?
17:19 polettix left #perl6
17:19 lichtkind rindolf do you prefer the gnostic answer? :) the normal would be slightly in between
17:20 rindolf lichtkind: what's "gnostic"?
17:20 rindolf lichtkind: agnostic?
17:21 rodi joined #perl6
17:21 lichtkind rindolf: gnostic is an old knoledgy tradition it actually means knowledgy agnotic means not to know (god)
17:22 rindolf lichtkind: knowledgy?
17:22 lichtkind rindolf: gnostics say that all illnises are illusions
17:22 lichtkind knowledge
17:22 rindolf lichtkind: can you please use some "." or ","?
17:22 lichtkind k
17:22 rindolf lichtkind: thanks.
17:22 rindolf lichtkind: I don't believe all illnesses are illusions.
17:23 Patterner changed the nick to Psyche^
17:23 lichtkind rindolf: i mostly agree to gnostic standpoints, even if they sound sometimes radical and can easily misunderstood
17:24 lichtkind rindolf: but thats an long story. you are the australian wiki maintainer? yes i dindt do there anything since month
17:26 rindolf lichtkind: I'm not *the* perl.net.au maintainer.
17:26 rindolf lichtkind: but I'm editing content there.
17:27 lichtkind rindolf: yeah but you seemed to be one of the australian community core member
17:28 rindolf lichtkind: I'm not Australian.
17:28 rindolf lichtkind: I'm Israeli.
17:28 rindolf lichtkind: but I have some Aussie Perler friends.
17:28 lichtkind ah thatswhy my misinterpretation
17:28 rindolf lichtkind: but I found myself contributing to this wiki.
17:28 rindolf lichtkind: and also to perlmeme.org
17:29 rindolf lichtkind: http://perlmeme.org/
17:29 lambdabot Title: Welcome to perlmeme.org
17:29 lichtkind rindolf: in last weeks i mostly wrote for wikipedia , damians article and some core improvements and now im on the german perl6 tutorial
17:30 rindolf lichtkind: the German wikipedia?
17:30 lichtkind rindolf:  cool i recognized perlmeme since it started i made the link in our linklist there
17:30 lichtkind rindolf:  of course
17:30 rindolf lichtkind: oh.
17:30 rindolf lichtkind: yes, your English is probably not good enough to edit en.wikipedia.org
17:31 lichtkind rindolf: most time of the day it is :), im just sleepy now
17:32 rindolf lichtkind: oh OK.
17:32 lichtkind rindolf:  i even started effort to synchronize between en and de perl main article. even juerd said that my english improved :)
17:32 rindolf lichtkind: oh OK.
17:32 rindolf lichtkind: why are you sleepy now? What time is it where you're at?
17:33 lichtkind rindolf: its 19:37 but it feels like 23:00 to me :)
17:33 rindolf lichtkind: oh. Why?
17:33 lichtkind maybe because last night i played till the next dawn
17:35 lichtkind rindolf:  if your israeli so you have to be in the pugs team right? :)
17:36 the_dormant joined #perl6
17:37 toshinori joined #perl6
17:40 rindolf lichtkind: I'm not really in the pugs team.
17:40 rindolf lichtkind: I know gaal and nothingmuch.
17:40 rindolf lichtkind: I just like to hang out in this channel.
17:41 lichtkind rindolf:  yes its very friendly here :)
17:42 offby1 not enough free beer, in my opinion.
17:44 * rindolf gives a keg of beer to offby1
17:44 offby1 that's more like it!  Thanks.
17:44 rindolf offby1: it's online beer!
17:44 TimToady eep, it's turning into the chatterbox...
17:45 offby1 I notice it's lager, too, and it's warm ... :-|
17:45 rindolf TimToady: what's up?
17:45 TimToady trying to figure out how the summer will work
17:46 [particle] same way it always does here... days will get shorter, temps will get warmer
17:47 offby1 yup
17:47 offby1 I was going to make a similarly flip comment.
17:51 rlb3_work left #perl6
17:57 SCalimlim joined #perl6
18:10 weinigLap_ joined #perl6
18:11 the_dormant_ joined #perl6
18:13 justatheory joined #perl6
18:16 jisom joined #perl6
18:16 pack|pizza left #perl6
18:24 SubStack joined #perl6
18:51 GeJ joined #perl6
18:53 avar @tell fglock http://search.cpan.org/~avar/​re-engine-PCR-0.01_01/PCR.pm
18:53 lambdabot Consider it noted.
18:59 fglock joined #perl6
19:06 prism joined #perl6
19:07 fglock avar: looking
19:07 lambdabot fglock: You have 1 new message. '/msg lambdabot @messages' to read it.
19:08 jrockway @messages
19:08 lambdabot You don't have any new messages.
19:08 avar fglock: b.t.w. that segfault is my fault:)
19:09 bonesss joined #perl6
19:09 fglock avar++
19:13 avar fglock: I also made a release of ::Plugin that works with blead currently: http://search.cpan.org/~avar/re​-engine-Plugin-0.02/Plugin.pod
19:13 lambdabot Title: re::engine::Plugin - API to write custom regex engines - search.cpan.org
19:13 avar lotsa docs and testcases too
19:13 avar You might be interested:)
19:15 fglock hmm - my cpan mirror doesn't know about it yet
19:16 avar noes ohes
19:17 avar http://sial.org/pbot/24942
19:17 lambdabot Title: Paste #24942 from Someone at 85.197.228.236
19:18 fglock avar: I'm now reading about non-perl backends, in order to plan a more portable 6-in-6
19:18 fglock Perl 6 in Perl 5 can cheat...
19:18 avar cool
19:18 avar Have you looked at sbcl?
19:18 avar or other CL backends..
19:19 fglock no - looking now; I'm reading about Groovy
19:19 avar Okey, I won't bother you then:)
19:20 fglock avar: no, please - what's special about sbcl?
19:21 avar It's a common lisp runtime that compiles to machine code
19:21 svnbot7 joined #perl6
19:22 avar In general emitting common lisp would give access to around 20-30 VM's and compilers, including a gcc frontend:)
19:23 fglock avar: ok, it is now in my list :)
19:24 avar Learning CL is on my todo after the current project of hacking perl core / re::eng stuff:)
19:26 avar http://sial.org/pbot/24943 # urgh
19:26 lambdabot Title: Paste #24943 from Someone at 85.197.228.236
19:27 fglock I've done a lot of lisp ... but that was well before I learned Perl 4
19:29 fglock re re::engine::PCR - is it ok if the PCR runtime needs plain p5 regex?
19:29 fglock for character classes, for example
19:30 avar yup, the replacement of engines in p5.10 is lexical, so it's just as all right as it needing strict in some scope:)
19:37 dduncan joined #perl6
19:39 fglock avar: re Paste #24943 - I've never seen that; just in case, PCR Makefile.PL would clean up the cache for you
19:39 fglock but may be a 5.9.5 bug
19:42 polettix joined #perl6
19:48 justatheory joined #perl6
19:52 avar fglock: Do you mainly think of the filecache as something to cache a regex in a loop?
19:53 fglock no, it is a persistent compiler cache; kind of make "pmc" files for each regex
19:54 fglock if you run the same program twice, the second time it starts faster
19:55 the_dormant joined #perl6
20:01 fglock I wonder how sbcl compares to ghc in runtime speed
20:01 avar it's probably faster
20:02 avar well, depending on what of course..
20:02 avar the speed also depends a lot on how it can optimize the code
20:03 avar if you dump the assembly of a function like (abs) it'll be somewhat slow, but if you say that you're only going to use fixnum it's as fast as it can be on x86
20:04 fglock found it: http://shootout.alioth.debian.org/debian/bench​mark.php?test=all&amp;lang=sbcl&amp;lang2=ghc
20:04 lambdabot Title: Lisp SBCL benchmarks | Debian : AMD&#8482; Sempron&#8482; Computer Language Benc ..., http://tinyurl.com/23zmhu
20:06 avar shows what I know about ghc:)
20:18 avar  DB<8> p $p_directory
20:18 avar /tmp/FileCache/v6-rules/2/f/8/
20:18 avar  DB<9> do { my ($s) = $p_directory =~ /^(.*)$/; print "m => '$s'" }
20:18 avar m => ''
20:18 avar mm, wrong channel:)
20:20 rhandom joined #perl6
20:25 meppl good night
20:32 the_dormant_ joined #perl6
20:33 pbuetow joined #perl6
20:41 audreyt ok, I'm ready to push the pad-refactoring local branch, to be followed by the MO branch. the only problems is that it's 2 months of work and 723 commits...
20:41 ozo joined #perl6
20:41 * audreyt ponders whether it's really a good idea to simply svk push --verbatim to replay the 723 commits.
20:42 [particle] holy cow, that's a backlog!
20:43 audreyt it also tells me that the next time, choose smaller bite-sizes for local branching
20:43 xinming audreyt: It's a good idea to see if there is confliction. ;-)
20:43 audreyt I guess I'll just review the commit log by hand and write a really, really long summary
20:43 [particle] what if you push it to a branch?
20:43 audreyt xinming: I pull+merge every week or so
20:43 audreyt [particle]: it's ready for trunk.
20:43 PerlJam audreyt: no guts no glory.  :-)
20:43 audreyt this is more about log-comprehensibility than anything else...
20:44 xinming audreyt: Then, I have an idea... Just dump the log with svk log first.
20:44 [particle] audreyt: it'd give you a way to keep all the history, but the log would only have one merge entry
20:44 dduncan send it in and we'll deal with it
20:44 [particle] *trunk log
20:44 xinming audreyt: and then, merge with svn
20:44 audreyt [particle]: point taken
20:44 xinming svn co the local copy, and merge one by one.
20:44 dduncan by the way, have any of you tried the Git version control system?
20:44 xinming dduncan: Yes, But a bit hard to use for me.
20:45 * Tene has tried git and is quite fond of it.
20:45 PerlJam dduncan: I used it a bit briefly
20:45 dduncan its possible that if we were using that rather than Svn, this matter may not be such a problem
20:45 PerlJam dduncan: merlyn is enamored of it.
20:45 [particle] there's no native windows client
20:45 [particle] only *blech* cygwin
20:45 dduncan I'm relatively new to it, but thanks to mugwump I am now using it for my Perl 5 projects, and I like what it brings
20:45 xinming Tene: I don't like it... As there will be hash collision in it's files. though, I'll never happen in our lives maybe.
20:45 dduncan one big thing that would help us here is that commits aren't linear
20:46 audreyt dduncan: true, but a switch to darcs or git just to get one merge going is... strange :)
20:46 Tene [particle]: nor is there a native beos client, nor an OS/2 client. ;)
20:46 dduncan yes, of course, we would switch to it just because its generally more useful, if that's true
20:46 audreyt I guess I'll just look at the log and summarize a bit without losing too much info and do it in one commit.
20:46 avar I use git for perl-core, but I don't really know it:)
20:46 * avar knows, pull, update, restore, diff
20:46 dduncan I only know a minimum of it, but it seems to work
20:46 Tene audreyt: perhaps just a log of "Magic!  Don't look behind the curtain!  Worship me!"
20:47 audreyt heh :)
20:47 [particle] 6.28RC1 :)
20:47 PerlJam audreyt: you could output the entire log since you forked to a file and then just use that as the log message for the one commit  :)
20:47 audreyt PerlJam: that's what I mean, with tiny cleanups
20:47 audreyt doing that now
20:47 dduncan either way, I eagerly await the 6.28 goodness
20:47 * [particle] wonders if there's a commit log max length
20:48 PerlJam oh, "look at the log and summarize a bit" sounded quite different in my ears :)
20:49 * xinming is waiting for audreyt's commits, and preparing to pulll... O_O
20:49 * dduncan what x said
20:50 PerlJam I think we're all waiting to pull now that we know what's coming.
20:50 dduncan It's Christmas in July, er, May!
20:51 the_dormant joined #perl6
20:53 xinming audreyt is mother Christmas.... ;-)
20:55 fglock audreyt: hey :)
20:55 xinming hmm, no offending meaning... I just googled, Father Christmas is the man who gives people presents. So I don't know if Mother Christmas will be the nature form to tell me idea.
20:55 audreyt fglock: hey :)
20:56 audreyt xinming: I think it's known as "Santa Claus"
20:56 fglock feather christmas?
20:56 Patterner Hogfather.
20:57 PerlJam Note from Santa Claus: Christmas is suspended until Perl 6 arrives.
20:57 xinming Santa Claus's wife: He's right.
20:57 PerlJam (They've started using pugs to automate Santa's workshop, but it's not quite functional enough)
20:58 ggoebel joined #perl6
21:00 audreyt hm, it's 5am and I think summarize is impossible... change of plan: simply replay everything and summarize later ;)
21:00 lampus joined #perl6
21:00 Tene alternate plan: replay and let someone else summarize for you.
21:01 audreyt whilst I sleep? indeed, I've been away for too long that I forgot the gnomes :)
21:01 * audreyt hacks svk to make it not re-post the merge-from-trunk logs
21:02 xinming good idea. Oh, my love, my darling, I've hungered for your commits a long, lonely time...  :-)
21:02 weinigLap joined #perl6
21:03 ozo joined #perl6
21:03 xinming don't get me wrong, I am really happy to see audreyt is here again.
21:04 [particle] somebody disable the svnbot before the channel is flooded
21:04 dduncan audreyt, as much as I'd like to see your commits yesterday, I suggest you may want to sleep now and do your commit after you get up, so that something unpleasant doesn't happen due to sleep clouds
21:05 * audreyt then discovers someone known as mndrix++ has already hacked that into svk ;)
21:05 audreyt dduncan: yes, but svnbot runs
21:05 audreyt so it shouldn't be _too_ bad...
21:05 audreyt (the svnbot7 was me testing from the pad branch)
21:06 audreyt and the relatively more fragile code from the MO branch, as well as more shaky speed optimizations, I don't plan to commit today...
21:06 japhb I can't wait for this merge ... my stack of 3D code porting was blocked on pre-merge pugs problems ....
21:06 dduncan I mean, you are wanting to get a few things set up just right for this one commit ... sleep can help you not forget something you want to include
21:07 audreyt true, but we can always revert
21:07 japhb dduncan: with great respect to audreyt++, I'm more afraid that life will happen for her by tomorrow morning.  :-)
21:07 * audreyt runs "env SVKRESOLVE=y svk push --verbatim"
21:08 dduncan okay then
21:08 svnbot6 r16323 | audreyt++ | * initial checkin for pad refactoring
21:09 svnbot6 r16325 | audreyt++ | * HTML::Entites - Fix infinite loop due to incorrect multi dispatch use:
21:09 svnbot6 r16325 | audreyt++ |     # incorrect - "is rw" only distributes for *@x, not @x;
21:09 svnbot6 r16325 | audreyt++ |     #             the annotation would enable @x.push instead.
21:09 svnbot6 r16325 | audreyt++ |     sub f (@x is rw) { $_++ for @x }
21:09 [particle] skipped a rev?
21:09 audreyt mergedown is skipped automagically
21:09 japhb [particle]: might be the merge from trunk
21:09 svnbot6 r16326 | audreyt++ | * temp checkin for pad refactoring; COMPILING pad thought out.
21:09 audreyt i.e. I pulled from trunk between those
21:09 [particle] aha
21:09 dduncan so we're getting it as a hundred commits then?
21:09 japhb dduncan: that's the --verbatim part, I believe
21:09 audreyt or more, yes.
21:10 dduncan okay
21:10 [particle] with realtime comments from the gallery :)
21:10 svnbot6 r16327 | audreyt++ | * more preliminary hacks.
21:10 audreyt reason I did it this way is that "svk log t/something.t" can display relevant logs
21:10 audreyt instead of utter mess of unrelated thing(s)
21:10 japhb audreyt: anyway to let us know when all of it is done, without you having to stay awake?
21:10 svnbot6 r16328 | audreyt++ | * Done with the parser part.
21:11 audreyt (the true reason however is that summarization to make it non-utter-mess is beyond my current brainpower)
21:11 [particle] japhb: sure, she could provide the text of the last commit log
21:11 audreyt japhb: sure, the last commit would be say that :)
21:11 audreyt *saying
21:11 dduncan and besides, why should we lose any details ... the verbose is better methinks
21:11 svnbot6 r16329 | audreyt++ | * syntax checks now!
21:11 japhb audreyt: the per-file svk log being relevent is actually very key for me, I appreciate that, even if it wasn't your core reason.
21:12 [particle] audreyt: you should just pretend you're in a different TZ... it's 2pm here, you should be wide awake :)
21:12 audreyt the reason against doing this is that since it's a local branch, my log messages are less formal than what I normally expect myself to give when committing to trunk, but oh well :)
21:12 svnbot6 r16330 | audreyt++ | * more whack at pad refactoring; lift freshness to VCode
21:12 svnbot6 r16330 | audreyt++ |   level and invent the LexPads abstraction.
21:12 dduncan why that same number twice?
21:12 prism joined #perl6
21:12 audreyt two lines?
21:12 [particle] two line commit log
21:12 dduncan oh right
21:12 svnbot6 r16332 | audreyt++ | * Merged various HsSyck tweaks, including proper base64 routines
21:12 svnbot6 r16332 | audreyt++ |   to separate Buf from Str later:
21:12 svnbot6 r16332 | audreyt++ |   Double-quoted strings in YAML output no longer contains continuation
21:12 svnbot6 r16332 | audreyt++ |   lines, which confused YAML.pm terribly.
21:12 svnbot6 r16332 | audreyt++ |   Reported by: Nelson Elhage
21:13 japhb audreyt: I can guarantee that noone here is going to disrespect you for informality in pushing something we've all been salivating over for weeks ....
21:13 audreyt it's just half of it though, the less sexy, iron-out-long-known-bugs-and-sync-up-to-spec branch
21:13 svnbot6 r16333 | audreyt++ | * More pad refactoring.
21:13 svnbot6 r16334 | audreyt++ | * Now compiles again whee.
21:14 dduncan whee
21:14 audreyt I think I can get the other one in next week, but (again) that's only if life doesn't interfere
21:14 svnbot6 r16335 | audreyt++ | * another fix.
21:14 japhb audreyt: does this branch include any performance changes?
21:14 dduncan is "the other one" the last major thing needed for 6.28?
21:14 audreyt japhb: havn't benched. should be ~equiv or slightly faster/slower
21:14 japhb audreyt: I was going to do before & after performance tests
21:15 audreyt japhb: the one key optimization, O(1) pad lookup, is in the other ("MO") branch
21:15 svnbot6 r16336 | audreyt++ | * Remove unused imports.
21:15 svnbot6 r16336 | audreyt++ |   (The YAML compression stuff should probably move over to HsSyck too.)
21:15 svnbot6 r16337 | audreyt++ | * compiled again.
21:15 audreyt otoh, closur entering and cloning is much faster in the new model
21:15 audreyt otoh, parsing could be slower
21:15 japhb audreyt: d'oh!  That's the one I needed most, I think .... but closure enter might save me, not sure
21:15 audreyt honest answer: I don't know. I don't feel significant changes
21:15 svnbot6 r16338 | audreyt++ | * Pad refactoring now runs - snapshot the tree before we redo LexPad
21:16 audreyt japhb: yeah, I think I can pry O(1) out and commit it separately first
21:16 svnbot6 r16339 | audreyt++ | * Things actually run now, yay.  Next step is to convert
21:16 svnbot6 r16339 | audreyt++ |   Params over to the new convention...
21:16 audreyt but not today, at least not today morning :)
21:17 * audreyt ponders a "svk log --edit" feature to retroactively edit logs
21:17 svnbot6 r16340 | audreyt++ | * Params unified with pad entries.
21:17 svnbot6 r16341 | audreyt++ | * Tonights work
21:17 japhb audreyt: no problem, thanks for considering pulling O(1) pad out for me, that's very nice of you!
21:18 audreyt clkao: thoughts? # "svk log --edit" to delete embarrasing stuff from local branch log
21:18 audreyt supposedly it'd display the "svk log" output in an editor, let you edit it, and then parse the log and the do revpropsets
21:18 drupek12 joined #perl6
21:19 svnbot6 r16343 | audreyt++ | * Loading recursive TVar finally works.
21:20 svnbot6 r16344 | audreyt++ | * Finally, circular loading of TVars.
21:20 svnbot6 r16345 | audreyt++ | * Repaired accessor - tests finally working.
21:21 svnbot6 r16346 | audreyt++ | * Interim commit before we can solve the disapperating-tvar bug.
21:21 svnbot6 r16347 | audreyt++ | * Another checkpoint; nested pads now work.
21:21 svnbot6 r16348 | audreyt++ | * This is the first moose that seems to work...
21:21 svnbot6 r16349 | audreyt++ | * Go back to Inline style, as now Prelude compilation seems to be working.
21:22 svnbot6 r16350 | audreyt++ | * Yet another speedup hack.
21:23 japhb Is there anyway to get svk info to recurse when you do it in a checkout of a local copy of a mirror?  I'd like to see the rev of the actual source repo, but svk info in a WC of a local copy of a mirror only shows revs back to the mirror ...
21:23 audreyt japhb: "Merged From" displays the chain iirc
21:23 audreyt the last lines of an svk info
21:23 svnbot6 r16352 | audreyt++ | * Reclose global pad too.
21:23 japhb Hmmm, maybe because I'm running an old svk
21:23 japhb 1.08 (Debian testing)
21:24 audreyt *nod* svk1 is distant memory to me...
21:24 svnbot6 r16353 | audreyt++ | * "make ghci" now works GHC 6.7-trunk (which bundles the filepath package.)
21:26 japhb Yay!  According to http://packages.qa.debian.org/s/svk.html it looks like svk 2 is only one day away from moving from unstable to testing!
21:26 lambdabot Title: Overview of svk source package
21:26 SubStack joined #perl6
21:27 audreyt nice!
21:27 audreyt what does "Not considered" mean?
21:27 audreyt (in that debian page)
21:27 svnbot6 r16355 | audreyt++ | [07-end-blocks.t] Explicitly refer to $package::var instead
21:27 svnbot6 r16355 | audreyt++ | of using "our $package_aliased_as_lex_var" as S04 mandates
21:27 svnbot6 r16355 | audreyt++ | that only package vars are safe to use in END blocks.
21:28 svnbot6 r16356 | audreyt++ | * DrIFT.YAML: Snapshot of the currently-seems-to-be-sane
21:28 svnbot6 r16356 | audreyt++ |   treatment of cyclic YAML compression.
21:28 svnbot6 r16357 | audreyt++ | * Use "=begin END" to save some AST space as the END POD
21:28 svnbot6 r16357 | audreyt++ |   block is not saved into the stream.
21:28 svnbot6 r16358 | audreyt++ | * Pugs.Parser: The Main::MAIN sub now remembers its package;
21:28 svnbot6 r16358 | audreyt++ |   also END blocks should close over its compiling pad as outer pad.
21:29 audreyt with the pad branch in, it should be generally possible to take any .pm file and generate a .pm.yml without losing closure information
21:29 svnbot6 r16359 | audreyt++ | * The cached "subLexical" field is no more.
21:29 svnbot6 r16360 | audreyt++ | * Regen instances.
21:29 audreyt same goes for .t.yml
21:30 audreyt so that's another route to optimize things, perhaps -- putter did some work on that in Prelude.pm, so maybe reviving it could be considered for 6.28.0, if investigated in time
21:30 svnbot6 r16361 | audreyt++ | * Reclose pads at the end-of-compilation stage (before saving
21:30 svnbot6 r16361 | audreyt++ |   it into serialized AST), not at beginning-of-runtime stage.
21:30 xinming audreyt++
21:30 svnbot6 r16362 | audreyt++ | * Include outer pads in prettified code blocks.
21:30 svnbot6 r16363 | audreyt++ | * named_2_positional.t: unTODO
21:30 japhb audreyt: I think the "not considered" means that svk and the packages it depends on are all too young.  There's a 10-day waiting period for people in unstable to find nasty bugs before packages are allowed to move
21:30 audreyt also, we'd need to port over Moose.pm tests to t/oo/ so that I can commit the MO branch in good conscience
21:31 audreyt (pugs is supposed to pass the same object model tests and carry the same API, differing only in surface syntax.)
21:31 svnbot6 r16364 | audreyt++ | * Add placeholder variables into pad as soon as the first one is seen.
21:31 audreyt any takers? :)
21:32 Tene Where are Moose.pm tests?
21:32 svnbot6 r16365 | audreyt++ | fix an outdated comment
21:32 svnbot6 r16366 | audreyt++ | * Remove debug statement.
21:33 audreyt http://search.cpan.org/src/STEVAN/Moose-0.21/t/
21:33 lambdabot Title: Index of /src/STEVAN/Moose-0.21/t
21:33 svnbot6 r16367 | audreyt++ | * Pugs.Monads: Don't reclose subs that already started.
21:33 svnbot6 r16368 | audreyt++ | * Use the Code object's package and outer pads when evaluating
21:33 svnbot6 r16368 | audreyt++ |   param default expressions.
21:33 audreyt warning: there are a lot of them.
21:33 audreyt stevan_'s project, that's to be expected :)
21:33 svnbot6 r16369 | audreyt++ | * dollar_underscore.t: Chase spec r14356:
21:33 svnbot6 r16369 | audreyt++ |     Simplified -> binding not to autoalias $_ to first arg, per TheDamian++
21:35 svnbot6 r16370 | audreyt++ | * Separate "inline" calls with "displaced" callers, so caller() works more reliably.
21:35 xinming audreyt: Do we need to rewrite the moose test into perl6?
21:35 xinming audreyt: If so, I think I can do this job.
21:35 audreyt xinming: we do, because the surface syntax is difference
21:35 audreyt of course if you want to somehow machine-translate it... :)
21:35 svnbot6 r16371 | audreyt++ | * Make nextwith/callwith work.
21:35 audreyt in any case, in the spirit of t/regex/from_perl6_rules/
21:36 audreyt I think we can put those into t/oo/from_moose/ or something like that
21:36 audreyt and retain the original test numbering/name filenames
21:36 svnbot6 r16372 | audreyt++ | * Pugs.Parser.*: New s_outerVars field to track intermediate
21:36 svnbot6 r16372 | audreyt++ |   blocks crossed from an implicit OUTER reference; for each
21:36 svnbot6 r16372 | audreyt++ |   compiling pad it tracks the set of vars that must not be
21:36 svnbot6 r16372 | audreyt++ |   post-declared within it, lest an earlier reference changed.
21:36 svnbot6 r16372 | audreyt++ |   (The algorithm is by courtesy of Isis Kang; add to AUTHORS.)
21:36 audreyt makes xreffing easier
21:37 audreyt makes some sense?
21:37 svnbot6 r16373 | audreyt++ | * Change the MPad data type to be a standalone datatype,
21:37 xinming audreyt: Ok, But I think I have to do this tomorrow evening.
21:37 svnbot6 r16373 | audreyt++ |   instead of the possibly relocatable TVar.
21:37 xinming audreyt: yes,
21:37 xinming audreyt: Is it hurry?
21:38 audreyt in any case it's a parallelizable job - someone can just commit them en masse as 001_recipe.t.orig or something
21:38 svnbot6 r16374 | audreyt++ | * Primitive blocks generates no closures.
21:38 * [particle] thinks xinming doesn't understand the nature of open source... it's *never* a hurry
21:38 [particle] :)
21:38 audreyt and then anyone can port one of them and remove the .orig bit. I think.
21:38 audreyt xinming: it's *always* a hurry so do it asap! :) /j/k
21:38 svnbot6 r16375 | audreyt++ | * Reclose the MAIN code as well.
21:39 * [particle] is suffering from buffering
21:39 xinming Ok, I'll do tomorrow, I will import the test later with files renamed.
21:39 audreyt xinming++ # or whoever_beats_xinming_to_it++
21:39 svnbot6 r16376 | audreyt++ | * Correctly handle displaced calls into blocks
21:40 xinming [particle]: Yes, I know that, But at least, audreyt herself doesn't have much time, and I don't want to her to do something coolie work. ;-)
21:40 svnbot6 r16377 | audreyt++ | * Supply $_ to the MAIN closure if it wants that.
21:42 * audreyt looks up "coolie" and realizes that 1)It's Chinese not English and 2)Its meaning has nothing to do with "cool"
21:42 svnbot6 r16378 | audreyt++ | * Fix trait blocks and their interactions.
21:42 mugwump joined #perl6
21:43 * diakopter hands audreyt rose-colored glasses.
21:43 * [particle] curses newegg.com's slow rma process
21:44 xinming audreyt: My dictionary database should be upgraded. >_<
21:44 svnbot6 r16379 | audreyt++ | * &?BLOCK and &?ROUTINE are now correctly (recursively, lexically)
21:44 svnbot6 r16379 | audreyt++ |   bound, so a displaced blocks can still see its lexically contained
21:44 svnbot6 r16379 | audreyt++ |   &?ROUTINE correctly.
21:44 svnbot6 r16380 | audreyt++ | * Do not recursively close over &?ROUTINE and &?BLOCK.
21:44 audreyt xinming: no, coolie is exactly the correct word to use here :)
21:44 audreyt it's just surprising :)
21:47 svnbot6 r16381 | audreyt++ | * Prelude: Erase the caller frames in &eval and &evalfile.
21:47 svnbot6 r16382 | audreyt++ | * $obj.^foo now means $obj.HOW.foo.
21:47 svnbot6 r16383 | audreyt++ | * Repair importing from perl5 by giving the ->$_{...}
21:47 svnbot6 r16383 | audreyt++ |   primitive a default pad to hold $_.
21:47 svnbot6 r16384 | audreyt++ | * &map into a nullary block should still consume the list.
21:47 svnbot6 r16385 | audreyt++ | * gen_prelude.pl: Deal with "=begin END" in Prelude correctly.
21:47 svnbot6 r16386 | audreyt++ | * fp.pm: Use the modern export-multi style instead of global-operator style for exporting.
21:47 svnbot6 r16387 | audreyt++ | * fp - Now that the Inf term (?\226?\136?\158) is supported, test for it.
21:47 svnbot6 r16388 | audreyt++ | * Don't return from a pointy block.
21:48 svnbot6 r16389 | audreyt++ | * Test.pm - Eliminate an unneccessary double-closure in &try.
21:49 Tene so, import them as .t.orig ?
21:49 svnbot6 r16390 | audreyt++ | * Remove MessageBus as it no longer matches the perl5-IPC::PubSub interface
21:49 svnbot6 r16390 | audreyt++ |   on CPAN; a backport from there would be better than taking this top-level
21:49 svnbot6 r16390 | audreyt++ |   namespace.
21:49 svnbot6 r16391 | audreyt++ | * Stub code objects are ireelvant to parsing.
21:50 audreyt Tene: or .t.p5 or .t.moose or .t.legacy or .t.upstream or something that strikes your fancy :)
21:50 audreyt I like .orig because it's a well known extension that carries the "delete me soetime later" semantic meaning
21:50 svnbot6 r16392 | audreyt++ | * "my $x = 4" should simply generate "$x = 4" instead of
21:50 svnbot6 r16392 | audreyt++ |   "($x = 4; $x)".  This repairs PIR codegen.
21:50 xinming Tene: please don't...
21:50 xinming Tene: I'm doing this now...
21:50 japhb audreyt: what does coolie mean?
21:51 xinming Tene: svk is pushing all the time...
21:51 Tene xinming: oh, I thought you said you'd do it tomorrow night.
21:51 audreyt japhb: coo means "suffering" and "lie" mean "labor"
21:51 Tene Nevermind, then. :)
21:51 xinming Tene: I will import this now, and probably do it tomorrow night.
21:51 audreyt (from Chinese, 苦力)
21:51 japhb audreyt: ah.  "drudgery"
21:52 xinming Tene: But at least, currently, I am importing, to avoid collision. plesae don't push curently.
21:52 audreyt porting over all tests is not a job for a single person to do in one night, unless your night is stretchable and no life interferes, so I'd suggest parallelizable go-ahead-and-port-it for everyone interested, once the importing is done
21:53 xinming yes...
21:53 Tene xinming: will not push. :)
21:53 xinming but don't know why svk push takes so long...
21:53 stevan_ there are a good amount of tests which might not be relevant too
21:53 stevan_ features in Moose which are not in Perl 6
21:53 [particle] moose.SKIP
21:53 stevan_ heya audreyt :)
21:54 stevan_ [particle]: :)
21:54 stevan_ they are not very graceful animals, i doubt they could skip well
21:54 audreyt stevan_: heya. maybe they should be in perl6 somehow *grin* but yes, would be good if you can help mark those ones
21:54 japhb Moose has features not in Perl 6?  Like what?
21:54 * Tene injures himself laughing at stevan_
21:55 stevan_ japhb: the before/around/after method modifiers i stole from CLOS
21:55 stevan_ the augment/inner stuff I stole from BETA
21:55 stevan_ the Role requires feature I took from Fortress (but this is in Perl 6 IIRC, just as method stubs)
21:56 amnesiac audreyt++ # Keynote tips
21:56 japhb stevan_: So these are things that might be elsewhere in the language, just not in the Perl 6 MOP right now?
21:56 audreyt before/around/after is just sugar
21:56 svnbot6 r16393 | audreyt++ | * Add svn props to 99problems tests.
21:56 audreyt can be ported easierly with callwith/nextwith
21:56 stevan_ japhb: Perl 6 will be flexible enough to add all of Moose without much trouble
21:56 [particle] m66se
21:56 svnbot6 r16394 | audreyt++ | * return_in_anonymous_subs - This test is obsolete per S04; maybe delete?
21:56 svnbot6 r16395 | audreyt++ | * coro.t: Correct the "state" test to avoid unintended cloning.
21:57 audreyt but I do find before/around/after easier to explain to an audience
21:57 Tene so perhaps perl6 moose will be flexible enough to skip gracefully?
21:57 svnbot6 r16396 | audreyt++ | * [t/run] - Correct misc. typoes.
21:57 stevan_ audreyt: is there any official hackathon planned for YAPC::EU?
21:58 audreyt stevan_: no, I've been too fried to do any logistics the past three months
21:58 [particle] no doubt japhb will have images of a moose skipping once he finishes porting his code to p6
21:58 stevan_ audreyt: ok,.. no worries, nuffin and I will be there with out hacking leaderhosen on
21:58 japhb [particle]: now there's an idea.  I just need a moose model to play with ...
21:58 svnbot6 r16397 | audreyt++ | * if3.t: Make it report failure properly instead of dying
21:59 stevan_ s/out/our/
21:59 nothingmuch audreyt: i can set up crash space if you need it
21:59 nothingmuch oh wait, hackathon
21:59 nothingmuch i thought attendance
21:59 japhb "PIGGE: Your Moose, Digitized."
21:59 svnbot6 r16398 | audreyt++ | * if2.t: wrap the not-going-to-be-supported-in-this-release
21:59 svnbot6 r16398 | audreyt++ |   feature (statement inside parens) inside and eval+todo.
21:59 svnbot6 r16399 | audreyt++ | * ternary.t: More eval()ify and comment about the true cause of failure.
21:59 [particle] perl 6: as powerful as a moose, as graceful as a skipping moose!
21:59 nothingmuch i can't crash $n hackers on my aunt ^_^
22:00 japhb [particle]: *chuckle*
22:00 svnbot6 r16400 | audreyt++ | * autoload.t - More obsoletification of tests
22:00 svnbot6 r16401 | audreyt++ | * operator_overloading.t - eval()ify the nasty tests.
22:00 svnbot6 r16402 | audreyt++ | * t/magicals/sub.t: Work around a parsing glitch, and
22:00 svnbot6 r16402 | audreyt++ |   reverse a test because &?ROUTINE is now always defined
22:00 svnbot6 r16402 | audreyt++ |   (the MAIN is a routine not a block.)
22:01 svnbot6 r16403 | audreyt++ | * macro_code_test.t - Make this a test, not a prose.
22:01 svnbot6 r16404 | audreyt++ | * caller.t - gotta have a plan.
22:01 svnbot6 r16405 | yiyihu++ |  r16092@HomePc:  xinming | 2007-04-18 02:10:47 +0800
22:01 svnbot6 r16405 | yiyihu++ |  Replaced all './pugs' with $*EXECUTABLE_NAME in tests.
22:01 xinming ....
22:02 xinming oops, It seems that I forgot to push to server what I did almost a month ago. >_<
22:03 stevan_ xinming: if you like, you can also grab the Moose tests from our SVN repo
22:03 weinigLap_ joined #perl6
22:03 stevan_ it is still pretty synced with CPAN right now, but you never know
22:04 riffraff joined #perl6
22:04 stevan_ xinming: http://code2.0beta.co.uk/moose/svn/
22:04 lambdabot Title: Revision 2347: /
22:05 riffraff hi
22:05 svnbot6 r16406 | audreyt++ | * implicit_parameters.t: Contrary to what this test says,
22:05 svnbot6 r16406 | audreyt++ |   {42} does not implicitly use $_ in its body. ;)
22:05 svnbot6 r16407 | audreyt++ | * t/02-test-pm/1-basic.t: Merge the same fix of returning
22:05 svnbot6 r16407 | audreyt++ |   inside pointy blocks from ext/Test/.
22:06 riffraff audreyt is back in hacktion?
22:06 audreyt there's some minor regressions with this mergeback
22:06 audreyt before:
22:06 audreyt 18919 test cases: 17895 ok, 1024 failed, 1987 todo, 715 skipped and 34 unexpectedly succeeded
22:07 audreyt er sorry, that's "after"
22:07 audreyt before is:
22:07 [particle] riffraff: this is a release of pent-up hacktion for the past few months
22:07 audreyt 18921 test cases: 18189 ok, 732 failed, 2054 todo, 719 skipped and 22 unexpectedly succeeded
22:07 audreyt but some of it is due to chasing specs
22:07 xinming audreyt: Is all change uploaded?
22:08 riffraff pent-up?
22:08 svnbot6 r16408 | yiyihu++ |  r16515@HomePc:  xinming | 2007-05-18 05:47:08 +0800
22:08 svnbot6 r16408 | yiyihu++ |  Added tests from Moose-0.21 with all tests append .orig.
22:08 riffraff (sorry, not native speaker)
22:08 Tene riffraff: this is hacking accumulated over the past two months, all being uploaded now.
22:09 [particle] http://dictionary.reference.com/browse/pent%20up
22:09 lambdabot Title: pent up - Definitions from Dictionary.com
22:09 justatheory joined #perl6
22:09 svnbot6 r16409 | audreyt++ | * Data.Yaml.Syck: Misc code cleanups.
22:09 riffraff yeah I got the concept, thanks to both of you :)
22:09 [particle] http://dictionary.reference.com/browse/pent%20up
22:09 lambdabot Title: pent up - Definitions from Dictionary.com
22:09 [particle] repressed
22:10 riffraff nice expression, I love it when I learnstuff  completely unrelated to the channels I'm in
22:11 audreyt xinming: no, they are not -- svk aborted the pushback following your commit
22:11 svnbot6 r16410 | audreyt++ | * DrIFT.YAML: Add "cleanSeen" to clean up the seen-recursive-nodes cache.
22:11 audreyt svk-- # not exactly sentient
22:11 * [particle] hopes he doesn't get that comment on a particle-- someday
22:11 japhb heh
22:11 audreyt lol
22:11 Tene particle++ # quite sentient
22:12 diakopter karma [particle]
22:12 diakopter @karma [particle]
22:12 lambdabot [particle] has a karma of 3
22:12 Tene [particle]++ # also sentient
22:13 xinming audreyt: sorry.
22:13 svnbot6 r16411 | yiyihu++ |  r16571@HomePc:  xinming | 2007-05-18 06:11:02 +0800
22:13 svnbot6 r16411 | yiyihu++ |  Added files from moose svn repository which is missing in 0.21
22:13 svnbot6 r16412 | audreyt++ | * Pugs.AST.Internals - Tidy up initial structs for the new VCode/Pad
22:13 svnbot6 r16412 | audreyt++ |   layout for greater sanity.
22:13 audreyt xinming: no, svk needs to be sorry, not you :)
22:13 audreyt xinming++
22:13 xinming audreyt: and sorry again...
22:13 audreyt xinming: I'm committing the rest by hand, there's just a few of them
22:13 xinming audreyt: because the svk will be interrupted again. I didn't back log....
22:14 * audreyt ponders how a sentient [particle]++ can be composed of nonsentient @particle++...
22:15 japhb audreyt is in the company of a great many sentients in pondering sentience
22:15 svnbot6 r16413 | audreyt++ | * Regen instances.
22:16 xinming audreyt: In my opinion, svk doesn't works well with directory deletion and creation some times.
22:16 svnbot6 r16414 | audreyt++ | * Pugs.AST.Pad: emptyPad is moved into .Internals.
22:16 svnbot6 r16415 | audreyt++ | * Misc. stylistic cleanups in Pugs.AST and Pugs.Eval.
22:17 audreyt xinming: indeed.
22:17 svnbot6 r16416 | audreyt++ | * Pugs.Parser: Each symbol is now exported exactly once -- the
22:17 svnbot6 r16416 | audreyt++ |   old %EXPORT treatment of putting each multi variant into its
22:17 svnbot6 r16416 | audreyt++ |   own array element is now replaced by simply exporting the
22:17 svnbot6 r16416 | audreyt++ |   toplevel proto/multi sub.
22:19 svnbot6 r16417 | audreyt++ | * Pugs.Parser.*: More cleanups; fake a compPad so CHECK blocks
22:19 svnbot6 r16417 | audreyt++ |   still thinks they are running in compile time, even though
22:19 svnbot6 r16417 | audreyt++ |   nothing really is under compilation.
22:20 TimToady does this mean I'll have to recompile?
22:20 svnbot6 r16418 | audreyt++ | * Pugs.Monads: Finish up the enterSub/reclose* subsystem;
22:20 svnbot6 r16418 | audreyt++ |   &?CALLER_CONTINUATION is disabled temporarily because
22:20 svnbot6 r16418 | audreyt++ |   we're not at all sure if it's lexical or not -- this
22:20 svnbot6 r16418 | audreyt++ |   perhaps needs a spec discussion.
22:20 svnbot6 r16419 | audreyt++ | * This concludes the pushback of the pads-rewrite branch.
22:20 audreyt TimToady: oh hey :)
22:21 audreyt TimToady: yes, if it compiles at all
22:21 audreyt (havn't really tried with GHC 6.6!)
22:21 TimToady well, it'll work out
22:21 svnbot6 r16420 | yiyihu++ | Renamed from_moose_0.21 to from_moose since we are sync'ed with moose repository
22:21 Tene What was the goal of the pad rewrite?  Infrastructure to enable more development?
22:22 diakopter @karma audreyt
22:22 lambdabot audreyt has a karma of 779
22:22 audreyt Tene: several (I'm quite sleepy so not really coherent)
22:22 audreyt first, $_ &?ROUTINE etc were fake-lexicals in old pugs runtime -- you can't really close over them and they pollute dynamically, resulting in surprising bugs
22:23 TimToady commuting &  # back in about 40 min
22:23 marmic joined #perl6
22:23 audreyt the premise of the MO branch is that a class is simply a closure factory, so things that can only be semi closed over must go
22:23 audreyt (cf. http://search.cpan.org/dist/Class-Closure/ if you havn't already for prior art by luqui)
22:23 lambdabot Title: Luke Palmer / Class-Closure - search.cpan.org
22:24 audreyt next, our YAML precompilation doesn't really work, because outer scopes only exist in runtime and not really in compile time in the old pugs
22:24 audreyt so only a very fragile subset of code can be put into Prelude.pm and Test.pm in order for them to be compield
22:25 audreyt and MO would require a great deal of OO+Closure code to be put into prelude
22:25 audreyt and we _really_ want to precompile them
22:25 pasteling "rhr" at 65.94.38.10 pasted "r16420 build failure w/ ghc 6.6" (7 lines, 310B) at http://sial.org/pbot/24950
22:26 audreyt so the fragile non-recursive-capable model of pads must go
22:26 Tene audreyt: thank you.
22:26 japhb audreyt++ # Yes, thank you for that explanation
22:26 audreyt there are many more reasons...
22:26 audreyt another is of performance; pad lookup is too expensive
22:26 audreyt and multi variant selection too, partly because of that
22:27 audreyt by locking up pads during compile time, we can emit code that looks up vars by offset
22:27 audreyt not by name
22:27 audreyt so instead of a large envLexical lookup it's now just two offsets (OUTER depth and slot idx), for (I hope obvious) wins
22:28 audreyt (where "now" means "not yet in trunk but soon")
22:28 ashleyb joined #perl6
22:28 japhb That's the O(1) pads, right?
22:29 audreyt yup
22:29 japhb It looks like svk push has finished, but I didn't see the "all done" message
22:29 xinming audreyt: I get the same error with Any not in scope.
22:29 audreyt 06:27 < svnbot6> r16419 | audreyt++ | * This concludes the pushback of the pads-rewrite branch.
22:29 perlbot What kind of idiot karmas himself?  Your kind of idiot!
22:29 audreyt heh ;)
22:29 xinming audreyt: Do I need to upgrade ghc or wait for the fix?
22:29 audreyt xinming: fixing
22:30 japhb Oh duh, I misread that line (don't ask me how, it's clear now, but I looked at it, and saw something different)
22:31 svnbot6 r16421 | audreyt++ | * DrIFT.YAML: GHC 6.6 doesn't export the Any type, so we
22:31 svnbot6 r16421 | audreyt++ |   disable the "seen/cleanSeen" cache in DrIFT.YAML now.
22:31 audreyt s/now/for now/
22:31 xinming making again.
22:33 japhb OK, if I have a WC of a local branch of a mirror of the pugs repo, how do I pull up to a specific pugs rev all the way through to my WC?  'svk sync -t REV //mirror/pugs' followed by 'svk up' in my WC?  Does that DTRT WRT the local branch?
22:33 audreyt "svk pull"
22:33 rhr audreyt++ fix works
22:33 japhb But wouldn't that pull me up to HEAD?  I want to pull to just before and just after your push, so I can compare before/after performance
22:34 audreyt oh.
22:34 audreyt svk sync -t rev, and then "svk up -m"
22:34 audreyt and then "svk pull"
22:35 ggoebel joined #perl6
22:36 japhb I'm not sure I understand the help text for 'svk up -m' ... does that mean that it does the //mirror/pugs -> //local/pugs sync before updating the WC?
22:36 audreyt yup
22:36 japhb OK, cool
22:37 audreyt ?eval 1+1
22:37 evalbot_r16396 changed the nick to evalbot_r16322
22:37 evalbot_r16396 2
22:40 h8crime joined #perl6
22:40 audreyt pugs compile on feather just finished
22:41 * xinming 's computer is still doing compiling
22:41 rhr yay, it builds :)
22:41 audreyt now the stable (I hope!) half is in, I'll work on stabilizing the unstable part and commit piecemeal the parts that can be taken out first
22:41 audreyt with the ultimate goal of passing the (hopefully going to exist soon) moose tests
22:42 audreyt there's no large showstoppers really, so once it does, it's changelogging time
22:42 audreyt ?eval 1+1
22:42 evalbot_r16420 changed the nick to evalbot_r16396
22:42 evalbot_r16420 2
22:42 audreyt but now, sleep :)
22:42 audreyt *wave* &
22:42 xinming audreyt: thanks
22:43 * xinming goes to sleep also.
22:43 Jmax joined #perl6
22:43 eghjaytee joined #perl6
22:47 TimToady_ joined #perl6
23:03 rhr smoke time increased by ~2x here
23:05 rhr "Useless use of a constant in void context" generates some impressively huge error messages
23:05 Aankhen`` joined #perl6
23:08 thepler joined #perl6
23:16 theorbtwo joined #perl6
23:25 fridim joined #perl6
23:25 japhb I'm getting an error message that simply says 'user error' right after pugs starts when trying one of my benchmarks.  However, after that error message, it seems to continue working, but a while later goes into a CPU-chewing loop.  This did not happen with the last rev before the big merge.
23:26 japhb I've made clean and am now rebuilding to see if that matters
23:29 Limbic_Region joined #perl6
23:30 Limbic_Region woah, significant update with svn up - is audreyt back?
23:30 Limbic_Region ?seen audreyt
23:30 lambdabot audreyt is in #perl6 and #haskell. I last heard audreyt speak 48m 12s ago.
23:31 TimToady_ there's a 'user error' trying to precompile the prelude too, and that's after a realclean
23:31 TimToady_ Limbic_Region: yes, the pad refactor just went in
23:31 TimToady_ setting up for MO soon
23:31 Limbic_Region ok
23:31 buetow joined #perl6
23:32 TimToady_ not precompiling the prelude might explain the slower smoke
23:32 rhr aha, didn't notice that
23:33 Aankhen`` Whoo.
23:33 TimToady_ yeah, just running pugs gets the error
23:33 Aankhen`` Nice update indeed.
23:34 TimToady_ so it reloads the prelude, which doesn't seen to get the error again
23:34 TimToady_ *seem
23:35 TimToady_ "user error" is not the most helpful diagnostic I've ever seen...
23:35 rhr I get the "user error" but it seems to generate blib6/lib/Prelude.pm.yml ok
23:35 TimToady_ Oh, I was outside of /pugs when I got the user error
23:35 TimToady_ running in /pugs doesn't get it
23:35 * Limbic_Region is not even going to attempt building without realclean given the extent of the rev
23:36 TimToady_ I'm recompiling on windows, up to 98 of 112
23:36 TimToady_ I also did a realclean first
23:36 TimToady_ (it'll reconfigure in any case)
23:36 Limbic_Region TimToady_ - what is your Win32 environment like - AS Perl with MinGW?
23:37 TimToady_ so apparently it's only compiling the prelude that produces 'user error'
23:37 TimToady_ cygwin with strawberry perl overlaid
23:37 Limbic_Region interesting
23:38 Limbic_Region I assume that the cygwin portion has nothing to do with the pugs build?
23:38 TimToady_ so anyway, I don't think my "user error" theory explains the slowdown
23:38 TimToady_ I don't know if it's using anything from cygwin
23:38 TimToady_ it certainly isn't using cygwin perl, which doesn't work
23:39 TimToady_ (for compiling pugs)
23:40 Limbic_Region so in addition to a helpful error message, it is also slower?
23:41 japhb OK, confirmed, 'user error' disappears when running from within pugs WC.  However, script eventually off into la-la land still happening.
23:41 rhr my smoke went from 6.5 to 12mins, YMMV
23:42 offby1 a long-lasting cigar!
23:44 TimToady_ heh, got a permission denied trying to pregen prelude on windows...
23:45 moritz I didn't even knew that windows has file permissions ;)
23:45 TimToady_ could be a cygwin thing
23:45 Jmax it has Object Permissions
23:45 Aankhen`` moritz: XP Pro (and, I think, most NT-based OSes) have this "advanced" security mode which is pretty intricate.
23:46 TimToady_ this is 2000 pro
23:46 dduncan has anyone completed a smoke of the new pugs?
23:46 TimToady_ but it's NT based
23:46 Aankhen`` Yup.
23:46 Jmax it's NTFS
23:46 TimToady_ I'm up to t/regex
23:46 Aankhen`` Ah, that's probably it.
23:46 dduncan okay
23:46 Jmax :)
23:46 Aankhen`` Jmax = smart. ;-)
23:46 dduncan I'm on "make" atm
23:47 Psyche^ joined #perl6
23:47 Patterner changed the nick to Psyche^
23:47 moritz Aankhen``: I was just joking... I know that is has permissions, but most windows users really don't know about that
23:47 dduncan I recall some comment in the past about updating Yaml something or other ... is that because some recent version had a bug or because old ones just don't work ... I still have the version from last year
23:47 Aankhen`` moritz: Oh, sorry for spoiling the joke. :-(
23:48 moritz Aankhen``: my fault, I forgot the smiley ;-)
23:48 Aankhen`` Hehe.
23:48 Jmax dduncan: the only thing that comes to mind is incompatiblity with serializing blessed objects
23:48 Aankhen`` Nah, the IRC protocol is just missing a way to denote emotions.
23:48 Aankhen`` How very primitive.
23:48 * Aankhen`` ducks.
23:48 dduncan right now I only care if leaving things alone will prevent smokes from working
23:48 dduncan I haven't done a smoke for a few months
23:49 Jmax erm maybe that's YAML.pm and YAML/Syck.pm.  I forgot this was #perl6 :<
23:49 TimToady_ smoke started on windows box okay
23:49 Tene ?eval ?eval my $f = 'foo'; $f ~~ m/f/
23:49 evalbot_r16421 changed the nick to evalbot_r16420
23:49 evalbot_r16421 Match.new(␤  ok => Bool::True, ␤  from => 0, ␤  to => 1, ␤  str => "f", ␤  sub_pos => (), ␤  sub_named => {}␤)
23:49 dduncan I'm going to do a smoke today, in any event
23:49 Aankhen`` Me too, once I'm done opening a thousand tabs in Firefox.
23:50 Aankhen`` Should I be waiting for another update first, though, if stuff is broken or not working quite right at present?
23:50 dduncan if the build doesn't die and the smoke doesn't die or loop, that's good enough for me
23:51 pasteling "tene" at 24.2.71.129 pasted "pugs failure on matching" (4 lines, 1.4K) at http://sial.org/pbot/24952
23:51 TimToady_ rhr: is your box multi-cpu, and could it be using only one of them?
23:51 dduncan but now's certainly a good time for everyone to smoke, for obvious reasons
23:52 * offby1 lights up
23:52 rhr TimToady_: yes, but it was using all of them (load was >4 when I checked)
23:52 offby1 don't mind if I do.
23:55 Limbic_Region TimToady - what if anything did you do about the permission denied issue with the prelude?
23:56 TimToady_ didn't do anything; seems to work
23:57 TimToady_ there's a Prelude.pm.yml with the right date in blib6/lib
23:57 TimToady_ so probably just carping about not being able to overwrite a file that isn't there, or some such
23:57 Tene Oh, I guess that's not a rules problem.  I get the same error with "$m.say"
23:58 Tene oh, seems to only happen in interactive pugs.

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

Perl 6 | Reference Documentation | Rakudo