Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #22388
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: The current object (was: Went open source with my GA144 ...) |
| Date | 2013-05-07 14:33 +0000 |
| Organization | Institut fuer Computersprachen, Technische Universitaet Wien |
| Message-ID | <2013May7.163357@mips.complang.tuwien.ac.at> (permalink) |
| References | (8 earlier) <klu9fd$ifv$1@online.de> <2013May3.185010@mips.complang.tuwien.ac.at> <km3emu$3e3$1@online.de> <2013May6.181214@mips.complang.tuwien.ac.at> <km9no8$equ$1@online.de> |
Bernd Paysan <bernd.paysan@gmx.de> writes:
>Anton Ertl wrote:
>
>>>Since you *do* *use* >o and o>
>>>under a different name, telling me that >o and o> are evil is a bit silly.
>>
>> The evil part is requiring to pass the object to the selectors through
>> extra state instead of on the data stack. Objects.fs does not do
>> that, and objects2 won't do it, either.
>
>So it's evil to pass it that way to a selector,
Yes.
> but it's not evil to pass it
>that way to an ivar?
Not as evil. Instance variables of an object are typically only
accessed from methods of that object; it makes little sense to tick
them and pass them around. Selectors can be and are called from
anywhere, and their xts should follow normal Forth calling conventions
(i.e., passing everything on the stacks), so that they can be used
interchangeably with the xts of normal Forth words.
In the unusual case that we want to access an instance variable from
elsewhere or to have an xt for it, there are two solutions:
1) Write accessor words that you can then use elsewhere and tick, e.g.
:: get-bla ( obj -- bla ) bla @ ;;
:: set-bla ( bla obj -- ) bla ! ;;
2) Use field words from the start. They take the object off the
stack. That's the solution for people who want the kind of
consistency you argue.
>It's not *extra*. The state is already there, using it for something else
>doesn't make it any more evil.
"Extra" means "in addition to the stacks". BASE is also already
there, and using it as extra parameter is still evil.
> And I'm definitely not alone, considering that Forth Inc. is doing
>the same thing. Or Java or C++.
Java and C++ don't have >o o> or anything like it. They absolutely
don't do the same thing. The only way to change the current object in
Java and C++ is through a method call, just like in objects.fs.
- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: http://www.forth200x.org/forth200x.html
EuroForth 2013: http://www.euroforth.org/ef13/
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-25 03:23 -0500
Re: Went open source with my GA144 simulator written in Factor Alex McDonald <blog@rivadpm.com> - 2013-04-25 02:36 -0700
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-25 07:01 -0400
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-25 17:56 +0200
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-25 11:56 -0500
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-26 16:04 +0200
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-26 13:02 -0500
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-26 21:34 +0200
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-26 15:56 -0400
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-27 00:48 +0200
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-26 18:21 -0500
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-28 02:22 +0200
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-28 03:31 -0500
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-28 06:30 -0400
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-28 06:21 -0400
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-28 15:41 +0200
Re: Went open source with my GA144 simulator written in Factor Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-04-28 16:35 +0200
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-29 02:37 +0200
Re: Went open source with my GA144 simulator written in Factor Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-04-29 10:07 +0200
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-29 21:12 +0200
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-29 06:26 -0400
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-29 21:07 +0200
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-29 22:01 +0200
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-29 16:51 -0400
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-29 23:57 +0200
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-29 17:24 -0500
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-30 02:16 +0200
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-30 03:19 -0500
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-29 18:40 -0400
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-29 20:01 -0400
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-30 02:40 +0200
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-05-01 08:58 -0400
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-01 09:57 -0500
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-05-02 04:24 -0400
Re: Went open source with my GA144 simulator written in Factor Alex McDonald <blog@rivadpm.com> - 2013-05-01 07:58 -0700
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-05-02 04:29 -0400
Re: Went open source with my GA144 simulator written in Factor Alex McDonald <blog@rivadpm.com> - 2013-05-02 02:49 -0700
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-05-01 08:54 -0400
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-01 23:59 +0200
Re: Went open source with my GA144 simulator written in Factor Ron Aaron <rambamist@gmail.com> - 2013-04-30 06:05 +0300
The current object (was: Went open source with my GA144 ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-01 17:01 +0000
Re: The current object (was: Went open source with my GA144 ...) albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-05-01 19:20 +0000
Re: The current object (was: Went open source with my GA144 ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-02 17:02 +0000
Re: The current object (was: Went open source with my GA144 ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-02 02:12 +0200
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-02 04:52 -0400
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-02 04:31 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-02 18:25 +0200
Re: The current object anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-02 16:58 +0000
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-02 22:26 +0200
Re: The current object anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-06 14:52 +0000
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 03:47 +0200
Re: The current object anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-07 15:22 +0000
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-02 12:12 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-02 21:56 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-03 03:19 -0500
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-03 06:54 -0400
Re: The current object (was: Went open source with my GA144 ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-02 14:28 +0000
Re: The current object (was: Went open source with my GA144 ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-02 19:58 +0200
Re: The current object (was: Went open source with my GA144 ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-03 16:50 +0000
Re: The current object (was: Went open source with my GA144 ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-04 18:58 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-04 13:35 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-05 01:08 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-04 18:29 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-05 03:00 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-05 03:48 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-05 23:15 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-06 05:01 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 03:23 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-07 03:39 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 19:00 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-07 13:34 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 22:00 +0200
Re: The current object anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-08 07:26 +0000
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-05 06:39 -0400
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-05 09:15 -0500
Re: The current object Paul Rubin <no.email@nospam.invalid> - 2013-05-05 09:25 -0700
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-05 11:43 -0500
Re: The current object Paul Rubin <no.email@nospam.invalid> - 2013-05-05 09:59 -0700
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-06 05:06 -0500
Re: The current object Mark Wills <forthfreak@gmail.com> - 2013-05-06 00:19 -0700
Re: The current object "WJ" <w_a_x_man@yahoo.com> - 2013-05-13 22:45 +0000
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-05 06:39 -0400
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-05 23:40 +0200
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-05 06:39 -0400
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-05 23:29 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-06 05:10 -0500
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-08 07:35 -0400
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-09 00:06 +0200
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-09 06:41 -0400
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-11 21:31 +0200
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-12 07:40 -0400
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-14 01:10 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-14 03:58 -0500
Re: The current object anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-14 14:51 +0000
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-15 03:48 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-14 18:37 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-14 14:42 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-15 00:22 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-15 02:56 -0500
Re: The current object stephenXXX@mpeforth.com (Stephen Pelc) - 2013-05-15 13:52 +0000
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-15 17:58 +0200
Re: The current object albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-05-17 14:01 +0000
Re: The current object johno <email@address.com> - 2013-05-15 22:38 +0100
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-14 06:27 -0400
Re: The current object albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-05-09 16:06 +0000
Re: The current object (was: Went open source with my GA144 ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-06 16:12 +0000
Re: The current object (was: Went open source with my GA144 ...) Alex McDonald <blog@rivadpm.com> - 2013-05-06 10:25 -0700
Re: The current object (was: Went open source with my GA144 ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 04:00 +0200
Re: The current object (was: Went open source with my GA144 ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-07 15:02 +0000
Re: The current object (was: Went open source with my GA144 ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 04:09 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-07 03:41 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 19:02 +0200
Re: The current object (was: Went open source with my GA144 ...) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-07 14:33 +0000
Re: The current object (was: Went open source with my GA144 ...) Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-07 19:40 +0200
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-15 16:46 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-15 13:11 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-15 23:23 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-16 02:24 -0500
Re: The current object anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-16 13:55 +0000
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-16 17:45 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-18 05:13 -0500
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-18 06:43 -0400
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-18 10:03 -0500
Re: The current object Doug Hoffman <glidedog@gmail.com> - 2013-05-18 11:30 -0400
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-19 01:20 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-19 12:33 -0500
Re: The current object Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-19 01:07 +0200
Re: The current object Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-19 03:58 -0500
OO dispatch (was: The current object) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-16 14:07 +0000
Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-18 05:28 -0500
Re: OO dispatch anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-20 11:28 +0000
Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-20 09:00 -0500
Re: OO dispatch Bernd Paysan <bernd.paysan@gmx.de> - 2013-05-21 01:37 +0200
Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-21 03:21 -0500
Re: OO dispatch anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-21 12:24 +0000
Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-21 10:18 -0500
Re: OO dispatch anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-05-21 16:03 +0000
Re: OO dispatch Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-05-21 12:55 -0500
Re: Went open source with my GA144 simulator written in Factor Mark Wills <markrobertwills@yahoo.co.uk> - 2013-04-27 00:42 -0700
Re: Went open source with my GA144 simulator written in Factor albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-27 09:09 +0000
Re: Went open source with my GA144 simulator written in Factor Mark Wills <markrobertwills@yahoo.co.uk> - 2013-04-27 02:28 -0700
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-27 04:52 -0500
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-28 02:24 +0200
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-27 06:18 -0400
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-27 08:06 -0500
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-28 07:01 -0400
Re: Went open source with my GA144 simulator written in Factor albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-04-28 13:09 +0000
Re: Went open source with my GA144 simulator written in Factor Doug Hoffman <glidedog@gmail.com> - 2013-04-28 09:33 -0400
Re: Went open source with my GA144 simulator written in Factor Alex McDonald <blog@rivadpm.com> - 2013-04-28 08:34 -0700
Re: Went open source with my GA144 simulator written in Factor Alex McDonald <blog@rivadpm.com> - 2013-04-28 08:37 -0700
Re: Went open source with my GA144 simulator written in Factor Bernd Paysan <bernd.paysan@gmx.de> - 2013-04-30 18:30 +0200
Re: Went open source with my GA144 simulator written in Factor rickman <gnuarm@gmail.com> - 2013-04-25 15:47 -0400
Re: Went open source with my GA144 simulator written in Factor AKE <assadebrahim2000@gmail.com> - 2013-04-25 13:39 -0700
Re: Went open source with my GA144 simulator written in Factor AKE <assadebrahim2000@gmail.com> - 2013-04-25 13:51 -0700
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-25 16:43 -0500
Re: Went open source with my GA144 simulator written in Factor rickman <gnuarm@gmail.com> - 2013-04-26 13:44 -0400
Re: Went open source with my GA144 simulator written in Factor Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-04-26 13:11 -0500
csiph-web