Camelia, the Perl 6 bug

IRC log for #parrot, 2008-05-09

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 cjfields joined #parrot
00:05 Coke joined #parrot
00:08 wknight8111 i need to buy that book
00:08 particl2 pasm is (intended to be--and will be soon enough) a human-readable bytecode translation
00:09 particl2 so, although it's perfectly capable as a language for writing compilers, i find it's too low-level and prefer pir
00:16 wknight8111 well if we're talking preferences, I would rather write my compilers in Perl 6
00:17 * wknight8111 is a dreamer
00:31 kid51 joined #parrot
00:37 jimk joined #parrot
00:40 petdance joined #parrot
00:55 jjuran parrot-poke: What about fermentation?
00:59 Eevee joined #parrot
01:01 Sartak y
01:04 jimk joined #parrot
01:12 particl1 joined #parrot
01:20 jimk joined #parrot
01:20 tetragon_ joined #parrot
01:55 Juerd joined #parrot
02:26 petdance joined #parrot
02:33 Limbic_Region joined #parrot
02:34 Limbic_Region chromatic - actually, the dollar is recently gaining on the Filipino Peso
02:34 Limbic_Region where is the cow that you own?  I might have seen it ;-)
02:35 janus joined #parrot
02:41 davidfetter joined #parrot
03:20 petdance joined #parrot
03:36 teknomunk joined #parrot
04:03 tetragon joined #parrot
04:11 pmichaud joined #parrot
04:34 Psyche^ joined #parrot
04:49 cotto_home seen barney
04:49 purl barney was last seen on #parrot 4 days and 15 hours ago, saying: Yes, it was all in the new file driver_nqp.pir  [May  4 06:25:28 2008]
05:11 Coke yapc housing open, btw.
05:12 cotto_home thanks.
05:12 cotto_home now I just need to remember what username/password I used...
05:21 Coke doing an svn merge, getting "skipped missing target: <foo>", and "skipped <foo>" . wozzat?
05:22 Coke doh. means that I'm merging from the wrong revisions.
05:43 cotto_home msv?
05:43 purl i guess msv is old with a floor level restroom, SSV is newer with 2 rooms sharing a restroom between them
05:43 cotto_home that's almost helpful
05:45 Coke seen chromatic?
05:45 purl chromatic was last seen on #parrot 2 days and 18 minutes ago, saying: You're welcome.  [May  6 22:27:40 2008]
06:02 uniejo joined #parrot
06:05 Zaba_ joined #parrot
06:46 Khisanth joined #parrot
06:47 cognominal joined #parrot
07:01 iblechbot joined #parrot
08:13 dngor joined #parrot
08:23 Zaba joined #parrot
08:48 Sartak joined #parrot
08:59 masak joined #parrot
09:08 Psyche^ joined #parrot
09:39 wknight8111 joined #parrot
10:06 Debolaz joined #parrot
10:14 Debolaz joined #parrot
10:15 wknight8111 joined #parrot
10:15 Coke joined #parrot
10:57 mire joined #parrot
11:09 cognominal joined #parrot
12:17 Coke gooood morrrrrrrning, parrrrrrrrotnam!
12:18 masak :)
12:24 Zaba moin
12:25 tetragon joined #parrot
12:30 cognominal au revoir O'Reilly    http://www.oreilly.fr/  :(
12:31 cognominal they are closing shop in France
12:34 wknight8111 joined #parrot
13:10 gryphon joined #parrot
13:21 wknight8111 How does committing work? Do I need permission or a review before I commit something?
13:22 Infinoid wknight8111++ # welcome aboard
13:22 wknight8111 thanks!
13:23 Infinoid basically they just add a line for you to a .htaccess file
13:24 Infinoid you checkout as normal, but enter a username/password upon commit (svn caches this)
13:24 wknight8111 well, i know how it "works", I'm just asking if I need permission before I start submitting things
13:24 Infinoid oh
13:24 wknight8111 Like I have a patch that I just submitted, can I just apply it myself or do I need approval?
13:24 Infinoid sounds like they just gave it to you :)
13:27 Infinoid I'd go ahead and commit... if you break something, someone will let you know (and in a worst case scenario, reverting is easy)
13:27 Coke Let me give you "the talk".
13:27 Coke 1) you break it, you fix it.
13:27 Coke 2) don't break it.
13:27 Coke 3) if it's something outside your comfort zone, or inside someone else's, post a patch first in RT.
13:27 Coke 4) branches are cheap.
13:28 Coke 5) tickets are cheap.
13:28 Coke 6) in general, try to keep trunk passing at all times.
13:28 Coke 3.1) Doubly true for architecture/design issues.
13:28 Coke someone should wiki that.
13:28 Coke ... wknight8111, that can be your first job. =-)
13:31 wknight8111 ok
13:31 wknight8111 I just tried a commit, and I got a 403 Forbidden error
13:32 wknight8111 (and that "the talk" was much less uncomfortable then the one I got from my father)
13:35 Coke you may need to auth.
13:36 wknight8111 what does that mean? I put in my svn.perl username and password
13:36 Coke ok. and you're sure it was your svn username and password, and not your rt nick and rt password? =-)
13:36 wknight8111 I copy+pasted them from the svn.perl.org/accounts page
13:36 wknight8111 and I'm rarely "sure" about anything :)
13:44 rdice joined #parrot
13:49 particle please please coke and wknight8111: read through docs/project/metacommitter_guide.pod
13:49 particle it should clear this problem up
13:52 teknomunk joined #parrot
13:58 Coke Ah, I never did go back and re-read it after andrew screwed up his part. =-)
13:59 wknight8111 you always have to go back and re-read thigns when I screw up! When I screw up, I do it big :)
14:01 Coke particle: no, i did my three steps. I logged in, I added him to the list. I sent the mail.
14:01 Coke Am I missing something?
14:01 particle yes, but did he do his?
14:01 particle he's having problems with auth, not you
14:01 wknight8111 yes, i created a bitchard account, i logged on to RT with the account, and I set up the account at svn.perl.org
14:02 wknight8111 s/bitchard/bitcard/ ...
14:02 Coke what svn login did you use?
14:02 wknight8111 it has my username listed as "Whiteknight", but I tried my email address and my name too,
14:02 Coke your username is NOT whiteknight. =-)
14:02 mire joined #parrot
14:02 Coke the id is the same as your rt login, which is the email addy.
14:03 wknight8111 tried that too
14:04 Coke with the suberversion password?
14:04 wknight8111 just tried it again, doesnt work with any password
14:04 Coke You're harshing my buzz. :P
14:05 wknight8111 man, I already need a vacation from all this!
14:05 Coke let me double check that you were properly added to the list. =-)
14:06 Coke the ID I have listed is: 'wknight8111@gmail.com'
14:07 particle is rt login working?
14:07 wknight8111 yes, I'm in RT fine. I just took a ticket
14:07 particle ok.
14:07 particle if you can't figure out the subversion part, contact svn-admin@perl.org to get it fixed up
14:08 particle however, coke can try removing and re-adding you or something
14:10 Coke who is w.briscoe ?
14:10 Coke (he just showed up as a committer when I refresshed.
14:10 particle no idea
14:10 Coke removing him...
14:11 Coke WHAT THE HOLY !(@#*$&#@
14:11 Coke "delete this user." "ok, another random user shows up."
14:11 Coke maurice bonal just showed up.
14:11 particle have we been hacked?
14:11 Coke deleting...
14:11 particle ask and robrt may still be asleep
14:12 Coke ok. the list is stable now.
14:12 NotFound joined #parrot
14:12 NotFound Hello.
14:12 particle that's the trouble with sysadmins in the same time zone
14:12 Coke try again.
14:12 NotFound Hello.
14:12 Coke (i deleted you. then deleted the first random guy that showed up in your place. then the second. then readded you)
14:13 Coke perhaps we can find a hacker in Mumbai who's willing to be a perl.org sysadmin.
14:16 Coke andrewwwwwwwwwwwww.
14:16 wknight8111 ?
14:16 Coke "try again"
14:17 particle hi, NotFound, that second one sunk in :)
14:17 Coke NotFound: hio. sorry. focus problem here.
14:17 Coke ... holy crap, my fasting blood sugar dropped 90 points in 4 days.
14:17 NotFound Well, I tried ;)
14:18 wknight8111 nope, nothing.
14:18 purl nope, nothing is probably runned
14:19 masak Coke: how do you measure that?
14:19 wknight8111 with a blood-sugar ruler
14:19 Coke aka a glucometer.
14:20 * masak has been thinking of getting a glucometer
14:20 Coke masak: https://www.onetouchgold.com/simplestart/?ut​m_source=google&amp;utm_medium=cpc&amp;utm_t​erm=one%20touch&amp;utm_campaign=tier3&amp;u​tm_content=OneTouch%20Meters%20-%20General
14:20 shorten Coke's url is at http://xrl.us/bkcku
14:20 particle GluCo sounds like a good name for a perl shop
14:20 NotFound My girlfriend has one that looks like a tamagotchi.
14:21 Coke the meters are typically free; they get you on the strips (about a buck a pop if not on insurance.)
14:21 Coke coke?
14:21 purl you are mailto:will@coleda.com or just a figurehead.
14:21 Coke coke is also http://coke-floats.blogspot.com/
14:21 purl okay, Coke.
14:22 masak Coke: do you think a non-USA resident like me will get one if I fill in their form?
14:22 NotFound So you are trying to be Coke 0.0%
14:22 NotFound ?
14:34 wknight8111 Okay, i sent an email to svn-admin@perl.org. I'll see what they have to say about it
14:35 wknight8111 ...apparently no I didn't. That email address doesn't appear to be valid
14:37 wknight8111 "svn@perl.org"
14:40 Coke NotFound: Coke Zero.
14:40 purl hmmm... coke zero is not bad.
14:42 NotFound DietCoke: ah, yes, 0.0% is beer.
14:44 particle coke: http://www.washingtonpost.com/wp-dyn/conte​nt/article/2008/05/08/AR2008050801994.html
14:44 shorten particle's url is at http://xrl.us/bkcm9
14:46 DietCoke particle: one of many long term side effects.
14:48 Debolaz joined #parrot
14:50 particle anybody seen barney lately?
14:59 pmichaud haven't seen barney
15:11 spinclad seen barney?
15:11 purl barney was last seen on #parrot 5 days and 2 hours ago, saying: Yes, it was all in the new file driver_nqp.pir  [May  4 06:25:28 2008]
15:19 pmichaud purl is Big Brother
15:23 davidfetter joined #parrot
15:44 rdice joined #parrot
15:53 Tene Looks like I'll be getting to the airport four hours early today.
15:53 davidfetter hope they've got intarnets
15:55 jhorwitz joined #parrot
15:55 Tene if they have intarnets then I can play on IRC instead of getting anything done.
15:56 * Infinoid buys Tene a 10-pack of intarnets
15:56 * davidfetter pays USD60/month so he can have intarnets wherever he goes...that sprint evdo is :P
16:00 * Infinoid has AT&T edge, but only uses it a couple times a month
16:00 * particle too, uses it at least weekly
16:00 Zaba AT&T edge?
16:00 particle EDGE is what they call their internet service
16:01 particle for mobile
16:01 * davidfetter <3 evdo, but it only works in .us
16:01 Zaba aha
16:01 Infinoid EVDO is for CDMA as EDGE is for GSM
16:01 Tene any requests on parrot or rakudo-related tasks for me to work on at the airport?
16:02 davidfetter a safe container ;)
16:02 Tene ?
16:03 particle tene: if you have rakudo's t/spec checked out, you could mark the tests to avoid parsefails
16:03 * davidfetter was joking
16:03 davidfetter are you familiar with Safe.pm?
16:03 Tene Yes.
16:04 davidfetter something similar for parrot would be very, very nice
16:11 Theory joined #parrot
16:19 NotFound RT#45967 lacks a note about the file name objects.c changed to oo.c
16:27 particl1 joined #parrot
16:30 gryphon joined #parrot
16:36 radhios joined #parrot
16:56 particle[ventus] joined #parrot
16:58 PerlJam joined #parrot
17:04 pmichaud ENODALEK
17:07 Infinoid diakopter:
17:11 dalek joined #parrot
17:52 Zaba_ joined #parrot
18:07 dalek r27395 | pmichaud++ | trunk:
18:07 dalek : [rakudo]:
18:07 dalek : * In grammar.pg, convert $<foo>=<bar> to <foo=bar>
18:07 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27395
18:08 turrepurre joined #parrot
18:09 particle feh, i forgot to commit that patch!
18:11 pmichaud particle++  # ghost karma
18:12 particle i've just started working on adding opp support to mk_language_shell.pl
18:13 pmichaud that was one of the things on my todo list... but I'll be happy to let you do that one
18:13 pmichaud I'm working on getting listop expressions to work
18:14 particle \o/
18:14 particle that will be a huge deal.
18:14 pmichaud well, parsing first
18:14 pmichaud actually getting list assignment to work will probably involve changes to pct
18:19 Ivatar joined #parrot
18:22 DietCoke NotFound: updated.
18:23 AndyA joined #parrot
18:23 NotFound DietCoke: what?
18:24 japhb joined #parrot
18:28 NotFound DietCoke: ah, yes.
18:31 sjansen joined #parrot
18:35 particl1 joined #parrot
18:51 particle pmichaud: in mk language shell, you have in @lclang@.pir, =item main(args :slurpy) :main
18:52 particle but the cod ereads .sub 'main' :main ; .param pmc args
18:52 particle would you prefer code that had :slurpy, then $P0.'command_line'(args :flat)
18:52 particle or modify the pod?
18:53 pmichaud well, modifying the code would make it wrong
18:53 particle i think the pod should be modified
18:53 particle yeah.
18:53 pmichaud so just get rid of the :slurpy in the pod
18:53 particle i just needed to think out loud to get it right. thanks.
18:53 particle after i finish this, i think i'll regenerate abc with the shell
18:54 pmichaud oh, that's a good idea.  I was going to just move abc's files around, but regenerating from shell might be better
18:54 pmichaud that's what I ultimately did with pynie
18:54 pmichaud (regenerate from shell)
18:54 particle cool.
18:55 particle i'm adding token term { <integer> }
18:55 particle i'll leave float etc to the reader
18:55 DietCoke particle: how do you get the current userid on windows perl?
18:56 particle same way you get it on any perl
18:56 DietCoke $< is returning 0 for this guy.
18:56 particle real or effective user id?
18:56 DietCoke $> is also returning 0.
18:56 purl okay, DietCoke.
18:57 particle you want the username?
18:57 DietCoke oh. he's an idiot.
18:57 DietCoke and now I am too.
18:57 NotFound ¿runas Administrator?
18:58 DietCoke (getlogin(), not $<)
18:59 particle indeed.
18:59 DietCoke -> (14:59) From Sue D. Nymme, to perl:
18:59 DietCoke - "Thanks, Jerry Gay!"
19:06 * DietCoke antisocially books a single at yapc!
19:08 NotFound In docs/book/ch08_reference.pod the entry for getattribute has in See also "classoffset", but there is no classoffset entry.
19:10 pmichaud classoffset is gone.
19:10 pmichaud getattribute now only takes a string name
19:12 * pmichaud tries again on listop parsing, this time working around RT#53296.
19:13 NotFound setattribute wants a class argument, and getattribute an object, is this right?
19:13 mire joined #parrot
19:13 pmichaud no
19:13 pmichaud given an object in $P0
19:13 pmichaud setattribute $P0, 'foo', $P1     # set attribute 'foo' in $P0 to $P1
19:14 pmichaud getattribute $P1, $P0, 'foo'   # get attribute 'foo' in $P0 into $P1
19:14 pmichaud (latter can be phrased as "set $P1 to attribute 'foo' of $P0)
19:15 NotFound Then addattribute is a different family?
19:15 pmichaud addattribute adds an attribute to a class
19:16 pmichaud addattribute class, 'foo'    # add 'foo' as an attribute for new instances of class
19:16 NotFound And what is the way to retrieve it?
19:16 pmichaud addattribute creates a "slot" for 'foo'
19:17 pmichaud getattribute/setattribute change the value of that slot in instances of the class
19:17 NotFound I mean, check for presence.
19:17 pmichaud in a class or object?
19:17 NotFound class.
19:17 pmichaud I'm not sure.
19:17 pmichaud perhaps 'inspect'
19:17 barney joined #parrot
19:17 pmichaud pdd15 would have the answer, if any.
19:19 NotFound I think now I understand, thanks. The documents looked confusing about this points.
19:19 pmichaud yes, I've noticed that as well.
19:28 NotFound An 'attributes' function is described in pdd15
19:29 pmichaud ...method, perhaps?
19:29 pmichaud (just checking)
19:29 NotFound Yes, method
19:29 pmichaud (tnx)
19:36 dalek r27396 | pmichaud++ | trunk:
19:36 dalek : [rakudo]:
19:36 dalek : * Refactor EXPR handling slightly so that we can start
19:36 dalek :   to do some listop processing.
19:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27396
19:44 dalek r27397 | pmichaud++ | trunk:
19:44 dalek : [rakudo]:
19:44 dalek : * Update fatarrow parsing, so that foo(a=>1, b=>2) now parses
19:44 dalek :   and compiles properly.
19:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27397
19:45 particle 'i=' ??
19:46 pmichaud it's the precedence level for listops
19:46 pmichaud i.e., the equivalent of STD.pm's   %list_assignment hash
19:46 particle gotcha. icky, but i get it.
19:46 pmichaud (%list_assignment has :prec('i='))
19:47 pmichaud when we're able to do something much closer to STD.pm's precedence parsing, we can switch.
19:47 pmichaud this has the advantage of "works today".
19:47 particle sure. much better than what we had yesterday
19:50 pmichaud (er, %item_assignment in each of the above.)
20:07 particl1 joined #parrot
20:18 japhb joined #parrot
20:37 teknomunk joined #parrot
20:52 spinclad 'class Foo ...' in nqp doesn't currently have a way to declare its parent?  i'm walking through the squaak exercises and seeing how close i can get to declaring the List class there in nqp...
20:53 dalek r27398 | pmichaud++ | trunk:
20:53 dalek : [pct]:
20:53 dalek : * Remove spurious 'each' option from PCT::HLLCompiler.
20:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27398
20:53 pmichaud fwiw, we no longer need the List class
20:53 pmichaud can use ResizablePMCArray directly.
20:53 spinclad (looks like it hardwires a 'Protoobject' parent)
20:54 particl1 you can use 'add_parent' iirc
20:54 spinclad oh, goody.
20:54 pmichaud well, add_parent won't set the protoobject correctly
20:54 spinclad ResizablePMCArray has methods now, or one can add them?
20:54 pmichaud ResizablePMCArray has shift/pop/push/unshift
20:55 pmichaud afaict, nqp doesn't have the ability to set parent classes yet
20:56 pmichaud (haven't needed it.)
20:57 spinclad nice.  next thing i'm looking at:  our @list doesn't vivify a ResizablePMCArray, so you still have to do the moral equiv of a BEGIN block to set it, else @list.unshift($x) leaves it undefined?
20:57 Tene mmm... cardinal...
20:57 Infinoid Cardinal Fang, fetch ... the comfy chair!
20:58 Tene airports++
20:58 pmichaud we could probably get "our @list" to vivify the ResizablePMCArray.
20:58 spinclad i understand one doesn't want to vivify on read, and nothing declares (or can declare yet) that shift/unshift/push/pop write it... ah, that would work.
20:59 pmichaud ideally we should probably have   our @list := ResizablePMCArray.new()
20:59 pmichaud but that depends on having a protoobject for ResizablePMCArray, which we don't.
21:00 pmichaud hrm.
21:00 spinclad our @list \\:= Resizable...
21:00 spinclad (only if not already there)
21:00 pmichaud I don't think there's a \\:= op.  :-)
21:01 spinclad true
21:01 pmichaud (assuming you meant //:= ...., I don't think that exists either :-)
21:01 confound =:/\:=
21:01 spinclad oop, yes, //
21:01 pmichaud but I don't think there's a problem with   our @list := ResizablePMCArray.new(), assuming it executes only once.
21:02 spinclad \/\/|-|/-\-|-?
21:02 spinclad ^ confound:
21:02 pmichaud (and assuming that ResizablePMCArray exists.)
21:03 pmichaud it might be reasonable for PCT to create protoobjects for some of Parrot's builtin classes.
21:03 pmichaud actually.......
21:03 * pmichaud checks something
21:04 spinclad that makes sense at a single defining place, but if every using place did that, they'd all toss each others hard saved content...
21:04 dalek r27399 | pmichaud++ | trunk:
21:04 dalek : [rakudo]:
21:04 dalek : * Removed '--combine' and '--each' arguments from Rakudo's command
21:04 spinclad (that: our @list := Resizable...)
21:04 dalek :   line processing, as they aren't useful for Perl 6.
21:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27399
21:05 pmichaud ...every using place?
21:05 Theory_ joined #parrot
21:06 pmichaud believe it or not, I think the following works:
21:06 pmichaud Protoobject.new_proto('ResizablePMCArray');
21:06 pmichaud our @list = ResizablePMCArray.new();
21:07 pmichaud if you put those two statements at the beginning of the class definition (i.e., right after "class Foo;"), then it'll happen once when the code is loaded.
21:07 spinclad (every using place): perhaps i'm confused; thinking one would have multiple 'our @list' declarations to access the same @list, but perhaps it's simply already in scope.
21:07 pmichaud just a sec
21:09 nopaste "pmichaud" at 76.183.97.54 pasted "example of creating @?BLOCK" (11 lines) at http://nopaste.snit.ch/12920
21:10 pmichaud it doesn't hurt to repeat "our @?BLOCK;" in the individual methods, but it isn't necessary.
21:10 spinclad agreed
21:10 pmichaud ....and!
21:10 pmichaud one can do:
21:11 pmichaud Protoobject.new_subclass('ResizablePMCArray', 'List');    # create 'List' as a subclass of 'ResizablePMCArray'
21:11 pmichaud but I think that simply using ResizablePMCArray directly makes more sense.
21:12 davidfetter joined #parrot
21:12 pmichaud (if all of this Protoobject.* doesn't work, I'll make it work.)
21:13 spinclad (the existing class boilerplate seems to call Protomaker.new_subclass(Protoobject, $class) )
21:13 pmichaud oh, correct, what I wrote as Protoobject above should probably be Protomaker  :-(
21:13 pmichaud so...
21:14 nopaste "pmichaud" at 76.183.97.54 pasted "example of creating @?BLOCK" (11 lines) at http://nopaste.snit.ch/12921
21:14 pmichaud eventually I'll get all of this protoobject stuff unified into a coherent whole.  (sooner rather than later)
21:15 spinclad would it make sense to allow 'class Foo is Bar' and plug that into the boilerplate?
21:16 pmichaud I've thought about it
21:16 pmichaud it's one of those "haven't needed it yet" items.  Beyond that, 'Bar' in "is Bar" likely refers to a protoobject and not a class or string.
21:17 pmichaud and in this specific instance (creating a list), having 'class Foo is Bar' actually complicates things more than the two-line example I gave.
21:25 spinclad okay, in the @?BLOCK case it's no longer needed, using ResizablePMCArray directly; i'm sure it will come up again, so grist then for protoobject/class rework.
21:25 pmichaud excellent -- I agree.
21:26 spinclad last thing i ran across: i tried 'return <expr>', and get_scalar died on it (no action for return_statement yet).
21:26 pmichaud NQP doesn't support 'return' yet.
21:27 dalek r27400 | pmichaud++ | trunk:
21:27 dalek : [rakudo]:
21:27 dalek : * Update STATUS.
21:27 pmichaud if you really need a return value, then just put <expr> as the last statement in a block.
21:27 dalek : * Patch courtesy "Carl M�sak" <cmasak at gmail.com>, RT#53826
21:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=27400
21:27 spinclad ok, worksforme.
21:28 spinclad thanks
21:28 pmichaud (implementing 'return' is one of my higher-priority things, yes)
21:29 spinclad (i worked around it with a PIR q< .return ($P0) >, which is followed by another .return () in the generated code.)  but last-expression is easier still.
21:30 pmichaud are we no longer creating placeholder tickets for parrot releases?
21:31 spinclad is it in the release instructions?
21:31 pmichaud oh, I see.  particle called it "20 May 2008 Parrot Release"  instead of "Parrot x.y.z release"
21:31 pmichaud I found it (RT#52910)
21:38 particl1 yep, because release numbers are not generally known a month in advance
21:38 pmichaud correct, I agree with the choice -- just wasn't what I was used to.
21:38 pmichaud searching for "parrot release" got me what I wanted :-)
21:53 spinclad now i get: Method 'unshift' not found for invocant of class 'ResizablePMCArray'
21:53 spinclad but i see it there in src/pmc/resizablepmcarray.pmc
21:54 spinclad (do i have the right ResizablePMCArray?)
21:55 pmichaud there's also a test for it in t/pmc/resizablepmcarray.t
21:55 pmichaud and it presumably works _there_, so....
21:55 pmichaud hrm.
21:55 * pmichaud tries a test program.
21:56 pmichaud I get the same.  Checking.
21:57 * particl1 wonders if this is some pmc proto funny business
21:57 pmichaud It could be, but I doubt it.
21:59 pmichaud okay, it's some protoobject funny business
22:00 pmichaud new_proto must be destroying the existing method table somehow.
22:03 pmichaud adding Protoobject as a parent class of ResizablePMCArray looks like a no-no.
22:03 pmichaud I guess that makes sense.
22:04 particl1 what do you need, clone_proto or something?
22:04 pmichaud so... if the class is a ProxyPMC, I guess we need to create a new anonymous subclass for it.
22:04 pmichaud and add Protoobject as a parent of the subclass
22:04 particl1 ah, proxy, that's the word i was looking for
22:05 pmichaud of course, then we have the issue that objects creating using   new 'ResizablePMCArray' aren't the same type as those created using ResizablePMCArray.new()
22:05 pmichaud s/creating/created/
22:06 pmichaud but perhaps that's not too big an issue.
22:06 particl1 it's kinda sucky, though
22:06 particl1 least surprise and all
22:06 pmichaud I don't know how to get around it within Parrot's current object model.
22:06 particl1 but, then again, nqp is low-level and 'coder beware'
22:09 pmichaud well, when I work on unifying protoobject handling perhaps all of this will "work out".
22:10 pmichaud spinclad: in the meantime, I don't have a terrific answer.  "Method not found" was not something I expected.
22:10 pmichaud I guess I've never tried to run protomaker on a PMC type
22:10 pmichaud actually, perhaps try:
22:11 pmichaud Protomaker.new_subclass('ResizablePMCArray', 'List');
22:11 pmichaud our @?BLOCK = List.new();
22:11 pmichaud that might have the same effect, since 'List' will then be a subclass of 'ResizablePMCArray', and will get Protoobject as the parent.
22:15 spinclad will do
22:18 spinclad works
22:18 spinclad workarounds++
22:20 particl1 i especially like when we work around calling conventions with :multi()
22:20 particl1 pmichaud++ for those
22:45 grim_fandango joined #parrot
23:35 Zaba joined #parrot
23:51 tetragon joined #parrot
23:55 radhios joined #parrot

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced