Re: Need a roundup of pending object stuff

2004-04-06 Thread Jarkko Hietaniemi
Dan Sugalski wrote: So we can get the damn thing nailed down and done. If there's something pending throw it on as a reply and we'll gather them up and see about making it work. Someone conversant with the OO bits of the Python bytecode should do a side-by-side feature comparison to see

Re: Need a roundup of pending object stuff

2004-04-06 Thread chromatic
On Tue, 2004-04-06 at 08:42, Dan Sugalski wrote: So we can get the damn thing nailed down and done. If there's something pending throw it on as a reply and we'll gather them up and see about making it work. I'd like to: - pass arguments to a constructor (or initializer, or whatever

Re: More object stuff

2004-03-16 Thread Dan Sugalski
At 11:24 AM +0100 3/14/04, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: ... --should we have the base object system participate in multimethod dispatch? That is, if someone does an: add P1, P2, P3 and P2 is a parrot object, should that add vtable method automatically

Re: More object stuff

2004-03-16 Thread Larry Wall
On Fri, Mar 12, 2004 at 08:12:52PM -0500, Dan Sugalski wrote: : Okay, so I'm fiddling around in the guts of the object system getting : the groundwork laid for some speed increases (I hope--we're just : barely faster than perl 5 when doing the equivalent of perl's tie : with the base object

Re: More object stuff

2004-03-14 Thread Leopold Toetsch
Dan Sugalski [EMAIL PROTECTED] wrote: ... --should we have the base object system participate in multimethod dispatch? That is, if someone does an: add P1, P2, P3 and P2 is a parrot object, should that add vtable method automatically redispatch to MMD if the vtable method can't be

More object stuff

2004-03-12 Thread Dan Sugalski
Okay, so I'm fiddling around in the guts of the object system getting the groundwork laid for some speed increases (I hope--we're just barely faster than perl 5 when doing the equivalent of perl's tie with the base object type) and one thing occurred--should we have the base object system

Re: More object stuff

2004-01-12 Thread Dan Sugalski
At 9:05 PM +0100 1/11/04, Leopold Toetsch wrote: Harry Jackson [EMAIL PROTECTED] wrote: I am at the point now where I need to know what type of format you want the data to come out in. The first question is: how are these data returned in C. For posgres, that's easy (which is part of the

Re: More object stuff

2004-01-12 Thread Dan Sugalski
At 6:03 PM + 1/11/04, Harry Jackson wrote: Dan Sugalski wrote: getting back a full row as an array, getting back a full row as a hash, and stuff like that. Nothing fancy, and nothing that high-level, but enough to work the basics without quite as manual work as the current libpg

Re: More object stuff

2004-01-12 Thread Harry Jackson
Dan Sugalski wrote: At 9:05 PM +0100 1/11/04, Leopold Toetsch wrote: Harry Jackson [EMAIL PROTECTED] wrote: I am at the point now where I need to know what type of format you want the data to come out in. The first question is: how are these data returned in C. For posgres, that's easy

Re: More object stuff

2004-01-12 Thread Harry Jackson
Dan Sugalski wrote: Well... What I'd like, I think, is something simple and straightforward. Right now we've got to fetch each column for each row one by one, which is a pain in the neck if you want to get a full row back. Having a fetchrow that returned an Array with the value for column one

Re: More object stuff

2004-01-12 Thread Dan Sugalski
At 4:07 PM + 1/12/04, Harry Jackson wrote: Dan Sugalski wrote: Well... What I'd like, I think, is something simple and straightforward. Right now we've got to fetch each column for each row one by one, which is a pain in the neck if you want to get a full row back. Having a fetchrow that

Re: More object stuff

2004-01-12 Thread Harry Jackson
Dan Sugalski wrote: That works too. If the information's available someone'll build what they want. Whichever way you're comfortable with. (Though given my preferences, I'd add in the hash fetch version as part of the low-level interface) Roger: To clarify you want: 1. You want a hash with

Re: More object stuff

2004-01-12 Thread Jeff Clites
On Jan 12, 2004, at 8:07 AM, Harry Jackson wrote: Dan Sugalski wrote: Having a fetchrow_hash that returned a Hash where the keys are the column names and the values are the column values would be most of the rest. I read somewhere that accessing a hash was slightly slower than accessing and

Re: More object stuff

2004-01-12 Thread Harry Jackson
Jeff Clites wrote: On Jan 12, 2004, at 8:07 AM, Harry Jackson wrote: Dan Sugalski wrote: Having a fetchrow_hash that returned a Hash where the keys are the column names and the values are the column values would be most of the rest. I read somewhere that accessing a hash was slightly slower

Re: More object stuff

2004-01-12 Thread Dan Sugalski
At 4:50 PM + 1/12/04, Harry Jackson wrote: Dan Sugalski wrote: That works too. If the information's available someone'll build what they want. Whichever way you're comfortable with. (Though given my preferences, I'd add in the hash fetch version as part of the low-level interface) Roger:

Re: More object stuff

2004-01-12 Thread Gordon Henriksen
On Monday, January 12, 2004, at 11:37 , Dan Sugalski wrote: At 4:07 PM + 1/12/04, Harry Jackson wrote: Dan Sugalski wrote: Well... What I'd like, I think, is something simple and straightforward. Right now we've got to fetch each column for each row one by one, which is a pain in the neck

Re: More object stuff

2004-01-12 Thread Harry Jackson
Gordon Henriksen wrote: fetchrow_hashref is definitely a very useful, but my favorite (and also the most efficient) DBI methodology is bind_columns. DBI maintains a list of references corresponding to columns in the result set, and when the result set is advanced, stores the values into the

Re: More object stuff

2004-01-12 Thread Harry Jackson
Dan Sugalski wrote: At 4:50 PM + 1/12/04, Harry Jackson wrote: done similar to 80 getnext: 81 82 .pcc_begin prototyped 83 .pcc_call fetchrow_hash 84 nextrow: 85 .result rowhash 86 .result answer 87

Re: More object stuff

2004-01-12 Thread Harry Jackson
Harry Jackson wrote: The following shows roughly what I had to do to display it. I am using a global HASH called MetaData that stores various bits about the current statement being executed. Sorry: missed a bit The MetData is where I get the TupleData Array and the associated FieldData Array

Re: More object stuff

2004-01-11 Thread Harry Jackson
Dan Sugalski wrote: getting back a full row as an array, getting back a full row as a hash, and stuff like that. Nothing fancy, and nothing that high-level, but enough to work the basics without quite as manual work as the current libpg requires. OK. I am at the point now where I need to

Re: More object stuff

2004-01-11 Thread Harry Jackson
Harry Jackson wrote: Dan Sugalski wrote: getting back a full row as an array, getting back a full row as a hash, and stuff like that. Nothing fancy, and nothing that high-level, but enough to work the basics without quite as manual work as the current libpg requires. OK. I am at the

Re: More object stuff

2004-01-11 Thread Leopold Toetsch
Harry Jackson [EMAIL PROTECTED] wrote: I am at the point now where I need to know what type of format you want the data to come out in. The first question is: how are these data returned in C. If that's a defined structure, I'd overlay this structure with an UnManagedStruct PMC and then access

Re: More object stuff

2003-12-29 Thread Dan Sugalski
At 1:02 PM + 12/27/03, Harry Jackson wrote: Dan Sugalski wrote: Dunno if I replied, but... Next step is a higher level wrapper, if you're up for fiddling with Postgres itself. Stuff like a single call to connect (right now you have to make the connect call and poll over and over again),

Re: More object stuff

2003-12-29 Thread Harry Jackson
Dan Sugalski wrote: At 1:02 PM + 12/27/03, Harry Jackson wrote: Being fairly new to parrot and probably naive I can see a few different ways of doing this. A C wrapper ie: parrot/classes/parrotdbi.pmc etc A C wrapper ie: parrot/dynclasses/parrotdbi.pmc etc A loadable pasm function library

Re: More object stuff

2003-12-27 Thread Harry Jackson
Dan Sugalski wrote: Dunno if I replied, but... Next step is a higher level wrapper, if you're up for fiddling with Postgres itself. Stuff like a single call to connect (right now you have to make the connect call and poll over and over again), I did some benchmarks using your original

Re: More object stuff

2003-12-27 Thread Tim Bunce
On Sat, Dec 27, 2003 at 01:02:34PM +, Harry Jackson wrote: Dan Sugalski wrote: Dunno if I replied, but... Next step is a higher level wrapper, if you're up for fiddling with Postgres itself. Stuff like a single call to connect (right now you have to make the connect call and poll

Re: More object stuff

