Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-05-15

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:04 larsen has quit IRC ("later")
00:49 autrijus inheritance landed.
00:49 svnbot6 r3237, autrijus++ | * Inheritance!
00:49 autrijus erxz_paste: I changed wizards.p6 to take advantage of that
00:50 autrijus er
00:50 autrijus eric256: I changed wizards.p6 to take advantage of that
00:50 autrijus but he's gone ;)
00:50 autrijus also landed is typed attributes.
00:50 clkao go away sick boy! go to sleep!
00:51 autrijus heh. ok...
00:51 autrijus but Test::Builder seems to be very nearly runnable.
00:58 elmex has quit IRC ("leaving")
01:01 Chewie[] has joined #perl6
01:02 Chewie[] will this be valid Perl 6 code?  my ($server | $port) = $network->{ [|] qw/server port/ };
01:10 broquaint No.
01:10 broquaint Or, if it is, $God help us.
01:15 castaway_ has joined #perl6
01:15 svnbot6 r3238, bsb++ | draft haddock for Prim and Run
01:18 theorbtwo has quit IRC (Read error: 145 (Connection timed out))
01:27 castaway has quit IRC (Read error: 110 (Connection timed out))
01:28 _jroc_ has joined #perl6
01:34 _jroc_ has quit IRC ("Leaving")
01:40 meppl gute nacht
02:06 stevan autrijus++ # inheritance
02:06 svnbot6 r3239, bsb++ | unbreak runWithArgs, oops
02:26 broquaint has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
02:27 meppl has quit IRC (Remote closed the connection)
02:49 _jroc_ has joined #perl6
02:49 _jroc_ has quit IRC (Client Quit)
03:08 zuulvin_ has quit IRC (Read error: 110 (Connection timed out))
03:09 zuulvin_ has joined #perl6
03:12 Darren_Duncan has joined #perl6
03:24 xinming has joined #perl6
03:28 simcop2387 has quit IRC ("Client exiting")
03:30 stevan hola Darren_Duncan
03:30 Darren_Duncan hello Stevan
03:30 stevan Darren_Duncan: autrijus just implemented inheritance
03:30 Darren_Duncan I am now starting to code Perl 6 again
03:30 Darren_Duncan oh goodie
03:31 stevan I am writing some tests for the Test::Builder port right now
03:31 Darren_Duncan I'm starting over, taking the existing perl 5 Locale::KeyedText and moving it to perl 6 ...
03:31 stevan it seems to work quite well
03:31 stevan cool
03:31 Darren_Duncan taking other *working* code in /ext, plus my previous p6 translations, as guides
03:31 Darren_Duncan if all goes well, I'll check in a functional module in a few hours
03:31 stevan Darren_Duncan: cool
03:31 Darren_Duncan in /ext
03:32 stevan look at Tree and Set
03:32 stevan they are the two working OO modules now
03:32 Darren_Duncan so I also popped into #perl6 again since I can participate in meaningful discussion
03:32 Darren_Duncan will look at Tree and Set
03:32 stevan Test::Builder seems to mostly work too
03:33 Darren_Duncan working ...
03:33 Darren_Duncan oh, fyi, I'm working with svn 3239
03:34 stevan yeah thats the latest
03:34 stevan on annoying gotcha
03:34 Darren_Duncan you know, this is the first time I actually executed Pugs ...
03:34 stevan in order to refer to a class defined in another file
03:34 Darren_Duncan 'make test' doesn't count
03:34 stevan you need to do this
03:34 stevan ::Tree.new()
03:34 Darren_Duncan okay
03:35 Darren_Duncan is that the way Perl 6 should work, or just the current implementation?
03:37 simcop2387 has joined #perl6
03:38 stevan the current impl
03:38 stevan mugwump (who wrote Set) just exported a plain sub which creates a Set
03:38 stevan I did the same with Tree
03:38 stevan although I just actually removed that in favor of ::Tree.new()
03:39 Darren_Duncan It appears that Pugs doesn't like "module Foo { ... }" and only "module Foo;"
03:39 stevan yes
03:39 stevan for modules
03:39 stevan I am not sure if mixing Modules and Classes works well right now
03:40 Darren_Duncan well, I could declare that as a class for now, but it doesn't have any attributes
03:40 svnbot6 r3240, Stevan++ | Tree - removed the Tree::new function, and just use the ::Tree.new() in the tests
03:47 Darren_Duncan one missing class feature - 'trusts'
04:03 Darren_Duncan question ...
04:04 Darren_Duncan when invoking/using private attrs/methods, is the proper syntax $obj.:foo or $obj:foo ?
04:04 stevan I am not sure
04:04 Darren_Duncan your Set example shows the latter, but I used the former in my earlier translation, and that may be more correct
04:04 Darren_Duncan will look at spec ...
04:05 stevan Set is by mugwump
04:05 stevan (except any ugly hacks, which are mine)
04:05 Darren_Duncan I thought all method/attr use had the "." in it, and private ones also have ":"
04:05 stevan I think so
04:05 stevan I am not sure private an public work right now
04:05 stevan I think they are all public
04:05 Darren_Duncan Set declares private ones
04:06 stevan it only make a difference if accessors are generated
04:06 stevan yes they parse, but I am not sure if they are truly private
04:06 Darren_Duncan in any event, I am trying to write to the current supported features, and then change later if necessary
04:07 cjn has quit IRC ("Leaving")
04:13 nothingmuch morning
04:16 Darren_Duncan morning
04:20 metaperl has quit IRC (" HydraIRC -> http://www.hydrairc.com <- IRC for those that like to be different")
04:30 eric256__ has joined #perl6
04:30 svnbot6 r3241, Stevan++ | Test::Builder - adding begining of test suite for Test::Builder
04:32 nothingmuch has quit IRC ()
04:42 eric256__ has left
04:43 svnbot6 r3242, eric256++ | Made to look a little like perl 6 code. ;) ...it is a bit slow though
04:51 eric256__ has joined #perl6
04:52 * eric256__ waits for half-life 2 to finish installing. ;(
04:52 eric256__ ;)
04:54 kelan they have half-life 2 for perl6 now?
04:54 kelan sweet
04:55 eric256__ 4.5gb of game....developers these days don't seem to care how much space they take....not like when you could run space quest 9 of 14 floppy (and i mean floppy, not them little square things) disks ;)
04:55 kelan well maybe most of the space is media?
04:55 kelan people like pretty pictures!
04:56 eric256__ that is a whole lot of textures....dunno but i'm drooling just waiting for it...if it is 1/4 as good as the hype it will be fun ;)
04:58 kelan you should contact them and see if you can get a version on floppies
05:00 eric256__ LOL
05:00 eric256__ they would make me pay shipping.....that will be $750 thank you
05:01 kelan worth it, though, for that old-time feel
05:02 knewt it'd be nice if you could get a 5 gig memory stick that's as fast as a hard drive but the same cost as a dvd. then they could sell software on hardware-readonly memory sticks where you just plug the stick in to play :)
05:03 eric256__ i'm halfway surprised it didn't just come on a DVD
05:03 kelan they're starting to nowadays
05:03 knewt eric256__: it didn't? wierd
05:04 eric256__ nope. 5 cd's instead. ;)
05:04 eric256__ kinda gives it that old time feel
05:04 kelan has quit IRC ("!")
05:04 eric256__ would be better if i was in the middle of blasting an alein and it stopped and said "insert disk 5"  then i could backup and have it say "insert disk 3" . lol
05:05 eric256__ nearly done! off i go. later
05:05 eric256__ has left
05:06 Darren_Duncan I've just committed a new port of Locale-KeyedText, which is the first one that compiles, in /ext
05:06 Darren_Duncan in doing this, I can see a few things still missing in Pugs and/or I don't know how to do them in Perl 6
05:07 Darren_Duncan 1. "trusts Foo;" isn't recognized (it is presently commented out)
05:07 svnbot6 r3243, Darren_Duncan++ | added new external module Locale-KeyedText 6v0.1.0, based on 5v1.04; this is a full port of the core module and its Makefile.PL; there are no tests yet; this port compiles, but has not been executed yet; a few code lines are commented out and/or altered because the current compiler would barf them up otherwise
05:08 Darren_Duncan 2. the syntax "$obj.:attr" isn't recognized, while the possibly incorrect "$obj:attr" syntax is accepted (I used that for now)
05:09 Darren_Duncan 3. "returns Array of Str" or "returns Hash of Str" isn't recognized, though "returns Array" and "returns Hash" and "returns Str" is
05:11 Darren_Duncan 4. the expression "'abc'~(.value // '')" in a map-block isn't recognized, but "'abc'~.value" is
05:12 Darren_Duncan 5. I can't seem to have labels in front of for-loop declarations, which I think I need with nested loops to say which to affect with next/last etc; most of one function is presently commented out
05:13 Darren_Duncan that's it for what I noticed so far
05:13 svnbot6 r3244, Stevan++ | Meta-Meta-Class.pod - adding snippet of conversation with gaal explaining why meta-meta-classes are needed in perl6
05:16 Darren_Duncan actually, there's another one ...
05:18 Darren_Duncan 6. I can't say "return [@foo];" or "return {%bar};", which is to explicitly copy the values being returned; only "return @foo;" and "return %bar;" works
05:19 Darren_Duncan also, subtypes aren't implemented it seems, but that's okay since I decided not to use them anyway
05:19 Darren_Duncan the dropping of the subtype usage is the main difference between the 6v0.1.0 I checked in now and the 6v0.0.4 that I checked in to /modules over a month ago
05:21 Darren_Duncan so those 6 numbered items are what remains to be fixed
05:34 Darren_Duncan I'm off now, good night
05:34 Darren_Duncan has left
05:41 nothingmuch has joined #perl6
05:44 nothingmuch wow, what a nice subject for an email: "Goodbye fat, Its summer"
05:45 nothingmuch it seems so much more homely than all my other spam
05:45 nothingmuch even my filter was tricked
05:49 cnhackTNT has joined #perl6
05:50 cnhackTNT has left
05:53 f0rth has quit IRC (Remote closed the connection)
06:01 Shachaf has quit IRC (Remote closed the connection)
06:18 saorge_ has quit IRC ("Leaving")
06:26 wilx All the meta meta thingies.
06:26 wilx Is Perl6 goind to implement Smalltalk object model or something?
06:32 thiesen has joined #perl6
06:37 nothingmuch wilx: they are reflection and introspection support thingies
06:38 nothingmuch it's similar to smalltalk's capabilities, but it's not smalltalk's object system
06:38 Aankhen`` has joined #perl6
06:38 nothingmuch most modern (==last few years) languages have this stuff
06:39 * nothingmuch is proud of his evilness: http://www.perlmonks.org/?node_id=457170
06:47 Boogie_ has joined #perl6
06:55 saorge{PuLa} has joined #perl6
07:03 saorge has quit IRC (Read error: 60 (Operation timed out))
07:05 Boogie has quit IRC (Read error: 110 (Connection timed out))
07:15 scook0 has joined #perl6
07:16 xinming has quit IRC (Client Quit)
07:27 thiesen has quit IRC (Read error: 110 (Connection timed out))
07:31 xinming has joined #perl6
07:50 simcop2387 has quit IRC (Read error: 110 (Connection timed out))
08:45 chady has joined #perl6
08:52 chady has quit IRC ("leaving")
09:03 iblechbot has joined #perl6
09:06 gaal|work has joined #perl6
09:09 nothingmuch has quit IRC ()
09:21 Fayland has joined #perl6
09:25 theorbtwo has joined #perl6
09:28 Fayland is now known as fayland
09:32 fayland has quit IRC ("Chatzilla 0.9.68.2 [Firefox 1.0.4/20050511]")
09:32 scook0 has quit IRC ("Leaving")
09:42 scook0 has joined #perl6
09:42 svnbot6 r3245, autrijus++ | * Private methods: `method :foo ()` and `$obj.:foo`.
09:42 svnbot6 r3245, autrijus++ | * Private attributes: `has $:foo` now generates private accessors.
09:46 larsen has joined #perl6
10:02 wilx Hmm....
10:02 wilx This svnbot.
10:02 svnbot6 r3246, autrijus++ | * dereferencers: `@{...}` and `@$var`.
10:03 wilx It increases karma depending on length of changelog, not number of commits :)
10:05 Aankhen`` Indeed it does.
10:19 wilx has quit IRC (Read error: 131 (Connection reset by peer))
10:19 svnbot6 r3247, autrijus++ | * parsing hierarchical return types: `sub foo returns Hash of Str`
10:19 svnbot6 r3248, autrijus++ | * make Locale::KeyedText use the correct .:method and deref syntax.
10:19 svnbot6 r3249, scook0++ | Haddocks for Monads.hs
10:53 iblechbot has quit IRC (Read error: 60 (Operation timed out))
10:53 svnbot6 r3250, autrijus++ | * Post-term code/method invocation in interpolated strings no longer
10:53 svnbot6 r3250, autrijus++ |   eat trailing whitespace.
10:53 svnbot6 r3251, autrijus++ | * reflect the last change to wizard.p6.
11:02 estel has joined #perl6
11:09 wilx has joined #perl6
11:13 HobNob has joined #perl6
11:25 Alias_ What are the current options for foreach
11:25 svnbot6 r3252, autrijus++ | * allow taking args from cmd line.
11:25 Alias_ I noticed the ugly foreach ( list ) --> $x { }
11:25 Alias_ or whatever it is
11:26 Juerd for LIST -> $x { ... }
11:26 Juerd List doesn't need parens
11:26 Alias_ That seems unusual
11:26 iblechbot has joined #perl6
11:26 Juerd No, it's the new standard.
11:26 integral ugh, there's still the for ==== foreach thing?
11:26 Alias_ Makes $x a lot harder to see
11:26 Juerd integral: No, foreach goes away.
11:27 integral yay!
11:27 Juerd integral: I think it's a bad choice.
11:27 Alias_ So there's no clean 'in' notation equivalent?
11:27 Juerd Alias_: No.
11:27 Alias_ ew...
11:27 integral map { } <=== @list ?
11:27 Juerd I think -> is clean.
11:27 Alias_ There's some big advantages to having the topic first
11:28 Alias_ Juerd: Have you got a copy of P6 Config::Tiny handy?
11:28 Juerd Alias_: No
11:28 Juerd Can you please now ask something I can respond positively to? :)
11:28 Alias_ let me nopaste for you :)
11:28 Alias_ I'll show you the problem with it
11:29 Alias_ actually... it's in the pugs svn still
11:29 Alias_ at /pugs/ext/Config-Tiny/lib/Config/Tiny.pm
11:30 Alias_ for grep {$_ ne '_err_str' } sort keys %self -> $section { ... }
11:30 Alias_ for starters
11:31 Alias_ it used to be worse
11:31 Alias_ basically, if you put any sort of length stuff in the list, you can "lose" the topic
11:31 Alias_ imagine a larger one spread across several lines, and you get the idea
11:32 Juerd Alias_: Add simple newline.
11:32 Juerd for grep { $_ ne '_err_str' } sort keys %self
11:32 Juerd -> $section {
11:32 Juerd    ...
11:32 Juerd }
11:32 Alias_ ooohhh...
11:32 * Alias_ slaps himself
11:32 Alias_ ok, that might work very nicely
11:32 Juerd Clearer than the P5
11:32 Alias_ oh?
11:32 Juerd for my $section
11:32 Alias_ each
11:33 Juerd (grep { $_ ne '_err_str' } sort keys %self) {
11:33 autrijus foreach my $section (grep { $_ ne '_err_str' } sort keys %self) { ... }
11:33 Juerd   ...
11:33 Juerd }
11:33 Alias_ easy
11:33 Alias_ topic is always right next to for
11:33 Juerd Alias_: No, in Perl 5, for and foreach are aliases.
11:33 Alias_ Although foreach $section in grep ... { ... } has a nice ring to it
11:33 Juerd for (LIST) { ... } and foreach (EXPR; EXPR; EXPR) { ... }
11:33 Juerd are both valid.
11:33 Alias_ I know that
11:33 Juerd Okay.
11:33 Alias_ (better than most I imagine) :)
11:34 autrijus right, seeing how you must parse it :)
11:34 autrijus foreach my $foo (@list) { say $foo } # p5
11:34 Alias_ and for and foreach arn't the same
11:34 autrijus for @list -> $foo { say $foo } # p6
11:34 Juerd Now, let's get back to that grep.
11:34 Juerd It's better to sort after the grep :)
11:34 Alias_ they are only "mostly" the same
11:34 Alias_ ;)
11:34 Juerd Both because it's more obvious that you're looping over a sorted list (like the variable, this needs to be close to "for")
11:34 Alias_ Juerd: I only wrote the original P5, not the P6
11:35 Juerd And because it's more efficient - you're not sorting what you're throwing away
11:36 Alias_ Is there any other obvious uses for [ ] reduction other than the [+] "sum" operator?>
11:36 autrijus [<] # "ensure monotonicity"
11:36 autrijus [~] # join ''
11:37 Alias_ "ensure monotonicity"?
11:37 Alias_ As in, check everything is sorted ascending?
11:37 Juerd I love [~^] and [+^]  # parity
11:37 autrijus yeah.
11:37 Juerd Alias_: Yes.
11:37 autrijus [<] 1, 2, 3; # 1 < 2 < 3
11:37 Alias_ although you have to exclude negatives
11:37 autrijus hm?
11:37 autrijus [<] -1, 0, 1; # works
11:37 Alias_ -2, -3, -1, 0, 1, 2
11:38 Alias_ is false -> zero in numeric context?
11:38 wolverian but that is not sorted, so it's not monotonic
11:38 Juerd Yes, false is 0, true is 1
11:38 wolverian so the operation fails accordingly
11:38 autrijus Alias_: yeah, but it's beside the point...
11:38 autrijus [<] -2, -3, -1, 0, 1, 2;
11:38 autrijus this expands to
11:38 Juerd Alias_: But you're missing, I think, that < is now chaining.
11:38 autrijus -2 < -3 < -1 < 0 < 1 < 2
11:38 autrijus right.
11:39 autrijus x < y < z # now means
11:39 Alias_ oh... so it's not programmatic reduction
11:39 autrijus x < y and y < z
11:39 Juerd Alias_: Nope, it's syntactic
11:39 integral hmm, wgt chaining is [<] different from reduce &infix:< ?
11:39 Alias_ it's not reduce { $a .. $b } in that sense
11:39 wolverian Alias_: as Juerd said at some point, it's just a join() on the syntax level :)
11:39 Juerd Alias_: Indeed.
11:39 Alias_ ok
11:39 autrijus integral: that is an excellent question!
11:39 autrijus &reduce is probably foldl.
11:39 Juerd Alias_: Hence the need for a meta-operator, rather than expression syntax :)
11:39 wolverian autrijus: or maybe it depends on the arity of the function
11:39 Juerd integral: Yes, it is.
11:39 autrijus wolverian: fixity
11:40 meppl has joined #perl6
11:40 wolverian fixity?
11:40 autrijus it is conceivable that it probes its arg's fixity, true
11:40 integral maybe reduce should be called foldl, so [] isn't mixed up with it?
11:40 autrijus er, associativity.
11:40 Juerd integral: I think that's unnecessary.
11:40 * autrijus is clearly sleepy
11:40 Juerd integral: One is programmatic reduction, the other is syntactic reductcion.
11:40 Alias_ What's happening with ::Foo in P6?
11:40 Juerd But both are reduction
11:40 integral well then you get foldr too which is obviously necessary then...
11:40 autrijus integral: then we also need foldr and foldl1 and foldr1 :D
11:40 Juerd Alias_: ::Foo stays the Foo namespace.
11:40 Juerd Alias_: And in fact, :: is made a sigil :)
11:40 autrijus ::Foo also means the Foo type.
11:41 autrijus (because in p6, namespaces are pun for types.)
11:41 Alias_ Take a look at Package::Relative
11:41 Alias_ which just got uploaded
11:41 * integral thinks reduce/foldl won't be used much normally now there's []
11:41 Juerd autrijus: types, classes, roles, packages, modules all share the same thing called namespace :)
11:41 autrijus integral: well, [] can't take a prefix fun
11:41 autrijus Juerd: that's weird ;)
11:41 autrijus (not saying it's bad. just weird)
11:41 integral *blink* you can fold a prefix fun?
11:41 autrijus integral: sure as long as it's arity 2
11:42 integral ah
11:42 integral but still pushing those out to a module, and just keeping [] by default since it has to be
11:43 autrijus yup.
11:47 * Juerd hopes ./method is accepted, and the discussion is finite
11:48 autrijus er.
11:48 autrijus .../method
11:48 autrijus or
11:48 autrijus ../../method ?
11:49 Juerd ../../method
11:49 Juerd .../method clashes.
11:49 autrijus yup.
11:49 Juerd (yada / method)
11:49 autrijus your have a strange sense of sanity.
11:49 Juerd That's the nicest thing someone has said to me in at least three days :)
11:50 Juerd (I hope it was meant positively)
11:50 autrijus it is.
11:50 * autrijus ponders /.method
11:50 Juerd clashes with m//
11:50 autrijus yeah, but I want the slashdot operator!
11:50 autrijus (completely kidding.)
11:50 Odin-LAP has quit IRC ("What's this button do?")
11:50 Alias_ ./operator
11:51 Alias_ EVERYBODY knows slashdot is backwards
11:51 Juerd You have it already, but only if you repeat it, which is entirely slashdotish!
11:51 autrijus ././
11:51 autrijus ooh dupe
11:51 autrijus dupes are legal of course?
11:51 Juerd /. /. id
11:51 autrijus imagine the obfu possibilities!
11:51 Juerd m[.].id
11:51 Juerd :))
11:52 Alias_ I think that for P6 we should ban obfu contests
11:52 Juerd Or, rx[.].id probably
11:52 autrijus you are insane, but I like it.
11:52 Juerd Alias_: And never get to actually use metareduction with 0 arguments? NO WAY! :)
11:52 clkao relicense it to forbid obfucontest
11:53 autrijus the no-obfu license
11:53 Juerd "photo realistic artistic license"
11:54 Alias_ Juerd: Maybe we could just limit obfu contests to locations you need a perl.org login to see
11:54 Alias_ Juerd: Don't want to scare the rest of the world too much
11:54 Juerd That's a good idea.
11:55 Alias_ We already have an image problem WRT "Perl is like line noise"
11:55 Juerd We have to invent platform compatible copy-paste-and-ocr-protection first :)
11:55 Juerd Alias_: I've said in talks that "more linenoise + more power == more perl"
11:55 autrijus Juerd: r3253. feel free to play.
11:55 Alias_ I'm more concerned about the Perl skills crunch
11:55 b00t has joined #perl6
11:56 Juerd autrijus: I think I'm going to pause for a while instead, but thanks.
11:56 Juerd autrijus: I really want to play, but my wrists don't
11:56 Alias_ Sydney for one has pretty much "run out" of Perl programmers
11:56 autrijus sure :)
11:56 autrijus            given $choice {
11:56 autrijus                when 'f' {
11:56 autrijus                    ./attack($enemy, $.weapons{$_});
11:56 autrijus                }
11:57 autrijus            }
11:57 autrijus does this read ok?
11:57 autrijus (wizard.p6)
11:57 Juerd ack
11:57 wolverian haha, I just love ./
11:57 wolverian Juerd++
11:57 Alias_ I think it's probably the best option yet for invocant method
11:57 svnbot6 r3253, autrijus++ | * tentatively implement Juerd's experimental ./method proposal.
11:58 Juerd afk
11:58 Alias_ since the keys (on my keyboard at least) are very close to each other
11:58 Alias_ specifically, right next to each other
11:58 Juerd Alias_: not on mine
11:58 Juerd but it's still very easy to type
11:58 Juerd afk  # real now
11:58 Alias_ indeed
11:59 wolverian not on mine either. yet another character to remap in vim :)
11:59 Alias_ I have a keyboard which is unix optimised, rather than Windows optimised :)
11:59 Alias_ Logitech++
12:00 wolverian that sounds interesting.
12:01 wolverian isn't / next to . on all US keyboards, though? :)
12:01 Alias_ let me do a walkies around the office
12:02 Alias_ Logitech, yes.
12:02 Alias_ Toshiba laptop, yes
12:02 wolverian are you walking around the office with a laptop, looking over people's shoulders, typing and mumbling to yourself?
12:03 Alias_ It's 10 at night
12:03 Alias_ there's nobody here
12:03 svnbot6 r3254, autrijus++ | * make wizard.p6 use the ./method syntax to gauge how well it looks
12:03 Alias_ ok, all 12 keyboards, including Microsoft, NoName brand of various types have . and / next to each other
12:04 Alias_ I seem to recall british keyboards having a quite different layout though
12:05 Juerd Alias_: http://www.microsoft.com/globaldev/reference/keyboards.aspx
12:05 Juerd Alias_: Have fun
12:06 estel has quit IRC (Remote closed the connection)
12:08 Alias_ ok, so both US and UK do
12:08 Alias_ What keyboards are people using that don't?
12:09 Alias_ China/Taiwan/etc?
12:10 autrijus CJK use normal US layout.
12:13 wolverian finnish (same as swedish) doesn't.
12:13 svnbot6 r3255, autrijus++ | * parse the arg in ./foo($arg) as arg, not inv
12:13 svnbot6 r3255, autrijus++ | * separate invs and args in prettifying App.
12:14 Alias_ nordish?
12:14 wolverian do you mean norwegian?
12:15 Alias_ I mean any(norwegian, swedish, finnish) :)
12:15 Alias_ ouch... shift-7?
12:15 Alias_ That's positively brutal
12:15 qmole heh
12:16 qmole \ is alt-gr -
12:16 Alias_ man... perl is all over the place for nordlanders
12:17 Alias_ what's "sami"
12:17 Alias_ "Swedish with sami"
12:18 integral "the language of the nomadic Lapp people in northern ..."
12:18 Alias_ oh
12:24 Odin- Icelandic also has / as shift-7. :>
12:24 svnbot6 r3256, autrijus++ | * use the correct sigil
12:27 Alias_ So... icenordic keyboards
12:28 * integral can imagine the Camel being sold with keyboards...
12:29 wolverian I have my numeric row shifted by default in vim, anyway
12:29 wolverian that helps a lot. :)
12:29 autark-jp I think you can say "scandinavian keyboards"
12:30 wolverian strictly speaking, scandinavia is only denmark, norway and sweden
12:30 wolverian 'nordic' includes iceland and finland in addition
12:31 Alias_ does it?
12:31 Alias_ neato then
12:31 Alias_ scandnordic keyboards
12:31 wolverian just nordic keyboards :)
12:31 Alias_ ok :)
12:37 Juerd Where is all the p6l response?
12:37 Juerd :)
12:37 autrijus Juerd: I think I recover faster from awe
12:37 Juerd hmmm
12:37 Juerd What awe? :)
12:38 Alias_ Juerd: I responded... but I use the NNTP gateway, so responses take a few hours
12:38 Juerd Alias_: Oh. Wow, HOURS?
12:38 Alias_ yeah
12:38 Juerd Are you sure we're living in 2005?
12:38 Alias_ 6 hours maybe
12:38 Juerd My messages to p6l take a minute
12:38 Alias_ It's either that, or register for another 4 mailing lists
12:38 Juerd I find that long :)
12:38 Alias_ and P6X are firehoses of mailing lists
12:38 Juerd Alias_: Doesn't your nntp client speak smtp?
12:39 Alias_ I hit "reply", I type, I hit send
12:39 Juerd (reply by mail)
12:39 Alias_ I'm too lazy
12:39 Juerd Oh
12:39 Juerd I'll wait.
12:39 Alias_ I don't forgive things for not working properly
12:39 Alias_ Getting too old
12:39 Juerd wolverian: Why haven't you replied yet? :)
12:40 elmex has joined #perl6
12:40 Juerd Hi toothpaste!
12:41 Alias_ For what it's worth, ./method is the best yet
12:41 Alias_ I don't know about ../method though
12:41 Alias_ But then I think we shouldn't allow supermethod calls at all
12:41 Alias_ not to anything other than the current method at least
12:41 Alias_ It's asking for trouble
12:41 Juerd Hm, I actually agree
12:42 Alias_ ./SUPER
12:42 Alias_ actually... not
12:42 wolverian I think it should be allowed, but it shouldn't be huffmanised
12:42 Alias_ But perhaps ../method, but emit a warning for cross-supermethods
12:42 Juerd Alias_: That's the best option, I think
12:42 Juerd OTOH, Perl isn't a protective language
12:42 Alias_ Doing cross-supermethods really really is quite dangerous
12:43 Alias_ It can very easily lead to infinite loops
12:43 Juerd And ../othermethod is rather explicit.
12:43 Alias_ I got some bug reports about Method::Alias saying that
12:45 nothingmuch has joined #perl6
12:45 nothingmuch hola
12:46 autrijus yo
12:46 wolverian Juerd: I'm still thinking about it (re: replying on p6l)
12:46 * autrijus finally finding the willpower to write euroscon submission
12:47 Juerd wolverian: Oh
12:50 nothingmuch home time
12:50 nothingmuch has quit IRC ()
12:50 Juerd 5 minutes...
13:00 elmex has quit IRC (Read error: 110 (Connection timed out))
13:01 scook0 has quit IRC ("Leaving")
13:05 b00t has quit IRC (Remote closed the connection)
13:21 elmex has joined #perl6
13:21 svnbot6 r3257, iblech++ | * EOLs at EOFs.
13:21 svnbot6 r3257, iblech++ | * Usual svn properties added to ext/Test-Builder/t and ext/Locale-KeyedText.
13:33 jhorwitz has joined #perl6
13:35 meppl has quit IRC (Remote closed the connection)
13:40 autrijus has quit IRC (Read error: 104 (Connection reset by peer))
13:40 gaal|work has quit IRC ("Trillian (http://www.ceruleanstudios.com")
13:43 nothingmuch has joined #perl6
13:43 Qiang_ has quit IRC (Read error: 110 (Connection timed out))
13:48 nothingmuch afternoon
13:49 ilogger stops logging #perl6 at Sun May 15 13:49:27 2005
13:49 ilogger stops logging #perl6 at Sun May 15 13:49:28 2005
13:49 ilogger starts logging #perl6 at Sun May 15 13:49:37 2005
13:49 ilogger has joined #perl6
13:50 ilogger starts logging #perl6 at Sun May 15 13:50:14 2005
13:50 ilogger has joined #perl6
13:50 autrijus has joined #perl6
13:52 ilogger starts logging #perl6 at Sun May 15 13:52:50 2005
13:52 ilogger has joined #perl6
13:57 ilogger starts logging #perl6 at Sun May 15 13:57:48 2005
13:57 ilogger has joined #perl6
14:22 ilogger starts logging #perl6 at Sun May 15 14:22:31 2005
14:22 ilogger has joined #perl6
14:25 castaway_ is now known as castaway
14:26 Juerd What is a boxed type?
14:26 autrijus Juerd: Int is.
14:26 autrijus int is not.
14:26 Juerd Ah
14:26 autrijus ajs_home: why use unboxed types, really?
14:26 Alias_ autrijus: Speed, mainly
14:27 Juerd Speed is the only reason, really, I think.
14:27 autrijus Alias_: a capable compiler can turn boxed types into unboxed automatically when it's safe.
14:27 autrijus (GHC does that, for example.)
14:27 skew are you actually using unboxed types?
14:27 skew or just strict fields with -funbox-strict-fields?
14:27 Juerd autrijus: It's almost impossible to determine when it's safe.
14:27 Juerd autrijus: Because any variable can be accessed symbolically
14:28 Juerd In a highly dynamic language, such code analysis is a luxury we don't have.
14:28 autrijus skew: strict fields. but I'm talking about this:
14:28 autrijus "GHC is built on a raft of primitive data types and operations. While you really can use this stuff to write fast code, we generally find it a lot less painful, and more satisfying in the long run, to use higher-level language features and libraries. With any luck, the code you write will be optimised to the efficient unboxed version in any case. And if it isn't, we'd like to know about it."
14:28 skew oh, is this about perl?
14:28 autrijus Juerd: er. symbolic access can do autoboxing
14:29 Juerd autrijus: Hmm
14:29 autrijus skew: aye
14:30 autrijus skew: I'm arguing that using unboxed types in builtins is a Bad Idea
14:30 Juerd autrijus: When "my $foo" or "my Int $foo" is declared, you can't make it an int, because that cannot store undef. Is there also auto-unboxing?
14:30 Juerd Made that a Very Bad Idea, please
14:30 Juerd Unboxed types are native, not terribly portable.
14:31 autrijus Juerd: er, an unboxed type can still allow for nulls
14:31 * Juerd doesn't think they're needed even
14:31 autrijus via a flag or something.
14:31 Juerd autrijus: Not at syntax level.
14:31 autrijus Juerd: I'm not talking, though, about the syntax level :)
14:31 Juerd autrijus: Ah, okay.
14:31 * Juerd doesn't care about internal representation, as long as the overall thing is fast.
14:31 autrijus yup.
14:31 Juerd And predictable.
14:31 autrijus that I think is best.
14:31 autrijus instead of forcing people to use int and str everywhere.
14:32 Juerd autrijus: Well, they can be useful if you want 256 to overflow to 0
14:32 autrijus Juerd: what type does that? :)
14:32 Juerd Writing a brainfuck compiler in Perl is severely made harder because you have to (...) %= 256 everywhere
14:32 skew that's not really an issue of boxing, though
14:32 autrijus Juerd: you win.
14:33 autrijus "That's almost terminally cute, but I like it.  Unless someone can
14:33 autrijus think of a major objection (such as that it makes it too easy to use
14:33 autrijus SUPER semantics rather than NEXT semantics), let's go with it.
14:33 autrijus "
14:33 Juerd autrijus: int8
14:33 Juerd YAY :))
14:33 autrijus isn't that word8 or uint8? :)
14:33 skew Word8 is a boxed type in Haskell
14:33 autrijus I thought int8 is -127 or something
14:33 Juerd uint8 then.
14:33 autrijus skew: but Word8# is unboxed...
14:33 skew Word8# is the unboxed form, I think
14:34 Juerd This is my second operator ;)
14:34 autrijus what's the first one again?
14:34 Juerd .=
14:34 skew and then, all those Integer mod m types are about as far from native integers as you can get
14:35 skew so, are the operations in Context.hs documented anywhere?
14:35 skew I've read the section in s6 describing the form of types
14:35 autrijus skew: no, they are not.
14:36 autrijus the only important thing there is distanceType
14:36 autrijus which is used for MMD resolution
14:36 skew It's nice to be able to fit the whole file on screen at once
14:36 autrijus everything else can be rewritten or explode as long as distanceType remains
14:37 autrijus distanceType simply counts the "steps" needs to reach from the base type to the target
14:37 skew other code just refers to types by name?
14:37 autrijus no, they are of the Type type
14:37 autrijus constructor is MkType
14:37 autrijus see Types.hs
14:37 autrijus (which is documented)
14:38 skew okay, I see fmap MkType
14:38 autrijus fmap is really useful :)
14:39 autrijus <- submitting a 45 minutes talk to Euro Oscon
14:39 autrijus "Learning Haskell"
14:39 autrijus I wonder if it will get accepted :)
14:39 autrijus it's in the 'Emerging Technology' track.
14:39 Alias_ name not sexy enough
14:40 Alias_ "Why Learning Haskell Meant I Could Write Perl 6 in a Month"
14:40 Alias_ "How Haskell Saved Perl"
14:40 Alias_ :)
14:40 wolverian "Why Perl6 is Haskell with Perlish Syntax"
14:41 autrijus Alias_: I think gnat wants stupid dumb titles :)
14:41 Boogie has quit IRC (Read error: 110 (Connection timed out))
14:41 wolverian out of curiosity, what features does haskell have that perl6 doesn't, yet?
14:41 wolverian (omitting whatever stems from syntax)
14:41 autrijus wolverian: the whole typing thing.
14:41 Alias_ Partial evaluation?
14:41 skew The type class stuff is probably quite different
14:41 Alias_ I don't see Perl 6 having partial evaluation
14:41 wolverian autrijus: type inference or the rest of it?
14:42 autrijus Alias_: hm, partial evalution?
14:42 Alias_ It's ALMOST a pity... almost
14:42 skew I don't think Haskell has partial evaluation either
14:42 autrijus wolverian: type inference, type classes, existential types, GADTs
14:42 Juerd Hm
14:42 wolverian autrijus: right. can you see any of that fitted into perl6 without changing its dynamic nature?
14:42 autrijus (the last is a generalization of exsitential types)
14:42 Alias_ autrijus: Taking a function that takes N arguments, proving one, and deriving a faster custom function that takes N - 1 arguments
14:42 Juerd Larry found <-> cute and loved it. It wasn't made official
14:42 autrijus Alias_: oh. currying.
14:42 Juerd Larry found ./ cute and liked it. It was made official
14:42 autrijus Alias_: perl6 has currying. pugs even supports it.
14:42 Alias_ is that what the cool kids call is?
14:42 Alias_ it
14:42 Juerd Where's the logic in that?
14:43 autrijus Alias_: &function.assuming(3)
14:43 skew type classes could fit, I think
14:43 autrijus &function.assuming( y => 4 )
14:43 * Alias_ blinks...
14:43 autrijus personally I think that is even better than haskell's :)
14:43 autrijus because you can easily assume the third parameter or ones after that.
14:43 Alias_ and is does proper op-tree manipulation to get the new function?
14:43 autrijus whilst in haskell you need to write ugly lambda expressions to get to that.
14:44 Alias_ s/is/it/
14:44 autrijus Alias_: it does scary things inside, but yes, you can think of it as doing that.
14:44 Alias_ wow...
14:44 skew It's a question of what fraction of the arguments you are specifying
14:44 Alias_ Perl 6 is going to be EXTREMELY fast
14:44 skew perl6 should have both ways
14:45 Juerd Alias_: Yes. Of course it is. Perl 6 is extremely fast, and Perl 6 is written in Perl 6, by Perl 6 people. Do the maths! :)
14:45 Alias_ Juerd: No, that's not what I mean
14:45 wolverian time(fast ** 3) < time(fast)? :)
14:45 autrijus skew: perl6 can curry over both positionals and named, if that's what you mean
14:45 autrijus skew: oh, and Roles is quite like type classes
14:45 Juerd wolverian: More like method make_faster { ./make_faster }
14:45 autrijus skew: but I miss tagged unions, even though you can simulate it with Roles.
14:45 wolverian Juerd: heh. yes. :)
14:46 Alias_ It means that if you create an object that takes arguments and calculates things based on both the arguments and object properties, you can create custom functions per-object to make ultra-fast
14:46 autrijus which is a pity, since Perl 6 has native enums... tagged unions is just one step further
14:46 wolverian autrijus: I think anything you can think of as beneficial to perl6 should be proposed on p6l
14:46 autrijus wolverian: well, yeah, but you may have noticed a pattern of my proposals on p6l...
14:46 skew you might not want to mail chapters of the Haskell Report without at least superficial rewriting, though
14:47 Juerd wolverian: Agreed, but porn attachments aren't accepted on the list.
14:47 autrijus ...they were backed up with implementations :)
14:47 autrijus so not going to propose until I've thought thru the implementation :)
14:47 skew what does Roles let you do?
14:47 wolverian autrijus: hmm. do you need tests for it first? :)
14:47 wolverian Juerd: heh.
14:47 autrijus wolverian: that's fine too :)
14:47 wolverian autrijus: I'll need the syntax first! and uh, I need to know what it is!
14:48 skew you can declare that some existing class/type provides the role and explain how, like a one parameter type class?
14:48 Alias_ skew: Imagine something like Java Interfaces that require you to not need multiple inheritance
14:48 svnbot6 r3258, iblech++ | Added a simple IRC logfile to HTML converter.
14:48 autrijus skew: http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-March/089740.html
14:48 autrijus skew: roles in perl 6 can be parameterized over arbitary number of types.
14:48 Alias_ Roles is another attempt at solving the same problem previously solved with Interfaces and Multiple Inheritance
14:49 skew Alias_: sounds like type classes
14:49 Alias_ I'm a camel, not a lamba, and thus totally lost on most "proper" terminology :)
14:49 Alias_ That and a bad habit for re-inventing things in my head leaves me out of the loop :)
14:50 wolverian autrijus: are you going to implement GADTs too?
14:50 autrijus skew: they are quite similar. I believe Guy Steele et all uses trait/roles in Fortress for what Haskell use Eq and Ord and Enum for
14:50 elmex_ has quit IRC (Read error: 113 (No route to host))
14:50 skew hmm, I think the trait stuff is ever so slightly different
14:50 autrijus skew: but they are fundamentally OOish... :)
14:50 skew is this only at class creation time, or can you add a role after the fact?
14:50 skew is that intended, I mena
14:50 autrijus skew: you can add a role after the fact.
14:51 autrijus my $foo = 0 but true;
14:51 Alias_ sob
14:51 Alias_ :)
14:51 autrijus # adding the "bool::true" at runtime.
14:52 skew does perl6 have parameterized types?
14:52 autrijus skew: yes, Roles are parameterised types.
14:52 autrijus in s12:
14:52 autrijus role Pet[Type $petfood = TableScraps] {
14:52 autrijus    method feed (::($petfood) $food) {...}
14:52 autrijus }
14:52 autrijus it's like saying
14:53 autrijus class Pet f where
14:53 skew well, classes are more like predicates on types than type themselves
14:53 autrijus er. hm. no. :)
14:53 autrijus right.
14:53 autrijus so I guess it's not quite the same.
14:53 * Alias_ tries to work out what that P6 code means
14:53 skew You have things like Array of Int vs. Array of Bool
14:54 autrijus yeah.
14:54 autrijus I was just about to say that.
14:54 wolverian Alias_: it means that the role provides a method 'feed' that by default takes one argument of type TableScraps, but can be overridden by providing an argument to Pet
14:54 skew is that just a special case, or can you define your own parameterized type, and multiple type parameters, like Hash from Int to String?
14:55 skew wolverian: so you could say that your class provided the role Food, but with PetFool == MetalShavings?
14:55 autrijus skew: I think it's not a special case, and you can indeed build your own parameterised types, but I don't think the syntax has been specced.
14:56 autrijus maybe worth a p6l inquiry.
14:56 wolverian skew: yes. except I'd think of that as a role, not a class, generally
14:56 autrijus i.e. if I have a "Tree", how do I define it so I can say "Tree of Int"
14:56 wolverian (role inheritance.)
14:56 Alias_ autrijus: Are all these features going to make the startup time for P6 programs bad?
14:56 skew wolverian: classes provide roles, right?
14:56 autrijus Alias_: not if you don't use them.
14:56 autrijus Alias_: if you use them... compile time will suck a bit maybe
14:57 autrijus Alias_: but then you'll have .pbc files around for the next time.
14:57 wolverian skew: er, yes.
14:57 Alias_ So now P6 will be ammortized run-time compiled?
14:57 wolverian skew: sorry, I read 'provide' wrong there.
14:57 autrijus Alias_: P5 was that too, really.
14:58 skew okay, that's something like class Pet pet food where feed :: food -> pet -> pet
14:58 autrijus it's just in P5, the bytecode are far larger than the source code, _and_ strangely, the time it takes to load bytecode is often _longer_ than parsing the rouce.
14:58 autrijus skew: err
14:58 autrijus class Pet pet food | pet -> food where ...
14:58 autrijus is more like it.
14:59 wolverian parsing the rouce. :)
14:59 skew oh, the role implies uniqueness?
14:59 Alias_ Wouldn't BEGIN make the .pbc uncachable?
14:59 autrijus s/rouce/source/
14:59 autrijus Alias_: BEGIN happens at compile time! :)
14:59 autrijus Alias_: time to learn to write INIT when you mean INIT.
14:59 skew two different roles can't use a method of the same name?
14:59 Alias_ Time to provide an INIT that works with mod_perl
14:59 autrijus skew: not when they are manifest in the same class, I think
15:00 autrijus Alias_: talk to jhorwitz when that day comes :)
15:00 autrijus (p5's INIT is b0rken beyond repair.)
15:00 Alias_ hell, I wish people would use BEGIN _more_
15:00 Alias_ I seem to be the only one that uses it properly
15:01 Alias_ (mainly to avoid lengthly delays in the debugger while nexting through startup crap)
15:01 skew can method names be qualified by a namespace?
15:01 autrijus skew: yes.
15:01 autrijus say $obj.Object::id();
15:01 skew can you use this with roles?
15:01 autrijus yes.
15:02 skew eg $dog.Pet::feed() vs. $dog.Pet[petfood => grass]::feed()?
15:02 Alias_ ok, my head hurts
15:02 Alias_ Time to go work on cvs monitor. Nice plain simple code
15:07 autrijus skew: I hope so, I'm not sure at all.
15:07 xinming has quit IRC (Client Quit)
15:07 skew do you do method overloading by type?
15:08 autrijus yes.
15:08 autrijus also known as MMD.
15:08 autrijus multi sub &infix:<+> (Int $x, Int $y) { ... }
15:08 autrijus multi sub &infix:<+> (Int $x, Complex $y) { ... }
15:08 autrijus etc.
15:08 estel has joined #perl6
15:09 skew okay, so supporting the same role at several different types should be picked up by this MMD, even
15:10 skew do the type signatures actually affect the meaning of the method, or are they just used in type checking and method dispatch?
15:11 autrijus "meaning"?
15:11 autrijus hm, ruby has this:  5.times:{ say "Hi!" }
15:11 wolverian without the :
15:11 * autrijus wonders if it makes sense to steal it
15:11 wolverian oh. that was perl6.
15:11 autrijus :D
15:12 wolverian wasn't there a p6l discussion about this? how 'for 1..5 { ... }' just to repeat it five times is ugly?
15:12 autrijus in similar notes:
15:12 Alias_ Is it ever used? Can we add it later?
15:12 skew if the method says Int $x, do you get an Int-shaded view of $x, or just whatever they passed in
15:12 wolverian I don't remember any conclusions, though.
15:12 autrijus [1,2,3].for:{ say $_ }
15:12 autrijus Alias_: not saying it should be core, please relax
15:12 * Alias_ puts the python club away
15:12 autrijus skew: well, if it comes to MMD that way, then it must be Int or its subtype
15:13 skew you can do MMD on roles, right?
15:13 autrijus skew: operationally they are the same.
15:13 autrijus I think so, yes. in that case it is not shaded
15:13 autrijus (you can also do value MMDs.)
15:13 autrijus multi sub factorial (0) { 1 }
15:13 skew say you have roles
15:13 wolverian sub foo ( $a where { .does(Eat) } ) { ... } # I forget if just '$a does ...' works
15:14 wolverian well. that's just Eat $a, in any case.
15:14 autrijus wolverian: I think so, not sure
15:14 autrijus yup.
15:14 wolverian MMD checks via .does, not .isa
15:14 wolverian which is why perl6 rocks so much.
15:14 autrijus sure, that's why you can mmd on roles.
15:14 autrijus now, why do we still have this multiple inheritance thing?
15:14 autrijus because of timtowtdi? :)
15:15 wolverian probably.
15:24 Alias_ in case Roles arn't as good as we think they are? :)
15:24 Alias_ So Perl 5 people can move to Perl 6 easier
15:24 Alias_ So porting existing Perl 5 code is possible
15:24 autrijus yeah.
15:24 autrijus yup.
15:24 Alias_ etc
15:24 autrijus seen on my blurb to euro oscon:
15:24 jabbot autrijus: I havn't seen on , autrijus
15:25 autrijus "What's as fast as C++, as concise as Perl, more regular as Python, as flexible as Ruby, more typeful than Java, and has absolutely nothing in common with PHP?  It's Haskell!
15:26 wolverian I thought Perl6 ;)
15:26 Alias_ ... AND YOU ARN'T SMART ENOUGH TO LEARN!
15:26 Alias_ My new minion commented on Haskell today
15:27 skew yay for minions
15:27 Alias_ "Oh that, we had to do a project in Haskell at uni. Everybody failed, except one guy who had been programming already for 10 years"
15:28 autrijus that is likely possible.
15:28 Alias_ Looking back, the most stressed out, distracted and depressed period my best mate at uni had was while he was learning Haskell
15:28 Alias_ At the time, I didn't understand why
15:28 Alias_ :)
15:29 Alias_ Now I put it down to having to rewrite his brain from scratch
15:29 skew I would think a few mathematicians with some programming experice could have finished too...
15:30 Alias_ skew: Probably. :)
15:30 Alias_ skew: It would seem to be a language only mathematicians could love :)
15:30 Alias_ But given the lack of math cred in Perl 5, we could probably do with the rolling some into the Perl casserole
15:31 Alias_ We've stolen everything else :)
15:32 Alias_ oh, and btw Juerd++
15:32 Alias_ Juerd++
15:32 Alias_ Juerd++
15:32 Alias_ Juerd++ # Solving the implicit invocant bitching to the satisfaction of all involved
15:46 estel has quit IRC ("Konversation terminated!")
15:47 DapperDan has joined #perl6
15:50 meppl has joined #perl6
15:52 DapperDan has quit IRC ()
15:55 stevan autrijus: are we releasing today/tomorrow?
15:56 autrijus stevan: no, next week
15:56 stevan ok
15:56 stevan I saw the private methods :) very nice
15:56 autrijus :)
15:59 Forth_ can't keep up with you....orz
16:00 stevan nice, so Juerd's ./method() syntax was accepted
16:00 skew when did ghc -v pick up the Glorious?
16:01 stevan Juerd++ # for making ./method()
16:01 stevan Juerd++ # for making Alias_ happy :)
16:02 stevan ok off to mow my lawn :(
16:03 Alias_ stevan: Certainly as accepted as these things go
16:03 skew hmm, not a # to be seen in spellcheck or wordfreq
16:04 autrijus skew: having trouble switching between channels? :)
16:04 skew yes
16:04 skew I need to buy an eyetracker and write a focus-follows eye mode
16:05 skew or figure out how to put different channels in different terminals
16:05 skew eyetrackers are so expensive, though :(
16:06 skew it looks like everything in Context.hs is either used to implement distanceType, or implemented in terms of distanceType
16:10 autrijus yes.
16:10 autrijus that's exactly what it is.
16:17 skew is addNode actually used? (I'm in the middle of compiling to test that, but I'm also having my system upgrade all installed packages, so it's pretty slow going)
16:18 autrijus skew: it is... in Parser, when I see
16:18 autrijus "class Foo { ... }"
16:18 autrijus I run addNode there to add Foo to the type tree
16:18 autrijus currently it's a Big Hack
16:18 autrijus because it's all hanging off Object
16:18 autrijus (no derived types yet)
16:18 autrijus but hey, all this code is like 2 days old :)
16:18 autrijus (for classes that is)
16:19 skew they look fine
16:20 skew grr, switch channels before typing
16:24 * nothingmuch utters "phew"
16:24 svnbot6 r3259, jhorwitz++ | * add system($cmd) using spawnw opcode
16:29 autrijus oooh
16:29 autrijus jhorwitz++ # hacking on parrot codegen!
16:29 ingy hi all
16:29 autrijus hey ingy
16:30 ingy hi autrijus
16:30 skew spanw is an opcode?
16:30 autrijus skew: parrot has lots of weird high-level opcodes.
16:30 jhorwitz skew: spawnw == spawn/wait
16:30 autrijus (dynamically loadable even)
16:31 autrijus like the 4-arg substr
16:31 skew like if you write show 1 you get "1" rather than an error about undefined overloading
16:31 autrijus right, it's all MMD underneath.
16:31 skew okay, I need to find some coffee
16:33 * autrijus starts journalling...
16:33 autrijus Day 104: ./juerd('rocks!')
16:36 ingy stevan: ping
16:36 svnbot6 r3260, autrijus++ | * make `$obj.:method` work.
16:36 svnbot6 r3261, jhorwitz++ | * require_parrot now translates to Parrot's load_bytecode
16:40 Alias_ heh
16:40 Alias_ ./feel('the love')
16:40 Alias_ oh...
16:41 jhorwitz autrijus: if $obj.'method' could translate to parrot's obj.'method', there would be much joy.
16:41 * Alias_ found a bug in SVK
16:42 Alias_ Apparently someone decided to use the Class::Autouse superloader instead of the doing things the non-evil way
16:42 autrijus jhorwitz: it's just (App (Var "&method") [(Var "$obj")] args)
16:43 autrijus jhorwitz: that does require the rest of class stuff though, which I was hoping to punt till Leo's
16:43 autrijus s/Leo's/my stay with Chip in Leo's/
16:45 jhorwitz autrijus: for my current purposes, all the instantiation happens in mod_parrot.  all pugs needs to do is invoke the method.
16:45 autrijus jhorwitz: then just compile that form
16:45 * jhorwitz gets to work
16:46 autrijus (App (Var ('&':method)) [(Var "$?SOME_OBJ")] args)
16:46 autrijus if you store with globals, you may wish to trick (Var "$*FOO") into find_global
16:47 autrijus but it's your choice :) it's all yours
16:49 Juerd skew: Re eye trackers: software to do this with cheap $10 webcams exists.
16:49 Alias_ autrijus: WTF? "The $obj.id method is implemented to return an unique ID for each object"
16:50 Juerd It's not accurate enough to enable you to input text, but it should be accurate enough for focussing.
16:50 Alias_ autrijus: Tell me you haven't just created a standard method that clashes with every class in existance that uses identifiers...
16:50 adehohum has joined #perl6
16:50 integral couldn't you still have an id method in a different role...
16:51 Southen[a] has joined #perl6
16:51 autrijus Alias_: uh yours trumps Perl's
16:51 autrijus so if you define id, then that is used
16:51 autrijus so no clash
16:51 autrijus you can always say Object::id($obj) to get the perl 6 one
16:51 Alias_ and what does it return exactly... integer memory location?
16:52 autrijus the term is "opaque".
16:52 autrijus i.e. you shouldn't care :)
16:52 integral as in it only supports &infix:==, not &infix:+, etc ?
16:52 Alias_ well... "will it survive a freeze/thaw"?
16:52 Alias_ etc
16:52 autrijus it only supports ~~ I think
16:52 autrijus Alias_: I think yes
16:52 integral hmm, I suppose that's more sense than == or eq
16:52 Alias_ oh?
16:53 autrijus Alias_: I think the id will be frozen together
16:53 Alias_ that sounds kinda bloaty
16:53 Alias_ So it's UUID then?
16:54 Alias_ if I load two stored things from two different processes, they can't have an id clash?
16:54 Alias_ or two machines
16:54 autrijus I don't think that's specced.
16:54 Alias_ you know that UUIDs only allocate at about a million a second
16:54 autrijus I, for one, want it to be uuids.
16:54 autrijus but they should be lazily generated
16:54 Alias_ and are 128 bytes wide, MINIMUM
16:54 autrijus er, I know all this.
16:55 Alias_ and you'll need a unique number for every object created in every process on every machine, ever
16:55 autrijus er wait
16:55 autrijus it's 128 "bits"
16:55 autrijus or 160 bits
16:55 Alias_ I think you might actually rollover the address space
16:55 autrijus can't be.
16:55 Alias_ how many objects have been created total, in the history of perl
16:56 Alias_ 10 to the shitloads, thats how many :)
16:56 ingy 10 to some 2 digit number
16:57 Alias_ autrijus: What's it used for? Just == ?
16:57 Alias_ use overload '==' => sub { Scalar::Util::refaddr($_[0]) == Scalar::Util::refaddr($_[1]) };
16:57 Alias_ I use that all the time
16:59 autrijus sure. that may be the case.
16:59 wilx has quit IRC (Read error: 131 (Connection reset by peer))
16:59 Alias_ but then I'm attacking you for something that was probably the fetid imaginings of someone in p6l
16:59 autrijus so, 128 bits space is like, hrm
16:59 Alias_ me-- # Shooting the messenger
16:59 Alias_ You'll need 256 bits
16:59 autrijus square root of estimated number of atoms in universe
17:00 Alias_ atoms is 2^72
17:00 Alias_ roughly
17:00 autrijus so, how do we rollover this again?
17:00 Alias_ but objects live in 4 dimensions
17:00 integral so 2^128 is plenty for a simulation of the universe...
17:01 autrijus the UUID spec says it's guaranteed to not rollover until 3400 AD.
17:01 autrijus if you generate it slower than  10 million per second.
17:01 Alias_ autrijus: It's limited to IPv4 space...
17:01 Alias_ or MAC addresses...
17:01 Alias_ I can't remember which
17:01 nothingmuch UUID seems expensive
17:01 autrijus I thought IPv4 is 2^32
17:01 nothingmuch and overkill
17:02 Alias_ so, say, a 100 million objects a second, times 2 billion CPUs...
17:02 autrijus and MAC address is 2^18
17:02 autrijus ^128 is large, sir :)
17:02 autrijus <- rollover is least of my worry
17:02 Juerd ipv6 is **128
17:02 Juerd (None: We use **, not ^! ;))
17:03 Juerd rollover is for dogs
17:03 autrijus Juerd: why are you flattening 128 eagerly?
17:03 * nothingmuch says: 'use uuids :quality('cryptographic')'
17:03 Alias_ autrijus: You need to allocate the entire processor-seperation space immediately
17:03 nothingmuch and lets not worry about it
17:03 Juerd autrijus: Grin :)
17:03 autrijus what has the poor 128 done to you?
17:03 integral (&infix:^, &infix:**) ::= (&infix:**, &infix:^) !
17:03 Juerd autrijus: Sorry - 2**128
17:03 Juerd Where - is not minus :)
17:03 Juerd integral: No, infix ^ is one()
17:03 autrijus Alias_: anyway. as implemented in pugs, it's more like refaddr.
17:04 Juerd autrijus: By the way - did you add the ! for none()? It was recently denied...
17:04 Alias_ refaddr is nice
17:04 autrijus Alias_: whether we can do lazily generated uuid or some stronger things depends on parrot and actual demand.
17:04 Alias_ I like refaddr
17:04 Shachaf has joined #perl6
17:04 wilx has joined #perl6
17:04 Alias_ As soon as you make things ! refaddr you are in a world of hurt
17:04 autrijus Juerd: oh, it's denied? sorry I didn't pay attention
17:04 Juerd autrijus: In my operator table thread
17:04 autrijus Juerd: I'll get it rescinded
17:04 ingy seen nothingmuch?
17:04 jabbot ingy: nothingmuch was seen 1 minutes 33 seconds ago
17:04 nothingmuch seen ingy
17:04 jabbot nothingmuch: ingy was seen 7 seconds ago
17:05 nothingmuch wow, cool!
17:05 Juerd autrijus: I personally don't mind it being here. The op is available...
17:05 nothingmuch heard ingy
17:05 autrijus Juerd: so nothing occupies its place?
17:05 Juerd No
17:05 autrijus Juerd: yeah, but hey, spec is spec :)
17:05 nothingmuch now that's just plain stupid
17:05 autrijus (and ruling is ruling)
17:05 Juerd autrijus: I think ^ should be made an alias for **, and ! should be none()
17:05 Juerd none() is more useful than one() :)
17:05 ingy nothingmuch: I have a todo to  integrate your Spork patches. But then gugod said he integrated some stuff already
17:05 nothingmuch yes, he did
17:06 nothingmuch the spork config stuff
17:06 nothingmuch i've fixed a bug with urls%20with%20spaces, that should go in unconditionally
17:06 nothingmuch the rest of the stuff is mostly for gugod
17:06 nothingmuch (i think that's a kwiki fix though)
17:06 ingy ok...
17:06 nothingmuch but the gugod stuff require's some refactoring of spork code
17:06 autrijus Juerd: so you'll update your  quickref/op
17:06 nothingmuch which doesn't change anything
17:07 Juerd autrijus: Yes
17:07 autrijus cool
17:07 autrijus Juerd++
17:07 nothingmuch is gugod here? idle time is 6 days
17:08 Southen has quit IRC (Connection timed out)
17:08 svnbot6 r3262, autrijus++ | * infix ! is gone.
17:09 ingy nothingmuch: gugod was at my house yesterday
17:09 ingy he went to st louis
17:09 ingy I go to st louis tuesday
17:10 nothingmuch ah
17:10 nothingmuch can you commit to Spork::S5? or can you get patches to him?
17:12 saorge has joined #perl6
17:17 Alias_ oh dear...
17:17 Alias_ ./:method
17:17 Alias_ (spew)
17:17 gaal nothingmuch: quite sick, that Package::Relative thing of yours :)
17:18 Alias_ This whole ": means private" thing just gets worse and worse
17:18 gaal also: hi.
17:18 nothingmuch hola!
17:18 ingy nothingmuch: can you mail patch to both of us?
17:18 nothingmuch ingy: yep... let me do one final fix so that images are done after the content
17:18 nothingmuch and incremental images are supported
17:19 estel has joined #perl6
17:21 Juerd Alias_: If you mean that "is private" would be better, I agree.
17:21 Alias_ I think I shouldn't be punished for using private methods
17:21 Juerd Alias_: OTOH, that'd make it really private, and that's unperlish
17:22 Alias_ I think that what might seem like a good idea "reminding people it's private" quickly turn into slamming your head up against a wall
17:22 nothingmuch does .:private even make sense? if it's private, shouldn't it only happen on $?SELF anyway?
17:22 Alias_ YES (bang) I (bang) KNOW (bang) IT'S (slam) PRIVATE (slam)
17:22 svnbot6 r3263, Juerd++ | Add method meta-ops; add ./ to precedence table; remove chaining !
17:22 Juerd nothingmuch: It's a visual warning, not a form of protection.
17:23 Juerd nothingmuch: Like Perl 5's _private, but regulated.
17:23 Alias_ _private only existed because we didn't have "real" privacy
17:23 Alias_ We needed a warning cause you _could_ screw up
17:23 Juerd Alias_: As I understand it, :private provides no real privacy.
17:23 Alias_ Now you can't...
17:23 nothingmuch regulated how?
17:23 Alias_ WHATTTT
17:23 wolverian hmm. Juerd, S12 says that private methods are invisible to MMD
17:23 Alias_ cry
17:23 wolverian or rather, s,MMD,ordinary method dispatch system,
17:24 Alias_ Why not just make _method private and enforce the current style
17:24 Juerd You must use a special syntax to call a private method:
17:24 Juerd    $mybrain.:think($pinky)
17:24 Juerd Alias_: My thoughts exactly.
17:24 wolverian I wonder what being invisible to the dispatch means then.
17:24 Alias_ You don't need warnings if you can't see private methods
17:25 estel has quit IRC (Remote closed the connection)
17:25 Alias_ if it's just a warning, what makes it different to the current style of warnings
17:25 Alias_ And since when was Perl in the game of providing warnings
17:25 Alias_ "enough rope" and all that
17:25 autrijus use warnings; :)
17:25 Alias_ But then I hate more and more of Perl 6
17:26 autrijus eh. "being invisible to the dispatch"
17:26 Alias_ Only because I know it's not going to be populat
17:26 Alias_ popular
17:26 autrijus means exactly the same thing as if you would "_method"
17:26 Alias_ and popular equals jobs and work
17:26 autrijus i.e. it has different names.
17:26 autrijus so there's no way $obj.method would dispatch to $obj.:method
17:26 Juerd Bring it to p6l
17:26 autrijus just like it won't dispatch to $obj._method.
17:26 Alias_ So it's now LESS flexible, but with the added benefit of being no better in functionality?
17:26 Alias_ I mean, we didn't _have_ to use _method
17:26 autrijus how is it less flexible?
17:27 autrijus you can still use _method :)
17:27 autrijus method _private () { ... }
17:27 Juerd Alias_: Yes, and as a SPECIAL BONUS we get inconsistency for $.foo and $:foo (the latter ought to be $.:foo, for consistency)
17:27 Alias_ except now it's something.:_method?
17:27 autrijus the only magic :method gets is generating inconsistent accessors
17:27 autrijus Alias_: no, it's still ._method
17:27 autrijus Juerd: heh jinx!
17:27 Alias_ and that will be truly private?
17:27 Juerd What's jinx?
17:27 autrijus Juerd: speaking the same things simultaneously
17:27 Juerd Alias_: There is no true privacy.
17:28 Juerd Alias_: Whatsoever. This is part of language philosophy, and hard to change.
17:28 autrijus er. there is true privacy if you use lexical variables in BUILD.
17:28 gaal can't you padwalk if you really want to?
17:28 Juerd autrijus: CALLER::
17:28 autrijus or other ways p5 hackers are accustomed to
17:29 autrijus Juerd: CALLER:: doesn't defeat that
17:29 autrijus and it's not anybody's ::OUTER
17:29 Juerd Lexicals make things invisible, not inaccessible.
17:29 autrijus Juerd: "only accessible thru mandated methods"
17:29 autrijus that's what privacy means, anyway.
17:30 autrijus gaal: it's not anybody's ::OUTER, so I doubt the core language can walk there
17:30 autrijus gaal: you can always drop down to haskell or parrot assembly level though ;)
17:30 zuulvin_ has quit IRC ("Leaving")
17:30 gaal it's been known to happen...
17:31 autrijus PadWalker.pm drops to C level too...
17:31 clkao *yawn*
17:32 autrijus journal up; I need to sleep :)
17:32 autrijus has$work tomorrow.
17:32 * autrijus waves &
17:32 Juerd Sleep well
17:32 jhorwitz 'night
17:32 gaal nihgt.
17:32 Juerd autrijus: Heh, thanks for the title :)
17:33 autrijus :)
17:35 elmex has joined #perl6
17:37 Odin- Juerd: ./method is a neat suggestion. :)
17:38 Juerd Thank you
17:39 Juerd It's funny how p5p can *fight* over something as silly as //, and new operators are implemented in p6l almost on a daily basis :)
17:39 Juerd s/implemented/invented/
17:41 Odin- Fewer users to worry about.
17:41 Odin- And those that exist mostly follow p6l, so they'll get advance notice...
17:42 autrijus er, implemented, too. :)
17:42 Odin- autrijus: That doesn't happen on p6l. ;)
17:42 autrijus Odin-: nowadays it does :)
17:42 * autrijus has been spamming p6l with subversion revision numbers
17:42 Odin- Heh. :)
17:45 gaal say, is Damian's last draft of the rules capturing stuff posted somewhere?
17:54 Alias_ Odin: It appears that the only downside is ./:method
17:54 svnbot6 r3264, jhorwitz++ | * initial support for method invocation
17:55 simcop2387 has joined #perl6
18:05 Corion has joined #perl6
18:06 pjcj has quit IRC (Read error: 145 (Connection timed out))
18:14 elmex has quit IRC ("leaving")
18:15 Corion Is the (parsefail) breakage in t/junctions/misc_junctions.t known ? (http://datenzoo.de/pugs/win2k.html )
18:16 Corion ( r3263 )
18:18 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
18:26 adehohum has quit IRC ("Leaving")
18:26 pjcj has joined #perl6
18:31 svnbot6 r3265, iblech++ | Removed the test for the "!" operator from misc_junctions.t as it doesn't exist
18:31 svnbot6 r3265, iblech++ | any more (p6l ruling). Corion++ for noticing this.
18:39 Shillo has joined #perl6
18:39 Shillo Hullo, folks.
18:42 chady has joined #perl6
18:43 stevan ingy: pong
18:47 eric256__ has joined #perl6
18:51 eric256__ oo inheritance!!! ;)
18:51 Shillo In, or coming? :)
18:51 eric256__ from the journal it looks like it is here
18:51 eric256__ i will definitly be testing that out ;0
18:51 chady has quit IRC ("leaving")
18:51 stevan it is there
18:52 Shillo Oh, wooot!
18:52 stevan see Test::Builder::TestPlan
18:52 stevan and I think autrijus put it in the wizards script too
18:55 Shillo submethod BUILD is also in? Wow. :)
18:55 stevan Shillo: yes, but I dont know if it works 100% as expected
18:55 stevan I ran into some oddness the other day with it
18:56 * Shillo is currently reading the blog, too...
18:57 Corion Did Pugs get faster? It seems to me, but it may be I haven't been watching it test stuff lately ...
18:58 Corion Hmmm - not really, the last build took 308 seconds to test, so that isn't really "faster".
18:59 eric256__ does making it unoptimized make it *much* slower?
19:00 ingy stevan: what is  the bestway to monitor the state of Perl6 OO
19:00 eric256__ read the journal
19:01 stevan ingy: wow
19:01 arcady though that gives you a delay of up to one day
19:01 Juerd ingy: Language? p6l
19:01 * Shillo is in practice of starting pugs and chatting a little with its commandline. :)
19:01 Juerd ingy: Implementation? autrijus's journal
19:01 stevan ingy: I would go with Juerd on that
19:01 stevan although I was thinking of maybe making a wiki page
19:01 Juerd ingy: p6l is summarized every week
19:01 ingy stevan: that would be nice
19:01 Juerd stevan: See docs/quickref instead
19:01 Corion The Pugs version number
19:01 Corion :)
19:01 stevan Juerd: good idea
19:02 stevan Juerd: maybe we can put that on the wiki too?
19:02 Juerd Probably a bad idea, until the wiki directly communicates with svn
19:02 eric256__ wikiw (with comments on what is implemented) then you can see language design and progress all in one spot
19:02 Corion It would be nice if somebody wrote some tests that determine (by succeeding/failing) the "current" Pugs version number as defined by the Pugs roadmap :)
19:02 stevan ingy: as I am sure you know, autrijus is hard to keep up with :)
19:02 Corion Who wants to go to the Wiki when we got tests and svn ?
19:02 stevan Corion: true
19:02 Juerd My back HURTS
19:02 stevan but people like pretty web pages :)
19:03 Juerd I don't know what I've done, but it hurts
19:03 Juerd Muscles, spinal column,skin
19:03 stevan Juerd: do you have a good chair?
19:03 * Shillo looked into the Parser.hs. Shouldn't role and class rules be separate? Since roles can take 'template' parameters.
19:03 Juerd Good enough. Have had it for years.
19:03 Corion Juerd: Try sitting differently. Also, maybe start with the exercises in The Hackers' Diet - I do them and find them quite good against back aches
19:04 * Shillo is itching to start hacking, just wonders about the approach.
19:04 Corion (but I found that my back aches if I don't do them for two or more days :) )
19:04 Corion Shillo: Write a test. Write the feature. Check that the test succeeds. Commit.
19:04 Juerd Corion: The pain started a few hours ago and has gotten worse since
19:04 Corion Juerd: That sounds bad.
19:04 stevan ingy: why do you ask? you looking to start porting code?
19:04 Juerd Corion: I've sat in all possible positions in that period of time
19:04 Shillo Corion: Yeah, yeah, I know. :)
19:04 Corion Juerd: Maybe you lifted something wrongly
19:04 Juerd Probably
19:04 Juerd Can't think of what that'd be though
19:05 Juerd Tomorrow, at the first possibility, I'm seeing a doctor
19:05 Corion Juerd: Can you locate the hurting or is it mainly a "general" area?
19:05 Shillo Juerd: Get into really good shape. I know I didn't have any backpains while I trained 1 hr/day on average.
19:05 Corion Juerd: Yes. Consider a hot bath to relax the muscles but go see a doctor.
19:05 stevan heroin will do yah :P
19:05 Corion Sweet sweet crack will do too.
19:05 Juerd Corion: The entire right side hurts continually, and everything is sensitive
19:06 stevan Corion: he might go crazy from the crack and make it worse
19:06 Shillo Juerd: Recent and sudden? Oif.
19:06 Shillo Juerd: See doctor.
19:06 eric256__ nmake has paused for a very long time on Pugs.AST.Internals
19:06 Corion Juerd: The entire right side? That sounds like a pinched nerve. Go see doctor.
19:06 Juerd Shillo: It's a Sunday - will have to wait till tomorrow
19:06 Juerd That sounds bad.
19:06 stevan Juerd: I would go with Shillo, if it doesnt get better, go see a doctor
19:06 Corion Juerd: Yes, wait until tomorrow. People in the emergency station don't like people with back aches ...
19:06 Juerd Oh, and it hurts when I breathe in
19:06 stevan backs are importatnt things
19:07 Juerd So something must be stuck.
19:07 eric256__ yea doctors are great unless you need help, or its after 3:30pm or before 9am or the odd thursday they have off for golf. /me hates doctors
19:07 Corion Juerd: That sounds like a nerve that got pinched/stuck, yes... Maybe the hot bath could help but I don't know in such cases.
19:07 Juerd Well, I'm going to try the bath anyway
19:07 Corion (by relaxing and thus unsticking the nerve)
19:07 eric256__ make you wait 40 minutes, but if you are 10 late they skip your appointment.../me ends rant to find food
19:07 Juerd Thanks for the advice
19:09 Juerd Bath's filling
19:09 Juerd If it doesn't help, at least It'll clean :)
19:09 * Shillo hmms at ./method syntax. It looks really cute, but it's really easy to typo as .method and it'll work 90% of the time.
19:10 Juerd Shillo: You are right. And as the current invocant is useful mostly to call other methods on, maybe it shouldn't be the topic
19:10 Juerd Shillo: Consult p6l re this.
19:10 Corion ./numerator / ./denominator
19:11 Juerd Corion: .first .. .last, $foo ?? :bar :: :baz, $foo ^ ~^ $bar
19:12 Juerd Corion: Having one character to have several meanings is common to Perl. You just have to get used to the new one.
19:12 estel has joined #perl6
19:13 Corion Juerd: Yeah :) When I finished -p / -n , I tried to replicate Abigails JAPH, but it didn't work for some reason ... But it'll make for great aesthetic differences, having different characters to work with now ;)
19:13 Corion I have big hopes for the -ing operator :)
19:13 Corion print %(/§$-ing $error and $)(/%§$-ing die.
19:14 zuulvin_ has joined #perl6
19:18 Shillo Juerd: That makes sense. Sabotage .method when ./method is called for and I like it a lot. :)
19:19 cognominal what "Haddock" means in autrijus journal?
19:19 Corion cognominal: "Haddock" is the Haskell Perldoc
19:19 Juerd cognominal: http://pugs.kwiki.org/?Perl6Nomenclature
19:19 Corion ... they need to make up names for everything that Perl already has. Weird people. :)
19:20 Corion Haddock also is the captain in Tintin
19:20 Juerd Kuifje.
19:21 cognominal yea, in #perlfr we have a bot that spout Haddock's insults
19:24 Alias_ cognominal: Are you parisian?
19:26 cognominal I was born in Paris, I live in Arcueil  a close suburb south of Paris
19:26 Alias_ I've been trying to find the spelling for a bit of parisian slang
19:26 Alias_ something like chegasse...
19:26 _estel has joined #perl6
19:26 cognominal btw Herge, the Tintin'a author  was from Belgium as many Francophone comics writers
19:27 Alias_ Pronounced "Shag Ass" to english ears, and roughly translated to me as "the bitch that does not pay"
19:27 cognominal chegasse?
19:27 cognominal Alias_: you are free to drop on #perlfr on irc.perl.org :)
19:27 Alias_ done
19:32 Shillo *yawn* Later, folks!
19:33 Shillo has quit IRC ("Leaving")
19:35 wilx whoa!
19:35 wilx Question!
19:35 wilx Is Perl6 going to have some kind of C++-like destructor?
19:36 wilx Some method that would be called if object gets out of scope?
19:37 obra wilx: you mean like perl5's DESTROY ?
19:37 wilx Dunno how P5's DESTROY works, I mean like C++'s destructor :)
19:38 Alias_ P5 is probably close to C++ destructor
19:39 Alias_ But it isn't called at a guarenteed time
19:40 estel has quit IRC (Read error: 110 (Connection timed out))
19:41 elmex has joined #perl6
19:42 wilx I hope it will.
19:42 wilx I am so used to it from C++ :)
19:47 Alias_ I think we'd all like it available at guarenteed time
19:49 Alias_ It pretty much is...
19:49 Alias_ I've never been bitten by it
19:49 Alias_ It's just that you have to avoid relying on it
19:53 _estel has quit IRC (Remote closed the connection)
20:00 Corion There are ways to get a callback when a scope is left, and there are ways to get a callback when an object is about to be garbage collected. The two events are unrelated in Perl6, but they are related in Perl5
20:00 svnbot6 r3266, Stevan++ | Perl::MetaModel - added a create_your_own_object_model.pod document explaining more about meta-classes through examples (warning it has not been spell/grammer checked, so it is kind of rough)
20:01 Corion s!grammer!grandma!
20:09 pjcj In perl 5, DESTROY is always called when an object's refcnt drops to zero.
20:09 nothingmuch pjcj: absolutely correct
20:09 pjcj Which happens when the last reference to it goes out of scope.
20:10 nothingmuch sub DESTROY { my $self = shift; $global_var = $self }; # object will have DESTROY called again when $global_var is destroyed
20:10 nothingmuch you get funky messages when you do that crap in global destruction
20:10 nothingmuch it's fun
20:11 cognominal has quit IRC (Read error: 54 (Connection reset by peer))
20:11 cognominal has joined #perl6
20:14 * Corion shakes his fist at the mod_perl developers. Don't write interactive Makefile.PL files :(
20:15 Alias_ it seems to get called twice regardless
20:15 Alias_ even if you just $_[0]->something
20:16 Alias_ But then I don't pretend to understand... if I can make it not crash or warn, that's enough for me
20:18 Juerd That helped. A little, but enough to breathe without pain again.
20:19 nothingmuch has quit IRC ()
20:24 DapperDan has joined #perl6
20:26 nothingmuch has joined #perl6
20:28 Corion has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
20:41 svnbot6 r3267, iblech++ | Fixed some typos and added the usual svn properties to
20:41 svnbot6 r3267, iblech++ | create_your_own_object_model.pod (Stevan++!).
20:41 Aankh|Clone has joined #perl6
20:48 DapperDan has quit IRC ()
20:48 mj41 has joined #perl6
20:53 stevan :D
20:53 stevan my spell checker just wanted to change 'MetaClass' to 'meatballs'
20:54 Juerd So would I
20:54 stevan :P
20:55 stevan Juerd: BTW - very nice solution on the ./method() thing
20:55 stevan I really like that
20:55 DapperDan has joined #perl6
20:56 Juerd stevan: Thank you
20:56 Juerd stevan: Do you dislike autoquoting on =>'s LHS, or is it not yet implemented?
20:57 stevan Juerd: why do you ask?
20:57 stevan I use it all the time in perl5
20:57 stevan but I think I got into the habit in perl6 because it wasn't implemented at first
20:57 Juerd stevan: cyoom.pod
20:58 stevan Juerd: ah,.. no I do it in there because I want to make sure they are seen as strings
20:58 Aankhen`` has quit IRC (Connection timed out)
20:58 Juerd stevan: And re mmc.pod, note that most formatters add even more indenting, even to verbatim paragraphs
20:58 stevan in contrast to the Class and such which are bareword pointers to Class instances
20:58 stevan is pseudo perl6 :)
20:58 Juerd stevan: This makes the drawing not fit in a standard terminal, with pod2text
20:58 svnbot6 r3268, Stevan++ | Perl::MetaModel - create_your_own_object_model.pod - Now with imroved spelling and grammer :)
20:59 Juerd imroved spelling. Heh.
20:59 stevan :D
20:59 stevan no spell checker for svn commit messages :)
21:00 stevan Juerd: I will reformat those verbatim sections then
21:00 stevan but it is dinner time for me now, so I have to run
21:02 Aankh|Clone has quit IRC ("Slee [Time wasted online: 21mins 1sec]")
21:03 Juerd Have fun
21:05 eric256__ has left
21:10 svnbot6 r3269, iblech++ | Reformatted some lines to make them <80 chars.
21:29 Juerd Thanks
21:53 Darren_Duncan has joined #perl6
21:54 svnbot6 r3270, mugwump++ | Hand-over version from Rod Adams
21:57 saorge{PuLa} has quit IRC (Remote closed the connection)
21:58 Southen[a] has quit IRC (Client Quit)
21:58 simcop2387-vnc has joined #perl6
22:05 Darren_Duncan so I just noticed the fixes that Autrijus did last night in response to my reports, which I had to work-around in Locale-KeyedText
22:06 Darren_Duncan so thanks for those!
22:06 Darren_Duncan and also LKT was updated to replace my work-arounds with the actually desired syntax
22:07 hlen_ has quit IRC (Connection timed out)
22:13 Darren_Duncan okay, I notice that Pugs is parsing code in a case-insensitive manner, rather than case sensitive - that looks like a bug to me
22:16 Darren_Duncan or alternately, the problem is that it's not in strict mode by default, even though I said "use v6" at the top
22:17 Darren_Duncan eg, I declare a variable $message and then try to invoke it as $messAge and I don't get a syntax error
22:19 mj41 has quit IRC (Read error: 131 (Connection reset by peer))
22:20 Darren_Duncan regarding the problem yesterday where I said "map:{ .key~'='~(.value // '') }" didn't work, it seems that only the "//" doesn't work; putting a "||" in its place will result in a compile, though not the desired behaviour
22:32 mugwump those sound like great tests just waiting to happen, Darren_Duncan !
22:32 Darren_Duncan I just committed a few LKT cleanup things
22:32 Darren_Duncan essentially finishing what Autrijus started yesterday in LKT after adding some required Pugs features
22:33 mugwump LKT?
22:33 mugwump oh, Locale::KeyedText
22:33 Darren_Duncan my abbreviation for Locale-KeyedText
22:34 tomyan has joined #perl6
22:34 Darren_Duncan I also noticed that Hash/hash are interchangeable in a 'return' statement but Array/array are not; only the latter works.
22:34 Darren_Duncan at least interchangeable meaning compiles
22:34 Darren_Duncan capital A Array does work in other places
22:35 mugwump I've heard of lots of such weirdness to do with how slurpy arrays works, I believe that the details of it are still being nutted out... capturing your experience in a test script will therefore be helping charting the 'corner' cases
22:35 mugwump not that I'm telling you anything new there of course
22:35 mugwump anyway, what about SRT?
22:35 Darren_Duncan that will come asap
22:35 Darren_Duncan its much larger and more difficult
22:36 Darren_Duncan I will commit it in pieces
22:36 Darren_Duncan since it has a multi-layered api, I'll just commit the lowest level api first and work my way up
22:36 mugwump a good plan..
22:37 Darren_Duncan I have about 4-5 large revisions of the perl 5 version to factor into the last perl 6 port I did
22:37 svnbot6 r3271, Darren_Duncan++ | Locale::KeyedText - minor updates to 5 methods as further corrections or cleanup to replace workarounds with what was intended but unsupported last day
22:37 Darren_Duncan whereas with LKT there was only 1 revision done since the last port
22:37 Darren_Duncan I plan to have it in this week though
22:38 Darren_Duncan my very next task, now, is the LKT test suite - this is the main thing that changed in that 1 perl-5 revision
22:38 Darren_Duncan the 1 test file was split into 9 files
22:38 Darren_Duncan working ...
22:39 mugwump cool.  Hey, did you ever get it to handle Locale::MakeText-style strings?
22:40 mugwump or does it start and end at GetText-level stuff?
22:40 sbkhh has joined #perl6
22:41 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
22:41 Darren_Duncan it's different from both of those
22:41 Darren_Duncan I haven't tried to make it like the others
22:41 Darren_Duncan where appropriate that may come later
22:41 mugwump ok.  which languages have you successfully internationalised to?  any far or middle east languages?
22:42 Darren_Duncan I did a French sample, but I don't speak french so its rough
22:42 Darren_Duncan the template is there, with one file per language, and its a UTF-8 file, so those in the know can make ones for other languages
22:43 Darren_Duncan or I would eventually
22:49 iblechbot has quit IRC (Read error: 145 (Connection timed out))
22:51 jroc has quit IRC (Read error: 131 (Connection reset by peer))
23:00 cognominal Darren_Duncan: I did not read the backlog, but if you need help for French, go to #perlfr in irc.perl.org and ask help
23:00 clkao cognominal!
23:01 clkao cognominal: fyi, your svk bug is fixed
23:01 cognominal which one?
23:01 cognominal I don't remember filing a bug? :)
23:01 clkao switch
23:02 sbkhh is now known as Odin-
23:02 clkao bah, someone with similar id
23:02 clkao sorry
23:02 cognominal you may speaking of Alias :)
23:04 DapperDan has quit IRC ()
23:17 bsb has left
23:17 svnbot6 r3272, chromatic++ | Added more tests for Test::Builder::Test::Pass.
23:17 svnbot6 r3272, chromatic++ | Fixed a display bug in test report() methods.
23:42 Darren_Duncan cognomial, the French in question was a few examples in my documentation; nothing too important, and the original English wasn't that great grammar either
23:42 Darren_Duncan I'll keep your suggestion in mind when I have any real localization to do, though
23:48 larsen has quit IRC ("later")
23:56 eric256__ has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo