The Return of the Journal : pugs.blogs.com/ | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6 Set by GammaRay on 31 December 2005. |
|||
00:13
Bobby_D joined
00:14
Bobby_D left
00:32
frederico joined
00:35
Khisanth joined
00:39
TexHexx joined
|
|||
TexHexx | did you guys already know that lilo is corrupt? he is abusing donations and setting k-lines for fun | 00:39 | |
Juerd | Why do people keep trying this? They know they'll be collectively ignored :) | 00:40 | |
Oh wait, this isn't ignoring. | |||
00:40
FieldySnuts joined
|
|||
Juerd | Sorry; pretend I didn't say a thing. (Though ignore me not, please.) | 00:40 | |
TexHexx | [01:22] <masf> you are a person with very doubtfull intensions mister Lewin | 00:42 | |
[01:23] <lilo> yours are quite clear and inappropriate | |||
[01:23] <masf> stop your hobby psychology crap on me | |||
[01:23] <lilo> I'm sorry, there's nothing I can do at this point | |||
[01:23] <masf> there is nothing you _want_ to do | |||
[01:23] <lilo> you've tied my hands | |||
[01:23] *-psyBNC* Sun Jan 22 18:23:29 :User deb () got disconnected (from clarke.freenode.net) Reason: Closing Link: unixlovers.info (K-lined) | |||
stop donating for Robert Lewin's hobby and fun! | 00:43 | ||
00:43
Daga joined
00:44
FieldySnuts left,
spb joined
|
|||
TexHexx | stop donating for Robert Lewin's hobby and fun! | 00:44 | |
hachi | wait.. I'm on freenode? how did that happen | 00:46 | |
Alias_ | wtf, spam-bots? | 00:47 | |
theorbtwo | hachi: Um, this channel has always been on freenode. | ||
00:47
dduncan joined
|
|||
hachi | I'm just being sarcastic | 00:47 | |
hey alias, is my threatnet bot still running? | |||
Alias_ | what's it called? :) | ||
theorbtwo | Sorry. My sarcasim-detector seems to be on the fritz lately. | ||
Juerd | Alias_: They're pathetic enough to do it manually. | ||
hachi | would have been kuiki-ed | ||
where the hell did it go | 00:48 | ||
Alias_ | nope | ||
hachi | theorbtwo: irc doesn't have a way for me to send OOB sarcasm values | ||
Alias_ | You didn't put the cron-restart on it did you | ||
I told you it would die from time to time | |||
hachi | I put the cron in | ||
TexHexx | stop donating for Robert Lewin's hobby and fun! | ||
hachi | heh | 00:49 | |
Juerd | Who saw that one coming? | ||
theorbtwo | Thank you, Robert Lewin. | ||
Juerd | How the hell can one stop doing something they've never done, though? | ||
dduncan | so I'm now setting up my dev tools following the OS upgrade | 00:50 | |
hachi | we can't stop here, this is bat country! | ||
dduncan | svk installed without a hitch | ||
and I copied my .svk dir over from the old system | |||
Juerd | I don't like freenode and wouldn't donate. I'm here because channels are here :) | ||
dduncan | and issuing pulls just worked | ||
there's an issue with ghc though | |||
is it normal to have to modify my path on a new system for calling 'ghc' to work? | 00:51 | ||
I think I need to do that now, but I don't recall having to do it the last time, back 9 or so months ago | |||
Juerd | dduncan: Depends on many things. | ||
Mostly your definition of normal :) | 00:52 | ||
hachi | oh cute, hey alias... apparently this 'nohup' thing needs write access somewhere | ||
Alias_ | hmm | ||
dduncan | on my new X 10.4.4 system, the path is: /bin:/sbin:/usr/bin:/usr/sbin | ||
Juerd | nohup. Another tool I've never needed. | ||
dduncan | but no 'ghc' binary is in those places | ||
hachi | I just setsid() | ||
dduncan | rather it is in /usr/local/... | ||
Juerd | dduncan: That's a rather limited and ununixish path | ||
wolverian | wow, in java +, - etc. are built into the language syntax, so there is no way to type something "anything that supports + and -" | ||
now, back to hell, thanks | 00:53 | ||
dduncan | so what's the best way to make calling 'ghc' just work? | ||
Juerd | wolverian: Java is a very awkward language. | ||
wolverian | Juerd, I'm finding that out now. | ||
Juerd | wolverian: It has very funny yet sad quirks | ||
wolverian | if I want static typing I'll just use Haskell. this is crazy | ||
Juerd | wolverian: It's said to be fully OO by its fanatics, yet it also has variables that aren't objects. | ||
dduncan | in any event, a clean call of Makefile.PL fails for not finding ghc; it expects 'ghc' to be in my path | ||
wolverian | (except now, since I _have_ to use Java. meh) | ||
Juerd | wolverian: The funniest thing, though, is that it has switch/case, but *only for numbers* | 00:54 | |
dduncan | the Makefile.PL of Pugs that is | ||
I can add that to my path, or put an alias in bin | |||
wolverian | Juerd, yeah. because that can be optimised for speed. heh. | ||
Juerd | wolverian: And who needs to dispatch based on strings, anyway :) | ||
wolverian | not humans! | 00:55 | |
Juerd | I can't recall having used anything switch/case-like with numbers, since my Visual Basic time. | ||
dduncan | just looking at ghc manual now ... | ||
00:55
spb left
|
|||
Juerd | And that was because win32api so often uses numeric values to indicate status... | 00:55 | |
Oh, $! == ENOSPC and stuff I do sometimes use in switchlike blocks. But it's rare. | 00:56 | ||
Juerd doesn't often use string based switchlike thingies either, because hashes of coderefs are so nice. | |||
But Java doesn't have that either. | |||
wolverian | all these <Foo<Bar>, Baz<P<T>>> are very much hurting readability | ||
Juerd | What's that? | 00:57 | |
wolverian | generics | ||
class Foo<T> { T bar () { return new T() } } | |||
Juerd | In general, I find that bracketing operators hurt readability, and should be used with care only. | ||
wolverian | new Foo<Integer>().bar(); // a funny way to construct an Integer | 00:58 | |
dduncan | I'll just add /usr/local/bin to my path; that should work | ||
wolverian | Juerd, I much prefer perl6's [] | ||
Juerd, class Foo[T] { method bar (--> T) { T.new } } | |||
er, s/\[T\]/[::T]/ | 00:59 | ||
Juerd | wolverian: I like [] better than <> too | ||
wolverian | I even like the ::T - it visually shows what is a type | ||
i.e. exactly why we have sigils :) | |||
Juerd | Yes, sigils rock. | ||
Though I'm not pleased with how the new sigils work. | |||
Especially long lived twigils. | 01:00 | ||
wolverian | hm? | ||
ah, the scope issue | |||
theorbtwo | That's why MS uses Hungarian notation... but MS overdoes it. | ||
Juerd | I love them for short scopes. | ||
theorbtwo: And does it the wrong way. | |||
wolverian | anyway, now I can't declare this class as generic against numbers, but only a particular number type. | 01:01 | |
Juerd | I love "cbFileContents" kind of hungarian notation: c == count, b == bytes, cb == size, expressed in bytes. | ||
wolverian | even though that is in no way required - it's just that Java sucks. | ||
Juerd | I hate "numFileSize" kind of hungarian notation: I can very well decide that it's a number myself. | ||
And whether something is floating point or integer, I don't care. A compiler can tell me when I guessed wrong. | 01:02 | ||
I care more about the unit of the number. | |||
Are we expressing "duration" in seconds (unixlike) or in days (windowslike)? | 01:03 | ||
Incidentally, I also hate it when people write multiplications the wrong way around | |||
theorbtwo | I hate lp. When's the last time you used a short pointer? Can't we just shorten lp to p? | ||
Juerd | When seeing $duration = 60 * 24, I will assume it means 60 days, expressed in hours. | 01:04 | |
When seeing $duration = 24 * 60, I will asume it means 1 day, expressed in minutes. | |||
That weird guy Joel Spolsky wrote a good article on hungarian notation once | 01:05 | ||
theorbtwo | Similarly, lpzwstr. You end up with 52 lpzwstr variables, and spend more time thinking and writing lpzwstr then anything useful. | ||
Juerd | Or it was part of an article. | ||
theorbtwo | The joel-on-software guy? | ||
Juerd | Yea | ||
Oh, I remember. It was an article I generally disagreed on, but had a good explanation of how hungarian notation was meant embedded in it. | 01:06 | ||
www.joelonsoftware.com/articles/Wrong.html | |||
"But then something kind of wrong happened. | 01:07 | ||
The dark side took over Hungarian Notation." | |||
Call me sensationalist, but I like that writing style. | |||
mlh_ | he's a very good writer | 01:08 | |
Juerd | Not everyone agrees, and I can see why | 01:09 | |
But I like it | |||
I just often disagree with what he writes :) | 01:10 | ||
Khisanth | have you read his books as well? | 01:12 | |
Juerd | No | ||
01:20
hcarty joined
|
|||
dduncan | path change done, 'make' is working on the clean pugs | 01:23 | |
Juerd | Battery 1: discharging, 0% | 01:32 | |
It used to indicate time left too. | |||
But apparently it isn't so sure anymore. | |||
... | 01:35 | ||
Still there :) | |||
01:56
_maydayjay_ joined
01:59
luqui joined
02:07
beppu_ joined
02:09
trym_ joined
|
|||
dduncan | make successful, now running first smoke of pugs under my new OS | 02:16 | |
of r8776 | |||
first few test items appear to be completing in about the right amount of time | |||
buu | trym_: No you aren't. | 02:19 | |
trym_ | im now doubting myself, thanks to you. all my self confidence is gone | ||
02:20
stevan_ joined
02:24
_maydayjay_ joined
03:13
stevan_ joined
03:18
hcarty left
03:29
feng123 joined
|
|||
meppl | guten morgen | 03:50 | |
03:57
xern joined
04:19
revdiablo joined
|
|||
dduncan | smoke of 8776 on darwin/haskell done | 04:38 | |
05:01
Amnesiac joined
|
|||
audreyt | ingy: perlcabal.org/~autrijus/tmp/kwid.pl | 05:19 | |
# pure perl5 implementation of Text.Parser.Kwid | |||
should be fast and general-purpose enough | |||
ingy | audreyt++ | 05:20 | |
05:20
_maydayjay_ joined
06:31
Daga left
06:51
xinming joined
06:55
GeJ joined
07:05
elmex joined
07:19
iblechbot joined
07:45
Alias_ joined,
nothingmuch joined
|
|||
nothingmuch | hola | 07:45 | |
GeJ | hola nm | 07:51 | |
nothingmuch waits for someone to ask why he's already back | 07:53 | ||
Alias_ | You're back? | 07:54 | |
nothingmuch | aye | ||
no IRC in the outdoors | |||
GeJ | supposed to do 5 days of hiking, no? | 07:55 | |
nothingmuch | aye | ||
first day was wonderful | |||
good pace | |||
nice food | |||
good sleep | |||
rain didn't bug us | |||
then we met some kid on the trail, who was all "i am an expert" | |||
he said we should definately not go on the road but stay with the stream despite there being no trail there | 07:56 | ||
we had no clue | |||
turns out this is plausible advice in the summer, when the stream is dry | |||
after 5 hours of skipping rocks, swinging from trees, drying to pass trough vines and branches at ~1km an hour | |||
we realized there's no way in the world we're actually going to finish this bit of trail | 07:57 | ||
and there's no where to raise a tent | |||
GeJ | filthy hobbitses, they lied to us | ||
nothingmuch | so we started walking in the water | ||
which is like, a big mistake generally | |||
we made it out of there | |||
but our feet were dead | |||
i still can't walk on my toes from all the blisters | 07:58 | ||
07:59
dduncan left
|
|||
GeJ | ouch | 08:00 | |
nothingmuch | ayew | ||
nevermind | |||
we'll do the regular trail again someday | |||
08:15
pdcawley joined
08:41
\xe6var joined
09:00
bsb joined
09:08
metaperl joined
|
|||
metaperl | Juerd: ping? | 09:09 | |
anyone setup an svn repo on feather.perl6.nl? | 09:21 | ||
09:25
iblechbot joined
|
|||
azuroth | tried svk, metaperl? | 09:29 | |
\xe6var | you can't host repositories with svk? | 09:33 | |
audreyt | \xe6var: svk is just a svn client :) | 09:35 | |
(and a p4 client and a cvs client) | |||
Debolaz | A lousy cvs client though. :) | 09:38 | |
audreyt | yup | ||
09:40
Arathorn joined
09:51
kane_ joined
09:53
arcady joined
10:02
kane_ joined
|
|||
metaperl | azuroth: no, i have not tried svk | 10:03 | |
azuroth | oh wait. set up an svn repo, as in host one? or just ...connect to one? | 10:06 | |
metaperl | I want to setup one on feather | ||
i've gotta get something to drink | |||
azuroth | ahh, sorry. I thought you might've been talking about hacking on the pugs repository from feather | 10:07 | |
10:09
G2 joined
|
|||
metaperl | oh no | 10:10 | |
10:13
rantanplan_ joined
10:45
DaGo joined
10:50
fabinnn joined
10:53
fabinnn left
|
|||
Juerd | metaperl: pong | 11:20 | |
metaperl | Juerd: I was trying to do an svn import from my local box to feather... | 11:21 | |
is that possible? | |||
11:35
r0nny joined
12:03
drbean joined
12:24
iblechbot joined
12:27
Bit-Man joined
12:31
lypanov joined
12:43
rodi joined
12:51
nothingmuch joined
12:57
penk joined
13:03
chris2 joined
13:14
sahadev joined
13:25
wilx joined
13:31
dada joined
13:32
Limbic_Region joined
13:33
kolibrie joined
13:45
sysfault joined,
sysfault left
14:25
saper joined
14:32
Qiang joined
14:44
G2 left
15:05
binary42 joined
15:08
vel__ joined
15:09
Eimi joined
15:14
Amnesiac joined
|
|||
Juerd | rafl: Any word from your friend who shipped the package? | 15:26 | |
metaperl: I don't know. Why would it not be? | 15:27 | ||
rafl | Juerd: I guess he'll be here in two hours. | ||
metaperl | Juerd: the svn import was rejected | ||
Juerd | metaperl: What has that to do with feather? | 15:29 | |
rafl: Okay | |||
pdcawley | Juerd: re feather; might as well let my account lapse. | 15:31 | |
I'm simply not using it. | 15:32 | ||
Juerd | pdcawley: The question was, but many people haven't noticed that, *why* the box is used less :) | 15:33 | |
I'm not looking for people to give up their accounts :) | |||
pdcawley | In my case, mostly because I've stopped any active work with parrot and pugs; I'm making a living doing Rails programming at the moment -- perl 6 involvement limited to hanging on irc and the mailing lists and writing the summaries. | 15:34 | |
Juerd | I was just wondering if something was wrong; there doesn't seem to be | ||
pdcawley: Okay, but also not a feather sourced reason | |||
pdcawley | Indeed. | ||
Juerd | Thanks | 15:35 | |
theorbtwo | I think there's just less perl6 development going on, or possibly that more people are just develing on their own boxes. | ||
Juerd | theorbtwo: At least half of the responses I got so far can be abstracted as lack of tuits. | ||
theorbtwo | I never much saw the value in sshing somewhere else when I've got a perfectly servicable box under my desk. | ||
Juerd | Perl people fare better in commercial life now than half a year ago, apparently. | 15:36 | |
theorbtwo: I understand that; feather was mostly meant for people without such boxes :) | |||
Though many people do find it useful to have a central place for Perl 6 development, and like that svk is so fast when used locally on feather. | |||
theorbtwo | Hm. | 15:37 | |
15:38
hexmode joined
|
|||
\xe6var | pdcawley: you write the p6l list summaries? | 15:38 | |
pdcawley | Me and Matt Fowles, yes. | ||
\xe6var | I loved that comment about the // operator | 15:39 | |
pdcawley | Umm... which comment was that? | ||
\xe6var | / or err, that it should be called the Jagger-Richards operator, because you can't always get what you want, but you might find that you get what you need | 15:40 | |
$x = shift err 'oh noes'; | |||
pdcawley | I don't think that one was mine. | 15:41 | |
Sadly. | |||
\xe6var | ;) | ||
15:41
chris2 joined
|
|||
Juerd | Hm, Matt actually had a funny joke in a summary? :) | 15:44 | |
gaal | audreyt: ping | 15:55 | |
16:04
putter joined,
stevan_ is now known as stevan
|
|||
stevan | Yo putter! | 16:04 | |
(morning|afternoon|evening|middle_of_the_night) everyone :) | 16:05 | ||
putter | audreyt: Anarchaia chneukirchen.org/anarchaia/archive/...01/17.html has an entry "As seen on #perl6ā¦, a very good description of Perl 6, IMO.", linking to pugs.blogs.com/pugs/2006/01/as_seen_on_perl.html . So there _is_ interest... :) | ||
hi stevan :) | 16:06 | ||
hey stevan, a question, | |||
stevan | hey putter, an answer (maybe) | ||
putter | lol | ||
16:06
DaGo joined
|
|||
putter | is there any specced syntax for the bottom-up bits of Grammars? Aside from the minimally specced rxmumble:<w> | 16:07 | |
ie, | |||
stevan | putter: not that I know of, that is still very much in the hand-waving stage at this point | 16:08 | |
putter | grammars are (oh so) happily hybrid top-down + bottom-up engines, | ||
ah | |||
stevan | although it is not an area i have much interest in so I may be wrong | ||
putter | I dont usually read p6l/c, and google wasnt turning much up, but I wondered if something concrete was buried in there somewhere. | 16:09 | |
stevan | putter: you never know, but I have not heard about it | ||
putter | ok, thanks :) | 16:10 | |
stevan | putter: pdcawley is maybe a good person to ask, he was around about a half hour ago | ||
putter | pdcawley: ping? | ||
pdcawley | pong | ||
Um... nothing ringing any bells here; luqui/Luke Palmer probably knows. | |||
seen luqui | 16:11 | ||
jabbot | pdcawley: luqui was seen 6 days 1 hours 49 minutes 52 seconds ago | ||
stevan | luqui is back in classes IIRC | ||
putter | ok, thanks! | ||
stevan | so he will probably not be around much | ||
putter: you could always ask the question on p6l :) | |||
putter | could do. | 16:12 | |
gaal | seen audreyt | ||
jabbot | gaal: audreyt was seen 6 hours 34 minutes 33 seconds ago | ||
putter | stevan: have you noticed... anything... odd about the interaction of inheritance and multimethods? Reason for asking is the rules stuff feels similar. One wants to say rule expr infix(:left(1000)):<|> {...}, but it's common to have say exprA and exprB which mostly use the same operators. But the only mechanism | 16:18 | |
we have for reuse is package's kids, so one goes down a path of rule exprA {{ExprA::mumble()}} grammar ExprA is ExprCommon {...} | 16:20 | ||
stevan | putter: I am not sure what odd interaction you mean. | 16:21 | |
Juerd upgrades feather | |||
Let me know if anything broke | |||
stevan | putter: my experience is that most object systems are either focused on one or the other (generic functions vs. message passing) | 16:22 | |
putter | so now one is dealing, instead of with a flat hemogenous namespace, instead with a grammar which is a bag of nested other grammars and roles, top-down rules, and other stuff. Which the current inheritance doesnt seem well set up to support | ||
Thoughts? | |||
Juerd | Leeching at 6 MB/s. I love this connection | ||
stevan | putter: my knowledge of grammers is limited,.. but ... | ||
I would prefer multi-methods to not be inside namespaces | 16:23 | ||
because they really should be top-level things | |||
putting them in a namespace is only useful in the sense that they are modularized | |||
but in terms of their dispatching,.. i can see little use for it | |||
but then again,.. since a multi name can be duplicated (I mean thats what they are after all), then it almost doesnt make any sense to put them into a namespace | 16:24 | ||
multi Foo::bar and multi Bar::bar are not related in anyway | |||
multi-methods seem more like you standard functional language "pattern matching" | 16:25 | ||
stevan wonders if putter is furiously typing another long response :) | |||
stevan encourages putter to hit the enter key every once in a while | |||
lypanov | lol | ||
putter | re "not related in any way", err, but calling bar() will get you one or the other (or perhaps another), depending on the relation of the package, which contains the call, to Foo and Bar. no? | 16:26 | |
:) | |||
stevan | putter: yes, its all related to the package | 16:27 | |
s/related to/related by/ | |||
but this IMO, impedes the usefulness of multi-methods | |||
the CLOS/Ada95/Dylan generic function approach is really nice | |||
16:27
marmic joined
16:28
bsb joined
|
|||
stevan | generic functions are essentially a generalization of message passing | 16:28 | |
and so can be really powerful, | |||
putter | so packaged multis are potentially useful. Foo::bar {... default...} pkg Foo { pkg Hee { multi bar (); ...}} | ||
stevan | but when constrainted by namespaces, can be less so | ||
putter 's least favorite thing about CLOS (one of) is the globalness of multis | 16:29 | ||
stevan | putter: I am not saying they are not useful, only that they not as useful as they could be | ||
putter | a question | ||
stevan | putter: well the LISP package system is very different from Perls | ||
and unreleated to CLOS | |||
putter | iniside Hee abouve, is Hee::bar independent of Foo::bar, or do their cases combine? | ||
stevan | AFAIK they are independant | 16:30 | |
unless Hee.isa(Foo) | |||
in which case the method dispatching will find the most appropriate one | |||
based on the other args supplied | |||
or based on the "distance" of the invocant | 16:31 | ||
putter | both could be useful. but we dont really currently have a way of saying "I want this multi to inherit these cases from that multi, redefine this case, and undef that case, and ...". We dont have an algebra on multi cases. | ||
16:31
nnunley joined
|
|||
stevan | putter: I am not sure about the algebra part, I think luqui started something with Class::Mulitmethods::Pure | 16:31 | |
but I am not sure how far he got | |||
and if he is still exploring it | 16:32 | ||
pdcawley boggles at the 'bless' spat in p6l... | |||
16:32
G2 joined
|
|||
stevan | pdcawley: sorry that was my fault, and not at all what I intended | 16:32 | |
putter | It was, err, curious, wasnt it. Is it still going on? | ||
stevan | putter: but I think the "overriding some, inheriting some" part is going to be tricky | ||
pdcawley grins, I'm just glad I'm not writing the summary this week. | |||
stevan | LOL | ||
pdcawley | robkinyon vs. the world! | 16:33 | |
stevan | my intention with that thread was not that we should get rid of bless, but that we should rectify its inconsistency and define it more completly | ||
pdcawley | Indeed. | ||
putter | are roles defined recursively? role A{role B{}} role C does role A { role B? {}} ? | ||
\xe6var | why have it at all? | ||
pdcawley | seen robkinyon? | 16:34 | |
jabbot | pdcawley: robkinyon was seen 2 days 19 hours 36 minutes 38 seconds ago | ||
stevan | pdcawley: robkinyon is actually my coworker :) | ||
pdcawley | Heh. | ||
stevan | :) | ||
the man is nuts,... but thats part of the reason we hired him :) | |||
putter | so that's 3 people for NE P6 Users Group...:) | ||
stevan | and really its my fault,.. I hooked him up with some Ruby books and have been preaching OO/metamodel stuff in his ear for a few months | 16:35 | |
pdcawley | It was when he started claiming that *real* OO languages don't have references that I started wondering when he'd turned into Humpty Dumpty from Alice's Adventures Through The Looking Glass | ||
putter | assuming coworker == geographically colocated... | ||
stevan | putter: nope, robkinyon is in the mid-west.. we are a virtual company | ||
putter | ah well | ||
stevan | pdcawley: IIRC all those ruby methodmakers are manipulating the underlying metamodel right? | 16:36 | |
pdcawley | Um... I've still not read the art of the metaobject protocol... | 16:37 | |
16:37
rodi joined
|
|||
putter | stevan: or simply evaling | 16:37 | |
pdcawley | It depends on the methodmaker... | ||
stevan | true | ||
pdcawley | Some are adding hooks, some are evalling, some are including modules. | ||
stevan | well they /could/ be done by messing with the metamodel | ||
pdcawley | I'm not entirely sure how monkeyable with the Ruby metamodel is. | ||
stevan | pdcawley: I am pretty sure you can add methods to a class dynamically, and I know you can get at the metaclass without too much trouble | 16:38 | |
putter | yes | ||
pdcawley | Oh, yes, they're definitely adding class methods dynamically. | ||
putter | (there was ambiguity whether you meant "manipulating the ...mm" as "use mm" or "change mm") | 16:39 | |
"use mm" common (though less than it might be because eval works so well). "change mm"... I can't immediately think of a case. | |||
16:40
elmex joined
|
|||
stevan | putter: manipulate includes "use", "change" as well as plain old "look at" (aka introspection) | 16:40 | |
putter | "look at" >> "use" >> "change" (ordered by frequency of use) | ||
stevan | changing the mm is dark magic in any language though,.. and not as common | 16:41 | |
yes, exactly | |||
I am not sure how possible it is to subclass Class in ruby though | |||
putter | re dark magic, not always, especially prototype-based systems with "dispatcher is just a normal method". | ||
stevan | but I suppose adding singlton methods to your class's metaclass would accomplish the same thing since it creates the eigenclass | 16:42 | |
putter: yes, but prototype systems dont have a metaclass so much | |||
and are much more straightforward in their structure | |||
putter | oh, before I forget, is role inheritance recursive? | 16:44 | |
ie, with nested roles? | 16:45 | ||
stevan | putter: uhm | ||
not sure what you mean | |||
code example? | |||
putter | ole A{role B{}} role C does role A { role B? {}} ? | ||
stevan | ah | ||
hmm | |||
I dunno,.. you mean inherit subroles? | |||
I am not sure | 16:46 | ||
thats a good question actually | |||
not even really subroles,.. but sub-namespaces | |||
because B is realy A::B::* | |||
s/B::*/B/ | |||
\xe6var | Odin-: oi | 16:47 | |
Odin- | \xe6var: Ojjjj! | ||
putter | yeah. which makes sense really. role C does role A { role B {}} === role C does A; role C::B does role A::B; | 16:48 | |
stevan | hmm | ||
16:49
Amnesiac joined
|
|||
stevan | you might want to p6l that one | 16:49 | |
putter | though that gets fuzzier if its modules or packages which are embedded | ||
stevan | it is as intuitive as it is unintuitive | 16:50 | |
so it is hard to say | |||
there is also a distinction between role A { my role B {}} and role A { role B {}} | 16:51 | ||
putter | re multimethod "cases" (I forget what the jargon is), I ran into it most recently doing the "try to assemble a p6 prelude out of pieces" thing. where I really wanted to be able to say, on a "case" by "case" basis (no pun intended) what "cases" made up a particular multi. right now, all we have is "merge in all cases (with flakey first-def-wins overwriting) and "blow the whole thing away". | 16:52 | |
ooh, good point | |||
stevan | why did you want to specify the cases for a multi? | 16:53 | |
just dont include them if you dont want them | |||
nothingmuch | hola stevan | ||
hola putter | |||
stevan is a little confused re: the context | |||
heya nothingmuch :) | |||
putter: are you thinking something like Haskell? | 16:56 | ||
the where "clause" ? | |||
or is it "case" | |||
stevan haskell-fu is very weak | |||
16:58
nnunley_ joined
17:03
nnunley_ is now known as recover
17:04
recover is now known as nnunley
17:16
lampus_ joined
17:27
bsb left
17:41
putter joined
|
|||
putter | hi guys. sorry. lots of nifty network analysis tools... and nothing to say "the hub powercord was knocked out of the wall". sigh. | 17:42 | |
stevan: re why include if you dont want, well, in part, because we dont currently have a A does(:exceptfor(...)) B. best you can currently do is create role Bexceptions and do A does B does Bexceptions, thus causing conflicts and dropping the parts you dont want. but that's still on the basis of names, not | 17:48 | ||
signitures. there is no way at present to have a role which defines say multi foo(default case), and multi foo(a specific case), and only get one of them. | 17:49 | ||
17:49
justatheory joined
|
|||
putter | which basically means to assemble a multi, it has to be done in one stage (since you cant undo decisions made by an intermediate stage), operating on one "case" per role (which just sucks). | 17:52 | |
It looks like the following never reached the net... | |||
so what does that make, 3 p6l posts? is/does on roles/classes with embedded pkg/mod/rol/cls; multi "cases" as first-class objects and multis as bags of "cases"; and p6 syntax for the operator precedence parts of Grammars. sigh. | |||
re ruby Classes, I believe one can Class2 is Class, fiddle with Class2's methods, and Int2 = Class2.new(), etc. | 17:53 | ||
the reason for the interest in p6 syntax for Grammar{}s is all(?) existing rules engines have hardcoded the volumous rules stuff. but except for a tiny tiny core, it all can (should?) be defined in p6. | & <actions> term/letter, most everything. after all, these can be lexically overridden in user code. but without a specced syntax, noone has tried... | |||
hi nothingmuch | 17:54 | ||
stevan | putter: I think that is how multis are looked at | ||
bags of variants | |||
and I think they should have a .meta too | 17:55 | ||
which allows access to the @variants | |||
putter | that would be nifty | ||
stevan | putter: you should sketch out a wishlist MOP for multis | ||
putter | :) | 17:56 | |
for a couple of years, I almost usenet-posted a "Dear Santa, I want a programming language which..." | |||
stevan | LOL | 17:57 | |
now is your chance,..just s/Santa/@Larry/ | |||
putter | lol :) | ||
17:59
justathe1ry joined
|
|||
rafl | Juerd: My flatmate is an asshole. | 18:01 | |
putter | hmm, so one can temp @variant[1] = undef; ... Can one temp splice(@variant,2,2) sigh, "2" used instead of pred(2) because my pred(2) key is dying ;) | 18:02 | |
lypanov | rafl: mine is too | ||
rafl: he leaves shit all over the place | |||
and then expects me to clean up! | |||
rafl | Juerd: He "forgot" to send it... twit! | ||
Juerd | rafl: Oh! | ||
lypanov notes he lives alone | |||
rafl | Juerd: I'll send it tomorrow. I'm really sorry for that! | ||
lypanov wonders if all flatmates stem from the same genetic root | |||
Juerd | rafl: It's okay. The end result is great, yet unexpected -- I get to buy a new camera AND have my photos! | ||
rafl | Juerd: Why will you buy a new one? | 18:03 | |
Juerd | rafl: I more or less considered the old one lost, and started looking for a nice replacement. Wanted a very compact camera for a while, ixus-like. | ||
And today I more or less decided to just get one. My mind is set to it. | 18:04 | ||
rafl | Juerd: That's.. decadent. | ||
Juerd | I guess so. | ||
rafl | Juerd: I can recommend an IXUS 50. :-) | ||
robkinyon | seen pdcawley | 18:05 | |
jabbot | robkinyon: pdcawley was seen 1 hours 26 minutes 15 seconds ago | ||
Juerd | I'm currently in great doubt. Panasonic FX9 and Canon IXUS 55 are the two contestants. | ||
rafl | diff ixus50 ixus55 | ||
robkinyon | pdcawley: Maybe I went a little overboard, but there is a definite meme issue when dealing with how references and OO are perceived of in P5 | ||
Juerd | rafl: 2.5" screen rather than 2.0", and a few minor fixes in the casing | 18:06 | |
rafl: In image quality, flash, etcetera, it's the same. | |||
18:06
bernhard joined
|
|||
rafl | Juerd: Does the 55 still have a "seeker" or whatever this is called? | 18:06 | |
Juerd | It does. View finder. | ||
I don't see what use one is. I never use it with digital cameras. | 18:07 | ||
BBL # leaving for diner | |||
dinner | |||
Hm. diner or dinner? | |||
afk | |||
putter | 18:08 | ||
-++ | |||
webmind | the view finder on the ixus is actually rather crap imho | ||
and I don't use it.. but the concept is nice | |||
rafl | Juerd: Well. Considered you will buy a new one and we will meet in a month, shall I really send your old one tomorrow or is it enough to bring it with me next month? | ||
Juerd | rafl: Hm - could you send the CF? There are some (old) portraits of my dad on it, and shortly after we took those, the originals got coffee spilled on them. | 18:10 | |
rafl: The camera itself, indeed, doesn't matter much in terms of speed. I'm going to sell it when I have it, but that can easily wait a month. | 18:11 | ||
afk | |||
theorbtwo | dinner: The last major meal of the day. Diner: a type of resturant -- originally designed to be built off-site, and shipped to location as the back of a truck. | ||
rafl | Juerd: So should I send the CF or shall I upload your pictures somewhere? | 18:12 | |
theorbtwo | (But now generally refers to any sort of resturant with the type of food served in that kind of resturant. | ||
Odin- | theorbtwo: Don't you just love how the language with the most words never seems able to have them adequately different? | 18:13 | |
18:21
rantanplan_ joined
18:22
justatheory joined
|
|||
nnunley | 2/names | 18:23 | |
Ugh. | |||
putter | stevan, pdcawley: thanks for your help | 18:28 | |
& | |||
18:36
rantanplan_ joined
18:39
nothingmuch joined
18:47
typester joined
18:50
marmic joined
19:02
rantanplan_ joined
|
|||
Juerd | rafl: Oh, if you have means of reading the data and don't mind uploading them, please put them on feather | 19:08 | |
19:32
justatheory joined
19:48
Khisanth joined
|
|||
rafl | Juerd: translate -i "if you have means of" | 19:58 | |
Juerd | rafl: If you can do it, i.e. have the bandwidth | 20:04 | |
20:04
Amnesiac_ joined
|
|||
rafl | Juerd: I can do that over night. Does your cam use normal SD cards? | 20:10 | |
Juerd | No, CF | 20:11 | |
CompactFlash | |||
And it can be used via USB with gphoto2 | |||
rafl | Juerd: I don't have a CF reader.. | 20:16 | |
Juerd: So I'll send the card tomorrow, OK? | 20:18 | ||
Juerd | ok | 20:19 | |
rafl | Juerd: preconditioned the new bass guitar I ordered last week doesn't arrive before. ;-) | 20:21 | |
Juerd | :P | 20:27 | |
20:27
Lartuv joined
|
|||
gaal | I'm just looking at the online Contents for ATTaPL, and I notice it has a chapter on a module system. This, together with a footnote in TaPL saying modules in OCaml are very powerful and more useful than most common "modularity" units in other languages, makes me think I should order a copy of the book :-) | 20:34 | |
stevan | gaal: IIRC OCaml's module system is based on SMLs module system which is very powerful | 20:37 | |
you might find some resources about both online too | |||
gaal: the coolest part about them (IMO anyway) is the Functors, which basically bring polymorphism to them | 20:38 | ||
gaal | has this got anythign to do with what functor means in haskell? | 20:39 | |
stevan | I dont know haskell functors so I cant say | 20:40 | |
gaal | fmap :: (a -> b) -> f a -> f b | ||
with two laws | 20:41 | ||
fmap id == id | |||
fmap (f . g) == fmap f . fmap g | |||
stevan | hmm,.. no not really releated | ||
gaal | the idea being to generalize map. | 20:42 | |
so, give me a clue/pointer to .*ml functors? | 20:43 | ||
stevan pulls down the ML book and looks ... | 20:46 | ||
20:47
dduncan joined
|
|||
stevan | Okay the ML module system has 3 basic components | 20:49 | |
(BTW - I am mostly quoting from the book,.. so if I am wrong,.. so is the book :) | |||
3 parts == structure, signature, functor | |||
20:50
mayall joined
|
|||
stevan | they are conceptually similar to the things in the core language | 20:50 | |
20:50
frederico joined
|
|||
stevan | structure == value | 20:50 | |
signature == type | |||
functor == function | |||
a functor is a parametric structure | 20:51 | ||
theorbtwo | So what's the difference between a functor and a... ah, thank you. | ||
stevan | a functor can take a signature as a parameter, and as long as the structure conforms to that signature, its cool | ||
so you can get module polymorphism that way | |||
BTW - structure is basically a module | 20:52 | ||
not a C struct | |||
20:52
Amnesiac_ is now known as Amnesiac
|
|||
gaal | OK | 20:52 | |
stevan | from the book: "If structure B depends upon structure A, and we wish to replace A by another structure 'A, we could edit and recompile the program. That is fine if A is obsolete. | 20:54 | |
But if A and 'A are both useful, such as structures for floating point arith in diff precisions | |||
ML lets us declare B to take a structure as a paramter. We can then invoke B(A) and B('A), possibly at the same time. | 20:55 | ||
</ end_plagarism > | |||
however, I am not sure about OCaml, because ML does not have OO it might be different | 20:56 | ||
theorbtwo | That doesn't sound much different from, say, C++ templates. | ||
You can pass types to functions-that-return-types, and get out types. | 20:57 | ||
stevan | yes, I think it is conceptually very similar | ||
except for the OO part, because ML has no OO :) | 20:58 | ||
gaal | OCaml does ;-) | ||
stevan | there was a paper not long ago about how you can "do" OO with ML using the module system | ||
which does not suprise me | 20:59 | ||
20:59
Shachaf joined
|
|||
stevan | you have the polymorphism, and structures can "hide" things so you have some kind of encapsulation, and I suppose inheritance could be faked in some way | 20:59 | |
I dont recall how they did it though | 21:00 | ||
gaal | TaPL explains how to do it in \-calc... | ||
21:02
Amnesiac_ joined
|
|||
gaal | well, in the mini lang they create there, which does have records | 21:02 | |
for every class myClass you create a myClassRep structure | 21:05 | ||
and the class is created with a function from myClassRep to myClass | 21:06 | ||
21:06
KingDiamond joined
|
|||
gaal | that also lets you have super | 21:06 | |
the constructor is () -> myClass | 21:07 | ||
() -> a is a useful trick :) | |||
21:13
lypanov left
21:14
lampus_ is now known as lampus
21:16
Limbic_Region joined
21:19
Amnesiac_ is now known as Amnesiac
21:34
KingDiamond joined
21:39
mayall_ joined
22:04
SamB joined
22:06
vel__ left
|
|||
Qiang | ping rafl | 22:11 | |
rafl | Qiang: pong | 22:13 | |
Qiang | hey, rafl . mind me asking you few question on creating debian package? | ||
rafl | Qiang: Go ahead. | 22:14 | |
Qiang | k. i have this package requires libstdc++2.10-glibc2.2, and looks like sarge doesn't have it by default. | ||
22:14
qwacky joined
|
|||
Qiang | now i don't know if it's worth it to put this package as dependency or just a notes to user that they have to install libstdc++2.10-glibc2.2 | 22:15 | |
rafl | Qiang: It's not worth upgrading libc. | ||
Qiang: Get the source package of your app and compile the .deb against sarge. | |||
Qiang: This works for all cases where the build-dependencies are available in sarge. | 22:16 | ||
Qiang | yeah. i build this one on my debian unstable, if i buid it for stable, there maybe chance it won't work for unstable.. | 22:17 | |
i am just started to making debian package for our workplace. | |||
rafl | That's the nature of Debian package and the reason why Debian provides three branches. | ||
Qiang: If your're workplace uses more than one branch you will most likly need to recompile the packages for each of them. | 22:18 | ||
Qiang: But there's pbuilder that will let you create a toolchain for a given branch and compile stuff inside. | |||
Qiang | hm. okay. i just didn't realize it .. :0 | ||
our build is pretty simple.. just use dpkg --build | 22:19 | ||
with the control and postinst file .. | 22:20 | ||
rafl | That's.. dirty! | ||
Qiang | i wouldn't know. guess as long as the pkg work.. | ||
rafl | It's much harder to compile a package for multiple branches if you don't have a proper source package. | 22:21 | |
Qiang | yeah. i am sure i barely touched it.. | 22:22 | |
when you say 'it's not worth upgrading libc" , why is that? | 22:23 | ||
rafl | That can cause lots of problems during upgrades for example. | ||
Qiang | i was just thinking make the libc dependency is problematic.. as user may have newer libc installed in the future. how to test that and how to make sure the newer libc work for our pkg.. | 22:24 | |
looks like i better make the package for stable too. maybe it will work for unstable. ;-) | 22:26 | ||
rafl | The dependencies of Debian packages are usually on a minimum version of a package. | ||
22:27
justatheory joined
|
|||
Qiang | thanks for the info.. rafl. | 22:28 | |
rafl | Qiang: np | 22:36 | |
22:37
Limbic_Region joined
22:42
drbean joined
22:51
Kattana joined
22:56
mayall_ left
23:13
wilx joined
23:20
putter joined
|
|||
putter | fyi, audreyt has a new blog entry up :) | 23:20 | |
wolverian | new? that's old :) | 23:22 | |
putter | stevan: which coincidentally touches briefly on this morning's conversation. not much light, but some more search words for p6l googling... | ||
wolverian: 2006.01.24? that's tomorrow ;) | |||
(and the end of the longest inter-blog gap since the blog move:) | 23:23 | ||
wolverian | hm, true, I read it yesterday (23.) :) | 23:24 | |
putter | :) | 23:25 | |
23:37
wilx joined
|
|||
putter | & | 23:50 |