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