Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-01-23

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:13 Bobby_D joined perl6
00:14 Bobby_D left perl6
00:32 frederico joined perl6
00:35 Khisanth joined perl6
00:39 TexHexx joined perl6
00:39 TexHexx did you guys already know that lilo is corrupt? he is abusing donations and setting k-lines for fun
00:40 Juerd Why do people keep trying this? They know they'll be collectively ignored :)
00:40 Juerd Oh wait, this isn't ignoring.
00:40 FieldySnuts joined perl6
00:40 Juerd Sorry; pretend I didn't say a thing. (Though ignore me not, please.)
00:42 TexHexx [01:22] <masf> you are a person with very doubtfull intensions mister Lewin
00:42 TexHexx [01:23] <lilo> yours are quite clear and inappropriate
00:42 TexHexx [01:23] <masf> stop your hobby psychology crap on me
00:42 TexHexx [01:23] <lilo> I'm sorry, there's nothing I can do at this point
00:42 TexHexx [01:23] <masf> there is nothing you _want_ to do
00:42 TexHexx [01:23] <lilo> you've tied my hands
00:42 TexHexx [01:23] *-psyBNC* Sun Jan 22 18:23:29 :User deb () got disconnected (from clarke.freenode.net) Reason: Closing Link: unixlovers.info (K-lined)
00:43 TexHexx stop donating for Robert Lewin's hobby and fun!
00:43 Daga joined perl6
00:44 FieldySnuts left perl6
00:44 spb joined perl6
00:44 TexHexx stop donating for Robert Lewin's hobby and fun!
00:46 hachi wait.. I'm on freenode? how did that happen
00:47 Alias_ wtf, spam-bots?
00:47 theorbtwo hachi: Um, this channel has always been on freenode.
00:47 dduncan joined perl6
00:47 hachi I'm just being sarcastic
00:47 hachi hey alias, is my threatnet bot still running?
00:47 Alias_ what's it called? :)
00:47 theorbtwo Sorry.  My sarcasim-detector seems to be on the fritz lately.
00:47 Juerd Alias_: They're pathetic enough to do it manually.
00:47 hachi would have been kuiki-ed
00:48 hachi where the hell did it go
00:48 Alias_ nope
00:48 hachi theorbtwo: irc doesn't have a way for me to send OOB sarcasm values
00:48 Alias_ You didn't put the cron-restart on it did you
00:48 Alias_ I told you it would die from time to time
00:48 hachi I put the cron in
00:48 TexHexx stop donating for Robert Lewin's hobby and fun!
00:49 hachi heh
00:49 Juerd Who saw that one coming?
00:49 theorbtwo Thank you, Robert Lewin.
00:49 Juerd How the hell can one stop doing something they've never done, though?
00:50 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!
00:50 dduncan svk installed without a hitch
00:50 dduncan and I copied my .svk dir over from the old system
00:50 Juerd I don't like freenode and wouldn't donate. I'm here because channels are here :)
00:50 dduncan and issuing pulls just worked
00:50 dduncan there's an issue with ghc though
00:51 dduncan is it normal to have to modify my path on a new system for calling 'ghc' to work?
00:51 dduncan 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
00:51 Juerd dduncan: Depends on many things.
00:52 Juerd Mostly your definition of normal :)
00:52 hachi oh cute, hey alias... apparently this 'nohup' thing needs write access somewhere
00:52 Alias_ hmm
00:52 dduncan on my new X 10.4.4 system, the path is: /bin:/sbin:/usr/bin:/usr/sbin
00:52 Juerd nohup. Another tool I've never needed.
00:52 dduncan but no 'ghc' binary is in those places
00:52 hachi I just setsid()
00:52 dduncan rather it is in /usr/local/...
00:52 Juerd dduncan: That's a rather limited and ununixish path
00:52 wolverian wow, in java +, - etc. are built into the language syntax, so there is no way to type something "anything that supports + and -"
00:53 wolverian now, back to hell, thanks
00:53 dduncan so what's the best way to make calling 'ghc' just work?
00:53 Juerd wolverian: Java is a very awkward language.
00:53 wolverian Juerd, I'm finding that out now.
00:53 Juerd wolverian: It has very funny yet sad quirks
00:53 wolverian if I want static typing I'll just use Haskell. this is crazy
00:53 Juerd wolverian: It's said to be fully OO by its fanatics, yet it also has variables that aren't objects.
00:53 dduncan in any event, a clean call of Makefile.PL fails for not finding ghc; it expects 'ghc' to be in my path
00:53 wolverian (except now, since I _have_ to use Java. meh)
00:54 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
00:54 dduncan I can add that to my path, or put an alias in bin
00:54 wolverian Juerd, yeah. because that can be optimised for speed. heh.
00:54 Juerd wolverian: And who needs to dispatch based on strings, anyway :)
00:55 wolverian not humans!
00:55 Juerd I can't recall having used anything switch/case-like with numbers, since my Visual Basic time.
00:55 dduncan just looking at ghc manual now ...
00:55 spb left perl6
00:55 Juerd And that was because win32api so often uses numeric values to indicate status...
00:56 Juerd 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.
00:56 Juerd But Java doesn't have that either.
00:56 wolverian all these <Foo<Bar>, Baz<P<T>>> are very much hurting readability
00:57 Juerd What's that?
00:57 wolverian generics
00:57 wolverian class Foo<T> { T bar () { return new T() } }
00:57 Juerd In general, I find that bracketing operators hurt readability, and should be used with care only.
00:58 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
00:58 wolverian Juerd, I much prefer perl6's []
00:58 wolverian Juerd, class Foo[T] { method bar (--> T) { T.new } }
00:59 wolverian er, s/\[T\]/[::T]/
00:59 Juerd wolverian: I like [] better than <> too
00:59 wolverian I even like the ::T - it visually shows what is a type
00:59 wolverian i.e. exactly why we have sigils :)
00:59 Juerd Yes, sigils rock.
00:59 Juerd Though I'm not pleased with how the new sigils work.
01:00 Juerd Especially long lived twigils.
01:00 wolverian hm?
01:00 wolverian ah, the scope issue
01:00 theorbtwo That's why MS uses Hungarian notation... but MS overdoes it.
01:00 Juerd I love them for short scopes.
01:00 Juerd theorbtwo: And does it the wrong way.
01:01 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.
01:01 wolverian even though that is in no way required - it's just that Java sucks.
01:01 Juerd I hate "numFileSize" kind of hungarian notation: I can very well decide that it's a number myself.
01:02 Juerd And whether something is floating point or integer, I don't care. A compiler can tell me when I guessed wrong.
01:02 Juerd I care more about the unit of the number.
01:03 Juerd Are we expressing "duration" in seconds (unixlike) or in days (windowslike)?
01:03 Juerd Incidentally, I also hate it when people write multiplications the wrong way around
01:03 theorbtwo I hate lp.  When's the last time you used a short pointer?  Can't we just shorten lp to p?
01:04 Juerd When seeing $duration = 60 * 24, I will assume it means 60 days, expressed in hours.
01:04 Juerd When seeing $duration = 24 * 60, I will asume it means 1 day, expressed in minutes.
01:05 Juerd 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.
01:05 Juerd Or it was part of an article.
01:05 theorbtwo The joel-on-software guy?
01:05 Juerd Yea
01:06 Juerd 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 Juerd http://www.joelonsoftware.com/articles/Wrong.html
01:07 Juerd "But then something kind of wrong happened.
01:07 Juerd The dark side took over Hungarian Notation."
01:07 Juerd Call me sensationalist, but I like that writing style.
01:08 mlh_ he's a very good writer
01:09 Juerd Not everyone agrees, and I can see why
01:09 Juerd But I like it
01:10 Juerd I just often disagree with what he writes :)
01:12 Khisanth have you read his books as well?
01:12 Juerd No
01:20 hcarty joined perl6
01:23 dduncan path change done, 'make' is working on the clean pugs
01:32 Juerd     Battery 1: discharging, 0%
01:32 Juerd It used to indicate time left too.
01:32 Juerd But apparently it isn't so sure anymore.
01:35 Juerd ...
01:35 Juerd Still there :)
01:56 _maydayjay_ joined perl6
01:59 luqui joined perl6
02:07 beppu_ joined perl6
02:09 trym_ joined perl6
02:16 dduncan make successful, now running first smoke of pugs under my new OS
02:16 dduncan of r8776
02:16 dduncan first few test items appear to be completing in about the right amount of time
02:19 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 perl6
02:24 _maydayjay_ joined perl6
03:13 stevan_ joined perl6
03:18 hcarty left perl6
03:29 feng123 joined perl6
03:50 meppl guten morgen
03:57 xern joined perl6
04:19 revdiablo joined perl6
04:38 dduncan smoke of 8776 on darwin/haskell done
05:01 Amnesiac joined perl6
05:19 audreyt ingy: http://perlcabal.org/~autrijus/tmp/kwid.pl
05:19 audreyt # pure perl5 implementation of Text.Parser.Kwid
05:19 audreyt should be fast and general-purpose enough
05:20 ingy audreyt++
05:20 _maydayjay_ joined perl6
06:31 Daga left perl6
06:51 xinming joined perl6
06:55 GeJ joined perl6
07:05 elmex joined perl6
07:19 iblechbot joined perl6
07:45 Alias_ joined perl6
07:45 nothingmuch joined perl6
07:45 nothingmuch hola
07:51 GeJ hola nm
07:53 * nothingmuch waits for someone to ask why he's already back
07:54 Alias_ You're back?
07:54 nothingmuch aye
07:54 nothingmuch no IRC in the outdoors
07:55 GeJ supposed to do 5 days of hiking, no?
07:55 nothingmuch aye
07:55 nothingmuch first day was wonderful
07:55 nothingmuch good pace
07:55 nothingmuch nice food
07:55 nothingmuch good sleep
07:55 nothingmuch rain didn't bug us
07:55 nothingmuch then we met some kid on the trail, who was all "i am an expert"
07:56 nothingmuch he said we should definately not go on the road but stay with the stream despite there being no trail there
07:56 nothingmuch we had no clue
07:56 nothingmuch turns out this is plausible advice in the summer, when the stream is dry
07:56 nothingmuch after 5 hours of skipping rocks, swinging from trees, drying to pass trough vines and branches at ~1km an hour
07:57 nothingmuch we realized there's no way in the world we're actually going to finish this bit of trail
07:57 nothingmuch and there's no where to raise a tent
07:57 GeJ filthy hobbitses, they lied to us
07:57 nothingmuch so we started walking in the water
07:57 nothingmuch which is like, a big mistake generally
07:57 nothingmuch we made it out of there
07:57 nothingmuch but our feet were dead
07:58 nothingmuch i still can't walk on my toes from all the blisters
07:59 dduncan left perl6
08:00 GeJ ouch
08:00 nothingmuch ayew
08:00 nothingmuch nevermind
08:00 nothingmuch we'll do the regular trail again someday
08:15 pdcawley joined perl6
08:41 \xe6var joined perl6
09:00 bsb joined perl6
09:08 metaperl joined perl6
09:09 metaperl Juerd: ping?
09:21 metaperl anyone setup an svn repo on feather.perl6.nl?
09:25 iblechbot joined perl6
09:29 azuroth tried svk, metaperl?
09:33 \xe6var you can't host repositories with svk?
09:35 audreyt \xe6var: svk is just a svn client :)
09:35 audreyt (and a p4 client and a cvs client)
09:38 Debolaz A lousy cvs client though. :)
09:38 audreyt yup
09:40 Arathorn joined perl6
09:51 kane_ joined perl6
09:53 arcady joined perl6
10:02 kane_ joined perl6
10:03 metaperl azuroth: no, i have not tried svk
10:06 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
10:06 metaperl i've gotta get something to drink
10:07 azuroth ahh, sorry. I thought you might've been talking about hacking on the pugs repository from feather
10:09 G2 joined perl6
10:10 metaperl oh no
10:13 rantanplan_ joined perl6
10:45 DaGo joined perl6
10:50 fabinnn joined perl6
10:53 fabinnn left perl6
11:20 Juerd metaperl: pong
11:21 metaperl Juerd: I was trying to do an svn import from my local box to feather...
11:21 metaperl is that possible?
11:35 r0nny joined perl6
12:03 drbean joined perl6
12:24 iblechbot joined perl6
12:27 Bit-Man joined perl6
12:31 lypanov joined perl6
12:43 rodi joined perl6
12:51 nothingmuch joined perl6
12:57 penk joined perl6
13:03 chris2 joined perl6
13:14 sahadev joined perl6
13:25 wilx joined perl6
13:31 dada joined perl6
13:32 Limbic_Region joined perl6
13:33 kolibrie joined perl6
13:45 sysfault joined perl6
13:45 sysfault left perl6
14:25 saper joined perl6
14:32 Qiang joined perl6
14:44 G2 left perl6
15:05 binary42 joined perl6
15:08 vel__ joined perl6
15:09 Eimi joined perl6
15:14 Amnesiac joined perl6
15:26 Juerd rafl: Any word from your friend who shipped the package?
15:27 Juerd metaperl: I don't know. Why would it not be?
15:27 rafl Juerd: I guess he'll be here in two hours.
15:27 metaperl Juerd: the svn import was rejected
15:29 Juerd metaperl: What has that to do with feather?
15:29 Juerd rafl: Okay
15:31 pdcawley Juerd: re feather; might as well let my account lapse.
15:32 pdcawley I'm simply not using it.
15:33 Juerd pdcawley: The question was, but many people haven't noticed that, *why* the box is used less :)
15:33 Juerd I'm not looking for people to give up their accounts :)
15:34 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
15:34 Juerd pdcawley: Okay, but also not a feather sourced reason
15:34 pdcawley Indeed.
15:35 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.
15:35 Juerd theorbtwo: At least half of the responses I got so far can be abstracted as lack of tuits.
15:35 theorbtwo I never much saw the value in sshing somewhere else when I've got a perfectly servicable box under my desk.
15:36 Juerd Perl people fare better in commercial life now than half a year ago, apparently.
15:36 Juerd theorbtwo: I understand that; feather was mostly meant for people without such boxes :)
15:36 Juerd 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.
15:37 theorbtwo Hm.
15:38 hexmode joined perl6
15:38 \xe6var pdcawley: you write the p6l list summaries?
15:38 pdcawley Me and Matt Fowles, yes.
15:39 \xe6var I loved that comment about the // operator
15:39 pdcawley Umm... which comment was that?
15:40 \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 \xe6var $x = shift err 'oh noes';
15:41 pdcawley I don't think that one was mine.
15:41 pdcawley Sadly.
15:41 \xe6var ;)
15:41 chris2 joined perl6
15:44 Juerd Hm, Matt actually had a funny joke in a summary? :)
15:55 gaal audreyt: ping
16:04 putter joined perl6
16:04 stevan_ is now known as stevan
16:04 stevan Yo putter!
16:05 stevan (morning|afternoon|evening|middle_of_the_night) everyone :)
16:05 putter audreyt: Anarchaia http://chneukirchen.org/anarchaia/archive/2006/01/17.html has an entry "As seen on #perl6…, a very good description of Perl 6, IMO.", linking to http://pugs.blogs.com/pugs/2006/01/as_seen_on_perl.html .   So there _is_ interest... :)
16:06 putter hi stevan :)
16:06 putter hey stevan, a question,
16:06 stevan hey putter, an answer (maybe)
16:06 putter lol
16:06 DaGo joined perl6
16:07 putter is there any specced syntax for the bottom-up bits of Grammars?  Aside from the minimally specced rxmumble:<w>
16:07 putter ie,
16:08 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,
16:08 putter ah
16:08 stevan although it is not an area i have much interest in so I may be wrong
16:09 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
16:10 putter ok, thanks :)
16:10 stevan putter: pdcawley is maybe a good person to ask, he was around about a half hour ago
16:10 putter pdcawley: ping?
16:10 pdcawley pong
16:10 pdcawley Um... nothing ringing any bells here; luqui/Luke Palmer probably knows.
16:11 pdcawley seen luqui
16:11 jabbot pdcawley: luqui was seen 6 days 1 hours 49 minutes 52 seconds ago
16:11 stevan luqui is back in classes IIRC
16:11 putter ok, thanks!
16:11 stevan so he will probably not be around much  
16:11 stevan putter: you could always ask the question on p6l :)
16:12 putter could do.
16:12 gaal seen audreyt
16:12 jabbot gaal: audreyt was seen 6 hours 34 minutes 33 seconds ago
16:18 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:20 putter we have for reuse is package's kids, so one goes down a path of   rule exprA {{ExprA::mumble()}} grammar ExprA is ExprCommon {...}
16:21 stevan putter: I am not sure what odd interaction you mean.
16:21 * Juerd upgrades feather
16:21 Juerd Let me know if anything broke
16:22 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
16:22 putter Thoughts?
16:22 Juerd Leeching at 6 MB/s. I love this connection
16:22 stevan putter: my knowledge of grammers is limited,.. but ...
16:23 stevan I would prefer multi-methods to not be inside namespaces
16:23 stevan because they really should be top-level things
16:23 stevan putting them in a namespace is only useful in the sense that they are modularized
16:23 stevan but in terms of their dispatching,.. i can see little use for it
16:24 stevan 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 stevan multi Foo::bar and multi Bar::bar are not related in anyway
16:25 stevan multi-methods seem more like you standard functional language "pattern matching"
16:25 * stevan wonders if putter is furiously typing another long response :)
16:25 * stevan encourages putter to hit the enter key every once in a while
16:25 lypanov lol
16:26 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 putter :)
16:27 stevan putter: yes, its all related to the package
16:27 stevan s/related to/related by/
16:27 stevan but this IMO, impedes the usefulness of multi-methods
16:27 stevan the CLOS/Ada95/Dylan generic function approach is really nice  
16:27 marmic joined perl6
16:28 bsb joined perl6
16:28 stevan generic functions are essentially a generalization of message passing
16:28 stevan and so can be really powerful,
16:28 putter so packaged multis are potentially useful.   Foo::bar {... default...}    pkg Foo {  pkg Hee { multi bar (); ...}}
16:28 stevan but when constrainted by namespaces, can be less so
16:29 * 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
16:29 putter a question
16:29 stevan putter: well the LISP package system is very different from Perls
16:29 stevan and unreleated to CLOS
16:29 putter iniside Hee abouve, is Hee::bar independent of Foo::bar, or do their cases combine?
16:30 stevan AFAIK they are independant
16:30 stevan unless Hee.isa(Foo)
16:30 stevan in which case the method dispatching will find the most appropriate one
16:30 stevan based on the other args supplied
16:31 stevan 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 perl6
16:31 stevan putter: I am not sure about the algebra part, I think luqui started something with Class::Mulitmethods::Pure
16:31 stevan but I am not sure how far he got
16:32 stevan and if he is still exploring it
16:32 * pdcawley boggles at the 'bless' spat in p6l...
16:32 G2 joined perl6
16:32 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?
16:32 stevan putter: but I think the "overriding some, inheriting some" part is going to be tricky
16:32 * pdcawley grins, I'm just glad I'm not writing the summary this week.
16:32 stevan LOL
16:33 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
16:33 pdcawley Indeed.
16:33 putter are roles defined recursively?  role A{role B{}}  role C does role A { role B? {}} ?
16:33 \xe6var why have it at all?
16:34 pdcawley seen robkinyon?
16:34 jabbot pdcawley: robkinyon was seen 2 days 19 hours 36 minutes 38 seconds ago
16:34 stevan pdcawley: robkinyon is actually my coworker :)
16:34 pdcawley Heh.
16:34 stevan :)
16:34 stevan the man is nuts,... but thats part of the reason we hired him :)
16:34 putter so that's 3 people for NE P6 Users Group...:)
16:35 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
16:35 putter assuming coworker == geographically colocated...
16:35 stevan putter: nope, robkinyon is in the mid-west.. we are a virtual company
16:35 putter ah well
16:36 stevan pdcawley: IIRC all those ruby methodmakers are manipulating the underlying metamodel right?
16:37 pdcawley Um... I've still not read the art of the metaobject protocol...
16:37 rodi joined perl6
16:37 putter stevan: or simply evaling
16:37 pdcawley It depends on the methodmaker...
16:37 stevan true
16:37 pdcawley Some are adding hooks, some are evalling, some are including modules.
16:37 stevan well they /could/ be done by messing with the metamodel
16:37 pdcawley I'm not entirely sure how monkeyable with the Ruby metamodel is.
16:38 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
16:38 pdcawley Oh, yes, they're definitely adding class methods dynamically.
16:39 putter (there was ambiguity whether you meant "manipulating the ...mm" as "use mm" or "change mm")
16:39 putter "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 perl6
16:40 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)
16:41 stevan changing the mm is dark magic in any language though,.. and not as common
16:41 stevan yes, exactly
16:41 stevan I am not sure how possible it is to subclass Class in ruby though
16:41 putter re dark magic, not always, especially prototype-based systems with "dispatcher is just a normal method".
16:42 stevan but I suppose adding singlton methods to your class's metaclass would accomplish the same thing since it creates the eigenclass
16:42 stevan putter: yes, but prototype systems dont have a metaclass so much
16:42 stevan and are much more straightforward in their structure
16:44 putter oh, before I forget, is role inheritance recursive?
16:45 putter ie, with nested roles?
16:45 stevan putter: uhm
16:45 stevan not sure what you mean
16:45 stevan code example?
16:45 putter ole A{role B{}}  role C does role A { role B? {}} ?
16:45 stevan ah
16:45 stevan hmm
16:45 stevan I dunno,.. you mean inherit subroles?
16:46 stevan I am not sure
16:46 stevan thats a good question actually
16:46 stevan not even really subroles,.. but sub-namespaces
16:46 stevan because B is realy A::B::*
16:46 stevan s/B::*/B/
16:47 \xe6var Odin-: oi
16:47 Odin- \xe6var: Ojjjj!
16:48 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 perl6
16:49 stevan you might want to p6l that one
16:49 putter though that gets fuzzier if its modules or packages which are embedded
16:50 stevan it is as intuitive as it is unintuitive
16:50 stevan so it is hard to say
16:51 stevan there is also a distinction between role A { my role B {}} and role A { role B {}}
16:52 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 putter ooh, good point
16:53 stevan why did you want to specify  the cases for a multi?
16:53 stevan just dont include them if you dont want them
16:53 nothingmuch hola stevan
16:53 nothingmuch hola putter
16:53 * stevan is a little confused re: the context
16:53 stevan heya nothingmuch :)
16:56 stevan putter: are you thinking something like Haskell?
16:56 stevan the where "clause" ?
16:56 stevan or is it "case"
16:56 * stevan haskell-fu is very weak
16:58 nnunley_ joined perl6
17:03 nnunley_ is now known as recover
17:04 recover is now known as nnunley
17:16 lampus_ joined perl6
17:27 bsb left perl6
17:41 putter joined perl6
17:42 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:48 putter 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:49 putter 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 justatheory joined perl6
17:52 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 putter It looks like the following never reached the net...
17:52 putter 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.
17:53 putter re ruby Classes, I believe one can  Class2 is Class, fiddle with Class2's methods, and Int2 = Class2.new(), etc.
17:53 putter 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...
17:54 putter hi nothingmuch
17:54 stevan putter: I think that is how multis are looked at
17:54 stevan bags of variants
17:55 stevan and I think they should have a .meta too
17:55 stevan which allows access to the @variants
17:55 putter that would be nifty
17:55 stevan putter: you should sketch out a wishlist MOP for multis
17:56 putter :)
17:56 putter for a couple of years, I almost usenet-posted a "Dear Santa, I want a programming language which..."
17:57 stevan LOL
17:57 stevan now is your chance,..just s/Santa/@Larry/
17:57 putter lol :)
17:59 justathe1ry joined perl6
18:01 rafl Juerd: My flatmate is an asshole.
18:02 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
18:02 lypanov rafl: he leaves shit all over the place
18:02 lypanov and then expects me to clean up!
18:02 rafl Juerd: He "forgot" to send it... twit!
18:02 Juerd rafl: Oh!
18:02 * lypanov notes he lives alone
18:02 rafl Juerd: I'll send it tomorrow. I'm really sorry for that!
18:02 * lypanov wonders if all flatmates stem from the same genetic root
18:02 Juerd rafl: It's okay. The end result is great, yet unexpected -- I get to buy a new camera AND have my photos!
18:03 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.
18:04 Juerd And today I more or less decided to just get one. My mind is set to it.
18:04 rafl Juerd: That's.. decadent.
18:04 Juerd I guess so.
18:04 rafl Juerd: I can recommend an IXUS 50. :-)
18:05 robkinyon seen pdcawley
18:05 jabbot robkinyon: pdcawley was seen 1 hours 26 minutes 15 seconds ago
18:05 Juerd I'm currently in great doubt. Panasonic FX9 and Canon IXUS 55 are the two contestants.
18:05 rafl diff ixus50 ixus55
18:05 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
18:06 Juerd rafl: 2.5" screen rather than 2.0", and a few minor fixes in the casing
18:06 Juerd rafl: In image quality, flash, etcetera, it's the same.
18:06 bernhard joined perl6
18:06 rafl Juerd: Does the 55 still have a "seeker" or whatever this is called?
18:06 Juerd It does. View finder.
18:07 Juerd I don't see what use one is. I never use it with digital cameras.
18:07 Juerd BBL  # leaving for diner
18:07 Juerd dinner
18:07 Juerd Hm. diner or dinner?
18:07 Juerd afk
18:08 putter
18:08 putter -++
18:08 webmind the view finder on the ixus is actually rather crap imho
18:08 webmind and I don't use it.. but the concept is nice
18:08 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?
18:10 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:11 Juerd 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 Juerd afk
18:11 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.
18:12 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.
18:13 Odin- theorbtwo: Don't you just love how the language with the most words never seems able to have them adequately different?
18:21 rantanplan_ joined perl6
18:22 justatheory joined perl6
18:23 nnunley 2/names
18:23 nnunley Ugh.
18:28 putter stevan, pdcawley: thanks for your help
18:28 putter &
18:36 rantanplan_ joined perl6
18:39 nothingmuch joined perl6
18:47 typester joined perl6
18:50 marmic joined perl6
19:02 rantanplan_ joined perl6
19:08 Juerd rafl: Oh, if you have means of reading the data and don't mind uploading them, please put them on feather
19:32 justatheory joined perl6
19:48 Khisanth joined perl6
19:58 rafl Juerd: translate -i "if you have means of"
20:04 Juerd rafl: If you can do it, i.e. have the bandwidth
20:04 Amnesiac_ joined perl6
20:10 rafl Juerd: I can do that over night. Does your cam use normal SD cards?
20:11 Juerd No, CF
20:11 Juerd CompactFlash
20:11 Juerd And it can be used via USB with gphoto2
20:16 rafl Juerd: I don't have a CF reader..
20:18 rafl Juerd: So I'll send the card tomorrow, OK?
20:19 Juerd ok
20:21 rafl Juerd: preconditioned the new bass guitar I ordered last week doesn't arrive before. ;-)
20:27 Juerd :P
20:27 Lartuv joined perl6
20:34 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:37 stevan gaal: IIRC OCaml's module system is based on SMLs module system which is very powerful
20:37 stevan you might find some resources about both online too
20:38 stevan gaal: the coolest part about them (IMO anyway) is the Functors, which basically bring polymorphism to them
20:39 gaal has this got anythign to do with what functor means in haskell?
20:40 stevan I dont know haskell functors so I cant say
20:40 gaal fmap :: (a -> b) -> f a -> f b
20:41 gaal with two laws
20:41 gaal fmap id  ==  id
20:41 gaal fmap (f . g)  ==  fmap f . fmap g
20:41 stevan hmm,.. no not really releated
20:42 gaal the idea being to generalize map.
20:43 gaal so, give me a clue/pointer to .*ml functors?
20:46 * stevan pulls down the ML book and looks ...
20:47 dduncan joined perl6
20:49 stevan Okay the ML module system has 3 basic components
20:49 stevan (BTW - I am mostly quoting from the book,.. so if I am wrong,.. so is the book :)
20:49 stevan 3 parts == structure, signature, functor
20:50 mayall joined perl6
20:50 stevan they are conceptually similar to the things in the core language
20:50 frederico joined perl6
20:50 stevan structure == value
20:50 stevan signature == type
20:50 stevan functor == function
20:51 stevan a functor is a parametric structure
20:51 theorbtwo So what's the difference between a functor and a... ah, thank you.
20:51 stevan a functor can take a signature as a parameter, and as long as the structure conforms to that signature, its cool
20:51 stevan so you can get module polymorphism that way
20:52 stevan BTW - structure is basically a module
20:52 stevan not a C struct
20:52 Amnesiac_ is now known as Amnesiac
20:52 gaal OK
20:54 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 stevan But if A and 'A are both useful, such as structures for floating point arith in diff precisions
20:55 stevan 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 stevan </ end_plagarism >
20:56 stevan 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.
20:57 theorbtwo You can pass types to functions-that-return-types, and get out types.
20:57 stevan yes,  I think it is conceptually very similar
20:58 stevan except for the OO part, because ML has no OO :)
20:58 gaal OCaml does ;-)
20:58 stevan there was a paper not long ago about how you can "do" OO with ML using the module system
20:59 stevan which does not suprise me
20:59 Shachaf joined perl6
20:59 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
21:00 stevan I dont recall how they did it though
21:00 gaal TaPL explains how to do it in \-calc...
21:02 Amnesiac_ joined perl6
21:02 gaal well, in the mini lang they create there, which does have records
21:05 gaal for every class myClass you create a myClassRep structure
21:06 gaal and the class is created with a function from myClassRep to myClass
21:06 KingDiamond joined perl6
21:06 gaal that also lets you have super
21:07 gaal the constructor is () -> myClass
21:07 gaal () -> a is a useful trick :)
21:13 lypanov left perl6
21:14 lampus_ is now known as lampus
21:16 Limbic_Region joined perl6
21:19 Amnesiac_ is now known as Amnesiac
21:34 KingDiamond joined perl6
21:39 mayall_ joined perl6
22:04 SamB joined perl6
22:06 vel__ left perl6
22:11 Qiang ping rafl
22:13 rafl Qiang: pong
22:13 Qiang hey, rafl . mind me asking you few question on creating debian package?
22:14 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 perl6
22:15 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.
22:15 rafl Qiang: Get the source package of your app and compile the .deb against sarge.
22:16 rafl Qiang: This works for all cases where the build-dependencies are available in sarge.
22:17 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 Qiang i am just started to making debian package for our workplace.  
22:17 rafl That's the nature of Debian package and the reason why Debian provides three branches.
22:18 rafl 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 rafl Qiang: But there's pbuilder that will let you create a toolchain for a given branch and compile stuff inside.
22:18 Qiang hm. okay. i just didn't realize it .. :0
22:19 Qiang our build is pretty simple.. just use dpkg --build
22:20 Qiang with the control and postinst file ..
22:20 rafl That's.. dirty!
22:20 Qiang i wouldn't know. guess as long as the pkg work..
22:21 rafl It's much harder to compile a package for multiple branches if you don't have a proper source package.
22:22 Qiang yeah. i am sure i barely touched it..
22:23 Qiang 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.
22:24 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:26 Qiang 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 perl6
22:28 Qiang thanks for the info.. rafl.
22:36 rafl Qiang: np
22:37 Limbic_Region joined perl6
22:42 drbean joined perl6
22:51 Kattana joined perl6
22:56 mayall_ left perl6
23:13 wilx joined perl6
23:20 putter joined perl6
23:20 putter fyi, audreyt has a new blog entry up  :)
23:22 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...
23:22 putter wolverian: 2006.01.24?  that's tomorrow ;)
23:23 putter (and the end of the longest inter-blog gap since the blog move:)
23:24 wolverian hm, true, I read it yesterday (23.) :)
23:25 putter :)
23:37 wilx joined perl6
23:50 putter &

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

Perl 6 | Reference Documentation | Rakudo