|
Prelude was borken (worked around now): sial.org/pbot/11497 | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste: sial.org/pbot/perl6 | Chip needs help!!! www.geeksunite.net Set by autrijus on 4 July 2005. |
|||
| clkao | ok.. hsould use -pgmc /usr/bin/gcc-3.3 | 00:09 | |
| autrijus | allison started journaling, hurray | 00:39 | |
| use.perl.org/~Allison/journal/25576 # with my comments | |||
| clkao | apple starts svk, hurray | 00:40 | |
| autrijus | the apple team? not only tlaloc any more? | ||
| clkao | see #svk | ||
| autrijus | oh wow. | 00:41 | |
| next step: ship svk with XCode tools | |||
| wolverian | is allison he or she? | 00:43 | |
| wolverian curious | |||
| autrijus | does it matter? :) | ||
| I think she refers to herself as she. | 00:44 | ||
| wolverian | yes, since english doesn't have a real gender neutral pronoun to use | ||
| autrijus | (but then, so does ingy, sometimes) | ||
| wolverian | ah, right. thanks. | ||
| I guess it's all assumption anyway, online :) | |||
| clkao | Pugs uses Perl.org (i.e. TPF) mailing lists and IRC servers | ||
| autrijus | offline too, nowadays. | ||
| clkao checks and see we are still on freenode | 00:45 | ||
| wolverian | autrijus: true enough. | ||
| autrijus | nowadays a poor black boy can grow to be a rich white woman. | ||
| clkao: see my comment | |||
| wolverian | I actually wish it was easier. | ||
| meppl | cya autrjius | ||
| wolverian | (The Culture...) | ||
| autrijus | meppl: mm? | ||
| meppl | oh, sorry im drunken, o thougt you want to go away | 00:46 | |
| because <autrijus> offline too, nowadays. | |||
| o=I | |||
| jdv79 | what are you guys talking about - weird stuff | ||
| clkao | autrijus: leo is doing branched development, tell him about svk | ||
| meppl | silly statement :o) | ||
| my | 00:47 | ||
| autrijus | clkao: I did, and I converted chip, but leo somehow had not. he's in magnet #parrot if you'd like to play missionary | ||
| clkao | ENOTIME | ||
| autrijus | neither do I. I need to find food. bbiab & | 00:48 | |
| svnbot6 | r5300, clkao++ | Give -pgmc flag to ghc when CC is set. | 01:10 | |
| rafl | Is there a perl6 specification in EBML or something similar available? | 02:10 | |
| QtPlatypus | rafl: No | 02:13 | |
| rafl | :-/ | 02:15 | |
| QtPlatypus | If you would like you can read the specifications and convert them to that form. | 02:21 | |
| rafl | I surely won't like to do that. :-) | 02:22 | |
|
03:34
cloudnine is now known as mungekruft
|
|||
| gaal | morning! | 05:18 | |
| QtPlatypus | Morning | 05:19 | |
| mugwump | evening! | 05:24 | |
| Or, should I say, Friday night! :D | |||
| mugwump runs off to see www.johnbutlertrio.com/ | 05:26 | ||
| imMute | still friday for another 25 minutes here | 05:35 | |
| svnbot6 | r5301, mugwump++ | End the horrid āfield `_crypt_struct' has incomplete typeā message! Courtesy of Salvador Ortiz Garcia | ||
| gaal | cool! | ||
|
06:13
Maddingue__ is now known as Maddingue
|
|||
| svnbot6 | r5302, autrijus++ | * add Salvador Ortiz Garcia to AUTHORS for the _crypt_struct fix. | 06:13 | |
| r5302, autrijus++ | * a silly new retronym of Perl in README. lwall said he like it. | |||
| gaal | lol # re: polyexirec-\s | 06:17 | |
| autrijus | :) | ||
| autrijus runs to lunch | |||
| theorbtw1 | Oooh, yey, no more _crypt_struct junk! | 07:21 | |
| svnbot6 | r5303, qtplatypus++ | Adding todo checks for "foo".trans() code should follow | ||
| r5303, qtplatypus++ | shortly hopefully. | |||
| gaal | autrijus, can you direct me to an intro text on forall? can't seem to find one. | 07:24 | |
| what i did find jump straight to rank-2 polymorphism, which i think is one rank above what i want :-) | 07:25 | ||
| QtPlatypus | I thought that forall is now spelt for, or are you talking about something else? | ||
| gaal | Qt, haskell :-) | ||
| QtPlatypus | Arh | ||
| gaal | ah! i think this may be useful: haskell.org/ghc/docs/latest/html/us...sions.html (sec. 7.4.1.4 especially) | 07:27 | |
| but where's a basic explanation of the forall keyword? | |||
| nothingmuch | morning | 08:25 | |
| gaal | hey nm | 08:29 | |
| nothingmuch | cleanup time now | 08:36 | |
| Darren_Duncan | what a late night it is | 08:39 | |
| nothingmuch | gaal: m ward is ready | 08:40 | |
| gaal | m ward? | 08:41 | |
| where they keep monad-affected patients? | |||
| nothingmuch | nothingmuch.woobling.org/mward | ||
| no, it's a name | |||
| of an artis | |||
| whose CD I said I would rip for you | 08:42 | ||
| gaal | kewl. :) | ||
| nothingmuch | i forgot to tell crippple to make it abr 160, so I have no idea what bitrate it is | ||
| if it's too low, complain | |||
| if not, deal | |||
| gaal | i doubt my shit ten-buck speakers can tell the difference | 08:43 | |
| nothingmuch | i need to vaccum anyway | ||
| ah, perfect =) | |||
| gaal | i'm off till much later. see y'all. & | 08:47 | |
| theorbtw1 | What sort of music, nm? | 08:51 | |
| nothingmuch | theorbtw1: i think if you take tom waits | 08:56 | |
| and add a bit of a folkish/country attitude | |||
| err, the subset of tom waits that is "normal" ;-) | 08:57 | ||
| theorbtw1: try tracks 2 and 3, then 1... that pretty much covers the whole CD | |||
| wolverian | damn I hate downloading http directories | 09:09 | |
| I also hate nosebleeds | |||
| wolverian sleeps | |||
| nothingmuch | oh man! | 09:21 | |
| perl6 has so many features that are turning out sort of half baked | 09:22 | ||
| theorbtw1 | Hmm? | ||
|
09:22
theorbtw1 is now known as theorbtwo
|
|||
| nothingmuch | now MMD is going down the usefulness drain | 09:23 | |
| theorbtwo | Oh. | ||
| nothingmuch | it's just a generator for big given/when statements | ||
| it's order sensitive | |||
| which sucks unless you have a proper compiler taking care of that stuff | |||
| theorbtwo | NM: is C56E 126B C277 6DB7 237C 4A7C 542C 11C0 EBD2 7418 your correct fingerprint? | 09:24 | |
| nothingmuch | it's not hard to define 5-6 simple, logical rules for 'specicifity' of MMD parameter thingies | ||
| yes | |||
| but that may be just what I'm seeing on my side | |||
| it may have nothing to do with what you just typed | |||
| DUM DUM DUM!!!! | |||
| ... and for those 5-6 simple rules have order of definition be a tie breaker | 09:25 | ||
| theorbtwo | I'd prefer two simple rules: | ||
| 1) The one with the shortest PIR wins. | 09:26 | ||
| nothingmuch | but have a *REVERSE* order of definition scheme when it's not defined in the same block of code | ||
| theorbtwo | 2) The one that was defined /latest/ wins. | ||
| nothingmuch | shortest PIR? | ||
| i.e. "looks fastest"? | |||
| or 'looks simplest'? | |||
| or are you talking about the parameter stuff | |||
| theorbtwo | Looks simplest. | 09:27 | |
| nothingmuch | hmm... i'm not sure about that | ||
| a longer PIR may be a simplified version | |||
| theorbtwo | So $_ == 5 is presumably simpiler then $_ ~~ 5..10. | ||
| nothingmuch | because it doesn't call out to many other helpers | ||
| oh, of the matching PIR? | |||
| theorbtwo | Yeah. | ||
| nothingmuch | not the body | 09:28 | |
| okay | |||
| hmm... that may be unstable when the compiler changes | |||
| theorbtwo | I meant PIL, not PIR. | ||
| Yes, it might. | |||
| I'm OK with that. | |||
| nothingmuch | and you would need tests to make sure your dispatch really works like you meant | ||
| theorbtwo | Ambiguity there should be rare. | ||
| nothingmuch | hmm... but there can be weird surprises | ||
| remember that lots of "simple" things in perl 6 are complicated concepts with a lot of sugar | 09:29 | ||
| theorbtwo | True enough, I suppose. | ||
| I think a rule that is somewhat chaotic will encourage people not to rely on it. | |||
| nothingmuch | i dunno... i'm torn between the elegance of your heuristic. | 09:30 | |
| (damn . key) | |||
| and the fact that it's a bit of a perl 5 ism | |||
| (think of the tokenizer adding scores.. that's scary) | |||
| plus I think that I would really really like to have reliance on MMD semantics | |||
| theorbtwo | Oh, for parsing variables vs end-of-string in regexes? | 09:31 | |
| nothingmuch | i would say "for example" | 09:32 | |
| because i've only heard of this mess, haven't seen it with my own eyes | |||
| theorbtwo | I don't think it's as messy as you think it is. | 09:33 | |
| But yeah, it's a bit of a mess when there's ambiguity. | |||
| nothingmuch | lightstep: hackathon TLV, july 21-23 | 09:37 | |
| gaal's house | |||
| are you in? | |||
| okay, I have some semantics | 09:39 | ||
| i'll nopase | |||
| castaway_ | what, who, where? | 09:40 | |
| hey nm | |||
|
09:41
castaway_ is now known as castaway
|
|||
| lightstep | nothingmuch, (sorry, netvision) | 09:42 | |
| nothingmuch, i'd love to, but i'm not really fluent in pugs any more. are there some papers to read to catch up? | |||
| nothingmuch | lightstep: i doubt it | 09:44 | |
| theorbtwo | Try docs/talks/hw2005.{tex,txt} | ||
| nothingmuch | but come anyway | ||
| oh, good suggestion | |||
| there is lots of peripheral work too | |||
| i think you should be very interested in PIL | |||
| castaway nudges nm. | 09:45 | ||
| nothingmuch gets nudged | |||
| castaway | (ooh, uni-muenchen) | ||
| theorbtwo | Hint: it's at gaal's house, where does gaal live? | 09:46 | |
| pasteling | "nothingmuch" at 212.143.91.217 pasted "Order of definition tie breaki" (40 lines, 1.5K) at sial.org/pbot/11623 | ||
| nothingmuch | Tel Aviv | ||
| i don't exactly know where | |||
| eek, i should have provided a summary | |||
| the summary is "MMD ordering semantics" | |||
| if anyone is grokking the width/height of junctions - please explain in your own words | 09:47 | ||
| i'm not satisfied with my splain | |||
| broquaint | Is there no "standard" way to do MMD? Or does it vary from language to language? | ||
| nothingmuch | broquaint: even if there were, perl has too much more to add | ||
| junctions | |||
| roles | |||
| where clauses | 09:48 | ||
| (i forgot them, let me fix) | |||
| broquaint | But even still, I would've thought there'd be a standard model into which they could be incorporated, or am I hoping too much? | ||
| castaway | bro! | 09:49 | |
| theorbtwo | quaint! | ||
| nothingmuch | broquaint: right now they are going with order is everything | 09:50 | |
| which i think really sucks | |||
| so I'm proposing my own | |||
| broquaint | cast! | ||
| orb! | |||
| two! | |||
| away! | |||
| lightstep | i heard CLOS also has mmd. what are the advantages of using definition-order over particularity-order? | ||
| theorbtwo | I think you're misinterpreting, and it's only order-wins within where clauses. | 09:51 | |
| lightstep: Ease of implementation when you can have arbitrarly complex where clauses. | |||
| IE it's easier to not solve the halting problem. | |||
| broquaint | What do other MMD systems use? | 09:52 | |
| wolverian | inexact booleans? 0.5 true :) | ||
| lightstep | CLOS looks for the most specific definition - the one with the closer superclasses for all parameters | ||
| theorbtwo | That's good, when we are talking about subclass/superclass-based MMD. | 09:54 | |
| broquaint | I say we pass the decision off to a quantum calculation and let the universe decide! | ||
| theorbtwo | But that's only one of the methods of multi-method displatch. | ||
| castaway | displatch++ | 09:55 | |
| theorbtwo | Broquaint, if you haven't yet been told, Jess has already been snatched up for September, and I'd rather not have a 2-hour commute, so you should probably find other people to fill your empty desks. | 09:56 | |
| nothingmuch | lightstep: particularity is desirable, but hard | ||
| swith MI and stuff | |||
| i put a proposal in docs/mmd_match_order.txt | |||
| which defines some sense of particularity for perl6, which i think is sane | |||
| broquaint | Ok, theorbtwo :) | ||
| nothingmuch | svk pushing right now | 09:57 | |
| wolverian | nothingmuch, are you going to mail p6l about it? | ||
| nothingmuch | wolverian: i'd like some pugs people feedback first | ||
| preferably people who tried to write some MMD in their heads | |||
| and who like parameter matching | |||
| <plug>and whove read Class::Events</plug> | |||
| svnbot6 | r5304, nothingmuch++ | r5348@syeeda: nothingmuch | 2005-07-08 12:54:53 +0300 | ||
| r5304, nothingmuch++ | proposal for mmd match order | |||
| nothingmuch | and who think AOP is scary, and we need some kind of better way to get some of it's benefits | 09:58 | |
| oops, karma whoring | |||
| jabbot | nothingmuch: whoring has neutral karma | ||
| nothingmuch | heh | ||
| castaway | what, he had empty desks?? | ||
| nothingmuch | i wonderf if there is a way to get svk to not do that... it's very ugly too | ||
| (by default) | |||
| theorbtwo | I don't like the idea of extending it from files to compilation units; I don't like the idea of things changing because you decided to compile more at one bite for better optimization. | 09:59 | |
| The junction thing seems complicated. | |||
| nothingmuch | theorbtwo: i don't think that it's an optimization | ||
| i was trying to think up a scenario where a single block of source isn't the same file | 10:00 | ||
| theorbtwo | Can't we just say that the nonspecificty of a junction is the sum of the nonspecificty of the alternatives of the junction? | ||
| nothingmuch | and the junction thing is simple | ||
| that's exactly it | |||
| theorbtwo | Oh. | ||
| It seems like a very long way of saying it. | |||
| castaway | bro, which postcode is multimap in? | ||
| nothingmuch | ((5|6)&(7|8)) is more specific than (5|6|7|8) | ||
| because the tree that the first one draws is dee | 10:01 | ||
| p | |||
| and the tree that the latter one darws is very shallow and wide | |||
| theorbtwo | Oh. | ||
| I don't see why they should have different specificty. | |||
| nothingmuch | the first one is not even logical | ||
| but it should try first and fail | |||
| since it has an & in it | 10:02 | ||
| the more &'s you have, and the more significant they are (higher in the heirarchy) the more "specific" the junction is, IMHO | |||
| theorbtwo | Oh, now I see why that makes sense. | ||
| nothingmuch | can you please try to rephrase | 10:03 | |
| theorbtwo | Saying "I'll take 1 or 2" means that you'd accept either of 2 items. Saying "I need something that is both 1 and 2" means that you only have half an alternative. | ||
| nothingmuch | and commit? | ||
| right | |||
| and this logic is nesting | |||
| since there are parenthesis and junctions containing junctions | |||
| okay, i have a better algorithm: | |||
| each value in a junction is 1 | |||
| theorbtwo | So the specificty of an or list is the sum of the specificties of it's elements. | 10:04 | |
| nothingmuch | each junction in a junction is it's own score | ||
| & is a sum | |||
| | is an average | |||
| theorbtwo | I don't think you want average. | ||
| nothingmuch | sum / number of elems, no? | ||
| theorbtwo | 42 has a score of 1; 42|23 should have a score of 1/2, not 1. | ||
| nothingmuch | right | ||
| okay, we need some sort of quantification for nesting | 10:05 | ||
| i'm in a bit of a rush | |||
| if you can think up an algorithm please add it | |||
| i'll try to think up something, but the house is not getting cleaned | |||
| lightstep | i have another. weight of a value is 1, | is sum, & is min | ||
| nothingmuch | min? | ||
| theorbtwo | I think & wants to be 1/sum. | ||
| lightstep | minimum | 10:06 | |
| nothingmuch | oh, and low score wins | ||
| lightstep | so (1|2)&(3|4) weighs 2 | ||
| nothingmuch | okay | ||
| lightstep | since you only have 2 real options | ||
| nothingmuch | but arguably (1|2)&(3|4) is more particular than (1|2)&(any(-Inf..Inf)), but that's also 2 | ||
| theorbtwo | (1|2) and (3|4) each weigh 2, so (1|2)&(3|4) would have a weight of 1/4. | 10:07 | |
| nothingmuch | lightstep: you can use screen+irssi with your account on my machine | ||
| and my junction causes a divide by zero error at runtime ;-) | |||
| err, compile time | |||
| anyway, we can find a nice algorithm | 10:08 | ||
| theorbtwo | nothingmuch, it doesn't. | ||
| nothingmuch | i was joking | ||
| our algorithm needs to work on anything we throw at it, and it also needs to be very elegant | |||
| we'll find one... nevermind | |||
| theorbtwo | 1|2 has a weight of 2 (again), any(-Inf..Inf) has a weight of 1/Inf, which is +NaN... hm, which isn't much better. | 10:09 | |
| nothingmuch | any(-Inf..Inf) has a weight of Inf | ||
| if | is sum | |||
| theorbtwo | erxz_paste, right, sorry. | ||
| Err, right, sorry. | |||
| nothingmuch | lightstep: did you get my line about screen+irssi? | 10:10 | |
| theorbtwo | The 1/inf doesn't come in until the next step: 1/(2+Inf) | ||
| lightstep | choosing lower weights is better for this reason. but i think maybe the weight (at least of numbers) should be a range | ||
| nothingmuch, no' i'll backlog now | |||
| nothingmuch | ssh to pasta, type 'screen -U irssi' | ||
| then type '/server freenode' | |||
| then type '/join perl6' | |||
| and every time your connection dies, ssh to pasta again, and type 'screen -U -d -r', it'll be the same irssi | 10:11 | ||
| castaway | .oO( -U ?) |
||
| lightstep | i have screen&irssi here, too | ||
| nothingmuch | castaway: unicode | ||
| lightstep: but do you have a proper connection? ;-) | |||
| wolverian | what, your distro doesn't use it by default? :) | ||
| castaway | Oh, utf8 .. neat | ||
| nothingmuch | wolverian: maybe it does | ||
| wolverian: but OSX doesn't, which is why I use it always | 10:12 | ||
| lightstep | nothingmuch, as i said, nietvision | ||
| nothingmuch | lightstep: right, but running screen on a box in IL won't be too slow | ||
| but I do have a reliable connection | |||
| i'm also in NV, so the lag shouldn't be noticable | |||
| but I have a business line | |||
| theorbtwo | Tƫst. | ||
| wolverian | nothingmuch, hmm, that's odd. isn't it utf8 on the gui level? | ||
| theorbtwo | Was that an e-umlout for everybody? | 10:13 | |
| nothingmuch | anywho, lightstep, theorbtwo: i do think that a short circuiting junction scoring algo is not good enough | ||
| lightstep | irssi reconnects anyway | ||
| wolverian | theorbtwo, here it was | ||
| nothingmuch | wolverian: screen can fudge it down to ascii/isoxxxx if needed | ||
| castaway | gui? irssi is console | ||
| nothingmuch | theorbtwo: i saw the umlaut | ||
| theorbtwo | Short-circuiting? | ||
| OK then. | |||
| nothingmuch | lightstep: but you don' | ||
| wolverian | castaway, yes, I was wondering about consistency between console and gui | ||
| castaway | ah, well mine appears to be supporting it anyway.. (after switching putty over ,) | ||
| theorbtwo | I don't need a -U when in a utf8 locale on debian. | ||
| nothingmuch | t get a consistent backlog | ||
| lightstep | oh, i get it. i'll do that | ||
| nothingmuch | you should also be able to use feather, but the link to it might be slow | 10:14 | |
| castaway | who uses a gui, these days? :) | ||
| nothingmuch | anywho, i'm off | ||
| castaway: what about those days? | |||
| theorbtwo | Have fun cleaning house. | ||
| castaway | :) | ||
| castaway whistles innocently | |||
| wolverian | castaway, hmm. I do, because I haven't been able to config ion3 to my liking. :) | 10:15 | |
| castaway | (green-screens, yeah :9 | ||
| theorbtwo | Ah, good, 1/inf is 0 in Haskell. | 10:22 | |
| theorbtwo boggles... when was our GPS 38 meters /below/ sea level? | 10:24 | ||
| castaway | Ummmmm | 10:26 | |
| when it was on? | |||
| (ok silly question) | |||
| figure out where that is, maybe then you'll know ,) | 10:27 | ||
| Im going to guess canada | |||
| stuff the coords in google | |||
| theorbtwo | Northern germany. | 10:32 | |
| It's old enough that it's lost the time. | |||
| lightste1 | castaway, you can't know the geographic position based on the latitude | ||
| theorbtwo | You can't? | ||
| I have a latitude/longitude/altitude triple, that should pretty well cover it. | 10:33 | ||
| castaway | gimme the url? | ||
| theorbtwo | maps.google.com/maps?ll=53.34219,10.73369 | ||
| lightste1 | oh, i didn't see the fist two (and i meant altitude) | ||
| castaway | hmm, that didnt pinpoint much | 10:34 | |
| theorbtwo | Yes it did, you just have to hit + a lot. | ||
| N53 20 31.9 E10 44 01.3 -38.3265380859 m altitude | |||
| castaway | thats in one of the saved trips? | 10:35 | |
| theorbtwo | 16-June-01, the last point given. | ||
| castaway | June, hmm, wasnt Flensburg then | ||
| Must be.. whatsit.. | |||
| rafl | Is operator overloading currently broken? | 10:36 | |
| osfameron | $fh.pos = 10`bytes # cool, is n`units a general purpose thing? | ||
| theorbtwo | It's meant to be, osfameron. | 10:37 | |
| osfameron | cool | 10:38 | |
| broquaint | What's with the backtick in 10`bytes? | 10:39 | |
| QtPlatypus | The units operator. | 10:40 | |
| osfameron | where is it specced/discussed ? | ||
| QtPlatypus | In usenet discussions. | 10:41 | |
|
10:43
lightste1 is now known as lightstep
|
|||
| autrijus | gaal: "Sexy types in action" or just google for "sexy types" | 10:56 | |
| nothingmuch | autrijus: docs/mmd_match_order.txt | 11:05 | |
| very short | |||
| autrijus | lookin' | 11:09 | |
| nothingmuch: er | |||
| Current defined semantics are: matches are tried in order of definition. | |||
| this is not true | |||
| it's _only_ order of defition for constraint types. | 11:10 | ||
| that is "where" clauses | |||
| including value-based MMDs | |||
| nothingmuch | ugh | ||
| what about type distance | |||
| this is getting too complicated | |||
| autrijus | er, no, just two things | ||
| nothingmuch | i mean unintuitive | ||
| autrijus | static (type-distance) checks are tried first | 11:11 | |
| nothingmuch | even if sub foo (1) is sub foo (Int where { $_ == 1 }) behind the scenes, it's odd | ||
| autrijus | with duplicates rejected | ||
| dynamic (value-based constraints) are then broken as caseof statements | |||
| that's all | |||
| nothingmuch | could you look at the proposed semantics and see if the make sense | ||
| rafl | Is someone woring on an XML Parser in perl6? | 11:12 | |
| nothingmuch | rafl: to the best of my knowlege no | 11:13 | |
| rafl | OK. So I think I'll start with that now. | ||
| nothingmuch | i'd port XML::SAX to perl 6, and hook in a haskell XML parser to make it fast | ||
| autrijus: | 11:14 | ||
| ? | |||
| how far is it from my understanding of current type distance semantics, etc? | 11:15 | ||
| because I have no idea where that is specced | |||
| and I still think that order of definition for values is stupid | 11:16 | ||
| autrijus | k I'll look at it; I'll be back in a bit | ||
| nothingmuch | because if you are matching on a range, and on a value, then presumably the value in the range is a special case to simplify/optimize | ||
| and you can't add optimization to other people's code, unless you edit it, this way | |||
|
11:32
Aragone is now known as Arathorn
|
|||
| svnbot6 | r5305, nothingmuch++ | r5350@syeeda: nothingmuch | 2005-07-08 14:31:43 +0300 | 11:32 | |
| r5305, nothingmuch++ | explain more about & and depth | |||
| nothingmuch | crap | ||
| shell alias | |||
| masak | nothingmuch: i don't know if it matters much, but i would think mmd_match_order.txt belongs in docs/notes/ | 11:37 | |
| castaway kicks self.. the gps data from the canoe trip is gone | 11:41 | ||
| rafl | nothingmuch: Where's the code for your XML::SAX port? | 12:08 | |
| autrijus | masak: I moved it to notes/. | ||
| I am not sure where docs/SHOT_IN_THE_FOOT belongs. ideas? | |||
| docs/misc/? docs/humour/? | |||
| if there's no better ideas I'll leave it in docs/ | 12:09 | ||
| castaway | we can shoot ourselves in the foot with p6 already? :) | ||
| theorbtwo thinks that was implemented back on day 1. | 12:11 | ||
| autrijus | castaway: that's the plan according to mugwump | ||
| svnbot6 | r5306, autrijus++ | * reorganize notes into notes/. not sure what to do with SHOT_IN_THE_FOOT... | ||
| castaway | laudible goal :) | ||
| kolibrie | autrijus: welcome back to the land of the living | 12:13 | |
| castaway | he was dead? | ||
| kolibrie | deep sleep | ||
| for days, it seems | |||
| Arathorn | lying on top of a mountain somewhere, waiting to be rescued by an eagle? O:) | 12:14 | |
| kolibrie | something like that | ||
| autrijus | yeah :) | 12:17 | |
| kolibrie: I'm glad to be back :) | |||
| kolibrie | :) | ||
| we're glad to have you, and renewed and all that - white wizard or something | 12:18 | ||
| autrijus | I was autrijus the colorless. Now I'm autrijus the chromatic! | ||
| er, probably not | |||
| Arathorn | i think chromatic might have prior art on that one ;) | 12:19 | |
| autrijus the opaque, perhaps... or the translucent... | 12:20 | ||
| Arathorn waffles off to lunch | |||
| nothingmuch | rafl: i haven't ported XML::SAX | 12:24 | |
| it's just what I would have started with given the will to do it | |||
| rafl | nothingmuch: Oh, sorry. I didn't read careful enough. | 12:25 | |
| nothingmuch | =) | ||
| Limbic_Region | does that mean chromatic can change colors too? | 12:32 | |
| salutations all btw | 12:33 | ||
| rafl | Is there already a function in a Perl6 module that can give me the name of the directory a given file is in? | 13:03 | |
| autrijus | rafl: splitpath in File::Spec? | ||
| Aankhen`` | Hiya autrijus. | 13:04 | |
| rafl | autrijus: Right, thanks. | ||
| nothingmuch | hola robkinyon | 13:35 | |
| robkinyon | heyla, nothingmuch | ||
| stevan told me about your crazy P6 plans | |||
| :-) | |||
| nothingmuch | what crazy plans? | 13:36 | |
| no, that didn't come out right | |||
| which crazy plans? I have several =) | |||
| robkinyon | aren't you involved in the PIL -> P5 effort? | 13:37 | |
| nothingmuch | yep, sort of | ||
| i'm thinking in a diff direction now, and not writing code at the moment | |||
| robkinyon | wow, a hacker who stops and thinks | 13:38 | |
| next, you're going to tell me that you're writing down a design or something! | |||
| svnbot6 | r5307, nothingmuch++ | stupid sentance in mmd order notes | 13:40 | |
| r5308, nothingmuch++ | CHange bullet formatting - it isn't substeps, it's just details of matching | |||
| nothingmuch | robkinyon: eh... =) | 13:45 | |
| robkinyon: i think I would like PIL trees to contain combinator objects, and leaf nodes | |||
| svnbot6 | r5309, nothingmuch++ | I was overzealous with the bullets... Type matching *does* have substeps that | ||
| r5309, nothingmuch++ | define the matching of classes, superclasses and roles. | |||
| nothingmuch | leafnodes know how to stringify | ||
| combinators know how to stringify a combination | 13:46 | ||
| without a sort of big case statement for composing a tree - it's just plain old PIL | |||
| this puts an emphasis on the polymorphic properties of the PIL structure, and should force us to implement the runtime better | |||
| robkinyon | you're actually speaking greek to me right now | 13:48 | |
| i don't know anything about PIL other than it's a silver bullet to P6 parsing | |||
| robkinyon has been playing in JSland, not P6land. :-) | |||
| nothingmuch | jsland... eep | 13:49 | |
| js was alwayssufferring for me | |||
| robkinyon | with JSAN, that should change | 13:50 | |
| www.openjsan.org | |||
| nothingmuch | i hope =) | ||
| robkinyon | Once it gets off the ground, it will be pretty amazing | ||
| nothingmuch is slowly getting used to his 'svk push --verbatim' alias | 13:51 | ||
| robkinyon: if you want to get into a big bad wad of perl6 i'm nitpicking about: svn.openfoundry.org/pugs/docs/notes..._order.txt | |||
| support me on p6l ;-) | |||
| wait, it hasn't finished pushing yet | 13:52 | ||
| ok, now it's up | |||
| robkinyon is running out of available brainslots | 13:56 | ||
| svnbot6 | r5310, nothingmuch++ | Word wrap, and explanation of what is a tie for roles in type matching | ||
| nothingmuch | parameter coercion also discussed | 13:58 | |
| svnbot6 | r5311, nothingmuch++ | Detailed process of MMD parameter coercion | ||
| nothingmuch | A | 14:02 | |
| QtPlatypus watches the Tour and ponders implementing a verion of boids with bikecycles. | 14:03 | ||
| svnbot6 | r5312, nothingmuch++ | further discussion of coercion semantics with 'is rw' trait | 14:11 | |
|
14:14
cventers is now known as cventers_
14:15
cventers_ is now known as cventers
|
|||
| svnbot6 | r5313, fglock++ | Set::Functional::Span almost done | 14:39 | |
| r5314, fglock++ | renamed some classes | 14:54 | ||
| Limbic_Region notes that even with the spaceship parsing bugs fixed there are more to do | 14:58 | ||
| ?eval my %hash = map { $_ => 1; } 1..12; %ball{4} = .9; my $res = [+] %hash{1..4} <=> %hash{5..8}; $res | 15:03 | ||
| evalbot6 | Error: Undeclared variable: "%ball" | ||
| Limbic_Region | ?eval my %hash = map { $_ => 1; } 1..12; %hash{4} = .9; my $res = [+] %hash{1..4} <=> %hash{5..8}; $res | 15:04 | |
| evalbot6 | \0 | ||
| Limbic_Region | those two things aren't equal | ||
| ?eval my %hash = map { $_ => 1; } 1..12; %hash{4} = .9; my $res = ([+] %hash{1..4} <=> [+] %hash{5..8}); $res | |||
| evalbot6 | \0 | ||
| Limbic_Region | neither are those (helps when you fix the typo) | 15:05 | |
| actually - it is the pugsbugs.t tests that are wrong - autrijus - you about? | |||
| I am trying to figure out if autrijus changed the tests so they would pass for the release or if he disagrees with what the results should be | 15:06 | ||
| grrrr | 15:08 | ||
| Khisanth | eh? it's suppose to round automatically? | 15:09 | |
| Limbic_Region | no | ||
| I think autrijus misunderstood what the test results should have yielded | |||
| since they are still not parsing correctly | |||
| the tests were all originally -1 since the ball on the lhs had been made to be light | 15:10 | ||
| when autrijus "fixed" the bug, he changed the test to 0 (equal) - which they shouldn't be | |||
| so the bug isn't fixed but the tests pass | 15:11 | ||
| Arathorn | ?eval my %hash = map { $_ => 1 } 1..12; %hash{4} = 0.9; my $res = ( ([+] %hash{1..4}) <=> ([+] %hash{5..8}) ); $res | ||
| evalbot6 | Error: cannot cast from VList [VInt 1,VInt 2,VInt 3,VInt 4,VInt 5,VInt 6,VInt 7,VInt 8,VInt 9,VInt 10,VInt 11,VInt 12] to Pugs.AST.Internals.VCode (VCode) | 15:12 | |
| Arathorn blinks | |||
| so much for that experiment, then | |||
| Limbic_Region | Arathorn - the ; in the map block is required | ||
| Arathorn | oh, ok - is that a feature? | ||
| Limbic_Region | and fwiw - that will work | ||
| Arathorn | ?eval my %hash = map { $_ => 1; } 1..12; %hash{4} = 0.9; my $res = ( ([+] %hash{1..4}) <=> ([+] %hash{5..8}) ); $res | ||
| evalbot6 | \-1 | ||
| Limbic_Region | which is the way I have the code running now | ||
| see t/pugsbugs/parsing_spaceship.t for other examples of b0rk behavior | 15:13 | ||
| Arathorn | there's no way in hell i could wrap my head around the precedence of the [+]s without brackets anyway.. | ||
| Arathorn looks | |||
| Limbic_Region | the outter parens aren't necessary btw | 15:14 | |
| ?eval my %hash = map { $_ => 1; } 1..12; %hash{4} = .9; my $res = ([+] %hash{1..4}) <=> ([+] %hash{5..8}); $res | |||
| evalbot6 | \-1 | ||
| Limbic_Region | I am hesitent to change the tests back since he added another test too which I am not sure how it should behave | 15:16 | |
| rafl | How do I write a static method with perl6? | ||
| Arathorn | the [0] <=> [1] one? | 15:17 | |
| Limbic_Region | yeah | ||
| he wrote the test and had the desired result as being equal | |||
| that doesn't seem right to me | |||
| if anything, I would think it should be -1 | 15:18 | ||
| but if that creates an anon array | |||
| and you consider autoderefing | |||
| QtPlatypus | ?eval [0] | ||
| Limbic_Region | who knows | ||
| evalbot6 | [0] | ||
| QtPlatypus | ?eval [1] | ||
| Limbic_Region | helpful huh QtPlaytypus | ||
| evalbot6 | [1] | ||
| QtPlatypus | ?eval [0]<[1] | 15:19 | |
| evalbot6 | bool::false | ||
| QtPlatypus | ?eval [0]>[1] | ||
| evalbot6 | bool::false | ||
| Limbic_Region | ?eval [0] == [1] | ||
| QtPlatypus | ?eval [0]==[1] | ||
| evalbot6 | bool::true | ||
| QtPlatypus | ?eval +[0] | ||
| evalbot6 | 1 | ||
| QtPlatypus | ?eval +[1] | ||
| evalbot6 | 1 | ||
| Limbic_Region | ok - well it still doesn't make any sense to me | ||
| QtPlatypus | Ok now it makes sence | 15:20 | |
| ?eval [0,0] <=> [0] | |||
| evalbot6 | 1 | ||
| QtPlatypus | ?eval [0] <=> [0,0] | ||
| evalbot6 | -1 | ||
| Khisanth | this is comparing the size of the arrays? | 15:21 | |
| QtPlatypus | looks like it | 15:22 | |
| Limbic_Region | right QtPlatypus - I understood why it may work out that way | ||
| but that wouldn't have exposed the bug in the first place | |||
| IOW - there wasn't an issue when the two sides were equal | |||
| so I am confused as to why the test got added (in the state it did anyway) | |||
| perhaps autrijus found something else when he was bughunting - will have to wait to ask him | 15:23 | ||
| seen autrijus | 15:25 | ||
| jabbot | Limbic_Region: autrijus was seen 2 hours 21 minutes 16 seconds ago | ||
| Limbic_Region | well - he recently journaled | ||
| nothingmuch is an amazing ascii artist | 15:30 | ||
| very patient | |||
| tries over and over | |||
| the output is not amazing, but the process is ;-) | |||
| Limbic_Region | nothingmuch - are you the guy who invented a programming language that involved crayons and scribbling? | 15:31 | |
| Arathorn grins wryly at use.perl.org/comments.pl?sid=27415&cid=41722 | |||
| nothingmuch | nope | 15:32 | |
| Coke yawns | 15:37 | ||
| nothingmuch | thomas posted an interesting link | 15:40 | |
| svnbot6 | r5315, Stevan++ | Perl6::MetaModel - we now have proper SUPER:: calls, no more of that SUPER(method) stuff; changed all the tests to reflect as well; (in case anyone is wondering, look right above AUTOLOAD in Perl6::Object to see how this was done, really very simple actually); | 16:04 | |
| r5316, fglock++ | Span passes some tests | |||
| nothingmuch | stevan: ping | 16:08 | |
| stevan | hey | 16:13 | |
| nothingmuch | hola | 16:14 | |
| stevan | nothingmuch: back on your MMD soapbox I see :) | ||
| nothingmuch is thinking maybe a simple 'value' is median particularity for the junction case | |||
| stevan | FWIW, I agree with you (things rea too complex) | ||
| nothingmuch | ah | ||
| but appearantly the cabal is going to simplify some aspects a lot more than I thought | |||
| IMHO to the point of uselessness | |||
| stevan | if I cannot figure out which method MMD will choose, then its not worth it | ||
| nothingmuch | since value matches in MMD will be boiled down to a given/when, executed in order of definition | 16:15 | |
| you can figure it out | |||
| stevan | I am not sure I like the order of defintion thing | ||
| but I need to understand it more | |||
| nothingmuch | docs/notes/mmd_match_order.txt - my proposal | ||
| stevan | yes I saw | ||
| nothingmuch | larry's proposal: | 16:16 | |
| (to the best of my knowlege) | |||
| type constraints are chosen using type distance | |||
| stevan | (that makes sense) | ||
| nothingmuch | (i hope my 4th step is incorperated, because anything more complex is not easily calculated) | ||
| value constraints are taken in their order of definition | 16:17 | ||
| robkinyon | so, depending on how classes are loaded, MMD might change? | ||
| stevan | ok, let me read your proposal again | ||
| robkinyon: dont forget about the phase of the moon | |||
| nothingmuch | and they are simply matches using a big 'given / when' clause | ||
| stevan | oh and $larry[0]s whim as well :P | ||
| nothingmuch | robkinyon: yes, but not for type dispatch | ||
| which is OK | |||
| stevan | the given/when thing is not okay IMO | ||
| robkinyon | anything that depends on order of load is inherently unstable | ||
| stevan | maybe as the last thing in a type breaker | ||
| stevan reads nothingmuch's proposal & | 16:18 | ||
| nothingmuch | i think it should be a tie breaker, but I have yet to find tye cases | ||
| robkinyon | Let me repeat ... "Anything that depends on order of load in any fashion is inherently unstable" | ||
| tie breaker or not, it's irrelevant | |||
| nothingmuch | except for 5 is better than 1..10, which I define as resolved by particularity | ||
| robkinyon: i thik I agree | 16:19 | ||
| there aren't enough ties to really matter, and if they are rare, they will be surprises, and should be errors | |||
| robkinyon | MMD should be able to pick the best case or fail dramatically | ||
| as in flashing lights and sirens | |||
| either way, i have to go eat lunch. | 16:20 | ||
| robkinyon waves | |||
| stevan | nothingmuch: in your proposal | 16:22 | |
| I dont understand steps 1 - 3 | |||
| nothingmuch | sub fun (5) { } is matched by the first step | 16:23 | |
| stevan | ?? | ||
| nothingmuch | sub fun (1 .. 10) { } by the second | ||
| stevan | WTF is sub foo (5) {} | ||
| nothingmuch | it defines the action 'foo' on parameters whose value is '5' | ||
| sub factorial (1) { 1 } | |||
| makes sense? | |||
| stevan | how is that useful? | ||
| oh | |||
| nothingmuch | brb | ||
| stevan | uhm | ||
| that makes sense, but that makes more sense as : | 16:24 | ||
| multi sub factorial ($num where { $num == 1 }) { 1 } | |||
| My "where" syntax is rusty | |||
| but thats basically how I see that | |||
| you add a guard to it | |||
| like in ML or Erlang | |||
| fun factorial n = if n=0 then 1 else n * factorial(n-1) | 16:26 | ||
| that is one way to do it in ML | |||
| but the better way it to use the guard clause | |||
| fun factorial 1 = 1 | 16:27 | ||
| | factorial n = n * factorial(n-1) | 16:28 | ||
| my understanding of that is not that the first guard's arg is 1 | |||
| but that it is sugar to hide some kind of where { $n = 1 } clause | |||
| nothingmuch | back | 16:32 | |
| right but if there is a 'where' clause then it's not assured to be specific | |||
| and furthermore it's very very hard to optimize | |||
| if you define sub factorial ($num where { $num ~~ 1 .. 10 }) { }, sub factorial ($num where { $num == 1 }) { } | 16:33 | ||
| which is more specific? | |||
| that is, in a way, indistinguishable from larry's proposal, which I don't like | |||
| stevan | hmm | 16:36 | |
| ok | |||
| point taken there | |||
| I suppose for my purposes (which of course are the most important :P) I want type dispatching to be of the highest priority | 16:37 | ||
| nothingmuch | type dispatching is important, but when optimizing for simplicity or speed, you can have both | 16:38 | |
| and they work together well | |||
| that's when values come in | |||
| i doubt I will use them a lot | |||
| but for when I do want them, this is a lifesaver | |||
| dinner time | |||
| stevan | careful not so set the house on fire again :P | 16:39 | |
| jabbot seen luqui? | 16:40 | ||
| Limbic_Region | seen luqui | ||
| jabbot | Limbic_Region: luqui was seen 4 days 14 hours 24 minutes 12 seconds ago | ||
| stevan | thank you Limbic_Region :) | 16:41 | |
| Limbic_Region | walang anuman stevan | ||
| stevan | Luke is such a slacker :P | ||
| Limbic_Region has great admiration for mere mortals that continue to press for design decisions and argue for a specific direction to be chosen | 16:45 | ||
| admittedly I don't know much about language design but I find the whole process way too energy draining | |||
| stevan | Limbic_Region: that is how I thought on day one of the hackathin | 16:46 | |
| s/thin/thon/ | |||
| but by day 3 I suddenly found I had opinions :) | |||
| Limbic_Region | clear definitive answers are far and few between | ||
| stevan | Limbic_Region: this is the nature of @Larry | 16:47 | |
| :) | |||
| Limbic_Region | and the propensity to lose sight of the original question in favor of some semi-related tangent is just too darn frustrating | ||
| stevan | Limbic_Region: design by highly chaotic committee :) | ||
| Limbic_Region | *shrug* - all it means is that there is 1 less worker bee in the mix | ||
| I have wanted to help - several times | 16:48 | ||
| stevan | Limbic_Region: this is why it was soo good that Larry came to the hackathon | ||
| autrijus could corner him :) | |||
| the first night was absolutely insane | |||
| Limbic_Region | stevan - and $larry has never been known to change his mind or misremember | ||
| I don't want to sound like I am complaining - I am very much in awe of the design team as well as the pugs team | 16:49 | ||
| it just means that "helping out" is inaccessible to me | |||
| stevan | Limbic_Region: you are complaining, but about something which more people *should* be complaining about | ||
| I think the design docs really need updating | |||
| Limbic_Region | I will stick to writing p6 code that breaks pugs and commit tests exposing the bugs | 16:50 | |
| stevan | like ****REALLY**** | ||
| :) | |||
| Limbic_Region | me too | ||
| I thought I had a good reference for stubbing them out | |||
| stevan | Limbic_Region: I think your advocacy efforts are good too | ||
| Limbic_Region | turns out that it wasn't | ||
| asked for more reference material - and found that it was in the collective @larry's head | |||
| stevan | eventually it might help turn up the one person crazy enough to sift through months of p6l and update the docs | 16:51 | |
| Limbic_Region | oh - and advocacy - I am fairly effective at that | ||
| so when is the next hackathon that autrijus chip and larry will be at again together? | 16:52 | ||
| stevan | chip wasnt there | 16:53 | |
| he couldnt make it, I think something related to the geeksunite.com stuff | |||
| ingy | hi stevan | ||
| stevan | hey ingy | ||
| Limbic_Region: I am not sure if autrijus is going to OSCON, but that would be the next likely place | 16:54 | ||
| hows tricks ingy? | |||
| Limbic_Region | OSCON is too soon for me to be able to go, but now that Jean is likely not to have any problems re-entering the country I am able to travel | 16:55 | |
| ingy | pretty good. I'm in St Louis for boojum's bday | 16:56 | |
| stevan | ingy: nice | ||
| Limbic_Region: I cant do OSCON either, YAPC::NA exhausted my brownie points with the wife :) | 16:57 | ||
| kolibrie | stevan: that's too bad | 16:59 | |
| Ovid | obra: you there? | 17:00 | |
| obra | yes | ||
| Ovid | I'm working with HTTP::Server::Simple and it's causing a problem with another script when I kill that server: "system $^X, $teardown" fails and returns with "No Child Processes". | 17:01 | |
| Essentially, I background that server and later kill 9 it, but a test script later on executes an unrelated system call that returns the No Child Processes message. If I get rid of HTTP::Server::Simple, the problem goes away. | 17:02 | ||
| obra | "test script later" meaning something running under H::S::S? | ||
| you know it forks, right? so you may need to be doing something from the parent, not the forked child. | 17:03 | ||
| Ovid | No. HSS is run in one test scripts and then killed in that test script. Later on, a program which calls the test script is getting that error message. | ||
| Well, I have a $server->background command and later, in the parent, I issue a kill 9. Is this wrong? | 17:04 | ||
| obra | somewhat | ||
| Ovid | (And thanks for HSS, by the way. Great module) | ||
| obra | perhaps you want Test::HTTP::Server::Simple to cleanly kill the server ;) | ||
| thanks. I'm glad you find it useful | |||
| Aankhen`` | ?eval sub foo (::class) { ::class.new(10) }; foo(Int) | 17:05 | |
| evalbot6 | Error: unexpected ")" expecting word character, "?", "*", "+", "++" or parameter name | ||
| Aankhen`` | ?eval sub foo (Any ::class) { ::class.new(10) }; foo(Int) | ||
| evalbot6 | Error: No compatible subroutine found: "&new" | ||
| Aankhen`` | ?eval sub foo (Any ::class) { ::class }; foo(Int) | ||
| evalbot6 | ::class | ||
| Aankhen`` | ?eval sub foo (Any ::class) { ::class.ref }; foo(Int) | 17:06 | |
| Limbic_Region | kill 9 is almost never the right thing to do | ||
| evalbot6 | ::Type | ||
| Aankhen`` | ?eval my %foo = (a => "b", c => "d"); gather { take ($k, $v) for %foo.kv -> $k, $kv; } | 17:07 | |
| evalbot6 | Error: unexpected ">" expecting operator, ";" or "}" | ||
| Aankhen`` | ?eval my %foo = (a => "b", c => "d"); ($k, $v) for %foo.kv -> $k, $v | ||
| evalbot6 | Error: unexpected ">" or "-" expecting operator, ";" or end of input | ||
| Ovid | Thanks for the help, obra. I'll try that module. | 17:08 | |
| Limbic_Region: kill 9 seemed wrong, but that's what is being done in the tests for HTTP::Server::Simple. I just used those as my guide. | |||
| nothingmuch announce his return frm doing the dishes | 17:11 | ||
| stevan: ping | 17:12 | ||
| chip | seen autrijus | ||
| jabbot | chip: autrijus was seen 4 hours 8 minutes 31 seconds ago | ||
| svnbot6 | r5317, Aankhen++ | HTTP::Headers: | ||
| r5317, Aankhen++ | * made &BUILD a submethod. | |||
| r5317, Aankhen++ | * added &redirect (class method) as equivalent for &CGI::redirect. | |||
| Aankhen`` | WB nothing_pasta. | ||
| Er, nothingmuch. | |||
| chip | Anybody know offhand the way you're supposed to specify the difference between named parameters and pairs to be passed into e.g. a slurpy array? | ||
| Aankhen`` | foo(a => "b", c => "d"); # named parameters | 17:13 | |
| foo(slurpy_array => (a => "b", c => "d")); # slurpy array | |||
| Or, better: | |||
| foo() <== (a => "b", c => "d"); | 17:14 | ||
| chip | OK, thanks, but consider the case when the declaration of foo is not in scope | ||
| Is the latter syntax guaranteed to work anyway? | |||
| And given sub foo($a,$b,$c) is it even legal to say foo(c=>3, 1) ? If so, what does it mean? | 17:15 | ||
| nothingmuch | chip: that assumes the parameter name slurpy_array, e.g. sub foo (*@slurpy_array) | ||
| Aankhen`` | I'm lagging, so I'm not sure which one you mean by "the latter". The <== form? | ||
| nothingmuch | i'm not sure | 17:16 | |
| Aankhen`` | chip >> foo(c=>3, 1) is not legal. | ||
| nothingmuch | maybe the pair is flattenned | ||
| Ovid | Test::HTTP::Server::Simple doesn't play well with Test::Class :( | ||
| chip | Aankhen``: yes, the <== form. I assume it has to work even if sub foo isn't declared yet | ||
| nothingmuch | no, it probably isn't | ||
| Aankhen`` | You have to specify parameters in this order: required parameters, optional parameters, and then named parameters. | ||
| obra | Ovid: how so? | ||
| nothingmuch | oh, <== is basically 'stuff these into the first slurpy thing' | ||
| or maybe the only slurpy thing | |||
| chip | That implies that there is some way to name "the first slurpy thing" in the calling convention whether or not the declaration of &foo is available. Probably not my (Parrot's) problem though. | 17:17 | |
| Aankhen`` | S06: "The variadic array of a subroutine call can be passed in separately from the normal argument list, by using either of the "pipe" operators: <== or ==>." | ||
| Ovid | It works with started_ok, but that has to go into the Test(startup) method, but that method is not allowed to have tests. This causes the test script to fail even though all tests pass. | ||
| chip | Aankhen``: thanks | ||
| svnbot6 | r5318, Aankhen++ | * made HTTP::Request compile. | ||
| Aankhen`` | No prob. | ||
| Ovid | Test(startup) is called only once at runtime. | ||
| theorbtwo | Anybody with a paid LJ account? livejournal.com/syn/, fill in use.perl.org/~leo/journal/rss/ in the form at the bottom. | ||
| obra | patches appreciated | ||
| Aankhen`` | Hmm, strange... could anyone try tracking down the parsing bug in ext/libwww-perl/lib/HTTP/Response.pm? | 17:18 | |
| Ovid | obra: I don't know much about signals, hence my problem. I'll keep digging, though. | ||
| Aankhen`` | Err. | 17:19 | |
| Cancel that order! | |||
| stevan | nothingmuch: pong | 17:20 | |
| nothingmuch | hey stevan | 17:21 | |
| Aankhen`` | Line 58 of HTTP::Status is a really nice replacement for concatenating strings of code and eval()ing them, IMHO. | ||
| nothingmuch | want to continue our discussion? | ||
| stevan | nothingmuch: sure | ||
| Aankhen`` | (that, of course, assumes it will work as expected :-P) | ||
| stevan | nothingmuch: even better, how about we prototype stuff in the metamodel? | 17:22 | |
| nothingmuch | that was what I was trying to make you do =) | ||
| stevan | the ::Method classes could use some work | ||
| nothingmuch | specifically the type based multimethod | ||
| stevan | nothingmuch: uhm | ||
| nothingmuch | i'll implement code signatures | ||
| stevan | nothingmuch: okay, we can do that | ||
| nothingmuch: why don't you sketch out the signature part first | 17:25 | ||
| I need to see what you are thinking | |||
| nothingmuch | okay | ||
| did you grok step 4? | |||
| stevan | yes | ||
| how/when do you want to measure type distance? | 17:26 | ||
| in other words, should I add something to the metamodel? | |||
| or the ::MetaClass to be exact | |||
| nothingmuch | this is easy | ||
| stevan | I know | ||
| nothingmuch | you just don't allow MI | ||
| stevan | but who's responsibility is it | 17:27 | |
| nothingmuch | and type distance is the number of ISAs you traverse to get to the thing | ||
| stevan | you can still do it with MI | ||
| nothingmuch | uh, maybe the metamodel can have a 'link' method | ||
| you can do that with MI | |||
| but if you have a shortname | |||
| let's look at this: | |||
| svnbot6 | r5319, Aankhen++ | * HTTP::Response should `require` URI instead of `use`ing it. | ||
| nothingmuch | method bark (Animal) { print "moo" } | ||
| method bark (Dog) { print "moo" } | |||
| that's OK, Dog is a specification | |||
| but let's say you have a Chiadog | 17:28 | ||
| which also inherits Tree | |||
| chip . o O ( not "multi method"? ) | |||
| nothingmuch | method bark (Tree) | ||
| Aankhen`` | ?eval class Foo { method bar () { ./baz(); } method baz () { "&baz was called"; } }; Foo.new.bar | ||
| evalbot6 | '&baz was called' | ||
| nothingmuch | i don't write multi method as a political statement ;-) | ||
| stevan | :D | ||
| nothingmuch | anyway, if there was no 'bark' on 'Dog', only 'Tree' and 'Animal' | 17:29 | |
| Aankhen`` | ?eval class Foo { method bar () { .baz(); } method baz () { "&baz was called"; } }; Foo.new.bar | ||
| evalbot6 | '&baz was called' | ||
| Ovid | obra: Test::HTTP::Server::Simple can work with Test::Class. My bad. Doesn't solve the problem, but at least it's cleaner than what I had. | ||
| nothingmuch | or in that sense, there were any two superclasses, from separate lineages, competing for an argument | ||
| then this is an error | |||
| if it can be detected by the compiler pre-resolving things, that's also good | |||
| stevan | ok | 17:30 | |
| so $chiadog.bark() would likely hit Tree::bark() because it is a shorter distance | |||
| nothingmuch | type inferrence might make such errors/warnings possible | ||
| and you could also just check MMD sigs against all compiled classes at the end of compilation, and generate warnings for things like that | |||
| no, it's an error | |||
| stevan | no i understand that | 17:31 | |
| but if it wasnt an error, that would happen | |||
| nothingmuch | oh | ||
| uh, i don't know | |||
| the lineage might be Tree -> SmallTree -> HousePlant -> ChiaPet -> ChiaDog | |||
| and Animal -> Dog -> ChiaDog | |||
| i usually won't remember writing code, which is why i want it to be an error =) | 17:32 | ||
| stevan | ok | ||
| I dont think that should be an error | 17:33 | ||
| svnbot6 | r5320, Aankhen++ | * HTTP::Message: replace `.foo` with `./foo` where appropriate. | ||
| stevan | what is wrong with the distance thing? | ||
| nothingmuch | stevan: distance tends to be dangerous | 17:34 | |
| in the sense that you shouldn't really care about anything but the things you explicitly put in your ISA | |||
| if someone refactored ChiaPet | |||
| and made the SmallTree and HousePlant classes, suddenly Tree is much farther | 17:35 | ||
| why should ChiaDog's code know? | |||
| if you explicitly resolve this (by adding something to the call, like bark(Tree<$chia_dog>) or something | |||
| then it's not an issue | |||
| stevan | ok | 17:36 | |
| point taken | |||
| ($chiadog as Tree).bark() | |||
| ($chiadog as Dog).bark() | 17:37 | ||
| nothingmuch | .as is something else... i thought about it for a second, but then remembered =) | 17:38 | |
| stevan | yes I know | ||
| svnbot6 | r5321, Aankhen++ | HTTP::Request: | ||
| r5321, Aankhen++ | * replaced `.foo` with `./foo` where appropriate. | |||
| r5321, Aankhen++ | * used `given ($self)` properly. | |||
| r5322, Aankhen++ | * HTTP::Request: use `../foo` where appropriate. | |||
| stevan has to start karma whoring more with his commit messages :) | |||
| nothingmuch | use svk push --verbatim | 17:39 | |
| stevan | karma Stevan | ||
| jabbot | stevan: Stevan has karma of 46 | ||
| nothingmuch | jabbot punnished me for that today ;-) | ||
| stevan | karma stevan | ||
| jabbot | stevan: stevan has karma of 46 | ||
| nothingmuch | karma nothingmuch | ||
| jabbot | nothingmuch: nothingmuch has karma of 76 | ||
| nothingmuch | that i don't understand.. i haven't committed in ages | ||
| stevan | perlbot karma stevan | ||
| perlbot | Karma for stevan: 174 | ||
| stevan | perlbot karma Stevan | ||
| perlbot | Karma for Stevan: 174 | ||
| stevan | ok, so it's case insensitive, cool :) | ||
| nothingmuch | perlbot karma nothingmuch | 17:40 | |
| perlbot | Karma for nothingmuch: 129 | ||
| nothingmuch | ah, that is more to scale | ||
| albeit disappointing ;-) | |||
| Limbic_Region | perlbot karma for Limbic_Region | 17:42 | |
| perlbot | Karma for Limbic_Region: 44 | ||
| Limbic_Region | so much for trying to keep my karma neutral | ||
| svnbot6 | r5323, Aankhen++ | HTTP::Response: | 17:43 | |
| r5323, Aankhen++ | * replaced `.foo` with `./foo` where appropriate. | |||
| r5323, Aankhen++ | * replaced `.SUPER::foo` with `../foo` where appropriate. | |||
| r5323, Aankhen++ | * fixed erroneous `if` condition. | |||
| nothingmuch | Limbic_Region-- # because you're such a nice guy | 17:44 | |
| Limbic_Region | thanks nothingmuch | 17:45 | |
| I have decided to stop waiting for autrijus and just modify the spaceship parsing bug tests to re-expose the bug | |||
| Limbic_Region hopes it was just an oversight on autrijus' part | |||
| Aankhen`` | Whew... that was tedious. | 17:47 | |
| svnbot6 | r5324, Limbic_Region++ | Parsing spaceship operator is still broke so modified tests to reflect | 17:48 | |
| r5325, Aankhen++ | HTTP::Headers: | |||
| r5325, Aankhen++ | * replaced `.foo` with `./foo` where appropriate. | |||
| r5325, Aankhen++ | * fixed &coerce:<as>. | |||
| Aankhen`` | WB Mr. much. | 17:49 | |
| nothingmuch | hola Aankhen`` | ||
| Aankhen`` | What's shakin'? | ||
| nothingmuch is trying to make irssi settings stick | |||
| Aankhen`` | Ah. | ||
| nothingmuch | not much | ||
| nothingmuch is fussing over MMD in p6l | |||
| aside from that just slacking | 17:50 | ||
| Aankhen`` | I noticed. :-) | ||
| nothingmuch++ # for trying to make sure MMD is done The Right Way (tm) ;-) | |||
| nothingmuch | is it the right way? | ||
| Aankhen`` | I dunno, but apparently you seem to care enough. :-) | ||
| nothingmuch | sometimes I think I may be fussing too much over things I shouldn't fuss over | ||
| that is, I care a lot | |||
| but others don't seem to | 17:51 | ||
| they don't make arguments against it, but they don't say 'yes' either | |||
| brb | |||
| woo! it's working | |||
| Aankhen`` | Well, I personally have the feeling that I fuss too much over most things. | 17:52 | |
| (such as grammar) | |||
| But the way I see it, someone has to care. It might as well be me, since I am interested. :-) | |||
| nothingmuch | =) | 17:57 | |
| masak | nothingmuch++ # for caring and fussing | 18:13 | |
| nothingmuch | masak, Aankhen``: thanks... Help me by making a slightly bigger fuss on p6l? | 18:14 | |
| stevan | masak++ # for encouraging him :P | ||
| *cough* warnocked *cough* | |||
| Aankhen`` | nothingmuch >> I am wary of posting since I am not very knowledgeable about the subject. | ||
| stevan | Aankhen``: just say "Yeah, what he said" :) | 18:15 | |
| Aankhen`` | Heh. | ||
| Shall I just +1 it? | |||
| nothingmuch | well, if you sound like an idiot, but make a big issue of the subject | ||
| and I sound OK | |||
| then we have both an opionion, and an issue | |||
| =D | |||
| Aankhen`` | Heh. | ||
| Which thread of discussion should I kick up a fuss in? | 18:16 | ||
| masak | i'm not really aware of what fuss you're talking about :) | ||
| nothingmuch | Hackathon notes | ||
| masak | is it about mmd? | ||
| Aankhen`` | The "Hackathon Notes" one? | ||
| OK. | |||
| nothingmuch | masak: MMD semantics | ||
| yes and yes ;-) | |||
| masak | :) | ||
| explain to me what's important | |||
| masak is just seeing fuss | 18:17 | ||
| Aankhen`` | I'm just saying +1. | ||
| nothingmuch | masak: we won't get any particularity semantics for anything but types | 18:18 | |
| masak | for example...? | ||
| nothingmuch | that is 'sub foo (1 .. 10) {... }; sub foo (5) { die "i'm never called" }' | 18:19 | |
| stevan | nothingmuch: you could put your shekels where you mouth is, and implement it in the metamodel :P | ||
| nothingmuch | since 1..10 is tried before 5, even though it isn't as particular | ||
| stevan: will do, i'm fussing with irssi ATM. | |||
| stevan | nothingmuch: excuses, excuses | ||
| masak | :) | 18:20 | |
| nothingmuch | yeah, but at least it's an honest excuse ;-) | ||
| masak | nothingmuch: most languages i know go by declaration order | ||
| that seems to be the easy way out | |||
| stevan | masak: there is also static code analysis | ||
| but Perl wont do that | |||
| nothingmuch | masak: declaration order sort of sucks, because you can't append a method that deals with a special case | 18:21 | |
| you have to prepend it | |||
| which means you need access to the original code | |||
| which might not be there, since we're going to have real compilation | |||
| stevan | or in C++ where they just change the function names | ||
| nothingmuch | look at Class::Events | 18:22 | |
| it's my canonical example | |||
| masak | nothingmuch: you have a point there | ||
| nothingmuch | you bundle up code in a module | ||
| it contains two classes - a subscription class, and a notification class | |||
| the rest is handled by the generic code | |||
| however, it's silly to filter a list of subscription for named events | |||
| so the name package adds an MMD get_subscriptions to the Publisher role | |||
| masak | nothingmuch: but i think you need to make your solution as intuitive as possible, to show the advantages clearly | 18:23 | |
| nothingmuch | which uses a hash insstead | ||
| that example shows how the generic solution is unhindered by the extending code | |||
| how the extending code can benefit from generic code that it doesn't change | |||
| masak | ah, ok | ||
| nothingmuch | and how everything can stay clean and very very simple | ||
| but not inefficient | |||
| it's about 200 lines altogether, with lots of whitespace | |||
| masak | there's some pattern matching in there somewhere, isn't there? | 18:24 | |
| at least you need to determine the relative specificity of expressions | |||
| nothingmuch | masak: type distance only, in Class::Events | 18:25 | |
| masak | what's type distance? | ||
| nothingmuch | but this is useful also with values | ||
| ChiaDog is Dog is Animal | |||
| ChiaDog is Tree | 18:26 | ||
| masak | and in case of a tie? | ||
| nothingmuch | sub bark (Dog $dog) { } | ||
| err, method | |||
| method bark (Animal $dog){ print "moof" } | 18:27 | ||
| sorry, , phone | 18:29 | ||
| masak: basically it means that 'Dog' is more particular than 'Animal' in the case | |||
| so $chiadog.bark() will use 'bark (Dog)' | |||
| we have this this with types | 18:30 | ||
| but we won't have it with values, unless we fuss | |||
| masak | what happens if no supertype is closer than the other(s)? | 18:31 | |
| masak guesses that other precedence rules kick in | 18:32 | ||
| nothingmuch | that's what I'm trying to define | 18:33 | |
| basically we have 'uh, definition order counts' | |||
| and 'type distance should solve that' | |||
| that's it | |||
| masak | :) | ||
| gotta go | |||
| nothingmuch | ciao | ||
| masak | nothingmuch: good luck with mmd | ||
| cwest | seen autrijus? | 18:35 | |
| jabbot | cwest: autrijus was seen 5 hours 31 minutes 36 seconds ago | ||
| cwest | nothingmuch: Do you have bandwidth/space to host a JSAN mirror? | ||
| nothing_pasta | yes | 18:36 | |
| for starters at least | |||
| cwest | Right. | ||
| nothing_pasta | 278 kilobits out | ||
| space is not an issue | |||
| and leeching is not a problem | |||
| cwest | cool. | ||
| I need to get some global mirroring going. | |||
| No multiplex yet. | |||
| Let me get some docs on the site and I'll point you to them. | |||
| This will be today. | 18:37 | ||
| Bottom line is 1) rsync 2) static website 3) needs to run from / | |||
| so host.domain.com or something. | |||
| nothingmuch | okay | ||
| login? | 18:38 | ||
| cwest | nah | ||
| nothingmuch | jsan.woobling.org | ||
| cwest | Yeah, that'd be great. | ||
| I'll update you soon. | |||
| /usr/local/bin/rsync -avz rsync://openjsan.org/jsan /usr/local/apache/jsan | 18:41 | ||
| nothingmuch: That's it if you just want to start. | |||
| I'd keep it at 6/12 hour intervals, changes are made a coulpe times a day. | |||
| nothingmuch | rsync is cheap | ||
| 6? | |||
| cwest | yeah, that's cool. | 18:43 | |
| I may change the explicit host to be master.openjsan.org, we'll see. | |||
| Also, run with --delete and you won't keep cruft. | |||
| nothingmuch | it's pretty small | 18:44 | |
| want more frequent intervals? | |||
| cwest | If you want to go with 1h I'm cool. | 18:46 | |
| I'm going to change the official host to be master.openjsan.org, I'll let you know when that happens. | |||
| nothingmuch | make it a mirror at the moment? | 18:47 | |
| jsan.woobling.org is up | 18:49 | ||
| cwest | nice | 18:50 | |
| nothingmuch++ | |||
| nothingmuch | does it need any directly listing options? | 18:52 | |
| cwest | I prefer indexes on dist/ | ||
| that's it | |||
| nothingmuch | okay | ||
| cwest | also, if you got a src/ dir, please run again with --delete. | ||
| I don't want to destribute that yet. | |||
| nothingmuch | i did that now | ||
| cwest | *nod* | 18:53 | |
| nothingmuch | i was surprised at the deletes | ||
| cwest | heh | ||
| yeah. | |||
| nothingmuch | ok, rsync from cron is working | ||
| making it hourly | |||
| cwest | there's some XSI problems with a 'browse dist' when javascript is involved. | ||
| You rock. | |||
| nothingmuch forgets his apache-config-fu every time | 18:55 | ||
| okay, indexes enabled just on /dist/ | 18:57 | ||
| cwest | you rock. | ||
| nothingmuch | i hope I can resist the surge of babes | 18:58 | |
| are mirror hosters popular? | |||
| cwest | heh | 18:59 | |
| Not usually, if you mean traffic wise. | |||
| nothingmuch | no, i mean babe wise | 19:00 | |
| ;- | |||
| cwest | But if /. hits this DNS is going to CNAME all my mirror's asses in a flash. | ||
| nothingmuch | ) | ||
| cwest | Oh. | ||
| Well, beats me. :-) | |||
| nothingmuch | hah | ||
| i can take it, i have mod_deflate ;-) | |||
| cwest | I'm married so I solved that problem already. | ||
| nothingmuch | and traffic shaping too | ||
| cwest | Cool. | ||
| I should do some of that for the main site. | 19:01 | ||
| nothingmuch | yeah, limits HTTP so I still have 2k left for TCP acks | ||
| wondershaper | |||
| tis tres easy | |||
| cwest jots that down | |||
| nothingmuch | crap, i just realized you can't have umlauts if option is the meta key | ||
| how do you run a js test suite? | |||
| prove launches mozilla? | |||
| cwest | bah, freebsd is my king, probably won't work | ||
| nothingmuch | i wrote a trafic shaper for bsd fw | 19:02 | |
| cwest | send it to me :-) | ||
| nothingmuch | one sec | ||
| it's in perl, so you probably don't want to give it more than 100KBps ;-) | |||
| cwest | [email@hidden.address] | ||
| heh. I don't have that to spare so I think I'm safe. | 19:03 | ||
| nothingmuch | perlmonks.org/?node_id=296660 | ||
| cwest | oh, even better | ||
| nothingmuch | oh crap, it's on code craft, so documentation is deliberately omitted ;-) | 19:04 | |
| cwest | no worries. Could you change the rsync host to master.openjsan.org? | 19:06 | |
| nothingmuch | cwest: ask Juerd to host you a mirror too | ||
| yep | |||
| cwest | Where's he? | ||
| nothingmuch | seen Juerd | ||
| jabbot | nothingmuch: Juerd was seen 2 days 22 hours 58 minutes 23 seconds ago | ||
| cwest | Oh, I meant physically :-) | 19:07 | |
| nothingmuch | netherlands | ||
| also ask pair.com, they are generous when it comes to donating boxes/bw | |||
| cwest | I am pair.com. | ||
| nothingmuch | and playboy.com - they host a cpan mirror, and I bet their websites have "active" content | 19:08 | |
| cwest | They may be giving me a server for the master site. (My employer, they) | ||
| nothingmuch | ah | ||
| so why do you need mirrors?! | |||
| cwest | Because their hosting is too expensive for me. ;-) | ||
| nothingmuch | hah | ||
| cwest | And because when /. overloads a server they just firewall the site off the intarweb. | ||
| nothingmuch | it's supposed to be free when you have both connections and a cause | ||
| cwest | I'd rather make dns adjustments to my mirrors, if/when that happens. | ||
| nothingmuch | okay | ||
| fair enough | |||
| cwest | I hate the /. effect when it's "Hey look at that cool thing. Oh, I killed it. Pity." | 19:09 | |
| nothingmuch | ping awwaiid, he has a non-profit (that is, you pay for the costs) hosting company | ||
| epfarms | |||
| cwest | *nod* | 19:10 | |
| I've got friends at a local isp, they gave me colo space. | |||
| So I'm good for now. | |||
| I may be good for all time. | |||
| But I want the mirrors for when people start building installers like cpanp and such. | |||
| Because eventually that'll happen. | |||
| nothingmuch | does the installer have to be written in JS? | 19:11 | |
| cwest | your rsync from master. might fail. | ||
| dns was just set up. | |||
| nothingmuch | because if not, stevan and I made Verby for writing installers | ||
| cwest | it doesn't have to be :-) | ||
| nothingmuch | minutely crontab mails me result of -avz, we'll see when it starts working | ||
| cwest | The way I see it, an installer just reads META.yml for deps and puts lib/* into the PREFIX you choose. | ||
| I'll probably write one for myself not too long from now. | |||
| nothingmuch | so write it with Verby | 19:12 | |
| =D | |||
| you have to look at it, or i'm taking jsan.woobling.org down randomly | |||
| cwest | hee | ||
| show me | 19:13 | ||
| and also I'm hoping autrijus shows up so I can get some east asian goodness from him. | |||
| nothingmuch | ask ingy who whosts tpe.freepan.org | 19:14 | |
| cwest | *nod* | ||
| ingy | hola | 19:16 | |
| cwest | heya | ||
| ingy | what is up? | ||
| cwest | nslookup master.openjsan.org | ||
| well anyway | |||
| nothingmuch | nslookup is depracated | ||
| cwest | ingy: want to host a JSAN mirror? | ||
| ingy | cwest: sounds cool | 19:17 | |
| cwest | as soon as dns propigates, /usr/local/bin/rsync -avz --delete rsync://master.openjsan.org/jsan /usr/local/apache/jsan | ||
| ingy | need to talk to my peeps on #freepan | ||
| cwest | Should I do that? | ||
| ingy | no | ||
| cwest | okay | ||
| well it's easy, rsync once every (1|6|12|24) hours. It needs a vhost, and as I think I said it's all static. | 19:18 | ||
| no? well it's all static. | |||
| dns is on its way round the world, so when everything updates you can get from master.openjsan.or | 19:19 | ||
| s/or/org/ | |||
| (sorry for messing up #perl6 with all this JS junk :-) | |||
| however, I must say, the rapid development of pugs was inspiring to me for this project | 19:20 | ||
| obra | cwest: are you signing md5hashes of all the dists? | 19:27 | |
| cwest | no, maybe I should be | 19:29 | |
| since we now have mirrors. | |||
| nothingmuch | right =) | 19:30 | |
| obra | also, we should talk about bug tracking | ||
| nothingmuch | obra++ | ||
| cwest | Yeah, I was going to set up RT but I'd like to do the per-dist RT thing, in a recent version. | ||
| robkinyon | obra: we need to talk about install procedures, first | ||
| nothingmuch | obra: do you set up rt sites like, for people, for free? ;-) | ||
| people like me, for example? | |||
| fglock | how to test if 2 objects belong to the same class? | 19:31 | |
| cwest | irc.perl.org/#jsan for further jsan stuff mkay? | ||
| obra | nothingmuch: for what project? ;) | 19:33 | |
| I have an intern who's about to start working on the new rt.cpan. | |||
| Limbic_Region | fglock - ref ? | 19:34 | |
| obra | cwest: so, it'll be a matter of writing another import tool, I hope | ||
| fglock | i tried $a.isa( $b.meta ) but it complains | ||
| Limbic_Region | well - as in p5, I am not sure ref is the best way, but it should work in the majority of cases | ||
| fglock | thanks | 19:35 | |
| Limbic_Region | walang anuman | 19:36 | |
| fglock | although it may break on inheritance | ||
| Limbic_Region | I am sure there will be a better way if there isn't already | ||
| cwest | obra: cool | 19:37 | |
| Limbic_Region really isn't up to speed on p6 OO and introspection | |||
| gaal | hi all | 19:39 | |
| Limbic_Region | salutations gaal | 19:40 | |
| gaal | hey l~r | ||
| Limbic_Region | out of curiosity - should tests for unimplemented features like t/builtins/strings/trans.t be eval'd or todo'd or something? | 19:43 | |
| gaal | :todo<feature> | ||
| and sure, maybe eval_is too, if they don't parse | |||
| see t/README | |||
| Limbic_Region | they are marked todo | 19:44 | |
| hmmm | |||
| svnbot6 | r5326, luqui++ | Added a few more notes. | ||
| nothingmuch | obra: mostly for a personal TODO list + my projects | ||
| for 50% of my project there's rt.cpan.org, but I don't use it that often | 19:45 | ||
| i need it on my localhost | |||
| but I also want it as a wiki | |||
| obra | what do you need out of it on localhost? | ||
| and what about the wikiness do you want? | |||
| nothingmuch | so there's no authentication or processes, and that's where rt doesn't fit in the picture | ||
| obra | _no_ auth? | ||
| nothingmuch | because I want it fast and disconnected | ||
| obra | but also possibly visible to others? | 19:46 | |
| nothingmuch | basically every bug, event, whatever is a wiki page | ||
| completely open | |||
| obra | you're daring | ||
| nothingmuch | (in my scenario, there's just no auth, because it's just me) | ||
| obra | *nod* | ||
| nothingmuch | wiki pages have some keywords | ||
| if you have an | |||
| 'event <<some_date>>' in the page | |||
| it shows up on the calendar | |||
| obra | you've looked at backpack? | ||
| nothingmuch | if it's title contains 'BUG:' it's an issue | ||
| if the first or last word is 'closed', it doesn't show up on the pending list | 19:47 | ||
| if it has unidiffs attached it shows up eralier ;-) | |||
| what's backpack? | |||
| obra | backpackit.com | ||
| I don't think you want that much dwimmyness | |||
| nothingmuch | if it looks like a TODO i have an interface to check it off | ||
| obra | it leads to things being a little hard to use. | 19:48 | |
| nothingmuch | right, that's the problem | ||
| it's the kind of software you write for yourself | |||
| and I won't get around to it ;-) | |||
| gaal | nothingmuch: you know, your MMD concerns would make a great Israel.pm talk if you want to give one sometime. | ||
| nothingmuch | hmm... i don't see how | 19:49 | |
| gaal | present a problem | ||
| show approaches | |||
| explain why yours wins :) | |||
| nothingmuch | hah | ||
| stevan | fglock: $a.isa( $b.meta ) wont work, since .meta will return the metaclass, and not hte class name | ||
| gaal is hoping to finally understand it :-) | |||
| nothingmuch considers | 19:50 | ||
| stevan | fglock: $a.isa( $b.ref ) should work for now | ||
| fglock: $a.isa( $b.ref ) || $b.isa( $a.ref ) if you want to check "both ways" | |||
| nothingmuch | obra: baackpackit looks almost like what I want | 19:51 | |
| obra | *nod* | ||
| stevan | gaal: it will likely be easier to understand when nothingmuch is finished with implementing it in the prototype metamodel | ||
| obra | nothingmuch: it may be worth trying it a bit | ||
| stevan | right nothingmuch ?? *hint* *hint* | ||
| gaal | wait, nothingmuch said moosish on p6-l. i think i'll undersatand everything from now on. | ||
| nothingmuch | stevan: uh, yes | 19:52 | |
| gaal++ | |||
| gaal | moose++ | ||
| nothingmuch | i didn't even notice i did that | ||
| your brainwash is amazing | |||
| obra: i need everything in one big system | |||
| like 'call foo' becoming my front page when I put it in, and i haven't ticked it off for 3 days | |||
| because the 'call name' pattern does that | |||
| for example | |||
| it's basically my life, but in a wiki | 19:53 | ||
| obra | nothingmuch: makes plenty of sense | ||
| I want it too | |||
| nothingmuch | let's get ingy to write it | 19:54 | |
| awwaiid promised me he'll do something like that | |||
| and he did, to some extent | |||
| but only for issue tracking | |||
| nothingmuch tries backpack | 19:55 | ||
| obra | what is it for issue tracking? | 19:56 | |
| nothingmuch | he hacked up oddmuse wiki | ||
| it basically has the issue aggregation stuff, with state keeping | |||
| Limbic_Region | out of curiosity - is anyone using "state" declared variables - at all? | 19:58 | |
| nothingmuch hasn't used it yet | 19:59 | ||
| i keep forgetting it existrs | |||
| Limbic_Region | in thinking about the problem of cache variables in p5 - I think it would be a nice improvement | 20:00 | |
| nothingmuch | obra: backpack doesn't have one thing: automatic aggregation of pages into meaningful data | ||
| obra | nothingmuch: correct | ||
| Limbic_Region | you have a cache that belongs to a particular sub - you don't have to pass it in each time, or declare package level variable, or weird closure tricks | ||
| just declare it with state | |||
| nothingmuch | Limbic_Region: good point =) | 20:01 | |
| i think I wrote an email with an example sub that had a cache, but never really used one myself | |||
| Limbic_Region++ | |||
| i'd like to be able to do one more thing | |||
| create an aggregator page | |||
| Limbic_Region | well - I have several examples of p5 code that I jumped through hoops for that I was going to port to p6 | ||
| nothingmuch | which instantiates certain aggregators | ||
| that's how you wrap it all together, and organize, too | |||
| Limbic_Region | and while I was at it - I was going to contribute other examples if people had them | 20:02 | |
| nothingmuch | i nodded off in the lightning talk about the wikiwikiweb stuff | ||
| does anybody have slides/data/info? | |||
| cwest: sorry, i forgot rsync on minutely... fixed | 20:03 | ||
| stevan: okay, getting busy | 20:06 | ||
| stevan | nothingmuch: about time ... sheesh | ||
| nothingmuch | =D | ||
| stevan | nothingmuch: wanna SEE? | ||
| nothingmuch | sure | 20:07 | |
| one sec, i'll start up ingy's trick | |||
| hmm | 20:11 | ||
| GRR! | 20:14 | ||
| svnbot6 | r5327, fglock++ | Span.pm passes more tests | 20:17 | |
| Limbic_Region | nothingmuch - I posted a meditation on it perlmonks.org/index.pl?node_id=473561 | 20:22 | |
| depending on the responses - I will consolidate examples and create a state sub directory in examples to put all of them in | |||
| nothingmuch | stevan: ssh is annoying me. | 20:23 | |
| can you punch your NAT if you have one? | |||
| Limbic_Region++ # nice post | 20:24 | ||
| Alfred Brendel is demi god | 20:25 | ||
| luqui - if you backlog you better get some | |||
| Limbic_Region notes the time and calls it a weekend | 20:28 | ||
| stevan | nothingmuch: why dont you sketch out the code first, then we can work on it | 20:29 | |
| right now $work is calling me | |||
| nothingmuch | okay | 20:30 | |
| eep... how did I close this? /me doesn't remember doint that | 20:50 | ||
| svnbot6 | r5328, fglock++ | added "Set::Infinite::Functional" | 21:00 | |
|
21:10
knewt__ is now known as knewt_
|
|||
| cwest | seen nothingmuch | 21:52 | |
| jabbot | cwest: nothingmuch was seen 1 hours 2 minutes 24 seconds ago | ||
| nothingmuch exposes himself | 22:09 | ||
| oh come on, that's bound to get more attention than this | 22:10 | ||
| nothingmuch prods cwest ;-) | |||
| nothingmuch sighs and unexposes himself | |||
| Limbic_Region tells nothingmuch that it can't be called prodding with something THAT small | |||
| nothingmuch | = | 22:11 | |
| ) | |||
| at least someone is listening/getting my jokes | |||
| Limbic_Region | nothingmuch - did you read BrowserUk's reply to my state meditation? | ||
| www.perlmonks.org/?node_id=473561 | |||
| nothingmuch | not yet | ||
| Limbic_Region | oh - it is official btw - Jean's approval letter came today - she can now come and go as she pleases (permanent residency visa - also knowns as green card) | 22:12 | |
| nothingmuch | woot! | 22:15 | |
| are you guys working on a citizenship? | |||
| Limbic_Region: i found that a bit of a pointless discussion... I think he was sort of straying | 22:16 | ||
| brb | |||
| cwest | heya | 22:17 | |
| I don't need you anymore | |||
| seen autrijus | |||
| jabbot | cwest: autrijus was seen 9 hours 13 minutes 47 seconds ago | ||
| Limbic_Region | nothingmuch well, the point of the meditation was to get people thinking about state variables and how they might be useful | 22:19 | |
| I don't think BrowserUk undermined that - though it isn't the direction I was hoping for | |||
| his response boils down to - don't use state variables as a replacement for class variables when doing OO | |||
| that I agree with | |||
| the argument that it will be easy to make that mistake is false though - as p6 OO looks visually a lot different | |||
| you won't confuse a method with a sub | 22:20 | ||
| nothingmuch | right | 22:26 | |
| Limbic_Region | $larry replied btw | 22:27 | |
| Limbic_Region is getting the desired response | |||
| nothingmuch | callooh, callay | 22:28 | |
| dudley | Limbic_Region++ # Very tactful response to BrowserUK. Impressive social skills (for a hacker, anyway ;-) ) | 22:38 | |
| Limbic_Region | dudley - for the most part, we are pretty amicable at the Monastery | 22:40 | |
| and even when we get pissy - we tend to forgive quickly | |||
| there are a few exceptions - but by and large it is a very synergetic community | 22:41 | ||
| oh, dudley is gone already | |||
| nothingmuch | www.crocuta.net/AtTheGayBar.mov | 22:55 | |
| autarch | that's awesome | 23:02 | |
| revdiablo | Limbic_Region++ # good Meditation | 23:04 | |
| nothingmuch | more from the same blog: www.koreus.com/files/200502/hollowmen.html | 23:05 | |
| the blog: bigpicture.typepad.com/writing/music/ | |||
| svnbot6 | r5329, fglock++ | Set::Infinite::Funcional can do "union" | 23:10 | |
| nothingmuch | wow, good questions on perlmonls | 23:23 | |
| err, perlmonks | 23:24 | ||
| by good i mean fun to answer | |||
| Limbic_Region | PerlMonks rawks | ||
| nothingmuch can't resist the temptation of actually planning out a ??{ } based parser for this guy: perlmonks.org/?node_id=473596 | 23:26 | ||
| it should be pretty clean | |||
| i'll have a go at it | |||
| i've always wanted to use local in regexes =) | |||
| Limbic_Region | nothingmuch - I earmarked that one for tomorrow | 23:27 | |
| I didn't have time to give a proper reply | |||
| but I was only going to suggest an approach | |||
| not a working implementation | |||
| though I very much look forward to yours | 23:28 | ||
| nothingmuch | this one was also nice: perlmonks.org/?node_id=462487 | ||
| well, i'll post it if you promise to upvote | |||
| i'm whoring for sainthood | |||
| ;-) | |||
| geoffb finally comes out from under huge IRC backlog | 23:37 | ||
| wheee . . . | |||
| And on another note, it looks like I will be able to do OSCON in Portland (chromatic++ for making that possible) -- so who from in here will be there? | 23:38 | ||
| nothingmuch shifts uncomfortably | 23:39 | ||
| geoffb | ? | ||
| autarch | I'll be there | ||
| I am, like, _so_ there | |||
| nothingmuch | geoffb: won't be there | 23:40 | |
| geoffb | autarch, you were one of the guys working on HTML::Mason, yes? | ||
| nothingmuch | autarch: i wanted to thank you for your modules | ||
| you are a wonderful wonderful man | |||
| thank you for saving the world so many man hours | |||
| autarch | heh, DateTime.pm is all fubared | ||
| mostly cause I tried to make something too simple that's inherently complex | |||
| geoffb | And BTW, DateTime in Perl 5 SAVED MY PROJECT at my last company. | ||
| autarch | geoffb: yes, I work(ed) on Mason | ||
| heh | |||
| just be careful about date math when the object's have a time zone | 23:41 | ||
| it's a little wonky | |||
| geoffb | Ah. Two companies ago I worked for Jon Swartz, so I've been an H::M adherent ever since | ||
| autarch | geoffb: what company were you at then? CMP? | ||
| geoffb | AvantGo -- before they got bought | ||
| autarch | oh right | ||
| geoffb | autarch, I hope you're referring to P6 DateTime having wonky time zone math, because the time zone math was a very large part of what I used DateTime *for* in P5. | 23:42 | |
| autarch | no, P5 | 23:43 | |
| you'd have to do some pretty specific operations to uncover it | |||
| geoffb | oh, OUCH. | ||
| geoffb hopes fervently that I didn't trip those operations. | |||
| autarch | basically, I need to split up all the math stuff to force the user to pick between math on local datetime components, or UTC components | ||
| right now it kind of mixes them, which mostly works, except when it doesn't | 23:44 | ||
| geoffb | BTW, it didn't then, but have you since added to DateTime a constructor that can build a UTC DateTime object Really Damn Quick? I had to subclass just to make a fast enough DateTime constructor for my project . . . | ||
| autarch | this is mostly tickled by $dt1->subtract_datetime($dt2) | ||
| I could special case for UTC, I guess | |||
| I'm trying to use the P6 stuff to prototype a cleaner API which I may backport to P5 | |||
| geoffb | (My code actually special-cased both UTC and 'floating', because the fastpath is the same) | ||
| nodnod | 23:45 | ||
| autarch | almost the same | ||
| second => 60 is only valid for UTC, not floating | |||
| autarch really really really hates leap seconds | |||
| geoffb | It happened that in my case, that didn't matter, but point taken | ||
| autarch | if everyone would just use UTC, my life would be so much easier ;) | ||
| geoffb | heh | ||
| autarch | but everyone wants to give their _local_ time to a constructor, which makes for nightmares | 23:46 | |
| geoffb | which is the one that's almost the same as UTC without leap seconds? TAI? | ||
| autarch | yes, TAI | ||
| I sure as hell can't expect people to put that in the constructor, lovely as that would be | |||
| geoffb | I kept everything in UTC internally, and converted back and forth to user timezones on input and output | ||
| but when I did a calendar year summary of events, all those conversions got SLOW | 23:47 | ||
| autarch | ah, the time zone conversion bits are all bug-free, AFAIK | ||
| it's basically isolated to the "what's the difference between these two datetimes" bits | 23:48 | ||
| geoffb | I believe I did all duration math in UTC. That should work correctly, I hope? | ||
| autarch | yes | ||
| that's a very very good idea ;) | |||
| geoffb | good | ||
| autarch | the thing is that people want "2005-11-01T10:00:00 - 2005-08-01T10:00:00 = 3 months" | 23:49 | |
| regardless of local time zone | |||
| but if you look at UTC it could be off by an hour because of DST changes in between two dates | |||
| geoffb | So for your Perl 6 version, I guess my biggest API wish is that there be a way to say "I've guaranteed elsewhere that my inputs are correct, please do construction and suchlike in the fastpath" | ||
| semantically, at least | |||
| autarch | someone's working on that already | ||
| He came up with a DateTime::Diet module that'll do that | 23:50 | ||
| geoffb | someone++ | ||
| :-) | |||
| autarch | the trick is to let DateTime::Format::* modules use it | ||
| Rick Measham | |||
| geoffb | (Rick Measham)++ then | ||
| Darren_Duncan | I have a question regarding the common or proper terms of speech regarding continuations ... | ||
| autarch | It's actually a cute little trampoline. It just blindly accepts your inputs and stores them. It provides a small subset of the DT.pm methods, and then turns itself into a proper DT.pm object for methods it doesn't implement | 23:51 | |
| Darren_Duncan | supposedly, with a continuation, receiving an argument and returning a value is exactly the same kind of thing | ||
| autarch | this is great if you know your data is valid, but would lead to all sorts of wacko late-appearing errors otherwise | ||
| geoffb | autarch, nice implementation concept. Go Rick. | 23:52 | |
| Darren_Duncan | as if there was no distinction between functions and procedures; a function's return value is simply an argument that can be written to | ||
| autarch | yeah, it's cool | ||
| Darren_Duncan | my question is ... | ||
| nothingmuch | ugh | ||
| Darren_Duncan | what is a good generic name for what 'foo' is if 'foo' can be either a value passed in or a value passed out of a routine | 23:53 | |
| geoffb | So autarch will be at OSCON in Portland, and nothingmuch won't (sorry to hear that, BTW!). Anyone else? | 23:54 | |
| Darren_Duncan | I plan to be at OSCON in Portland | ||
| geoffb | (y) | 23:55 | |
| Darren_Duncan | btw, geoffb, are you still looking for people to room with? | ||
| geoffb | Nope -- managed to convince my Dad to house me. | 23:56 | |
| Darren_Duncan | so you have family in town ... nice | ||
| how far from the convention center? | |||
| geoffb | Well, Lake Oswego, but he says its about 10 min from convention center | ||