2003-12-26 Thread Dan Sugalski
At 11:10 PM + 12/18/03, Harry Jackson wrote: Dan Sugalski wrote: It's util/ncidef2pasm.pl, actually. build_nativecall builds the stub routines for the interpreter if a JIT isn't available. The definitions of the characters are the same, but ncidef2pasm's a bit better documented. (There's

Re: More object stuff

2003-12-22 Thread Dan Sugalski
At 11:10 PM + 12/18/03, Harry Jackson wrote: Dan Sugalski wrote: It's util/ncidef2pasm.pl, actually. build_nativecall builds the stub routines for the interpreter if a JIT isn't available. The definitions of the characters are the same, but ncidef2pasm's a bit better documented. (There's

Re: More object stuff

2003-12-18 Thread Harry Jackson
Dan Sugalski wrote: It's util/ncidef2pasm.pl, actually. build_nativecall builds the stub routines for the interpreter if a JIT isn't available. The definitions of the characters are the same, but ncidef2pasm's a bit better documented. (There's embedded POD) Invocation is: perl

Re: More object stuff

2003-12-15 Thread Dan Sugalski
At 9:47 PM + 12/11/03, Harry Jackson wrote: Dan Sugalski wrote: Yep, though that's a big part of it. postgres.pasm is generated from postgres.declarations, FWIW--there's a script in the library somewhere. Is /parrot/build_tools/build_nativecall.pl the script in question and if so whats its

RE: [CVS ci] object stuff

2003-12-12 Thread Dan Sugalski
At 3:42 PM -0500 12/11/03, Melvin Smith wrote: At 03:05 PM 12/11/2003 -0500, Gordon Henriksen wrote: Melvin Smith [EMAIL PROTECTED] wrote: my $foo = Oracle::Instance::DEV1::db_block_buffers; The namespace lookup in Oracle::Init checks the Oracle config parameters which is external code. All

Re: [CVS ci] object stuff

2003-12-11 Thread Jeff Clites
On Dec 10, 2003, at 12:37 AM, Luke Palmer wrote: Dan Sugalski writes: At 05:14 PM 12/5/2003 +0100, Leopold Toetsch wrote: set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the assembler mangle the Foo::i to Foo\0i I don't like it either, but the

Re: [CVS ci] object stuff

2003-12-11 Thread Melvin Smith
I think a heirarchy is a good idea for namespacing in general. I've always wanted to be able to tie namespaces in Perl 5. It would only make sense that if I tie Foo::, that Foo::anything:: would also go through that tie to get the anything:: stash. What do you mean by tie here? Are you talking

RE: [CVS ci] object stuff

2003-12-11 Thread Melvin Smith
At 03:05 PM 12/11/2003 -0500, Gordon Henriksen wrote: Melvin Smith [EMAIL PROTECTED] wrote: my $foo = Oracle::Instance::DEV1::db_block_buffers; The namespace lookup in Oracle::Init checks the Oracle config parameters which is external code. All sorts of neat possibilities. :) It is truly

RE: [CVS ci] object stuff

2003-12-11 Thread Gordon Henriksen
Melvin Smith [EMAIL PROTECTED] wrote: my $foo = Oracle::Instance::DEV1::db_block_buffers; The namespace lookup in Oracle::Init checks the Oracle config parameters which is external code. All sorts of neat possibilities. :) It is truly remarkable the lengths that Perl programmers seem to

Re: More object stuff

2003-12-11 Thread Harry Jackson
Dan Sugalski wrote: Yep, though that's a big part of it. postgres.pasm is generated from postgres.declarations, FWIW--there's a script in the library somewhere. Is /parrot/build_tools/build_nativecall.pl the script in question and if so whats its usage. I have done postgres.declarations, please

RE: [CVS ci] object stuff

2003-12-11 Thread chromatic
On Thu, 2003-12-11 at 12:05, Gordon Henriksen wrote: It is truly remarkable the lengths that Perl programmers seem to be willing go to in order to hide a function call or obscure the existence of an object. :) Not all of the poly- and allomorphism in the world comes from traditional object

Re: [CVS ci] object stuff

2003-12-10 Thread Jeff Clites
On Dec 9, 2003, at 3:40 PM, Dan Sugalski wrote: At 5:46 PM +0100 12/5/03, Leopold Toetsch wrote: Melvin Smith [EMAIL PROTECTED] wrote: At 05:14 PM 12/5/2003 +0100, Leopold Toetsch wrote: set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the

