Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-09-07

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:01 markstos Here's a variation without the infinite loop. It illustrates that an object method is being called on a lexical hash:
00:01 markstos ?eval class Foo { method a { my %s; %s.b } method b { 1 } } say Foo.new.a;
00:01 evalbot_r13076 OUTPUT[1 ] Bool::True
00:01 markstos That seems wrong to me.
00:12 svnbot6 r13077 | markstos++ | Add failing test for: method a { my %s; %s.b } method b { 1 }
00:12 svnbot6 r13077 | markstos++ |     (%s should be able to call the b method, because it is not a %b object)
00:12 svnbot6 r13077 | markstos++ |     Could use peer review for spec compliance, but it looked wrong to me!
00:15 markstos It doesn't seem like this should work either:
00:15 markstos ?eval class Foo { method a { my %s; b(%s) } method b { 1 } } say Foo.new.a;
00:15 evalbot_r13076 is now known as evalbot_r13077
00:15 evalbot_r13077 OUTPUT[1 ] Bool::True
00:16 markstos The "b" method is being invoked, even though b(%s) doesn't look like a method-call syntax.
00:18 * SamB smiles at his r ;-)
00:18 markstos Samb: huh?
00:18 SamB markstos: the one I added to evalbot's nickname ;-)
00:19 markstos Ah right. I saw that patch go by.
00:22 theorbtwo BS looks a lot like a method call syntax to me.
00:22 svnbot6 r13078 | markstos++ | New failing test: 'meth(%h) is not a valid methd call syntax'
00:22 svnbot6 r13078 | markstos++ | Could use peer review for spec compliance.
00:23 theorbtwo Are you sure b(%s) isn't a valid method call syntax?
00:25 nekokak joined perl6
00:26 markstos no. Are you sure it is valid ?
00:28 markstos I think this settles it for me: "Indirect object notation now requires a colon after the invocant if there are any arguments"
00:34 markstos If override a builtin method in an object, how I call the bultin version from within the override? Basically, I'm still stuck on my yaml re-defition from above.
00:35 markstos class Foo { method yaml { my %s; return %s.yaml  } } # how to call the standard ".yaml" there ?
00:48 avar multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n*($n-1)! } <- in S06, how does this make sense?
00:48 avar It uses the ! postfix which it's defining in the definition
00:49 theorbtwo Ah, but it doesn't always run it.
00:49 theorbtwo 2!
00:49 theorbtwo The test is false, so it's 2*(2-1)!.  Evaluate that 1!, the test is true, and it's 1.
00:50 theorbtwo OTOH, you might get a "deep recursion" warning if you try to compute 150! that way.
00:50 theorbtwo Of course, you'd also run out of memory trying to store a number that big.
00:50 theorbtwo (OK, not really.)
00:50 avar multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! [*] 1 .. $n } would work
00:51 theorbtwo You don't actually need the test on there at all.
00:51 avar the S06 code does not compile under pugs, and I don't see how it could be logical anyway, the definition for the ! postfix uses the ! postfix
00:52 theorbtwo It's legal to call a subroutine inside it's own definition, why not an operator?
00:52 avar eval: multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! [*] 1 .. $n } my $n = 5; say $n*($n-1)!
00:52 buubot avar: Error: Search pattern not terminated or ternary operator parsed as search pattern at eval line 1.
00:52 avar eval? multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! [*] 1 .. $n } my $n = 5; say $n*($n-1)!
00:53 theorbtwo This shouldn't be taking that long...
00:53 theorbtwo Oh, you used a ?
00:53 theorbtwo eval:
00:54 avar what eval: $]
00:54 buubot what:  5.008008
00:54 avar I mean the perl 6 one
00:54 avar eh, how do I call that
00:54 theorbtwo ?eval multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! [*] 1 .. $n } my $n = 5; say $n!
00:54 evalbot_r13077 is now known as evalbot_r13078
00:54 evalbot_r13078 OUTPUT[120 ] Bool::True
00:54 hikozaemon joined perl6
00:54 theorbtwo ?eval multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n*($n-1)! } my $n = 5; say $n!
00:54 evalbot_r13078 Error:  unexpected "!" expecting term postfix, comment, operator, "\187xx\171", ">>xx<<", "\187+&\171", "\187+<\171", ">>+&<<", ">>+<<<", "\187+>\171", "\187~&\171", "\187~<\171", "\187~>\171", "\187?&\171", ">>+><<", ">>~&<<", ">>~<<<", ">>~><<", ">>?&<<", "\187*\171", ">>*<<", "\187/\171", "\187%\171", "\187x\171", ">>/<<", ">>%<<", ">>x<<", "xx", "+&", "+<", "+>", "~&", "~<", "~>", "?&", "*", "/", "%", "x", "??", postfix conditional, postfix lo
00:55 avar ?eval multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! [*] 1 .. $n } my $n = 5;
00:55 evalbot_r13078 \5
00:55 avar ?eval multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! [*] 1 .. $n } 5!
00:55 evalbot_r13078 120
00:55 theorbtwo Yeah, I expect pugs isn't putting the new operator in the table until after the definition is finished parsing, which shouldn't be neccessary.
00:55 [particle] ?eval multi sub postfix:<!> (Int $n > 1) { [*] 1 .. $n } 5!
00:55 evalbot_r13078 Error:  unexpected ">" expecting comment, "?", "!", trait, "=", "-->" or ")"
00:56 theorbtwo (It should go in when the declaration part is finished.
00:56 avar theorbtwo: That's not what I mean, I don't see how it could make sense under any implementation
00:56 theorbtwo [particle]: I think you need to write that as a where clause, or did that change?
00:56 [particle] i'm checking the spec now
00:56 theorbtwo ?eval multi sub fac (Int $n) { $n < 2 ?? 1 !! $n*fac($n-1) }; fac(5)
00:57 evalbot_r13078 120
00:57 theorbtwo avar: It's just garden-variety recursion.
00:57 avar Ah, of course
00:57 avar If you put it that way:)
00:58 NamelessOne joined perl6
01:00 NamelessOne joined perl6
01:02 [particle] ?eval multi sub fac (Int $n) { $n < 2 ?? 1 !! $n* &?ROUTINE.name($n-1) }; fac(5)
01:02 evalbot_r13078 Error: No compatible subroutine found: "&name"
01:02 [particle] ?eval multi sub fac (Int $n) { $n < 2 ?? 1 !! $n* &?ROUTINE($n-1) }; fac(5)
01:02 evalbot_r13078 120
01:02 [particle] kewl
01:04 [particle] hrmm, are there only type constraints on params?
01:05 avar ?eval multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n * &?ROUTINE($n-1) } 5!
01:05 evalbot_r13078 120
01:05 [particle] &?ROUTINE allows you to do tail recursion in anon subs/ops
01:05 [particle] *subs/methods
01:06 [particle] so it's not really needed in this case, but it's kewl :)
01:09 avar ?eval my $fac = sub { @_[0] < 2 ?? 1 !! @_[0] * &?ROUTINE(@_[0] - 1) } $fac(5)
01:09 evalbot_r13078 Error:  unexpected "$" expecting comment, operator, "\187=>\171", ">>=><<", "=>", "=", ".=", "?^=", "?|=", "~^=", "~|=", "~&=", "+^=", "+|=", "+&=", "~>=", "~<=", "+>=", "+<=", "^^=", "//=", "&&=", "||=", "xx=", "**=", "\165=", "&=", "^=", "|=", "Y=", "x=", "%=", "/=", "*=", "-=", "+=", ":=", "~=", postfix conditional, postfix loop, postfix iteration, ";" or end of input
01:09 avar ?eval my $fac = sub { @_[0] < 2 ?? 1 !! @_[0] * &?ROUTINE(@_[0] - 1) }; $fac(5)
01:09 evalbot_r13078 120
01:09 [particle] :)
01:10 [particle] ?eval my $fac = sub(Int $x) { $x < 2 ?? 1 !! $x * &?ROUTINE($x - 1) }; $fac(5)
01:10 Aankhen`` joined perl6
01:11 [particle] ?eval my $fac = sub(Int $x) { $^x < 2 ?? 1 !! $^x * &?ROUTINE($^x - 1) }; $fac(5)
01:11 [particle] rats
01:12 avar ?eval my $fac = sub(Int $x) { $^x < 2 ?? 1 !! $^x * &?ROUTINE($^x - 1) };
01:12 evalbot_r13078 Error:  unexpected ";" expecting comment Cannot mix placeholder variables with formal parameters
01:12 bcorn joined perl6
01:12 avar ?eval my $fac = sub(Int $x) { $^X < 2 ?? 1 !! $^X * &?ROUTINE($^X - 1) }; $fac(5)
01:12 evalbot_r13078 Error:  unexpected ";" expecting comment Cannot mix placeholder variables with formal parameters
01:12 avar eh, fleh
01:13 avar Anyway, it seems to me that there's no testcase for &?ROUTINE inside an op
01:13 [particle] ?eval my $fac = sub { $^x < 2 ?? 1 !! $^x * &?ROUTINE($^x - 1) }; $fac(5)
01:14 [particle] can't hurt to add! and nice that it works
01:15 avar should it be in operators/operator_overloading.t or magicals/sub.t ?
01:15 [particle] i'd put it closer to the &?ROUTINE def, so magicals/sub.t
01:16 avar mm
01:16 avar actually S06 says:
01:16 avar C<&?ROUTINE> is always an alias for the lexically innermost C<Routine>
01:16 avar (which may be a C<Sub>, C<Method>, or C<Submethod>)
01:16 avar that presumably includes sub *fix*:<foo> ?
01:17 [particle] yep
01:18 [particle] still, it's good to have one more test to cover that case
01:19 * avar tries to add a test case
01:21 bcorn joined perl6
01:21 [particle] ?eval multi sub postfix:<!> (Int $n) will do { $n < 2 ?? 1 !! $n * &?ROUTINE($n-1) } 5!
01:21 evalbot_r13078 Error:  unexpected "w" expecting comment, bare trait, trait or block
01:22 [particle] ?eval multi sub postfix:<!> (Int $n) returns(Int) { $n < 2 ?? 1 !! $n * &?ROUTINE($n-1) } 5!
01:22 evalbot_r13078 Error:  unexpected "r" expecting comment, qualified identifier, trait or block
01:22 [particle] doesn't like traits, eh?
01:23 [particle] ?eval multi sub postfix:<!> (Int $n) is rw { $n < 2 ?? 1 !! $n * &?ROUTINE($n-1) } 5!
01:23 evalbot_r13078 120
01:23 [particle] ah, doesn't like *some* traits
01:25 rodi joined perl6
01:26 [particle] ?eval multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n * &?ROUTINE($n-1) } -5!
01:26 evalbot_r13078 1
01:27 [particle] ?eval multi sub postfix:<!> (Int $n) PRE{ $n > 0 } { $n < 2 ?? 1 !! $n * &?ROUTINE($n-1) } -5!
01:27 evalbot_r13078 Error:  unexpected "P" expecting comment, bare trait, trait or block
01:27 [particle] ?eval multi sub postfix:<!> (Int $n) is PRE{ $n > 0 } { $n < 2 ?? 1 !! $n * &?ROUTINE($n-1) } -5!
01:27 evalbot_r13078 Error:  unexpected "$" expecting operator or "!!"
01:28 [particle] probably also unimp
01:28 markstos particle: do you have a local pugs ? the repeated evalbot workout is a litte noisy.
01:28 lightstep joined perl6
01:28 [particle] i'm done playing, sorry
01:28 [particle] and no, pugs won't build on win32 right now :(
01:28 markstos Sorry for you then.
01:29 theorbtwo ?eval multi sub postfix:<!> (Int $n where { $n > 0 }) { $n*2 }; foo(3)
01:29 evalbot_r13078 Error:  unexpected "w" expecting comment, "?", "!", trait, "=", "-->" or ")"
01:29 theorbtwo OK, that was my only go.
01:29 [particle] where isn't listed as a parameter trait :(
01:30 markstos I encourage you to play, but if you way to experiment offline, that could be nice to use for repeated testing.  But apparently, you don't right now.
01:31 ruz joined perl6
01:31 [particle] oh, i see in the polymorphic types section it may be possible to use a where {} clause
01:31 [particle] markstos: sure
01:31 [particle] oh, theorbtwo, your code is wrong anyway
01:32 avar someone here have commit access and can run make test?
01:32 [particle] you have foo(3) instead of 3!
01:32 avar I made two more test cases, but I can't run make test here so they might possibly be broken:)
01:32 theorbtwo Er, so it is.
01:32 [particle] no commit bit avar? that should be fixed! wish i had the power...
01:32 * theorbtwo checks if he still does.
01:33 avar I can commit
01:33 [particle] oh, just commit then
01:33 avar I just might break stuff since I haven't actually tested it:)
01:33 [particle] if something breaks, someone else will rollback
01:33 [particle] and it's pretty doubtful two tests will cause any major breakage
01:33 avar ?eval sub postfix:<!> { @_[0] < 2 ?? 1 !! @_[0] * &?ROUTINE(@_[0] - 1) } my $result3 = 3!; $result3
01:33 evalbot_r13078 Error:  unexpected "!" expecting "_", fraction, exponent, term postfix, comment, operator, "\187=>\171", ">>=><<", "=>", "=", ".=", "?^=", "?|=", "~^=", "~|=", "~&=", "+^=", "+|=", "+&=", "~>=", "~<=", "+>=", "+<=", "^^=", "//=", "&&=", "||=", "xx=", "**=", "\165=", "&=", "^=", "|=", "Y=", "x=", "%=", "/=", "*=", "-=", "+=", ":=", "~=", postfix conditional, postfix loop, postfix iteration, ";" or end of input
01:34 [particle] but if you want to nopaste a patch, i'll look it over
01:34 avar ?eval sub postfix:<!> { @_[0] < 2 ?? 1 !! @_[0] * &?ROUTINE(@_[0] - 1) } 3!
01:35 evalbot_r13078 Error:  unexpected "!" expecting "_", fraction, exponent, term postfix, comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
01:35 [particle] avar: where's the multi?
01:35 avar ?eval multi sub postfix:<!> { @_[0] < 2 ?? 1 !! @_[0] * &?ROUTINE(@_[0] - 1) } my $result3 = 3!; $result3
01:35 evalbot_r13078 Error:  unexpected "!" expecting "_", fraction, exponent, term postfix, comment, operator, "\187=>\171", ">>=><<", "=>", "=", ".=", "?^=", "?|=", "~^=", "~|=", "~&=", "+^=", "+|=", "+&=", "~>=", "~<=", "+>=", "+<=", "^^=", "//=", "&&=", "||=", "xx=", "**=", "\165=", "&=", "^=", "|=", "Y=", "x=", "%=", "/=", "*=", "-=", "+=", ":=", "~=", postfix conditional, postfix loop, postfix iteration, ";" or end of input
01:35 svnbot6 r13079 | markstos++ | Fix some failing tests in t/params.t for CGI.pm.
01:35 svnbot6 r13079 | markstos++ | Also, add new as_yaml method get the params back as a YAML stream.
01:35 avar argh
01:36 [particle] why isn't it seeing term postfix?
01:37 avar don't know what, if anything, I'm doing wrong there
01:38 [particle] well, before you had a sig, now you don't
01:38 [particle] also, before you didn't assign to a var
01:38 [particle] 5! instead of my $foo = 5!;
01:39 [particle] it'd be nice to have a #perl6-eval channel (or something) to play with evalbot more privately
01:39 avar ?eval multi sub postfix:<!> { @_[0] < 2 ?? 1 !! @_[0] * &?ROUTINE(@_[0] - 1) }; 5!
01:39 evalbot_r13078 Error:  unexpected "!" expecting "_", fraction, exponent, term postfix, comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
01:40 [particle] so maybe it doesn't like @_[0]
01:40 pfenwick Perhaps just being able to /msg evalbot and get a private reply could be enough?  Easier than having a new channel.
01:40 [particle] perhaps without a sig it's not expecting any args?
01:40 lightstep left perl6
01:40 [particle] true, paul
01:40 avar ?eval multi sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n * &?ROUTINE($n - 1) }; 5!
01:40 evalbot_r13078 120
01:40 avar so it fails without a paramater list
01:41 [particle] you could try implicit params ... no sig, and $^n
01:41 weinig|bbl is now known as weinig
01:41 [particle] but i don't know if it'll work either
01:41 avar those look like they're mandatory if I'm reading S06 somewhat correctly
01:42 avar at least it has no examples of an overloaded operator definition without a paramater list
01:42 avar ?eval sub postfix:<!> (Int $n) { $n < 2 ?? 1 !! $n * &?ROUTINE($n - 1) }; 5!
01:42 evalbot_r13078 is now known as evalbot_r13079
01:42 evalbot_r13079 120
01:42 [particle] ok, i guess placeholder vars ($^n etc) are for blocks only
01:42 [particle] *bare blocks
01:44 avar ?eval my $ret; { package Bar; sub bar { return &?ROUTINE.name } $ret = bar(); } $ret
01:44 evalbot_r13079 Error:  unexpected "$" expecting comment, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input
01:44 avar ?eval my $ret; { package Bar; sub bar { return &?ROUTINE.name } $ret = bar(); }; $ret
01:44 evalbot_r13079 \"\&Bar::bar"
01:50 svnbot6 r13080 | avar++ | * Further testcases for &?ROUTINE, sorry if these break
01:51 avar [particle]: could you see if these work? It's magicals/sub[name]?\.t
01:51 [particle] i can't compile pugs :(
01:51 [particle] but i'll have a look at the diff
01:53 avar http://avar.lir.dk/diff.txt
01:55 [particle] they look good. why do you think your test is redundant?
01:56 [particle] oops
01:56 [particle] subname test looks bad
01:56 [particle] package Bar; sub bar {...} is( bar(), '&Bar::foo', ...) # what's wrong here?
01:57 [particle] seems like a cut-and-paste-o
01:57 avar oh noes!:)
01:57 * avar fixes
02:02 svnbot6 r13081 | avar++ | * That's 'bar' apperently, not 'foo', danm you metasyntactic variable names
02:05 crem joined perl6
02:05 avar [particle]: better?:)
02:07 markstos Is there a way to see the stack trace attached to "$!" without calling die?
02:09 [particle] yep better. avar++
02:13 [particle] markstos: $!.say ??
02:13 [particle] oh, not value, stack trace
02:14 [particle] i don't know of any method on $! for that
02:14 [particle] but maybe .say will do what you want
02:19 ruz joined perl6
02:23 svnbot6 r13082 | audreyt++ | * Attempt to fix ActivePerl embedding by restoring -I/-D/-L flags.
02:32 xinming joined perl6
02:46 ruz joined perl6
02:54 xinming joined perl6
02:56 bsb joined perl6
02:58 dduncan joined perl6
03:06 dduncan left perl6
03:12 nachos joined perl6
03:12 nachos Hi!
03:12 nachos What is ment by 'coroutines' ?
03:13 nachos saw it on the p6 page, don't understand what it is.
03:13 TreyHarris ?seen markstos
03:13 lambdabot I saw markstos leaving #perl6 43m 52s ago, and .
03:13 TreyHarris ah.
03:17 Trey2 joined perl6
03:17 Trey2 ?
03:17 lambdabot Trey2: You have 1 new message. '/msg lambdabot @messages' to read it.
03:20 TreyHarris @tell markstos I think the meth(%s) behavior is a result of pugs currently only doing arg-num checking against signatures presently.  meth() has one argument, self.  so when you call meth(%s), it works.  the $obj.s.b behavior is definitely broken separately, though.
03:20 lambdabot Consider it noted.
03:21 TreyHarris lambdabot: except s/currently // ;-)
03:35 audreyt nachos: http://en.wikipedia.org/wiki/Coroutine
03:37 nachos Thanks audreyt
03:37 nachos Do you know of any p6 coroutine examples that i can have a look at, audreyt ?
03:38 nachos They sound _very_ interesting.
03:39 audreyt t/unspecced/coro.t
03:39 audreyt in the Pugs tree
03:39 nachos thanks
03:39 audreyt or better, http://search.cpan.org/dist/Coro/
03:39 lambdabot Title: Marc Lehmann / Coro - search.cpan.org
03:39 audreyt np :)
03:40 nachos audreyt: any estimation on when p6 is due to be released ( stable version ) ?
03:41 audreyt nachos: it's not up for me to say
03:41 audreyt p6 the language will become "stable" only after sufficient people field-test it
03:41 audreyt which will happen over the next 12 months
03:42 audreyt and Pugs typically lags spec changes for about 3 months, depending on the size of the change
03:43 audreyt however the good news is that the syntax is the least stable of the bunch
03:44 audreyt the lower-level semantics, as provided by Moose.pm or Pugs::Compiler::Rule on perl5, is quite useful right now
03:44 audreyt and will probably stabilize within this year
03:44 audreyt so if you just want the semantics, consider using those modules from CPAN on existing perl5 codebase :)
03:48 nachos cool, thanks audreyt!
03:49 audreyt np :)
03:49 obra morning audrey
03:49 audreyt greetings obra
03:50 * audreyt is fighting with travelocity to book OOPSLA+YAPC::SA tickets
03:50 obra is orbitz any less evil?
03:50 obra or do they only book .us originating travel?
03:52 audreyt well it's .us originating...
03:52 obra oh. then start with beta.itasoftware.com
03:55 audreyt travelocity still yields lowest price.
03:55 obra impressive.
03:55 obra beta.ita is supposed to be loaded with all published prices.
03:55 audreyt thing is there's not much choice in <->sao paulo
03:56 obra heh
03:56 audreyt so they found the same things
03:56 audreyt and travelocity seems to have a $99/each discount
03:56 obra not bad
03:56 obra "damn good"
03:58 weinig is now known as weinig|zZz
04:06 nothingmuch_ joined perl6
04:26 pinPoint left perl6
04:32 nothingmuch_ morning
04:32 nothingmuch_ is now known as nothingmuch
04:37 gaal joined perl6
04:37 nothingmuch gaal: what is the state of p6ast?
04:37 nothingmuch it's not yet in use, right?
04:38 audreyt it is
04:38 audreyt partly
04:38 audreyt ?eval :($x)
04:38 evalbot_r13079 is now known as evalbot_r13082
04:38 evalbot_r13082 CCall "perl" CaptMeth {c_invocant = VPure (SigSubSingle {s_requiredPositionalCount = 1, s_requiredNames = {"x"}, s_positionalList = [MkParam {p_variable = "$x", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <Param.Default>, p_label = "x", p_slots = {}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = {}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHash = Nothing, s_
04:38 audreyt ?eval vv "x"
04:38 evalbot_r13082 CCall "perl" CaptMeth {c_invocant = VPure (MkStr "x"), c_feeds = [MkFeed {f_positionals = [], f_nameds = {}}]}
04:38 christopher joined perl6
04:38 nothingmuch ah
04:39 audreyt ?eval \($x)
04:39 evalbot_r13082 Error: Undeclared variable: "$x"
04:39 audreyt ?eval \(1,2,3)
04:39 evalbot_r13082 CCall "perl" CaptMeth {c_invocant = VPure (CaptSub {c_feeds = [MkFeed {f_positionals = [VPure (IFinite 1),VPure (IFinite 2),VPure (IFinite 3)], f_nameds = {}}]}), c_feeds = [MkFeed {f_positionals = [], f_nameds = {}}]}
04:39 nothingmuch audreyt: will you be free for brain picking today?
04:40 audreyt yes I think
04:40 audreyt after food that is
04:40 audreyt what time is it for you now?
04:40 nothingmuch 7:40 am
04:40 audreyt oh. then definitely
04:41 nothingmuch okies
04:41 * nothingmuch is going to make a big breakfast
04:46 avar joined perl6
04:48 nothingmuch hmm... weird YAML::Syck bug on RT
04:48 nothingmuch does exporter have a dynaloader?
04:48 nothingmuch or does xsloader try to add one?
04:48 nothingmuch s/dynaloader/AUTOLOAD/;
04:49 audreyt huh?
04:49 audreyt neither
04:49 nothingmuch that's what I thought =/
04:49 nothingmuch http://rt.cpan.org/Public/​Bug/Display.html?id=21361
04:49 lambdabot Title: #21361: Use of inherited AUTOLOAD for non-method YAML::Syck::Load&#40;&#41;, http://tinyurl.com/k9egw
04:49 nothingmuch huh
04:50 nothingmuch i don't *have* a line 45 in my Syck.pm
05:21 bsb left perl6
05:32 Fr33b33r joined perl6
05:34 gaal spooky
05:35 Fr33b33r left perl6
05:36 nothingmuch spooky?
05:37 gaal The ghost line 45 thing.
05:37 gaal also, the fact that you woke up before eight
05:38 gaal audreyt: moose
05:38 audreyt moose
05:38 gaal existential coerce and 'Maybe PureSig'
05:39 gaal src/Pugs/Internals.hs:194
05:39 gaal is it wrong?
05:40 gaal sure looks it, because when using it in src/Pugs/Parser.hs:1462 I get an error :)
05:40 audreyt that is the same as Typeable.cast
05:40 audreyt you want to fromJust and then cast
05:40 audreyt or, better
05:41 audreyt fromTypeable :: Monad m, Typeable a, Typeable b => a -> m b
05:42 gaal it's *so good* to have make ghci working :)
05:42 audreyt fromTypeable x = case Typeable.cast x of
05:42 audreyt    Just y -> return y
05:43 audreyt    Nothing -> fail $ "Cannot cast from " ++ typeOf x ++ " to " ++ typeOf (undefined :: b)
05:43 gaal trying
05:43 audreyt except "show typeOf " instead of "typeOf", and you need to write foralls
05:43 audreyt fromTypeable :: forall m a b. Monad m ...
05:43 audreyt yeah, ghci easily makes it 10x easier for me :)
05:43 dvorak_ joined perl6
05:44 nothingmuch gaal: the second part was easy, i just went to bed before 3
05:44 * nothingmuch was asleep at 00:<something> or so
05:46 audreyt also, use fromTypeable in the RuleParse monad
05:46 audreyt foo <- fromTypeable bar
05:46 audreyt is recommended
05:46 gaal wtf: <no location info>: file name does not match module name `Main'
05:47 audreyt you hit ghci bug
05:47 audreyt quit and make ghci again
05:47 gaal same err
05:47 gaal I'll clean up
05:47 audreyt say what?
05:47 audreyt wow.
05:47 gaal actually i'll strace to see which .o triggers it. :p
05:47 * audreyt tries building pugs with crazy optimization flags
05:48 audreyt thanks to the crazy inlining paper you referred me to :)
05:48 gaal :)
05:48 gaal fun paper, isn't it
05:48 audreyt yup
05:48 gaal i've only gottent to the easy part so far
05:51 gaal uh, looks like i need a clean.
05:51 gaal btw: make ghci is broken when PUGS_EMBED e parrot
05:52 gaal er, parrot e PUGS_EMBED
05:53 gaal also, do we need this in the 'clean' target?
05:53 gaal find src -name \*.hi -o -name \*.o | xargs rm
05:53 audreyt fixed
05:54 audreyt we probably do, yes
05:54 gaal except that's not portable :)
05:54 svnbot6 r13083 | audreyt++ | * fix ghci vs parrot embed
05:55 audreyt just add those to clean_files
05:55 gaal that doesn't grok /**/ paths, does it?
05:55 nothingmuch what is the inlining paper?
05:56 audreyt it does.
05:56 audreyt er wait
05:56 gaal @google secrets ghc inliner
05:56 lambdabot http://research.microsoft.co​m/~simonpj/Papers/inlining/
05:56 audreyt you mean explicit **
05:56 lambdabot Title: Simon Peyton Jones: papers
05:56 audreyt no 'course not
05:57 audreyt but you can /*/*.{hi.o}* /*/*/ etc
05:57 gaal sure
06:04 perlbot joined perl6
06:04 perlbot joined perl6
06:06 perlbot joined perl6
06:12 nothingmuch i need a sanity check
06:12 nothingmuch i'm expressing submehtods as methods wrapped in a Method::Private thing
06:12 nothingmuch a Method::Private contains a list, visible_to
06:13 nothingmuch this compiles to a responder interface that has a table for regular methods
06:13 nothingmuch and a subtable for every specially treated caller context
06:13 nothingmuch (visible_to entries)
06:13 nothingmuch if a private method exists in the subtable, it will be used
06:13 nothingmuch always falling back to the "regular" list
06:13 nothingmuch does that make sense?
06:14 nothingmuch private attrs generate submethod accessors
06:14 nothingmuch and lastly, the punchline
06:14 nothingmuch attribute grammars are just roles
06:14 nothingmuch which are compiled down to private attrs viewable only from other ag-instance roles belonging to the same AG
06:16 audreyt sane.
06:16 audreyt a set, though, not a list.
06:16 audreyt (visible_to ordering not important)
06:16 nothingmuch list is perl 5ism
06:17 nothingmuch *nod*
06:17 nothingmuch it'll be a Util::Collection
06:17 audreyt good enough
06:17 nothingmuch which is internally a Set::Object + Hash
06:17 nothingmuch so unordered behavior is enforced ;-)
06:17 audreyt all this seems to be very moose.
06:17 gaal oops, I gotta moose for a bit
06:17 gaal see ya &
06:17 nothingmuch moose-bye!
06:18 nothingmuch audreyt: did you mean Moose or moose?
06:18 nothingmuch that is, was moose an adjective or noun?
06:20 audreyt adjective I think
06:20 nothingmuch ok =)
06:20 nothingmuch a little more on AGs:
06:20 audreyt which makes it a role
06:20 nothingmuch heh
06:21 audreyt I think roles are the counterpart to adjectives in perl
06:21 nothingmuch type AG ( name, instances );
06:21 nothingmuch instances is a set of classes
06:21 * audreyt has been reading the Synopses of the English language
06:21 audreyt it's called "The Element of Style"; it's shorter than our synopses ;)
06:21 nothingmuch every class that is in the instance list has an ag instance for the AG
06:21 nothingmuch i think i saw that book once at $office
06:21 nothingmuch our doc writer has it
06:21 nothingmuch i was fascinated
06:21 nothingmuch but i didn't know him well so i didn't feel comfortable lending it
06:22 audreyt spec writers would do well to write specs like that book :)
06:22 nothingmuch ag instance meta objects isa role
06:22 nothingmuch i'll add it to my wish list
06:22 nothingmuch an ag can inherit another ag
06:22 nothingmuch when you compose an ag, it looks at all it's inheritence thingies, and merges the ag roles for every instance with role composition
06:23 nothingmuch that is, ag x inherits ag y,
06:23 nothingmuch class a { instance ag x { ... } , instance ag y { } }
06:23 nothingmuch in this example instance ag y implicitly does instance ag x
06:24 nothingmuch all the merged role methods are then emitted as private methods visible to the instances of that AG
06:24 nothingmuch such that self.foo as an attr in the ag will shadow self.foo the method
06:24 nothingmuch at runtime an ag <foo> is instantiated
06:24 nothingmuch synthesized attrs are just method calls
06:25 nothingmuch but are auto memoized
06:25 nothingmuch foo.parent can be a synthesized attr of a child to get any inherited attr
06:25 nothingmuch if it's not provided then the call stack will be searched upwards
06:25 nothingmuch calling $obj.parent_for($child)
06:25 nothingmuch if thhe entire stack can't place the child an error is thrown
06:25 nothingmuch aside from that all attrs are computed lazily
06:25 nothingmuch sounds fair?
06:26 audreyt I need to see tests to make sense out of it
06:26 audreyt but it sounds fair.
06:27 * nothingmuch is implementing private methods right now
06:27 nothingmuch once i have private attr tests passing
06:27 nothingmuch i will write the ag meta model
06:27 nothingmuch it should be almost no code
06:27 nothingmuch then i will port luqui's tests
06:28 nothingmuch after that i want to have a go at emitting simple responder interface back into p5-space
06:28 nothingmuch http://www.amazon.com/Elements-Style-I​llustrated-William-Strunk/dp/159420069​6/sr=8-2/qid=1157610377/ref=pd_bbs_2/0​02-3185997-4427243?ie=UTF8&amp;s=books ?
06:28 nothingmuch or http://www.amazon.com/Elements-Style-Fourth-Willi​am-Strunk/dp/020530902X/sr=8-1/qid=1157610377/ref​=pd_bbs_1/002-3185997-4427243?ie=UTF8&amp;s=books ?
06:28 nothingmuch i'll go for the illustrated
06:28 nothingmuch i like pictures =)
06:34 audreyt sure, though I read the latter
06:41 jdv79 what's that for?   think i used that in college...
06:43 SubStack joined perl6
06:47 iblechbot joined perl6
06:48 nothingmuch i love writing 'sub merge'
06:48 nothingmuch i dunno why ^_^
06:54 nothingmuch audreyt: please definie the notion of "from"
06:54 nothingmuch in visible_from
06:54 nothingmuch should it be a namespace?
06:54 nothingmuch a meta object?
06:54 nothingmuch i mean, what is conveninent for the runtime to provide from the call stack
07:04 dvorak joined perl6
07:12 audreyt absolutely qualified namespace ID
07:25 kane-xs joined perl6
07:30 avar joined perl6
07:31 svnbot6 r13084 | trey++ | [t/unspecced/coro.t]
07:31 svnbot6 r13084 | trey++ | Probably not a good idea to overlay C<take>
07:31 svnbot6 r13084 | trey++ | with an unrelated sub, so renamed it.
07:31 nothingmuch audreyt: #moose please
07:31 TreyHarris moose
07:33 nothingmuch moose moose
07:38 TreyHarris nothingmuch: why should "method a { my %s; %s.b } method b { 1 }" fail?  because methods without an explicit invocant have an implicit invocant typed as ::?CLASS ?  so change method b to "method b (Any $self:) { 1 }" and then the %s.b call should work?
07:39 nothingmuch becase the class of %s.b is not necessarily the one that you are defining
07:39 nothingmuch %s.b dispatches to Hash or whatever
07:40 TreyHarris right, but assuming Hash::b does not exist
07:40 nothingmuch well
07:40 nothingmuch Hash doesn't inherit ::?CLASS
07:40 TreyHarris then it will sub fallback to b(%s), which would work if b's invocant was specified as type Any?
07:41 TreyHarris or is the colon required even if there are no non-invocant args?
07:41 nothingmuch i doubt it
07:41 nothingmuch it's not OO per se
07:41 nothingmuch you can do class Any { method b { } }
07:41 nothingmuch if Any is actually UNIVERSAL
07:41 nothingmuch but that's evil™
07:41 TreyHarris yes, but $obj.meth fallback to meth($obj) is well specced
07:41 nothingmuch it will probably be a closed class
07:41 nothingmuch really?
07:41 nothingmuch INSANITY
07:41 nothingmuch where?!
07:43 TreyHarris one moment.  i *think* it's well specced.  it might just be that TimToady has repeated it here often enough to where I think it's well specced :-)
07:43 nothingmuch that really DOES NOT COMPUTE
07:43 nothingmuch that fallback is absolutely insane
07:43 nothingmuch it means we can't get any compile time error checking
07:43 nothingmuch and it also changes $obj's appearant interface based on the dynamic/lexical scope it's being invoked in
07:44 nothingmuch for *every* object
07:45 TreyHarris S12, Method call vs. Subroutine call
07:45 nothingmuch oh
07:45 nothingmuch you got it the wrong way around =)
07:45 TreyHarris "fails over to the subroutine dispatcher as a last resort only if no method can be found"
07:45 nothingmuch oi
07:45 TreyHarris no, it fails in both directions
07:46 nothingmuch uRHGGGGGGGGGGGGGGGGGGGGG
07:46 * nothingmuch cries
07:46 nothingmuch the first fallback makes sense
07:46 nothingmuch close($handle) really meaning $handle.close
07:46 nothingmuch but this... this..... *cries*
07:47 lumi Isn't that how the ever-popular '"Hello World".say' works?
07:47 nothingmuch isn't that just that say is a method on Str?
07:47 TreyHarris no, because say is a method on io
07:47 nothingmuch it can be a method in both io and str
07:47 TreyHarris say is also multisubs on other things which redispatch to that method
07:48 nothingmuch $handle.say("foo");
07:48 nothingmuch say("foo"); # multisub
07:48 nothingmuch "foo".say; # a method that dispatches to the multisub
07:48 nothingmuch the multisub will take the selected handle and call $handle.say on it
07:48 nothingmuch in my realm of sanity, at least
07:48 TreyHarris nothingmuch: pretending that S12 doesn't say what it says won't make it so ;-)
07:48 nothingmuch well, it doesn't contradict it
07:48 nothingmuch it just doesn't require it
07:49 lumi That sounds like sanity, except that you need to define method thrice for it to dwym
07:49 lumi Well, dwem
07:49 TreyHarris granted.  it could work either way.
07:49 nothingmuch the global subroutine scope is fairly rich
07:49 nothingmuch if it's implicitly also invocable as methods for every object...
07:49 nothingmuch urf
07:49 TreyHarris but i'm still trying to grok the assertion that you lose compile time error checking.  do subs never check errors at compile time?
07:50 * nothingmuch is still in shock
07:50 TreyHarris er... wrong invocant
07:50 TreyHarris are sub calls never checked for errors....
07:50 nothingmuch you can only rely on static checking for closed syms
07:50 nothingmuch subroutine space is far less likely to be closed
07:50 nothingmuch in scripted perspectives
07:51 nothingmuch you lose the benefit that if you load a closed class and invoke typos on it you get compile time errors
07:51 nothingmuch because that is potentially not a typo
07:51 nothingmuch the tradeoff you can make is to close your current scope
07:51 nothingmuch but then it's not really perl anymore
07:51 TreyHarris how does it do it in AUTOLOAD contexts in Perl 5?  or does the mere mention of an AUTOLOAD cause all sub calls to be deferred till runtime?
07:51 nothingmuch AUTOLOAD is now several beasts at once
07:52 nothingmuch sub, meth, can, etc are all their own AUTO thing
07:52 nothingmuch and yes, the mere existence of an AUTOLOAD in a certain scope will do away with no staticness
07:52 TreyHarris ok.  but... neglecting AUTOLOAD for a moment...
07:53 TreyHarris at a certain point in the literal code...
07:53 nothingmuch fwiw
07:53 nothingmuch your specific cxode will still not work
07:53 nothingmuch because it's a method, not a sub
07:53 nothingmuch if you have sub b { } then it should work
07:54 TreyHarris the compile is aware what imports have been done, and what named subs are mentioned in the current scope
07:55 TreyHarris so how can, if i type 'blah($foo)', it be impossible for the compiler to know whether blah exists in that scope or not?  since it's a named sub
07:55 nothingmuch it isn't impossible
07:55 nothingmuch it's very unlikely
07:55 nothingmuch because closing it by default is not perlish behavior
07:56 TreyHarris yes, but in perl 5, we do a forward declaration if we want to avoid the warning
07:56 nothingmuch hmm?
07:56 nothingmuch only for foo $bar;
07:56 lambdabot joined perl6
07:56 nothingmuch foo($bar) is *always* dynamic
07:56 TreyHarris ah, true.  if you use parens
07:57 TreyHarris but why is hardthingtotype($moose) harder to type than $moose.hardthingtotype?  why are you more worried about typos in the latter than the former?
07:57 nothingmuch i'm not
07:57 TreyHarris s/harder/easier/
07:57 nothingmuch if $moose is strongly typed
07:58 nothingmuch and it's fairly trivial to infer it's type
07:58 nothingmuch and it's a closed class
07:58 nothingmuch then the compiler can easily do compile time checks for $moose.foo
07:58 nothingmuch assuming that .foo will only dispatch ot $moose and it's [closed] superclasses
07:58 nothingmuch since it won't, it'll also look in the current scope
07:58 nothingmuch which is very unlikely to be open
07:59 nothingmuch (unlike an installed module)
07:59 nothingmuch s/open/closed/;
07:59 nothingmuch it means that for regular scripting you don't get the benefit of closing classes
08:02 TreyHarris i see.  i don't know.
08:02 TreyHarris when is TimToady due back?
08:02 nothingmuch and the mier
08:02 nothingmuch merit is not really visible, IMHO
08:02 nothingmuch i mean, why confusingly make calls that appear to be methods
08:02 nothingmuch when they actually aren't?
08:02 nothingmuch what's wrong with say "Hello World" ?
08:03 nothingmuch ask any OO head and they will say that "foo".say is invoking the say method on the Str class
08:03 nothingmuch even if they don't really know perl 6
08:03 nothingmuch if that is only there to please them
08:03 nothingmuch then it should be what they expect
08:03 nothingmuch otherwise it should just be say "foo"
08:05 avar joined perl6
08:06 lambdabot joined perl6
08:06 TreyHarris nothingmuch: i really don't know.  i wish TimToady were here.  i tend to click into Rule 1 mode when he's not.  I hear and understand your arguments, but I assume there must be a solution lurking somewhere
08:07 nothingmuch *nod*
08:07 * nothingmuch tends to rant
08:07 nothingmuch don't mind me that much
08:07 nothingmuch yay! private methods pass all tests
08:07 * TreyHarris mooses for joy
08:08 TreyHarris can I verb moose?
08:08 nothingmuch of course
08:08 nothingmuch moose can be anything you like
08:10 TreyHarris @moosethings = all(@things) ~~ self.like($_); moose := none(@moosethings)
08:10 lambdabot Unknown command, try @list
08:10 TreyHarris how about now?
08:11 TreyHarris er, s/all/any/
08:26 drrho joined perl6
08:34 svnbot6 r13085 | malon++ | smartlinks-server.pl - get_revision() added
08:42 gaal nothingmuch: L<S0E> is online at http://www.bartleby.com/141/
08:42 lambdabot Title: Strunk, William, Jr. 1918. The Elements of Style
08:43 TreyHarris and if you'd like some comic relief, i have a link to a webpage somewhere that has recommendations from that book followed by sentences from the book that blatantly violate it :-)
08:43 buetow joined perl6
08:43 gaal TreyHarris: do send link
08:43 nothingmuch gaal++ # awesome
08:44 TreyHarris gaal: i'll look for it.  in the morning.  must sleep
08:44 NamelessOne joined perl6
08:44 gaal remember a keyword perhaps to search with?
08:50 kane-xs joined perl6
08:55 lumi I think you should look at Language Log
08:56 lumi gaal: ^^
09:01 marmic joined perl6
09:01 gaal he hates S&W, but I don't think he's very funny about it
09:02 lumi Maybe someone else, then
09:08 ludan joined perl6
09:33 gaal audreyt: how do I get 'make ghci' to depend on third-party?
09:33 svnbot6 r13086 | gaal++ | * have 'make clean' delete ghci intermediate files
09:34 gaal note that the '@prereqs' dep is 2/3rds bogus: cbits and syck globs don't contain anything
09:35 audreyt gaal: have it run build_upugs with some bogus flag that let it stop after third party
09:35 audreyt perhas
09:35 audreyt perhaps
09:35 audreyt or split build_pugs into build_third_party
09:36 gaal hmm
09:36 gaal i forgot about that
09:36 gaal huh, also need to moose out prelude building so that we can have a prelude yml target in makefule
09:37 gaal ouch! my build is real borked, remmeber that Main error? i'm now getting it on make fast... prolly i mangled a file or something
09:38 audreyt that's very moose...
09:38 gaal that's very unmoose if you ask me
09:38 audreyt moose is also antimoose
09:39 gaal it's moosed up
09:39 gaal and moosed down
09:39 gaal also moosed over sideways
09:39 avar I made some more test case commits yesterday, first in a few months
09:40 audreyt "a moose that could be moosed up has not the true moose"
09:40 audreyt avar: yay!
09:40 avar it looks like someone has to go over the synopses and make sure that all the stuff described there is being tested by make test, I'll do that over the weekend maybe
09:40 avar And some syn/ stuff needs clearing up also, probably
09:41 ruoso joined perl6
09:42 pasteling "gaal" at 192.115.25.249 pasted "minimal repro" (3 lines, 369B) at http://sial.org/pbot/19509
09:44 gaal the file I guess would be src/Prereqs.hs
09:49 norageek2 joined perl6
09:49 gaal I'm checking if it's lossage in my runcompiler...
09:50 gaal no, it's not :(
09:50 gaal audreyt: does it workforyou?
09:52 audreyt it worksforme.
09:52 gaal ah found it. wow, this was evil:
09:52 gaal I had a stray leading ')' in src/Pugs/Internals.hs, on the same line as the ghc options
09:52 audreyt wow, oy.
09:53 gaal totally screwed up ghc's coordinates :(
10:00 gaal audreyt: is it kosher to export 'PureSig' from Val?
10:01 Fuzie joined perl6
10:01 gaal oh, we already do
10:01 gaal but we call it Sig
10:02 gaal hm. the coercion breaks sig-unpacking. the parser presumably fails. but why?
10:03 pasteling "gaal" at 192.115.25.249 pasted "this fails after consuming input, thus not being guarded by the optional" (2 lines, 407B) at http://sial.org/pbot/19510
10:15 audreyt it can't...
10:15 audreyt oh wait, lexeme consumes ws.
10:15 audreyt try $ lexeme $ ...
10:17 gaal but it consumes it after the rule, no?
10:17 gaal lexeme is what I had called withTrailingSpace, isn't it?
10:18 gaal lexeme r = do { rv <- r ; whiteSpace ; return rv }
10:18 audreyt yes
10:18 gaal so this shouldn't be a problem... lexeme $ option Nothing $ try $ do
10:18 audreyt but "return" cannot consume input
10:19 audreyt you shouldn't need to try, even
10:19 audreyt anyway, so it's castfail?
10:19 gaal i think I do need the try, because I don't have a predictive strategy to commit to an unpacking
10:20 gaal yes. the same code with 'Maybe Val' guts works.
10:21 gaal re predictive, what i mean is that because of the "optional $ char ':'" there, I need the try
10:21 audreyt *nod*
10:21 gaal in case I am really looking at a where block or whatever.
10:21 audreyt maybe you can fix verbatimParens
10:21 gaal ....which needs to be fixed, right? I'm using try in a few places here and I probably shouldn't be.
10:22 audreyt and make the start part of "between" a oneOf.
10:22 audreyt er I mean, a choice.
10:22 gaal choice what?
10:22 audreyt between (string ":(" <|> string "(") (...)
10:22 gaal ahh
10:23 gaal well, not for the verbatimParens rule right? verbatimSigParens or something
10:23 gaal also, the opener is a lexeme, I think
10:24 audreyt yup
10:24 audreyt yup
10:24 audreyt lexeme (...)
10:24 gaal so maybe:
10:25 gaal parameterize ruleSignatureVal with the optionaliry of the colon
10:25 gaal er no
10:25 gaal in ruleSignatureVal the closer is a lexeme too
10:26 gaal but anyway, that's not the problem here, is it? the problem is the castfail
10:26 audreyt *nod*
10:26 gaal I don't grok the cast here, actually.
10:28 araujo hello all :-)
10:29 araujo audreyt, i took the rawTree to a DAG using Graph.Inductive ......
10:30 audreyt araujo: oooh
10:30 audreyt is it checked in? :)
10:31 chris2 joined perl6
10:31 araujo i am checking ... i still don't commit though
10:32 gaal has anyone had any luck with 'set path' and ':find' in vim? it doesn't seem to work for me
10:32 audreyt never used either here..
10:33 gaal ah, got it to work partially. 'set path+=./src/**'  and now I can do ':fin Val.hs'
10:33 gaal but it doens't work with completions, and I **/*hs didn't work.
10:34 gaal still, useful.
10:34 gaal so: why I don't get the cast
10:34 gaal we have a VPure PureSig
10:34 iblechbot_ joined perl6
10:35 gaal only, that's an exsistential antler
10:35 araujo audreyt, i see some functions should be re-written or replaced. (addNode, initTree ...)
10:35 gaal (Val (VV sig')) <- verbatimParens ruleSignature
10:35 gaal now sig' is not yet a PureSig
10:35 gaal there's the VPure layer to peel off too
10:36 audreyt araujo: aye.
10:37 audreyt (Val (VV (VPure sig'))) <- verbatimParens ruleSignature
10:37 audreyt and then cast sig' ?
10:37 gaal yes
10:37 gaal sig' is a newVal
10:37 araujo audreyt, so i suppose i got enough permissions to do the necessary changes right? :-)
10:37 gaal I want to extract the PureSig from it
10:38 gaal ah
10:38 * gaal exports VPure
10:38 gaal (though, I thought we wanted to avoid that?)
10:38 audreyt araujo: in pugs we asks for forgiveness rrather than permission
10:39 audreyt easier that way
10:39 audreyt gaal: another way is to push it inside Val
10:39 gaal how?
10:39 araujo haha
10:39 gaal oh, the extraction?
10:39 audreyt castVal :: Monad m, Typeable a => Val -> m a
10:39 gaal Val -> PureSig
10:39 audreyt yes. seems sensible
10:40 audreyt probably even very good idea
10:40 gaal oh you can do it that way? excellent
10:40 gaal I tried to figure out how
10:40 audreyt need () around the context though
10:40 gaal sure
10:40 audreyt (Monad m, Typeable a) => Val -> m a
10:40 gaal yes
10:40 audreyt case into val and use fromTypeable... you know the rest :)
10:41 gaal hmm this is just a function even, not a method
10:41 gaal okay
10:43 audreyt yeah, that's because we inherit Typeable
10:44 audreyt in all Val variant's nodes
10:45 ofer0 joined perl6
10:55 gaal it works, but I wish there was a way to make it work for ValNative and ValUndef too.
10:59 audreyt we'll make it work when we need it work...
10:59 audreyt (you can case into valnative variants too)
10:59 gaal i dig that
11:00 gaal no, it's the rigidity of 'a' in the sig that throws it
11:01 gaal committing
11:03 audreyt as in fixed and committing?
11:03 gaal not the concrete ones, no
11:04 audreyt 'k
11:04 svnbot6 r13087 | gaal++ | * introduce 'castVal' to unwrap Vals into concrete types. audreyt++ for
11:04 svnbot6 r13087 | gaal++ |   the existential counselling.
11:04 svnbot6 r13087 | gaal++ | * Pugs.Val.Code.Param.p_unpacking can now be made a (Maybe PureSig) again.
11:08 gaal audreyt: in Text.Parser.Kwid, can you point me to an example of something that's exploiting arrowhood and is thus different from parsec?
11:08 TimToady joined perl6
11:10 audreyt uh nothing there is
11:10 gaal i'm looking for an example *usage* of PArrow to study
11:10 audreyt PArrow is only used in Text.Parser.Rule
11:11 audreyt in particular &&& and >>^
11:13 audreyt dinner, bbiab :)
11:21 gaal I'm wondering.. the combinators are so similar, and we're going to have to revisit most of the parser anyway, why not redo it with PArrow? but I don't know enough about it
11:22 gaal bbiab also &
11:22 NamelessOne joined perl6
11:27 weinig joined perl6
11:49 markstos joined perl6
11:54 markstos ?
11:54 lambdabot markstos: You have 1 new message. '/msg lambdabot @messages' to read it.
11:58 markstos I read about CATCH blocks, but what if the condition I want to test isn't something to compare $! against? It seems the  normal 'when{}' syntax doesn't work then.
11:59 markstos Instead, I want to check if an "error mode" has been defined to handle the error or not.
12:00 theorbtwo markstos: You can give a closure to when, IIRC:
12:00 markstos I almost had a solution myself, but by handling $! myself, I lost the valuable trace that come when $! is thrown "naturally".
12:04 markstos interesting....
12:04 markstos ?eval { when 0 ~~ 1 { say "surprise!" } }
12:04 evalbot_r13082 is now known as evalbot_r13087
12:04 evalbot_r13087 OUTPUT[surprise! ] Bool::True
12:08 markstos I think that's a bug. The spec says: "a switch statement can be any block that sets C<$_>, including a C<for> loop (in which the first loop parameter is the topic) or the body of a method"
12:08 markstos In my example,  I can't see what set $_
12:12 nachos left perl6
12:17 markstos hmm, the docs say the error in CATCH will be rethrown if no error is handled, but it doesn't seem like it is:
12:17 markstos ?eval try { boom(); CATCH { when 'yours' { say "found yours" } } };
12:17 evalbot_r13087 undef
12:21 markstos It looks like a case like that is already :todo<bug> in t/builtins/control_flow/try.t  , so I won't add another.
12:21 markstos off to work!
12:22 Limbic_Region joined perl6
12:23 jdv79 hey Limbic_Region, whaaaats haaaaappenin?
12:24 Limbic_Region not much yet - still going through my morning routine
12:24 Limbic_Region wondering if the Win32 build problems were magically fixed while I slept
12:24 Limbic_Region you?
12:25 jdv79 not too much really.  been checkin out moose lately.  wonderin' when the p6 metamodel'll be available:)
12:26 jdv79 i just got in to work, just winding down from the bike ride...
12:28 Limbic_Region ok, I see that audreyt attempted a fix, going to verify now
12:32 Limbic_Region hrm - new error, I only have about a half hour to investigate
12:34 jdv79 the heat is on...
12:35 jdv79 bad 80s song wasn't it?
12:37 Limbic_Region well, depends on your definition of bad
12:43 buetow joined perl6
12:43 * Limbic_Region hopes audreyt's dinner is better than his breakfast
12:44 Limbic_Region A co-worker was kind enough to bring in fancy donuts
12:44 Limbic_Region which are now reaking havoc with my stomach
12:44 jdv79 frosted mini-wheats here
12:44 * Limbic_Region thinks it was an evil plot
12:44 jdv79 the motive is what though?
12:45 Limbic_Region conspiracy theorists don't necessarily come up with the motive first
12:46 Limbic_Region I got it:  With weird abdominal goings on, I will be less likely to try and convert them to Perl addicts like myself
12:46 Limbic_Region it is a defense mechanism
12:52 Limbic_Region well, Win32 seems to be progressing quite nicely.  So far so good
12:53 audreyt yay!
12:53 audreyt the news that win32 works well sends dopaime through my limbic region :)
12:54 Limbic_Region well, the compile isn't finished
12:54 Limbic_Region but the p5 embedding works again
12:54 audreyt cool
12:54 Limbic_Region on 87 of 95
12:54 audreyt I verified the Vanilla branch in Makefile.PL
12:54 audreyt but forgot to fix ActivePerl
12:54 Limbic_Region no worries
12:55 audreyt :)
12:55 Limbic_Region that's what I (and particle) are here for
12:55 Limbic_Region FYI - the Win32 build machine for ghc fell over
12:56 Limbic_Region also - obra was asking about the state of the JS backend.  Apparently the smoke status has been at 0% for many months due to a single file being missing
12:56 Limbic_Region know who to poke on that?
12:57 audreyt which file?
12:57 audreyt I verified it works on previous release
12:57 audreyt I know it's bitrotten now but it was customary to fix right before release
12:57 * Limbic_Region checks last night's log
12:58 Limbic_Region hmm. every single test is saying "Error: Precompiled Prelude ("...perl5/PIL2JS/pil2js.pl") does
12:58 Limbic_Region not exist... Can't bless non-reference value at "...pil2js.pl line 77"
12:58 audreyt right.
12:58 audreyt iblech is no longer around, so I guess poke me :)
12:58 audreyt (but it's part of releng for me)
12:59 * Limbic_Region isn't sure his wife would like him poking another woman
12:59 Limbic_Region well - I guess she would probably be more distraught if I was poking a man
12:59 Limbic_Region um, let's get back on topic
12:59 audreyt moving right along...
12:59 avar mm, manpoking
13:00 Limbic_Region so iblech was the JS champion and he is not available
13:00 avar eh yes, sorry:)
13:00 crem_ joined perl6
13:00 audreyt aye
13:00 Limbic_Region personally, I would rather nudge you to work on the haskell and parrot backends
13:01 Limbic_Region ah good, back to the error I had before the p5 embedding issue
13:01 audreyt that error is fixed in GHC
13:01 audreyt it's a GHC bug on that particular day
13:01 Limbic_Region oddly enough - this is only affecting my work computer so I am not sure what it is
13:01 audreyt it's fixed the next day
13:01 Limbic_Region audreyt - except it works fine on the same version at home
13:02 audreyt Wed Sep  6 19:27:50 CST 2006  Ian Lynagh <igloo@earth.li>
13:02 audreyt  * Fix the Windows "VirtualAlloc MEM_COMMIT failed" bug
13:02 audreyt  We had
13:02 audreyt      base=01100000 size=1048576 size_delta=0 it->size=2097152
13:02 audreyt      it->base=00F00000 base-it->base=00200000
13:02 Limbic_Region and there is no next day for Win32 - it stops on the 1st
13:02 audreyt  in commitBlocks.
13:02 audreyt  Esa Ilari Vuokko identified this inequality test as the cause.
13:02 * Limbic_Region is extremely confused then
13:02 audreyt the diff for that is...
13:02 audreyt    hunk ./rts/MBlock.c 445
13:02 audreyt    -    for( ; it!=0 && (it->base+it->size)<base; it=it->next ) {}
13:02 audreyt    +    for( ; it!=0 && (it->base+it->size)<=base; it=it->next ) {}
13:03 Limbic_Region how could the exact same build work on one machine and not the other
13:03 audreyt apparently it only affects system that allocs on some memory boundary
13:03 Limbic_Region ahhh
13:03 Limbic_Region so then at work at least, I have to revert back to the 19th?
13:03 audreyt or prod Igloo or Simon for another bindist
13:04 audreyt good that this is caught before 6.6's release
13:04 Limbic_Region well actually, I wouldn't be opposed to building from source if they fix the Happy bug
13:04 * Limbic_Region wanders over to #haskell
13:04 vel joined perl6
13:06 Limbic_Region the binary dists of Happy and Alex are not new enough to properly build the latest GHC but Happy at least can't be built using the current GHC because of a bounds issue
13:06 Limbic_Region it won't pain me terribly to revert to 08-19 if I can't get a new binary build
13:08 audreyt *nod*
13:08 audreyt so, if it's your report that triggered evuokko's investigation
13:08 audreyt I'm much indebted :)
13:08 gantrixx joined perl6
13:09 drbean joined perl6
13:10 Limbic_Region I doubt seriously I did any more than put the hounds on the scent
13:10 audreyt yeah but without that 6.6 will be released and broke win32 everywhere for a while :)
13:11 * gaal mooses
13:11 Limbic_Region well, I will be sure to validate the next bin release as soon as the machine is back on its feet
13:12 Limbic_Region and Win32 at least will be released with the extralibs included so no Cabal required for the neophytes like myself
13:12 audreyt it's like ActivePerl! :)
13:13 audreyt (referring specifically to LWP and DBI)
13:13 penk joined perl6
13:14 Limbic_Region AS has released build 819 which includes the patch that bart, intrepid, and myself found to make Module::Build work again
13:14 markstos joined perl6
13:15 Limbic_Region this is very important for those compiling XS modules with AS and MinGW
13:15 audreyt excellent
13:15 audreyt yup
13:16 Limbic_Region Is there an automatic smoke down for Win32 now for every rev?
13:16 audreyt no there is not
13:16 Limbic_Region hrm - someone has been a busy beaver than
13:17 Limbic_Region Michal Jurosz apparently
13:17 audreyt oh wait
13:17 audreyt there is
13:17 audreyt I was looking at wrong column
13:17 audreyt yeah
13:18 audreyt it sure looks automatic
13:18 audreyt that's excellent
13:18 Limbic_Region that's what I was thinking
13:18 kuuz joined perl6
13:19 cjeris joined perl6
13:20 Limbic_Region cjeris is another Win32 user IIRC
13:20 Limbic_Region and there goes particle - another Win32 user
13:21 Limbic_Region He giveth and He taketh away
13:21 rodi I note that key of a Pair seems to automagically coerce to a String in assignment, but not in retrieval from a Hash... is this an intended behavior?
13:21 Limbic_Region audreyt - any insight into the gcc-lib/ld.exe issue with setup.exe ?
13:22 rodi ?eval my %a = ( (1,2) => "buckle my shoe" ); %a{(1,2)} #gives undef
13:22 evalbot_r13087 [undef, undef]
13:22 cjeris Limbic_Region: yes, unfortunately
13:22 rodi ?eval my %a = ( (1,2) => "buckle my shoe" ); %a{~(1,2)} #gives value
13:22 evalbot_r13087 \"buckle my shoe"
13:23 Limbic_Region cjeris - don't look at it that way.  Look at it as paving the way so those less technically savvy than you can enjoy software
13:23 audreyt rodi: yes, because you are slicing on the first
13:24 rodi audreyt: awesome, thanks.
13:24 audreyt Limbic_Region++ # very constructive
13:24 * cjeris paves the road with the calcined bone-ash of microsoft -- except simon peyton-jones
13:24 audreyt SPJ's work is copyrighted by Glasgow anyway ;)
13:24 agentzh joined perl6
13:25 Limbic_Region ?eval my @foo = 1..3; @foo>>++; ~@foo
13:25 evalbot_r13087 Error: Can't modify constant item: VInt 1
13:25 Limbic_Region there is a failing test for that right?
13:25 cjeris yup
13:25 audreyt I remember there is
13:25 agentzh ah, that's a todo.
13:25 Limbic_Region ok, so let me run down my mental list of things to bug audreyt about
13:25 agentzh in long_dot.t
13:26 Limbic_Region 1.  setup.exe not properly finding gcc-lib/ld.exe
13:26 Limbic_Region 2.  removing the need for parrot to do rules
13:26 Limbic_Region hrm - that's a short list
13:26 audreyt fwiw, 2) is part of release
13:26 audreyt 1) is good to have
13:26 Limbic_Region woooot
13:26 audreyt but I can accept the horrible workaround.
13:26 Limbic_Region me too
13:26 audreyt I mean, it's not like ld.exe is huge or something :)
13:27 Limbic_Region I don't actively develop pugs though, so my microcosm of things to improve is quite small
13:27 rodi this next question may be a question for #haskell, but I'll give it a shot anyhow:
13:27 rodi ?eval sprintf("%b",10)
13:27 evalbot_r13087 pugs: Printf.printf: bad formatting char b
13:28 rodi The GHC and Hugs Printf both lack "b" as a formatting char,
13:28 audreyt rodi: so you can prolly remedy it
13:28 audreyt in src/perl6/Prelude.pm line 566
13:29 audreyt handle %b in a separate ase
13:29 audreyt improvise, etc :)
13:29 rodi Great, I've got my dec2bin working already,
13:29 audreyt *separate case
13:29 audreyt in Hs ot in p6?
13:29 rodi will try to make it handle all the formatting.
13:29 audreyt in Hs or in p6?
13:29 rodi p6.
13:29 rodi Wrong thing?
13:29 audreyt excellent.
13:29 audreyt no ,absolutely correct.
13:30 rodi Cool.  It may have some unique behaviors on my first try :-D
13:30 agentzh rodi++
13:30 Limbic_Region rodi plus plus
13:30 * Limbic_Region wonders if audreyt is trying to type in the shower as her fingers seem to be slipping
13:31 agentzh gaal++ # fixed the pugs parser to make all the tests in start.t pass.
13:31 audreyt Limbic_Region: no, it's the plastic case above my keyboard
13:32 audreyt s/case/slip/
13:32 Limbic_Region designed to prevent crumbs and what not
13:32 audreyt not used to that, but presumably it can preent some of disasters
13:32 audreyt prevent, even
13:32 audreyt judged by the sheer amount of stuff on that after just one day of use
13:32 audreyt I'd say it's wise to get used to it
13:33 * Limbic_Region thinks he could design a better keyboard provided sufficient motivation
13:33 audreyt I don't doubt that at all
13:33 agentzh audreyt: do multiple NEXT {} run in the reversed order?
13:34 audreyt I don't know, actually.
13:34 agentzh :)
13:34 audreyt I don't have a clear intuision of what makes sense.
13:35 agentzh larry once said on p6l that quitting blocks should run in reversed order.
13:35 audreyt I read that too. thing is, is NEXT quitting or entering...
13:35 agentzh just not quite sure if NEXT {} falls in that category.
13:36 agentzh yeah
13:36 [particle] joined perl6
13:36 audreyt I can argue either way eloquently, which means it's best deferred to TimToady, sorry :)
13:36 [particle] grr. net--
13:36 Limbic_Region could either of you provide a small snippet to illustrate this?
13:36 agentzh audreyt: aye
13:36 Limbic_Region particle - your p5 embedding issues should be gone now
13:36 Limbic_Region audreyt plus plus
13:36 [particle] yay
13:37 [particle] i'll check now
13:37 Limbic_Region I have already confirmed on the release candidate - reverting back to 6.5 bin from 08-19 due to other reasons
13:37 [particle] irc log link not in channel title :(
13:38 Limbic_Region but the pugs homepage is
13:38 Limbic_Region and almost everything pugs related is linked from there
13:38 * agentzh has found that p6l is a great source of test cases for pugs. :)
13:38 Limbic_Region actually - the homepage is missing from the topic
13:38 [particle] actually, no, it's not (it's not a link)
13:38 [particle] right
13:38 Limbic_Region pugscode.org
13:39 [particle] sure, i'm there already :)
13:41 Limbic_Region you are on 6.4.1 right?
13:41 [particle] yes
13:42 Limbic_Region audreyt - any idea when pugs compatibility with the 6.4 branch is going to end
13:42 audreyt the release after this
13:42 [particle] hopefully after 6.6 is working
13:42 [particle] great
13:42 [particle] i plan to go to 6.6 from here
13:42 audreyt which won't happen until 6.6 bindist is made available to all common platforms
13:43 Limbic_Region and the release after next is 6.28.0 right?
13:43 [particle] agentzh++ # smartlinks is looking great!
13:43 agentzh particle: :)
13:43 audreyt Limbic_Region: it fnally is looking that way, yes
13:43 audreyt nothingmuch's MOP stuff is looking nice
13:44 audreyt and I figured out how to hook native types into that
13:44 audreyt and gaal figured out how to refactor and extend it cleanly ...
13:44 audreyt ...providedthat we can ditch 6.4 compat...
13:44 audreyt so yeah.
13:44 Limbic_Region woot
13:44 [particle] agentzh: what would you think about much smaller links, with a hover message that gives the details?
13:45 agentzh details of the tests themselves?
13:45 [particle] no
13:45 agentzh stats info?
13:45 [particle] link appears like [see tests]
13:46 [particle] hover, and it says "Show the snippet from t/.../ (line xxx)"
13:46 agentzh hmm...
13:46 [particle] just a smaller marker, so flow isn't interrupted
13:47 [particle] or, highlighting of keyphrases with the same hover content
13:47 Limbic_Region audreyt - Win32 100% functional on 08-19
13:47 [particle] and making the keyphrases the link instead
13:47 agentzh particle: i like it. :)
13:48 agentzh particle: feel free to hack that into smartlinks.pl. ;-)
13:48 Limbic_Region running smoke now and likely going to wander
13:48 audreyt Limbic_Region: nice!
13:48 agentzh particle: yes, keyphrases are much more descriptive than test file paths.
13:49 [particle] agentzh: okay, i'll hack when i can :)
13:49 agentzh particle++
13:51 Limbic_Region concurrency not supported on your platform - does that mean on other platforms the smoke tests are done in parallel?
13:51 Limbic_Region cause if that's the case, Parallel::ForkManager works fine on Win32
13:51 audreyt oooh
13:52 audreyt line 225 utl/yaml_harness
13:52 audreyt if you can hack in P::FM that'd be great.
13:52 * Limbic_Region taking notes as I have to wander ATM
13:52 audreyt but it won't actually improve things on uniprocessor, I think
13:53 Limbic_Region I bet it might
13:53 agentzh dual core cpu?
13:53 Limbic_Region no - on a uniprocessor
13:54 agentzh when blocking I/O is common, then yes.
13:54 [particle] hrmm... my pugs build still fails :(
13:54 Limbic_Region the limited testing I have done shows that n tasks done in parallel using time slicing still complete faster than the same tasks in serial
13:54 [particle] i'll try realclean
13:54 Limbic_Region assuming the CPU is not at 100% for any of the tasks
13:54 agentzh fyi, my pugs build on win32 succeeded tonight.
13:55 audreyt [particle]: possibly it's a 6.4.1 thing, or the headers conflicted with each other
13:55 Limbic_Region particle - as I have said before, I always do a realclean
13:55 audreyt I wonder if you have some tuits to try 6.4.2
13:55 [particle] i was hoping to skip 4.2 and go to 6
13:55 Limbic_Region in any case, I will try and hack in P::FM and then test the timing
13:55 [particle] is that likely within the next days?
13:55 Limbic_Region but that will have to be after I do some $work
13:55 audreyt [particle]: well, 0819 build is good enough 6.6 for me
13:55 audreyt and for $work
13:55 audreyt so I'd suggest that
13:56 [particle] ok, will do
14:03 agentzh joined perl6
14:04 xerox joined perl6
14:05 agentzh audreyt: ping
14:06 agentzh audreyt: could you fix the "modifer" typo in S04 for me? :)
14:07 audreyt I'll quote that line as my commit log ;)
14:07 weinig is now known as weinig|bbl
14:07 audreyt r11817.
14:08 agentzh audreyt++
14:08 agentzh already seen that mail on p6l. :)
14:09 agentzh hehe, funny. ;-)
14:11 audreyt :D
14:11 Limbic_Region audreyt - what version of Perl are we assuming with yaml_harness.pl?  It looks like we are shooting for very old backwards compatability
14:12 audreyt 5.006 at that time
14:12 audreyt but I think we can reasonably expect 5.8 for next release
14:13 Limbic_Region ok, so the fisher yates was because List::Util wasn't core until 5.7
14:14 Limbic_Region I won't change stuff just to change it though - I just saw local *FH instead of using lexical and what not
14:14 Limbic_Region suprised me a bit
14:15 audreyt that's prolly archiac and can go
14:15 audreyt in any case don't be limited by it for new code you write
14:15 agentzh anyone here wanting to give a quick implementation of the NEXT blocks to pugs? :)
14:15 Limbic_Region well, the new code I write is going to be an eval require Parallel::ForkManager
14:15 Limbic_Region and if present - use it instead of the homegrown code for parallelization
14:16 Limbic_Region which gets Win32 working
14:16 audreyt k
14:16 Limbic_Region if not present - fall back and Win32 is SOL
14:16 audreyt aye
14:16 Limbic_Region I can certainly clean up the remainder of the code though
14:17 Limbic_Region and can also do some other conditionals such that if List::Util is present, it uses that shuffle instead (which is XS)
14:17 Limbic_Region yeah - a fun project that I can actually do myself
14:20 agentzh audreyt: i think we should rename "vcode2firstBlock" to "vcode2startBlock" under src/
14:20 [particle] D:\usr\local\pugs>ghc --version
14:20 [particle] The Glorious Glasgow Haskell Compilation System, version 6.5.20060819
14:20 [particle] :)
14:21 * [particle] builds pugs with confidence it will finish
14:22 audreyt agentzh: I think you can do the commit :)
14:22 agentzh audreyt: okay
14:22 audreyt s///g on Parser.hs should be sufficient
14:22 audreyt "make fast" is your friend...
14:23 audreyt and if it compiles, ship, er, commit it
14:23 Limbic_Region particle - it will
14:24 agentzh audreyt: sure!
14:25 agentzh i think i should write a Makefile for Win32's judy build system.
14:26 agentzh it's currently required to compile C Judy from scratch everytime we make.
14:26 agentzh that's becoming annoying now. :(
14:27 audreyt I second that
14:27 agentzh will give it a shot once i have some time.
14:29 Limbic_Region oh, either Obra or TreyHarris was saying that make smoke recompiled pugs every time regardless if they had just finished building
14:29 Limbic_Region I thought that was fixed?
14:29 svnbot6 r13088 | agentz++ | [src/Pugs/Parser.hs]
14:29 svnbot6 r13088 | agentz++ | - s/vcode2firstBlock/vcode2startBlock/g
14:29 obra hat wasn't me
14:29 agentzh audreyt: can you give me some guide to make unimplemented traits blocks "inline blocks" instead of emptyExp?
14:30 audreyt "inline blocks" ?
14:30 agentzh audreyt: to serve as a temporary hack.
14:30 audreyt as in run it immeidately?
14:30 agentzh audreyt: i need that to bootstrap my tests.
14:30 pasteling "[particle]" at 144.81.84.199 pasted ":( :( :(" (642 lines, 29.4K) at http://sial.org/pbot/19513
14:30 agentzh audreyt: aye
14:30 audreyt ok, try
14:30 audreyt retBlock block
14:31 audreyt instead of
14:31 audreyt return emptyExp
14:31 prefiks joined perl6
14:31 audreyt thats all
14:31 agentzh that's all?
14:31 audreyt make sure to throw plenty of XXXs
14:31 audreyt sure
14:31 agentzh i'm impressed. :)
14:31 agentzh audreyt: XXXs, okay
14:31 audreyt as in comments
14:31 agentzh gotcha
14:31 Limbic_Region @ARGV = sort map glob, "t/*/*.t", "t/*/*/*.t", "ext/*/t/*.t" if ! @ARGV ?
14:31 audreyt [particle]: which kind of perl is in d:\usr\local\perl ?
14:31 lambdabot Unknown command, try @list
14:32 Limbic_Region audreyt - you mind if I just re-write yaml_harness.pl ?
14:32 audreyt code ownership is a wildly unpopular idea here :)
14:32 audreyt (as in, I'd be very happy)
14:32 Limbic_Region ok
14:33 audreyt [particle]: is it activeperl or cygperl?
14:33 [particle] audreyt: as 5.8.6
14:33 agentzh LR: don't forget to use Test::TAP::Model to generate the "meat" part of the AST (as in tests.yml)
14:33 audreyt Limbic_Region: when did activestate fix mingw compat?
14:33 audreyt I wonder if [particle] is hitting that
14:34 audreyt it looks very similar to cmpiling XS modules for actcivestate sing MinGW
14:34 audreyt and it's been fixed a while ago, but I don't remember if it's 5.8.6
14:34 Limbic_Region just a sec
14:35 Limbic_Region I posted about it on PerlMonks so I can find it
14:35 * Limbic_Region doesn't see particle's error though
14:35 Limbic_Region oh, just off my screen
14:35 * Limbic_Region takes a look
14:35 [particle] D:/usr/local/perl/lib/CORE/win32.h:245: error: redefinition of typedef 'intptr_t
14:35 [particle] '
14:35 audreyt aha
14:35 audreyt it's fixed in 5.8.7 build 815
14:35 [particle] aargh!
14:36 audreyt Gisle's work
14:36 [particle] okay, i'll get the latest AS perl
14:36 audreyt cool
14:36 audreyt AS 5.8.6 and below only works with VC+
14:36 audreyt VC++
14:36 [particle] i have vc++
14:36 audreyt which the GHC team has been reluctant to support in their bindist
14:36 [particle] oh
14:36 Limbic_Region it might be getting confused
14:36 audreyt so the bindist they use is MinGW
14:36 [particle] i don't have mingw
14:36 audreyt GHC bundles it
14:37 audreyt which should work ine, just like VanillaPerl
14:37 [particle] ic
14:37 audreyt on 5.8.7.817+
14:37 [particle] is there a compat or prereq file for that info to be added to?
14:37 Limbic_Region particle - you were looking for an excuse to upgrade - weren't you
14:37 [particle] perl? not really :(
14:38 [particle] perhaps i'll stick with 5.8.7, i here 5.8.8 is a bit buggy
14:38 [particle] s/stick with/move to/
14:38 [particle] i think AS 5.8.8 has a new ppm which doesn't play nice with some existing repos
14:39 [particle] like tcool
14:39 agentzh audreyt: GHC compilation error: Probable cause: `retBlock' is applied to too few arguments in the call (retBlock block)
14:39 [particle] which has a DBI that works with Jifty head
14:39 PerlJam forget AS; use strawberry perl  :)
14:40 hexmode joined perl6
14:40 [particle] darn, can't get 5.8.7 from AS site
14:41 agentzh PerlJam: i couldn't install GraphViz.pm on strawberry perl the last time i checked.
14:42 PerlJam agentzh: well, then fix *that*.  That seems like something useful.
14:42 lumi agentzh: Look in vcode2firstBlock, maybe
14:42 PerlJam :-)
14:42 * [particle] thinks the strawberrys aren't ripe yet
14:42 svnbot6 r13089 | audreyt++ | * Die on ActivePerl 5.8.7 and below with Perl5 embedding.
14:42 audreyt there you go :)
14:42 agentzh lumi: looking now
14:42 audreyt fwiw, the new PPM is only on latested 5.8.8 build
14:43 audreyt I think 5.8.8 build 817 is safe
14:43 [particle] audreyt: 819 only available on AS
14:43 audreyt not 100% sure though
14:43 audreyt http://downloads.activestate.com/ActivePerl/Window​s/5.8/ActivePerl-5.8.8.817-MSWin32-x86-257965.msi
14:43 audreyt is 817
14:43 audreyt more archives at http://downloads.activestate​.com/ActivePerl/Windows/5.8/
14:43 lambdabot Title: Index of /ActivePerl/Windows/5.8, http://tinyurl.com/75cs3
14:43 [particle] ooh, audreyt++
14:43 agentzh lumi: there's no retBlock calls there. :/
14:43 agentzh auderyt: "retBlock block" can't compile.
14:44 agentzh *audreyt
14:44 lumi agentzh: s_postIterate
14:44 lumi block <- retBlock SubBlock Nothing False body
14:44 audreyt sorry.
14:44 agentzh ah, thanks. :)
14:44 christopher joined perl6
14:44 audreyt retBlock SubBlock Nothing False block
14:45 agentzh retry now
14:46 elmex joined perl6
14:48 svnbot6 r13090 | iblech++ | The smokeserv on m19s28.vlinux.de now uses malon++'s shiny smartlinks-server.
14:48 svnbot6 r13090 | iblech++ | malon++ malon++ for making smartlinks-server a very seamless update :)
14:48 svnbot6 r13090 | iblech++ | (All problems I encountered were the results of various forms of typos)
14:48 agentzh wow
14:49 agentzh malon++ malon++ malon++
14:49 audreyt wow
14:49 svnbot6 r13091 | iblech++ | Renaming smartlinks-server.pl to smokeserv-server.pl, part 1.
14:49 svnbot6 r13092 | iblech++ | Renamed smartlinks-server.pl to smokeserv-server.pl (part 2).
14:49 audreyt iblech is alive!
14:50 agentzh hooray
14:50 audreyt iblech++ malon++ agentzh++
14:50 agentzh auderyt: surprisingly, all tests in t/closure_traits/next.t pass now. :)
14:50 audreyt that means you don't have enough tests, tsk! :)
14:51 agentzh audreyt: *nod*
14:51 Limbic_Region wooot
14:52 pasteling "Limbic_Region" at 129.33.119.12 pasted "Please confirm this is an "ok" thing to do" (15 lines, 398B) at http://sial.org/pbot/19514
14:52 Limbic_Region audreyt - would you mind taking a look at that
14:52 Limbic_Region I am a bit self-concious about just doing things my way
14:53 audreyt I'm saying yes without looking
14:53 audreyt now I'm looking...
14:53 [particle] :)
14:53 audreyt well, it's purely style
14:53 audreyt but I'll probably do
14:54 audreyt local $@; my $has_list_utils = eval { require List::Util; 1 };
14:54 audreyt *shuffle = $has_list_utils ? ...
14:54 audreyt to avoid clobbering $@
14:54 audreyt and avoid negative ?:
14:55 audreyt but sure, the idea and implementation both looks valid enough
14:55 audreyt or we just depend on List::Util
14:55 audreyt which would be fine also.
14:55 Limbic_Region well, I would prefer to offer flexibility
14:55 audreyt yeah, then sure, check that in :)
14:56 audreyt localizing $@ is probably a good idea though.
14:56 Limbic_Region oh, going to finish the whole thing before check-in
14:56 Limbic_Region just getting a sanity check before moving on
14:56 audreyt k
14:56 audreyt sane :)
14:56 Limbic_Region localized and moving on
14:57 svnbot6 r13093 | agentz++ | [src/Pugs/Parser.hs]
14:57 svnbot6 r13093 | agentz++ | - *temporarily* made unimplemented traits blocks as
14:57 svnbot6 r13093 | agentz++ |   immediate inline blocks to ease testing. the closure
14:57 svnbot6 r13093 | agentz++ |   traits affected are ENTER, LEAVE, KEEP, UNDO, FIRST,
14:57 svnbot6 r13093 | agentz++ |   NEXT, LAST, PRE, POST, CATCH, and CONTROL.
14:57 svnbot6 r13093 | agentz++ | anyway, their full implementations will still be very
14:57 svnbot6 r13093 | agentz++ | appreciated!
14:58 lumi agentzh: I've got something half-done on that (trait implementation, I mean), maybe I can get it done this weekend
14:59 agentzh lumi: yay! thank __you__!
14:59 audreyt woot
15:02 * agentzh thinks he should login to feather often, or he would forget his password there.
15:04 Eimi joined perl6
15:09 svnbot6 r13094 | rodi++ | test for "%b" in sprintf context- currently unsupported by Hs Printf
15:09 svnbot6 r13095 | rodi++ | "%b" in sprintf- currently unsupported by Haskell Printf.
15:09 agentzh oh...there're a lot of broken links on http://m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl?
15:09 agentzh they're broken because they have no tests.yml, i guess.
15:09 lambdabot Title: Pugs Smoke Reports, http://tinyurl.com/zs247
15:09 rodi audreyt: I blame you and your damn commit bits
15:10 agentzh joined perl6
15:10 agentzh oh...there're a lot of broken links on http://m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl?
15:10 lambdabot Title: Pugs Smoke Reports, http://tinyurl.com/zs247
15:10 agentzh they're broken because they have no tests.yml, i guess.
15:11 agentzh so...new smoke reports welcome!
15:18 audreyt ok... running a new smoke now
15:18 audreyt good that it's 9min here again :)
15:21 svnbot6 r13096 | rodi++ | Several additional tests for sprintf("%b",$string)
15:24 agentzh audreyt: leave not implemented yet, confirmed?
15:24 * rodi hangs his head and commits failing tests for his own committed code :(
15:24 agentzh ?eval { leave; say 'hi' }
15:24 evalbot_r13087 is now known as evalbot_r13095
15:24 evalbot_r13095 Error: No compatible subroutine found: "&leave"
15:30 * agentzh wants "leave" in his tests.
15:45 svnbot6 r13097 | agentz++ | [t/closure_traits/next.t]
15:45 svnbot6 r13097 | agentz++ | - added this new test file to test NEXT {}
15:45 svnbot6 r13097 | agentz++ | Status:
15:45 svnbot6 r13097 | agentz++ | - 10 of 12 tests are failing now because no serious
15:45 svnbot6 r13097 | agentz++ |   implementation for NEXT blocks exists in pugs.
15:48 audreyt rodi: I'm happy to be blamed that way :)))
15:50 ruz joined perl6
15:50 svnbot6 r13098 | malon++ | smokeserv-server.pl - try to avoid making broken SYN links
15:53 svnbot6 r13099 | rodi++ | Added test for mixed-up padding and multiple arguments for sprintf using
15:53 svnbot6 r13099 | rodi++ | %b, and patched Prelude to pass the tests.  More tests welcome.
15:53 svnbot6 r13100 | malon++ | smokeserv-server.pl - typo in r13098 fixed
15:55 agentzh malon++ # JIT fixing
15:55 * agentzh wonders if malon is also in this room.
15:56 svnbot6 r13101 | rodi++ | Added printing of the rule set, using shiny new sprintf("%b,$str)
15:58 audreyt new smoke sent
15:58 audreyt on r13095 I think
15:59 clkao audreyt: hey
15:59 audreyt hey
15:59 audreyt I'm just about to sleep :)
15:59 clkao sleep well
15:59 agentzh 0:00 here... :)
15:59 audreyt :)
15:59 svnbot6 r13102 | agentz++ | [t/closure_traits/first.t]
15:59 svnbot6 r13102 | agentz++ | - rewrote all the existing tests since the new FIRST
15:59 svnbot6 r13102 | agentz++ |   block is no longer the old one. ;)
15:59 svnbot6 r13102 | agentz++ | Status:
15:59 svnbot6 r13102 | agentz++ | - all tests are failing due to the lack of
15:59 svnbot6 r13102 | agentz++ |   implementation for FIRST {}
16:04 weinig|bbl is now known as weinig
16:06 kanru joined perl6
16:06 * audreyt waves and sleeps &
16:07 clkao not "journal up and sleep &" ?
16:13 Psyche^ joined perl6
16:15 kane-xs seen knewt
16:15 kane-xs seen frakkle
16:15 kane-xs ehm, ww :)
16:23 Limbic_Region ?seen knewt
16:23 lambdabot knewt is in #perl6 and #darcs. I don't know when knewt last spoke.
16:23 Limbic_Region ?seen frakkle
16:23 lambdabot I haven't seen frakkle.
16:24 agentzh ?eval { KEEP { say 'hi' } }
16:24 evalbot_r13095 is now known as evalbot_r13102
16:24 evalbot_r13102 OUTPUT[hi ] Bool::True
16:25 agentzh ?eval { UNDO { say 'hi' } }
16:25 evalbot_r13102 OUTPUT[hi ] Bool::True
16:27 Psyche^ is now known as Patterner
16:29 agentzh i've encountered an interesting pugs bug. :(
16:30 agentzh UNDO blocks can cause mysterious parsefail in t/closure_traits/keep_undo.t
16:30 agentzh i have no idea what it is.
16:39 svnbot6 r13103 | agentz++ | [t/closure_traits/keep_undo.t]
16:39 svnbot6 r13103 | agentz++ | - added this new test file to test KEEP and UNDO blocks
16:39 svnbot6 r13103 | agentz++ | Status:
16:39 svnbot6 r13103 | agentz++ | - there's a mysterious parsefail in the test file. i
16:39 svnbot6 r13103 | agentz++ |   have no idea what it is. can anyone fix that for me.
16:39 svnbot6 r13103 | agentz++ |   thank you! :)
16:40 agentzh sorry, i didn't wrap the parsefail in keep_undo.t because...because...
16:40 agentzh because i hope it can be fixed sooner.
16:40 nothingmuch ooooooooooose
16:40 nothingmuch jam sessions++
16:40 * nothingmuch hasn't had much fun in a long while
16:41 agentzh classes will begin in less than 8 hours...gotta run to bed...
16:41 agentzh night &
16:41 agentzh left perl6
16:42 jferrero joined perl6
16:42 TreyHarris argh!
16:43 TreyHarris three days in a row, I miss agentzh... this time by less than one minute
16:46 qmole perhaps you're the same person
16:51 svnbot6 r13104 | iblech++ | * Fix the smokeserver to not display SYN links when there's no associated .yml
16:51 svnbot6 r13104 | iblech++ |   for a smoke. (malon++'s approach did not work correctly; my bad for not
16:51 svnbot6 r13104 | iblech++ |   better commenting @smokes:239)
16:51 svnbot6 r13104 | iblech++ | * smokeserv-server outputs a warning if no .yml is sent along the .html.
16:51 svnbot6 r13104 | iblech++ | * Sync the version on the server with this revision.
16:56 [particle] joined perl6
17:04 mauke_ joined perl6
17:09 svnbot6 r13105 | malon++ | Makefile.PL - change upload-smoke target (noticed by iblech++)
17:10 * Limbic_Region once again attempts to build GHC from source on Win32
17:14 mauke_ is now known as mauke
17:22 mauke_ joined perl6
17:23 gaal wow, iblech!
17:32 weinig is now known as weinig|bbl
17:44 mauke_ is now known as mauke
17:47 avarab joined perl6
17:55 elmex joined perl6
18:04 avarab is now known as avar
18:06 weinig|bbl is now known as weinig
18:16 lanny joined perl6
18:20 larsen joined perl6
18:21 onsen joined perl6
18:40 elmex joined perl6
18:48 ruz_ joined perl6
18:50 frankg joined perl6
18:53 larsen_ joined perl6
18:53 lanny How does someone get a commit bit?  I've got some tests (ok, 2 tiny little tests) that I'd like to commit to pugs.
18:54 frobnitz joined perl6
18:55 Limbic_Region lanny - give me your email address (either in the channel or via /msg)
18:55 Limbic_Region it may take me a few minutes cause I don't do it that often
18:56 lanny lanny _at_ cisco.com
18:56 Limbic_Region ok, will be on its way
18:56 lanny Thanks.
18:57 Limbic_Region even if you are comitting tests, be sure to add yourself to AUTHORS
18:57 lanny Will do.
18:59 TreyHarris should i be running 'make', or 'make optimized'?
18:59 Limbic_Region let me know if you don't receive it - someone complained yesterday that their's didn't show up
19:00 Limbic_Region make defaults currently to optimized
19:00 Limbic_Region but that is likely to change once support for ghc 6.4 is gone
19:01 Limbic_Region make defaults to make optimized and make fast is a synonym for make unoptimized
19:01 TreyHarris ah, ok.  i was wondering if the fact that my smoke takes 350 minutes and audreyt's takes 9 (when I'm on a PPC G4 1.5GHz and she's an a macbook core duo 2GHz) suggests that i need to make differently
19:01 TreyHarris guess i just need GHC 6.6 ;-)
19:02 Limbic_Region TreyHarris - you have a problem that isn't related to your version of ghc
19:02 Limbic_Region on a wimpy Win32 box with 6.4.2 - I was still able to complete the smoke in about an hour
19:03 Limbic_Region and that was running all the tests in serial not parallel (which isn't currently possible on Win32 though I am working on it)
19:03 TreyHarris hm
19:03 kasei left perl6
19:03 Limbic_Region upgrading your ghc will certainly help
19:03 TreyHarris is there an os x binary build for 6.6 yet?  my last source build took almost 48 hours
19:04 Limbic_Region TreyHarris - was that a bootstrap build or with a pre-existing ghc?
19:04 * Limbic_Region is in the process of building from scratch himself ATM
19:05 TreyHarris Limbic_Region: I don't actually remember.  I think I used ports, so that would have been bootstrap.  I think.  Actually the *last* source build i tried to do never completed, and I ended up getting a tar of someone else's /opt :-)
19:06 Limbic_Region maybe I shouldn't be too quick to judge - but that seems like a long time to me - checking for os x binary dists
19:06 Limbic_Region the smoke time that is - not the build time
19:06 TreyHarris haskell.org only shows me 6.4.2 binaries, unless i don't know where to look
19:07 Limbic_Region they only provide bin distros for linux and win32 it appears as well as src
19:07 TreyHarris Limbic_Region: well, it's certainly odd, but i don't see anybody else smoking on ppc recently, and back in february 350 minutes would be about average
19:07 Limbic_Region see http://www.haskell.org/ghc/dist/current/dist/
19:07 lambdabot Title: Index of /ghc/dist/current/dist
19:07 TreyHarris so i don't know if i'm outlying or not.  it's certainly not unlikely that intel would be vastly optimized over ppc
19:08 TreyHarris and i know a lot of GHC optimizations can result in order-of-magnitude speedups, not just incremental ones
19:08 Limbic_Region I just asked #haskell if anyone was building regularly on OS X and if so could I get a bin dist tarball
19:09 TreyHarris Limbic_Region: thanks, though i'll bet if anyone responds, they'll be intel, not ppc
19:09 Limbic_Region actually, I clarified that point
19:10 Limbic_Region apparently it doesn't yet run on intel and the guy who responded didn't have PPC
19:10 TreyHarris oh.  i thought audreyt was on 6.6?
19:10 TreyHarris maybe she has her own private good-enough fork :-)
19:10 [particle] yep, win32 i think
19:10 TreyHarris oh... i thought she said her macbook was back in service
19:11 [particle] yep, winxp on macbook
19:11 TreyHarris ohhhh
19:11 justatheory joined perl6
19:11 TreyHarris she was using os x at yapc, so i assumed she still was
19:11 [particle] she uses both
19:11 [particle] one processor per each
19:11 Limbic_Region audreyt is using the build from 08-19 when she uses Win32 which she says is close enough for her
19:12 Limbic_Region AFAIK, I am the only one running 6.6RC on Win32
19:12 [particle] i've d/l'd 0819
19:12 [particle] running makefile.pl now
19:12 TreyHarris ahh.  i can't remember who else here was on darwin-ppc... there was somebody
19:13 Limbic_Region particle - heh, ghc 0819 or AS Perl 5.8.8 build 819?
19:13 TreyHarris IIRC, they were even on 10.3 Panther, not 10.4 Tiger
19:13 [particle] close, build 817
19:14 [particle] 819 has a funky new ppm that i don't want to use
19:15 Limbic_Region ok, you don't use mingw right ?
19:15 [particle] ENOMINGW
19:16 TreyHarris Limbic_Region: but i think you're probably right that something funky is in my installation.  i get SIGBUS's ("illegal hardware instruction") errors from pugs regularly, and usually running the same code again causes the problem to mysteriously go away
19:17 Limbic_Region hmmm - yeah
19:32 elmex joined perl6
19:38 Limbic_Region (coworkers who bring in gourmet donuts for everyone)++ # plus plus since this client will eat them
19:38 Limbic_Region oh wait, it didn't - Juerd must have hacked in a fix
19:40 [particle] juerd++ plus plus :)
19:42 Juerd juerd--
19:42 Juerd I didn't hack anything in
19:42 Juerd They might actually, finally, have found it themselves.
19:42 svnbot6 r13106 | lanny++ | basic srand() tests
19:44 Limbic_Region Juerd - except I am pretty sure it was b0rk after the last upgrade
19:46 TreyHarris lanny: good first test... but FYI, C<repeat> is a reserved word now, so you might want to choose a different name for your sub
19:46 TreyHarris see S04
19:46 TreyHarris (of course, nothing is truly reserved for a subname, even 'sub'... but best not to stretch the compiler in ways you're not actually testing ;-)
19:51 lanny Hmm.  Named the sub repeat_rand().  Not good enough?
19:52 TreyHarris ohhh!  sorry :-)
19:52 lanny Ok.  Was worried someone had made '_' an operator.  :)
19:52 TreyHarris i switched terminal fonts this morning, and I now see that _ is almost invisible
19:52 TreyHarris bleh, otherwise i was liking this font
19:54 Limbic_Region ok, approaching 1 hr of compiling ghc 6.6rc 2006-09-06
19:54 weinig is now known as weinig|bbl
19:55 TreyHarris lanny: actually, until late 2003, _ was the new string-concat operator.  now it's ~
19:55 TreyHarris :-)
19:56 Limbic_Region TreyHarris - you really keep up to date with the latest changes to the spec don't you
19:56 * Limbic_Region is impressed
19:56 Limbic_Region I mostly just look things up when it is no longer what I thought it was
19:57 TreyHarris not well enough :-)
19:57 Juerd Limbic_Region: Maybe someone else with root access did something
19:57 lanny Yeah.  Read the early specs.  Took a long break.  Reread the synopsis.  It's much better now.  :)
19:58 Limbic_Region yeah, I thought about that after I remember you asking audreyt to do something and gaal requesting to be added to the sudoers
19:58 TreyHarris the synopses are very high signal-to-noise and very low redundancy.  so you miss one delta, and you can easily miss a big change
19:58 Limbic_Region yep yep
19:59 TreyHarris that's why i got so panicky when synopsis svn logs broke and stopped going to p6-l for a few days :-)  now i keep my own synopsis tree :-)
20:01 Juerd I'm upgrading feather again. We'll see if that breaks things.
20:01 Juerd (If it does, whoever fixed it made the same mistake I did: not disallowing debian to upgrade the thing)
20:02 Limbic_Region upgrading as in currently?
20:02 Juerd Hm, no new version of cgi:irc available
20:02 Limbic_Region and will that drop my session?
20:02 Juerd Yes, currently.
20:02 Juerd I have no idea.
20:03 onsen joined perl6
20:03 Limbic_Region ok - I get the feeling ghc won't be finished compiling in the next 27 minutes anyway
20:03 Juerd Heh
20:03 Juerd Upgrading shouldn't take that long
20:05 TreyHarris ahhh... OS upgrades overwriting local changes.  that brings me back :-)
20:06 TreyHarris anyone read the 500-mile email story? :-)
20:06 prefiks left perl6
20:07 lanny Yeah.  That's a good one
20:07 lanny Read it at 1000 though
20:07 TreyHarris at 1000?
20:07 onsen_ joined perl6
20:07 lanny This is the speed-of-light thing?  My email stops after insert-distance-here?
20:07 TreyHarris yeah
20:07 lanny Yeah.
20:08 TreyHarris oh, did somebody modify my story to say 1000 miles and pass it off as their own?  lol
20:08 lanny No idea.  I could easily be misremembering.
20:08 lanny I didn't think the actual distance was the take away from the story.
20:09 TreyHarris i once had a professor of folklore contact me to track down where I heard this "urban myth" from.  she was simply incapable of believing me when I said it really happened to me :-)
20:09 TreyHarris no, it wasn't
20:09 Juerd Ah, there they go :)
20:10 Juerd TreyHarris: I've read this story. Did *you* experience that?
20:10 TreyHarris yes, i wrote the story.
20:10 Juerd That wasn't my question
20:10 Juerd But I'll assume the answer to it is also yes.
20:10 TreyHarris oh.  yes, it was true.
20:11 Juerd That implies that the answer is yes, but still isn't exactly an answer to my question :)
20:12 TreyHarris oh... sorry... to be explicit, 1) i wrote it, 2) i did not write it as fiction, 3) it's not an exact retelling as that would have been boring, 4) there's a faq if you have any other questions ;-)
20:12 TreyHarris but it was 500 miles.
20:12 Juerd Heh. The answer to my question is clearly: "Yes, I experienced that"
20:13 Juerd possibly shortened to "Yes, I did", or just "Yes" :)
20:13 Juerd But thanks for answering a lot of other questions. I have no idea why I'd still have any FAQ left :)
20:13 TreyHarris lol.  i didn't just say 'yes' because i wasn't sure if you meant did i experience the folklore professor contacting me, or did i experience the story being modified, or etc. etc. :-)
20:14 Juerd Heh :)
20:14 TreyHarris unlike the synopses, i always throw a little bit of redundancy in for error-correction ;-)
20:15 Juerd It's not really redundancy, though. It's more like parity, from which you can calculate the original value if you want it :)
20:16 TreyHarris *nod*  i said i strive for redundancy, i didn't say accuracy ;-)
20:17 TreyHarris it's why i like Perl, I need the world to DWIM a lot
20:18 rodi oh. my. goodness.  I just read http://www.ibiblio.org/harris/500milemail.html.  That's hilarious, TreyHarris.
20:18 lambdabot Title: The case of the 500-mile email, http://tinyurl.com/t6pb
20:18 TreyHarris rodi: thanks, i'm glad you enjoyed it :-)
20:19 rodi And I can tell my children I "met" the man...
20:19 Limbic_Region joined perl6
20:20 TreyHarris lol
20:22 Juerd TreyHarris: You didn't really say anything about striving, but I'll drop it altogether because I could go on for hours :)
20:23 Juerd rodi: Even better: the 500 mile email man likes Perl! Woohoo!
20:28 kane-xs TreyHarris: that story is cool mate :)
20:28 * Limbic_Region has accidently rebooted an email server over 500 miles away
20:29 TreyHarris Limbic_Region: can't blame the speed of light for that :-)
20:29 Limbic_Region what I find the most interesting about that story is that the geostatistician was right and that they would think to trouble shoot it that way
20:30 TreyHarris well, i'm not sure they didn't just get lucky.  GIS was their bread-and-butter, and when you have a hammer, everything's a nail.  so when you luck out and it actually *is* a nail...
20:30 * rodi type `rm -rf /var /cache/mason/cache` (<-- note the space between /var and /cache) on the load balancer for a very large cluster...
20:30 rodi err...
20:30 rodi typed
20:31 Limbic_Region oops
20:31 rodi that was a sad day.
20:31 TreyHarris rodi: i was wondering why you were advising us to take such questionable action :-)
20:32 rodi TreyHarris: my cow orkers from that time remind me of it whenever I suggest *any* action.
20:32 Limbic_Region ok, I am not going to stick around for ghc to finish compiling but it certainly looks like it is going to succeed
20:32 * Limbic_Region heads home
20:32 TreyHarris rodi: one of my coworkers once was closing out a terminated employee's home directory for retention, and ran a setactl to recursively remove all permissions.  unfortunately, he was cd'd to the top of the AFS tree.
20:33 rodi heh, oops.
20:34 TreyHarris of course, he then went home... and i got paged some hours later once the setacl had progressed through several million volumes....
20:34 PerlJam And this is why you never do things like that *manually*
20:35 TreyHarris PerlJam: yes.  unfortunately, many sysadmins can't or won't code, and even those that do generally don't until they notice that something is taking up a lot of their time...
20:36 TreyHarris but a lot of sysadmin tasks can't be tested, or at least can't be without putting orders of magnitude more time into the testing than into the task.  so even when automated, mistakes like this often crop up the first time....
20:41 kanru joined perl6
20:54 TreyHarris hmm.  i actually think hypothetical variables will be a great boon to sysadmins.  not properly rolling back values after failure is a common class of bug i see in automation programming...
21:09 ruz joined perl6
21:13 weinig|bbl is now known as weinig
21:20 crem joined perl6
21:41 lanny joined perl6
21:42 Limbic_Region joined perl6
21:45 elmex joined perl6
21:46 larsen joined perl6
21:49 lanny In S03 on the range (..) operator it says *..* will match any value that supports the Ordered role.  Anyone have any insight on the Ordered role or know where I might look it up?
21:52 Alchemy joined perl6
21:52 larsen_ joined perl6
21:53 pasteling "[particle]" at 144.81.84.199 pasted "all mentions of /ordered/i in the A/E/S" (22 lines, 765B) at http://sial.org/pbot/19523
21:53 [particle] lanny: looks like ENOSPEC
22:00 lanny Yeah.  The crickets gave it away.
22:02 lanny Was wondering if the idea was to implement a partial order and if so how that would interact with multiple sets of Ordered of which the super-set might not be Ordered.
22:05 lanny But I guess I'll wait a bit for that part of the spec to be filled in.
22:06 Limbic_Region lanny - don't wait
22:06 Limbic_Region do one of two things, suggest a patch to the spec
22:06 Limbic_Region or put forward a test that looks something like what you think it may look like and ask for validation on the syntax as well as spec update
22:07 Limbic_Region squeeky wheels get the greese
22:07 lanny Ok.  Thanks for the direction.
22:14 jon_ joined perl6
22:15 weinig is now known as weinig|bbl
22:20 cjeris left perl6
22:24 elmex joined perl6
22:36 TreyHarris lanny: inferring from other things TimToady has said along these lines, I would hypothesize that Ordered is anything which defines infix:<cmp>
22:37 TreyHarris oh, he's gone
22:37 TreyHarris @tell lanny inferring from other things TimToady has said along these lines, I would hypothesize that Ordered is anything which defines infix:<cmp>
22:37 lambdabot Consider it noted.
22:44 Aankhen`` joined perl6
22:46 meppl joined perl6
23:01 markstos joined perl6
23:04 avar What's the current status of the non-pugs Perl 6 implementations?
23:04 avar E.g. parrot and the Pure-Perl6 implementation
23:06 markstos avar: You can see smoke results for them on http://smoke.pugscode.org
23:06 lambdabot Title: Pugs Smoke Reports
23:06 markstos avar: Also see "prove6 -h". It has flags to select different backends, so you can see how any specific test script (or scripts) work with a specific backend.
23:08 TreyHarris markstos: nothingmuch and I had an interesting discussion about 16hrs ago on the questions raised by your meth(%h) test
23:08 TreyHarris unresolved without TimToady, but you may want to have a look at the logs
23:09 markstos TreyHarris: Although I usually don't I backlogged this morning and read  your specific response to me.
23:09 markstos I saw that you agreed that my two cases were bugs.
23:09 markstos But I'll take a second look to see other detalis.
23:09 markstos (sp)
23:10 TreyHarris basically, since $obj.sub falls bock to sub($obj) and meth($obj) falls back to $obj.meth, it comes to the question of typing.  in the absense of a multimethod foo, is the Int in sub foo (Int $x) advisory, or binding?
23:11 TreyHarris Perl 6 canonically supports typeless code.  It canonically also supports some sort of typing but is largely unspecced.  So... like I said, we need TimToady to resolve it :-)
23:11 markstos TreyHarris: from the spec, I didn't think meth($obj) should do that, unless there was a colon involved.
23:11 elmex joined perl6
23:12 markstos But "my %h; %h.meth" looked just wrong, where "meth" was a homegrown method, not one of the built-ins.
23:13 TreyHarris it should.  see S12, http://feather.perl6.nl/~agent​zh/syn/S12.html#Method_call_vs._Subroutine_call
23:13 lambdabot Title: S12, http://tinyurl.com/gbdh2
23:13 TreyHarris all classes are open.
23:14 TreyHarris so the only thing preventing %h.meth from dispatching to ::?CLASS::meth is the typing of the invocant to ::?CLASS, not Hash.
23:14 TreyHarris so in 'typeless code', I can't see why, given the current Synopsis state, %h.meth should not work.  though i conceptually agree it probably shouldn't.
23:15 markstos It does say: "A method call first considers methods (including multi-methods and submethods) from the class hierarchy of $handle,"
23:15 justatheory joined perl6
23:15 markstos I just didn't think  "m %h" sould be in an class/object heirarchy, as a  lexical variable.
23:15 markstos s/m /my/
23:15 markstos so you posted to p6l ?
23:16 TreyHarris i'm not aware of truly classless variables...  everything is an object or can be treated like one, is it not?
23:16 obra seen audreyt
23:17 TreyHarris no, i didn't post to p6l because i don't have any strong opinions on the matter, just making talmudic observations.  i probably could write something up though.
23:17 TreyHarris i will
23:18 prism joined perl6
23:18 Limbic_Region joined perl6
23:18 markstos TreyHarris: Thanks!
23:19 markstos I post brewing about some CATCH details I plan to post later.
23:19 TreyHarris oh, i forgot about that
23:19 TreyHarris you said something about when that i took objection to
23:19 TreyHarris hrm
23:20 markstos my questions are about 1: changing the topic in CATCH and 2. preserving the trace stack.
23:21 markstos I had posted this as a bug, but I realized how I was confused now:
23:21 markstos ?eval { when 0 ~~ 1 { say "surprise!" } }
23:21 evalbot_r13102 is now known as evalbot_r13106
23:22 evalbot_r13106 OUTPUT[surprise! ] Bool::True
23:22 elmex_ joined perl6
23:22 markstos Although maybe there is a bug: Should "when" complain when it's a block where no topic is set ?
23:22 markstos I think so.
23:23 markstos From the spec, I think the behavior in this case is "undefined".
23:31 TreyHarris no, I think $_ is always declared, isn't it?  when must work when $_ is undefined
23:32 TreyHarris otherwise we'd have to write $_.defined and given.....
23:32 TreyHarris errr.... XXX.defined and given XXX....
23:32 TreyHarris sorry, i was looking in scrollback for that when 0 ~~ 1, and once I found it, you had already repasted it :-)
23:33 TreyHarris ?eval { when 0 ~~ 0 { say "surprise!" } }
23:33 evalbot_r13106 undef
23:33 TreyHarris do you see now?
23:33 TreyHarris $_ is undef.  so it's false.  0 ~~ 1 is false.  so that matches
23:34 markstos I realized that was part of my confusion, but it still doesn't make sense. In the example $_ will /always/ be undef, so having a switch statement for that case is senseless.
23:34 markstos If we want to set a topic manually, we already have 'given' for that.
23:35 markstos So they way I see it, using 'when' inside of a block that doesn't set the topic might as well parsefail.
23:35 TreyHarris so you want an error for $_ not being possibly set when C<when> is called?
23:35 TreyHarris every block has a topic
23:35 TreyHarris at least it is the outside block's topic.
23:35 TreyHarris the top-level program's topic is $_
23:35 TreyHarris every block either topicalizes a new topic, or inherits the topic from the calling block
23:36 weinig|bbl is now known as weinig
23:36 [particle] when seems the same as do if topic is unset
23:36 TreyHarris ?eval { $_ = "hiya"; .say }
23:36 markstos TreyHarris: so you are in favor of declaring "when" anywhere and having it be valid ?
23:36 evalbot_r13106 OUTPUT[hiya ] Bool::True
23:36 [particle] hrm, perhaps that's untrue
23:37 [particle] do returns, i don't think when returns value
23:37 Limbic_Region particle - I may have a 6.6 bin dist for you by later tonight
23:37 [particle] ooh, shiny!
23:37 [particle] still compiling?
23:37 TreyHarris markstos: unsure.  smartmatching against the topic quickly seems like useful behavior.  but "and then jump to the end of the current block" seems a bit odd outside of a given
23:37 Limbic_Region oh no
23:37 Limbic_Region It busted when it found I didn't have gmp
23:37 Limbic_Region and instead of just compiling gmp
23:38 Limbic_Region I decided to darc the ghc repository
23:38 [particle] ack!
23:38 Limbic_Region that way I can keep up to date by just doing the equivalent of svn up
23:38 markstos darcs++
23:38 TreyHarris i've advocated that an exiting when should throw an ExitWhenSuccess exception, which by given would be intercepted and cause ExitSuccess of the given, but by any other block would just be ignored, causing continuance.
23:38 Limbic_Region and recompiling every day will only compile the stuff that has changed
23:38 Limbic_Region sorta like the way Pugs works
23:38 Limbic_Region so I can provide a Win32 bin dist daily
23:38 TreyHarris but that's certainly not specced behavior or blessed by TimToady (yet).  it's just unspecced currently.
23:39 Limbic_Region provided I have some place to upload it to
23:39 [particle] well there's always sendover.com etc
23:39 Limbic_Region actually, I was thinking feather
23:39 [particle] but a site would be better
23:39 [particle] right
23:40 Limbic_Region I have an acct - I just don't know how to make it available for those without an acct via the web
23:40 Limbic_Region ok, just started the new build
23:40 Limbic_Region gmp in place
23:40 Limbic_Region as well as darcs repo
23:40 Limbic_Region so provided all goes well - I can update daily
23:41 * Limbic_Region assumes it links staticaly
23:41 [particle] lr: there's probably a dir under %home% you can put it in to make it web accessable
23:41 [particle] feather.nl/~<user>
23:41 Limbic_Region come to think of it - I have my own website
23:41 Limbic_Region duh
23:41 [particle] heh
23:41 Limbic_Region also, I have a perlmonk.org acct
23:41 Limbic_Region so yeah, 3 different locations I should be able to provide it
23:42 Limbic_Region fwiw - compiling from source isn't for the faint of heart
23:42 Limbic_Region but - I think once you get it done once, keeping it up to date is fairly trivial
23:42 TreyHarris ?eval .perl
23:42 evalbot_r13106 "\\undef"
23:42 Limbic_Region ?
23:42 Limbic_Region ?eval "hello".perl
23:42 evalbot_r13106 "\"hello\""
23:43 Limbic_Region ?eval ~"hello"
23:43 evalbot_r13106 "hello"
23:43 Limbic_Region interesting
23:43 Limbic_Region I thought they were synonyms
23:43 Limbic_Region oh wait
23:43 Limbic_Region ?eval hello.perl
23:43 evalbot_r13106 Error: No compatible subroutine found: "&hello"
23:43 Limbic_Region I think that first one is likely a bug
23:44 Juerd [particle]: Under UNIX, and Linux too, we call "%home%" either $HOME or simply ~.
23:44 [particle] ?eval say.perl
23:44 evalbot_r13106 OUTPUT[ ] "Bool::True"
23:44 [particle] juerd: i knew that *blush*
23:44 TreyHarris Limbic_Region: which first one?
23:44 Juerd [particle]: Naughty Windows boy.
23:44 Limbic_Region TreyHarris - I would have thought that both "hello".perl and ~
23:44 Limbic_Region err
23:44 [particle] juerd: is it possible to set up gobby server on feather?
23:44 Limbic_Region ~
23:45 Limbic_Region grr
23:45 Juerd [particle]: I assume so.
23:45 Limbic_Region ~"hello"
23:45 Limbic_Region would have produced the same output
23:45 Juerd [particle]: I presume this doesn't take root access, so you could do it yourself
23:45 [particle] 't would be nice to do group editing sessions
23:45 [particle] well, i could try, but my linux skills are 5 years rusty
23:46 [particle] i'll give it a try when i need it
23:46 [particle] heck, i might learn something!
23:46 Juerd sobby - a dedicated server for collaborative editing
23:46 Juerd There's a debian package!
23:47 TreyHarris Limbic_Region: I don't think it's a bug...  .perl produces a string, hence the first set of quotes.  if it contains a string, it needs another set of quotes, which have to be backwacked
23:47 Juerd [particle]: Installed now. You only have to find a way to run it. :)
23:48 [particle] i think i can learn that part, thanks!
23:48 TreyHarris markstos: interestingly enough, if you run your when in a pugs program's top level (not inside any closure), neitheng when 0 ~~ 1 nor when 1 ~~ 1 runs its block.  but just stick an empty closure in there and suddenly when 1 ~~ 0 runs
23:48 markstos TreyHarris: Interesting: as if the top level doesn't set the topic.
23:49 markstos ...but empty braces do ... seems inconsistent.
23:50 TreyHarris ahhhhh
23:50 TreyHarris i think that may be exactly right
23:50 markstos But "when 0 ~~ 1" is just a visual trick anyway, but I think it really means comparing "false" to the current topic, /not/ being executed when 0 ~~ 1.
23:52 TreyHarris oh.  yes.  i think any conditional in a when should raise a warning without ?(), because it will be a common mistake.  i'll add that to the mail i'm writing
23:52 kanru joined perl6
23:53 * markstos doesn't know about ?() yet.
23:53 TreyHarris boolean context
23:53 markstos Ah.
23:53 TreyHarris like @() is array context, ~() string context, etc.
23:55 Limbic_Region particle - what timezone are you?
23:56 Limbic_Region lovely arizona?
23:56 TreyHarris @localtime [particle]
23:56 lambdabot Local time for [particle] is Thu Sep 07 16:56:37 2006
23:57 Limbic_Region that looks like westcoast alright

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

Perl 6 | Reference Documentation | Rakudo