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