1. Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 11, 2004
- 546 views
- Last edited Dec 12, 2004
I've just released the first version of this. It should show up on the RDS page soon. I've also put it up on my page, but I'd like to request that if you have a registered version of the translator, please don't download the executables (it's a free web page, and my bandwidth is pretty limited): http://www14.brinkster.com/matthewlewis/projects.html Here's a quick overview of what you can do with it: Create classes ('euclass'es, to be precise). Each class can have its own set of member routines, which can be called by dot notation. You can have multiple methods with the same name as long as they take different number or types of arguments. Each class may inherit from another class, and it automatically inherits any methods from its parent(s). These methods may also be over-ridden. Matt Lewis
2. Re: Object Oriented Euphoria
- Posted by Mario Steele <eumario at trilake.net> Dec 11, 2004
- 515 views
- Last edited Dec 12, 2004
The only thing I have to say, is thank you. It looks absolutely beautiful, for what you have so far. Keep up the good work Matt, maybe we can show Robert that he hasn't made a mistake by opening up the interpreter source code, even if it's in Euphoria. Mario
3. Re: Object Oriented Euphoria
- Posted by Tone Škoda <tskoda at email.si> Dec 12, 2004
- 487 views
Matt, this looks very good. I would use it, especially if preprocessor will be available so that there is no speed loss. If only it would work more "intuitive", like example I gave below. I would also like to use classes as structures, ie only data no routines. Because the meaning of OO or classes for me is in that it helps me organize my code more clear. I like name class more than euclass. About trace or debugger: in my opinion it should be part of editor, so that you have all at one place. Debugger will have to display lines of code anyway, why not use an existing editor to do it?
include get.e euclass PERSON integer age sequence name procedure show_stats () printf (1, "Persons name is %s and is %d years old.\n", {name, age}) end procedure end euclass PERSON tone tone.age = 23 tone.name = "Tone Škoda" tone.show_stats () if wait_key () then end if
Matt Lewis wrote: > > > I've just released the first version of this. It should show up on > the RDS page soon. I've also put it up on my page, but I'd like to > request that if you have a registered version of the translator, please > don't download the executables (it's a free web page, and my bandwidth > is pretty limited): > > <a > href="http://www14.brinkster.com/matthewlewis/projects.html">http://www14.brinkster.com/matthewlewis/projects.html</a> > > Here's a quick overview of what you can do with it: > > Create classes ('euclass'es, to be precise). Each class can have its > own set of member routines, which can be called by dot notation. You > can have multiple methods with the same name as long as they take different > number or types of arguments. Each class may inherit from another class, > and it automatically inherits any methods from its parent(s). These > methods may also be over-ridden. > > Matt Lewis >
4. Re: Object Oriented Euphoria
- Posted by "Kat" <gertie at visionsix.com> Dec 12, 2004
- 512 views
- Last edited Dec 13, 2004
On 12 Dec 2004, at 10:59, Tone =8Akoda wrote: > > > posted by: Tone =8Akoda <tskoda at email.si> > > Matt, this looks very good. I would use it, especially if preprocessor wi= ll be > available so that there is no speed loss. If only it would work more > "intuitive", like example I gave below. > > I would also like to use classes as structures, ie only data no routines.= > Because the meaning of OO or classes for me is in that it helps me organi= ze my > code more clear. > > I like name class more than euclass. > > About trace or debugger: in my opinion it should be part of editor, so th= at you > have all at one place. Debugger will have to display lines of code anyway= , why > not use an existing editor to do it? > > }}} <eucode> >=20 > include get.e >=20 > euclass PERSON > integer age > sequence name > procedure show_stats () > printf (1, "Persons name is %s and is %d years old.\n", > {name, age}) > end procedure > end euclass >=20 > PERSON tone > tone.age = 23 > tone.name = "Tone =8Akoda" > tone.show_stats () >=20 > if wait_key () then end if >=20 > </eucode> {{{ Good stuff. Where i differ on everyone i know is in inheritance and descendants. I wish to allow full overloading and multiple inheritances, li= ke: <not any code in particular> class a = bird properties = { } methods ____ class b = mammal properties = { } methods ___ class platypus ==20 inherit class a inherit class b -- last inherit has priority properties = { } -- overload as necessary methods ____ -- overload as necessary </code> Also, dynamic changes in methods and any data field while the program is= running, with changes (or additions or deletions) propagated thru all descendants instantly. Kat
5. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 12, 2004
- 524 views
- Last edited Dec 13, 2004
Tone Škoda wrote: > > Matt, this looks very good. I would use it, especially if preprocessor will be > available > so that there is no speed loss. If only it would work more "intuitive", like > example > I gave below. It turns out the preprocessor is fairly trivial, now that it correctly parses. I'm basically adding a '-p' command line option. It will then parse the program, and any files that needed to be modified are rewritten into a 'preprocess' subdirectory (from the directory where the main file was). > I would also like to use classes as structures, ie only data no routines. > Because the > meaning of OO or classes for me is in that it helps me organize my code more > clear. I'll have to think about how to manage this. Or maybe you can. :) > I like name class more than euclass. Me, too, but I've got several projects where class already exists, and I think euclass isn't too bad. We'll see. You can always change it in your copy, and use that in your code (keylist.e). > About trace or debugger: in my opinion it should be part of editor, so that > you have > all at one place. Debugger will have to display lines of code anyway, why not > use an > existing editor to do it? I'd like to have a nicer, GUI based editor, and I don't want to bloat the code to include all that. I *do* plan to give an API that others can use to build whatever sort of debugger they'd like. > }}} <eucode> > > include get.e > > euclass PERSON > integer age > sequence name > procedure show_stats () > printf (1, "Persons name is %s and is %d years old.\n", > {name, age}) > end procedure > end euclass > > PERSON tone > tone.age = 23 > tone.name = "Tone Škoda" > tone.show_stats () > > if wait_key () then end if > > </eucode> {{{ Hmmm...I've thought about making separate data, but I decided against it, because there would be other issues, like when and how to copy things. All data would be held in the class object itself (so maybe it's a sequence). It would probably be possible to turn something like the above into:
me.name ==> me[1]
Matt Lewis
6. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 12, 2004
- 512 views
- Last edited Dec 13, 2004
Kat wrote: > > Good stuff. Where i differ on everyone i know is in inheritance and > descendants. I wish to allow full overloading and multiple inheritances, li= > ke: > > <not any code in particular> > class a = bird > properties = { } > methods ____ > class b = mammal > properties = { } > methods ___ > > class platypus ==20 > inherit class a > inherit class b -- last inherit has priority > properties = { } -- overload as necessary > methods ____ -- overload as necessary > > </code> I suppose the multiple inheritance thing would be possible. It could be done right now (although not automagically) by creating a platypus as a class b, and then casting to a where necessary. I'll think about how to implement this further. > Also, dynamic changes in methods and any data field while the program is > running, with changes (or additions or deletions) propagated thru all > descendants instantly. I don't think there's any way to do this (unless I start mucking around in the back end, which destroys my ability to be compatible via preprocessor or possible future 2-step binding). I don't see an example of this above. Could you give an example of how you might do this? Matt Lewis
7. Re: Object Oriented Euphoria
- Posted by Bernie Ryan <xotron at bluefrog.com> Dec 12, 2004
- 510 views
- Last edited Dec 13, 2004
I'll have to think about how to manage this. Or maybe you can. :) >> I like name class more than euclass. > Me, too, but I've got several projects where class already exists, and I > think euclass isn't too bad. We'll see. You can always change it in > your copy, and use that in your code (keylist.e). How about class_ with an underscore ! By the way, in the PD source where is the pc (program counter) global variable located. Bernie My files in archive: w32engin.ew mixedlib.e eu_engin.e win32eru.ew Can be downloaded here: http://www.rapideuphoria.com/cgi-bin/asearch.exu?dos=on&win=on&lnx=on&gen=on&keywords=bernie+ryan
8. Re: Object Oriented Euphoria
- Posted by Greg Haberek <ghaberek at gmail.com> Dec 12, 2004
- 507 views
- Last edited Dec 13, 2004
> By the way, in the PD source where is the pc (program counter) > global variable located. -- execute.e: line 68 integer pc, a, b, c, d, target, len, keep_running ~Greg
9. Re: Object Oriented Euphoria
- Posted by "Kat" <gertie at visionsix.com> Dec 12, 2004
- 511 views
- Last edited Dec 13, 2004
On 12 Dec 2004, at 12:51, Matt Lewis wrote: > > > posted by: Matt Lewis <matthewwalkerlewis at yahoo.com> > > Kat wrote: > > > > Good stuff. Where i differ on everyone i know is in inheritance and > > descendants. I wish to allow full overloading and multiple inheritances, li= > > ke: > > > > <not any code in particular> > > class a = bird > > properties = { } > > methods ____ > > class b = mammal > > properties = { } > > methods ___ > > > > class platypus ==20 > > inherit class a > > inherit class b -- last inherit has priority > > properties = { } -- overload as necessary > > methods ____ -- overload as necessary > > > > </code> > > I suppose the multiple inheritance thing would be possible. It could be > done right now (although not automagically) by creating a platypus as > a class b, and then casting to a where necessary. I'll think about how > to implement this further. > > > Also, dynamic changes in methods and any data field while the program is > > running, with changes (or additions or deletions) propagated thru all > > descendants instantly. > > I don't think there's any way to do this (unless I start mucking around > in the back end, which destroys my ability to be compatible via preprocessor > or > possible future 2-step binding). I don't see an example of this above. Could > you give an example of how you might do this? 1) one fine day in Oz, we don't know of the playtpus 2) the next fine day in Oz, we find it 3) the following day, supervisors are raising heck because the platypus cannot exist in the known classifications. 4) a confusing day in Europe, those nuts in Oz came up with a platyus thing, and we haveto make a new class for it without rebooting reality. Kat
10. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 13, 2004
- 499 views
Kat wrote: > > On 12 Dec 2004, at 12:51, Matt Lewis wrote: > > > > > posted by: Matt Lewis <matthewwalkerlewis at yahoo.com> > > > > Kat wrote: > > > > > Also, dynamic changes in methods and any data field while the program is > > > running, with changes (or additions or deletions) propagated thru all > > > descendants instantly. > > > > I don't think there's any way to do this (unless I start mucking around > > in the back end, which destroys my ability to be compatible via preprocessor > > or > > possible future 2-step binding). I don't see an example of this above. > > Could > > you give an example of how you might do this? > > 1) one fine day in Oz, we don't know of the playtpus > 2) the next fine day in Oz, we find it > 3) the following day, supervisors are raising heck because the platypus > cannot exist in the known classifications. > 4) a confusing day in Europe, those nuts in Oz came up with a platyus thing, > and we haveto make a new class for it without rebooting reality. I understand why this is useful. I'm just not sure how it could be implemented--other than, I suppose, some sort of eval function. I've thought a little about this, but I'm not sure how to do it... Do you have an idea of what an implementation might look like? Matt Lewis
11. Re: Object Oriented Euphoria
- Posted by "Kat" <gertie at visionsix.com> Dec 13, 2004
- 510 views
On 12 Dec 2004, at 19:07, Matt Lewis wrote: > > > posted by: Matt Lewis <matthewwalkerlewis at yahoo.com> > > Kat wrote: > > > > On 12 Dec 2004, at 12:51, Matt Lewis wrote: > > > > > > > > posted by: Matt Lewis <matthewwalkerlewis at yahoo.com> > > > > > > Kat wrote: > > > > > > > Also, dynamic changes in methods and any data field while the program is > > > > running, with changes (or additions or deletions) propagated thru all > > > > descendants instantly. > > > > > > I don't think there's any way to do this (unless I start mucking around in > > > the back end, which destroys my ability to be compatible via preprocessor > > > or > > > possible future 2-step binding). I don't see an example of this above. > > > Could you give an example of how you might do this? > > > > 1) one fine day in Oz, we don't know of the playtpus > > 2) the next fine day in Oz, we find it > > 3) the following day, supervisors are raising heck because the platypus > > cannot exist in the known classifications. > > 4) a confusing day in Europe, those nuts in Oz came up with a platyus thing, > > and we haveto make a new class for it without rebooting reality. > > I understand why this is useful. I'm just not sure how it could be > implemented--other than, I suppose, some sort of eval function. I've > thought a little about this, but I'm not sure how to do it... > > Do you have an idea of what an implementation might look like? In the Eu source, no, sorry. Since RobC won't put in an eval(), i can't think of a way to make this happen in Eu. With eval(), it would be simple to drop everything into associated lists, use routine_id and var_id and eval() to add classes, methods, etc while the app is running. It's so difficult to come up with every scenario of input and expected output in real world interactions, but with mirc it's almost trivial because i can $eval() the latest data and methods of handling it. Kat
12. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 13, 2004
- 523 views
Kat wrote: > > In the Eu source, no, sorry. Since RobC won't put in an eval(), i can't think > of > a way to make this happen in Eu. With eval(), it would be simple to drop > everything into associated lists, use routine_id and var_id and eval() to add > classes, methods, etc while the app is running. It's so difficult to come up > with every scenario of input and expected output in real world interactions, > but with mirc it's almost trivial because i can $eval() the latest data and > methods of handling it. > OK, that's what I figured. I'll have to think about how to get an eval() statement. That's something I'd like, too. Matt Lewis
13. Re: Object Oriented Euphoria
- Posted by Patrick Barnes <mrtrick at gmail.com> Dec 13, 2004
- 505 views
On Mon, 13 Dec 2004 03:48:35 -0800, Matt Lewis <guest at rapideuphoria.com> wrote: > > > posted by: Matt Lewis <matthewwalkerlewis at yahoo.com> > > Kat wrote: > > > > In the Eu source, no, sorry. Since RobC won't put in an eval(), i can't > > think of > > a way to make this happen in Eu. With eval(), it would be simple to drop > > everything into associated lists, use routine_id and var_id and eval() to > > add > > classes, methods, etc while the app is running. It's so difficult to come up > > with every scenario of input and expected output in real world interactions, > > but with mirc it's almost trivial because i can $eval() the latest data and > > methods of handling it. > > > > OK, that's what I figured. I'll have to think about how to get an eval() > statement. That's something I'd like, too. > > Matt Lewis > > > > > -- MrTrick
14. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 13, 2004
- 520 views
Kat wrote: > > Good stuff. Where i differ on everyone i know is in inheritance and > descendants. I wish to allow full overloading and multiple inheritances, li= > ke: > > <not any code in particular> > class a = bird > properties = { } > methods ____ > class b = mammal > properties = { } > methods ___ > > class platypus ==20 > inherit class a > inherit class b -- last inherit has priority > properties = { } -- overload as necessary > methods ____ -- overload as necessary > > </code> Thought about this a little more. I think what I would do is to make a class declaration look like:
euclass platypus( a A, b B ) end euclass
Or possibly the arguments would be reversed (b has priority over a). But here would be my question: What about the subclasses of a and b? Should I look through all of b's subclasses before I check a? I'm guessing that I should. I think this would be doable. One thing, though, you'd need to make sure that all the subclasses were type-compatible. Matt Lewis
15. Re: Object Oriented Euphoria
- Posted by Pete Lomax <petelomax at blueyonder.co.uk> Dec 13, 2004
- 520 views
On Mon, 13 Dec 2004 05:06:36 -0800, Matt Lewis <guest at RapidEuphoria.com> wrote: >But here would be my question: What about the subclasses of a and b? >Should I look through all of b's subclasses before I check a? Wasn't that one of the problems with multiple inheritance? If both a and b have method1 and method2 wasn't there some reason you couldn't use a's method1 and b's method2? (Don't ask me what language I heard this about, I have no idea.) Anyway it would make more sense to me to be explicit about these things, if there is any ambiguity that is. I suppose it is OK to allow the compiler to "guess" which method you mean, but allow an optional "namespace" qualifier. Rats nests of inherited methods are worse than spaghetti gotos, imo, though source-level trace is an obvious aide. Regards, Pete
16. Re: Object Oriented Euphoria
- Posted by "Mike Nelson" <MichaelANelson at worldnet.att.net> Dec 13, 2004
- 513 views
Matt Lewis wrote: > Thought about this a little more. I think what I would do is to make > a class declaration look like: > }}} <eucode> > euclass platypus( a A, b B ) > > end euclass > </eucode> {{{ > Or possibly the arguments would be reversed (b has priority over a). > But here would be my question: What about the subclasses of a and b? > Should I look through all of b's subclasses before I check a? I'm guessing > that I should. I think this would be doable. One thing, though, you'd > need to make sure that all the subclasses were type-compatible. > It's more complicated than that. The following link shows how Python handles it from version 2.3 onward: http://www.python.org/2.3/mro.html The complexity is not just in the subclasses, but in the superclasses that a and b may have in common. For example, a and b are both subclasses of c and c defines a method x. Both a and b override x to add their own functionality and then call c's x method to perform its task. If we have euclass platypus ... as above and have platypus p p.x where platypus overrides x and calls both superclass methods. This will result in c's x method being called twice for the same transaction which is usually redundant and often an error--though in some cases it is the correct behaviour. In C++ the programmer must disambiguate everything. All other major langauges that I know of (Java, C#, Ruby, Smalltalk ...) use single inheritence, ordinarily with some mechanism to get some of the benfits of multiple inheritance without the complexity (Java and C# interfaces, Ruby modules ...). I coded but never released a multiple inheritance version of Diamond (never quite got it working)--to my perception as coder, the complexity level was at least double. -- Mike Nelson
17. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 13, 2004
- 504 views
Pete Lomax wrote: > > On Mon, 13 Dec 2004 05:06:36 -0800, Matt Lewis > <guest at RapidEuphoria.com> wrote: > > >But here would be my question: What about the subclasses of a and b? > >Should I look through all of b's subclasses before I check a? > > Wasn't that one of the problems with multiple inheritance? If both a > and b have method1 and method2 wasn't there some reason you couldn't > use a's method1 and b's method2? (Don't ask me what language I heard > this about, I have no idea.) > > Anyway it would make more sense to me to be explicit about these > things, if there is any ambiguity that is. I suppose it is OK to allow > the compiler to "guess" which method you mean, but allow an optional > "namespace" qualifier. Rats nests of inherited methods are worse than > spaghetti gotos, imo, though source-level trace is an obvious aide. The way I have it set up, you can *always* be specific, if you like, by specifying the name of the euclass before the dot, then the method name, and then the 'euobject' as the first parameter. There's nothing inherently special about the datatype of an euobject. As long as it passes normal typechecking, it should be fine (that's the spec, anyway :). The multiple inheritance would be there to offer a 'default' way of doing this. Mike Nelson wrote: > > The complexity is not just in the subclasses, but in the superclasses that a > and b may have in common. For example, a and b are both subclasses of c and > c defines a method x. Both a and b override x to add their own functionality > and then call c's x method to perform its task. If we have euclass platypus > ... as above and have Yes, the approach I was thinking of taking was to basically ignore the fact that there may be some duplicate subclasses. Then traverse the tree of subclasses based on a simple hierarchy rule (first or last) declared subclass is searched first, and all of its subclasses, using the same precedence rule. I don't care *too* much about the wasted effort spent looking at duplicates (assuming I haven't found anything), since it's all done during compile time, and you can always remove that by binding/shrouding/preprocessing. > where platypus overrides x and calls both superclass methods. This will > result in c's x method being called twice for the same transaction which is > usually redundant and often an error--though in some cases it is the correct > behaviour. There's no automatic calling subclass methods. Only one routine will be called (the first one found). If you want them to call subclass methods, it will have to be explicitly done within the method. I wouldn't want to have to deal with that as a coder, let alone as a language designer-- it's always sort of bugged me that constructors work like this (in C++ at least), although I suppose I can see the usefulness there. Matt Lewis
18. Re: Object Oriented Euphoria
- Posted by "Kat" <gertie at visionsix.com> Dec 13, 2004
- 509 views
- Last edited Dec 14, 2004
On 13 Dec 2004, at 6:53, Mike Nelson wrote: > > > Matt Lewis wrote: > > > Thought about this a little more. I think what I would do is to make > > a class declaration look like: > > }}} <eucode> > > euclass platypus( a A, b B ) > > > > end euclass > > </eucode> {{{ > > Or possibly the arguments would be reversed (b has priority over a). > > But here would be my question: What about the subclasses of a and b? > > Should I look through all of b's subclasses before I check a? I'm > guessing > > that I should. I think this would be doable. One thing, though, you'd > > need to make sure that all the subclasses were type-compatible. And here i thought it would be more of a matter of overwriting any preceeding declarations. No duplicates to consider. For any tree, if you overwrite in the inheritance statement, you get the latest trunk and branches, If you manually change a branch (subclass), then you have new subclasses for that trunk within the class that did the inheriting. It's all still addressed the same: platypus.trunk.branch.whatever Even tho you inherited something from mammal, like legs, when dealing with platypus you don't do mammal.legs.anything , you do : platypus.legs.whatever If you overwrite whatever, it is NOT relayed back up the inheritance. So something like platypus.legs.spines, is not found in mammals.legs._. Consider the famous Jiri associated lists. If you call (look for, request, etc) a item there, you get it. If the associated list "look and feel" is used to hold the trunks and branches, then each inheritance writes in it's methods and data. If the next inheritance does the same, it overwrites the old data. Unless you "inherit as"? But the end result is: if some inheritance wrote it, you have it,, but if no inheritance wrote it, the call returns "not found" (or -1 or "blah" or etc), but doesn't crash. If you want a blend of two parents, write it, since you can't inherit the blend by the same name. Instead of such a high class as platypus, consider mammal feet. Some walk on toe(s) (cat, horse, etc), some on the entire foot (human, elephant, etc). Just about everwhere, a learning box will wish to overwrite a method or data, without rebooting, as new data becomes available which the programmer could not have foreseen. Kat Http://TiggrBox.Info
19. Re: Object Oriented Euphoria
- Posted by "danielmoyer" <danielmoyer at prodigy.net> Dec 14, 2004
- 511 views
A bit of irrelevance: Elephants essentially walk on their toes. http://elephant.elehost.com/About_Elephants/Anatomy/The_Feet/the_feet.html Kat wrote: > Instead of such a high class as platypus, consider mammal feet. Some walk > on toe(s) (cat, horse, etc), some on the entire foot (human, elephant, etc). Dan Moyer ps. Hope your new lawyer can help you!! ----- Original Message ----- From: "Kat" <gertie at visionsix.com> To: <EUforum at topica.com> Sent: Monday, December 13, 2004 11:31 AM Subject: Re: Object Oriented Euphoria <snip> > Instead of such a high class as platypus, consider mammal feet. Some walk > on toe(s) (cat, horse, etc), some on the entire foot (human, elephant, etc). > Just about everwhere, a learning box will wish to overwrite a method or data, > without rebooting, as new data becomes available which the programmer > could not have foreseen. > > Kat > Http://TiggrBox.Info > > > >
20. Re: Object Oriented Euphoria
- Posted by "Kat" <gertie at visionsix.com> Dec 14, 2004
- 516 views
On 13 Dec 2004, at 19:08, Dan Moyer wrote: > > > A bit of irrelevance: > > Elephants essentially walk on their toes. > > http://elephant.elehost.com/About_Elephants/Anatomy/The_Feet/the_feet.html But the heel is held up by the rest of the thick padding under it. See the bone structure in a pic on that page. It is a weight bearing heel. Rather like walking on foam high heels. As the heel padding breaks down under age and weight, the heel sinks lower, the padding spreads back, and you get this :The fore foot of an elephant has a circular shaped outline and the back foot takes more of an oval shape. However, "elongated oval footprints footprints usually indicate an adult male" . But basically, i'll haveto edit my elephant.foot method? Kat > Kat wrote: > > > Instead of such a high class as platypus, consider mammal feet. Some walk on > > toe(s) (cat, horse, etc), some on the entire foot (human, elephant, > etc). > > Dan Moyer > > ps. Hope your new lawyer can help you!! > > ----- Original Message ----- > From: "Kat" <gertie at visionsix.com> > To: <EUforum at topica.com> > Sent: Monday, December 13, 2004 11:31 AM > Subject: Re: Object Oriented Euphoria > > <snip> > > > > Instead of such a high class as platypus, consider mammal feet. Some walk on > > toe(s) (cat, horse, etc), some on the entire foot (human, elephant, > etc). > > Just about everwhere, a learning box will wish to overwrite a method or > data, > > without rebooting, as new data becomes available which the programmer > > could not have foreseen. > > > > Kat > > Http://TiggrBox.Info > > > > > > >
21. Re: Object Oriented Euphoria
- Posted by "danielmoyer" <danielmoyer at prodigy.net> Dec 14, 2004
- 518 views
Kat wrote: > > > On 13 Dec 2004, at 19:08, Dan Moyer wrote: > > > > > A bit of irrelevance: > > > > Elephants essentially walk on their toes. > > > > http://elephant.elehost.com/About_Elephants/Anatomy/The_Feet/the_feet.html > > But the heel is held up by the rest of the thick padding under it. See the bone > structure in a pic on that page. It is a weight bearing heel. You're right, & that's why I said "essentially", instead of what my original "actually" :) >Rather like walking on > foam high heels. As the heel padding breaks down under age and weight, the heel > sinks lower, the padding spreads back, and you get this :The fore foot of an > elephant has a circular shaped outline and the back foot takes more of an oval > shape. However, "elongated oval footprints footprints usually indicate an adult > male" . > > But basically, i'll haveto edit my elephant.foot method? Maybe; they do walk on their whole "foot", as you said, AND on "tip-toes", too. Maybe they also need to be considered "ballet-dancers" also, heh heh heh :) > > Kat > > > Kat wrote: > > > > > Instead of such a high class as platypus, consider mammal feet. Some walk on > > > toe(s) (cat, horse, etc), some on the entire foot (human, elephant, > > etc). > > > > Dan Moyer > > > > ps. Hope your new lawyer can help you!! > > > > ----- Original Message ----- > > From: "Kat" <gertie at visionsix.com> > > To: <EUforum at topica.com> > > Sent: Monday, December 13, 2004 11:31 AM > > Subject: Re: Object Oriented Euphoria > > > > <snip> > > > > > > > Instead of such a high class as platypus, consider mammal feet. Some walk on > > > toe(s) (cat, horse, etc), some on the entire foot (human, elephant, > > etc). > > > Just about everwhere, a learning box will wish to overwrite a method or > > data, > > > without rebooting, as new data becomes available which the programmer > > > could not have foreseen. > > > > > > Kat > > > Http://TiggrBox.Info > > > > > > > > >
22. Re: Object Oriented Euphoria
- Posted by Dave Probert <zingo at purpletiger.com> Dec 14, 2004
- 521 views
Matt: Any chance of some instructions for beginners on where to place your OO version files (installation), and also some basic example code to show off the features (usage)? The readme does not really go into any detail on these aspects. Cheers, Dave . .. : :: = == == = :: : .. . Server-Side DB driven web sites, Software Development and part-time games developer contact dave_p at purpletiger dot com . .. : :: = == == = :: : .. .
23. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 14, 2004
- 511 views
Dave Probert wrote: > > Matt: > Any chance of some instructions for beginners on where to place your OO > version files > (installation), and also some basic example code to show off the features > (usage)? > The readme does not really go into any detail on these aspects. OK, I'll add some of that. In the meantime, you can put the executables in your %EUDIR%/bin directory. Then you can use them just like the normal euphoria interpreters from the command line. You can put the source stuff wherever you like. Then, to run code, the easiest thing is to develop your code in the same directory. This is messy, though, so you might want to put it in a subdir or a sibling dir. Then you just need to supply the path to the main file from the command line: exw eu.ex subdir\my_app.exw exu eu.ex ../sibling_dir/my_app.exw There's one demo file (not mentioned in the readme, unfortunately) called class.ex. It shows a bit of what you can do. As I mentioned earlier, I'm shooting to put up a new [source] release later today. Matt Lewis
24. Re: Object Oriented Euphoria
- Posted by Dave Probert <zingo at purpletiger.com> Dec 14, 2004
- 503 views
Superb. Exactly what the doctor ordered :) I'm gonna be taking a good look at it all later tonight :) BTW, in your opinion is it a good idea to upgrade to Eu2.5 in general. I've got a couple of commercial apps in development and I don't want to mess them up when everything is working fine under 2.4. Cheers Dave . .. : :: = == == = :: : .. . Server-Side DB driven web sites, Software Development and part-time games developer contact dave_p at purpletiger dot com . .. : :: = == == = :: : .. .
25. Re: Object Oriented Euphoria
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Dec 14, 2004
- 521 views
Dave Probert wrote: > > Superb. Exactly what the doctor ordered :) > > I'm gonna be taking a good look at it all later tonight :) > > BTW, in your opinion is it a good idea to upgrade to Eu2.5 in general. > I've got a couple of commercial apps in development and I don't want to mess > them up > when everything is working fine under 2.4. I can only think of one hiccup with 2.5, and that's not being able to see constants in the trace screen (which Rob is fixing for the beta). Matt Lewis
26. Object Oriented Euphoria
- Posted by Ken Rhodes <ken_rhodes30436 at yahoo.com> Jan 21, 2003
- 520 views
For Liu: If Object Oriented Programming in Euphoria is what you want then I suggest you take a look at Mike Nelson's Diamond libraries for OOP in Euphoria. Mike has continued to maintain and improve his libraries for several years now. He has even gone so far as to provide two flavors - Diamond Lite, for beginners: http://www.rapideuphoria.com/diamondlite.zip and Diamond, a full featured OOP library: http://www.rapideuphoria.com/diamond.zip I for one would appreciate your removing the "Euphoria has a long way to go" signature from your emails. There is something very strange about a person who pops into a community and then immediately starts to identify himself as a critic. You might also like to take a look at the Ruby Programming language - it is OOP from start to finish. Ken Rhodes --- Liu Junfeng <rufi at 163.com> wrote: > > What I like most about Euphoria are: > 1.simple and clear syntax > 2.flexible sequence > 3.can call dll function > 4.easy and convenient to trace and debug > 5.high performance > > my dislikes are: > Not object oriented, can't define new object, can't > overload operator. > > Euphoria has a long way to go! > > > > > TOPICA - Start your own email discussion group. > FREE! > > >
27. Re: Object Oriented Euphoria
- Posted by jbrown1050 at hotpop.com Jan 21, 2003
- 537 views
On Tue, Jan 21, 2003 at 11:06:25AM -0800, Ken Rhodes wrote: > I for one would appreciate your removing the > "Euphoria has a long way to go" signature from > your emails. There is something very strange about a > person who pops into a community and then immediately > starts to identify himself as a critic. Ah yes, I remember a certain "Xanax" who did the same thing, though to a lesser degree .... (Not that I'm saying Euman is behind it again this time. But I would not be suprised if this person was in fact another oldtimer with a grudge.) jbrown -- /"\ ASCII ribbon \ / campain against X HTML e-mail and /*\ news and unneeded MIME