Re: [CVS ci] object stuff

2003-12-10 Thread Luke Palmer
Dan Sugalski writes: At 05:14 PM 12/5/2003 +0100, Leopold Toetsch wrote: set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the assembler mangle the Foo::i to Foo\0i I don't like it either, but the alternative is to impose an external

Re: [CVS ci] object stuff

2003-12-10 Thread Tim Bunce
On Wed, Dec 10, 2003 at 01:37:22AM -0700, Luke Palmer wrote: I think a heirarchy is a good idea for namespacing in general. I've always wanted to be able to tie namespaces in Perl 5. It would only make sense that if I tie Foo::, that Foo::anything:: would also go through that tie to get

Re: More object stuff

2003-12-10 Thread Harry Jackson
Dan Sugalski wrote: If someone'd like to take a shot at making a nice OO wrapper for Postgres, especially if they'd like to upgrade the postgres interface to 7.4, I would very much appreciate it. It'd be a nice demo, and a good start on a DBI module for us. (And yeah, there's an element of do

Re: [CVS ci] object stuff

2003-12-10 Thread Melvin Smith
At 01:37 AM 12/10/2003 -0700, Luke Palmer wrote: Dan Sugalski writes: At 05:14 PM 12/5/2003 +0100, Leopold Toetsch wrote: set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the assembler mangle the Foo::i to Foo\0i I don't like it either, but

Re: [CVS ci] object stuff

2003-12-10 Thread Melvin Smith
At 12:16 PM 12/10/2003 +, Tim Bunce wrote: *{Foo\0Bar\0Baz}-{var}; or *{Foo\0Bar\0Baz\0var}; [snip] I think Dan was proposing the first and that's fine. I think the second would be a mistake. Using a character that won't collide with HLL has a disadvantage in the general

RE: [CVS ci] object stuff

2003-12-10 Thread Robert Eaglestone
Quoth Melvin Smith: It be a bit friendlier to make the scope resolution operator something that at least 1 or 2 languages use as their own already; then all the rest still have to mangle. Uh oh, time to vote?

RE: [CVS ci] object stuff

2003-12-10 Thread Melvin Smith
At 11:34 AM 12/10/2003 -0600, Robert Eaglestone wrote: Quoth Melvin Smith: It be a bit friendlier to make the scope resolution operator something ^^ ACK that at least 1 or 2 languages use as their own already; then all the rest still have to mangle. Uh oh, time to vote? Voting for

Meta-post about perl6-internals (was: object stuff)

2003-12-10 Thread Robert Eaglestone
Voting for myself for having the most consecutive posts with bad grammar. -Melvin This may be the wrong forum to post this, but it has to be said: the combination of humility, professionalism, and competence in the developers of Parrot is amazing. It is very refreshing and encouraging.

Re: [CVS ci] object stuff

2003-12-10 Thread Tim Bunce
On Wed, Dec 10, 2003 at 12:26:04PM -0500, Melvin Smith wrote: At 12:16 PM 12/10/2003 +, Tim Bunce wrote: *{Foo\0Bar\0Baz}-{var}; or *{Foo\0Bar\0Baz\0var}; [snip] I think Dan was proposing the first and that's fine. I think the second would be a mistake. Using a

Re: More object stuff

2003-12-10 Thread Dan Sugalski
At 4:28 PM + 12/10/03, Harry Jackson wrote: Dan Sugalski wrote: If someone'd like to take a shot at making a nice OO wrapper for Postgres, especially if they'd like to upgrade the postgres interface to 7.4, I would very much appreciate it. It'd be a nice demo, and a good start on a DBI

Re: [CVS ci] object stuff

2003-12-09 Thread Dan Sugalski
At 5:46 PM +0100 12/5/03, Leopold Toetsch wrote: Melvin Smith [EMAIL PROTECTED] wrote: At 05:14 PM 12/5/2003 +0100, Leopold Toetsch wrote: set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the assembler mangle the Foo::i to Foo\0i Something about

[CVS ci] object stuff

2003-12-05 Thread Leopold Toetsch
I've checked in a bunch of object stuff mainly attributes and a first try to call a method. Some remarks: newclass P1, Foo addattrib I1, P1, i set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the assembler mangle the Foo::i to Foo\0i Same

Re: [CVS ci] object stuff

