pugscode.org <Overview Journal Logs> | r1773/winxp: 587/4256, smoke/win2k (occasional): xrl.us/fqum (81/4418, r2232), Mac OS X (160/4483, r2216), Linux (60/4482, 2267) | pugs.kwiki.org Set by obra on 23 April 2005. |
|||
machack666_ | network on the fritz .. did you get any of my last statements ($val ~~ any (@results)) ? | 00:00 | |
nothingmuch | </aol> was the last thing i saw | ||
00:02
machack666_ is now known as machack666
|
|||
crysflame | 16:51 < machack666> </aol> | 00:02 | |
machack666 | I said that I thought that there was nothing a junction could accomplish by sub_call(..., >>$junc<<) that we couldn't already accomplish with @res = @objs >>.method(...) | 00:03 | |
you can then have explicit control over the interpretation of the results...if you want an any() instead of an all(), you just test against the precalculated results | 00:04 | ||
my @res=@objs>>.meth($a,$b,$c); | 00:05 | ||
if (all(@res)) { say "all were true" } | |||
nothingmuch | could you rephrase? | ||
machack666 | else if (any(@res)) { say "some were true" } | ||
else { say "none were true" } | |||
nothingmuch | btw, does my $result = sub_call($junction) repack the return values? | 00:06 | |
machack666 | that's what's at debate. | ||
if we allow junctions, then I think it should, insofar as we have a simple junction | |||
but what about any(1,2,all(2,3),none("a",5)) ? | |||
if it's a uniform junction, it makes sense | 00:07 | ||
my argument is that there seems to be little difference in treating junctions this way -- it is highly redundant with hyperops | |||
nothingmuch | i think that threading prototypes should return a junction | ||
like ops | |||
machack666 | i.e., $j = 1|2|3 ; say $j + 1; # 2|3|4 | 00:08 | |
nothingmuch | they are just junction aware thingies | ||
but with room for optimisation | |||
and that anything that is memoizable should be autothreading | |||
machack666 | this seems to be analagous to @a=(1,2,3); say @a>>+<<1 | ||
nothingmuch | yes, but hypers are on operations | ||
junctions are on values | |||
the distinction is where does it happen | 00:09 | ||
machack666 | i'm not saying getting rid of junctions | ||
nothingmuch | and that's why i think autothreading is dumb | ||
machack666 | just not being able to treat them as variables | ||
nothingmuch | because it really makes it redundant | ||
why not? | |||
machack666 | so: given ($x) { when 1|2|3|"grandma's panties" {...}} # ok | ||
I think autothreading causes too many problems for it to be the default | 00:10 | ||
nothingmuch | i think junctions are most useful for composing predicates | ||
and that if i want to say if | |||
if (is_funky(1|3)){ } it should dwim | |||
but also equivelently: | |||
sub do_on_funky (..., my $thing, ...){ if (is_funky($thing) { ... } } | 00:11 | ||
machack666 | it just seems too fuzzy for cases like this: | ||
nothingmuch | do_on_funky(1|3); | ||
The purpose of a junction is to allow for performing several tests at a | 00:12 | ||
given time, with the testing code needing no knowledge of that junctions | |||
are present | |||
-- groups-beta.google.com/group/perl.p...44593eb886 | |||
machack666 | package Naive::Module; sub naive_exp ($base, $exp) { my $ret = $base; while ($exp--) {$ret *= $base}; $ret} | ||
naive_exp(1|2|3|4,100) | |||
# ...syslock | 00:13 | ||
# due to whole hd used for swap | |||
wait | |||
Juerd | nn | ||
machack666 | if the autothreading happens at the point of the func call, then we're only calling the code effectively for the 4 cases of the junction | 00:14 | |
and $base is not considered a junction | |||
nothingmuch | right | ||
machack666 | if it is ever possible for us to pass an actual junction as a single datatype which later autothreads, then I see that there could be problems down the line | 00:15 | |
nothingmuch | it should be limited to (cpus)+1 | ||
autothreading shouldn't be so greedy though | |||
at most | |||
+1 to ensure that behavior is unpredictable | |||
machack666 | but if autothreading is the default, then we don't need to worry about that in the case of sub calls. | ||
which protects package semantics | |||
from unexpected behaviors | |||
nothingmuch | lets agree: | 00:16 | |
machack666 | the world is now safer for naive module authors... | ||
nothingmuch | autothreading is an optimisation | ||
machack666 | :D | ||
nothingmuch | what if naive_exp handles writing to disk, btw? | ||
machack666 | hmm | ||
since ooe is not defined for junctions, I assume we'd get some funky results | 00:17 | ||
nothingmuch | what if it does if ($user_id == $value){ ... write to data file ... } | ||
and if i pass in $user_id and $value | |||
and I want them to be both junctions | 00:18 | ||
or one of them | |||
machack666 | or at least the possibility exists | ||
nothingmuch | or none of them | ||
it should behave in a sane way | |||
junctions are values | |||
not control flow | |||
hyper ops are control flow | |||
they are related in that junctions are something that is good to hyper up | |||
but they should be values unless someone asks to hyper them | |||
or they are sent into something like a builtin op | 00:19 | ||
or something that can be memoized (explicitly marked as pure) | |||
machack666 | so $j+1 is equivalent to any($j.values >>+<< 1 ) ? | ||
(or whatever the composition operator was for junction creation) | |||
nothingmuch | not exactly | 00:20 | |
because '+' is pure | |||
it doesn't matter | |||
but if a junction gets into some complex code, | |||
so yes, they are equiv | |||
because whoever is using it does not know of the complexities | |||
(new programmer in a project, someone using a CPAN module, perl newbie) | |||
and suddenly the person gets data corruption | 00:21 | ||
because of a implicit concurrency on unsafe code | |||
then we're in deep crap | |||
crysflame | this problem affects all programming languages using junctions, right? | ||
nothingmuch | and it could be as simple as | ||
my $val = $bar - 2; | |||
$foo += $val; | |||
$bar += $foo/2; | 00:22 | ||
suddenly all your math is wrong | |||
your data files suck | |||
crysflame | tangentially, should junction support be disabled by default and only enabled by a pragma? | ||
nothingmuch | your database driver complains about broken constraints | ||
machack666 | that's Larry's contention | ||
crysflame | use DBI # this module uses junctions, which you have not enabled | ||
nothingmuch | crysflame: no, they're very useful to represent data | ||
machack666 | junction support ok for conditionals | 00:23 | |
nothingmuch | i would like to say if (1|2 == $expected){ } | ||
machack666 | but not for variable assignment | ||
nothingmuch | machack666: i disagree | ||
ther'es nothing wrong with them | |||
crysflame | so | ||
nothingmuch | as long as they keep getting passed down | ||
machack666 | </larry's opinion> | ||
nothingmuch | oi vey | ||
crysflame | (a) junctions wreak havoc on those who don't suspect they're there | ||
i like larry's opinion | |||
it protects the masses from the worst of it, while keeping the simplest use (if $a == 0|1) functional | 00:24 | ||
nothingmuch | they don't if they are not exploded into threads | ||
crysflame | sure they do | ||
seek($fh, $pos) | |||
voila, chaos | |||
which $fh does $fh degrade to? | |||
which position? | |||
nothingmuch | that should be a fatal error | ||
crysflame | why? $fh is a junction of multiple filehandles | ||
$pos is a junction of a bunch of positions | |||
i see no reason that should be a fatal error | |||
i do see that it's wildly confusing | 00:25 | ||
and that it's so unlikely to be useful that it could be considered an error condition | |||
nothingmuch | and the current C lib inspired definition is not prepared for this kind of abstraction | ||
because seek is at the lowest level | |||
of abstraction | |||
crysflame | okay | ||
pick something other than seek then | |||
machack666 | crysflame: in your case, we'd end up with m x n seek ops | ||
nothingmuch | if we switch to buffer oriented abstraction, where our buffers can write themselves to junctive points in the files | ||
then it could make more sense | |||
machack666: which seek would be the last seek? | |||
i say things that don't make sense | |||
machack666 | undefined | ||
I agree; it's garbage | 00:26 | ||
nothingmuch | like IO ops | ||
crysflame | okay, so | ||
nothingmuch | and system calls in general | ||
machack666 | depends on the underlying algorithm | ||
crysflame | i chose badly by saying seek() | ||
nothingmuch | anything that is not 'perl intornal' | ||
crysflame | how about "factor()" | ||
machack666 | for junction storage...probably a map of some sort | ||
nothingmuch | no, seek is an excellent choice | ||
cannot eat junctions | |||
crysflame | no it's not, because you're complexifying it all because it's a C function | ||
i was trying to make a general point | |||
:| | |||
but that's okay. i trust y'all :) | |||
nothingmuch | (3|4)! == (6|24); | 00:27 | |
like + does | |||
is add(1, 3) different from +? | |||
especially now that + is just a multimethod? | |||
why should factorial() need to say that it can handle junctions? | |||
why can't the junctions just be passed downwards to say the '*' op that factorial uses | 00:28 | ||
which knows to do the right thing, since it's a builtin? | |||
machack666 | bbiab | ||
nothingmuch | it's simpler | ||
for most cases of control flow it's probably more efficient | |||
because tiny steps are optionally taken | |||
instead of whole programs repeated on a junctions | |||
s/s$//; | 00:29 | ||
and it's consistent | |||
because factorial($x); # x == junction | |||
is the same as what you'd expect from (1|4)!; | |||
if ! were a builtin op | |||
or to disallow IO completely in any autothreaded dynamic scope | 00:30 | ||
also it lets you detect such garbage when it reaches seek() | |||
when you autothreads it makes no sense to remember which values are derived from a junction exploision | |||
my point is in one sentance: | 00:31 | ||
if junctions can't safely be put in variables they're worth nothing for onezeroinfinity since the only place where they can be created is in the code that uses them | |||
and autothreading isn't safe | |||
period | |||
(unless we know the op is pure, in which case we can decide whether we pump the junction down or autothread and rejunction, which is really just an optimizer decision) | 00:32 | ||
machack666 | nothingmuch: you said earlier that hyperops were an example of control flow, while junctions are a combination of values | 00:34 | |
but I see junctions in most cases as a kind of control flow shorthand -- almost a parameterized control flow macro | 00:35 | ||
in the case of the simple junctions (if $x = 1|2|3), we're really just abbreviating (if $x == 1 | $x == 2 | $x == 3) | 00:36 | ||
to me this seems directly related to control flow. The fact that a junction datatype would represent multiple values is ancilary to this -- the reason you use a junction is because you want to express the control conditional succinctly | 00:37 | ||
nothingmuch | right | 00:39 | |
machack666 | nothingmuch: clarify onezeroinfinity. are you referring to one(), none(), all() ? | ||
nothingmuch | in this example since == is pure | 00:40 | |
then it can affect control flow | |||
it has no side effects | |||
no, c2.com/cgi/wiki?OneZeroInfinityRule | |||
basically it means if $x == (something that is really many things) | |||
and not for $value (many things) { if ($x == $value){ } } | 00:41 | ||
that's how we perceive it too | |||
machack666 | link appears to be borken | ||
or blank, actually | |||
:) | 00:42 | ||
nothingmuch | sorry, from memory | ||
c2.com/cgi/wiki?ZeroOneInfinityRule | |||
one zero infinity sounds more natural to me for some reason | |||
in this case junctions let us follow the simpler ZeroOne rule | 00:43 | ||
while getting Infinity for free | |||
the only way to do this safely is to make a distinction at the edges of the language definition | |||
between pure primitives, which accept these One<->Infinity thingies | |||
and external side effect rich primitives | 00:44 | ||
it is a fatal error to feed them this | |||
or at least the op always fails | |||
(use fatals) | |||
anything else is up to the user to compose | |||
should declare which param they can explode | 00:45 | ||
and autothread on it | |||
ops which are pure | |||
or which have side effects but can handle junctions | |||
and statements can also explode junctions into threads | |||
and pure functions/mutlimethods/whatever can also be autothreaded | |||
if it looks to be a gain | 00:46 | ||
these are simple, consistent, relatively safe rules | |||
which can give a lot of benefit | |||
i know that if autothreading stays in perl 6 i will never use junctions for more than if (my $value == 1| | 00:47 | ||
2); | |||
whether it's allowed or not | |||
because overloaded objects and stringification are already not handled properly in p5 by some 90% of the modules that deal with these things | |||
machack666 | when you speak of autothreading, do you actually mean process-type threads, or just the ability to ignore the actual algorithms used to make the match? | ||
nothingmuch | and junctions/autothreading are a much more dangeous thing | 00:48 | |
i think that they're replacable | |||
e | |||
machack666 | i found some pretty weird idiosyncronicities in pugs' handling of junctions, to be sure | ||
nothingmuch | i think furthermore that I will be overly paranoid | 00:49 | |
and type Any|Junction everywhere I can | |||
just to make sure that I am not being hurt by anyone else who is too lazy to think about it | |||
again, because these things hurt me every day in perl 5 | |||
machack666 | how about a super to Any and Junction which is the junction of Junction and Any. something short and catchy | 00:50 | |
and a policy to specify that that is the default parameter type | |||
nothingmuch | i think Any should be that Any | ||
but that doesn't work well with autothreading | |||
machack666 | we need the ability to have negative traits: my sub thing isnt threadable {..." | 00:51 | |
nothingmuch | i think we have that | ||
machack666 | well! | 00:52 | |
nothingmuch | not that specific thing | ||
but is rw vs. is constant | |||
and you can apply a role to an object | |||
and then unapply it later | |||
machack666 | I guess it's just the equivalent of a sub-scoped use() or no() block in p5 | 00:53 | |
(oversimplified and off-the-cuff) | |||
nothingmuch | anyway, do you agree with my simple rules for junctions? | 00:54 | |
because if not i'd like to see why | 00:55 | ||
i think i don't get why there is this autothreading-is-good-it-should-be-the-default orgy at all, and I have no clue why some people don't think this is obvious | |||
machack666 scrolls up | 00:57 | ||
I agree that we should be able to specify which parameters can be autothreaded. I don't think that code which hasn't declared explicitly its autothread intentions should be expected by default to be autothread safe. On the other hand, authors who haven't thought about the autothreading issues will ikely not be expecting junction objects as parameters to handle internally. | 01:01 | ||
so at least a warn() should suffice ...(although die() may be more appropriate, as you don't want your pg_pl6 procedure to do unpredicable things anyway. | 01:02 | ||
I don't know how much semantic parsing we could do on compilation of the sub in question...if we have the is_pure status of all ops involved in the function body, then we could automatically promote the compiled sub to pure. | 01:03 | ||
problem is how far you want to traverse the call tree to find this info out while compiling | |||
and it only works for static code/no eval()s | |||
I agree with your memoizable statement from above. (I think it was you...) | 01:04 | ||
it is sufficient to autothread if a particular sub is memoizable. | 01:05 | ||
this has been an enlightening discussion. :( | |||
s/:\(/:)/ | |||
machack666 hates to be enlightened. ;) | |||
nothingmuch: ping | 01:06 | ||
bbiab | 01:08 | ||
nothingmuch | morning Corion | 01:39 | |
are you waking up, or still up? | |||
Corion | Just got home, and possibly need to be back up (and on my bike) in 5 hours %-) | ||
"need" is relative :) | |||
The build seems broken? | |||
Corion backloggeth | 01:40 | ||
nothingmuch | not that I know | ||
Corion | src/Pugs/Prim.hs:377:4: | 01:41 | |
The last statement in a 'do' construct must be an expression | |||
Hmmm - maybe it's a local patch then ... | |||
Ah. Yeah. Some conflict. I'll wipe it then ... | |||
Oooo. We had a release. Nice :) | 01:46 | ||
Corion feels sympathy with Juerd | 01:47 | ||
nothingmuch | Corion: autothreading sympathy? | 01:54 | |
Corion | nothingmuch: CPANPLUS breakage sympathy | 01:55 | |
nothingmuch | ah | ||
mugwump: ping | 02:30 | ||
jabbot | pugs - 2291 - test .() on junctions, not todo anymore | 04:08 | |
bsb | I have a possibly nonsensical junction question: | 04:24 | |
Should "((1|2)^(3&4))" and "one(any(1,2),all(3,4))" produce junctions with matching structures? | 04:25 | ||
They don't currently | |||
Seems to be b/c the & operator trumps ^ and | but the function version does the params before the function | 04:26 | ||
05:19
kenhack is now known as tadpol1
05:21
tadpol1 is now known as kenhack
|
|||
autrijus | bsb: no, that's a valid question | 06:42 | |
and I fixed it | |||
would you please write a test? | |||
Aankhen`` | autrijus++ | 06:43 | |
bsb | nice one. I've been testing junctions with .perl strings but that kind of assumes a canonical representation. Is there a better way? | 06:44 | |
autrijus | not sure there is. | 06:45 | |
Aankhen`` | Does Pugs have support for P6 pattern matching yet? | 06:46 | |
autrijus | Aankhen``: no, see roadmap in PA01 | 06:47 | |
jabbot | pugs - 2292 - * Junctive ^ should join junctions inste | 06:48 | |
Aankhen`` | PA? | 06:49 | |
autrijus | pugs apocryphon | 06:51 | |
Aankhen`` | Ahh, okay. | ||
autrijus | lunch & | 06:55 | |
gaal | autrijus, is interactive mode gone? it doesn't start up on msys. | 07:08 | |
Aankhen`` | Is there an easy way to see diffs in the Web interface? | 07:09 | |
I'm looking at the log, and when I go to individual changes, I can only see the version checked in, without any diffs. | 07:10 | ||
gaal | do you want two arbitrary versions, or a certain version against its immediate predecessor? | 07:11 | |
Aankhen`` | The latter. | ||
gaal | then go to e.g. rt.openfoundry.org/Foundry/Project/...g/VICTUALS and follow any of the "diff with previous" links. | 07:12 | |
Aankhen`` | Hrm... I just followed the Recent Commits link from pugscode.org. | ||
Anyway. | |||
Thanks. :-) | |||
gaal | ???? | 07:13 | |
uh | |||
"sure" | |||
Aankhen`` | OK, see, I'm at rt.openfoundry.org/Foundry/Project/...it=Show%21 | ||
Er. | |||
One sec. | |||
rt.openfoundry.org/Foundry/Project/.../pugs/log/ | |||
That might be better. | |||
gaal | my keyboad switches languages occasionally. amusingly, i just typed "sure" and it came out "dork" :) | 07:14 | |
well, okay, click on he "revision" link | 07:15 | ||
Aankhen`` | Ahh. | ||
I have to go to the individual file's history page. | |||
gaal | yes | ||
if you prefer, you can do this from the command line: svn diff -r2001:2000 | 07:16 | ||
Aankhen`` | Nah, I'm gonna stick with the Web interface. | ||
gaal | autrijus: ping | 07:40 | |
Corion | r2290 - datenzoo.de/pugs/win2k.html - 8 hours after the release and still all tests work/are todo ... Amazing :)) | ||
gaal | Corion: can you try something? do "pugs" w/o any params and see if it starts the interactive interpreter? | 07:41 | |
it's broken on msys; works on linux. | |||
i don't know where to start debugging this, since there aren't any nice tools like strace here. :( | 07:42 | ||
Corion | worksforme | 07:43 | |
gaal | darn, this is msys specific then. | ||
Corion | Maybe the isTerm() call fails? | ||
(but why should it fail now when it worked earlier) | 07:44 | ||
gaal | how would i tell? | ||
i'm not sure i ever worked in interactive mode on msys :) | |||
Corion | gaal: Write a small Haskell program that does what the shell/interactive code does | ||
gaal | right. | ||
Corion | ... I think if you search for "term" in Main.hs or Run.hs , you'll find the startup for the interactive loop | 07:45 | |
gaal | i'm on it. | ||
Corion | Yay! | ||
I'm away again! | |||
gaal | oh, i see what you meant by isTerminal, no that's not wha'ts happening because sending an EOF doesn't help. | 07:47 | |
oh! it *is* what's happening, but then it gets stuck. fishy. | 07:49 | ||
ok, hIsTerminalDevice is lying. And it's not that stdin is being closed, because echo 'say "hi"' | ./pugs.exe works. | 07:52 | ||
jabbot | pugs - 2293 - Test complex junctions are equivalent | 08:48 | |
pugs - 2294 - plan number fixed | |||
nothingmuch | morning | 09:47 | |
elmex | morning | 09:53 | |
gaal | nm, hi. | 09:54 | |
let's try the patch thing now? | |||
Juerd | t apache why do you keep crashing stop | ||
nothingmuch | sure | 09:56 | |
i thought you sent it yday | |||
nothingmuch is starting his first real web development project | 09:57 | ||
anyone who wants to help is welcome | |||
gaal | no, once i'd recorded a patch darcs wouldn't let me get a diff against your version. of course there's a way to do that but it wasn't worth losing sleep for a couple of trivial methods. | ||
^figuring it out for etc. | 09:58 | ||
nothingmuch | darcs diff -p 'atch na' | ||
will match things like 'patch name' or 'match nautilus' | |||
and display a diff for that patch | |||
but don't do that | |||
gaal | 'atch na'? why, that makes perfect sense! how didn't i think of that :) | ||
nothingmuch | 'darcs send' | ||
that's just a regex ;-) | |||
gaal | but, you know, send wants to send to p6-c. | 09:59 | |
nothingmuch | so type in my address | ||
it's because i put p6c in there | |||
so that everyone can review patches, not just me | |||
nothingmuch doesn't really see it as explicitly his | 10:00 | ||
darcs send --to=nothingmuch@woobling.org | |||
gaal | nothinmuch, help me out please. i'm tired of learning YA scm | ||
ah, at last :) | |||
couldn't you have said that last night? | |||
nothingmuch | didn't i? | 10:01 | |
gaal | no! | ||
nothingmuch | oops | ||
nothingmuch-- | |||
i thought it asked you interactively | |||
gaal | sent. as you can see, it's mighty trivial. don't forget to mod the template | 10:02 | |
nothingmuch | i did =) | ||
gaal | darcs-- # why doesn't it send mail like a regular human bein^W^Wprocess and use mutt? | 10:04 | |
pasteling | "gaal" at 192.115.25.249 pasted "HTMLMatrix inline css support" (26 lines, 709B) at sial.org/pbot/9611 | 10:07 | |
gaal | next time i'll pick up the phone and sing bits at you :) | ||
nothingmuch | darcs it doesn't know you like mutt | ||
you can set it's sendmail though | |||
gaal | i tried, you know. | 10:08 | |
nothingmuch | what's so bad about sendmail? | ||
gaal | maybe i like keeping a copy of outgoing mail? | ||
nothingmuch | ah | ||
=P | |||
the patch is out there | 10:09 | ||
i think expecting it to guess that you prefer mutt is a little too much | |||
gaal | you'd think i can set a mailer as an option to the command that, you know, sends mail. but no! | ||
nothingmuch | yes you can | ||
gaal | darcs send --help | grep send # nope | 10:10 | |
darcs send --help | grep command # nope | |||
nothingmuch | oh my, you're right | ||
nothingmuch files a bug | |||
want to be the bug owner? | 10:11 | ||
oh, i see what i remember | 10:12 | ||
gaal | none(<cvs svn p4 cc arch darcs>).pick | ||
nothingmuch | you can ask it to darcs send into a file | ||
that is: create a message | |||
and then just put that in your mail client | |||
gaal | that's reasonable enough. | ||
nothingmuch | i knew i remembered something | ||
gaal | ah, it's even documented. -o. | ||
nothingmuch | darcs send -o file | 10:13 | |
ah, yes | |||
gaal | well, mayve svn doesn't annoy me that much, of the bunch :) | ||
i should take a break, this hostile mood isn't good for anything | |||
nothingmuch | drink some tea ;-) | ||
gaal | good idea! | ||
also, i made soup and i should have another bowl. | 10:14 | ||
nothingmuch | =) | ||
gaal | the TAP model, btw: a testgroup can have diags of itself | 10:19 | |
not explicitly specced the the TAP, but possible if you start a test with diag() | |||
a test file, that is | 10:20 | ||
group, in your terminology. | |||
actrually, that's a shortcoming of the TAP, because you can't unhackily specify "intent" style messages. | 10:21 | ||
"about to do $DANGEROUS_OPERATION, i hope i don't crash" | 10:22 | ||
of course that's what you have a plan for, but still this can make debugging quicker. | |||
actually, we can fix that simply by emitting a test description before running the test, which should be possible if the test is a thunk. | 10:23 | ||
but that means you need to change the functions to things like ok(Code $test, ?$desc) { say $desc; proclaim .... if $test.() } | 10:25 | ||
and call it liek ok({ 1 + 1 = 2 }, "arithmetic"); # (bad example since the compiler optimizes this) | 10:26 | ||
conceptually this is cleaner anyway. every test is a thunk. | |||
with metadata associated to it. the metadata should not be vulnerable to the whims of the test. | 10:27 | ||
nothingmuch | gaal: i think the protocol should allow for whatever | 10:38 | |
and that diag should be available for groups | 10:39 | ||
hmm | |||
interesting | |||
sort of like lives_ok | 10:40 | ||
btw, did you send the patch? | |||
i didn't get anything yet | |||
also, try muttng | |||
gaal | poll | 10:42 | |
actually i keep forgetting, give it another minute, i'm calculating hashcash. | |||
nothingmuch | hashcash? i don't need no hashcash from you | 10:43 | |
autowhitelisting should be enough | |||
although gaal++ for using | |||
nothingmuch really ought to start too | |||
gaal | everybody gets hashhash from me. | ||
it's real easy | |||
nothingmuch | the camram scheme for hashcash is purdy though | 10:44 | |
pay once | |||
gaal | www.livejournal.com/users/gaal/150447.html | 10:45 | |
not familiar with camram | |||
and the interesting pages on their site are down. got a spare pdf? | 10:51 | ||
nothingmuch | nope, sorry | 10:55 | |
gaal->isa("Pirate"); # no documentation for patch | |||
gaal | no tests, either | 10:56 | |
but i'm a p6 pirate, so it's .isa | |||
nothingmuch | care to send me hashcash-sendmail? it's not in gentoo's package | ||
gaal | sure, one sec. | ||
forum2.org/gaal/lj/hashcash-sendmail | 10:58 | ||
nothingmuch | goody | 11:02 | |
Aankhen`` | The class for strings is Str, right? | 11:12 | |
gaal | y | 11:13 | |
Aankhen`` | So could you add this: method Str::foo ($self is rw) { $self ~~ s:p5:/foo/bar/; } | 11:14 | |
gaal | i don't know if you can add methods to the builtin types in perl. in java, fwiw, String is final. | 11:15 | |
Aankhen`` | Hrm. | 11:16 | |
gaal | that doesn't mean "no" :) it means i don't know. | ||
Aankhen`` | Heh. | ||
It would suck to not be able to add methods to the builtins. | |||
nothingmuch | gaal: for some reason (can't figure out) inline css looks differently | ||
nothingmuch.woobling.org/example.html | |||
gaal | you can always do multi sub (Str $self is rw) | 11:17 | |
yes, i noticef that too, weird, innit | |||
wasn't sure it was really what i though it was :) | |||
nothingmuch | body { font-family: Verdana, Arial, Helvetica, Tahoma; <-- no effect? | ||
kungfuftr: ping | |||
Aankhen`` | Ah, I was planning to use it to be able to say: $foo = $bar.foo(); | 11:18 | |
gaal | nm, firefox? | ||
Aankhen`` | ōæ½xABnothingmuchōæ½xBB: The comments are messed up there... | ||
nothingmuch | safari | ||
Aankhen`` | <style type="text/css"> | ||
/* <!-- */ | |||
... | |||
nothingmuch | oh | ||
Aankhen`` | /* --> */ | ||
nothingmuch | gaal: naughty | ||
Aankhen`` | </style> | ||
gaal | what? | 11:19 | |
nothingmuch | your patch ;-) | ||
gaal doesn't see the problem with that - perhaps i'm blind? | |||
nothingmuch | Aankhen``++ | 11:20 | |
nothingmuch.woobling.org/example.html | |||
reload | |||
Aankhen`` | ^_^ | ||
gaal | huh? how does that work? | 11:21 | |
the point of the <!-- is to comment out the css from non supporting browsers | |||
Aankhen`` | Yes. | ||
gaal | but if they don't support css, they'll crap out on /* */ | ||
Aankhen`` | However, he had this: <style type="text/css"><-- ... --></style> | ||
gaal | what's wrong with that? i was under the impression that's how this was done? | 11:22 | |
Aankhen`` | It was missing a !, heh. | ||
gaal | aaaahh! | ||
Aankhen`` | Actually, I made a mistake too: you don't need to put CSS comments around the HTML comments. | ||
gaal | heh | ||
Aankhen`` | I've gotten used to typing <style type="text/css">/* <![CDATA[ */ ... /* ]]> */</style> | ||
gaal | Aankhen``++ | ||
nothingmuch | gaal: darcs pull | 11:24 | |
don't darcs pull, i'm going to amend record | 11:25 | ||
oh crap | |||
darcs unpull if you did | |||
that was the problem | |||
gaal | more in the blind department, what does this mean? | ||
-Test::Tap::Model::Subtest::Visual - A subtest with additional display oriented | |||
+Test::TAP::Model::Subtest::Visual - A subtest with additional display oriented | |||
Pull cancelled. | 11:26 | ||
nothingmuch | Tap -> TAP | ||
it confused search.cpan | |||
gaal | aah, right | ||
i think i need a break again, i'm not seeing all those little things :) | |||
nothingmuch | i didn't see it for about a week | ||
gaal: how expensive is 24 bits of collision? | 11:27 | ||
gaal | you can test and see | ||
-b i think | |||
you should tune it to your hw | 11:28 | ||
i think i moved to 26 bits after a while | |||
& | 11:30 | ||
nothingmuch | that's a long time | ||
~10 seconds | |||
gaal | aim for 30 secs i think | 11:31 | |
nothingmuch | why so long? | ||
you're right, in underestimated | |||
gaal | email can take some latency usually | ||
nothingmuch | true, but are the cpu cycles really worth it? | ||
gaal | your call... | ||
i like to know someone spent 30 cpu seconds before bothering me :) | 11:32 | ||
nothingmuch | avg of 25 bits seems good enough for me | ||
gaal | & # for real | ||
nothingmuch | ciao | ||
now you can all darcs pull | 11:33 | ||
Aankhen`` | ōæ½xABnothingmuchōæ½xBB: Are those supposed to be question marks in the table? | 11:36 | |
nothingmuch | inside the thingies? | ||
that's UTF-8's | |||
Aankhen`` | Inside the cells, yeah. | ||
nothingmuch | (in theory) | ||
Aankhen`` | Looks like a character from another encoding to me, since the page encoding is showing up as UTF-8. | 11:37 | |
nothingmuch | hmm | ||
it worked for me all along | 11:38 | ||
but it looked like trouble | |||
i'll check it out | |||
Aankhen`` | Ah, just put the entity instead of the decoded character. | ||
nothingmuch | easier said than done | ||
Aankhen`` | Why? | 11:39 | |
nothingmuch | petal attrocity i forgot about | ||
Aankhen`` | It won't let you spit out entities as-is? | ||
nothingmuch | you can do it, but it's sort of clumsy | ||
Aankhen`` | How about &nbsp; in that case? | 11:40 | |
nothingmuch | but since it's UTF8 it doesn't reencode | ||
then you get &nbsp; | |||
the point is that it decodes the entities from the template | |||
Aankhen`` | Ah. | ||
nothingmuch | but this somehow broke at some point | ||
Aankhen`` | That sucks. | ||
nothingmuch | i just noticed xmllint complains about this too | ||
because it used to be ok | 11:41 | ||
Aankhen`` | What is Petal? Templating system? | 11:42 | |
nothingmuch | yup | ||
Aankhen`` | (or petal, as the case may be) | ||
What language? | |||
nothingmuch | perl ;-) | ||
Aankhen`` | What a coincidence. =) | 11:43 | |
nothingmuch | search.cpan.org/dist/Petal | ||
Aankhen`` | Ohh. | 11:45 | |
I've read about TAL. | |||
The concept sounded good. | 11:46 | ||
nothingmuch | blammo | 11:51 | |
it is pretty nice | |||
but i think the implementation is not quite good enough | |||
nevertheless I still use it because it's the easiest template for me to maintain | |||
i hfixed the problem | |||
Aankhen`` | Yey! | ||
nothingmuch | reload nothingmuch.woobling.org/example.html | 11:52 | |
Aankhen`` | Woo! | 11:53 | |
nothingmuch++ | |||
nothingmuch | now i should release, i think | ||
example.html:107: parser error : Entity 'nbsp' not defined | |||
"> </a> | |||
beh | |||
xmllint-- | |||
lets see if it passes the validator | 11:54 | ||
Aankhen`` | Heh. | ||
You could s/ / / | |||
It will. | |||
nothingmuch | hmm, it can't eat file:// URLs | ||
Aankhen`` | (I'm assuming xmllint actually does process it as XML :-) | 11:55 | |
nothingmuch | it passes htmltidy, so i'm happy enough | ||
it does | |||
Aankhen`` | So then it's fine. | ||
nothingmuch | i use xmllint to compress things usually | ||
xmllint --noblanks - | |||
Aankhen`` | isn't an XML entity, and I'm guessing xmllint doesn't read the DTD. | ||
nothingmuch | exactly | 11:56 | |
Aankhen`` | This page is not Valid XHTML 1.0 Strict! | ||
Below are the results of attempting to parse this document with an SGML parser. | |||
1. | |||
Line 558, column 9: document type does not allow element "tfoot" here | |||
<tfoot> | |||
Surprising as it may seem, you need to put your tfoot right after your thead. | |||
nothingmuch | odd, htmltidy eats that OK | ||
all it complains about is missing table summaries | |||
nothingmuch will fix | |||
okay, try again | 11:57 | ||
Aankhen`` | This Page Is Valid XHTML 1.0 Strict! | 11:58 | |
nothingmuch | huraah | ||
Aankhen`` ^5s nothingmuch! | |||
nothingmuch | okay | 11:59 | |
both fixes on public repo | |||
got anything you could play with before I make a release? | |||
Aankhen`` | ? | ||
nothingmuch | could you sort of fool around with it | 12:02 | |
Aankhen`` | Ah. | ||
nothingmuch | see if you have anything else to add? | ||
Aankhen`` | One sec. | ||
You could put in summary="91 test cases: 91 ok, 0 failed, 0 todo, 1 skipped and 0 unexpectedly succeeded (100.00% OK)" | 12:03 | ||
nothingmuch | i'll make that into a method methinks | ||
then i'll put summary in the summarry and in the tfoot cell | |||
Aankhen`` | Also, chomp the title attributes. | ||
<a href="#" title="ok 1 - Checking MANIFEST integrity | |||
"> </a> | |||
nothingmuch | i don't want to put a summary in each table though | 12:04 | |
this file grows very fast | |||
Aankhen`` shrugs. | |||
Up to you. | |||
It's just one less thing for htmltidy to complain about, really. | |||
Are there supposed to be line breaks in the footer? | 12:05 | ||
Or are those just for formatting? | |||
nothingmuch | test_cases/50 * length(summary="subests x..x+n"'); | ||
actually that's not so bad | |||
that's just what the template does | 12:06 | ||
err, how the template is written | |||
Aankhen`` | Ah. | 12:07 | |
<td style="background-color: #00ff00" class="x sum">100.00%</td> # you seem to have a lot of inline CSS there which is inflating the size; how about .sum { background-color: #00ff00; } instead? | |||
nothingmuch | because the color is calculated that means about 100 css classes | 12:08 | |
for example 75% is slightly orange | |||
60% is redder | |||
Aankhen`` | You have a different colour for each grade? | ||
nothingmuch | yup | ||
Aankhen`` | I see. | ||
You can't only generate the classes which are used? | 12:09 | ||
nothingmuch | much more complicated control flow | ||
Aankhen`` | Ah, okay. | ||
nothingmuch | it's 25*test files more bytes | ||
Aankhen`` | No matter, it's not such a big deal. | ||
You seem to have a lot of <table width="100%"> -- is there a reason why you can't put that in the CSS? | 12:10 | ||
nothingmuch didn't know that | 12:11 | ||
i forget where i lifted the HTML | |||
Aankhen`` | Hrm. | ||
Actually. | |||
I'm not sure it would work. | |||
You could try it. | |||
nothingmuch | want to bundle up HTML fixes into a patch on the template? | 12:12 | |
i'm really lousy at that stuff | |||
i don't notice when things go bad | |||
and i can't fix them when i finally do | |||
hola Aankh|Clone | 12:14 | ||
Aankh|Clone | Re. | ||
[17:41:59] <nothingmuch> want to bundle up HTML fixes into a patch on the template? | |||
[17:42:13] <Aankhen``> On the HTML file itself? | |||
[17:43:08] * Disconnected | |||
[17:43:17] * Attempting to rejoin channel #perl6 | |||
nothingmuch | lib/Test/TAP/HTMLMatrix/template.html | ||
Aankh|Clone | Alright. | 12:15 | |
Might take some time though. | |||
nothingmuch | goody | 12:16 | |
Aankh|Clone | Should I include the ones I was on about earlier? | 12:17 | |
nothingmuch | chomp ${ $_ }->{line} and redo for $f->cases; | 12:18 | |
you can darcs pull from nothingmuch.woobling.org/ | |||
Test-TAP-HTMLMatrix | |||
(just a plain source tree, btw) | |||
and see what's missing | |||
i did the tfoot thing last | |||
Aankh|Clone | I don't have darcs. | ||
nothingmuch | now i'm working on chomping the summary | ||
okay, just plain downloaad | |||
Aankh|Clone | Alright. | 12:19 | |
12:21
Aankh|Clone is now known as Aankhen``
|
|||
nothingmuch | okay, table summaries are in place | 12:30 | |
i have to work on something else now | 12:32 | ||
update your copy of the template | 12:33 | ||
Aankh|Clone | ōæ½xABnothingmuchōæ½xBB: Ping. | 13:31 | |
nothingmuch | pong | ||
btw, if you know HTML, want to help out with the website i'm working on? | |||
Aankh|Clone | Er, one sec. | ||
castaway_ | Plong. | ||
nothingmuch | i have a friend, she's putting together a manic depression/bipolar website | ||
13:31
castaway_ is now known as castaway
|
|||
nothingmuch | to help people start self help groups | 13:31 | |
Aankh|Clone | Sure, I'd love to help. | ||
nothingmuch | so it's a good cause | ||
Aankh|Clone | Hrm. | 13:32 | |
nothingmuch | i'm having a bit of trouble with the right-to-left layout | ||
Aankh|Clone | I seem to have lost my Website. | ||
13:32
Aankh|Clone is now known as Aankhen``
|
|||
nothingmuch | oi | 13:32 | |
Aankhen`` | aankhen.vengefuldeath.com/example.html | 13:37 | |
Comments? | |||
Limbic_Region | Corion about? | 13:38 | |
Juerd | Some messages on mailinglists are so useless. | ||
Limbic_Region | anyone know why splice.t says FAILED, but it is all green and says 100% passed??? datenzoo.de/pugs/win2k.html | ||
Juerd | nothingmuch: self help in what area? | ||
datenzoo.de/pugs/win2k.html | 13:39 | ||
argh | |||
nothingmuch | Juerd: groups of around 8-12 people with one of the diseases | ||
Juerd | WHY THE HELL DOES DRAGGING COPY AND PASTE | ||
nothingmuch | that organize themselves | ||
Aankhen`` | ōæ½xABnothingmuchōæ½xBB: aankhen.vengefuldeath.com/example.html | ||
nothingmuch | Aankhen``: i can't really see the diff | ||
could you explain? | |||
Juerd | THAT MAKES ABSOLUTELY NO SENSE WITHIN THE SAME TERMINAL WINDOW | ||
Aankhen`` | Mostly under the hood. | ||
Firstly, I removed all the commented out CSS. | |||
nothingmuch | i mean from reading the source ;-) | ||
okay | |||
Aankhen`` | Secondly, I compressed it to one line per selector. | ||
Thirdly, I fiddled around with the links a bit. | 13:40 | ||
nothingmuch | ack! | ||
i exploded it to N lines per selector ;-) | |||
Aankhen`` | Heh. | ||
nothingmuch | i have trouble reading things which are not blockish when I maintain things | ||
Aankhen`` | Lastly, I tweaked the padding a bit on the cells. | ||
nothingmuch | ah, i see, so the whole block is a link | 13:41 | |
that's good | |||
what did you do to the links? | |||
Aankhen`` | Basically, added padding, and pretty hover effects. :-P | ||
Juerd | nothingmuch: What kind of diseases? And only diseases, not disorders? | ||
Aankhen`` | Making them blocks is something I wanted to do, too... | ||
nothingmuch | oi vey | ||
Juerd: manic depression and bipolar disorder | |||
that cyan thing is crazy | 13:42 | ||
Juerd | What is 'manic' depression? | ||
nothingmuch | you go up, you go down | ||
from being so happy that you cry | |||
to being totally depressed | |||
in around 3 minutes | |||
sort of like bipolar | |||
i forget the nuances | |||
Limbic_Region | Juerd - is that a serious question? | ||
nothingmuch | it's at the chemistry level | 13:43 | |
Odin- | Bipolar Disorder | ||
:p | |||
Juerd | Limbic_Region: Yes... | ||
Aankhen`` | ōæ½xABnothingmuchōæ½xBB: You no like pretty links? :-P | ||
Juerd | nothingmuch: Googling for bipolar disorder tells me that it's the same thing as manic depression | ||
Odin- | "manic-depressive" *is* bipolar disorder. | ||
nothingmuch | Odin-: caps are good when they tab complete | ||
Aankhen``: i like traditional links best =) | |||
Limbic_Region | for all intents and purposes they are the same thing | ||
Aankhen`` | Pah. | ||
nothingmuch | Odin-: i think not | 13:44 | |
Juerd | Limbic_Region: I'm (too) familiar with depression, but I didn't know what manic meant. | ||
Odin- | nothingmuch: Yes, it is. :) | ||
nothingmuch | Odin-: my friends diagnosis changed from one to the other, i think | ||
Odin- | nothingmuch: Yes. That's because the terminology changed. | ||
www.behavenet.com/capsules/disorder...cation.htm | |||
Juerd | Hurrah for dsmiv classifications. | ||
(blurgh) | |||
Odin- | Meh. They're standard. ;) | ||
nothingmuch | well, whatever | 13:45 | |
Odin- | It's like ADD/ADHD. | ||
nothingmuch | en.wikipedia.org/wiki/Manic_Depression <-- yields bipolar disorder | ||
Juerd | I'm ambivalent about dsmiv (and other standards like this), Odin- | ||
nothingmuch | no info about wy it was renamed | ||
Odin- | It's the same thing. | ||
nothingmuch was curious | |||
Limbic_Region | Odin - there is a clinical distinction between the two | ||
they aren't the same thing | |||
you can have ADD without the hyperactive part | |||
Odin- | Juerd: Go figure. So am I. They're standard, nevertheless, and that's what you'll be getting from the shrinks. | ||
Limbic_Region: Yes. But it's still the same thing. | |||
Juerd | Odin-: It's good to have a name for something, but at the same time it's very dangerous to put people with slightly different disorders in the same groups... | ||
Limbic_Region isn't sure what Odin- is basing his assertion on, but still believes them to be two distinct things | 13:46 | ||
Odin- | Limbic_Region: I'm basing it on what I've read in the past ten years on a disorder I've been diagnosed with. :> | 13:47 | |
So, seriously, you're not likely to convince me otherwise. | |||
:) | 13:48 | ||
Juerd: Tell you what. I don't really disagree. | |||
jabbot | pugs - 2295 - Typo fixes. | ||
Odin- | Juerd: But it's still useful. You just have to watch out for the mines. | ||
Sort of like IQ. | |||
Limbic_Region | I'm not trying to convince you otherwise | ||
Juerd | Odin-: It's useful, indeed. And indeed, I think the same things about IQs. | ||
Though IQs are much less useful because everyone uses a different standard deviation, and it's no longer around a 100 middle point. | 13:49 | ||
When someone asks me my IQ, I just say it's 2+1/3 SD, and if they don't understand it, I just assume they're less intelligent ;) | |||
Odin- | Actually, IQs are most useful not for saying how you stand compared to others, but what strengths and weaknesses you have in the fields measured. :> | 13:51 | |
Limbic_Region | not knowing much about the subect, aren't IQ tests supposed to give near same results regardless of age/studying and yet it has been repeatedly shown that this isn't the case? | 13:52 | |
Odin- | Limbic_Region: And, yes. It's possible not to have the 'H' part. But that's considered to be a specific manifestation of ADHD, not a seperate disorder. | ||
Limbic_Region: Uh. No, they aren't. | |||
And thus no wonder it isn't the case. | |||
Aankhen`` | ōæ½xABnothingmuchōæ½xBB: Reload the page. | ||
Juerd | Hm, according to dsmiv I am depressed. | ||
Limbic_Region | Odin- ok, we are saying the same thing but with a difference on a focus | ||
Juerd | Funny how I already knew that even without the classification specs :) | 13:53 | |
Limbic_Region | WRT ADD/ADHD | ||
Odin- | Juerd: According to DSM IV I have a whole host of disorders. | ||
nothingmuch | why are the blocky? so that you can click on the whole TD? | ||
Odin- | Which, frankly, just might be the case. :) | ||
Limbic_Region: Maybe. :) | |||
Aankhen`` | Yeah. | ||
Fitt's Law. :-D | |||
Juerd | Odin-: Heh. | 13:54 | |
Odin-: I have looked at only two, that I suspected before seeing the criteria. (Aspergers and now depression) | |||
Odin- | Limbic_Region: ADHD is a headache to deal with. It's chaotic ... in both that it makes people chaotic, and it manifests in very chaotic ways. | ||
nothingmuch | so do you want to CI it? you can learn darcs in about 2 minutes | ||
Aankhen`` | CI? | ||
Limbic_Region | Odin- well, let me put it this way - I agree with what www.behavenet.com/capsules/disorder...cation.htm had to say on the matter - when classifying the disorder you can pick and choose the options that fit the individual A, B, A&B | ||
Aankhen`` | Commit? | ||
nothingmuch | check in | ||
yup | |||
Juerd | I should read more of them, just to find out what disorders I have. Maybe they'll some day be worth cash!) | ||
Aankhen`` | Ahh. | ||
Sure. | |||
Where do I get darcs for Win32? | 13:55 | ||
Odin- | Limbic_Region: Okay. Yes. That's what I was referring to. :) | ||
nothingmuch | darcs.net <-- links to binaries | ||
Aankhen`` | OK. | ||
Limbic_Region | Odin- also speaking from personal experience - I believe that "what ADHD is or is like" is a highly subjective experience | ||
Odin- | Limbic_Region: Oh, yes. But there seems to be a root cause for many, if not most... | 13:56 | |
Aankhen`` | Hrm. | 13:57 | |
I have to go for now. | |||
Limbic_Region realizes the time and wanders off to wake Jean up | |||
Aankhen`` | ōæ½xABnothingmuchōæ½xBB: I'll be back in a couple of hours. Can you wait till then? | ||
Odin- would be 'combined type' | |||
nothingmuch | Aankhen``: sure | ||
actually it's better for me | |||
Aankhen`` | Alrighty then | ||
. | |||
See you later. | |||
nothingmuch | ciao, and thanks! | ||
stevan | nothingmuch: ping | 14:00 | |
nothingmuch | pong | ||
castaway | stevan.. | 14:14 | |
castaway pings stevan. | |||
stevan | castaway | 14:22 | |
pong | 14:23 | ||
castaway | hey | ||
Could you copy us OS 9 when you get a chance, please? | |||
(damn mac doesnt want to play) | 14:24 | ||
stevan | castaway: yes I will do that sometime today | ||
castaway | Ta! | ||
stevan | (not on the right computer right now | ||
should I stop the rsync | |||
theorbtwo | Oh? | ||
The rsync is still running? | |||
castaway | Isnt it finished? | ||
stevan | LOL | ||
20% | |||
theorbtwo | That's... odd. | 14:25 | |
castaway | for the 2nd one ? | ||
stevan | it was doing early 90s modem speeds :) | ||
theorbtwo | That suggests that the file that was there and the file being transfered weren't more or less the same. | 14:32 | |
nothingmuch is so pathetic | 15:24 | ||
castaway | whatup, nm ? | 15:25 | |
nothingmuch | lost all my graphic apps abilities | ||
castaway | eh? | 15:26 | |
castaway ruffles nothingmuch | 15:27 | ||
nothingmuch purrs | |||
castaway wonders what graphic apps abilities are | 15:28 | ||
nothingmuch | the ability to grok how stuff will look pretty | 15:29 | |
and actually do it | |||
castaway | ohh.. | ||
nothingmuch | and also do a bit of simple 2-d math | ||
castaway never had any of those ;) | |||
nothingmuch | i used to do collages for fun | ||
big PSDs with some kind of message | |||
castaway | PSD? | ||
nothingmuch | photoshop files | ||
castaway | ah | 15:30 | |
Corion_ | r2295 - datenzoo.de/pugs/win2k.html - still no new failures ... :) | 15:33 | |
nothingmuch | autrijus is at a family reunion or something | ||
Corion_ | Limbic_Region / Juerd: There is one more test (in my local copy of splice.t) than planned, so all tests are successes, but due to the plan it fails. | 15:34 | |
castaway | cos no new code has been done? ;) | 15:35 | |
Corion_ | castaway: :)) | ||
castaway | I got 3 fails from 4506 | ||
Corion_ | castaway: Where? I get 0 fails ... | 15:38 | |
jabbot | pugs - 2296 - QoTW regular #24 works! | ||
pugs - 2297 - Added test for explicit scalar context a | |||
castaway | Failed Test Stat Wstat Total Fail Failed List of Failed | ||
------------------------------------------------------------------------------- | |||
t/operators/arith.t 177 1 0.56% 158 | |||
t/operators/filetest.t 34 2 5.88% 11-12 | |||
r2292 | 15:39 | ||
Corion_ | Oh. The two filetest tests are skipped on win32 | ||
15:39
Corion_ is now known as Corion
|
|||
Limbic_Region | Corion - did you see my comment from earlier? | 15:39 | |
Corion | Limbic_Region: I even answered to it | 15:40 | |
(it was a plan failure) | |||
Limbic_Region must have already been off playing with FF | |||
Corion | More tests run than planned results in an overall failure even though all tests succeed | ||
Limbic_Region: I answered it about 5 minutes ago :) | 15:41 | ||
Limbic_Region thinks he is seeing a significant speed improvement in page rendering with FF 1.0.3 | 15:42 | ||
versus 1.0-Pre that is | |||
Corion | Grrr. Skipping tests because of "sporadic failures" is stupid/wrong. If something is "sporadic" in t/operators/filetest.t, you can be pretty sure it's operating system dependent. Like, "-s" is not implemented for Win32 yet. | 15:43 | |
Ah - no, it's merely the skip reason that is stupid/nondescript. | 15:44 | ||
nothingmuch | w3 are hypocrites | 15:46 | |
so much for usability: www.w3.org/TR/SVG12/ | |||
where on that page is the spec itself, anyone? | |||
theorbtwo | If you actually read it, you'd realize that it doesn't exist yet; it's a working document. | 15:47 | |
Try the "previous version" link, OTOH. | 15:48 | ||
nothingmuch | beh | ||
i've read the first 4 paragraphs and still haven't found the 'this is not written | 15:49 | ||
bit | |||
but thanks | |||
jabbot | pugs - 2298 - Win32 -s and -z now work, thanks to Lemm | 16:18 | |
Aankhen`` pokes nothingmuch. | 16:26 | ||
nothingmuch has a spasm | |||
Aankhen`` | Tsk, tsk. | ||
So touchy. | |||
Anyway. | |||
nothingmuch bangs head on table, swallows tounge, starts foaming | |||
Aankhen`` | What do I do with this darcs thingie? | ||
nothingmuch | 'darcs get repo_url' | ||
repo_url in this case is: nothingmuch.woobling.org/Test-TAP-HTMLMatrix | |||
Aankhen`` | And the URL would be? | ||
OK. | |||
nothingmuch | then you edit the files | 16:27 | |
svn st translates to 'darcs w -ls', which is really 'darcs whatsnew --look-for-adds --summaryy' | |||
jabbot | pugs - 2299 - Commented on the fact that Compat.hs now | 16:28 | |
nothingmuch | and then you say 'darcs record' for whatever changes you want to keep | ||
you name them | |||
and then you darcs send | |||
Aankhen`` | Copying patch 7 of 44... | 16:29 | |
Corion | Hmmm. Should hs-plugins Just work on Win32? I haven't tried it yet, but the documentation doesn't claim anything in either direction ... | ||
Aankhen`` | darcs failed: Failed to download URL nothingmuch.woobling.org/Test-TAP-H | ||
TMLMatrix/_darcs/patches/20050423234958-e79bd-9900a4a65dd228be32bb75913f439f0a6a | |||
dd2d09.gz | |||
libcurl: HTTP error (404?) | |||
nothingmuch | ooh | ||
Aankhen`` | Tried again, it failed again on 7. | ||
nothingmuch | one sec, i'll look into it | ||
Aankhen`` | Alright. | 16:30 | |
nothingmuch | try again | ||
16:31
wilx` is now known as wilx
|
|||
Aankhen`` | Got 'em all. | 16:31 | |
So, where's example.html? :-P | 16:32 | ||
nothingmuch | it's not there, you have to generate it ;-) | 16:33 | |
example.pl is the thing that makes it | |||
Aankhen`` | Darn. | ||
Right. | |||
I suppose I need to install the module first? | 16:34 | ||
Darned prerequisites. | 16:36 | ||
theorbtwo | Corion, last I checked, dons (the primary author) mentioned something about / vs \ paths. | 16:37 | |
It's worth a try. | |||
Corion | theorbtwo: Yeah ... I'll guess I'll try :) | ||
... but first I'll hunt down some cross platform issues | |||
Yah. r2299 - datenzoo.de/pugs/win2k.html - -s and -z work now on Win32 | 16:38 | ||
autrijus | woot. | 16:52 | |
greetings, btw. | |||
I'm about to check in a change. | |||
it makes mandel.p6 finish in 55 secs for one round in my machine | |||
it took 250. | |||
(before this change) | |||
I'm smoking now to make sure I didn't break anything | 16:53 | ||
obra | ?! | ||
theorbtwo | Impressive. | ||
obra | what did you change? | ||
autrijus | obra: I changed the symbol table from using an association list (list of pairs) | ||
into Data.Map | |||
that's all | |||
theorbtwo | Ah. | ||
obra | hah | ||
theorbtwo | It's all about the hash, man. | 16:54 | |
autrijus | right... except for multisubs | ||
obra | "mature optimization" | ||
autrijus | type Pad = Map Var [IORef VRef] | ||
so I end up settling for this | |||
not sure whether we still need to make optimized the default after this anymore | 16:55 | ||
it's in as r2300. reverse.t broke | 16:59 | ||
for some reason | |||
otherwise looks good so far | |||
reverse.t repaired | 17:06 | ||
hey Corion_. I wonder if on Win32 pugs is also 5x faster for you now :) | 17:07 | ||
Corion_ | autrijus: Hmmm. I'm just running a smoke test - I should notice if it is 5x faster :) | 17:08 | |
autrijus | Corion_: r230x? | ||
jabbot | pugs - 2300 - * New, much much faster implementation t | ||
pugs - 2301 - * repair the "list" context hinter | |||
Corion_ | autrijus: What did you change? | ||
autrijus: Just did an svn up | |||
Aankhen`` | autrijus, I had a question which you might be able to answer... | ||
Corion_ | Will be 2301 | ||
autrijus | good | ||
Corion_: the Pad data structure is much improved | |||
Aankhen`` | [16:42:05] <Aankhen``> The class for strings is Str, right? | ||
autrijus | it's now a hash instead of a list. | ||
Aankhen`` | [16:42:42] <gaal> y | ||
[16:43:32] <Aankhen``> So could you add this: method Str::foo ($self is rw) { $self ~~ s:p5:/foo/bar/; } | |||
Corion_ | autrijus: Ah - so we have faster variable name/value lookups | 17:09 | |
autrijus: Build is not broken :) Tests seem to work ;) | |||
autrijus | Aankhen``: I don't know... consult S12/A12 | ||
I know that | |||
Aankhen`` | Alright. | 17:10 | |
autrijus | class Str { method foo {} } | ||
works | |||
Corion_ | And it seems faster, yes. Too bad I'm too lazy to install time(1) here :) | ||
autrijus | as does | ||
Corion_: you can run mandelbrot with two pugs.exe :) | |||
also, | |||
multi method foo (Str $self is rw:) { ... } | |||
works | |||
Aankhen`` | So class Str { method foo {} } would add foo() to all strings? | ||
Juerd | Corion_: time is a bash builtin. bash(1). | 17:11 | |
;) | |||
autrijus | Aankhen``: something like that. | ||
Aankhen`` | Cool. | ||
Thanks. :-) | |||
Corion_ | Juerd: Too bad I'm too lazy to install bash. But maybe I shouldn't be :)) | ||
autrijus | Aankhen``: but I'm talking with p6l hat. in p6c terms it doesn't work right now... only the multi sub works | ||
multi sub foo (Str $self is rw) { .. } | |||
Aankhen`` | Ah, okay. | ||
I have to say, it's fascinating to even just idle in this channel. | 17:12 | ||
autrijus | agreed :) | ||
Juerd | Aankhen``: Can you explain why? | ||
Aankhen`` | ōæ½xABJuerdōæ½xBB: Watching a programming language being implemented is a new experience for me. :-) | 17:13 | |
Juerd | I see | ||
elmex | hm, how far are the networking capabilities of pugs? can i do something like select () and using non-blocking ? | 17:18 | |
autrijus | elmex: see example/network | ||
http-client.p6 http-server.p6 | |||
we are currently having a share-everything model (5005threads) | |||
elmex | well, that one bases on async {} didn't it? | ||
hmm | |||
autrijus | I think it is larry's wish to make it more like ithreads | ||
and I may throw in STM as well. | |||
atomically {} | |||
elmex | i've read that post... indeed | 17:19 | |
i don't like threads anyway. i tend to use select () in all of my applications. it's simpler and you can do much with it until you hit some performance barrier... | |||
autrijus: will async { } be there in future too? | 17:20 | ||
autrijus | elmex: I'm pretty sure it will. | ||
async is part of ithreads API. | |||
elmex | hm | ||
autrijus: what about coroutines? | |||
autrijus | elmex: you can roll coroutines yourself using a simple iterator interface. | ||
i.e. lazy list | |||
elmex | oh, iterator interface? uh.. | 17:21 | |
(no idea) | |||
but it sounds good ;) | |||
autrijus | ;) | ||
if all you want is lazy yield(), you have gather/take. | |||
Corion_ | It sure felt faster! | 17:22 | |
autrijus | Corion_: glad to hear that! | ||
Corion_ | Hmmm. Supposedly it took 14 minutes. But I don't have any numbers to compare. D'oh :) | ||
autrijus | run mandelbrot? :) | 17:23 | |
(provided you have an old pugs.exe to compare against) | |||
Corion_ | autrijus: Ah. Hmmm - too late :) | 17:25 | |
BTW, I'm moving out all the fixed tests in pugsbugs/ - where should subscripts_and_context.t go? | 17:26 | ||
jabbot | pugs - 2302 - Moved succeeding tests out of t/pugsbugs | 17:28 | |
ingy | hola | 17:30 | |
Aankhen`` pokes nothingmuch. | |||
autrijus | Corion_: improvise :) | ||
Corion_ | autrijus: Already doing that ;) | ||
Is => supposed to be a hash/pair constructor or is it still the P5 Fat Comma ? | 17:31 | ||
broquaint | Pair constructor. | ||
autrijus | it is always a pair constructor. | ||
specifically, it creates a reference to a pair object. | |||
broquaint | Although it still stringifies the left handside. | ||
Corion_ | Ah. Hmmm. Still it should be mostly usable in the same situations as before, especially in a map block ... { $_ => uc $_ } | 17:33 | |
I hate tests that only exist as comments and don't even have an empty skip() or fail() call... :) | 17:34 | ||
autrijus | map { $_ => uc $_; } | ||
map { +($_ => uc $_) } | |||
map { \($_ => uc $_) } | 17:35 | ||
gaal | the yaml harness now records how long the run took. should be a decent benchmark of pugs' speed, per r at least. | 17:36 | |
Corion_ | %ret = map { $_ => uc $_ }, split "", $text # currently dies. Is that correct? | ||
gaal++ | |||
Juerd | autrijus: It creates a pair object. That *implies* reference, on the outside. | ||
Corion_ | (it's no parsefail but a runtime error later) - I'll commit the changed/updated test again, as t/pugsbugs/map_function_return_values.t - I just wonder, the test name doesn't have much in common anymore with the cause :) | 17:37 | |
nothingmuch gets poked | |||
jabbot | pugs - 2303 - include timing data in yaml harness run | 17:38 | |
pugs - 2304 - Moved one more test, turned one comment | |||
autrijus | Juerd: sure | 17:39 | |
Corion_: it's I think correct | |||
it amounts to saying | |||
17:39
Corion_ is now known as Corion
|
|||
autrijus | map %hash &func | 17:39 | |
er | |||
map %hash, @list | |||
which is undefined. | |||
it should fail with a MMD error | |||
but we'll get to that | 17:40 | ||
Juerd | autrijus: Shouldn't { } in Code context prefer sub interpretation, then? | ||
Likewise, { } in Hash context, prefer hash interpretation. | |||
autrijus | Juerd: eh. | 17:41 | |
multi sub foo (Code $x) { ... } | |||
multi sub foo (Hash $x) { ... } | |||
foo { 4 => 5 } | |||
obra | make smoke now takes 5:27 for me | ||
Juerd | autrijus: Then both are possible and old heuristics apply. | ||
autrijus | obra: is that an improvement? | ||
Juerd | autrijus: But if only one is valid, it makes no sense to interpret it as the invalid thing, and then croak. | ||
autrijus | Juerd: problem being the interpretation thing is done at compile time | 17:42 | |
Juerd: but the MMD is not resolved until runtime, as you very well know | |||
Juerd | autrijus: That's not something I know :) | ||
autrijus | Juerd: so the best we can do is to mark that block as some kind of Code|Hash thing | ||
Juerd: oh. ok. :) | |||
Juerd | And is map really a multi? | ||
I had always assumed it was a normal sub | 17:43 | ||
(And method) | |||
autrijus | anyway. :) | ||
it's for @larry to decide :) | |||
Juerd | Also, is it spelled "multi sub"? I thought "multi". | ||
autrijus | it is spelled multi sub. | 17:44 | |
because you also get multi methods. | |||
it may or may not be equivalent to the "is multi" trait. | |||
gaal pings nothingmuch | |||
Juerd | So we still have elsif crammed together into the extreme, but multi sub as two words. Confusing :) | 17:45 | |
SHOCKING NEWS | 17:47 | ||
"Mac mini" and "Mac Mini" are both used. | |||
The box sais "Mac mini" | |||
says even | |||
autrijus | I'm shocked! | ||
autrijus elecrifies | |||
electrifies, even | |||
Corion | Galvanize! | ||
theorbtwo | Is this confusingly similar to a mini cooper? | ||
If not, why do I care? | |||
For that matter, if so, why do I care? | 17:48 | ||
Corion | Ow. I introduced a failing test - should I make it :todo(1) ? | ||
Or do we accumulate failing tests again, and :todo them before release? | |||
theorbtwo | Corion, we're obviously out of preflight, since there was a release yesterday. | ||
autrijus | right. | 17:49 | |
Corion | theorbtwo: Yes, but a 0 bugs build is easier to keep track of, resp. if you introduced new bugs or not | ||
autrijus | so make those tests fail. | ||
new tests, I mean | |||
except of course if it is a missing new feature... in that case it's truly todo | |||
broquaint | IIRC, which I may not, but in circumstances where { } is potentially ambiguous Code is assumed, and to create a Hash just plonk the "hash" keyword in front of the braces. | 17:52 | |
castaway tickles broquaint | 17:54 | ||
broquaint | Hey c, enjoying a fine Sunday afternoon? | 17:55 | |
castaway | yup thanks | ||
autrijus | broquaint: no. currently it's defined to always collapse to a hash | ||
Corion | r2304 - datenzoo.de/pugs/win2k.html - 661 seconds on my machine | ||
autrijus | if its first toplevel AST is either a pair constuctor | ||
or a list constructor with the first element being a pair constructor. | |||
Corion | (and one failure :| ) | 17:56 | |
broquaint | Ah yes, that makes sense, autrijus. But I wouldn't think those circumstances ambiguous ;) | ||
But then again, I'm not a parser. | |||
autrijus | broquaint: no... Juerd is asking for more | 17:57 | |
consider | |||
@foo.map({ 1 => 2 }) | |||
ah! | |||
Juerd: I know! I know! | |||
Juerd: we just define adverbial blocks to never collapse ;) | |||
i.e. | |||
map { 1 => 2 } @foo # map(Code, Array) | 17:58 | ||
map { 1 => 2 }, @foo # map(Hash, Array) | |||
makes sense? | |||
I think it does. | |||
autrijus writes p6l | |||
broquaint | dev.perl.org/perl6/doc/design/syn/S...tml#___top | 18:01 | |
'pparently: "If the closure appears to delimit nothing but a comma-separated list starting with a pair (counting a single pair as a list of one element), the closure will be immediately executed as a hash composer." | |||
gaal | Corion incidentally that doesn't count time building pugs, only smoking it. | 18:03 | |
Corion | gaal: Ah. Hmmm - maybe I should try with "nmake optimized" and then smoking ... | ||
gaal | someone with more make-fu than i should give that a look, fer sure. the 'make smoke' target needs to be rewritten. | 18:04 | |
Corion | I don't use "make smoke", at least not directly :) | 18:05 | |
gaal | i think the responsibility on smoke has to be either on run-smoke, or on make smoke, but not both. | ||
autrijus | map_function_return_values.t | 18:11 | |
now works. | |||
* implement the tentative proposal of not collapsing a bare block as a hash reference, if it is in an adverbial, loop body, or comma-omission position. | 18:13 | ||
r2305 | |||
Corion | autrijus: Yay! :) Maybe I should simply everytime select one bug to propagate to a real fail() so you then fix it :) | 18:16 | |
Hmmm. "make optimized" does not copy/execute the ext/*/Makefile.PL ... | |||
jabbot | pugs - 2305 - * implement the tentative proposal of no | 18:18 | |
Corion | Heh. make optimized smoke now takes 341s :) | ||
err - 371 | |||
nothingmuch | hola | 18:19 | |
Corion | hola! | 18:20 | |
nothingmuch | can anyone explain: www.w3.org/TR/SVG/coords.html#Trans...rixDefined ? | 18:21 | |
theorbtwo | Brok! | 18:22 | |
awwaiid | howdy | ||
Corion | nothingmuch: What part of it? All (linear) transformations can be expressed as 3x3 matrices | ||
awwaiid | thought I'd drop in and see whatsh shakin in perl6 land | ||
nothingmuch | hola awwaiid | 18:23 | |
awwaiid | bonjour | ||
nothingmuch | hey, i need an epfarms account for that website | ||
Corion | nothingmuch: You get the target point of the original point by multiplying the original point with the matrix | ||
nothingmuch | what email to use? | ||
awwaiid | [email@hidden.address] | ||
nothingmuch | awwaiid++ ; # look! you didn't even hack pugs, and already a positive karm | 18:24 | |
a | |||
awwaiid | crazyness | 18:25 | |
theorbtwo | Well, by multiplying a /column/ matrix with [x y 1] by the matrix and getting out a /row/ matrix [x' y' 1] | 18:26 | |
jabbot | pugs - 2306 - * oops, accidentally inhibited the comma | 18:28 | |
Corion | Hmmm. What was 2306 for ? 2305 raised no error ... Are we missing some test(s) ? | 18:33 | |
How do I see via svn/web which files were changed by a commit? | 18:34 | ||
Aankhen`` | Pugs doesn't work with input from a file? :-S | ||
autrijus | Aankhen``: what? | ||
Corion: click on the revision num | 18:35 | ||
Aankhen`` | I have Str.foo.p6 containing say "foobar"; | ||
Corion | autrijus: D'oh :) | ||
autrijus | Corion: I added a test to 2306 | ||
Aankhen`` | I run pugs Str.foo.p6 | ||
And get: | |||
unexpected "\NUL" | |||
expecting operator, postfix conditional, postfix loop, postfix iteration, ";" or | |||
end of input | |||
NonTerm SourcePos "Str.foo.p6" 1 8 | |||
autrijus | it says you have a \NUL. | 18:36 | |
maybe something in your editor? | |||
have you saved it as utf16? ;) | |||
theorbtwo | Possibly you saved as utf-16? | ||
Aankhen`` | I saved it as a UTF-8 file with Unix line endings. | ||
theorbtwo | D'oh. | ||
Aankhen`` | Hrm. | ||
Weird. | |||
I think UltraEdit-32 messed up somewhere. | 18:37 | ||
It works now. | |||
Looks like it was some encoding issue. | |||
autrijus | I like older versions of UE better. | ||
theorbtwo | Allo, bro. | ||
Aankhen`` | Ahh, I'm a sucker for shiny new features. :-P | 18:38 | |
broquaint | Hey, theorbtwo. How're hs-plugins coming along? | 18:40 | |
Corion | BTW, where should I look for calling Win32 API functions from Haskell? | ||
theorbtwo | eval_haskell is working (for some values of working), and tested. | 18:41 | |
I haven't messed with the dynamicly-loaded modules recently. | |||
broquaint | Nifty :) | ||
Aankhen`` | Does "is rw" work? | 18:42 | |
Corion | Aankhen``: It says so in one of the commits I think | 18:43 | |
... or at least I saw some tests that work now | |||
... in t/pugsbugs/ | |||
See t/var/is_rw.t | |||
broquaint | Is the best place to look for stuff "to do" in todo_* calls in t/ or is there a TODO lying about? | 18:45 | |
Aankhen`` | perlbot nopaste | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
theorbtwo | Working on a pure haskell project at present, to create (graphviz) graphs of haskell module dependences. | ||
autrijus | ooh, useful! | 18:46 | |
can it walk symbols? | |||
instead of merely plotting import strings | |||
broquaint | Is that through introspection or some judicious parsing, theorbtwo? | 18:47 | |
Corion | broquaint: There is the general roadmap (I don't know where), but I usually look at annoying todos in my smoke output (datenzoo.de/pugs/win2k.html) and fix them. | ||
... but by that way, I won't implement new features. New features I implement when I need them in plain P6 code ;) | |||
theorbtwo | It does it by reading the .hi files. | ||
broquaint | Cool, thanks, Corion. | 18:48 | |
theorbtwo | ...using the parser that is part of hs-plugins. | ||
Corion | (or rather, I ask about them not existing, write tests for them, and release a botched implementation that somebody else then fixes) | ||
pasteling | "Aankhen" at 203.101.1.31 pasted "What am I doing wrong?" (13 lines, 188B) at sial.org/pbot/9619 | ||
broquaint | Heh, nice :) | ||
Corion | Worked for sleep(), async() and sockets :) | 18:49 | |
autrijus | Corion++ | ||
Corion | Should I move older tests (like t/syntax/symbol_table.t) to the new Test.pm API ? It doesn't use eval_ok, which it really should IMO :) | 18:52 | |
autrijus | Aankhen``: huh, it worksforme | ||
Aankhen``: should work for 6.2.1 | |||
Aankhen`` | o_O | ||
autrijus | it says "barbar" here | ||
Aankhen`` | Which revision bumped it up to 6.2.1? | ||
theorbtwo | I suspect in theory the function-level dependencies are present, but Hi.Parser doesn't parse a fair bit of the file. | ||
broquaint | What's the difference between a skipped test and a test TODO? Tests that are skipped were/will be working, and tests todo are stuff to be implemented? | 18:53 | |
autrijus | skipped tests are either: | 18:54 | |
1. hard parsefails | |||
(where you add "fail" before it) | |||
or | |||
2. platform-dependent | |||
Aankhen`` | I'm at r2235. | ||
Aankhen`` looks for "is rw" in the log. | |||
Aha. | |||
2253. | |||
No wonder. | |||
autrijus | :) | ||
Aankhen`` updates. | |||
broquaint | Thanks, autrijus. | 18:55 | |
autrijus | np :) | ||
Aankhen`` | I'm starting to dislike RapidSVN. | ||
broquaint ponders implementing caller() | 18:58 | ||
Corion | broquaint++ | ||
broquaint | How hard can it be, right? | 19:00 | |
nothingmuch | isn't that done with magicals now? | 19:01 | |
for example &?CALLER::SUB is the &?SUB in your CALLER's scope | 19:02 | ||
so to invoke your parent, &?CALER::SUB.() | |||
Aankhen`` | &?CALLER::SUB.(), even? | 19:03 | |
broquaint | There are the magical variables, but they really apply to the current sub, whereas you can look up the stack (if you so wish) with caller(). | ||
nothingmuch | yep, sorry | ||
broquaint: the impl stacks | 19:04 | ||
Aankhen`` | ^_^ | ||
broquaint | What are "impl" stacks? | ||
nothingmuch | the implementation is a stacking one, it stacks | ||
when I hacked pugs a while ago, the way it was done is for every CALLER:: in the namespace, one frame is popped of the stack | |||
stacks is a verb, | |||
broquaint | I guess it'll get interesting with tail-call optimisation and the such. But I think that's mentioned in Apoc6, looking now ... | 19:05 | |
nothingmuch | oh crapxor | 19:06 | |
Corion weeds out some more test failures | |||
broquaint | I take it (and am hoping) .wrap hasn't been implemented? | 19:07 | |
nothingmuch | .wrap wasn't | ||
but look at .assuming | |||
or wait, maybe it's different | |||
broquaint | Superb. | ||
nothingmuch | it is, actually | ||
.wrap does an in place edit, right? | 19:08 | ||
.assuming was fun because it only generates a closure | |||
Corion | Deleting a file via "svn delete" is not harmful for the repository, right? | ||
nothingmuch | Corion: you can undo the delete later, i think | ||
Corion | nothingmuch: Yep - that's what I want to know, because I found a duplicate test :) | 19:09 | |
broquaint | More or less, nothingmuch, it points the existing subroutine to the wrapped variant, so in theory you should be able to unwrap it. | ||
Corion hopes the best. | |||
nothingmuch | it doesn't destroy history | ||
how does wrapping layer? | |||
say i take a sub and wrap it | |||
and someone else wraps it too | 19:10 | ||
and i remove my wrapping | |||
is the original sub still wrapped with the last one? | |||
if yes, it gets a bit tricky | |||
because this means we need dual indirection here | |||
or parent links | 19:11 | ||
so we can make the thing wrapping a removed wrapping point to something else instead | |||
are you looking into doing this? | |||
broquaint | I believe it's stacked, nothingmuch, so you'd have to .unwrap the secondary sub to .unwrap your sub. | ||
dev.perl.org/perl6/doc/design/apo/A...tml#___top | 19:12 | ||
So it's not too clearly defined at this stage. | |||
nothingmuch | $subref.unwrap($id); <-- i think this implies it isn't | ||
v | 19:13 | ||
There is also likely a .wrappers method that represents the list of all the current wrappers of the subroutine. The ordering and manipulation of this list is beyond the scope of this document, but such activity will be necessary for anyone implementing Aspect-Oriented Programming in Perl 6. | |||
broquaint | Yeah, so it's not so obvious at this point :) | 19:14 | |
autrijus | journal up. g'night! | ||
nothingmuch | okay, so i think it is a dually linked list | ||
last wrapper is always the one being invoked | |||
cia autrijus | |||
and you can remove arbitrary wrappings from the list | 19:15 | ||
broquaint | Later, autrijus. | ||
nothingmuch | if you know their IDs | ||
Corion | Can anybody explain to me why t/general/config.t is :todo(1) ? Shouldn't we make that one non-todo to automagically collect the various operation systems? | ||
Corion & | |||
nothingmuch | broquaint: if you are planning on implementing .wrap i'll be glad to help | 19:17 | |
i've not hacked pugs in a long while and this is a good excuse | |||
(to start) | |||
broquaint | Well I'm certainly interested in implementing .wrap and .caller, but firstly I have to remember how to code in Haskell and where to start with pugs ;) | 19:18 | |
jabbot | pugs - 2307 - s!is(eval !eval_is(!g; s!ok(eval !eval_o | ||
pugs - 2308 - Some more hard parsefails converted to e | |||
pugs - 2309 - NaN calculations work now and the test l | |||
pugs - 2310 - Move tests for eval() into t/builtins/ev | |||
pugs - 2311 - Move junction test to t/junction/ | |||
broquaint | Heh, nice -- XXX absolutely evil bloody hack for "assuming" | 19:19 | |
nothingmuch | broquaint: well, when you start ping me, and i promised to be lured away from work for at least some hunks of time | ||
tee hee | |||
broquaint | Cool, thanks nothingmuch. | ||
nothingmuch takes the blame for that line | 19:20 | ||
broquaint | Is there much to hacking in functions/methods/multis? | ||
nothingmuch | i'm not very up to date on that bit | ||
maybe someone else can help more | |||
but: | |||
MMD: we have that | |||
methods: they are just single MMDs | |||
functions: do you mean builtins? | 19:21 | ||
what we don't have is classes | |||
or objects | |||
broquaint | Yeah, builtins. | ||
nothingmuch | coding builtins is a nice way to start | ||
look at all the op1 and op2s in Prim.hs | |||
broquaint | I guess caller() is best implemented as a builtin for the time being | ||
nothingmuch | anyway, i've got to go | 19:22 | |
ciao! | |||
broquaint | Later, nothingmuch. | ||
nothingmuch | Aankhen``: when I get back will you still be around? | ||
broquaint & # Indiana Jones | 19:23 | ||
nothingmuch | i need massive CSS help | ||
Corion | Dr. Jooooones! Dr. Jooooones! | 19:55 | |
stevan | you throw me the idol, i throw you the whip | 19:59 | |
Corion | Adios, stupido! | 20:00 | |
stevan later finds Corion impaled by circuit boards and retrieves the sacred golden Pug | 20:01 | ||
Corion | stevan: You got the reference wrong :) It is me who finds you impaled. :) | ||
But I lose the golden Pug to some french guy | 20:02 | ||
stevan | Once again Dr. Jones there is nothing you have which I cannot posess | ||
Corion: I was blinded by the new speed of Pugs :P | 20:03 | ||
Corion | stevan: :)) | ||
... in the end, will the ghosts we unleash through the tomes of Haskell destroy us all | |||
? | |||
stevan | they might get you because you are german, but I'm an american and therefore invincable | 20:04 | |
stevan can't wait for his Haskell book to arrive | |||
Corion | stevan: But I have a cool coathanger! | 20:06 | |
stevan | but that scar on your hand is really just creepy | ||
Corion | Are there any lvalue-producing builtins yet? | ||
(I'm considering looking at making substr-lvalues work, but I need to cargo-cult the stuff, obviously) | |||
autrijus | Corion: proxyScalar is the way to go. | 20:09 | |
see Types/Array.hs for sample use. | |||
Corion goes looking | |||
Corion melts like wax in the hot sun | 20:11 | ||
I guess I should better sleep(28800) now :) | |||
good night :) | |||
autrijus | night! | ||
stevan | autrijus: I am looking at t/builtin/io/io_in_while_loops.t, and it looks like the reading past the EOF problem is fixed? is that right? | 20:14 | |
autrijus | hm. splice([], 1) is a fatal error. if someone can add a test for that, I'd be grateful | ||
stevan | autrijus: adding | ||
autrijus | stevan: I believe so, aye | ||
list context readline() is now strict. | |||
stevan | goody, I can resurect the Pod parser I was working on | 20:15 | |
autrijus waves & | |||
stevan | autrijus: is is supposed to cause the error? or is it a todo test? | 20:16 | |
nothingmuch | evening | 20:38 | |
jabbot | pugs - 2312 - Exchange skip() for eval_is() | 20:58 | |
stevan | hey nothingmuch | 21:01 | |
nothingmuch | hola stevan | ||
anyone want to help with CSS voodo? | |||
stevan | nothingmuch: I can try, but its been a while since I did much CSS | 21:02 | |
nothingmuch | okay, i'll post a demo thingy | ||
it's in hebrew, but CSS attrocities still apply ;-) | |||
stevan | LOL | ||
I warn you, my hebrew is even rustier than my CSS | |||
nothingmuch | nothingmuch.woobling.org/kelaa/demo...re.html.he | 21:03 | |
Aankhen`` | You should lowercase UTF-8. | ||
Surely that isn't so scary? :-S | 21:06 | ||
nothingmuch | i'll do that | ||
Aankhen``: the logo is giving me crap | |||
let me generate a proper png first | |||
Aankhen`` | Alright. | ||
I'm not really here though. | |||
On the computer for a little while longer before I go to sleep, but sorta busy. | 21:07 | ||
nothingmuch | okay, any suggestions on what we can do now? | ||
the navigation is hard to do right | |||
Aankhen`` | What are you trying to do? | 21:08 | |
nothingmuch | make it look right ;-) | ||
the nav items should be exploded horizontally | 21:09 | ||
Aankhen`` | Ah. | ||
You want them to expand and fill up the space? | |||
gaal | nm, a comment on the content: the visitor is given two names, kela and Byahad, with no explanation about their distinction. | ||
nothingmuch | shoshan says: kelaa is a self help group org in general | 21:10 | |
and beyahad is specificly for bipolar thingies | |||
gaal | am i suposed to know what shoshan is? | ||
who shoshan is? | 21:11 | ||
nothingmuch | shoshan is my friend, whom i'm trying to slap a website together for | ||
she's the brains behind beyahad | |||
gaal | why does kelaa need to be mentioned on this page at all? | ||
we can move to /msg if you like. | 21:12 | ||
nothingmuch | gaal: it's the parent org | ||
gaal | mention it in the text then. it shouldn't be the page's subtitle. | 21:13 | |
nothingmuch | it shoudln't | 21:15 | |
it will be fixed eventually | |||
but i'm working on presentation, not content ATM | |||
jabbot | pugs - 2313 - Added link to t/builtins/substr.t that l | 21:18 | |
Aankhen`` | G'night. | 21:31 | |
21:40
saorge_ is now known as saorge
|
|||
Juerd | autrijus: I can't go into details because I have no better suggestion, but I think disambiguation based on lack of comma sucks. | 21:55 | |
autrijus: And I'm starting to wonder why a { ... } can't just be a closure until used in hash context, at which point heuristics come into action | 21:56 | ||
autrijus: (more than one statement? runtime error) | 21:57 | ||
nothingmuch | Juerd: autrijus is supposed to be sleeping, methinks | ||
Juerd | nothingmuch: I guess he reads backlogs. | ||
I'm reacting to something he said 4 hours ago. Works well. | |||
nothingmuch | ah | 21:58 | |
jabbot | pugs - 2314 - adding failing splice test per autrijus | ||
jroc | don't all talk at once ;) | 23:21 |