Parrot 0.8.1 "Tio Richie" Released! | www.parrot.org/
Set by moderator on 22 November 2008.
00:04 tetragon joined 00:09 AndyA joined 00:31 tak joined 00:51 japhb joined 00:59 adu joined 02:02 jimmy joined 02:43 rurban_ joined 03:03 leto_ joined 03:49 adu_ joined 03:52 davidfetter joined 04:03 elmex_ joined
Coke kids51++ 04:14
adu_ hi Coke 04:23
Coke adu: hi 04:31
purl hola, Coke.
Coke stares at a memory leak. :|
adu memory leak?
purl well, memory leak is blogs.sun.com/roller/page/kto?entry...of_leaking or blog.jrock.us/categories/Catalyst/2007/9/2
PerlJam the memory leak stares back at Coke 04:32
adu heh
Coke adu: trac.parrot.org/parrot/ticket/5
adu can I fix it? 04:33
Coke I sure hope so! 04:34
actually, that's a lot of memory leaks 04:41
adu i'm downloading partcl 04:42
Coke whee! 04:43
adu I'm surprisingly good with quick fixes
Coke I am eager to be surprised. =-)
adu partly because its the only way I get anything done
if I can't fix it within 24 hours I usually forget and browse wikipedia for the rest of eternity
btw, I browsed the parrot core opcodes last weekend 04:54
and overall, I was very pleased with it
Tene :)
adu but at the same time, it screamed CISC, and yet I am a big fan of RISC... :(
I'm sure someone will write a microcode vm for it someday... 04:55
so Tene, how are you? 05:03
05:05 tak joined
Coke -> 05:06
Tene adu: backing up a server over USB 1.1 05:15
adu ouch
sounds slow
05:23 tak joined
adu Process 17167: 16 leaks for 256 total leaked bytes. 05:53
05:57 tak joined 06:04 tetragon joined 06:40 Hadi joined, Hadi left 06:43 chromatic joined 07:06 Hadi joined 07:08 tak joined 07:12 Hadi left 07:18 uniejo joined 07:26 Alias joined 07:35 japhb joined 07:51 Theory joined 08:09 clunker3 joined 08:15 alvar joined 08:30 iblechbot joined 08:55 barney joined
dalek r33213 | fperrad++ | trunk: 09:00
: [Lua]
: - add test log2
diff: www.parrotvm.org/svn/parrot/revision?rev=33213
09:01 Theory joined 09:25 Alias joined 10:00 Hadi joined 10:02 Hadi left 10:09 ff-wonko joined 10:42 rurban_ joined 10:55 apeiron joined 10:59 magnachef joined
jonathan hi all 11:18
$jonathan.rakudo_day() 11:20
11:30 tetragon joined 11:54 jimmy joined
moritz kewl 11:58
jimmy does lexical var mean local var? 12:00
or partial var?
moritz: hello? 12:01
purl Raise purl's hand in the back if you can't hear me.
moritz jimmy: lexicals aren't what Perl 5 calls local() 12:05
jimmy moritz: I want translate it to other language, and I can't find a suitable word. 12:06
err. want to
moritz jimmy: "lexical variable" is a common term in computer science. There are other terms like "local", "static", "private" etc. but they all mean can mean something different in the context of other programming languages 12:11
afk
jimmy moritz: got it, thanks 12:15
bacek hi there 12:28
purl hi, bacek.
bacek jonathan: CAN I HAZ LIST ASSIGNMENT? 12:29
jonathan bacek: Not from me - it needs scary parser changes that I don't understand how to do. 12:30
bacek jonathan: btw, it should be something like "ok($jonathan ~~ RakudoDay, 'WE WILL HAVE MORE FEATURES!')" :)
jonathan: I've implemented list assignment for pynie when I started to learn parrot. It's not so hard :) 12:31
12:34 d4l3k_ joined
jonathan bacek: Or we can haz fixes, anyway. 12:35
12:35 polyglotbot joined
d4l3k_ r33214 | jonathan++ | trunk: 12:35
: [rakudo] Complex multis for various ops should coerce their maybe-not-Complex argument so we don't run into Parrot MMD errors. Do it by introducing .Complex method on Any and calling that.
diff: www.parrotvm.org/svn/parrot/revision?rev=33214
jonathan bacek: Just fixed one of the bugs you reported. :-) 12:36
bacek jonathan: :)
12:37 dalek joined
jimmy www.perlfoundation.org/parrot_grant_from_nlnet is unavailable 12:46
12:53 Hadi joined
jimmy rakudo: say #( embedded comment ) "hello, world!"; 12:56
13:04 dalek joined
dalek r33215 | jonathan++ | trunk: 13:05
: [rakudo] Fix declaration and doing of roles in multi-jointed namespaces. Patch partly courtesy of Chris Dolan.
diff: www.parrotvm.org/svn/parrot/revision?rev=33215
r33216 | jonathan++ | trunk: 13:07
: [rakudo] Add namespaced roles test file.
diff: www.parrotvm.org/svn/parrot/revision?rev=33216
13:09 alvar joined 13:10 polyglotbot joined 13:12 alvar joined 13:13 jonathan joined 13:19 TiMBuS joined 13:32 ruoso joined 13:34 Hadi joined
dalek r33217 | jonathan++ | trunk: 13:35
: [rakudo] Fix bug in enum code generation. When adding a vtable method, you need to mark it anon too, otherwise it'll also appear as a normal method.
diff: www.parrotvm.org/svn/parrot/revision?rev=33217
r33218 | jonathan++ | trunk: 13:51
: [rakudo] Add a missing null check in !clone_attr.
diff: www.parrotvm.org/svn/parrot/revision?rev=33218
jonathan rakudo: eval { class A { has $.x } }; say A.new(x=>5).x 13:53
polyglotbot No output (you need to produce output to STDOUT)
dalek r33219 | bernhard++ | trunk: 13:54
: [codingstd] remove a trailing space
diff: www.parrotvm.org/svn/parrot/revision?rev=33219
jimmy rakudo: say #( embedded comment ) "hello, world!"; 14:04
polyglotbot No output (you need to produce output to STDOUT)
jonathan rakudo bot here seems broken :-( 14:05
jimmy for several days. 14:06
14:25 pmichaud joined
pmichaud jonathan: (r33214) does that assume that the Any is a numeric? I wonder if we should have a .Complex for Str 14:27
14:27 PerlJam joined
pmichaud ooooh, even better 14:27
just create a complex and assign self to it 14:28
don't convert to numeric first
does it need to be 'Complex', or should it be 'Perl6Complex'? 14:29
jimmy I saw /* 14:30
/*
in namespace.pmc
duplicate '/*' 14:31
jonathan pmichaud: To do it in Str, you should override the Complex method in the Str class. 14:33
As in, to make Str coerce differently.
I used new 'Complex' because all the other code in the file was. 14:34
And since I know you'd worked on it, I guessed it should be right. ;-)
(Of course, those bits may not have been yours...)
14:38 masak joined
masak I've been thinking a bit more about my idea about indexing offsets on Whatever. 14:44
it doesn't work in the @a[+*] case
also, @a[*] would mean the wrong thing.
jonathan finds a spectest that appears to not comply witht he spec
14:44 DietCoke joined
pmichaud the complex bits weren't really my code, no. 14:49
at least, I don't think they were.
anyway, I'm thinking Any should not assume "numeric". It should just do a generic assign. 14:50
jonathan If that works, fine with me.
It's more right now than it used to be. :-)
See my post on the mailing list about coercion stuff/symbol clash issues. 14:51
Coke irc log? 14:52
purl irc log is irclog.perlgeek.de/parrot/
14:53 davidfetter joined 14:57 jsut|work joined
dalek r33220 | jonathan++ | trunk: 14:57
: [rakudo] Should check the parameter passed to eval is a string, in line with S29.
diff: www.parrotvm.org/svn/parrot/revision?rev=33220
pmichaud (symbol clash issue) We have to implement postcircumfix:<( )> on protoobjects. 14:58
See S13.
jonathan Oh, it's done like that. 14:59
pmichaud hmmm, but it's also supposed to be multidispatched 15:01
jonathan pmichaud: Any idea why inside EXPR we can't do $/.panic(...)?
pmichaud: I think that we'll just have to do in the protoobject's invoke something like
.param pmc thingy 15:02
$S0 = self
.return thing.$S0()
Apart from invoke doesn't provide the parameters yet, unless that Parrot but has been fixed (I think not)
pmichaud yes, that hasn't been fixed yet, which is why I hadn't implemented this feature yet. :-) 15:03
jonathan So that is, we delegate it to the methods, and normal inheritnace etc works it out.
(by inside EXPR I mean the action method)
15:03 gryphon joined, tomyan joined
jonathan (it dies with Method 'panic' not found for invocant of class 'PGE;Match') 15:03
pmichaud for some reason whatever is coming back from EXPR isn't a Perl6::Grammar object. 15:04
PGE::Match doesn't have a panic method.
jonathan Hmm
It's not becuse it's in the operator expression parser?
pmichaud it probably because of that.
jonathan e.g. invoked from..
OK
Any workarounds?
pmichaud I'm wondering why the operator precedence parser is returning Match. 15:05
jonathan pmichaud: Aha. Doing $/[0].panic works. 15:06
pmichaud okay, that's good enough for now. I think that also tells me where the bug is.
jonathan So the thingy inside it is a Perl6::Grammar.
OK, you don't mind me doing that workaround?
pmichaud that's fine
it's actually more correct 15:07
jonathan win
pmichaud OPTable returns a "wrapper" Match object around the actual expression; I suspect that wrapper is of type 'PGE::Match'
it's left over from very early designs of PGE, and I haven't been able to get rid of it because some parsers depend on it being there
...but it doesn't have to be a PGE::Match :-)
jonathan Well, since the OpTable stuff may go away after protoregexes... 15:08
pmichaud correct.
ltm, actually.
jonathan Probably not worth a big investment of time.
Oh yes, ltm
pmichaud agreed.
jonathan Larry was making my head explode last night by talking about that.
pmichaud I saw. :-) 15:09
jonathan I hope you followed the parsing side of that better than me. :-)
pmichaud in general, yes. :-)
jonathan The most reassuring bit was that if I get the parametric roles right for classes etc, the grammar case should fall out fairly naturally.
pmichaud yes. 15:10
dalek r33221 | jonathan++ | trunk: 15:12
: [rakudo] Call panic on sub-nodes of EXPR nodes, which end up being PGE::Match rather than Perl6::Grammar. This means we show the intended, helpful error.
diff: www.parrotvm.org/svn/parrot/revision?rev=33221 15:13
15:14 Hadi left
jonathan Ah, down to 154 tickets. :-) 15:14
Maybe we can get it down to 150 today.
masak I heard that! >:) 15:17
masak goes away to knock Rakudo around some more
15:21 tomyan joined
dalek r33222 | jonathan++ | trunk: 15:27
: [rakudo] When we fail a type check on a parameter, report the name of the thing we were calling.
diff: www.parrotvm.org/svn/parrot/revision?rev=33222
jonathan hates it when svn ci hangs 15:28
PerlJam What's the rm_miniparrot branch all about? 15:32
15:34 Lorn joined
Coke removing the --miniparrot option to Configure.pl 15:34
(which is not related to the miniparrot executable that is built) 15:35
PerlJam why? 15:36
dalek r33223 | tewk++ | trunk: 15:39
: [NCIGEN] get rid of all the c99 references except the Grammar itself
diff: www.parrotvm.org/svn/parrot/revision?rev=33223
r33224 | tewk++ | trunk: 15:42
: [ncigen] MANIFEST fixes
diff: www.parrotvm.org/svn/parrot/revision?rev=33224
15:46 jhorwitz joined
Coke has to revert a change to an svn file; is it better conceptually to commit a reverse of the last change to the file, or to svn cp the old version you want to head? 15:48
I would lean towards the latter. 15:49
Coke does the former out of expediency. 15:54
15:54 gryphon joined
jhorwitz Coke: i lean towards the former cuz you can test it first. :) 16:09
dalek r33225 | jonathan++ | trunk: 16:10
: [rakudo] Refactor .= operator so that it now handles having a container looked up from a keyed access on the LHS.
diff: www.parrotvm.org/svn/parrot/revision?rev=33225
pmichaud ... I wonder if infix:<.=> could be written as a normal sub 16:13
anyway, this works for now. 16:14
16:14 Juerd joined
jonathan pmichaud: Possibly. 16:14
pmichaud jonathan: I'm looking at refactoring the codegen for enum a bit -- it seems longish to me 16:16
jonathan pmichaud: There's more pressing things...I've still got some bits of enums to get complete straight how we'll do anywya. 16:20
*completely
pmichaud okay. I don't think we should be generating the methods in the PAST, though.
it'd be easier to do with a !keyword_enum and !enum_add_value calls.
jonathan Maybe. 16:21
We do need to generate a method that returns a particular value.
pmichaud we could have a generic method that does it using a property.
jonathan We could. 16:22
We'd then have to clone it once per enum value to attach the property.
pmichaud sure
but since we're having to do add_method anyway, that's not a big deal
jonathan Making more GC'able objects, rather than having a bunch of methods that are PMC constants.
16:22 Juerd left
jonathan OTOH, it'd be vastly less bytecode. 16:22
Trade-offs. 16:23
pmichaud I'm thinking it can all be hidden behind an !enum_add_value call.
but yes, it would make more gc'able objects.
jonathan Let's leave it for now. 16:24
pmichaud I'm thinking shorter actions.pm would make for faster compiles, too :-)
jonathan Getting the parameter stuff done, list assignment etc is much, much better use of your time.
Not to mention of more value to Rakudo users.
pmichaud yeah, I just don't like seeing huge code
jonathan Sure. I'll put enums in my "things to revisit" list. 16:25
pmichaud I mean, enum_declarator is over 300 lines of code
jonathan OH RLY?
jonathan should delete some line breaks ;-)
That is enormous though, point taken.
pmichaud so much of it could be done via calls instead of in the PAST
jonathan Aye, if we take the clones with properties approach, yes. 16:26
pmichaud well, even leaving the methods as they are now, !keyword_enum could do the creation of the role and class
and adding the attribute 16:27
and attaching the vtable methods
jonathan If we're getting generationalish GC in the not too distant future, we probably can get away with that approach.
Sure.
OK, leave it with me, I'll try and get a refactor in the not too distant future.
pmichaud is the 'enum' property simply signifying that the class is really an enum?
jonathan Yeah
pmichaud it might be more useful signifying the name of the enum 16:28
(as well as the fact that it is one)
get_string, get_number, etc. could then use that property to dtrt
and we don't need to clone those
jonathan Hmm.
That could work.
pmichaud the only reason I'm looking at enum is because I want some -Ofun too. lexicals was not fun. 16:29
refactoring to simplify code is -Ofun for me :-)
moritz points pmichaud to lexicals+enums, just for completeness sake
pmichaud ...lexicals+enums?
jonathan Lexical enums.
pmichaud ahhhh 16:30
jonathan my enum Blah <Foo Bar>;
Shoudln't be hard.
moritz no, I meant something different
RT #60826
16:30 tomyan left
pmichaud also, the background noise level here at the house today is such that I'll be limited in doing any significant design work. 16:30
ah, that's subtypes containing lexical closures 16:31
moritz right
pmichaud I'm leaving subtypes to jonathan++ for now :-) 16:32
moritz lexical closures are the other TODO item from yesterday night
jonathan moritz: I pretty much know how to do that - thee's an RT for it, right?
pmichaud 60826 :-)
closures are already "lexical"
16:32 tak joined
jonathan has a ton of RTs open in his browser 16:32
moritz jonathan: #60822 (lexical subs)
pmichaud my $x = sub { ... } should work. 16:33
can I have a shorter test than the man-or-boy one?
jonathan I thought that used to work... :-S 16:34
pmichaud yes, it should work. I can't think of any reason it doesn't. 16:35
jonathan > my $x = sub { say 42 }; $x()
42
WFM
pmichaud WFMT
jonathan checks the ticket
moritz that man-or-boy tests works in pugs, so I'm pretty sure it's not borked 16:36
jonathan suspects t/spec/integration/man-or-boy.t is doing something else
pmichaud IN FACT:
> my &foo = sub { say 'hello'}; foo();
hello
>
purl hi, pmichaud.
jonathan purl WIN
purl xrl.us/youwin
16:37 leto joined
pmichaud and in that case, foo() is lexical. 16:37
jonathan Aye.
Making my sub foo work should thus be trivial.
pmichaud oh wait
no it's not.
it's still going into the package.
jonathan Oh?
pmichaud yes, I suspect something with my declarator 16:38
jonathan Hmm.
Oh, I have an idea what that may be... 16:39
pmichaud the "for @?BLOCK {...}" meme needs fixing. 16:41
moritz I can't redruce the failure in the man-or-boy test :(
jonathan pmichaud: I think we're eyeing the same bit of code. 16:42
Around line 2556?
pmichaud yes.
I wonder if &foo should simply be doing find_name lookups
instead of lexical/package. 16:43
since find_name pretty much dtrt already.
jonathan Well, it's the storage that is the bug here 16:44
Ah
$?BLOCK.symbol($name, :scope($scope));
It sets the scope in scope_declarator - but doesn't update the scope of the thingy being declared
16:45 hercynium joined
pmichaud you mean line #2329 ? 16:45
jonathan Adding at line 2327 "$past.scope($scope);" makes it declare it lexical. 16:48
And then it works.
(because it emits foo() which does a find_name, I believe)
pmichaud foo() does a find_name, yes
but we also have to prevent the sub from being installed in package scope
jonathan Adding that line fixes that.
pmichaud no, because the sub still has a name 16:49
so PCT will generate .sub 'foo'
which means it'll go into the package.
jonathan > my &foo = sub { say "hi" }; foo()
No?
pmichaud oh, I was thinking of the my sub foo { ... } case
jonathan Oh, that case.
purl hmmm... that case is going to the supreme court
pmichaud purl, forget that case
purl pmichaud: I forgot that case
jonathan Damm right purl!
pmichaud yes, the my &foo = sub { ... } will work with that addition. 16:50
jonathan pmichaud: Yes, in that case we gotta strip the name.
OK, that's the one I was trying to fix. :-)
pmichaud I'm wondering why $past.scope(...) wasn't there in the first place.
jonathan Same. 16:51
I think it's a mistake it wasn't.
Coke 42+580
purl 622
jonathan Doing spectest now to see if there was a reason...
pmichaud no, its not a mistake.
we don't normally set scope on variables.
it's the fact that the other one is setting package scope that is a mistake. 16:52
normally we leave the :scope attribute blank, and let the block's symbol table determine the type.
jonathan Well, it doesn't know at that point that it's in a declaration...
moritz did anybody change parsing in the last 24H?
pmichaud what doesn't know?
jonathan Inside variable
pmichaud does it need to know?
jonathan I'm not sure
pmichaud why do we need to be setting package scope?
jonathan I'd assume that code is there, to make something work that didn't otherwise. 16:53
I guess it's because subs aren't registered in any symbol table.
Because if they're package ones, they never get put in any block's symbol table.
pmichaud line #2571 is the incorrect line.
Coke (adding perl6 to unified languages test harness) - is this rejectable if rakudo is eventually leaving the nest PLUS we have smolder?
pmichaud Coke: yes, it's rejectable. 16:54
Coke RT #41675
jonathan if $twigil eq '?' {
$past.scope('lexical');
}
?
pmichaud if $<sigil> eq '&' {
$past.scope('package');
we shouldn't force package scope on '&' variables.
jonathan What happens if we remove that chunk?
pmichaud it won't know what to do in the general case where &foo isn't scoped. 16:55
jonathan Right, which is why it's there.
pmichaud but it's wrong.
my &foo = sub { ... }; &foo();
the second &foo has the wrong scope.
because that line is forcing it back to package scope. 16:56
jonathan No, because by then it's go an entry in the block's symbol table?
Ok but look what happens in the loop below.
Coke pmichaud: ah. that ticket also mentions compilers/nqp, which we -do- want as part of 'make test'; retoolting ticket.
pmichaud ah, yes, the loop below.
jonathan It's saying "we default to package unless we've got evidence otherwise"
pmichaud that's still the wrong approach.
jonathan And the right one is? 16:57
pmichaud I'm still thinking, but I don't like all of the twiddling of scopes.
fix, unfix, refix is wrong.
my best guess is that &foo should be 'name' scope.
16:57 barney joined
jonathan OK, but variable_declarator would still have to override that? 16:58
Wait, what's name scope?
Or it doesn't exist yet?
pmichaud the equivalent of find_name
(doesn't exist yet, perhaps it should.)
jonathan That'd make this cleaner, I suspect.
pmichaud and also more correct
jonathan Aye
pmichaud so that '&foo' and 'foo' actually refer to the same symbol.
jonathan But we would still need that line adding in variable_declarator. 16:59
So the declaration ends up knowing it's a lexical declaration.
pmichaud no
that's the point
jonathan Unless you make :isdecl with :scope('name') do the same as lexical.
pmichaud oh, I see.
hrm.
oh, no! 17:00
the PAST tree should default to 'name' scope.
so any variable that doesn't have a :scope defaults to name scope if there's no intervening scope declaration on a block
jonathan Would that not foil compile time detection of undeclared variables?
Coke 42+572
purl 614
Coke (stalling tickets) 17:01
jonathan As in, we'd have to implement it ourself...
pmichaud thinking.
purl Oooh he is soooo fine!!!
pmichaud I think the real solution is to first refactor the for @?BLOCK { ... } meme 17:03
there are several places that we do that sort of loop that ought to be cleaned up
jonathan Refactor as in, pull out the lookup into a subroutine? 17:04
pmichaud yes
or a method somewhere
TimToady it's quite possible that @?BLOCK is itself a really bad idea
pmichaud TimToady: it's very useful, though. 17:05
jonathan pmichaud: Like a 'sub find_symtable_entry($symbol_name)' 17:06
?
That looks through them?
pmichaud well, I don't want it to be tied to @?BLOCK
jonathan Ah.
pmichaud because we may have @?CLASS, @?PACKAGE, etc. as well
but yes, something like that.
jonathan Well, we can put the lookup in @?BLOCK into it for now, then add the others later on. 17:07
pmichaud I'm not too fond of the 'for now' solutions. 17:08
They tend to replicate themselves.
or, as XP says, "refactor mercilessly"
jonathan OK, but having one place to change later instead of a few that we have now is surely a good refactoring? 17:10
pmichaud right
jonathan I'm not so sure about defaulting to a name scope if there isn't one. I agree it's a good idea to be able to set it, however. 17:12
And that we could do it to eliminate the mess we have for subs.
pmichaud I agree that defaulting to name scope isn't so good.
jonathan And I'm not so opposed to the combination of name scope and isdecl being the same as lexical declaration. 17:13
But I don't know we want to make that happen just for this one-off case where it's useful...
OTOH, I'm not sure what other useful thing it could do. 17:14
pmichaud I just know that the current approach has a design stink.
jonathan Yes.
pmichaud so I'm not in favor of trying to patch it to make it work.
Coke Andy (or anyone): is it possible to disable warnings in parrot when building a specific file?
Andy no 17:15
not the way we do make files 17:16
what are you stumpbling on?
Coke Do you have a recommended approach for dealing with our lex/yacc generated files?
tewk We have a perl script that actually call the c compiler.
Coke ew. 17:17
tewk We could add special make rules for lex yacc, or modify the CFLAGS in tools/dev/cc_flags.pl
Coke (mainly because we're trying to reduce the # of times we invoke perl)
pmichaud (lost connection for a bit there) 17:18
17:18 dalek joined
pmichaud also, <variable> will be able to know if it's in a declaration, because the IS_DECL contextual variable will be set. 17:18
so maybe I need to add context variables.
jonathan pmichaud: OK. But you'd rather think over the name scope a bit more first too? 17:19
(same)
Yay! :-)
tewk Coke: ever wondered why you don't get whole gcc command line when compiling the core parrot c files?
jonathan Was that going to happen in PCT?
Or be special to Rakudo?
tewk tools/dev/cc_flags.pl is the answer.
pmichaud I'm not exactly sure where it will go.
It's incredibly useful, so likely PCT somewhere.
jonathan I guess there's the "do it in Rakudo first and move it later" approach.
Coke tewk: are we already invoking perl for each compile?
"ew"
pmichaud oooh, perhaps it belongs in NQP
Coke though that file refers to config/gen/cflags/root.in, which doesn't seem to exist. 17:20
jonathan Wouldn't that imply supporting it in PCT?
pmichaud yes
but being able to say $+IS_DECL in NQP would be nice.
Coke tewk; any chance you could look at RT# 53356?
jonathan I guess the real question is, how we mark things that are context.
Oh, yes.
The Rakudo approach is probably with a property.
pmichaud yes.
Coke (which basically to avoid getting the 'missing default case' warning for imclexer.c 17:21
tewk Coke: for all c files and pmcs c file yes we invoke perl, dynpmc seem to build without it.
pmichaud but having PCT support context variables would be very nice.
tewk I can look at RT# 53356 tonight.
Coke That seems odd to me that we're doing that.
(is it gaining us anything other than a quieter build?)
(wonder if that would speed up our windows build time at all by just using a standard make rule) 17:22
pmichaud wonders how contextual variables mix with closures. 17:23
tewk grep Makefile for tools/dev/cc_flags.pl, there is a comment there.
jonathan I think we just set them up as lexicals tagged with the context property 17:24
And it *should* just fall out of that.
pmichaud no, because contextuals follow the callers' scopes, not lexical scopes 17:25
jonathan Yes, I know.
But your caller will be in the scope that had the correct lexicals, I'd imagine.
Coke ah. we already have the infrastructure in place for what I want. freaky.
jonathan As in, I don't think we'd need to do anything special to make this work. 17:26
Coke tewk++
pmichaud yes we do
jonathan Oh?
pmichaud we don't have a way of doing 'find_lex' in anything other than the current scope.
so we have to walk through all of the callers, and then walk through their outer scopes
17:26 kj joined
pmichaud and I don't think we have the "walk through their outer scopes" piece 17:26
jonathan Oh, yes, that hadn't occured to me... 17:27
Hmm.
Coke tewk: thanks for the pointer there. I'll take 53356 and do some minor cleanup after lunch.
tewk sounds good.
jonathan Yes, interpinfo ain't quite powerful enough.
pmichaud I could probably put together a "works enough" approach. 17:28
but have to think about that a bit more also.
17:28 particle joined
jonathan It's easy from C. I'm not sure we have a way from PIR. 17:28
pmichaud I've been thinking it might be useful as an opcode. 17:29
'find_context'
particle 's cable internet is out, so he's suffering through a mobile phone connection :(
jonathan find_context? 17:30
What would that do?
pmichaud or find_contextual
$P0 = find_contextual '$a'
jonathan Ah, find_contextual is nicer.
That's probably not a hard op to write.
pmichaud yes, it's easy.
jonathan Apart from, the op needs to know about the context property.
pmichaud well, in the general case I don't think Parrot should be bothered with that 17:31
so yes, it does beg the question of how we'd handle that
jonathan OK, so how would we stop it finding things we don't want...
Hmm.
pmichaud we'd probably need a way to do it from PIR
(also)
really there ought to be a way to do it from PIR, so maybe we need to add some introspection for that. 17:32
all of which would be easier when Contexts become PMCs :-)
jonathan Or we write a dynop for Rakudo and have a way of saying "use that one instead"
Yeah.
pmichaud oooh, dynop can work also.
jonathan But if you want it in NQP, that maybe points away from dynop.
pmichaud NQP can use the Parrot opcode 17:33
jonathan Unless the NQP one wouldn't require 'is context' and would find worreva.
pmichaud right.
I'm thinking 'is context' is a Perl 6-specific feature, not a Parrot one.
jonathan Yes, I think so.
particle jonathan: going back to an earlier commit today, you marked :vtable subs as :anon
instead, the imcc behavior should change so :vtable subs are automatically :anon 17:34
jonathan particle: I wasn't generating IMCC.
particle: erm, PIR
I was calling add_method on the Class PMC
pmichaud add_method need :anon?
why?
shouldn't add_method assume anon already ? 17:35
particle www.parrotvm.org/svn/parrot/revision?rev=33217
pmichaud particle: right, those are arguments to 'add_method'
jonathan pmichaud: Because if you do pass the :vtable flag and don't pass :anon, it enters the thing in the methods table in the Class as well as in the vtable overrides table.
pmichaud jonathan: so, :anon in this case means "don't make it a method"?
particle right, it should assume anon. i'm loading the diff (slowly) now
pmichaud that sound wrong. 17:36
instead we should have 'add_vtable'
jonathan anon means in this use case, just make it a method, it should only be a vtable method.
Well, we do as VTABLE methods have two distinct ones.
pmichaud that sounds like too much overloading of 'anon'
jonathan pmichaud: Actually my first instinct was the fix the Class PMC, then I thoguht...wait...it's arguably not broken and we should probably have a deprecation cycle or whatever... 17:37
I'm not sure if Class PMC should change.
But yeah, it surprised me that I needed to add :anon.
pmichaud I think that class.'add_method'('foo', 'anon'=>1) is bizarre.
jonathan You'd never do it like that
particle ah, now i see the commit. 17:38
jonathan That'd be a no-op
pmichaud right.
jonathan You'd do class.'add_method'('get_string', 'vtable'=>1, 'anon'=>1)
pmichaud and I think that class.'add_method'('foo', 'vtable'=>1, 'anon'=>1) is equally bizarre.
jonathan Personally I'd rather kill off anon
If you want it as a vtable and a method you can do two calls
One with vtable => 1 and one without
pmichaud it should be class.'add_vtable'('foo', $P0) 17:39
keep it separate from 'add_method'
jonathan add_vtable_override probably to match the actual VTABLE method itself
But yes, that'd work too.
pmichaud I don't think we need '_override' -- that's somewhat assumed
even for 'add_method' we're "overriding"
jonathan heh 17:40
particle class.'add_vtable'('get_string', $P0)
jonathan OK, I'm not arguing it's a good name, I'm arguing it should match what the VTABLE method that does the same is called
particle or add_vtable_entry
jonathan oh please
add_vtable_method :-)
It's a method, dammit. :-)
pmichaud except allison and particle say they aren't.
"vtable function" is the name I was told to use.
particle that's what the pdd says 17:41
pmichaud a-n-y-w-a-y
jonathan It has an invocant. They have inheritance semantics. We work pretty hard to make them look like methods.
...but hey, let's call them something else...
:-|
pmichaud jonathan: I made this argument once before -- you're welcome to make it also for me :-)
particle it's written in C, there are no methods :P 17:42
'entry' is method/function agnostic
pmichaud anyway, I'd be very much in favor of 'add_vtable_whatever' being added to the Class PMC 17:43
particle however, there's a good argument to make it match the documentation
yep, me too
pmichaud then we can use that instead of the 'anon'
jonathan pmichaud: I'm so going to call it that. :-)
tewk prefers _thingy
jonathan Thing is, the v-table method for adding these is called add_vtable_override
...which suggests they are method ;-) 17:44
jonathan ponders just writing something to the list and letting someone else decide
pmichaud jonathan: I'm searching for where I had this exact same discussion :-)
PerlJam what aren't they "methods"?
kj thinks they're messages to objects... where did I leave my smalltalk book :-) 17:45
PerlJam Isn't that more a function of how it's used rather than some intrinsic property of the thing? Like "w" is a vowel in the word "cwm".
particle in parrotsketch this spring?
i forget when and where
pmichaud I think it was much more recent than that. 17:47
I'm thinking it was in october sometime.
irclog's search sometimes leaves much to be desired. :-|
jonathan Ah, if it was I'd not remember it.
OK, so anyway, I guess we want a message to the list to discuss this/get an answer. 17:51
(Having a separate method. I don't care what it's called...)
pmichaud I think we should go ahead and create the method.
"forgiveness instead of permission"
jonathan pmichaud: Let's create it
And then deprecate add_method's :vtable and :anon flags
pmichaud I can't see any reason why "add_method"('foo', $P0, 'anon'=>1, 'vtable'=>1) makes more sense.
jonathan And then rip 'em out after the next release.
If 'vtable'=>1 *just* entered it into the vtable, and that was it, I'd be happy. 17:52
The fact you have to pass anon too puts it on the sucky sdie.
*side
I'm going to name it consistently with the already-approved vtable method. That way forgiveness might be easier to come by. ;-) 17:53
And by vtable method, I mean vtable whatever, of course.
dalek r33226 | bernhard++ | trunk: 17:57
: [Pipp] use 'command_line' instead of 'evalfile', so that
: the target option is honored and Test.pir will be generated
diff: www.parrotvm.org/svn/parrot/revision?rev=33226
pmichaud it must not be in the irclogs, or I don't know how to search for it.
jonathan It's not in parrotsketch, or you were searching that anyway?
18:00 bacek joined
jonathan pmichaud: OK, got a patch ready, just testing. 18:02
barney is reading www.stefan-marr.de/artikel/rfc-trai...r-php.html 18:03
jonathan barney: Parrot will make that pretty easy to implement. :-) 18:08
...much easier than roles in Perl 6...
barney Sadly there is a mass of unimplemented must haves, that comes first 18:10
BTW, is there support for protected class members in PAST ? 18:11
dalek r33227 | jonathan++ | trunk: 18:12
: [core] Deprecate the :vtable and :anon flats on the add_method method in the Class PMC, and create a new add_vtable_override method which you call to add overrides. The overloading of the meaning of anon with other places in Parrot, plus how rarely you'd likely want to enter something as a method under the same name as the vtable method/function/whatever, made it more confusing than useful.
diff: www.parrotvm.org/svn/parrot/revision?rev=33227
r33228 | jonathan++ | trunk:
: [rakudo] Use the Class PMC's new add_vtable_override method.
diff: www.parrotvm.org/svn/parrot/revision?rev=33228
jonathan pmichaud: There you go. :-)
pmichaud: And we lose 24 lines from enum_declarator.
pmichaud yay.
jonathan barney: What are the semantics of those? Only subclasses can see them?
barney Yes 18:13
jonathan I don't think we provide anything "out of the box" for that.
How were you handling privates?
In Rakudo we name-manage them.
*mangle
A similar scheme could work here. 18:14
barney I don't handle members yet.
jonathan Apart from in Rakudo we have different syntax for calling our privates, so it's trivial...
PerlJam barney: the best part about that document is this sentence: Since it isn't a purely academic concepts, there are already languages supporting Traits out there. Squeak, Perl6, Scala, Slate, Fortress and even for C#/Rotor implementation are available.
jonathan Yay, they mention Perl 6. :-)
PerlJam :-) 18:15
jonathan pmichaud: So, what to do on the scope/contextuals/lexical subs stuff?
Leave it with you?
Or is there anything you want me to hack on?
pmichaud I'm having trouble getting started -- too many distractions around here. :-| 18:16
yes, I'd like to do contextuals -- I'll fix the "my sub" issue.
if you want to go ahead and submit the one-line patch to get it to work that's okay.
I'll just refactor it later.
jonathan OK. 18:17
When do you plan to start looking at the parameters changes? 18:19
pmichaud after lunch.
jonathan I'm going to be offline Mon/Tue next week, FYI.
Oh, OK. This week. :-)
pmichaud yes, this week.
lots of stuff are depending on that.
jonathan I thought you might want some -Ofun first. :-)
pmichaud refactoring parameters is -Ofun
it's just also involved. 18:20
I'll probably do the PCT updates first to allow String/Integer/Float directly in the PAST tree.
jonathan OK.
Hmm. t/spec/integration/man-or-boy.t give ms a parse error... 18:23
moritz jonathan: same here, but I'm pretty sure it worked yesterday night 18:24
rechecking...
Tene I remember it failing at least during my day yesterday
parse error
purl i guess parse error is not caused by missing files
moritz oh, indeed 18:25
I wonder what I did wrong 18:26
pmichaud afk, lunch
jonathan oh, youch 18:27
If you stick a ; after the final } of sub A
Then it works.
Erm
as in, it compiles
moritz and then the ^@list bug(?) hits 18:28
jonathan yes
18:29 wolverian joined
moritz I've just commited a simplified version 18:29
that dies on the second iteration
dalek r33229 | bernhard++ | trunk: 18:30
: [codingstd] add a VERSION section to PDD 14
diff: www.parrotvm.org/svn/parrot/revision?rev=33229
pmichaud make it 0..^@list and it should work :-) 18:32
at least that part of it.
afk, lunch
dalek r33230 | jonathan++ | trunk: 18:34
: [rakudo] Make 'my &x = sub { ... }' store the sub lexically.
diff: www.parrotvm.org/svn/parrot/revision?rev=33230
moritz jonathan: t/spec/S12-enums/as-role.t fails here ("Method 'add_vtable_override' not found for invocant of class 'Class'") 18:40
jonathan: same for t/spec/S12-enums/basic.t 18:41
jonathan: r33230
18:42 bacek joined, rurban_ joined
jonathan moritz: You need to update your Parrot. 18:42
moritz jonathan: will do and re-test ... 18:43
ok, all PASS 18:44
18:46 particle joined
jonathan Great. :-) 18:47
18:56 chromatic joined, gryphon joined
jonathan moritz: Well, I've made it not crash now, but it doesn't get the right answers still... 18:58
oh, hmm 18:59
moritz jonathan: locally? the repo version still crashes for me
18:59 gryphon joined
jonathan locally 19:00
Something is seriously messed up still though
"man-or-boy test for start value -10" 19:01
!!
Oh, might be an "is copy" bug
moritz loves integration tests 19:02
jonathan Ah, yes
Hmm. It's not an obvious is copy bug if it is that. 19:03
TimToady pmichaud: I want to talk on p6l about how people can hack on S16 in the pugs repo, but I don't know where it's going to end up till your pod refactor is done...
jonathan moritz: Ah, win. 19:05
Yes, there's some bug with is copy.
But if I work around that, then I make it up to 10 before we hit the 1000 max recursion limit.
moritz jonathan: better than nothing... do we need that limit? 19:06
or put it this way, do we need such a small limit? 19:07
jonathan moritz: The limit is more for development purposes I guess. 19:08
So we can see that we're on the way to an infinite recursion rather than doing an out of memory panic when we exhaust the entire heap. :-) 19:09
moritz jonathan: I think it won't hurt for now to execute only the first few tests
jonathan moritz: We make it through the first 10
moritz that's what I meant by "first few" ;)
19:09 Whiteknight joined
jonathan moritz: Well, we can always stick something in Rakudo to increase the limit too. ;-) 19:10
OK, fix for the first issue that made us crash is in.
Now I need to debug this is copy bug
moritz jonathan: I don't care either way, I find your point about the recusion limit quite convincing
dalek r33231 | jonathan++ | trunk: 19:11
: [rakudo] Bug fix for subs that take parameters with the & sigil; we need to register the symbol after we stripped.
diff: www.parrotvm.org/svn/parrot/revision?rev=33231
jonathan moritz: I think we should ship a production build with something higher than that.
Or without a limit. But for a dev one, it's helpful, for sure. :-)
moritz doesn't worry about shipment prior to having an installation system ;) 19:13
Whiteknight anybody else here using TortoiseSVN? 19:14
Infinoid I used it briefly... a year ago or so, sorry. 19:23
dalek r33232 | bernhard++ | trunk: 19:25
: [Pipp] Steal code from Rakudo, needed for library loading
diff: www.parrotvm.org/svn/parrot/revision?rev=33232
jonathan Thief! Thief!
;-)
barney hides 19:31
19:32 galf left 19:37 galf joined 19:39 galf left, galf joined
jonathan moritz: OK, so just ci'd the second fix needed. 19:44
moritz: We can do up to the 10th.
Want me to remvoe the last two values and add it to spectest.data?
dalek r33233 | jonathan++ | trunk:
: [rakudo] A crack at getting is copy to do the right thing. We may need to revisit this again later, as I've still not convinced myself it's going to do the right thing in every case (but didn't work out one where it won't yet). It passes all spectests that already passed and makes the man or boy example's use of is copy work, though.
diff: www.parrotvm.org/svn/parrot/revision?rev=33233
moritz jonathan: willl do, just a sec 19:45
jonathan I was offering. :-P
But fajn. :-)
Rakudo just grew up from being a boy to being a man. w00t.
moritz or you can, I misread (distracted...)
jonathan If you're distracted, I can...
jonathan does it 19:47
Dares someone to post the Perl 6 example on WikiPedia...then we can see how long before someone does a vapourware troll on the talks page. ;-) 19:48
dalek r33234 | jonathan++ | trunk:
: [rakudo] Add the man or boy test to spectest.
diff: www.parrotvm.org/svn/parrot/revision?rev=33234
moritz jonathan: the current wiki page has all the examples removed
jonathan Ah, OK. 19:49
Coke chromatic++
(tortoisesvn) iam. 19:50
chromatic Eh? 19:51
purl Speak up, sonny!
pmichaud TimToady: I'll do the pod migration now. 19:53
moving conversation to #perl6
19:55 gryphon joined
Coke seen particle? 20:01
purl particle was last seen on #parrot 2 hours, 15 minutes and 56 seconds ago, saying: i forget when and where
Coke chromatic: in anticipation your next lovely commit. 20:02
anyone here with MSVC that can double check 41218 for me?
rt.perl.org/rt3/Ticket/Display.html?id=41218
(that is, what warnings are showing up on that file.)
jonathan pmichaud: Just glancing at rt.perl.org/rt3/Ticket/Display.html?id=60380 - other than maybe moving !CHECK_READONLY to guts.pir where the other similar stuff lives, what do you think?
The alternative is to get a new result and then do infix:=, but it's an extra PMC. OTOH this is an extra call... 20:03
...but infix:= would be too. Heh. :-) 20:04
pmichaud it's going to be a part of prefix:<++>
jonathan You mean we'd call !CHECK_READONLY from prefix:<++> too?
pmichaud no. 20:05
back up a second.
jonathan I was more saying, do you agree with the approach for the op= ?
pmichaud no.
$x op= $y is the same as $x = $x op $y
jonathan OK.
pmichaud thus assignment will already take care of the readonly-ness
because the '=' is a metaoperator 20:06
jonathan Thus why I asked, I thought I'd read you mention that somewhere before.
Yup.
pmichaud *if* we decide that we want to optimize some of these -- i.e., define an infix:<+=> operator
jonathan OK, but we should optimize when we know we need to.
pmichaud then it will be defined as multi sub infix:<+=>($x is ref, $y) { ... }
jonathan *nod* 20:07
pmichaud and the "is ref" will take care of the fact that we can't pass a constant.
the same is true for prefix:<++> -- the argument will be an "is ref" or something that doesn't accept constants.
(or that coerces the properly, or whatever)
*them
jonathan OK.
pmichaud I plan to re-do the += ops the same way we did junctions 20:08
at least until we have the = metapostfix working.
jonathan OK.
pmichaud basically, we'll have a Perl 5 script that automatically generates the infix:<+=> subs in PIR
(or perhaps Perl 6)
and we'll do any read checking there.
jonathan Wait, why do we need to, if they were going to call infix:=? 20:09
pmichaud this is a workaround until we have = metapostfix working.
jonathan Or you mean, if we do it in PIR we'll emit code to simulate the "is ref"?
OK.
pmichaud we still have to define the +=, -=, etc. subs until then 20:10
but I don't think we should be writing them by hand
jonathan Makes sense.
pmichaud we should autogenerate them to do the equivalent of infix:= and infix:+
jonathan *nod*
pmichaud and if we want to put read checking there, we can.
jonathan What about the ++/-- ops?
pmichaud they're already working, I think. 20:11
maybe not for the simple case, but they already define ++ as being $x .= succ
which implies an infix:=
(simple case being ++ on an integer)
overall it's not _really_ a high priority at the moment
jonathan > sub foo($x) { $x++; say "lived" }; foo(1)
lived 20:12
pmichaud we can put things in place to make it work, but we're just going to rip them all out when we write them in Perl 6 anyway.
jonathan True.
pmichaud so I've been content to let those tickets pass for now.
jonathan Well, we could say that about all of the op= ones too. :-)
pmichaud yes, except that I expect those to stick around just a bit longer. 20:13
jonathan I agree though, let's spend resources getting towards the Perl 6 prelude that'll Just Work for these.
pmichaud I certainly don't want to put in things that "work" but are also "obviously not the right approach"
such as !CHECK_READONLY
jonathan Sure.
Yeah, I saw it and thought...hmmm.
GeJ good yesterday everyone 20:14
pmichaud happy tomorrow, Gej
dalek r33235 | coke++ | rm_miniparrot: 20:15
: Quiet warnings on generated code (RT #53356)
: Remove reference to obsolete source file
diff: www.parrotvm.org/svn/parrot/revision?rev=33235
r33236 | coke++ | rm_miniparrot: 20:16
: [docs] Track a (old?) file move.
diff: www.parrotvm.org/svn/parrot/revision?rev=33236
r33237 | bernhard++ | trunk: 20:17
: [Pipp] Move pipp_defined to guts.pir
diff: www.parrotvm.org/svn/parrot/revision?rev=33237
Coke ah, crap. 20:20
jonathan pmichaud: Given you r60408 - parameter related. 20:22
pmichaud jonathan: thanks 20:23
Coke likes how I get extra karma for fixing my svn screwups! 20:25
dalek r33238 | coke++ | trunk:
: Merge in r33235 and r33236 to trunk: avoid some build warnings and keep our tool up to date.
diff: www.parrotvm.org/svn/parrot/revision?rev=33238
pmichaud I'm thinking that something puts a spurious @_ parameter on the block. 20:26
jonathan pmichaud: I think so. 20:30
pmichaud: I expect it's a bit of code you'll want to refactor anyway when you're doing parameters stuff.
But just to make you aware the current is buggy.
I think it's putting an @_ on any block.
When it probably only should put it on routines that are signatureless, IIRTSC. 20:31
pmichaud only on subs that are signatureless 20:32
jonathan Aye. Looks like it's sticking 'em all over.
pmichaud that's icky.
jonathan Aye.
I *could* fix it if you'd prefer to have something less buggy to refactor.
pmichaud as you wish. :-) 20:33
jonathan Well, given you plan to start refactoring like, today...depends what's most useful.
20:33 particle joined
pmichaud I'd say leave it for another day or two 20:33
jonathan OK, works for me.
pmichaud I don't know that my refactor will be done in a day or two, but it's not pressing.
jonathan Sure 20:34
You're going to make a branch?
pmichaud yes. 20:38
jonathan OK 20:39
How far do you plan to go?
Like, will you switch over fully to the signature-based unpacking approach?
jonathan -> nom, bbiab 20:48
dalek r33239 | coke++ | rm_miniparrot: 20:53
: Remove miniparrot from remaining tests in the branch. - all tests pass now.
diff: www.parrotvm.org/svn/parrot/revision?rev=33239
pmichaud jonathan: I'll go until I get to a reasonable stopping point. Don't know what that is yet.
But I think we're in agreement on the underlying structure. 20:54
20:55 masak joined
GeJ hej masak 20:59
masak halloj GeJ
21:07 johbar joined
dalek r33240 | bernhard++ | trunk: 21:14
: [Pipp] quirky suupport for 'require_once'
diff: www.parrotvm.org/svn/parrot/revision?rev=33240
r33241 | coke++ | rm_miniparrot: 21:17
: remove references to now-gone init step.
diff: www.parrotvm.org/svn/parrot/revision?rev=33241
moderator Parrot 0.8.1 "Tio Richie" Released | parrot.org | 611 tx 21:24
Coke chromatic: 11 more tickets to hit 600. 21:25
(well, on RT)
chromatic Very nice. 21:27
dalek r33242 | bernhard++ | trunk: 21:28
: [Pipp] remove an unnecessary '+', add a test case
diff: www.parrotvm.org/svn/parrot/revision?rev=33242
r33243 | bernhard++ | trunk: 21:29
: [codingstd] remove trailing space
diff: www.parrotvm.org/svn/parrot/revision?rev=33243
21:37 tak joined
masak rakudo: say [].min 21:42
polyglotbot No output (you need to produce output to STDOUT)
masak bug? :)
oops, didn't show the same here as locally 21:43
on my box, it says "Use of iuninitialized value"
moritz see #perl6
masak moritz: indeed.
moritz: p6eval seems more truthful than polyglotbot
Tene is polyglotbot misbehaving? 21:44
masak I don't know
it's not telling, more like it
moritz masak: it's updated more often, and it captures STDERR reliably :)
masak moritz: ah.
moritz oh wait, even then polyglotbot should capture the \\n at the end 21:45
masak aye
Tene: so, yes.
Tene What is it doing?
jonathan returns 21:46
pmichaud: Yes, agree. :-) Happy hacking! ;-) 21:47
moritz 22:42 <@masak> rakudo: say [].min
22:42 < polyglotbot> No output (you need to produce output to STDOUT)
22:43 < moritz_> rakudo: say [].min
22:43 < p6eval> rakudo 33241: OUTPUT[Use of uninitialized value##]
tewk rakudo: say "hello"; 21:48
polyglotbot No output (you need to produce output to STDOUT)
Tene I don't think it's capturing stderr, maybe?
moritz Tene: p6eval's output is what you get from the command line as well
Tene ... bah
lemme look
moritz even then it should capture the newline from say()
Tene It's segfaulting. 21:49
Again.
feather3 is screwed up.
Parrot on feather3 was segfaulting a while back, but then it went away. 21:51
tewk feather3? 21:52
purl somebody said feather3 was screwed up.
Tene vm on feather
moritz feather3 is also the virtual host on which evalbots run
purl okay, moritz.
22:10 tak joined
Coke kid51+= 22:13
kid51++
happy thanksgiving to those in the US. 22:14
22:29 leto joined 22:54 ruoso joined 22:59 tak joined 23:03 kid51 joined
chromatic tewk, RT #49718 and t/pmc/timer.t might be an easy fix for you. 23:05
23:08 tak joined 23:14 kid51 joined
dalek r33244 | jkeenan++ | trunk: 23:16
: Delete tests pertaining to Configure.pl --miniparrot option, which has been deactivated.
diff: www.parrotvm.org/svn/parrot/revision?rev=33244
23:17 tak joined
pmichaud how long does it take messages to parrot-tickets@lists.parrot.org to show up in trac? 23:22
oh, it's being moderated.
moritz pmichaud: iirc they don't
"One substantial change to the workflow: Trac won't follow comments 23:23
posted by email, so if you want your comments to be added to the ticket,
make them through the web interface. "
pmichaud comments posted through email, yes.
oh, so there's no "mail this address to post a ticket" yet?
perhaps I misunderstood.
moritz dunno 23:24
pmichaud yes, I misunderstood. posting only through the web interface. 23:25
jonathan yawns
jonathan wonders if he has the brain power left to do a couple more bits 23:26
moritz wonders if poering off his brain is a good idea... 23:27
the answer seems to be "yes", so I'm off to bed now ;-)
jonathan night :-) 23:28
moritz g'night ;)
23:28 bacek_ joined 23:30 TiMBuS joined 23:36 tak joined 23:39 allison joined, tak joined
dalek r33245 | jonathan++ | trunk: 23:54
: [rakudo] We need to be a bit careful to differentiate between Perl6Scalar (which just wraps up an argument) and ObjectRef (which we have when something is actually a reference type). Modify list() to know about this. Resolves RT#60404.
diff: www.parrotvm.org/svn/parrot/revision?rev=33245
pmichaud jonathan: I don't think that's the right fix. 23:56
at least for the tests given in the ticket, there shouldn't be any Perl6Scalars involved at all.
jonathan pmichaud: We always wrap all arguments in Perl6Scalar at the moment to enforce readonlyness. 23:57
pmichaud we shouldn't be doing that.
jonathan pmichaud: Thus my comment about why it's the Wrong Name.
pmichaud sub (@a) { ... } should result in a Perl6Array
(which also has read-onlyness) 23:58
not a Perl6Scalar, or whatever we decide to call it.
jonathan Wouldn't that imply that we make a copy of what was passed in order to do that?
pmichaud no.
jonathan We can't just set an extra property on the thingy that was passed. 23:59
23:59 kj joined
pmichaud oh, I see what you're getting at. 23:59
So we still need our "wrapper" thing which we're calling Perl6Scalar
jonathan Right.
Perl6Scalar is majorly the wrong name.
It's mostly a EnforcementOfStuffWrappar. :-)
pmichaud let's just call it a Container
Tene WetPaperBag