pugscode.org/ planetsix.perl.org/ | nopaste: sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: irc.pugscode.org/ | ~330 days 'til Xmas Set by mncharity on 25 January 2009. |
|||
Tene | hi | 00:00 | |
shinobi-cl | rakudo is a cool name for perl6, even better than perl6 i think... | 00:08 | |
sounds like some kind of martial art | |||
00:11
sri_kraih_ left
00:20
vixey left
00:24
ayrnieu joined
00:37
rabbits77 joined
00:39
legis joined
00:42
andrew_ joined,
wknight8111 left
00:45
rabbits77 left
00:49
silug joined
00:53
s1n joined
|
|||
shinobi-cl | i've read somwhere (cant remember where) about a perl6 feature called "shape" | 00:53 | |
what happened to that? and, what was the idea? | 00:54 | ||
TimToady | see S09:288 | 01:04 | |
shinobi-cl | thanks! | 01:05 | |
01:06
hanekomu left,
SamB joined
|
|||
shinobi-cl | thats would be great for voxel models | 01:07 | |
TimToady | nobody actually implements it yet, of course... | 01:08 | |
but jnthn++ sez that rakudo is getting close | |||
shinobi-cl | the ";" is still the dimension separator? | 01:09 | |
TimToady | yes | 01:10 | |
shinobi-cl | ouch | ||
TimToady | allows slices in each dimension | ||
slices are important :) | |||
you can always use the [][][] notation too, but that's even uglier | 01:12 | ||
and doesn't parallelize as easily | 01:13 | ||
shinobi-cl | oh cool :) thats good to know. i agree that [][] is uglier, but i always relate ; with end of sentence.... is just one of those things that are hard to forget. | 01:14 | |
TimToady | the lists in [list;list;list] are independently lazy | ||
well, the lists in [list][list][list] are also indendently lazy, but it's harder to see | 01:15 | ||
shinobi-cl | perl6 will be the best toy ever :) i had sooo much fun with "roles" today. Is so great that is hard to think "how do i live all those years without them".... | 01:16 | |
TimToady | allowing statements in there also gets us list comprehensions for free | ||
shinobi-cl | shapes seems to be fun also, cant wait to start playing with that | ||
TimToady | my @foo = @bar[$_ if * % 2 for 1..*] # all the odd elements | 01:19 | |
shinobi-cl | noted | 01:20 | |
TimToady | though @foo = @bar[1,3,5...*] might be easier to grok | ||
01:23
shinobi-cl left
|
|||
TimToady | hmm, @foo = @bar[1,3,5..*] would be an epic fail :/ | 01:29 | |
01:29
andrew_ left
|
|||
diakopter | (1..*).odds | 01:30 | |
frew | why would it be an epic fail? | ||
TimToady | to get 1,3,5,6,7,8,9 when you wanted 1,3,5,7,9... | ||
just because you left out one . | |||
frew | ah | 01:31 | |
I couldn't see it | |||
TimToady | indeed | ||
frew | is that part of perl6? | ||
TimToady | yes | ||
frew | that style syntax? | ||
haha, that's cool | |||
although I can't see myself using it ever | |||
it would be nice, but how often do I just use odd numbers? | 01:32 | ||
TimToady | a specialization of 1,1 ... { $^a + $^b } # fibonacci | ||
frew | maybe for like, server side zebra striping | ||
wow | |||
does that work? | |||
TimToady | it's specced | ||
frew | ah, ok | 01:33 | |
so not yet | |||
diakopter | std: 1,1 ... { $^a + $^b } | ||
p6eval | std 25101: OUTPUT«00:04 72m» | ||
frew | so if I wanted factorials I could do 1,2 ... { $^a * $^b } ? | 01:34 | |
anyone else here agree with masak's journal about wishing we had irb in perl6? | |||
TimToady | well, you could, but [\*] 1..* is shorter | 01:37 | |
perl6: say [\*] 1..10 | |||
p6eval | rakudo 36127: OUTPUT«Statement not terminated properly at line 1, near "1..10"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
..pugs: OUTPUT«126241207205040403203628803628800» | |||
..elf 25101: OUTPUT«/home/evalenv/pugs/misc/STD_red/match.rb:117:in `block in to_dump0': undefined method `to_dump0' for nil:NilClass (NoMethodError) from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `map' from /home/evalenv/pugs/misc/STD_red/match.rb:117:in `to_dump0' from | |||
../home/evalenv/pugs/... | |||
frew | that's kinda a bizarre syntax | ||
why the \? | 01:38 | ||
TimToady | it's a triangle | ||
frew | ??? | ||
pugs: say [+] 1..5; say [*] 1..5 | |||
p6eval | pugs: OUTPUT«15120» | ||
frew | Why not just do that? | ||
TimToady | each result tends to get longer, and if you print one on each line... | ||
you were defining a list of all the factorials, not just one | 01:39 | ||
frew | oooh | ||
TimToady | pugs: say join ' ', [\*] 1..10 | ||
p6eval | pugs: OUTPUT« » | ||
frew | so if I want a sum I should do [\+] 1..5 | ||
TimToady | pugs: say join(' ', [\*] 1..10) | 01:40 | |
p6eval | pugs: OUTPUT« » | ||
TimToady | pugs: my @x = [\*] 1..10; say ~@x | ||
p6eval | pugs: OUTPUT«1 2 6 24 120 720 5040 40320 362880 3628800» | ||
frew | rakudo: say join(' ', [\*] 1..5) | ||
TimToady | there you go | ||
p6eval | rakudo 36127: OUTPUT«Statement not terminated properly at line 1, near "(' ', [\\*]"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
frew | ok | 01:41 | |
so [\opp] means gimme a bunch of lists | |||
and [opp] is vanilla reduce | |||
TimToady | yes, \ gives all the partial results | ||
frew | ok | ||
I can see wanting that | |||
TimToady | and since almost no infix operators start with \... | ||
frew | right | 01:42 | |
TimToady | it's hard to get the triangle effect in irc though | ||
frew | should I type it in vim or something | 01:43 | |
TimToady | 1 | ||
2 | |||
6 | |||
24 | |||
120 | |||
frew | oooooh | ||
TimToady | 720 | ||
frew | gotcha | ||
TimToady | 5040 | ||
40320 | |||
362880 | |||
3628800 | |||
that's the triangle | 01:44 | ||
diakopter | TimToady: how about octal.. | ||
TimToady | everyone 8's octal | ||
diakopter | ) | ||
TimToady | 8) | 01:45 | |
^ kermit | |||
std: :( 8) it's not easy being green | 01:47 | ||
p6eval | std 25101: OUTPUT«############# PARSE FAILED #############Syntax error (two terms in a row?) at /tmp/mVRfF480kk line 1:------> :( 8) it's not easy being green expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop | ||
..terminator00:04 63m» | |||
TimToady | 8> # gonzo | 01:51 | |
01:51
hercynium joined
|
|||
pugs_svn | r25102 | lwall++ | [S02] reserve PERL and FILE lexical scope names | 01:54 | |
01:54
eternaleye joined
01:55
jhuni joined
|
|||
pugs_svn | r25103 | lwall++ | [delete.t] there is no delete function | 01:55 | |
r25104 | lwall++ | [STD,t] next,last,redo,break,goto can now be parsed as ordinary functions/listops | 01:57 | ||
r25105 | lwall++ | missing comma | 01:59 | ||
frew | I am in ord_and_chr.t and I am skipping a for loop | 02:01 | |
and the skip thinks I am skipping 2 | 02:02 | ||
but I am skipping something like 200 | |||
how can I tell it that? | |||
02:03
lambdabot joined
|
|||
TimToady | put the skip inside the loop? | 02:04 | |
frew | ah, clever. | ||
TimToady | or there's always emit | ||
s1n | frew: could always just say exactly how many you're skipping after the skip | 02:05 | |
grep for skip, you'll find it eventually | |||
frew | eh, this works | ||
I like to think that these skip things are temporary so trying for elegance in them is a waste of my time | 02:06 | ||
02:06
DemoFreak left
|
|||
s1n | #?rakudo 200 skip 'bleh' | 02:06 | |
TimToady | that's skip the next 200 linear tests | ||
won't work on a loop | 02:07 | ||
frew | well, it's a dynamic number | ||
ah | |||
ok | |||
so still, in the loop works best apparently | |||
s1n | could also put the test in a block and skip the block | ||
frew | but then my plan is wrong. | ||
because it only sees 2 tests | |||
but there are 200 | |||
because it's a loop | |||
Tene | so fix your plan. | ||
TimToady | the plan's not wrong :) | 02:08 | |
s1n | are plans dynamic? | ||
02:08
aindilis` joined
|
|||
frew | this one is | 02:08 | |
plan 36*@maps*2; | |||
er 36+@maps*2l | |||
gracious | |||
s1n | oh, yeah that's fine | ||
i was asking about changing the plan after-the-fact | 02:09 | ||
frew | 36+@maps*2; | ||
anyone know if you can do vertical splits in screen? | |||
Tene | frew: with the latest version you can | 02:10 | |
^A | | |||
frew | hoho | ||
that's great | |||
thanks | |||
s1n | TimToady: are you familiar with rakudo's version of STD.pm? (languages/perl6/src/parser/grammar.pg) | 02:11 | |
frew | vimsplits and screen splits make using a single 15 inch monitor totally bearable :-) | ||
s1n | TimToady: or any of the other parser/* files for tha tmatter | 02:12 | |
TimToady | s1n: no, I try to stay away from everyone else's implementations for their own good. :) | ||
s1n | heh okay, thanks | 02:13 | |
02:13
aindilis` left
|
|||
s1n | anyone else in here familiar with rakudo's parser? i'm trying to find something | 02:13 | |
02:13
alester_ joined
|
|||
pugs_svn | r25106 | frew++ | [t] Added named arg tests for ord and chr | 02:14 | |
TimToady | decommuting & | 02:15 | |
s1n | jnthn: i see you name on the commit of grammar-oper.pg, can you help me find something? | 02:16 | |
frew | how is this syntax supposed to work: %h<b>:delete | 02:22 | |
02:22
aindilis left,
aindilis` joined
|
|||
frew | I realize that it's deleting b from %h | 02:22 | |
but I just don't see how the syntax makes | |||
sense, vs %h.delete <b> | 02:23 | ||
Ok, it looks like :delete isn't a method but something else entirely | 02:27 | ||
Someone let me know at some point if I'm right | |||
s1n | i believe :delete would be the adverbial form, which triggers the delete | 02:31 | |
frew | k, I don't think that needs named arg testing | 02:33 | |
02:35
pmichaud joined
|
|||
s1n | pmichaud: ping | 02:38 | |
pmichaud | pong | ||
s1n | i'm playing with Ranges, and I want to modify the parser, i was wondering if you could point me in the right direction | 02:39 | |
where are the infix/prefix methods defined? | 02:40 | ||
i found them in the src/parser/grammar-oper.pg, but i don't see where the protos turn into anything else | |||
pmichaud | grammar-oper defines the tokens | 02:43 | |
the actual functions are probably in src/classes/Range.pir | |||
how are you wanting to modify the parser? | |||
s1n | i'm learning PIR, rakudo internals and all, so i figured i'd add :by to Range | 02:45 | |
pmichaud | the adverbs are actually part of the other parts of the parser, not part of the token | ||
as far as the functions are concerned, it'll just be a named parameter. | |||
s1n | right, i have it added to Range.pir as a named parameter, but i need to add the adverb to the parser | 02:46 | |
pmichaud | that would involve adding adverbs to the entire parser, not just for ranges. | ||
02:46
aindilis joined
|
|||
s1n | is that not supported yet? anywhere? | 02:46 | |
pmichaud | not in rakudo | ||
we'd need to look at how it's handled in STD.pm | |||
s1n | heh okay | ||
well i definitely bit off more than i could chew | 02:47 | ||
frew | can someone tell me if this method sig foo "(%bar ; $baz)" is a typo? | ||
pmichaud | looks like adverb handling in STD.pm is handled by expression parser | ||
loop { # while we see adverbs | |||
s1n | pmichaud: hmm, that sounds like more than i understand right now | 02:48 | |
pmichaud | it's a bit out there for me as well. | 02:49 | |
s1n | well, crud | ||
pmichaud | although I'm glad I didn't try to tackle adverbs before now, since it's changed quite a bit since last time I looked at it ;-) | ||
s1n | not wasting time/effort is always good | ||
well, i'm getting more familiar with PIR | |||
still getting a grasp on the lay-of-the-land though | 02:50 | ||
i'd like something i could start working on | |||
i'm just unsure what needs huge amounts of work and what is possible now | 02:51 | ||
the calm is eerie | 02:59 | ||
frew | s1n: agreed | ||
s1n | frew: i was wondering if i was in irc purgatory | 03:00 | |
03:00
aindilis` left,
aindilis left
|
|||
frew | well, if you are I am too? | 03:00 | |
03:00
aindilis joined
|
|||
s1n | hmm dunno | 03:01 | |
i was mid-conversation with pmichaud and either he went afk suddenly, or i'm out in the void now | 03:02 | ||
frew | maybe he had to get dinner | ||
or she, I dunno | |||
s1n | he, heh | ||
ahh, the dalek bot in #parrot leads me to think he just went afk | 03:03 | ||
frew | well, I read somewhere on use.perl.org someone said something about audrey tang and they said that "you are a free spirited guy" or something like that | ||
and she was like, "Yeah, I am a free spirited girl" | 03:04 | ||
it was funny | |||
s1n | dude named audrey? man, that child would be tomented to no end | 03:05 | |
literal | what does sial.org/pbot/perl6 use for highlighting? | 03:07 | |
03:07
jferrero left
|
|||
literal | it doesn't work very well... | 03:07 | |
frew | literal: no clue, but I found another weird issue with vim with perl6.vim | ||
literal | what issue? | 03:08 | |
frew | check S29-list/end.t | ||
it's weird because it's really short | |||
literal | what's weird about it? looks fine here | ||
frew | but if you load the file (with the filetype set) at the end everything looks fine, but after scrolling up just a few lines it gets all comenty | ||
mm | |||
maybe I should add those commits you did today | 03:09 | ||
literal | yeah, when you open the file anywhere else but at the top, that can happen | ||
don't know why | |||
frew | well, it's kindav expected | ||
s1n | frew: i've seen vim get confused with the filetype before, i.e. scrolling quickly over PIR | ||
frew | what would be best would be if vim could get the AST from perl6 or something | ||
literal | frew: vim doesn't allow that | 03:10 | |
frew | s1n: yeah, it happens to me at work with js all the time | ||
literal | but other editors do, like Padre | ||
frew | literal: yeah, I know | ||
well, Padre is written in perl right? | |||
literal | yeah | ||
frew | so it doesn't count :-) | ||
literal | you could probably do it with emacs, I hear it's more programmable than vim | ||
frew | steve yegge wrote an entire javascript engine in emacs | 03:11 | |
but he said it was a pretty terrible experience | |||
s1n | he write it in lisp/scheme? | 03:12 | |
that would be a terrible experience | |||
frew | yeah | ||
emacs lisp | |||
which I read is not as nice as other lisps? | |||
pugs_svn | r25107 | frew++ | [t] added named arg test to end | ||
s1n | isn't that just scheme? | ||
frew | steve-yegge.blogspot.com/2008/11/ej...emacs.html | ||
no clue | 03:13 | ||
I've not delved into lisp or scheme more than a little | |||
03:14
hercynium left,
kid51 left
03:17
Limbic_Region left
|
|||
pugs_svn | r25108 | frew++ | [t] added named arg test for first | 03:25 | |
r25109 | frew++ | [t] added named arg test for grep | 03:28 | ||
03:30
aindilis` joined
|
|||
aindilis` | emacs lisp is somewhat archaic | 03:36 | |
03:44
aindilis left
03:53
simcop2387 joined
03:54
simcop2387-vnc joined
04:10
aindilis` left
04:11
meppl joined
04:33
ChrisDavaz left
04:38
shinobi-cl joined
04:39
kisu left
04:44
shinobi-cl left
04:46
ChrisDavaz joined,
shinobi-cl joined
05:12
meppl left
05:25
ChrisDavaz left
05:38
stephenlb left,
kisu joined
05:42
shinobi-cl left
05:43
mtnviewmark joined
05:45
mberends joined
06:03
frew left
06:10
aindilis joined
06:18
shinobi-cl joined
06:28
frew joined
06:36
justatheory left
06:44
ashizawa joined
06:51
aindilis` joined
07:01
meppl joined
07:03
araujo joined
07:04
aindilis` left
07:05
aindilis` joined,
aindilis left
07:10
mberends left
07:17
shinobi-cl left
07:36
aindilis` left,
kisu left
07:43
masak joined
07:46
iblechbot joined,
mtnviewmark left
07:54
kisu joined
08:00
ejs joined
|
|||
masak | if I want to build a .new constructor with mandatory named arguments, how do I write? | 08:04 | |
method new( :mandatory! ) { ... } # something like this? what's the '...' supposed to be? | |||
08:08
alester_ left
08:10
ejs left,
DemoFreak joined
|
|||
moritz_ | call bless, if I got that right | 08:12 | |
(and maybe CREATE) | 08:13 | ||
perlcabal.org/syn/S12.html#Construc...ialization | |||
masak | danke. | 08:16 | |
08:19
DemoFreak left
08:25
zamolxes joined
08:26
pbuetow joined
08:27
DemoFreak joined
08:29
pbuetow left
08:39
hanekomu joined
08:45
|jedai| joined
08:52
DemoFreak left,
DemoFreak joined
|
|||
masak | if anyone would like to try and follow the new installation instructions at github.com/masak/druid/ I'd much appreciate it. | 08:53 | |
09:05
km2 left
09:18
ejs joined
|
|||
masak | is putting a concrete default implementation into a role advisable? | 09:31 | |
moritz_ | yes | ||
masak | what about if it requires an attribue? | ||
moritz_ | roles are for code reuse | ||
then you add an attribute to that role | |||
masak | \o/ # just as I hoped! | ||
moritz_ | classes are for interfaces | ||
masak | moritz_: I'm doing the Observer pattern for Druid. which one would you prefer, Druid::BoardObserver or Druid::Board::Observer? | 09:32 | |
moritz_ | the latter | 09:35 | |
Matt-W | definitely the latter | 09:36 | |
masak | I'm glad I asked, then. :) | ||
Matt-W | Does anybody test Parrot/Rakudo on OpenSolaris? | 09:37 | |
moritz_ | Matt-W: not according to smolder.plusthree.com/app/public_pr..._reports/8 | 09:38 | |
Matt-W | that could be interesting then | ||
my new home server will be running opensolaris | |||
moritz_ | nice | 09:40 | |
Matt-W | wouldn't be hard to run up parrot on it from time to time | 09:41 | |
moritz_ heard a talk about Nexenta (Debian+Opensolaris) at debconf | |||
pugs_svn | r25110 | moritz++ | [irclog] no monkey-patching, rg++ | 09:44 | |
Matt-W | yeah I looked at nexenta | ||
as I'm really after the kernel's ZFS support | |||
but it doesn't really seem mature enough | |||
opensolaris itself is only just there | 09:45 | ||
moritz_ | aye, don't think nexenta is really usable | 09:46 | |
masak | rakudo: role A {}; class B is A {} | 09:54 | |
p6eval | rakudo 36139: OUTPUT«Null PMC access in get_string()current instr.: '!meta_trait' pc 18676 (src/builtins/guts.pir:551)» | ||
masak submits rakudobug | |||
don't we have tests for these things? :/ | 09:55 | ||
moritz_ | masak: yesterday I tried to write tests for similar things, and they all suffered from assertion failures that eval() didn't catch | 09:56 | |
masak | moritz_: good to know that someone at least had the idea to test it. | ||
masak ponders writing a random Perl 6 code generator that creates syntactically correct garbage, and just running it constantly against Rakudo | 09:57 | ||
std: role A {}; class B is A {} | 10:00 | ||
p6eval | std 25110: OUTPUT«can't create lex/STD/termish.store: Permission denied at Cursor.pm line 53400:05 79m» | ||
masak | something's slightly wrong with the STD eval today. | 10:01 | |
moritz_ | ORLY? :-) | 10:04 | |
std: role A {}; class B is A {} | |||
p6eval | std 25110: OUTPUT«00:04 58m» | 10:05 | |
masak | moritz_++ | ||
10:07
ejs1 joined
|
|||
moritz_ | first the svn bot gives me karma for writing crappy code, and then you give me karma for repeatedly cleaning up the mess I made before ;-) | 10:10 | |
10:10
jhuni left
|
|||
masak | moritz_: you've just described most of the development I do. :) | 10:11 | |
so protoobjects are defined? | 10:13 | ||
rakudo: class A {}; my A $a; say $a.defined | |||
p6eval | rakudo 36139: OUTPUT«1» | ||
masak didn't know that | 10:14 | ||
how do I distinguish a protoobject from a .new-ed one? | |||
moritz_ | well, that's wrong | ||
masak submits rakudobug | |||
moritz_ | my $a; say $a.defined | ||
perl6: my $a; say $a.defined | 10:15 | ||
p6eval | rakudo 36139: OUTPUT«0» | ||
..elf 25110, pugs: OUTPUT«» | |||
moritz_ | perl6: class A { }; my A $a; say $a.defined | ||
p6eval | rakudo 36139: OUTPUT«1» | ||
..elf 25110, pugs: OUTPUT«» | |||
moritz_ | stringifying False to '' seem so perl 5ish | ||
masak | hah, two against one :) | 10:16 | |
10:17
ejs left
|
|||
moritz_ | perl6: class A { }; my A $a .= new(); say $a.defined | 10:18 | |
perl6: class A { method b ($x, :$y) { say "$x, $y" }}; A.new.b(2, :y<3>, :z<4>); | |||
p6eval | pugs, rakudo 36139: OUTPUT«1» | ||
..elf 25110: OUTPUT«» | |||
elf 25110: OUTPUT«$x, $y» | |||
..pugs: OUTPUT«2, 3» | |||
..rakudo 36139: OUTPUT«too many named arguments - 'z' not expectedcurrent instr.: 'parrot;A;b' pc 167 (EVAL_19:70)» | |||
10:18
riffraff joined
|
|||
moritz_ | masak: care to submit a rakudobug? | 10:19 | |
jnthn | morning all | ||
moritz_ | hi jnthn | ||
irclog.perlgeek.de/perl6/2009-01-28#i_870566 | |||
"methods ignore unrecognized nameds, but subs don't" | |||
jnthn: want to add that to your dispatcher? | |||
masak | moritz_: there already is one for that. | ||
moritz_ | ah, ok | ||
jnthn | moritz_: We don't want it in the dispatcher, but rather just want to generate an implicit *%_ parameter, I think. | 10:20 | |
For methods. | |||
That shouldn't be too hard. | 10:21 | ||
masak | jnthn: ahoj. | ||
jnthn | masak: Ahoj! Vienna.pm are giving me more Rakudo days! The fight back against your ticket filing insanity begins shortly. ;-) | ||
moritz_ | jnthn: ah, maybe that's better | ||
woah | |||
masak | jnthn: good luck. | ||
moritz_ | Vienna.pm++ | ||
jnthn | Indeed. :-) | 10:22 | |
moritz_ | can't say it often enough ;-) | ||
jnthn | masak: Yeah, I'm sure you'll be filing plenty more to keep me busy if I ever look like I'm making a dent in it. ;-) | ||
masak | jnthn: you bet. | ||
but I don't mind a bit of resistance. | |||
ah, here: rt.perl.org/rt3/Ticket/Display.html?id=61480 | 10:24 | ||
rakudo: class A {}; my $a; say $a === A | 10:25 | ||
p6eval | rakudo 36139: OUTPUT«0» | ||
masak | ah, no such luck :/ | ||
10:25
|jedai| left
|
|||
jnthn | masak: Why would that work? | 10:25 | |
10:25
|jedai| joined
|
|||
jnthn | Erm, why woudlnt' it give that result, that is? | 10:25 | |
masak | no, I can't think of a way to distinguish protoobjects from initialized ones. | ||
jnthn | rakudo: class A {}; my A $a; say $a === A | 10:26 | |
p6eval | rakudo 36139: OUTPUT«1» | ||
masak | jnthn: oh! | ||
thanks. :) | |||
jnthn | ;-) | ||
masak | almost missed a perfectly good workaround. | ||
jnthn | I totally don't understand what problme you're trying to solve, but I'm happy to provide a solution anyway. ;-) | ||
masak | rakudo: class A {}; my A $a .= new; say $a === A | ||
p6eval | rakudo 36139: OUTPUT«0» | ||
10:26
Caelum joined
|
|||
jnthn | masak: Right, because then it's not the proto-object in $a, but rather an instance. | 10:27 | |
masak | jnthn: I'm working around #62894 | ||
jnthn | oh, hmm | ||
jnthn will be mostly disappearing for a few days again | 10:29 | ||
It's for a Perl workshop this time, though. ;-) | |||
masak | that's almost excusable. :) | ||
10:29
DemoFreak left
|
|||
masak | lunch & | 10:30 | |
10:33
rafl left
10:45
bacek joined
11:00
ChrisDavaz joined,
ChrisDavaz is now known as TheOrz
11:09
riffraff left
11:19
jhuni joined
11:26
ejs1 left
11:27
ejs1 joined,
hanekomu left
11:41
riffraff joined
11:46
[particle] left
11:47
[particle] joined
11:58
iblechbot left
12:04
ashizawa left
12:05
shinobi-cl joined
12:14
shinobi-cl left
12:22
hanekomu joined
12:29
gazz_ joined
|
|||
pugs_svn | r25111 | moritz++ | [t/spec] test that methods allow addtional named arguments | 12:30 | |
12:30
smtms left
12:34
broquaint joined
|
|||
masak | I've found another blocker: #62898. | 12:42 | |
masak tries to summon pmichaud | |||
moritz_ | congratulations :( | 12:43 | |
masak | this means I'm blocked in two places in Druid. | ||
but oh well. | |||
moritz_ | in the old days you'd just worked around it | 12:44 | |
masak | moritz_: I'd complain less it that were possible. | ||
I always try to work around things. | |||
moritz_ | masak: sure it is. name your class A_ iinstead of A | ||
masak | moritz_: oh! of course! thanks. :) | ||
moritz_ | digitizer.sourceforge.net/ that's some cool software | 12:45 | |
12:46
iblechbot joined
12:48
broquaint left
|
|||
masak | rakudo: role A::B {}; say 42 ~~ A | 12:48 | |
p6eval | rakudo 36143: OUTPUT«invoke() not implemented in class 'NameSpace'current instr.: '_block14' pc 65 (EVAL_19:40)» | ||
masak submits rakudobug | |||
note how I managed to avoid the rethorical question about test converage this time. :) | 12:49 | ||
s/conv/cov/ | |||
rakudo: role A::B {}; A | |||
p6eval | rakudo 36143: OUTPUT«invoke() not implemented in class 'NameSpace'current instr.: '_block14' pc 59 (EVAL_19:38)» | ||
12:52
broquaint joined
12:53
xinming left
12:54
xinming joined
|
|||
masak | rakudo: class A::B {}; my A $a | 12:57 | |
p6eval | rakudo 36143: OUTPUT«Scope not found for PAST::Var '$a' in current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)» | ||
masak | rakudo: class A::B {}; role C { has A::B $!ab }; class D does C { method foo { say $!ab === A::B } }; D.new.foo | 13:06 | |
p6eval | rakudo 36143: OUTPUT«0» | ||
masak submits rakudobug | |||
13:07
iblechbot left
|
|||
Matt-W | masak: that should have said true? | 13:08 | |
masak | IMO, aye. | ||
rakudo: class A {}; role C { has A $!a }; class D does C { method foo { say $!a === A } }; D.new.foo | |||
p6eval | rakudo 36143: OUTPUT«0» | ||
masak | oh, that case is simpler | ||
rakudo: class A {}; my A $a; say $a === A | 13:09 | ||
p6eval | rakudo 36143: OUTPUT«1» | ||
Matt-W | attributes aren't initialising to the correct protoobjects then | ||
moritz_ | masak's last example is correct | ||
masak | Matt-W: they seem to be. | ||
moritz_ | undefined objects with type annotations should be initialized with the protoobject | 13:10 | |
masak | moritz_: they seem to be. | ||
they're just not ===-equal to each other | |||
oh, even simpler: | 13:12 | ||
rakudo: class A {}; class D { has A $!a; method foo { say $!a === A } }; D.new.foo | |||
p6eval | rakudo 36143: OUTPUT«0» | ||
masak | I should go back to minimizing first and spam the channel later. | ||
moritz_: how do I work around this one? :) | 13:13 | ||
moritz_ | masak: with an init method that assigns the prototype to $!a | 13:14 | |
masak | (the funny thing is that the place where I'm doing that already contains two workarounds) | ||
moritz_: ah ha ha! | 13:15 | ||
masak tries | |||
moritz_: no, that doesn't quite cut it. the check is part of a few lines of code that calls an init method (because I don't want to do it manually from the calling code). as far as I can see it's a Moment 22. | 13:17 | ||
13:17
jhuni left
|
|||
masak | um, Catch 22. | 13:18 | |
guess I'll just have to call the init method manually, then. | 13:19 | ||
13:20
|jedai| left
13:23
|jedai| joined
13:28
riffraff left
|
|||
jnthn | masak: Type annotations on attributes stopped functioning during rvar merge IIRC...we were going to fix them up shortly after the merge, but it didn't happen yet. :-| | 13:41 | |
ETOOFEWHANDS | |||
Matt-W | TOOFEWJNTHNS | 13:43 | |
hmm where did the E go | |||
masak | jnthn: ok, good to know the cause isn't thoughtlessness. | 13:44 | |
I'm using object/role hierarchies for the first time, so I'm bound to run into these things. | 13:45 | ||
13:47
shinobi-cl joined
13:48
shinobi-cl left
13:50
shinobi-cl joined,
shinobi-cl left
|
|||
jnthn | masak: Oh, for sure. There are quite a few roles tests by now, but of course there will be edge cases, and how it handles (or doesn't handle) things that are incorrect. | 13:54 | |
rakudo: class A is B { } | |||
p6eval | rakudo 36143: OUTPUT«The type B does not exist. at line 1, near "{ }"current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)» | ||
jnthn | Whee. :-) | ||
pmichaud | good morning | 13:55 | |
jnthn | I thought there was a ticket for that giving a bad error before, but I didn't find it... | ||
pmichaud: Morning | |||
How's things? | |||
masak | morning! | ||
pmichaud | pretty good. | ||
moritz_ | jnthn: there was, and it mostly happens in evals | ||
jnthn | moritz_: Ah, I closed an eval ticket. | 13:56 | |
pmichaud | so far (still reviewing one or two emails) it looks like we'll move Rakudo to git. | ||
jnthn | moritz_: As in, testing that in evals. | ||
Matt-W | afternoon! | ||
pmichaud | so that's my task for the morning. | ||
jnthn | pmichaud: OK. :-) | ||
pmichaud | actually, my task for the day, since we'll also have to update all of the instructions. | ||
jnthn | pmichaud: I'm flying to Bulgaria tomorrow, and then giving a talk on Rakudo on Saturday. | ||
moritz_ | jnthn: unfudge the tests in t/spec/S02-literals/types.t, and try to run it - you'll see waht I mean | ||
jnthn | So updated instructions for then is good! | ||
Matt-W | pmichaud: it's going to need some careful checking isn't it | ||
pmichaud | oh, I don't know about careful checking. We'll get bug reports quickly, I suspect. | 13:57 | |
release early + often | |||
Matt-W | lol | 13:58 | |
pmichaud | we may need to come up with daily tarballs somewhere, though. | ||
Matt-W | Between the occupants of #perl6 we'll probably figure out the problems pretty fast I'd guess | ||
where's it going to be hosted? | |||
pmichaud | if moving to git, I expect to host the repo on github for now. | ||
but we'll have a DNS entry that moves around so that people don't have to know where that is. | 13:59 | ||
moritz_ | I will, but likely only on Sunday and later | ||
jnthn | (DNS entry)++ | ||
moritz_ | (testing, that is) | ||
Matt-W | makes sense | ||
and github should provide sufficient capabilities for now | |||
pmichaud | if it doesn't, I'm told that it's very easy to move git repos to other locations. | ||
moritz_ | it is indeed. | ||
pmichaud | of course, I'm also told that git also cures cancer and makes you look younger, so we'll see. :-) | 14:00 | |
Matt-W | disturbingly easy | ||
masak | git cures a lot of things. | 14:01 | |
Matt-W | a few of us at work are trying to get the idea that git is better for our working model than subversion to propogate into the solid concrete which makes the decisions about software systems | ||
pmichaud | in other cool news, my new laptop arrived. It's 33% faster than my desktop at building Parrot. :-) | 14:03 | |
Matt-W | when they start talking about every team having a branch, and a global trunk that we merge into and from regularly, and feature development branches from the team branches, you start to think DVCS... | ||
pmichaud | ...which makes me wonder about my desktop. | ||
Matt-W | heh | ||
don't get stuck in the upgrade loop | |||
it's not good for the bank balance | 14:04 | ||
pmichaud | well, since my previous laptop was over five years old, it was time for a new one. | ||
Matt-W | quite probably | ||
what did you get? | |||
pmichaud | HP EliteBook 2530p | ||
masak | pmichaud: does that mean that you'll be 33% more productive from now on? :P | ||
pmichaud | masak: it might mean that I'll be using my desktop as a terminal into the laptop instead of vice-versa :-P | 14:05 | |
jnthn | pmichaud: I have the Slovak class now...back later on today | ||
pmichaud | jnthn: okay -- I'll probably be in progress on the migration by then | ||
14:05
shinobi-cl joined
|
|||
pmichaud | (although I have an $otherjob meeting in 1:55) | 14:06 | |
Matt-W | pmichaud: wow, that looks like a nice machine | 14:07 | |
14:21
shinobi-cl left
|
|||
pmichaud | (nice machine) -- yes, so far I like it very very much. | 14:25 | |
14:25
simcop2387-vnc left
|
|||
pmichaud | my only complaint at the moment is the placement of the PgDn and PgUp keys, which I tend to use very frequently. | 14:26 | |
but I'll see if I can get used to using the scroll zone on the touchpad instead. | 14:27 | ||
PerlJam | good morning. | 14:29 | |
pmichaud | good morning, pj | ||
PerlJam | pm: did you jsa's email? | ||
er, did you get it | |||
pmichaud | pj: yes. I'm booked for the early part of the day, will write up my (long delayed) report late tonight or early tomorrow. | 14:30 | |
PerlJam | no worries. I just noticed that he sent it to [email@hidden.address] and wondered if that still worked. | ||
pm: so ... git or svn? :-) | |||
pmichaud | PerlJam: looks like git, unless I run into major problems this morning. | 14:31 | |
PerlJam | coolness | ||
pmichaud | the only thing that svn seems to have going for it is that we've used it for a long time. | ||
PerlJam | well, you can also do partial checkouts in svn and you can't do that at all in git. | 14:32 | |
(yet) | |||
pmichaud | I don't know that we'll need partial checkouts for rakudo. | ||
I can see that it would be useful for Parrot, but not-so-much for Rakudo. | |||
PerlJam | Is rakudo going to bundle parrot or use an installed parrot or what? | 14:33 | |
pmichaud | yes. :-) | ||
PerlJam | heh | ||
14:34
ejs2 joined
|
|||
pmichaud | we'll probably make Configure.pl smart enough to (1) see if rakudo is inside of languages/rakudo of a Parrot tree, (2) use an installed Parrot if detected, (3) obtain a known correct copy of Parrot from somewhere and build/use that. | 14:34 | |
(4) let the builder decide. | |||
14:34
kanru joined
14:35
ejs2 left
|
|||
Matt-W | pmichaud: that'll be nice | 14:38 | |
this is what you can do when your configure script is written in a proper language :) | |||
PerlJam | wait ... who said the configure script was going to be written in perl 6 ? ;-) | 14:40 | |
Matt-W | perl 5 counts as a proper language when it comes to configure scripts :) | ||
pmichaud | I was thinking of using Tcl. :-P | 14:43 | |
14:43
ejs1 left
14:44
Exodist joined
14:45
iblechbot joined
14:52
km2 joined
|
|||
PerlJam | Well, using tcl would certainly help out Coke. | 14:54 | |
and it could start a resurgence of interest in tcl such that it becomes more mainstream again | |||
(It's good IRC is a a bandwidth limited medium; it was hard typing the above with a straight face :) | 14:55 | ||
Matt-W | I was just thinking, why would you want tcl to become more mainstream again? | 14:57 | |
I have a certain nostalgic place in my heart for it... it was the first language I ever wrote a GUI programme on Linux in | |||
15:01
rodi joined,
ruoso joined
|
|||
ruoso | HelolO! | 15:02 | |
masak | ruoso: TSa, is that you? :) | 15:03 | |
ruoso still think he is himself, but one can never be sure | |||
Matt-W | hi ruoso | 15:05 | |
ruoso | what's up around here... | 15:06 | |
I've been in some weird weeks | |||
and I'm not being able to backlog | |||
Matt-W | pmichaud++ is helping rakudo leave the nest | 15:07 | |
masak filed a pile of new bugs | |||
and I've been fighting with microsoft's c++ compiler | 15:08 | ||
ruoso | cool | 15:11 | |
15:11
kanru left
|
|||
[particle] | matt-w: what's to fight? | 15:13 | |
15:16
abra joined
|
|||
Matt-W | [particle]: the stuff it can't do, mostly | 15:18 | |
and its sometimes-bizarre error messages | |||
admittedly a lot of this mess is caused by existing code that's not microsoft's fault | |||
15:21
stephenlb joined
|
|||
PerlJam | vienna.pm++ | 15:24 | |
Matt-W | hmm, FOSDEM... | 15:26 | |
15:32
mtnviewmark joined
|
|||
pugs_svn | r25112 | lwall++ | [end.t] remove extra paren | 15:35 | |
jnthn is back | 15:37 | ||
Matt-W | jnthn is back!!! | 15:39 | |
oh wow | |||
I just crashed visual c++ | |||
jnthn | Matt-W: Calm down, I was only gone for an hour and a half. :-P | 15:40 | |
Matt-W | jnthn: yeah but I'm at work... | ||
masak | jnthn: rt.perl.org/rt3/Ticket/Display.html?id=62908 | 15:41 | |
jnthn | masak: Do you have _any_ precompilation going on here? | 15:42 | |
masak: Also, note that the checks are done at compilation time. | 15:43 | ||
So if you do: | |||
1) Compile module X | |||
2) Compile module Y against module X | |||
3) Modify module X | |||
(such that module Y would not compile) | |||
4) Compile module Z against compiled module Y, which thinks that module X is fine | 15:44 | ||
masak | jnthn: I see. no I'm pretty sure I didn't modify anything. | ||
jnthn | Then I can imagine you'd not see a failure until runtime. | ||
OK | |||
I'll try and re-produce from what you filed, thanks. | |||
masak | but the worst thing isn't the failure, it's the faulty success. | ||
that's easy to reproduce. | |||
no precompilation required. | 15:45 | ||
15:45
finanalyst joined
|
|||
jnthn | masak: OK, thanks, will look into it. | 15:45 | |
masak: Maybe I'm just being dumb, but why should this fail? | |||
masak | jnthn: maybe it shouldn't... | 15:46 | |
jnthn | It looks correct to me - module A uses B, which in turn uses C. Thus we have the role C from using that module. | ||
masak | jnthn: hm... | 15:47 | |
jnthn | And then class A does C - but there is a C (since we did use B, which in turn did use C). | ||
masak | aye. | ||
that _is_ correct. | |||
and those three modules precompile correctly, as well. | |||
15:48
kanru joined
|
|||
jnthn | masak: OK. So that ticket is bogus? | 15:48 | |
masak | jnthn: the main point of it is. | 15:49 | |
I could perhaps save it by tracking down that precompilation thing. | |||
jnthn | :-P | ||
diakopter | ruoso: hi | 15:55 | |
ruoso: did you look up that exported function in your smop lib? | 15:59 | ||
16:00
eternaleye left
16:06
vixey joined
|
|||
alester | ping pmichaud | 16:10 | |
16:10
justatheory joined
|
|||
pmichaud | alester: pong | 16:14 | |
alester | rakudo.org ain't gonna be ready by FP | ||
No way no how. | |||
pmichaud | alester: okay. | ||
alester | Got too much book to do. | ||
It'll be tops on my list when I get back, though. | |||
Well, after the 9th. | |||
Which is my drop dead on my book. | |||
pmichaud | I may take diakopter up on his offer for using perlsix.* then, at least temporarily. | 16:15 | |
alester | I'll work on it immediately AFTER FP2009 | ||
mtnviewmark wonders what FP is... | |||
PerlJam | What's needed to make rakudo.org ready? | ||
alester | and what I was going to ask is what we can ask people to help with at FP | ||
PerlJam | mtnviewmark: Frozen Perl | ||
pmichaud | FP == "Frozen Perl" | ||
alester | PJ: Getting Drupal on it | ||
TimToady | Frozen as in Oslo, I presume | 16:16 | |
16:16
gbacon left
|
|||
alester | As in Minneapolis | 16:16 | |
pmichaud | Frozen as in Minneapolis | ||
TimToady | ah | ||
PerlJam | I was going to volunteer to help, but drupal is on my ick list along with cobol. | ||
mtnviewmark | hmmmm... is that some date by which we think perl6 will be nailed down? or is it a Perl conference in Antiarctica? | ||
alester | PJ: Tragic. | ||
pmichaud | Feb 7-8 | 16:17 | |
jnthn | TimToady: Oslo likely won't be *that* cold. :-) | ||
mtnviewmark | So thanks to global warming, it should now be called: Chilly Perl? | ||
pmichaud | Minneapolis might be that cold, though :-) | ||
TimToady | Perl 6 will be nailed down by Christmas :) | ||
alester | PerlJam: I'm please to see that your priorities are in order. | ||
s/please/$&d/ | |||
Frozen Perl is www.frozen-perl.org/mpw2009/ | 16:18 | ||
mtnviewmark | I'll be sure to save a spot under my tree! | ||
TimToady | I'm thinking about simplifying the X...X metaoperator down to X... | ||
and chaning the new - to R | |||
*changing | 16:19 | ||
pmichaud | R +1 | ||
the '-' doesn't "read" properly imo | |||
mtnviewmark | actually, I like the postfix tick idea: <=>' | ||
TimToady | to hard to seee | ||
pmichaud | I liked the gel and >=< idea :-P | ||
PerlJam | alester: Well, I could help, but I don't know how helpful I'd be given that I've avoided drupal for many months now. | ||
pmichaud | but insufficiently meta. | ||
mtnviewmark | I like circumfix X --- it seems very mnemonic of what it does | ||
TimToady | I actually though of gel some days ago and decided not to mention it :) | ||
alester | flickr.com/photos/petdance/2392949742/ is me driving back from last year's FP | ||
PerlJam: I wouldn't want you to have to work with software that you've avoided for many months now. | 16:20 | ||
mtnviewmark | see, that's what you get by inviting the likes of me in! ;-P | ||
jnthn | TimToady: What's the usecase for R meta-op? | ||
TimToady | reverses the two arguments | ||
mtnviewmark | $a R<=> $b | 16:21 | |
TimToady | generalizes the - metaop I added a day or two ago | ||
jnthn | TimToady: That's what it _does_. | ||
I wanted more to know the design rationale. | |||
pmichaud | alester's picture looks like a slightly heavier version of what we were seeing here this morning :-) | ||
mtnviewmark | I think the problem is that typographically, the capital R doesn't combine well with graphic characters | ||
TimToady | you can talk about it without generating a new closure | ||
mtnviewmark: eh? R isn't usually known to have kerning issues... | 16:22 | ||
T or Y maybe | |||
mtnviewmark | it wasn't a kerning issue, just looks ugly to my eye -- the R doesn't combine well | ||
PerlJam | Isn't there some appropriate unicode charcter? :) | ||
mtnviewmark | where as $a X+X does | ||
TimToady | symmetry is overrated | ||
and the problem with two X's is that it implies things cross over twice, when they only cross once :) | 16:23 | ||
alester | pmichaud: so what I'm thinkin' is that we make some kind of list of areas we can use the help | ||
and actually, that would be first thing we'd put up on rakudo.org | |||
and heck, we could have physical sign-up sheets at FP | |||
mtnviewmark | The issue is that people scan letters and adjacent graphic chars as distinct units --- how many languages ... not to mention <.ws> handle things this way | ||
pmichaud | (phone) | ||
mtnviewmark | so the surrounded Xs tie the element into a single form | ||
alester | big easel pads and markers. Low-tech, but get people to want to sign up | 16:24 | |
pmichaud | alester: sounds good | ||
masak | rakudo: ([1,2,3] ~~ (("foo" / (42 ~~ [1,2,3])) ~ /foo/)) | ||
TimToady | anybody writing real code will use X* with whitespace around it | ||
p6eval | rakudo 36145: OUTPUT«Non-dwimmy hyperoperator cannot be used on arrays of different sizes or dimensions.current instr.: 'die' pc 16844 (src/builtins/control.pir:204)» | ||
[particle] | will R desugar to .reverse ? | ||
<=>.reverse | |||
mtnviewmark | The surrounded Xs also parallels the surrounded angle quotes of hyper | ||
[particle] | surely operators are objects, too | 16:25 | |
TimToady | you can't call a method on an operator :P | ||
alester | TimToady: Can you confirm for me that Perl 6's does not / will not include any of the toolchain? | ||
Perl 6's spec | |||
masak | TimToady: can you call methods on infix:<< <=> >> ? | ||
mtnviewmark | infix:< <=> >.reverse ? | ||
TimToady | that's still wrong | ||
masak | ok. | ||
jnthn | infix:<=>.signature I expect may work | ||
TimToady | &infix:... | 16:26 | |
jnthn | Ah, yes. | ||
Of course. | |||
16:26
Tene_ joined
|
|||
TimToady | alester: we reserve the right to spec anything that needs speccing across implementations, but otherwise, no | 16:27 | |
mtnviewmark | well - at the least, postfix meta R... maybe even (gasp) r? | ||
$a <=>r $b or $a <=>R $b | |||
alester | TimToady: One of the things I'm going to be talking about at P6 is that we're in a state of great possibilities. | ||
TimToady | lowercase is out | ||
mtnviewmark | (see I have to look at it to even feel it!) | ||
TimToady | too much chance for ambiguity with alphabetic operators | ||
alester | and that includes possibly rethinking toolchain, CPAN, everythgin. | ||
PerlJam | TimToady: perhaps there's some opportunity for generalization here we're missing: Xop, Rop, <wordchar>op ? | 16:28 | |
[particle] | please rethink everythgin! | ||
TimToady | there are a lot of people who have thought a lot of things about CPAN | ||
mtnviewmark | wait wait wait.... how can it be R? why would $a legR $b be parsed as a meta construction and not a single word 'legR'? | ||
16:28
gbacon joined
|
|||
alester | [particle]: Not sure if that's serious or faceitious. | 16:29 | |
TimToady | I think a cultural pattern of <upper>op keeps metaops psychologically separate and extensible wrt ordinary ops | ||
could have a Z* for instance | |||
[particle] | alester: it's both. the misspelling should be rethunked, and it is time to rethink everything, indeed | ||
mtnviewmark | ya know, you're going end up making the case for the old, pre-ansi C style of assignment op: | 16:30 | |
[particle] | ...and it's easier to reserve uppercase letters for prefix metaoperators | ||
mtnviewmark | $a =* $b | ||
:-) | |||
TimToady | undoubtedly :) | 16:31 | |
mtnviewmark | !op =op Xop | ||
masak | ook! | ||
mtnviewmark | the thing is [op], >>op, op<<, >>op<< and friends break that pattern | 16:32 | |
or and Rop above | |||
PerlJam | mtnviewmark: but those are the good side of things as I see it :) | ||
mtnviewmark | the hyper ones are nice as they are very easy to remember, understand and reconstruct | ||
the meta location indicates the type of operator and form of the expression | |||
the others, not so much | |||
TimToady | I think it's okay if different common metaops look different from each other | 16:33 | |
alester | [particle]: I think that people are expecting that on "Day One" of Perl 6 (like there will be a magic release day) that CPAN will Just Work. | ||
[particle] | yes, like it did the day perl 1 was released. | ||
TimToady | visual distinction is more important than consistency | ||
[particle] | erm. | ||
mtnviewmark | sure, op= and !op have much cultural baggage -- the later predating even CompSci | ||
16:34
eternaleye joined
|
|||
PerlJam | TimToady: $a <=> $b :reverse # see? visually distinct! :) | 16:34 | |
mtnviewmark | no, you need the reverse when you want to pass a function w/o the arguments | ||
[particle] | wait! will pod formatting codes get in the way? | ||
$a R<=> $b | |||
TimToady | sort &infix:<Rleg>, @stuff | 16:35 | |
16:35
|jedai| left,
abra left
|
|||
mtnviewmark | is still gunning for $a <=>' $b and sort &infix:<leg'> | 16:35 | |
16:36
sri_kraih joined
|
|||
PerlJam | mtnviewmark: FWIW, I like the tick suffix too. | 16:36 | |
TimToady | tick will not be acceptible to me | ||
mtnviewmark | thinks of: /foo/ R^fff^ /bar/ | ||
TimToady | or even acceptable | ||
mtnviewmark | or /dog/ Rfff /bark/ | ||
:-) | |||
16:37
|jedai| joined,
xinming_ joined
|
|||
ruoso | diakopter, in libsmop.so I have only the names with no "_" prefix... | 16:37 | |
mtnviewmark | off to work..... laters | ||
16:37
mtnviewmark left
|
|||
TimToady | ciao | 16:37 | |
16:37
Tene left
|
|||
TimToady | $teen Req $car | 16:38 | |
PerlJam | $a <>= $b # looks like a swap | ||
$a <>eq $b | |||
[particle] | $a O_o $b | 16:39 | |
ruoso have some trouble understanding why people just can't write the variables in a different order? | |||
masak doesn't like the R | |||
TimToady | sort &infix:<Rleg>, @stuff | ||
good, if you don't like the R, you'll notice it | 16:40 | ||
the whole point is to notice it | |||
[particle] | it's middle name is dangeR | ||
TimToady | that's why tick will be unacceptable | ||
PerlJam | TimToady: How would I apply the R to my custom comparator? | ||
(in the sort example) | |||
TimToady | &infix:<Rcust> | 16:41 | |
PerlJam | so, sort &cust, @stuff and sort &infix:<Rcust>, @stuff? | ||
that seems ... strange. | 16:42 | ||
ruoso | or maybe Rsort | ||
TimToady | one is tempted to define a sigil for operators | 16:43 | |
[particle] | how about ' ;) | ||
PerlJam | heh | ||
TimToady: how about R'op (and Z'op and X'op and ... ) ? | 16:44 | ||
TimToady | Looks like Klingon | ||
masak | ...and vim will go wild... | ||
PerlJam | TimToady: I keep wanting some other thing in there but I don't know what. A separator or some form of punctuation. | ||
TimToady | I think case difference can be sufficient | ||
PerlJam | and you can't tell me that isn't visually distinctive | ||
TimToady | no, it's just unnecessary | 16:45 | |
PerlJam | masak: so what, everyone will be using padre anyway :) | ||
masak | PerlJam: didn't think of that. :) | ||
PerlJam | TimToady: so it'll just have to be an acquired taste I guess. | 16:46 | |
TimToady | most of the compositions will be with non-alpha operators in any case | ||
16:46
masak left
|
|||
TimToady | @a X* @b | 16:46 | |
lambdabot | Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v | ||
TimToady | maybe someone should shoot lambdabot | 16:47 | |
PerlJam | indeed | ||
jnthn | He's not as bad as purl ;-) | ||
TimToady | Hello jnthn, you fantastic person you! | ||
PerlJam | TimToady: Do you mean that composition with alpha ops will rarely make sense, or that because there are fewer alpha ops, there will be fewer compositions with them? | 16:48 | |
I would guess the latter | |||
TimToady | the latter | ||
PerlJam | but perl 6 has more alpha ops than perl 5 and I expect they'll be more commonly used. | 16:49 | |
TimToady | in which case Rleg will just have to do :) | ||
and the Lleg people will just have to lump it | |||
PerlJam | at least we don't still have EQ, LT, GT, etc. :) | 16:50 | |
or the fortran versions. | |||
TimToady | maybe an operator twigil | 16:51 | |
PerlJam | how can they have twigils if they don't have sigils? | 16:52 | |
TimToady | all operators have a & sigil form | ||
PerlJam | oh, right. | ||
ruoso | TimToady, can we have the Rop thing depedent on a pragma? | ||
and make it more syntatical | 16:53 | ||
TimToady | could steal &<Rop> from matches | ||
16:53
xinming left
|
|||
TimToady | doesn't work so good for &<R<=>> though | 16:53 | |
ruoso | I mean... do we really need to have all the crazy ideas into the STD language? | 16:54 | |
16:54
schmalbe joined
|
|||
PerlJam | ruoso: you think this is just gilding the lily? | 16:54 | |
TimToady | reversing the args of an infix is not a particularly crazy idea | ||
and is particularly useful for sorting | 16:55 | ||
ruoso | pardon for my ignorance, but how is that different from "reverse sort" | ||
TimToady | and if I don't add it as R, someone else will add it as tick, and then where will we be? :) | ||
it lets you reverse subsort criteria | 16:56 | ||
PerlJam | TimToady: we'd be in "all's fair if you predeclare" land I think. | ||
[particle] | TimToady: could &R(<=>) work? | 16:59 | |
ruoso | TimToady, you mean sort by this, then this, then this? | ||
where the last is reversed? | |||
[particle] | i'm not sure it's best as a twigil, perhaps &(R<=>) | ||
TimToady | &[R<=>] maybe | 17:00 | |
since we're getting used to seeing infix ops in [...] for reduce | |||
though it's not a reduce | |||
ruoso .oO( ok, reverse assignment *is* a crazy idea ) | 17:01 | ||
TimToady | and there aren't many operators that use [] | ||
but not so far off from what ==> is specced to do | |||
[particle] | $a &[R=] $b | ||
TimToady | no, just $a R= $b | ||
&[] is how you talk about it | |||
PerlJam | that's interesting because reductions are what makes me not like the R [op] looks good and feels right, Rop doesn't look right at all. | 17:02 | |
TimToady | as a noun | ||
not how you use it | |||
[particle] | ah, right-o | ||
i'm distracted, on the phone | |||
ruoso | so, the idea is | ||
map { ...}, grep {...}, sort {...}, @1,2,3 R= $b | |||
TimToady | reductions will be more common than reversed ops | ||
[particle] | does reduction then get a character? | ||
er, prefix character | 17:03 | ||
i hope not. | |||
TimToady | no | ||
ruoso | er.. | ||
PerlJam | I'd take that the other way ... why are reversals huffmanized more than reductions? | ||
ruoso | map { ...}, grep {...}, sort {...}, 1,2,3 R= $b | ||
TimToady | see my remark above: I have no desire to make all metaops look consistent with each other | ||
ruoso | (I don't know where that @ came from) | ||
TimToady | esp the common ones | 17:04 | |
ruoso: R= cannot parse in reverse | |||
ruoso | I'm trying to find a use case for it | ||
PerlJam | heh, $a R~~ $b | ||
TimToady | and in particular R would not change the precedence of any operator, I think | 17:05 | |
and we might just outlaw R= to be ornery :) | |||
PerlJam | beware the hobgoblin of foolish consistency (though you apparently don't need to worry about that :) | 17:06 | |
TimToady | yes, R~~ is particularly interesting when you want $a R~~ $b == $c | 17:07 | |
ruoso | I'm not able to tell what that means | ||
[particle] | R|| is ornery | ||
TimToady | it's a chained operator | ||
PerlJam | [particle]: which way do you expect the short circuiting to work? | 17:08 | |
17:08
schmalbe left
|
|||
PerlJam | actually, R|| seems like it would be a useful thing. | 17:08 | |
TimToady | usually that's spelled "unless" | 17:09 | |
[particle] | $a && $b R|| $c | ||
maybe unless should now be Rif | |||
TimToady | seems a bit less than spectularly readable | ||
[particle] | :) | ||
TimToady | *spectacularly | ||
ruoso | I just hope we have a paper huge enough to print a precedence cheat sheet | 17:10 | |
TimToady | R doesn't change precedence | ||
17:10
mtnviewmark joined
|
|||
TimToady | just as ! doesn't | 17:10 | |
[particle] | the op cheat sheet will be on hyperpaper | 17:11 | |
ruoso | TimToady, but meta-ops make the ops more likely to be used in places where more code would be written | ||
TimToady | huh? | ||
ruoso | It's an incredibly power tool | ||
mtnviewmark returns... from work | |||
ruoso | which is kinda cool | 17:12 | |
mtnviewmark | Indeed, but I'm having a hard time finding a reliable supplier of hyperpaper | ||
ruoso | but sacrifices the readability to a point I'm not sure it's worth | ||
17:12
eternaleye left
|
|||
mtnviewmark | I think all the meta operators to date, with the possible exception of [op] are pretty easy on the readability | 17:13 | |
TimToady | some things can be enforced by cultural pressure, but we can refrain from generating reversed operators for troublesome/duplicate ideas | ||
ruoso | I mean, we'll have the coolest obfuscations ever | ||
TimToady | I think R|| would be disallowed along with any other "thunky" operators | ||
ruoso | I'd argue that some meta-ops could require a "use" | 17:14 | |
like R | |||
mtnviewmark | but even [op] is not too hard to mesh into one's head (perhaps I've been staring atll 150+ of them for too long...) | ||
17:14
schmalbe joined
|
|||
TimToady | people find the [op] pill to be quite readable, I think | 17:14 | |
ruoso | [op] is readable because it is usually in the beggining of the sentence | 17:15 | |
TimToady | and it needs the pill because it's where a term is expected | ||
ruoso | s/usually/always/ | ||
TimToady | so it needs the extra pillness to force "I am an operator" in your head | ||
[particle] | i like [op] | ||
PerlJam | I think everybody likes [op] | 17:16 | |
mtnviewmark | I like it too, actually -- but then again, I like XopX -- so perhaps I'm just easily conditioned! | ||
TimToady | interestingly, if we grab &[op] syntax for infixes, then [op] 1,2,3 becomes reduce &[op], 1,2,3 | ||
ruoso | one could argue that XopX could also require a pragma | ||
TimToady | ruoso: no, this isn't in the same category of dangerous as monkey typing | ||
ruoso | so it can have a shorter-name pragma | 17:17 | |
;) | |||
TimToady | I propose the null name pragma, in which case you can omit the "use" as well. | ||
PerlJam | heh | ||
TimToady | actually, I think the appropriate pragma is "use v6;" :P | 17:18 | |
ruoso | "use meta <X R>;" | 17:19 | |
;) | |||
jnthn | Why would we want to make you write a pragma for them? | 17:20 | |
ruoso | to give a notice to the code reader about something that is unusual | 17:21 | |
PerlJam | ruoso: are you going to include Z too? | ||
mtnviewmark | what would Zop do? is that map op to each sequential pair from two lists? | 17:22 | |
isn't there already a short way to do that? | |||
PerlJam | twiddle the dial on conceptual chunking a little bit and you get something bad. I think TimToady has it right with the null pragma. | 17:23 | |
17:23
aindilis joined
|
|||
jnthn | ruoso: I don't consdier meta-ops unusual. | 17:23 | |
mtnviewmark | remembers when Z was spelled ¥ ... and liked it | ||
mtnviewmark wonders what the convention of using Unicode on this IRC channel is... | |||
TimToady | it's expected | 17:24 | |
17:25
|jedai| left
|
|||
TimToady | cool, &[op] is currently illegal syntax | 17:26 | |
[particle] | #perl6 assumes unicode semantics, whatever that means | ||
TimToady | mostly, assumes utf-8 is okay | ||
mtnviewmark | (well, to be pedantic, it would have to assume UTF-8) | ||
heh - what *he* daid | |||
17:26
|jedai| joined
|
|||
[particle] | yes, i was riffing on a line from a synopsis about perl 6 | 17:26 | |
mtnviewmark | s/d/s/ | ||
TimToady | hmm, reversing iff with Riff is a no-op | 17:27 | |
ruoso | jnthn, I mean for code maintainance... taking a code from someone else... X, R and Z are things you're not going to see in other languages (is there one that does it?) | ||
jnthn | You're probably not going to see chained comparrisons, junctions, blah in other languages either, but that doesn't mean we should make *those* pragmas too. | 17:28 | |
TimToady | and as soon as you mouseover the operator, it tells you what it is | ||
17:30
zamolxes left
17:33
schmalbe left
|
|||
mtnviewmark | python has chained comparisons | 17:35 | |
TimToady | yes, well, so does math :) | ||
ruoso | I just hope people take the reducing in characters provided by meta-ops and write comments with them | ||
TimToady | people should use them where they increase clarity, and avoid them the rest of the time. :) | 17:36 | |
PerlJam | # Wow, these new meta ops are great! | ||
ruoso: I don't think we should "dumb-down" perl 6 any because the conceptual and syntactical overlap with other languages may have shrunk. | 17:37 | ||
ruoso | TimToady, people will use it where it reduces the number of characters ;) | ||
TimToady | well, that's one thing you can optimizer for, and our culture already simultaneously encourages and discourages it. :) | 17:38 | |
*optimize | |||
17:38
hanekomu left
|
|||
ruoso | PerlJam, my point is that Perl 6 brings a lot of unexpected features (from the POV of someone taking care of someone else's code)... | 17:38 | |
PerlJam | ruoso: sure ... isn't that the point of perl 6? I mean, if it didn't have anything unexpected, it would be dull and boring like at least one other p language :) | 17:40 | |
ruoso | agreed, but it would be interesting if we provided a hint saying "something unexpected is going to appear in this code" | ||
and not that all code was unexpected | 17:41 | ||
TimToady | I think we'll have a general rule that any infix can be enclosed in [] if it needs to be disambiguated. @a X[+=] @b | ||
17:41
hanekomu joined
|
|||
PerlJam | TimToady++ that sits well on my brain :) | 17:42 | |
TimToady | vs @a [X+]= @b | ||
[particle] | hrmm | ||
TimToady | problem? | ||
fits with &[X*] and such too | 17:43 | ||
[particle] | can't find any, no. | ||
TimToady | then reduce is just one of those used as a listop | ||
[particle] | yep | ||
TimToady | of course, one cannot say @a[X*]@b | ||
[particle] | any infix may be enclosed in whitespace when it needs to be disambiguated | 17:44 | |
TimToady | but this means we can pass a sort criterion as &[Rcmp] | ||
[particle] | s/when/if/ :) | ||
PerlJam | [particle]: that doesn't work too well with $a R <=> $b | 17:45 | |
:-) | |||
TimToady | can't have ws in a metaop | ||
[particle] | so it works just fine :) | ||
PerlJam | right | ||
TimToady | R<=> and R[<=>] would both be acceptable | ||
but I need to think about what this means in terms of LTM | 17:46 | ||
[particle] | the other implementors will thank you if you do | ||
TimToady | it might actually solve the problem, if we require [] on any compound metaops | ||
and say that [] is parsed as LTM inside, but not outside | 17:47 | ||
but needs more thinking | |||
ruoso wonders if it would be too bad if the meta-ops always had the enclosing [] | |||
TimToady | doesn't mix visually very well with subscripts | 17:48 | |
much like we avoid putting sigils on the fronts of infix | |||
Matt-W | $a[0] R[<=>] $b[1] | ||
very []-heavy | |||
TimToady | $a[0] R<=> $b[1] is much better | 17:49 | |
PerlJam | but not too bad | ||
Matt-W | TimToady: it'd be nice if the [] could be non-compulsory | ||
TimToady | I'm not much into compulsion...well, not that kind, anyway | ||
[particle] | [R-] @a | 17:50 | |
TimToady | indeed | ||
may well solve the foldr/foldl problem too | |||
[particle] | heh, [R,] @a === @a.reverse | ||
17:50
sri_kraih left
|
|||
TimToady | APL, here we come... | 17:51 | |
17:51
|jedai| left
|
|||
ruoso | I still have some trouble to understand what's wrong with [-] reverse @a | 17:51 | |
[particle] | there's nothing wrong with it, there's more than one way to do it | 17:52 | |
TimToady | that works too | ||
[particle] | perl6 !=== python3000 | ||
ruoso | it's just that it took me some time to figure out what [R-] @a would mean | 17:53 | |
17:53
|jedai| joined
|
|||
TimToady | and now you know, so everything's fine :) | 17:53 | |
rhr | so is [+]<< a hyper reduce or +<< with [] ? | ||
17:54
hercynium joined
|
|||
TimToady | depends on whether a term or infix is expected | 17:54 | |
rhr | ok, right | ||
TimToady | and if infix, it's illegal anyway | ||
since infix requires hyper on both sides | |||
rhr | but +<< is legal as a prefix | 17:55 | |
TimToady | certainly, and can mean only one thing | ||
rhr | I don't understand | 17:56 | |
ruoso | anyway... at least playing golf in Perl 6 will be much funnier than in Perl 5 ;0 | ||
TimToady | the [] rule only applies to infix operators, and that + is a prefix | ||
ruoso | ;) | ||
rhr | oh, ok | ||
17:56
ejs joined
|
|||
TimToady | esp if people define an ope operator, and start writing Rope, Zope, ... | 17:56 | |
Matt-W | custom operators are always good for golfing | 17:58 | |
ever seen Haskell code that uses applicative functors? | |||
TimToady | and XX would do a spectacular amount of work | ||
ruoso | sub infix:<X>; XXX | 18:00 | |
TimToady | as in @AoA XX @AoA would match every sub element with every other subelement | ||
we already have infix:<X> | 18:01 | ||
ruoso | so, XXX is already valid Perl 6? | ||
std: $a XXX $b | 18:02 | ||
p6eval | std 25112: OUTPUT«00:04 62m» | ||
TimToady | :) | ||
I think that's a good argument for just one X as the metaop | |||
diakopter | std: $a NC-17 $b | ||
p6eval | std 25112: OUTPUT«############# PARSE FAILED #############Syntax error (two terms in a row?) at /tmp/JZm83xnGOs line 1:------> $a NC-17 $b expecting any of: infix or meta-infix infix stopper standard stopper statement modifier loop terminator00:04 62m» | 18:03 | |
ruoso | in "$a += $b" who is the meta-op, + or = | 18:06 | |
? | |||
TimToady | the = | ||
ruoso | so maybe all meta-ops could be postfixed | ||
TimToady | A FOOLISH CONSISTENCY | ||
ahem | |||
ruoso hides | 18:07 | ||
but... | |||
TimToady | Umberto Eco whacks you upside the head using a copy of The Search for the Perfect Language --more-- | ||
ruoso | "$a eqR $b" looks better than "$a Req $b" | 18:08 | |
TimToady boggle | |||
s | |||
prefix metas are actually much easier to parse than postfix, and doubtless that will be true psychologically as well | 18:09 | ||
let me put it this way, I can probably make STD run much faster with prefix than postfix, if I can cut down the LTM search space | 18:11 | ||
and you would like this | |||
ruoso stops complaining... | 18:13 | ||
TimToady | I don't mind people pointing out all the options, as long as people don't mind me shooting down N-1 of them :) | 18:14 | |
18:14
mberends joined
|
|||
TimToady | but basically, the upshot is that I'm going to stop trying to parse composed metaops as single tokens, and I think this will help in several ways | 18:16 | |
18:16
|jedai| left
18:17
|jedai| joined
|
|||
TimToady | instead, metaops will be composed by the parser, but with the same contraint that there can be no intervening whitespace | 18:17 | |
and LTM still distinguishes X* from X** | 18:18 | ||
but when matching the *, not when matching the X | |||
shower & # thinking | 18:19 | ||
mtnviewmark | Isn't the psychological parse order argument dependent on if you are a native speaker of English vs. French (say)? | 18:21 | |
is in "green hat" vs. "chapaux vert" | |||
simiilarly eqR vs Req | 18:22 | ||
(er, reverse those two!) | |||
18:22
finanalyst left
|
|||
[particle] | [R,] <eqR Req> | 18:22 | |
mtnviewmark | (wonders why not have a VERY generic compare, spelled vs ....) | 18:23 | |
18:27
ejs left,
ottott joined
18:31
ottott left,
ottott joined
18:34
Psyche^ joined
18:35
ejs joined
18:43
pbuetow joined
18:45
smtms joined
18:50
Patterner left,
Psyche^ is now known as Patterner
18:52
|jedai| left
18:53
|jedai| joined
18:57
ejs left
19:12
meppl left
19:26
finanalyst joined
19:29
mberends left
19:30
|jedai| left
19:31
|jedai| joined
19:39
SamB left,
DemoFreak joined
19:40
hanekomu_ joined
19:42
Infinoid joined
19:56
hanekomu left
20:01
ejs joined
20:11
|jedai| left
20:12
_jedai_ joined
20:18
mberends joined
20:21
ottott is now known as DataPusher
|
|||
pugs_svn | r25113 | lwall++ | [STD, S03] slaughter of the LTM metatokens | 20:32 | |
r25113 | lwall++ | STD now runs considerably faster | |||
r25113 | lwall++ | Freed from LTM, metaoperators may now be nested arbitrarily deep | |||
r25113 | lwall++ | new &[op] notation for infix functions | |||
PerlJam | TimToady++ | 20:33 | |
20:45
meppl joined
20:50
_jedai_ left,
|jedai| joined
21:15
finanalyst left,
|jedai| left,
|jedai| joined
21:19
ruoso left
21:20
|jedai| left,
|jedai| joined
21:42
gfldex joined
|
|||
meppl | good night | 21:44 | |
21:46
meppl left
21:48
eric256 joined
21:57
|jedai| left,
|jedai| joined
|
|||
mtnviewmark | woot: Long live >>[X<<R<=>>>X]<< | 22:08 | |
how quickly, from the time there is a checkin, does the std 'bot here start using it? | 22:09 | ||
22:09
Whiteknight joined,
pbuetow left
|
|||
[particle] | std: 1 >>[X<<R<=>>>X]<< 2 | 22:10 | |
p6eval | std 25113: OUTPUT«Not a HASH reference at STD.pm line 12326.00:02 33m» | ||
[particle] | std: 1 >>[X<<R<=>>>]<< 2 | 22:11 | |
p6eval | std 25113: OUTPUT«Not a HASH reference at STD.pm line 12326.00:02 33m» | ||
mtnviewmark | so, the answer is -- immediately, and the last checkin broke it? | ||
std: $a + $b | |||
p6eval | std 25113: OUTPUT«00:02 33m» | ||
[particle] | it's not immediate, but it's within an hour | ||
mtnviewmark | std $a «[+]» $b | ||
[particle] | i wonder if the lexers are automatically regenerated for std... | 22:12 | |
[particle] hands mtnviewmark a colon | |||
std: $a «[+]» $b | 22:13 | ||
p6eval | std 25113: OUTPUT«00:02 33m» | ||
mtnviewmark | hey - see, once again, Larry got the colon | ||
std: $a X«[+]»X $b | |||
p6eval | std 25113: OUTPUT«Not a HASH reference at STD.pm line 12326.00:02 33m» | 22:14 | |
mtnviewmark | std: $a X«[+]» $b | ||
p6eval | std 25113: OUTPUT«Not a HASH reference at STD.pm line 12326.00:02 33m» | ||
mtnviewmark | std: $a X+ $b | ||
p6eval | std 25113: OUTPUT«Not a HASH reference at STD.pm line 12326.00:02 33m» | ||
mtnviewmark | std: $a X+X $b | ||
p6eval | std 25113: OUTPUT«Not a HASH reference at STD.pm line 12326.00:02 33m» | ||
mtnviewmark | okay, so X metaop is bork'd | ||
[particle] | std: [R,] 1,2 | 22:18 | |
p6eval | std 25113: OUTPUT«can't create lex/STD/prefix_circumfix_meta_operator__S_081reduce_03.store: Permission denied at Cursor.pm line 53400:02 33m» | ||
mtnviewmark | So, looking at the commit -- it's now Xop and Rop, but still [op] except where that is used to disambiguate like X[+=] | 22:20 | |
vs. [X+]= | 22:21 | ||
22:21
eric256 left
|
|||
[particle] | yes | 22:24 | |
mtnviewmark | wonders what to do if what I want is the assignment form of the reduce form of, say R-.... | 22:26 | |
is that [R-]= or is it [[R-]]= | |||
[particle] | [R[-]]= ? | 22:27 | |
rhr | reduce isn't infix, so you can't make an assign op from it | ||
mtnviewmark | well - there ya go.... | 22:28 | |
mtnviewmark wonders if all the cases of possible ambiguity involve infix operators | |||
mtnviewmark wonders if there needs to be meta-associativiy and meta-precedence.... | 22:29 | ||
[particle] | std: ![R===] 1,2 | ||
p6eval | std 25113: OUTPUT«############# PARSE FAILED #############Unable to parse array composer; couldn't find final ']' at /tmp/ipw7faRZbq line 1:------> ![R===] 1,2 expecting any of: prefix or noun whitespace00:02 34m» | ||
[particle] | or is that... | ||
std: [R!===] 1,2 | |||
p6eval | std 25113: OUTPUT«############# PARSE FAILED #############Only comparison infix operators may be negated at /tmp/90ML7LqLmW line 1:------> [R!===] 1,200:02 33m» | ||
[particle] | i've got to re-read, maybe while at the destist & | 22:30 | |
*dentist & | |||
22:31
|jedai| left,
|jedai| joined
22:32
hercynium left
22:38
dalek joined
22:45
rodi left
22:48
alester left
22:56
ejs left,
iblechbot left
23:12
Exodist left
23:19
kisu left
23:22
aindilis` joined
23:23
aindilis left
23:30
|jedai| left
23:31
|jedai| joined
23:33
Limbic_Region joined
23:45
dalek left,
dalek joined
23:46
kid51 joined
23:50
FurnaceBoy joined
|
|||
pugs_svn | r25114 | lwall++ | [STD] fix [R!===] 1,2 | 23:56 | |
23:56
vixey left
23:59
aindilis` left
|