»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
donri | there's instance variables of course, if that's what you mean | 00:02 | |
which are pseudo-private (accessible via introspection) | 00:04 | ||
00:04
kfo joined
|
|||
Tene | donri: yes, that's what we mean. | 00:06 | |
00:07
patspam joined,
kfo_ left
|
|||
dalek | d: 1de95e3 | sorear++ | STD.pm6: First batch of whirlpool changes from Niecza - $<foo> = {expr} notation is used in many places instead of reliance on mutable match hashes - several incorrectly flattening arguments have been fixed |
00:11 | |
00:11
patspam left
00:30
tornadovj left
00:54
stifynsemons joined
00:55
awoodland left
01:26
Khisanth joined
01:28
lopaway is now known as lopnor
|
|||
lopnor | hello #perl6 | 01:29 | |
sorear | hello lopnor | 01:30 | |
lopnor | sorear: hello! | ||
can i ask how to use pir::* methods? | 01:31 | ||
sorear | rakudo: pir::spawn__vs("ls") | 01:32 | |
p6eval | rakudo 3bbc06: OUTPUT«error:imcc:syntax error, unexpected SREG, expecting '(' ('$S125') in file 'EVAL_10' line 46948297===SORRY!===syntax error ... somewhere» | 01:33 | |
sorear | rakudo: pir::spawn__pp("ls") | ||
p6eval | rakudo 3bbc06: OUTPUT«error:imcc:syntax error, unexpected PREG, expecting '(' ('$P125') in file 'EVAL_10' line 376===SORRY!===syntax error ... somewhere» | ||
sorear | rakudo: pir::spawn__iS("ls") | ||
p6eval | rakudo 3bbc06: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I126') in file 'EVAL_10' line 49021609===SORRY!===syntax error ... somewhere» | ||
sorear | rakudo: pir::spawnw__is("ls") | ||
p6eval | rakudo 3bbc06: OUTPUT«buildConfigure.plCREDITSdocsdynextLICENSEMakefileparrotperl6perl6.cperl6_group.cperl6_group.hperl6_group.operl6.operl6.pbcREADMEsrctTest.pirTest.pmtoolsVERSION» | 01:34 | |
lopnor | oh | ||
im using MiniDBI to connect mysql, | |||
it does not work recently | 01:35 | ||
it seems pir::null__P() works deferent than expected | 01:36 | ||
how can i make null string parrot object? | |||
github.com/mberends/MiniDBI/blob/m...l.pm6#L344 | 01:38 | ||
i know pir::null__P() makes null pmc object, but null $S0 is needed here. | 01:39 | ||
flussence | (I was wondering the same thing myself... that used to work but hasn't for a few months now) | 01:44 | |
01:45
masonkramer_ joined,
masonkramer left
01:46
masonkramer joined
|
|||
lopnor | rakudo: pir::null__S() | 01:46 | |
p6eval | rakudo 3bbc06: ( no output ) | ||
lopnor | is this ok? | 01:47 | |
sorear | don't use pir::null | ||
Rakudo is not designed to work correctly with expressions that return PMCNULL | |||
01:48
masonkramer_ left
|
|||
sorear | if you're going to use Null PMCs, you ought to use a Q:PIR block, and take care that no Null PMCs can get out | 01:48 | |
01:48
tty234 joined
|
|||
lopnor | MiniDBD::mysql uses libmysqlclient via zavolaj, | 01:49 | |
and some api needs null parameters, | |||
should i use Q:PIR instead of zavolaj? | 01:50 | ||
01:55
redmorning left
01:57
am0c joined
02:00
noganex_ joined
02:03
leprevost joined
02:04
noganex left
02:08
donri left,
Chillance left
02:11
redmorning joined
02:17
jaldhar left,
envi joined
|
|||
sorear | lopnor: if zavolaj can't marshal nulls correctly, I would hazard that is a bug in zavolaj | 02:21 | |
lopnor | sorear: thank you, i will seek some walkaround. | 02:24 | |
02:35
masonkramer_ joined
02:38
whiteknight left
02:41
Khisanth left
02:48
Khisanth joined
02:57
araujo left
02:58
araujo joined
03:10
_twitch joined
03:18
orafu left
03:20
orafu joined
03:37
agentzh joined
03:49
stifynsemons left
03:55
masonkramer_ left
03:56
lateau joined
04:02
gimix joined
04:04
leprevost left
04:08
hudnix left
04:09
satyavvd joined
04:15
nymacro joined
04:17
Vlavv` left
04:23
Su-Shee_ joined
04:26
Su-Shee left
04:29
Vlavv` joined
04:59
lateau left
|
|||
sorear | At some point I'd like to discuss the "STD" API with people. | 05:13 | |
The procedures currently required to call into viv-STD, Niecza-STD, and Rakudo-STD are quite different and incompatible, despite all having similar *functionality*, and I think that's no good. | 05:15 | ||
05:16
stifynsemons joined,
arlinius joined
|
|||
sorear | What should eval '{YOU_ARE_HERE}' do? | 05:25 | |
rakudo: say eval '{YOU_ARE_HERE}' | 05:26 | ||
p6eval | rakudo 3bbc06: OUTPUT«_block169» | ||
sorear | rakudo: say eval 'YOU_ARE_HERE' | ||
p6eval | rakudo 3bbc06: OUTPUT«_block155» | ||
sorear | ...? | ||
I'm sure that's not right :) | |||
rakudo: say YOU_ARE_HERE; | |||
p6eval | rakudo 3bbc06: OUTPUT«_block128» | ||
sorear | rakudo: say {YOU_ARE_HERE}; | 05:27 | |
p6eval | rakudo 3bbc06: OUTPUT«_block124» | ||
sorear | niecza: say {YOU_ARE_HERE}; | ||
p6eval | niecza v3-8-gc04f67f: ( no output ) | ||
dalek | ecza: 52c322b | sorear++ | src/ (2 files): Move non-upstream methods out of STD |
||
ecza: b9d3192 | sorear++ | src/STD.pm6: Bring STD.panic closer to official implementation |
|||
05:31
_twitch left
|
|||
dalek | tpfwiki: (chris denorch)++ | www.perlfoundation.org/perl6/index.cgi?perl_6 | 05:36 | |
05:37
lamstyle left
|
|||
dalek | ecza: 17e3722 | sorear++ | lib/ (3 files): Allow execution of compilation units to return a value |
05:38 | |
05:42
_twitch joined
05:44
_twitch left
05:48
araujo left,
lopnor is now known as lopaway
|
|||
mberends | sorear: I agree with your "STD" API suggestion, can we discuss that in #phasers on Tuesday? | 05:54 | |
05:58
starcoder left,
pjcj left
05:59
hatseflats left,
slavik1 left,
pjcj joined,
hatseflats joined,
qiyong joined,
diakopter left
|
|||
qiyong | anyone is op in #perl? | 05:59 | |
05:59
diakopter joined
06:02
starcoder joined
06:03
slavik1 joined
|
|||
sorear | qiyong: this is #perl6; there's almost no overlap | 06:05 | |
qiyong | sorear, they banned me there, i'm confused | ||
sorear | mberends: No, I have a lecture at the exact same time this semester | 06:06 | |
qiyong | is fifo and unix socket the same thing? | 06:07 | |
sorear | no | ||
similar, but not quite the same | |||
qiyong | perldoc.perl.org/IO/Socket/UNIX.html#CONSTRUCTOR | ||
Local Path to local fifo | |||
but that doc mixes fifo | |||
sorear | fifo is a general term | 06:08 | |
mberends | qiyong: beware, this is a Perl 6 channel and you are asking a Perl 5 question. The answers may not be what you seek. | ||
qiyong | how do I do unix socket with perl6? | 06:10 | |
06:10
kaare_ joined
|
|||
mberends | qiyong: that is still under design/construction | 06:11 | |
qiyong: but in Perl 5 you can generally use a Unix fifo or a socket in the same way. See `perldoc perlipc` | 06:12 | ||
06:13
cjk101011 joined
|
|||
sorear | eh?? last time I checked, you needed perldoc -f connect for sockets and perldoc -f open for named pipes | 06:13 | |
unless you meant something different by "Unix fifo" | |||
mberends | "generally" ;) | 06:14 | |
06:16
Bzek left,
Bzek joined
06:23
justatheory left,
justatheory joined
06:27
woosley joined
06:28
justatheory left
|
|||
sorear | the proto-eval stuff is bizarrely not working :/ | 06:50 | |
06:56
PZt left
06:58
wtw joined
07:00
stifynsemons left
07:02
stifynsemons joined
07:03
alester left
07:04
kaare_ left
07:06
cjk101011 left
07:07
kaare_ joined,
stifynsemons left
07:09
cjk101011 joined
07:16
Mowah joined
07:19
_twitch joined
07:20
noganex_ is now known as noganex
07:21
cjk101011 left
07:23
cjk101011 joined
07:24
_twitch left
07:40
pothos left
07:41
pothos joined
07:54
lue left
07:55
lue joined
08:03
sji joined
08:08
jaldhar joined
08:09
Su-Shee_ is now known as Su-Shee
08:22
agentzh left
08:29
agentzh joined
08:50
mberends left
08:54
dju_ joined
08:55
dju left
09:02
donri joined
|
|||
TimToady wishes all wall.org/~larry/zebra.jpg a good * | 09:06 | ||
phenny | TimToady: 27 Feb 21:43Z <sorear> tell TimToady What is the purpose of STD line 431? { $.from = self.pos } | ||
TimToady also wishes that people wouldn't get Python or Moose envy without good use cases for things that can't already be done other ways in Perl 6; sugaring what we have already is preferable to importing bloat | 09:09 | ||
donri | What is the Python envy? | 09:10 | |
tadzik | oh, speaking of Moose | 09:11 | |
TimToady: don't you think there should be an easy way to do stuff post-object-creation, like BUILD in Moose? Now we must either blees ourselves in new or care about attributes in our BUILD | 09:12 | ||
TimToady | wanting to import Python formatting, which to me looks like a poor-man's way to reimplement what we already have in capture binding and interpolation | ||
tadzik | TimToady: see something like nopaste.snit.ch/34387 | 09:13 | |
09:14
envi left
|
|||
jnthn | morning, #perl6 | 09:17 | |
donri | aha, that one was probably my fault :) | ||
mainly, I find %s etc to have too much C baggage, and interpolation isn't safe (for i18n for example) | 09:18 | ||
TimToady | tadzik: I don't understand what you're saying; new is *for* calling bless, and BUILD is *supposed* to care about attributes | ||
donri | though neither is perhaps python's formatting language which allows attribute and item access | ||
TimToady | well, we can talk about .fmt sugar, but we already have ways of referring to positional and named things, and this part seems like a lousy way to write a closure that happens to return a string | 09:20 | |
as for exceptions, they're supposed to be exceptional, and I don't mind if they contain a format closure | |||
donri | I should study fmt more, I thought sprintf-style was *the* way in Perl 6 | 09:21 | |
TimToady | especially since such a closure is unlikely to close over anything anyway | ||
tadzik | TimToady: exactly. There is no easy nor straightforward way to "just do some stuff after the object is created and the attributes are set" | 09:22 | |
TimToady | rakudo: my $answer = 42; say "My answer is $answer.fmt('%7.3f')" | ||
p6eval | rakudo 3bbc06: OUTPUT«My answer is 42.000» | ||
moritz_ | in particular providing your own BUILD interferes with automatic attribute initialization in rakudo, don't know if it should by spec | 09:23 | |
TimToady | tadzik: then you want to do it after the bless in new | ||
jnthn | moritz_: I think by spec it shouldn't. | ||
moritz_ | ah, maybe that's the real problem | ||
jnthn | moritz_: However, the mechanism by which it doesn't is...mysterious. :) | ||
tadzik | so if we define our own BUILD, it should be ran _after_ the attributes are set? | 09:24 | |
How does it get on with the logic that BUILD is for setting attributes? | |||
moritz_ | jnthn: I guess there's a routine different from BUILD which does the automatic attribute initialization | ||
jnthn | moritz_: Perhaps so. | ||
TimToady | the spec says it only auto sets the attibutes you'd don't set explicitly | ||
and it's supposed to do that implicitly at the end of BUILD | 09:25 | ||
jnthn | TimToady: What does "set" mean? | ||
TimToady: e.g. can we say "is this thing undefined, if so set it"? | |||
tadzik | oh, but when you do it in new() you have to write the .new signature yourself, and stuff | ||
moritz_ | that's not too hard | ||
TimToady | not, it's supposed to allow you to set something to undef explicitly, and that should override the default | 09:26 | |
moritz_ | method new(*%args) { self.bless(*, |%args) } | ||
tadzik | no of the things we need to do know in Rakudo is hard. It's just sad that we need to bother more than Moose | ||
09:26
am0c left
|
|||
TimToady | Moose can't make Perl 5 provide .wrap | 09:26 | |
so you could .wrap your BUILD in P6 to privide control both before and after the BUILD | 09:27 | ||
jnthn | TimToady: Right, that's what I remembered, and why it's not implemented yet. I'm not sure what "set" really means in this context. | ||
TimToady | (which could be before any subclasses extend the attributes) | ||
tadzik | so ideally, if we write our own BUILD with no signature at all and with nothing but "say 'foo'", it should be said, and the attributes should have been set before as if we didn't write any BUILD at all? | ||
TimToady | jnthn: it's more like 'exists' than 'defined' | ||
moritz_ | how is that detected when the storage is pre-allocated? | 09:28 | |
a special bit field that can be tossed after initialization? | |||
TimToady | maybe they're PMCNULL before they exist :) | 09:29 | |
but a bitmap would work | |||
and might interoperate with CATCH better, which is required not to blow up on uninit vars | |||
jnthn | TimToady: (PMCNULL) may work | ||
TimToady: Combined with a vivification check or something | 09:30 | ||
TimToady | or some other distinguished value... | ||
jnthn | TimToady: *nod* | ||
tadzik | wklej.org/id/484168/ -- in Moose. The attributes are passed to BUILD, but even if we don't do anything with'em, they're set. Is that how it should work in Perl 6 too? | ||
jnthn | It needs to be a value of the right type though. | ||
tadzik | forgot to add an output | 09:31 | |
TimToady | well "bottom" is a valid subtype of any type... :) | ||
09:31
daxim joined
|
|||
tadzik | wklej.org/id/484169/ -- output, as expected | 09:31 | |
jnthn | TimToady: :P | ||
TimToady: It's more when people write $!foo .= new(); in a BUILD. :) | 09:32 | ||
TimToady | *nod* | ||
donri | Are typed variables set to the type itself unless assigned something? | 09:33 | |
TimToady | tadzik: sounds to me more like you want to define your own BUILDALL that does callsame to get the generic BUILDALL | ||
donri | rakudo: my Str $s; say $s.perl | ||
p6eval | rakudo 3bbc06: OUTPUT«Str» | ||
TimToady | then returns control to your buildall after all the BUILDs are called | 09:34 | |
jnthn | donri: Yes, they're initialized to the type object. | ||
tadzik | TimToady: so how exactly does Perl6's BUILD differ from Moose's build in this case? | ||
donri | cool, so then .new makes sense and isn't just a special case :) | 09:35 | |
TimToady | I don't think it would, except for the fact that defaulting happens at the end of BUILD | 09:36 | |
tadzik | that gets screwed with the number of parameters passed | ||
obstacles everywhere | |||
so what's the easiest way to do something after everything is set up with the default methods? | 09:37 | ||
TimToady | define "everything"... are you counting subclass's BUILD calls as well? | 09:38 | |
donri | rakudo: say &infix<.>("hello", uc) | ||
p6eval | rakudo 3bbc06: OUTPUT«Could not find sub &infix in main program body at line 22:/tmp/67eDJqGNWH» | ||
donri | rakudo: say &infix:<.>("hello", uc) | ||
p6eval | rakudo 3bbc06: OUTPUT«Could not find sub &infix:<.> in main program body at line 22:/tmp/ZzwjxADxJJ» | ||
TimToady | BUILD is called *while* an object is being constructed | 09:39 | |
the only guarantee of a complete object is after the bless completes | |||
donri | Isn't .= itself though a little special case? | ||
tadzik | yes. As if I did: my $a = Foo.new(some => params); Foo.init(); I don't want to create an init and have the user call it. That's it | ||
donri | rakudo: say &infix:<.>("hello", &uc) | ||
p6eval | rakudo 3bbc06: OUTPUT«Could not find sub &infix:<.> in main program body at line 22:/tmp/gRkCzN4vDq» | ||
TimToady | then have the new call it | ||
tadzik | so Moose is more convenient in this case | 09:40 | |
jnthn | donri: Yes, .= is a special case. | ||
donri: It does AST-level re-writing. | |||
moritz_ | TimToady: re python formatting vs. closures, the reason why I prefer the python formatting is that it allows you to read the error format string from a simple text file, and still refer to some thing by name | ||
TimToady: if we rely on closures, and read the format string from a text file, we need an eval() step | |||
donri | jnthn: I mean compared to other op= variants? | 09:41 | |
moritz_ | (sorry for context switching, just backlogged) | ||
jnthn | donri: Yes | ||
donri | Ah good .= fails if the right-hand is a sub and not a method of the object | 09:43 | |
TimToady | moritz_: you don't need eval if we provide some way to view a format strings as sugar for a strange bindable signature; it's then just an object you can bind a capture to | ||
But I'd prefer not to invent another subinterpreter that has to re-invent pos and named thingies | 09:44 | ||
moritz_ | point taken | 09:45 | |
donri | can you augment builtins? | ||
TimToady | augment is for classes | 09:46 | |
you can write wrappers for built-ins | |||
moritz_ | tadzik: I get lots of spectest failures, I suspect they are related to the skip() changes (but haven't investigated yet) | ||
tadzik: is your rakudo spectest clean? | |||
tadzik | moritz_: I'll check | ||
TimToady | method new (|$c) { my $self = callsame; $self.init } | ||
or some such | 09:47 | ||
donri | so you can't augment Str for example? | ||
TimToady | you can, but don't | ||
donri | yea just wondering :) | ||
TimToady | we allow but strongly discourage MONKEY_TYPING | ||
donri | i've programmed Ruby, I know it's crazy ;) | ||
TimToady | and lexically scoped augmentation is also possible, but considered crazy | 09:48 | |
donri | and I suppose if you want to add methods you could use the .&sub syntax instead | 09:49 | |
TimToady | the p6 view of that is that you're providing a different dispatcher within a lexical scope that uses a different class hierarchy | ||
donri | rakudo: sub minutes { $^a * 60 }; say 5.&minutes # typical Ruby example | 09:50 | |
p6eval | rakudo 3bbc06: OUTPUT«300» | ||
donri | + could use typed multis to deal with namespace polution | 09:51 | |
TimToady | well, Ruby basically forces you to do your functional programming via the OO paradigm, which distorts things | ||
donri | hehe | ||
Ruby folk are obsessed with "how things read" from a natural language perspective, often being ignorant to how it reads from a programming perspective | |||
TimToady | well, ruby reads naturally if you use a language in which the verb always comes last :P | 09:52 | |
donri | I mean things like "5.minutes" | ||
moritz_ | that doesn't even have a verb :-) | 09:53 | |
donri | they like to put verb-likes first for implied subject even when there's ambiguity | ||
TimToady | .minutes is really a type cast | ||
donri | e.g. instance methods accessible top-level within classes | ||
i mean "foo" for "self.foo" | 09:54 | ||
TimToady | P6 prefers to keep its FP dispatchers completely distinct from its OO dispatchers | 09:55 | |
FP dispatchers are all about "what exact language am I speaking in this lexical scope" | 09:56 | ||
OO dispatchers don't care about the current language, only what the invocant happens to know about itself | 09:57 | ||
the concepts should not be confused | |||
moritz_ | +2 | ||
we used to confuse them at some point | |||
flussence | random non-sequitur - would this work as intended? "macro ∑ { '[+] ' }; say ∑ 1..10; | 09:59 | |
.u ∑ | 10:00 | ||
tadzik | moritz_: yeah, I get failures too | ||
phenny | U+2211 N-ARY SUMMATION (∑) | ||
10:00
orafu left
|
|||
TimToady | flussence: probably, since textual/unhygienic macros reparse | 10:00 | |
moritz_ | flussence: you probably need to qualify ∑ as a listop, unless that's the default | 10:01 | |
moritz_ not well versed with macros | |||
tadzik | moritz_: maybe fudge needs to be re-ran or something? | ||
moritz_ | tadzik: I did a find -name '*.rakudo' | xargs rm | ||
in t/spec | |||
flussence | is that a test failure in S03? | ||
TimToady | listop is currently specced as default, but maybe that should only be for hygienic macros | 10:02 | |
flussence | github.com/perl6/roast/commit/57bc8e44 | ||
tadzik: see the =begin pod there? That's why :) | |||
10:02
woosley left
|
|||
moritz_ | tadzik: some skips are still generated wrongly | 10:02 | |
S29-any/isa.rakudo | 10:03 | ||
flussence | those added tests are commented out, so the plan's broken | ||
moritz_ | 27: #?rakudo skip "Array is now ~~ List" | ||
28:skip(1,"Array is now ~~ List"); # { ok(@arr.isa(Seq), '... @arr is-also-a Seq (invocant notation)'); | |||
tadzik | flussence: ouch :D | ||
TimToady | or might have to say macro ∑ is parsed(/''/) { '[+] ' } | ||
tadzik | moritz_: maybe I fixed fudge wrong | ||
TimToady | or that might be the default for macro ∑ () { '[+] ' } | ||
or maybe it's macro term:<∑> { '[+] ' } | 10:04 | ||
moritz_ | tadzik: there are just some instances left that you didn't fix | ||
tadzik: I found two of them, re-running things now... | |||
flussence | (hm, I wonder how long it'll be before all the unicode mathematical operators are implemented by someone...) | 10:06 | |
tadzik | . o O ( use Math::Insanity ) | ||
TimToady | for textual macros that get reparsed, we only care about the initial "term" cateogory, not the implied "what to look for next", since we reparse anyway | ||
10:06
tzhs joined
|
|||
flussence | tadzik: not that insane - it'd make the gap between things like mathml and perl6 code smaller :) | 10:07 | |
10:08
lamstyle joined
|
|||
flussence | (they'd be insane to implement the box-drawing-style symbols in U+23xx though) | 10:09 | |
moritz_ | tadzik: it seems that rakudo now does nothing on a skip() call | ||
TimToady | visitors & # biab | ||
moritz_ | $ ./perl6 -e 'use Test; plan 2; skip("foo", 2)' | 10:10 | |
1..2 | |||
# Looks like you planned 2 tests, but ran 0 | |||
flussence | hm, I might need to go fix a few tests... | ||
moritz_ | flussence: notice that all tests which contains skip() are currently screwed up in rakudo | 10:11 | |
10:11
redmorning left
|
|||
moritz_ | tadzik: OH. I had an old Test.{pm,pir} installed | 10:12 | |
flussence | shouldn't running make have caught that? | 10:13 | |
moritz_ | flussence: the problem is that rakudo picks up installed versions over local ones | ||
dalek | ast: e15910b | moritz++ | fudge: [fudge] fix skip() argument order in two more cases |
||
flussence | huh, I don't seem to have anything using that after all. | 10:14 | |
donri | can you use macros in macros? :D | 10:25 | |
moritz_ | sure | ||
donri | wouldn't that require recursive reparsing | 10:26 | |
moritz_ | it's like asking "can you use functions in functions?" | ||
donri | but functions are semantical not grammatical | ||
moritz_ | wouldn't that require recursive execution? | ||
10:26
redmorning joined
|
|||
donri | or maybe macros don't do what i think | 10:27 | |
moritz_ | hygienic macros don't require any reparsing | ||
donri | does hygienic mean it uses syntax that is already grammatical standard perl 6? | 10:28 | |
moritz_ | I think I mis-used the term | 10:29 | |
hygienic primariliy means that lexicals from the macro don't leak into the AST that the macro produces | |||
what I wanted to say is that macros that return syntax trees (and not text) don't need any reparsing | 10:30 | ||
10:33
JimmyZ joined
10:34
snearch joined
10:39
am0c joined
10:43
awoodland joined
10:45
snearch left,
satyavvd left
|
|||
Tene | fwiw, I'd write that as: macro prefix:<∑> ($ast) { quasi :COMPILING { [+] [[[ $ast ]]] } } | 10:46 | |
10:48
satyavvd joined
|
|||
Tene | The choice on whether or not to use :COMPILING there would vary based on whether you would want your ∑ op to respect lexical-scoped replacements of + or [] at the call site or not | 10:48 | |
dalek | kudo: 74dcceb | moritz++ | Test.pm: [Test.pm] fix skip_rest; typecheck $count argument to skip() so that it is easier to detect old usage |
||
ast: 8b5a87e | moritz++ | / (18 files): reverse order of skip() arguments all over the test suite |
10:49 | ||
Tene | I pesonally would expect that you wouldn't want that, as they should be getting the same multi anyway, so if you're modifying it in ways other than multiple dispatch, you probably don't want it to change the behaviour of other ops. | ||
Man, the spec could seriously use some better examples and other cleanup there. There's also a broken use of quasi in S02, that should feasibly be a warning. | 10:51 | ||
(use of arguments to the macro in a quasi without unquoting. | |||
If you're doing that, it almost certainly won't do what you want. | 10:52 | ||
std: macro prefix:<foo> ($ast) { quasi { $foo + 2 } }; | 10:53 | ||
p6eval | std 4608239: OUTPUT«===SORRY!===Variable $foo is not predeclared at /tmp/GpPcoHabyI line 1:------> macro prefix:<foo> ($ast) { quasi { $foo⏏ + 2 } };Potential difficulties: $ast is declared but not used at /tmp/GpPcoHabyI line 1:------> macro | ||
..prefix:<foo… | |||
Tene | erm | ||
std: macro prefix:<foo> ($ast) { quasi { $ast + 2 } }; | |||
p6eval | std 4608239: OUTPUT«ok 00:01 134m» | ||
Tene | std: macro prefix:<foo> ($ast) { quasi { [[[ $ast ]]] + 2 } }; | ||
p6eval | std 4608239: OUTPUT«ok 00:01 136m» | ||
Tene | the former should give at least a warning. | ||
moritz_ | Tene: feel free to fix stuff in the specs | ||
Tene | moritz_: Yes, I know. I'm at least going to fix the error, and I may touch up other discussion of macros tomorrow. | 10:54 | |
moritz_ | hugme: add Tene to perl6 | ||
hugme hugs Tene. Welcome to the perl6 github organization | |||
Tene | Wasn't I already there? I thought I was... | 10:55 | |
moritz_ | Tene: I didn't see you in the team listing | 10:56 | |
Tene | Ahh; okay. | ||
moritz_ | maybe you were, then you now have 2 commit bits, and can do twice as many commits as we can :-) | ||
10:56
cjk101011 left
|
|||
Tene | I've always felt vaguely unsure of how to handle the difference between "good user documentation" and "spec" when making edits to the specs. | 11:01 | |
As always, I expect I shoudl realistically handle it by overincluding and let someone else deal with trimming anything inappropriate out. | 11:02 | ||
11:03
orafu joined
|
|||
Tene | There currently isn't a good place for me to contribute to the docs that would end up as 'p6doc --wtf macros', or whatever, though. | 11:04 | |
Maybe there should be. | |||
moritz_ | there should be, yes | 11:06 | |
11:07
hanekomu joined
|
|||
moritz_ | Tene: you could put docs into docs/u4x/documentation/ -- it's not yet used by any tools, but it's also unlikely to be forgotten | 11:07 | |
11:09
Bzek left
11:10
Bzek joined
|
|||
Tene | Ah, I forgot about that. | 11:13 | |
moritz_ | (thats's in the mu repo, fwiw) | 11:14 | |
Tene | This will have to be good enough; I've spent too much time on this tonight. | 11:15 | |
Need to finish something else and then go to sleep. | |||
11:15
JimmyZ left
|
|||
dalek | ecs: bed616e | tene++ | S0 (2 files): Fix an error in macro usage and add a recommendation for a warning for that error. |
11:17 | |
Tene | There; my first commit to the specs since they moved out of pugs | 11:18 | |
Looks like I previously only made two minor formatting and language fixes; no previous functional changes. | |||
moritz_ | Tene++ | 11:20 | |
Tene | There probably needs to be some text in there about ensuring hygeine, etc. | 11:21 | |
macro statement_control:<FOO> (&block) { my $msg = 'lol'; [[[ &block ]]]() }; my $msg = 'ohai'; FOO { say $msg } | 11:25 | ||
It's also not clear to me whether there is any possible confusion in the spec about COMPILING::. I'm pretty sure that if you want to talk about what you're compiling in the quasi you need to do that in a BEGIN in the quasi, but I havne't thought about it much yet, and it could do with being noted in the Macros section. | 11:29 | ||
11:33
redmorning left
11:37
nrr` left
11:39
satyavvd left
11:44
amkrankruleuen left
11:45
nrr joined
11:48
masak joined
|
|||
masak | oh hai, zebras | 11:48 | |
phenny | masak: 26 Feb 13:20Z <tadzik> tell masak have a pull request | ||
11:49
amkrankruleuen joined
|
|||
masak | Tene: "To insert an "unquoted" expression of either type within a quasiquote, use the quasiquote delimiter tripled" | 11:51 | |
Tene: note "the quasiquote delimiter". your last commit seems to not be aware of that. | |||
phenny: tell tadzik merged; dziękuję. | 11:57 | ||
phenny | masak: I'll pass that on when tadzik is around. | ||
masak becomes fuzzy around the edges and disappears back to $dayjob | 11:59 | ||
11:59
masak left
|
|||
donri | why are things like statement_control using underscore? | 12:00 | |
flussence | seems to be a style choice for operator-defining things, look at S02:4762 for example | 12:06 | |
donri | or is it an artifact from a time when possibly "-" wasn't allowed in terms? | 12:08 | |
12:08
cotto left
|
|||
perplexa | phenny: tell phenny tell phenny tell phenny tell phenny that this is a test | 12:09 | |
phenny | Hey, I'm not as stupid as Monty you know! | ||
perplexa | :) | ||
donri | phenny: tell * whatever | ||
phenny | donri: I'll pass that on when * is around. | ||
donri: 12:09Z <donri> tell donri whatever | |||
donri | Thanks. | ||
perplexa | heh | 12:10 | |
flussence | wait, that works? | ||
donri | yep | ||
flussence | phenny: tell flu* whatever | ||
phenny | flussence: I'll pass that on when flu* is around. | ||
perplexa | so * apparently resolves to yourself | ||
phenny | flussence: 12:10Z <flussence> tell flussence whatever | ||
donri | perplexa: no, it's just the last activity with nick matching * | ||
perplexa | which is? ;) | ||
donri | phenny: tell per* example time! | ||
phenny | donri: I'll pass that on when per* is around. | ||
flussence | I wonder how that globbing's done | ||
donri | lala | ||
perplexa is not gonna trigger that | 12:11 | ||
phenny | perplexa: 12:10Z <donri> tell perplexa example time! | ||
perplexa | damnit | ||
donri | flussence: likely python's fnmatch | ||
perplexa | aye | ||
donri | docs.python.org/library/fnmatch.html | ||
12:11
Alias joined
|
|||
donri | phenny: tell [!t]onr? WHAT! | 12:11 | |
phenny | donri: I'll pass that on when [!t]onr? is around. | ||
donri | :( | ||
maybe not | 12:12 | ||
flussence | bah, no {} syntax :) | ||
donri | phenny: tell donr? hi me! | ||
phenny | donri: I'll pass that on when donr? is around. | ||
donri | guess only * works | ||
phenny: tell *ri ! | |||
phenny | donri: I'll pass that on when *ri is around. | ||
donri | and only at the end | ||
12:13
am0c left
12:14
nart joined
|
|||
perplexa | you're probably filling it's message stack with crap :D | 12:15 | |
let's continue until it crashes | |||
donri | shh | ||
nart | helo, I know some p5 and am primarly a php programmer. what does p6 main area of application? I mean, will it compete php? or will it replace perl5 in some applications (yes I guess for text processing perl5 will live forever with sed and awk).. | ||
perplexa | for now i'd say it's just a geek toy | 12:16 | |
moritz_ | nart: we plan to replace all dynamic languages with Perl 6. Sadly our plan won't work out, I guess | ||
perplexa | to be honest | ||
heh mo :) | |||
moritz_ | nart: it's a general purpose programming language, it retains perl 5's strengths in text processing, but makes many other things (for example proper object orientation) much more convenient | 12:17 | |
nart | moritz_: so you expect that people using perl5 for text processing (like myself) will move to perl6? | ||
perplexa will consider using it as soon as its performance gets anything near p5 | |||
moritz_ | nart: we'll offer a viable alternative; judging people's readiness to switch is almost impossible | 12:18 | |
nart: Perl 5 will not cease to develop, so people can stay there if they want | |||
donri | Perl 6 is best compared to Python and Ruby other than Perl 5 | 12:19 | |
IMO | |||
moritz_ | donri: maybe technically, but not in spirit | ||
nart | moritz_: I think regarding text processing a developer might be more intersted in speed than in oop model.. what about web applications? new perl6 era like the old perl web apps days? | ||
donri | It's a similar niche | ||
dynamic general purpose languages | |||
moritz_ | nart: people interested in text processing will love grammars and reusable, named regexes | 12:20 | |
perplexa | donri: why do you think it's betteR? | ||
donri | perplexa: better than what? | ||
nart: perl 6 web development will probably be similar to python or ruby web dev | 12:21 | ||
perplexa | you just said it's better than python and ruby, didn't you? | ||
moritz_ | nart: Perl 6 will be suited for web app development, once it's a bit faster than today. We don't know yet in which niche it will be actually universally used | ||
donri | perplexa: oh, i meant "best compared" | ||
moritz_ | perplexa: donri said it's best to compare perl 6 to python and ruby | ||
donri | stupid ambiguity | ||
perplexa | ah :p | ||
nart | moritz_: I think that will be perl6 main problem.. no certain direction.. | 12:22 | |
perplexa | non-native speaker flaws here :) | ||
donri | nart: that's not a problem for python IME | ||
perplexa needs to improve his parser | |||
donri | perplexa: not your fault | ||
my statement was ambiguous | |||
flussence | eh, I'm already using perl6 in place of a few shell scripts | 12:23 | |
moritz_ | nart: in the case of general purpose programming languages, directions come from users, not from the language | ||
donri | A flexible enough language can be useful for multiple directions with strong libraries | 12:24 | |
nart | moritz_: I am surely not as an expert in language design as perl6 guys.. but I think directions come actually from the Language and the users.. usually a language is designed for a reason.. like tcl, perl5, lisp.. etc.. each one had a reason to be created and an area to be used in.. don't you agree? | 12:26 | |
donri | There's surely different niches where different languages show strength | 12:27 | |
moritz_ | nart: well Perl 6 has a reason too: problems with Perl 5 | ||
donri | but they're not as narrow as you make it sound IMO | ||
flussence | augment class Str { method cdata { self.trans(«< > & "», «< > & "») } } | ||
moritz_ | Perl was meant for text extracting and reporting; now it's everywhere in software QA, biologic computations, web development and sysadmin tasks | 12:28 | |
donri | I rather find that a narrow direction hurts a language | ||
flussence | (hmm, if it's cdata then it doesn't need " ...) | ||
nart | moritz_: as you see perl5 is not as famous as it was in late 90's.. so if perl6 is just some enhancements I think it will be hard for it to survive.. I think anyone would agree with me that perl5 will still be used for text processing for maybe the next 10-15 years.. So if text processing is perl5 thing, perl6 must have its own "thing" | 12:31 | |
moritz_ | nart: Perl 6 is by no means "just some enhancements" to Perl 5. It's a fundamental redesign | ||
nart: and as far as I can tell perl 5 usage hasn't actually decreased - it's just that market has grown faster than perl 5 usage | 12:32 | ||
12:33
gimix left
|
|||
moritz_ | all hard facts (for example upload statistics to CPAN) say that Perl 5 continues growing | 12:33 | |
Tene | masonkramer: Ah, I hadn't noticed that before; I had remembered that as "any tripled delimiter". Thanks. | ||
12:33
coldhead left
|
|||
Tene | erm | 12:35 | |
dalek | ecs: d3c65df | tene++ | S02-bits.pod: Fix an error pointed out by masak++ |
||
Tene | masak: Ah, I hadn't noticed that before; I had remembered that as "any tripled delimiter". Thanks. | ||
he's not around right now, though. | |||
12:35
_twitch joined
|
|||
nart | moritz_: I do know few large corporations who still maintaining perl5 old projects, but the new projects are done in python. And that is not because perl5 is bad but it is just because python and other languages were evolving faster.. anyway.. we are talking about perl6 here.. the only thing I noticed that it is Fun to use it.. but sadly couldn't find where it will be suited in the near future.. | 12:36 | |
Tene | nart: My company is actively developing new perl 5 infrastructure, fwiw, as did both of my two previous employers. | 12:37 | |
donri | anything those people use python for today, i'd say | ||
moritz_ | nart: everywhere that a general purpose programming language is suited | ||
donri: re _ in names: we still prefer to it in "internal" names, ie things that are not really meant to leak to the end user | 12:38 | ||
donri: e.g. things like MONKEY_TYPING (which you shouldn't be using) | |||
flussence | Perl 6 is not a railway, it's a boat. You can get from A to B quicker in other languages, but they won't let you go from A to ✪ as easily. | ||
moritz_ | flussence++ # nicely phrased, though I'd compare it to a helicopter instead :-) | 12:39 | |
nart | flussence: by quicker (you mean less key strokes right?) | ||
12:39
Axius joined
|
|||
moritz_ would be surprised if that was meant | 12:39 | ||
flussence | less effort, because in most languages all the interesting stuff's been written already and it's usually down to "import whatever" | 12:40 | |
12:40
Alias left
|
|||
nart | flussence: which is bad in you opinion? | 12:40 | |
donri | but if parrot gets the act of a multilingual vm together... | ||
flussence | not at all | ||
colomon | I wouldn't say "all the interesting stuff" -- I'd say all the "routine stuff", or something like that. | 12:41 | |
flussence | depends what interests you :) | ||
moritz_ | Perl 6 tries to be a tool box that enables you to build stuff, without building too many other tools first | 12:42 | |
nart | moritz_: which is nice.. and most languages already provide.. | ||
moritz_ | nart: to some extend | ||
nart | moritz_: yes, including perl5 and 6.. | 12:43 | |
12:43
awoodland left
|
|||
moritz_ | we believe we can do better than existing languages; otherwise we wouldn't be trying | 12:43 | |
I'm getting a test plan failure in S03-operators/identity.t... any idea why? | 12:46 | ||
flussence | yep | ||
irclog.perlgeek.de/perl6/2011-02-28#i_3341527 | |||
nart | moritz_: I am sure it will.. I am a perl fan.. but was trying to give a note of something I thought is important for the language.. It is unique, fun, interesting. thanks for your time everybody.. | 12:47 | |
moritz_ | nart: thank you too; it seems we just disagree about the importance of direction | ||
nart | moritz_: I think deep insdie you, you will agree some day ;) | 12:48 | |
moritz_ | nart: we'll see :-) | ||
12:49
nart left
|
|||
moritz_ | flussence: oh, the tests were added to the wrong section | 12:49 | |
flussence | I think that pod thing should be replaced with plain #s | 12:50 | |
moritz_ | or maybe just deleted | 12:51 | |
flussence | I tried it without, a few of those do fail | ||
moritz_ | they don't make much sense | ||
trying container identitiy on values is... weird. | |||
12:51
qiyong left
|
|||
flussence | those should be eqv? | 12:52 | |
moritz_ | dunno. Value equivalence is tested in other files. | 12:53 | |
12:53
JimmyZ joined
|
|||
dalek | ast: 73038b4 | moritz++ | S03-operators/identity.t: clean up identity.t move return type tests out of POD comments remove commented out tests that wrongly act on values, not containers |
12:53 | |
13:03
envi joined
|
|||
donri | moritz_: I guess _ is like __ in python | 13:07 | |
moritz_ | donri: not really, we don't stick at the start and end of our identifiers | ||
donri | but purpose-wise | ||
arnsholt | Also, the distinction between for internal/external use is mostly pragmatic in Perl | 13:09 | |
moritz_ | arnsholt: well, Perl 6 has private attributes and methods | ||
arnsholt | That's true | 13:11 | |
moritz_ | and a _ in the name doesn't necessarily mean privacy | 13:12 | |
13:12
stifynsemons joined
|
|||
moritz_ | it just means "here is something a wee bit more hairy than usual" | 13:12 | |
donri | yea that's kinda __x__ in python | 13:14 | |
it's not "private", more like "metalinguistic" | |||
what do you do when there's a single-word term that's a little hairy? :D | 13:15 | ||
flussence | moritz_: Test.pm skip_rest also needs fixing :) | ||
(unless my copy's stale...) | 13:16 | ||
moritz_ | flussence: was my last commit not enough? | ||
flussence | (yep, mine's out of date. My bad.) | ||
13:21
agentzh left
13:24
MayDaniel joined,
MayDaniel left,
MayDaniel joined
|
|||
flussence | 100% \o/ | 13:25 | |
13:32
MayDaniel left
13:37
JimmyZ left
13:39
cjk101011 joined
13:45
Tedd1 joined,
masonkramer left
13:46
masonkramer joined
13:50
awoodland joined
13:55
Shozan left
13:56
tonny joined
14:00
Axius left
14:05
kaare_ left
|
|||
tadzik | o/ | 14:08 | |
phenny | tadzik: 11:57Z <masak> tell tadzik merged; dziękuję. | ||
14:11
risou joined
14:12
plobsing left
|
|||
TimToady | rakudo: my $mess = -> |$/ { "My $0 has $1" }; say $mess('dog', 'fleas') | 14:15 | |
p6eval | rakudo 74dcce: OUTPUT«My dog has fleas» | ||
14:15
stifynsemons left
|
|||
TimToady | there's your positional interpolation :) | 14:16 | |
moritz_ | it still requires eval, if I read 'My $0 has $1' from a file | ||
14:17
stifynsemons joined
|
|||
TimToady | only if there's not some stricter version of eval suitable for that purpose | 14:17 | |
moritz_ | right | ||
TimToady | remember eval is often an indicator of a missing feature | ||
jnthn | rakudo: my $mess = -> |$/ { "My $<pet> has $<illness>" }; $mess(pet => 'dog', illness => 'fleas'); | ||
p6eval | rakudo 74dcce: ( no output ) | ||
jnthn | rakudo: my $mess = -> |$/ { "My $<pet> has $<illness>" }; say $mess(pet => 'dog', illness => 'fleas'); | 14:18 | |
TimToady | likewise BEGIN | ||
p6eval | rakudo 74dcce: OUTPUT«My dog has fleas» | ||
jnthn | Cute :) | ||
moritz_ likes it | |||
14:18
plainhao joined
|
|||
tadzik | nice | 14:18 | |
moritz_ | it's also something I can fake up nicely until it's properly implemented | ||
TimToady | have we used qf yet? | 14:19 | |
14:19
hudnix joined
|
|||
TimToady | yes we have | 14:19 | |
moritz_ | dunno, S02 doesn't fit into my head :-) | ||
TimToady | means to interpolate functions | ||
moritz_ | what did you want to use it for? (ie what should the 'f' have meant?) | 14:20 | |
TimToady | format, presumably, but that doesn't help your file | ||
we want a function to translate a format to a closure | |||
donri | TimToady: a stricter version of interpolation would totally satisfy what i like about python's format | 14:21 | |
14:21
stifynsemons left
|
|||
TimToady | and, in fact, sprintf("...", 1,2,3) could end up optimizing to such a closure, in a currying sort of way | 14:22 | |
(if the format is constant) | 14:23 | ||
14:23
awoodland left
|
|||
TimToady | well, assuming the internal form doesn't have to recreate the format string... | 14:23 | |
now to think a bit more about sugar for .fmt('%7.3f') | 14:24 | ||
if we reduced it to .%7.3f it would have to be an exception to the final () rule | 14:25 | ||
donri | rakudo: my $answer = 42; say "answer is %7.3f".fmt($answer) | 14:26 | |
p6eval | rakudo 74dcce: OUTPUT«No applicable candidates found to dispatch to for 'fmt'. Available candidates are::(Mu : Str $format = { ... };; *%_) in main program body at line 22:/tmp/W1ux_DdJn_» | ||
14:26
mberends joined
14:27
pigdude joined
|
|||
moritz_ | rakudo: say 42.fmt('%05d') | 14:27 | |
p6eval | rakudo 74dcce: OUTPUT«00042» | ||
14:28
pigdude_ joined,
tonny left
14:36
awoodland joined
14:40
kaare_ joined
14:43
sji left
14:48
PZt joined
14:51
pigdude_ left,
pigdude left,
pigdude joined
|
|||
perplexa | moritz_: .fmt? :/ | 14:54 | |
as in vowels are overrated? :) | 14:55 | ||
moritz_ | perplexa: as in "keep often-used constructs short" | ||
aka hufmann coding | 14:56 | ||
time will tell if .format would have been a better choice | |||
perplexa | hmm | ||
perplexa doesn't mind either choice | |||
i actually like short method names | 14:57 | ||
mberends | I'm tending to prefer longer, more self-documenting words these days. | ||
perplexa | might get confusing if you have to remember lots of them, tho | ||
i think pros and cons are pretty balanced there | |||
mberends | aye | 14:58 | |
14:58
spq joined,
JimmyZ joined
14:59
cotto joined
15:01
pigdude left
|
|||
[Coke] | keeping things short JUST to keep them short is silly. | 15:02 | |
readability (and consistency) are also important. | 15:03 | ||
Juerd | Except when there's not enough room for them to be longer :) | ||
For example, Java code tends to have reallyLongIdentifiersThatArentReallyHelpfulInKeepingYourLinesyWithin80Characters | 15:04 | ||
And it's a clear example of how long identifiers can hurt readability too | 15:05 | ||
From that point of view, "format" is already short. | |||
Juerd prefers "format" to "fmt", by the way. | |||
But I'd abbreviate "configuration" to "config". Not "cfg" or "conf" though, except in filenames. | 15:06 | ||
mberends | How come Java identifiers are often so long? Did some authority define that as Best Practice? | 15:07 | |
15:09
daxim left,
risou_ joined
|
|||
arnsholt | Some of the conventions of Java are essentially workarounds for the fact that Java doesn't have proper lambdas | 15:09 | |
The Visitor pattern for example is just a map | |||
Another part of it is the whole EnterpriseNeedsVerbosityConstraint I think | 15:10 | ||
15:11
araujo joined,
alester joined,
risou left
|
|||
mberends | I'm guilty of inventing overly long names for things to avoid risk of collisions when working in a single namespace (eg in C). | 15:11 | |
arnsholt | Yeah, C has different problems. Namespaces being one of them | 15:12 | |
Also, C prgrmrs ht cnsnnts | |||
alester | Not good ones. | 15:13 | |
mberends | rnshlt: I don't hate them ;) | ||
alester | See what I mean? | ||
15:15
wtw left
|
|||
frettled | whts wrng wth cnsnnts? | 15:17 | |
colomon | arnsholt: to be precise, Visitor is a hideously ugly map. | ||
mberends | frttld: th'r rdndnt | ||
colomon | arnsholt: and Visitor also allows a foolish adherence to fundamentally insane ideas about OOP. | 15:18 | |
tadzik | blog.kraih.com/a-logo-for-perl-5 has some p6 references | ||
arnsholt | Er, right. C prgrmrs ht vwls is of course the right one =D | 15:20 | |
I confuse vowels and consonants embarrassangly often, considering I'm supposed to be a linguist | 15:21 | ||
15:21
pigdude joined
|
|||
donri | don't you guys mean vowels | 15:22 | |
oh you already said | |||
arnsholt | Indeed. For some reaon I never can keep the two straight in my brain | 15:23 | |
frettled | ee: o you eay i e ou ue oy oe? | ||
15:26
nymacro left
|
|||
arnsholt | colomon: My Common Lisp fundamentalist friend has a whole laundry list of things that are broken in Java simply because it lacks lambdas =D | 15:26 | |
15:27
bluescreen joined
|
|||
moritz_ | well, lack of lambdas/closures heavily influences the design of libraries | 15:28 | |
arnsholt | Exactly =) | 15:31 | |
15:31
MayDaniel joined
|
|||
sorear | "What would you do differently if you redesigned UNIX today?" Ken: "I would spell creat(2) with an e." | 15:33 | |
moritz_ | :-) | 15:34 | |
arnsholt | The world is no longer limited to 8.3. Oh joy =) | 15:35 | |
colomon | moritz_, arnsholt: The other bad thing about the Visitor pattern, though, isn't just the lack of lambdas. It's the idea that it's somehow better to code a new class with a method for each type which might be visited than it is to write a given / when statement that branches on type. | 15:36 | |
15:37
mberends left
|
|||
colomon | That's placing a (IMO dubious) OOP principle over writing straightforward code. | 15:38 | |
arnsholt | Indeed | ||
15:40
am0c joined,
mberends joined
|
|||
jnthn | I find code that is a tangle of complicated hierarchies much worse to dig into than code that is just in a big chunk that really shoulda been broken out into manageable pieces. At least in the second case it's all in front of you in one place. | 15:41 | |
15:42
satyavvd joined
|
|||
colomon | Right. | 15:42 | |
sorear | good * #perl6 | 15:43 | |
mberends | good * sorear | 15:44 | |
colomon | The first time you're stepping through the code, and you have to step into the Visit method (jumping to another source file, of course), and then step into the VisitCircle method (back to the original file, but in a different spot), only to realize that you don't have access to the local variables from the point of the call that the straightforward approach would allow you.... | ||
15:46
plobsing joined,
MayDaniel left
|
|||
donri | The point in Java is usually to write in such a way that you don't need to understand it | 15:46 | |
So you "shouldn't" look at the visit method, it should just DTRT | |||
and you should Trust It | 15:47 | ||
arnsholt | colomon: Which is why I use anonymous inner classes as much as possible in Java =) | 15:48 | |
15:51
justatheory joined
15:59
jaldhar left,
jaldhar joined,
JimmyZ left
|
|||
TimToady back after power failure... | 16:01 | ||
16:01
Rotwang joined,
awoodland left
|
|||
moritz_ hopes TimToady rebooted just fine, and has lost no data | 16:02 | ||
TimToady | well, laptop was fine on batter, but rebooted on purpose to finish update :) | 16:03 | |
*battery | |||
16:16
Patterner left
16:19
Psyche^ joined,
Psyche^ is now known as Patterner
16:21
ymasory_ left
16:27
am0c left
16:28
envi left
16:33
tzhs left
16:34
bluescreen left
16:44
kanishka joined
16:54
satyavvd left
|
|||
dalek | ecza: b94a627 | sorear++ | / (8 files): Revise downcall protocol (ki9a++) and use downcalls to invoke CLRBackend |
17:00 | |
tadzik | if I "use Foo::Bar", I can't "class Foo", for "Illegal redeclaration of symbol 'Foo'". Why so? | 17:01 | |
moritz_ | tadzik: because of rakudobug. | ||
rakudo: class A { ... }; class A { } | |||
p6eval | rakudo 74dcce: ( no output ) | ||
tadzik | Aroo | ||
I'll name it Not_Foo | 17:02 | ||
moritz_ | using a class Foo::Bar should have the same as effect as stubbing class Foo | ||
donri | FooButNotThatOtherFoo | ||
moritz_ | rakudo doesn't do that | ||
PerlJam | moritz_: "stubbing class Foo" is over stating it a bit isn't it? Foo doesn't have to be a class at all. | 17:03 | |
sorear | moritz_: care to elaborate on semantics? I haven't figured out a good way to make Foo::Bar "just work" in Niecza yet | 17:04 | |
moritz_ | PerlJam: right, it should stub package foo | ||
std: class Foo::Bar { }; say Foo | |||
p6eval | std 4608239: OUTPUT«===SORRY!===Undeclared name: 'Foo' used at line 1Check failedFAILED 00:01 119m» | ||
moritz_ | if std is correct, it shouldn't even stub Foo | ||
sorear: actually I'm not really sure how it works | 17:05 | ||
sorear | std probably isn't correct, except maybe by accident | ||
I've learned a great distrust of std's package handling | |||
moritz_ | sorear: fyi nicza fails to build on my system (and did so before your last commit too) | 17:06 | |
mono 2.6.7 | |||
17:06
stifynsemons joined
|
|||
sorear | yeah, I got that report from flussence++ earlier | 17:07 | |
moritz_ | I'm still trying to get to the first error message, they scroll out of my window, and I can't seem to get the redirection working :( | ||
sorear | flussence's first error was: runtime version not available, using 1.1 | ||
it seems like my mono 2.11 is building niecza to use the 4.0 runtime (introduced in mono 2.8) | 17:08 | ||
PerlJam | moritz_: you don't have script(1) ? | ||
sorear | I need to figure out what's going on later | ||
moritz_ | PerlJam: I have, and I just started it :-) | ||
17:08
stifynsemons left,
stifyn joined
|
|||
flussence | flussence-- # don't think it was me who reported that... | 17:09 | |
sorear | moritz_: unrelatedly, niecza is having exception structuring issues | ||
moritz_ | yes, error is similar here | ||
sorear: care to elaborate? | |||
sorear | I'm starting to reach the limits of "$! is a string" | ||
moritz_ | ah | 17:10 | |
sorear | e.g. in the REPL, I don't want exceptions to kill the process, but if I catch them, I lose the backtrace | ||
moritz_ | I expect $! to have a .trace method or something | ||
sorear | to what extent are "standardized Exception objects" part of your grant agenda? | 17:11 | |
I'm interested in workable ideas | |||
17:12
cjk101011 left
|
|||
moritz_ | I want to catalogue existing messages | 17:14 | |
and give them some sort of identifiers by which you can test them (maybe enums?) | |||
and then unify the messages across implementations | 17:15 | ||
and give the tags/properties like "parse time", "compile time", "run time" and things like "regex", "dispatch", "type check" etc. | 17:16 | ||
sorear: does that answer your question? | |||
sorear | Yes | 17:20 | |
moritz_ | does it also sound sane to you? | ||
sorear | mostly | 17:21 | |
moritz_ | and do you have any additional wishes/ideas for that part of the exception system? | ||
mostly? which part does not sound sane? | |||
sorear | I'm curious to see what you do about things like "State declarations NYI" | ||
moritz_ | it'll probably be in a 'nonstandard' and/or 'internal' category | 17:22 | |
maybe s/nonstandard/deviation from standard/ | |||
sorear | let's call them "substandard" errors | ||
17:23
plobsing left
|
|||
moritz_ | I guess it even has applications is "completed" implementations | 17:24 | |
ie if you compile to JS, and can't use IO or something | |||
PerlJam | if you get rid of "yet" in the wording, certainly :) | 17:25 | |
moritz_ | aye | 17:27 | |
sorear | an implementation without IO surely counts as substandard | 17:29 | |
PerlJam | depends on what you consider "standard" | ||
sorear | passes 100% of roast | ||
PerlJam | so ... all implementations are substandard? | 17:30 | |
moritz_ | currently, yes | ||
sorear was trying to pun | 17:31 | ||
PerlJam | "substandard" just rubs me the wrong way for some reason. | ||
moritz_ | it sounds like "low quality" | ||
when we really mean "subset of the standard" | 17:32 | ||
17:33
plobsing joined
|
|||
sorear | The double meaning in my suggestion was deliberate | 17:33 | |
PerlJam | sorear: well then, while I appreciate the pun, it sounds a little too snarky for Perl 6. Maybe you can use it with Perl 5 though :) | 17:34 | |
17:45
kanishka left
|
|||
sorear | TimToady: What will become of PL_delaymagic and $*EUID, $*UID = $*UID, $*EUID ? | 17:46 | |
donri | aren't errors for NYI outside the standard? | 17:50 | |
in a way a "superstandard" | |||
parastandard :) | |||
PerlJam | donri++ I like the way you think :) | 17:51 | |
pmichaud | good morning, #perl6 | 17:54 | |
jnthn | morning, pmichaud | 17:55 | |
17:57
orafu left,
stifyn left
|
|||
sorear | hello pmichaud!! | 18:02 | |
18:03
cdarroch joined,
cdarroch left,
cdarroch joined
18:04
bluescreen joined,
_twitch left
18:07
stifynsemons joined
18:09
hanekomu left
|
|||
tadzik | hello pmichaud | 18:09 | |
colomon | \o | 18:14 | |
18:15
pigdude_ joined
18:16
pigdude left,
rgrau joined
18:21
risou_ left
18:25
plobsing left
18:26
masak joined
|
|||
masak | evening, zebras. | 18:26 | |
18:26
pigdude_ left
|
|||
moritz_ | \o | 18:26 | |
masak: I'm still waiting for the p5 review :-) | |||
masak | a lot of us are :P | ||
18:27
pigdude joined
|
|||
masak | I'm terribly sorry for the delay. $dayjob is sucking up my tuits at present. | 18:27 | |
it's on top of my TODO stack, though. | 18:28 | ||
sorear | hi masak | ||
PerlJam | masak is reviewing perl 5?!?!? | 18:29 | |
*innocent look* | |||
masak | next year I'll call the tasks... oh, I already said that. | 18:30 | |
sorear | ok, the time has come to formally depend on Mono 2.8 | ||
or rather, on the NET_4_0 profile | |||
masak | how come? | 18:31 | |
sorear | I need it for garbage-collection of runtime-generated code | ||
moritz_ | debian testing doesn't have that yet :( | ||
moritz_ will need to compile from source | |||
masak | it's harsh at the frontier. | 18:32 | |
pmichaud | You can tell the pioneers by the pointy blocks in their backs. | ||
masak | pmichaud! \o/ | ||
pmichaud | for @arrows -> { say 'ouch!' } | ||
masak | pmichaud: a pun worthy of Worthington :P | 18:33 | |
if Perl 6 had come before Lisp, would the blog have been called "pblock the Ultimate"? | 18:34 | ||
dsp_ | moritz_: is it not in debian experimental | 18:36 | |
then again that will probably want to pull in a bunch of other stuff | |||
masak .oO( conservatively experimental ) | 18:38 | ||
18:39
plobsing joined
|
|||
sorear | masak: "lambda" goes back to the sketches of Alonzo Church | 18:39 | |
masak | sorear: oh! I should have known. | ||
sorear | originally, it was λ | 18:40 | |
masak | well, if Turing had published before Church, would the blog have been called "State Machine the Universal"? :P | ||
jnthn | :P | ||
o/ masak | |||
masak | jnthn! \o/ | ||
sorear | Lisp decided to use "lambda"; Haskell picked the closest ASCII char, "\", but still called them lambdas | ||
Perl 6 uses "->", and calls them pointies | 18:41 | ||
18:41
lopaway is now known as lopnor
|
|||
masak | sorear: pointy-haired blocks :) | 18:41 | |
jnthn | Perl 6 gets the point of functional programming. :) | ||
sorear | also, why do I have ctrl-shift-3BB memorized? | 18:42 | |
masak | λ | 18:44 | |
flussence | it's perfectly normal to commit random unicode chars to memory (IMO) | ||
.u 263a | |||
phenny | U+263A WHITE SMILING FACE (☺) | ||
masak | C-u C-\ greek RET l in Emacs :) | ||
sbp | it's a lamb, duh | ||
masak | I see everyone in the pun committee has come. let the meeting begin. | 18:45 | |
sbp | don't mention meatings with lambs around | ||
sorear | flussence: emphasis on the random | ||
I have basically all of 0-7F, sure | |||
moritz_ | .u beverage | ||
phenny | U+2615 HOT BEVERAGE (☕) | ||
moritz_ | I can't even remember that one :-) | 18:46 | |
sorear | also 3BB, 3000, 3080, 4e03, fffe, fffd | ||
masak | .u hot | ||
phenny | U+2668 HOT SPRINGS (♨) | ||
dalek | ecza: 6905b60 | sorear++ | / (6 files): Run MAIN units without a temporary file, using a collectable assembly |
18:53 | |
18:53
lopnor is now known as lopaway
|
|||
moritz_ | parallel build of mono failed | 19:04 | |
sequential succeeded | |||
flussence | rakudo: 'abc' ~~ m:p(1)/^a/; | 19:14 | |
p6eval | rakudo 74dcce: ( no output ) | ||
flussence | rakudo: 'abc' ~~ m:p(0)/^a/; | ||
p6eval | rakudo 74dcce: ( no output ) | ||
flussence | oh | ||
rakudo: ('abc' ~~ m:p(1)/^a/).perl.say; | |||
p6eval | rakudo 74dcce: OUTPUT«Match.new( from => 1, orig => "abc", to => -3,)» | ||
flussence | rakudo: ('abc' ~~ m:p(0)/^a/).perl.say; | ||
p6eval | rakudo 74dcce: OUTPUT«Match.new( from => 0, orig => "abc", to => 1,)» | ||
moritz_ | rakudo: ('abc' ~~ m:p(0)/^a/).pretty.say; | 19:17 | |
p6eval | rakudo 74dcce: OUTPUT«=> <a>» | ||
flussence | when did that get added?! | ||
moritz_ | Fri Jan 7 21:34:18 2011 +0100 | 19:18 | |
colomon | month or two ago | ||
flussence | doh. | ||
(I always seem to overlook the good bits) | |||
dalek | ecza: 3605ac1 | sorear++ | / (7 files): Implement eval. Eval return values not yet working |
19:25 | |
sorear out | |||
19:26
bluescreen left
19:28
plobsing left
19:29
shi joined,
plobsing joined
19:31
og01 joined
|
|||
diakopter | niecza: eval "say 4452" | 19:34 | |
p6eval | niecza v3-14-g3605ac1: OUTPUT«Unhandled exception: System.NotSupportedException: RunAndCollect not yet supported.Server stack trace:  at System.Reflection.Emit.AssemblyBuilder..ctor (System.Reflection.AssemblyName n, System.String directory, AssemblyBuilderAccess access, Boolean | ||
..corlib_internal) [0x00000] i… | |||
moritz_ | time to install a custom mono on that host | 19:36 | |
19:37
Mowah left,
Mowah joined
|
|||
flussence | (argh, I understand how Text::Wrap works now. It's pretty horrific) | 19:37 | |
start with full text, giant if/elsif block that regexes bits off the beginning then overwrites the text variable with the remainder that didn't match. | 19:39 | ||
there's quite a few situations where the regexes can match a zero-length string... | |||
19:42
Mowah left,
Mowah joined
19:47
alester left
19:56
noganex left
20:04
lamstyle left
20:05
fhelmberger left,
noganex joined
20:09
PacoLinux left
|
|||
diakopter | moritz_: feel free... I have a 2.8.2 under ~/sprixel/clr but feel free to put a 2.10.1 or 2.12.pre somewhere | 20:10 | |
tadzik | masak: aloha | 20:13 | |
masak | tadzik: bom dia | 20:20 | |
tadzik | masak: I decided neutro needs to be incinerated, and I need to write a modular, testable solution. I ended up with something being, pretty much, Pls :) | 20:23 | |
masak | O RLY? | 20:24 | |
can't we just work on pls together? :) | |||
it's almost finished... | |||
mberends | oh, the curse of the module-installer-killer strikes again... | ||
masak | there's a curse? | ||
mberends | can't we just use CPAN? | 20:25 | |
masak | ah, that curse. :) | ||
tadzik | masak: Pies is finished too :) | ||
masak | "Pies"? :) | ||
tadzik | I alredy implemented what was neutro's initial commit using it, now pushing it further | ||
well, just a name :) | |||
phenny: "pies"? | |||
phenny | tadzik: "feet" (es to en, translate.google.com) | ||
jnthn | Mmm....pie | ||
20:25
dju_ left
|
|||
tadzik | nah, not exactly phenny :) | 20:26 | |
masak | π π π π π π π π | ||
tadzik | Pies is a Polish dog :) | ||
jnthn | Oh :) | ||
masak | Poland has a dog? | ||
tadzik | yeah | ||
jnthn | Just one. | ||
;) | |||
masak | and it's called Pies. | ||
20:26
cjk101011 joined
|
|||
tadzik | no no, that's just a specification | 20:27 | |
an implementation is, e.g. Panda_the_Dog | |||
that's due to Rakudobug :) | |||
mberends | "sPiesification" | ||
masak | dogs seem very complicated in Polish... | ||
tadzik | and since I alredy told everybody, I can as well push it and stop keeping it secret :) | ||
mberends | my Dog $pies; | 20:28 | |
tadzik | I really like class Panda is Pies | ||
Panda is my dog, irl :) | |||
github.com/tadzik/Pies | 20:29 | ||
github.com/tadzik/Pies/blob/master...ufobuilder is a Pies in action, works :) | |||
mberends | tadzik++ | 20:30 | |
tadzik | compared to Pls, an Ecosystem and State are a bit different, but you were uncatchable masak, so I couldn't discuss it with ya | 20:31 | |
mberends: yeah, that's all to have something to bother with at the hackathon :) | |||
masak | tadzik: sorry about being unreachable. I'm working on that. | 20:32 | |
tadzik | just testing an implementation using our big module ecosystem | ||
masak: worry not! At least you have some life :P | |||
masak | tadzik: I'm generally very happy that you are making headway. | ||
tadzik: being unreachable does not necessarily imply having a life, trust me :) | |||
tadzik | masak: I'd like to discuss the ecosystem things, and the roles you figured out for the... Roles :) | 20:33 | |
yeah, I just installed List::Utils with Panda | |||
20:36
pigdude_ joined,
pigdude left
20:37
pigdude_ left,
pigdude joined
|
|||
tadzik | ohh, I know what a module manager needs. A REPL | 20:40 | |
because parsing JSON takes ages | |||
masak | how does a REPL help against JSON parsing taking ages? | 20:41 | |
tadzik | we don't launch the module manager on every module we want to try, so the json is parsed once | ||
jnthn | Maybe at $hackathon we'll have to look a little at why the JSON parse is so slow. | 20:42 | |
tadzik | 30-40 seconds of runtime of every module manager using the "official" ecosystem now is dedicated to parsing json | ||
jnthn: I'm afraid that's Rakudo, not JSON. .perl'ing the parsed json and evaling it later takes 20-30 seconds too | 20:43 | ||
so I'd say that object construction is slow as hell | |||
so we're pretty much waiting for 6model :) | |||
jnthn | tadzik: Oh, I know it's a Rakudo issue. | ||
tadzik: Yeah, but it's good to understand *why* it's so slow. | |||
PerlJam | tadzik: 6model isn't going to be a panacea | 20:44 | |
jnthn | tadzik: To make sure I really will deal with that in 6model. | ||
If it's something that's within the scope of it. | |||
It may be in a totally separate set of issues. | |||
e.g. stuff we can improve Right Away. | |||
tadzik | I see | 20:46 | |
masak | tadzik: fwiw, it was for speed reasons that I chose slurp/eval for proto. | ||
tadzik | masak: did it help much? | ||
Well, times were different | |||
^^ <name> <url> $$ files were hell faster to parse | 20:47 | ||
masak | tadzik: slurp/eval is faster than the JSON parser, yes. | ||
tadzik | masak: not much, see above | ||
I mean, it's still painful as hell to use | |||
masak | ok. | ||
20:47
stkowski joined
|
|||
masak sleeps | 20:51 | ||
tadzik | owait, there's hope? | ||
masak | godnatt, #perl6. | ||
20:52
masak left
|
|||
tadzik | Sqlite works, right? | 20:52 | |
oh, bye masonkramer | |||
erm, masak | |||
masonkramer: sorry, nevermind | |||
20:54
plobsing left
20:55
plobsing joined
20:56
Bzek left
20:58
rdesfo joined,
jferrero joined
|
|||
tadzik | hrm, is there anything in Perl 6/Rakudo emmiting "Died" and dying? | 20:59 | |
I don't have anything like this in my code | |||
moritz_ | rakudo: die | 21:00 | |
p6eval | rakudo 74dcce: OUTPUT«Died in main program body at line 22:/tmp/7fDF2xA1sk» | ||
colomon | src/builtins/control.pir | ||
61: message = "Died\n" | |||
appears to be the only use of "Died" in the source code. :) | 21:01 | ||
and yup, that's in sub die. | |||
21:02
plobsing left,
mberends left
|
|||
tadzik | hrm. Looks like some string is under-evaluated | 21:04 | |
21:05
GinoMan joined
21:09
mberends joined
21:16
cjk101011 left
21:17
coldhead joined
21:18
Bzek joined
21:40
Mowah left,
plobsing joined
21:47
shi left
21:49
donaldh joined
|
|||
moritz_ | sorear: fwiw with mono 2.10.1 I get some regressions in spectest | 21:50 | |
t/spec/S02-builtin_data_types/bool.t .......................... 1/45 Unhandled exception: System.FormatException: Unknown char: N | |||
21:52
shi joined
|
|||
dalek | albot: 762d62c | moritz++ | build-scripts/rebuild-niecza.sh: [niecza build] use mono 2.10.0 |
21:53 | |
moritz_ | sorear: appears in a lot of tests | 21:54 | |
21:56
pigdude left
22:00
pigdude joined
22:18
plainhao left
22:23
dorlamm joined
22:30
mikehh joined
22:32
drake1 joined
|
|||
drake1 | hello | 22:32 | |
i've been visiting parrot | |||
and it seems they have not yet integrated the parallel semantics | 22:33 | ||
at native level | |||
22:33
pigdude left
22:34
kaare_ left
|
|||
drake1 | so now you know | 22:35 | |
22:35
drake1 left
|
|||
jnthn already knew that :P | 22:38 | ||
plobsing guesses even if parrot "integrated the parallel semantics at native level" (whatever that means), Rakudo would have more pressing issues anyways. | 22:39 | ||
jnthn | That said, if it was easy enough to implement some parallelism constructs in Rakudo atop of Parrot, we'd probably have done it by now. | ||
It has been tried. | 22:40 | ||
22:40
cosimo joined
|
|||
cosimo | hi there! | 22:42 | |
jdhore | howdy! | ||
cosimo | is proto still TheWay(tm) to install modules? | ||
22:43
envi joined,
Rotwang left
|
|||
donri | isn't that neutro? | 22:45 | |
22:47
shi left
|
|||
cosimo | donri: neutro, right github/perl6/neutro I suppose? | 22:47 | |
donri | no idea | 22:53 | |
22:53
dromedary joined
22:55
stkowski left
23:01
moritz__ joined,
silug_ joined,
broquain1 joined,
_jaldhar joined,
GinoMan_ joined
23:02
zamolxes_ joined
23:03
knewt2_ joined,
cxreg2 joined,
woldrich_ joined
23:04
masonkramer_ joined,
franek joined,
stepnem_ joined,
jesus24 joined,
rgrau_ joined
23:05
jesus24 left,
araujo_ joined,
Helios` joined,
hugme left
23:07
hatseflats left,
tadzik left,
zostay_ joined,
pmichaud left,
Util left
23:08
dorlamm left,
donaldh left,
GinoMan left,
rgrau left,
Patterner left,
jaldhar left,
araujo left,
masonkramer left,
nrr left,
aindilis left,
stepnem left,
dalek left,
knewt2 left,
zamolxes left,
zostay left,
aesop left,
meteorjay left,
ashleydev left,
aloha left,
silug left,
Helios- left,
moritz_ left,
cxreg left,
rokoteko left,
lestrrat left,
broquaint left,
woldrich left,
hcchien left,
stepnem_ is now known as stepnem,
masonkramer_ is now known as masonkramer,
PerlJam left,
Juerd left,
aloha joined
23:09
dalek joined,
ChanServ sets mode: +v dalek
23:10
rokoteko joined,
araujo_ left
|
|||
diakopter | niecza: eval 'say 43642' | 23:10 | |
p6eval | niecza : OUTPUT«Cannot open assembly './run/Niecza.exe': No such file or directory.» | ||
23:10
nrr joined
23:11
tadzik joined,
araujo joined,
araujo left,
araujo joined
23:12
lestrrat joined
23:13
aesop joined,
ashleydev joined
23:14
Util joined,
hatseflats joined,
hcchien joined,
meteorjay joined,
pmichaud joined
23:15
PerlJam joined,
Psyche^ joined,
Psyche^ is now known as Patterner,
mkramer left
23:16
skangas joined
|
|||
colomon | cosimo: neutro is the new way to install modules. It's still very new, however. | 23:25 | |
23:27
s1n left
|
|||
cosimo | FTR, neutro is github.com/tadzik/neutro | 23:28 | |
sorear | good * #perl6 | 23:30 | |
23:32
franek left,
pmichaud left
|
|||
sorear | diakopter: what's going on? | 23:32 | |
23:32
pmichaud joined
23:33
Juerd joined
|
|||
sorear | moritz__, diakopter: if you want to pick up a new version of mono, it helps to put it at the *beginning* of $PATH | 23:35 | |
niecza: eval "say 2 + 2" | 23:37 | ||
p6eval | niecza v3-14-g3605ac1: OUTPUT«Unhandled exception: System.NotSupportedException: RunAndCollect not yet supported.Server stack trace:  at System.Reflection.Emit.AssemblyBuilder..ctor (System.Reflection.AssemblyName n, System.String directory, AssemblyBuilderAccess access, Boolean | ||
..corlib_internal) [0x00000] i… | |||
23:37
pigdude joined
|
|||
sorear | evalbot control restart | 23:38 | |
23:38
p6eval left
23:39
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
sorear | niecza: eval "say 2 + 2" | 23:39 | |
p6eval | niecza v3-14-g3605ac1: OUTPUT«Unhandled exception: System.NotSupportedException: RunAndCollect not yet supported.Server stack trace:  at System.Reflection.Emit.AssemblyBuilder..ctor (System.Reflection.AssemblyName n, System.String directory, AssemblyBuilderAccess access, Boolean | ||
..corlib_internal) [0x00000] i… | |||
donri | colomon: FYI they're all described and linked at modules.perl6.org/ | 23:41 | |
cosimo: * | |||
sorry colomon | |||
colomon | donri: I was wondering why you were telling me that. :) | ||
23:42
leprevost joined
23:44
dromedary left,
franek joined,
s1n joined
|
|||
sorear | diakopter: oops. RunAndCollect was added to Mono on Feb 9 | 23:46 | |
diakopter: I guess I'll revert that to just Run for now |