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