pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
mncharity let's see... 04:25
the new/current STD.pm EXPR regrettably generates cycles in the parse"tree". 04:26
not clear how to proceed... 04:28
mncharity ah well. kludge it with a (not very) deepcopy. 04:40
Tene mncharity: add test coverage for what? 04:53
Ahh.
mncharity: t/spec/S06-signature/
mncharity re signature, right. having just implemented it, there's the opportunity to think up a truly nasty set of tests. :) 05:07
Auzon Which implementation(s) does this affect?
mncharity Auzon: "this"? 05:09
Tene was working on rakudo. but the tests would be implementation independent.
Auzon Ah, ok 05:10
Tene mncharity: When tests were being added for placeholder vars earlier, moritz++ told me that test files should be as minimal as possible, only testing one single thing at a time. What should I name a test file that just has a glob of mixed up placeholder tests? 05:13
mncharity hmm... 05:21
t/blocks/placeholders.t ? 05:23
(sorry for the response lag - my sound was muted - fixed) 05:24
for spec, perhaps create a naming convention for such a bag of tests... 05:26
Tene Hm. Will rakudo eventually be using all of pugs' t/? 05:28
Or will everything in t/ need to be reorganized into t/spec/? 05:29
mncharity given the emphasis t/spec places on organization, when tests are being created, but not from the snn, it might be worth separating the steps of test creation and placement in spec, just so the test creation barrier doesn't discourage test creation.
s/test creation barrier/test organization barrier/
Tene: I'm unclear on the plan. My very fuzzy impression is "maybe" and "I think that's the intent?". 05:30
Tene Hm. 05:31
mncharity the old vision, which I believe is still valid, is to tell people "put your new tests anywhere, named anything". we can always move them later, once they exist. 05:32
Tene I'm having trouble generating corner cases that are likely to break without breaking existing tests.
mncharity "without breaking existing tests", ? breaking test files? 05:33
placeholder_stress_test.t ? 05:34
I didn't understand the "without breaking existing tests" part.
Tene "causing existing tests to fail" 05:35
I'm having trouble coming up with ( test cases that could fail without existing tests failing ). 05:36
mncharity sorry, you mean existing test files? as in, adding the (failing) corner cases to an existing .t file will break parsing of the .t file? 05:37
revdiablo Tene: You mean you're having trouble coming up with tests that are unique?
mncharity confuzed
ahh. redundancy seems fine. especially outside of t/spec 05:39
mncharity think of all the thousands of regexp tests. their task is to catch the "oops, thought we handled that specific case correctly but didn't". 05:40
ideally, rather than writing individual tests, we'd have a program which generates them randomly, and spend free cycles pounding that against implementations. 05:41
mncharity s/rather than/in addition to/ 05:42
Tene nods.
Tene Nobody currently runs rakudo against t/block/, and pugs can't even parse $:foo, iirc. 05:43
pugs: sub f { say $^foo, $:quxx, $^bar, @_[0], %_<frob> }; f(1, 2, 3, :quxx(4), :frob(5));
exp_evalbot OUTPUT[*** ␤ Unexpected ":quxx"␤ expecting "::"␤ at /tmp/VIMECTklnu line 1, column 21␤]
mncharity while pugs was under active development, there was sort of a low-level discouragement of adding tests "too far in advance" of current capabilities. at this point, I'd say just go for it. almost no one runs pugs, so spending time wrapping failing tests to make pugs happy seems unnecessary overhead. ? 05:47
especially if they are in a separate file 05:48
mncharity at a minimum, it will help in shaking down STD.pm via STD_red. 05:49
STD_red is being run against all of t/ , generating the stream of STD.pm bug reports which has been going by lately. 05:51
Tene Okay. Give me a filename to create. 05:54
mncharity t/blocks/placeholders.t 05:57
t/blocks/sub_placeholders.t
eh, back to t/blocks/placeholders.t ;) 05:58
yipes, 2am... 05:59
getting elf_f working on the new parsetree is still a work in progress. but the deepcopy hack seems to work, so hopefully it will just be a straightforward slog. we'll see. "tomorrow" I think. 06:00
good night all & 06:11
rjbs Quick question! 13:06
I don't even know if this will quite make sense, but:
Given my $array, what must one do to get its elements in list context? 13:07
I'm asking mostly to get a sixish method name for something in Moose::Autobox.
masak rjbs: @{$array}
rjbs Is there a method?
pbuetow or just @$array
masak rjbs: not to my knowledge 13:08
rjbs With Moose::Autobox, an array is always an arrayref, and there is currently no way but @{} to get it as a list.
so, we want/need a method for that.
masak write one.
rjbs That's not the issue.
The issue is: does Perl 6 have a method for this, the name of which we should use.
pmurias rjbs: deference? 13:09
rjbs Do you mean dereference?
pbuetow deref
rjbs Dereference is a lousy name, because you want to be able to call this on a Hash object, too
rjbs but not a Code object 13:09
even though a Code object is a reference (in this context)
pmurias lunch&
rjbs enjoy 13:10
pmurias ;)
pmurias rjbs: you can't call @{} on a hash ref 13:31
rjbs I never said I wanted to. 13:33
but in Perl 5, a hash can be taken in list context
pmurias maybe .list then 13:34
rjbs Aha. So there is a method called "list"?
masak might not .array be more accurate here? 13:35
rjbs I don't know what either of those methods do, per se.
rjbs has to run out the door, back in 30min.
[particle1 rjbs: .list 14:55
rjbs Thanks. 14:55
[particle] np 14:56
.hash and .item (scalar) may help too
rjbs There was some debate on #moose which finally led to deciding on flatten.
The problem with .list is that Moose::Autobox has a List role, which a Perl 5 list could not perform for probably obvious reasons.
namely, that it is not a reified collection 14:57
I had suggested ->perl_list, but there were unclear objections.
[particle] are anonymous classes not created when a role is used in a context where a class is expected?
rjbs In what language? 14:58
[particle] moose
rjbs I'm not sure, but if you're asking because of this problem, there's a more fundamental difficulty.
which is that returning a list returns something on which you can't call a method in p5
even with autobox
[particle] sorry, you mentioned reified, i jumped to classes
of course, you're right 14:59
rjbs aha
stevan_ [particle]: no, we dont do that
roles are not instantiable
[particle] nor are they in perl 6
rjbs instantiable is a fun word
[particle] stevan_: could it be added to moose? to make the semantics more closely approximate perl 6? 15:00
even if it's not core moose/
stevan_ not easily
[particle] harumph
stevan_ My::ROle->new # method doesnt exist 15:00
if you wanna put AUTOLOAD crap in there,.. be my guest :P
just keep it away from my Moose :P
[particle] whee!
PerlJam [particle]: my Role $foo; creates an anonymous class though, right? So they *seem* instantiable :) 15:01
[particle] yes, anonymous class
stevan_ [particle]: I also never liked that
[particle] also, classes can be used like roles, sometimes
stevan_ blurs the distinction
already have enough problems with people treating roles like classes
PerlJam stevan_: just like we're blurring the distinction between arrayrefs and arrays
stevan_ no, thats totally different 15:02
[particle] it's quite dwimmy--so magical and scary
stevan_ dwim(even if it is wrong)
:P
[particle] i haven't used it any real code, so i can't say i've explored the dangers
[particle] but, i agree that it blurs the distinction 15:03
stevan_ [particle]: having played a LOT with roles for a while now (3+ years if you include the trait stuff)
[particle] school me!
stevan_ I think that making a clear distinction is better then suppling some sugar
PerlJam [particle]: I imagine that my Role $foo; my Role $bar; could cause some grief if the user expects $foo eqv $bar (or whatever the right verb is there)
stevan_ one of the first problems people have with Moose roles is that they cannot inherit them 15:04
which is just a misuse
and even if we did support adding an "extends" to a role, it wouldnt work like they think
[particle] umm, yeah, total misuse 15:05
PerlJam stevan_: You tell people how it works and that's what they'll think :)
stevan_ PerlJam: yeah,.. uhm... in which world do you live :P 15:07
PerlJam: you are assuming people read docs,.. and pay attention
and not trust their own "intuition"
PerlJam yeah. (so speaks the guy who was guessing at ruby syntax the other day rather than read the docs :) 15:08
in any case, this sounds like something that'll make it into a FAQ or cookbook or something.
[particle] Moose's Law says that every 18-24 months the number of folks who get moose-oo wrong will roughly double
PerlJam "How do I inherit a role?" "Compose it into a class and inherit that silly" 15:09
stevan_ yeah
diakopter pugs_svnbot: welcome back 16:36
pmurias ruoso: the example at www.perlfoundation.org/perl6/index....p_language isn't supposed to run? 17:07
lambdabot Title: SMOP s1p Language / Perl 6
pmurias i get a Bad sm0p code at fib.c at sm0p.pl line 50, <GEN13> line 1 error , when i try to compile it 17:08
and i get spot at least one bug
pmurias (the fib variable is use only one and not declared anywhere) 17:10
ruoso pmurias, I hadn't had the time to actually write it as code... 18:10
that is some pseudocode to execute
I'm not sure SMOP__OO_LOWL__Method is already implemented 18:11
valkyrie- I want aspath regex matching to work like (.+) ($1) ($1) so you can detect prepends and act upon them 19:10
spinclad valkyrie-: aspath regex matching ? 19:28
moritz_ re 19:42
valkyrie- nothing 19:56
vixey what phase is kp6 in now? 19:58
I gues that's not being worked on right now hten 20:01
moritz_ vixey: it's currently waiting for a faster backend, which should hopefully be smop 20:02
vixey ok thanks
pmurias vixey: why are you asking? 20:05
vixey just looking around seeing if there's anything I'd be able to help with 20:06
(I did some on the kp6->lisp compiler a while back)
moritz_ if you feel like hacking, go ahead 20:07
or you could hack on rakudo (the parrot based Perl 6 compiler) 20:08
pmurias vixey: if you like working in p5 you could look at elf 20:17
vixey: you had a different nick before? 20:18
vixey yeah fax
just looking at all this new stuff
pmurias mncharity (formerly known as putter) is eager to help other people work on his elf compiler (misc/elf) 20:21
shower& 20:22
moritz_ perhaps I should look at it a bit more, because I'm far more familiar with p5 than with parrot+PCT
pmurias moritz_: what's stopping you? ;) 20:32
moritz_ pmurias: too many other projects/stuff 20:34
ispy_ Hey guys, does rakudo use the @INC available to my local Perl copy I built it against? 20:40
[particle] rakudo doesn't run perl 5
moritz_ ispy_: use it for what?
ispy_ Basically, how I can use the perl5 core modules available to my local perl 5.10 copy, with rakudo. 20:41
moritz_ you can't
ispy_ Or do I have to do it manually?
moritz_ because rakudo doesn't do any Perl 5 at all (not yet) 20:42
ispy_ ok.
So as it stands now, no modules except ones I create in perl6.
moritz_ aye
ispy_ Cool, thanks for the clarification.
moritz_ btw there's a #parrot on irc.perl.org 20:43
the parrot and rakudo hackers are mostly there
ispy_ thanks.
[particle] we rakudo hackers prefer perl 6 stuff to stay in here
but it does tend to bleed into #parrot a lot
pmurias is parrot stackless? 20:54
moritz_ yes 20:55
[particle] well, it's trending that way. the user stack disappeared in the last release
pmurias [particle]: i meant not using the c stack (much) 20:56
not stack based vs register based
moritz_ it uses continuations for sub calls, not the stack 20:57
[particle] parrot still has a control stack 21:00
it's going away, though 21:01
Coke Hio. Is there a FAQ to answer the question "If Perl 6 wasn't negatively impacting Perl 5 development, what caused the gap betwen Perl 5 releases?" 21:02
[particle] the answer is "stability" 21:03
which biologists call "death" ;) 21:04
Coke we *really* need to improve our marketing. (5 -and- 6) 21:05
moritz_ I think there was a time when it did impact perl 5 development negatively, at least in the short term
(but I don't know if I can say that publicly without getting shot)
PerlJam moritz_: when was that time? and why? 21:06
Coke: to paraphrase Nicholas "Perl isn't broken enough"
moritz_ PerlJam: the time when many former perl 5 developer set different priorities, partly Perl 6 specs (like Larray), partly with the parrot effort 21:07
PerlJam: but since I wasn't interested in perl then, I can't really tell if that's true
PerlJam moritz_: I didn't pay close attention to perl5 development but, it always seemed to me that p5p took the attitude that "we aren't waiting around for perl 6" and they just kept doing what they were doing. There may have been some problems with cross pollenation, but I'm not really sure. 21:09
wknight8111 less frequent releases doesn't necessarily mean less development effort 21:24
Coke wknight8111: let me sum up: "our marking department needs to be sacked." 21:26
PerlJam Coke: you know how volunteerism works. Are you going to take up the job? :)
Coke no.
I am merely pointing out a TODO task.
PerlJam sure, but that's the real problem. 21:27
Everyone knows marketing sucks, but no one has the right stuff to fix it.
Coke clearly other language commmunities do. =-)
perhaps I will donate some money to Lester and see if that works. 21:28
PerlJam Coke: Sure, and the stock market always goes up.
[particle] well, the stock market has never gone below 0, so there's some truth to that.
Coke ... it is eerie that I'm getting lines here that remind of the anti-perl[5,6] I was just trying to defend against. 21:29
[particle] agrees
Coke wanders off to think on this.
PerlJam Does that mean I'm playing the part of hfb in this conversation? 21:30
no, I'm not ascerbic enough. :)
[particle] hfb?
PerlJam Elaine
Jarkko's SO
[particle] totally over my head 21:31
PerlJam oh good. Forget I mentioned it.
these are not the droids you are looking for.
[particle] has never followed p5p
pugs_svnbot r20412 | lwall++ | [STD] just a snapshot of current state. adds => as item assignment 22:21
meppl good night 23:35