2003-12-05 Thread Melvin Smith
At 05:14 PM 12/5/2003 +0100, Leopold Toetsch wrote: set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the assembler mangle the Foo::i to Foo\0i Something about this embedded \0 character bugs me. I know its what Dan has in the design doc but it just

Re: [CVS ci] object stuff

2003-12-05 Thread Leopold Toetsch
Melvin Smith [EMAIL PROTECTED] wrote: At 05:14 PM 12/5/2003 +0100, Leopold Toetsch wrote: set I2, P1[Foo\x00i] # I1 == I2 gets currently the attribute idx (0) of $Foo::i. Q: Should the assembler mangle the Foo::i to Foo\0i Something about this embedded \0 character bugs me. I know its

Re: More object stuff

2003-12-04 Thread Leopold Toetsch
Michal Wallace [EMAIL PROTECTED] wrote: What is the _return_cc attribute on an exception? Can I use it to resume the code as if the exception never happened? When an exception is resumable, you can return by invoking this return continuation. But details (i.e. is C_return_cc put into P1

Re: More object stuff

2003-12-04 Thread Jeff Clites
On Dec 3, 2003, at 12:03 PM, Dan Sugalski wrote: At 12:17 PM +0100 12/3/03, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: *) Exceptions we're happy with Create an Exception class hierarchy? I'm not 100% sure I want to go with a real OO style of exceptions, but that might just

Re: More object stuff

2003-12-03 Thread Leopold Toetsch
Dan Sugalski [EMAIL PROTECTED] wrote: The code definitely needs some looking at and cleanup. It's not perfect and I expect it's flawed in a number of places. I'm just happy to get the damn stuff into the repository so the bytecode tests can start. I've put in a first test. Needed some

Re: More object stuff

2003-12-03 Thread Dan Sugalski
At 12:17 PM +0100 12/3/03, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: The code definitely needs some looking at and cleanup. It's not perfect and I expect it's flawed in a number of places. I'm just happy to get the damn stuff into the repository so the bytecode tests can

Re: More object stuff

2003-12-03 Thread Leopold Toetsch
Dan Sugalski [EMAIL PROTECTED] wrote: At 12:17 PM +0100 12/3/03, Leopold Toetsch wrote: Create an Exception class hierarchy? I'm not 100% sure I want to go with a real OO style of exceptions, but that might just be the neo-luddite in me. It probably depends what HLL want to have. Anyway, I

Re: More object stuff

2003-12-03 Thread Michal Wallace
On Wed, 3 Dec 2003, Leopold Toetsch wrote: Dan Sugalski [EMAIL PROTECTED] wrote: At 12:17 PM +0100 12/3/03, Leopold Toetsch wrote: Create an Exception class hierarchy? I'm not 100% sure I want to go with a real OO style of exceptions, but that might just be the neo-luddite in me.

Re: Object stuff

2003-12-02 Thread Dan Sugalski
At 2:05 AM +0300 12/2/03, Vladimir Lipsky wrote: From: Dan Sugalski [EMAIL PROTECTED] Sent: Monday, December 01, 2003 9:53 PM *) I've made the Parrot_base_vtable array movable again, as it needs to be resized. This is a temporary hack, since there are horrible threading issues here. (Not to

More object stuff

2003-12-02 Thread Dan Sugalski
Now that objects at least limp along a bit (albeit in a crashy, hackish way) it's time to look forward a bit. The code definitely needs some looking at and cleanup. It's not perfect and I expect it's flawed in a number of places. I'm just happy to get the damn stuff into the repository so the

Object stuff

2003-12-01 Thread Dan Sugalski
I'm working on objects this morning--I need 'em, so they've become unavoidable. (boo!) So, anyway, here are a few design decision things. *) While we've facilities for a method cache, I'm ducking that for now. I expect performance to suck rocks until that's undone, but to do it right requires

Re: Object stuff

2003-12-01 Thread Vladimir Lipsky
From: Dan Sugalski [EMAIL PROTECTED] Sent: Monday, December 01, 2003 9:53 PM *) I've made the Parrot_base_vtable array movable again, as it needs to be resized. This is a temporary hack, since there are horrible threading issues here. (Not to mention the fact that this table is global and

is, has, and does (more object stuff)

2003-01-16 Thread Dan Sugalski
I still have most of yesterday's p6i mail to dig through (and probably won't until this evening), but one thing that's struck me (courtesy of an ill-timed grumble about objects) is that there are really three ways to do inheritance, and most languages sort of do them, with varying amounts of