Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #20762
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: Difficulty with Brad Rodriguez' screenful |
| Date | 2013-03-18 02:03 +0100 |
| Organization | 1&1 Internet AG |
| Message-ID | <ki5p5f$ocf$1@online.de> (permalink) |
| References | <8ea2fd45-14b0-45ba-b49d-e3144b9f06ab@googlegroups.com> <05170318008434@frunobulax.edu> <ki35b7$jnn$1@online.de> <hdKdnRluwIcFgdjMnZ2dnUVZ_sadnZ2d@supernews.com> |
Elizabeth D. Rather wrote: > On 3/16/13 3:13 PM, Bernd Paysan wrote: >> Marcel Hendrix wrote: >> IMHO this is somewhat a quality of implementation issue. The standard >> does not mandate that the return stack is used for return addresses, but >> that's >> what it is actually designed for. So IMHO any good quality Forth >> implementation does use the return stack for the return addresses, and >> allows manipulation of the return stack beyond what people pushed >> themselves. This may not be formal standard, but it is pretty widely >> used. > > I strenuously disagree with this. There are many situations in which it > is awkward for a system to keep actual return addresses on the return > stack, of which optimizing compilers is but one. What are the other situations, apart from low-end controllers which have all sorts of awkward issues with their architecture? The days of large segmented 8086 Forth systems where the return stack contains two cells (segment and offset) are gone. An 8051 Forth or an AVR Forth might not be able to access the return stack, but it also has several separate address spaces, which makes programs for it non-portable in any case. The Forth 200x TC thinks about target audience, and very small Forth systems for architectures that are too limited for a full standard implementation is outside the scope. These system should implement the standard in good faith, but when they reach limits, they should be free to solve these problems in a non-portable, platform-specific manner. > Certainly the Forth94 > TC took a very firm position that programs seeking portability should > not assume return address access as an entitlement. It is not only "not > formal standard," it is expressly discouraged. The Forth94 TC has taken some decisions to be more inclusive in the standard than actually necessary, and making it hard to write real portable programs. E.g. the floating point decision to have either separate or combined stacks: It is next to impossible to write a portable program that works on both separate and combined floating point stacks. If you want to write a program for a combined floating point stack, you make that decision, and write it deliberately for that target, with the knowlege how much stack space one floating point number takes. That's why the Forth 200x TC decided to revert that un-decision: It's of no use. Decide that a standard system has a separated stack, and all other systems with combined stacks have a non-standard floating point library. Writing programs for them is still possible, but they are non-portable. They never were. Same for one complement systems. They are extinct, even though the supercomputer museum of the vintage computer club is just a few hundret meters from my house, and they have some nice dinosaurs there. Nobody writes new programs for these systems, expecting them to be portable. > Forth has numerous ways to control program flow, including not only the > structure words but also EXIT. Manipulating return stack addresses is > error-prone, unstructured, unreadable, and a maintenance hassle (e.g., > it's an impediment to changes in factoring), in addition to being > non-portable. Manipulating the return stack is a frequently used way to write backtracking in Forth. My regexp parser uses the return stack, Brad's BNF parser uses it somewhat differently. There is no "native" control structure in Forth for that purpose. We have this "portable programs" vs. "portable programmers" thing in the Forth200x TC. Portable programs are useful, and they are being helped by systems behaving the same way. This is probably not very Forth-like, because in Forth, each system behaves differently, mostly for ego reasons of their implementer. Stephen Pelc says "porting is an ego-less discipline", it's probably some sort of meditation where you end up in nirvana. The way I ported MINOS to VFX wasn't following that path, and therefore, Stephen is right, the next port of MINOS would just be as difficult. Because the porting of MINOS mostly consisted of making VFX do what I need. Like do the inlining properly. Or provide floating point arguments (on the standard separate floating point stack) for extern C calls. Or adding quotations. So I came to the conclusion: Writing portable systems is an ego-less discipline. You should not try to be different. You should try to be the same. I understand that commerical vendors like vendor-lock-in, and therefore have an incentive to be different. I'm not a commercial vendor. And I don't think that the Forth system is a goal by itself. It's a mean to develop applications. Nobody in the Forth world really makes money of Forth systems, the money is in the applications; this includes the commercial vendors. I see this ego problem also with most OSes. When I'm looking at the supposed way to program for Android, it's clearly non-portable lock-in to the Android plattform. Dalvik to Oracle's Java is like one Forth to the other. You can't write useful programs that run on both systems. But you can (or will, as there is still work to do) write Gforth programs that run unaltered on Android, Linux, Windows and Mac OS X, programs that provide a GUI and do graphics and such things. Because I think that portability for applications is worth the effort to smooth down all the difference of these operating systems. -- Bernd Paysan "If you want it done right, you have to do it yourself" http://bernd-paysan.de/
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-15 07:10 -0700
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-15 17:06 +0000
Re: Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-15 11:27 -0700
Re: Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-15 13:06 -0700
Re: Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-15 13:43 -0700
Re: Difficulty with Brad Rodriguez' screenful "Elizabeth D. Rather" <erather@forth.com> - 2013-03-15 12:17 -1000
Re: Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-16 13:25 -0700
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-17 00:18 +0200
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-17 02:13 +0100
Re: Difficulty with Brad Rodriguez' screenful "Elizabeth D. Rather" <erather@forth.com> - 2013-03-16 15:29 -1000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-18 02:03 +0100
Re: Difficulty with Brad Rodriguez' screenful "Elizabeth D. Rather" <erather@forth.com> - 2013-03-17 15:23 -1000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-18 04:16 +0100
Re: Difficulty with Brad Rodriguez' screenful "Elizabeth D. Rather" <erather@forth.com> - 2013-03-17 18:20 -1000
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-18 13:07 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-18 21:45 +0100
Re: Difficulty with Brad Rodriguez' screenful Elizabeth D Rather <erather@forth.com> - 2013-03-18 12:13 -1000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 03:46 +0100
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-19 09:42 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 17:04 +0100
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-19 17:54 +0000
Re: Difficulty with Brad Rodriguez' screenful Brad Eckert <hwfwguy@gmail.com> - 2013-03-19 13:30 -0700
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 22:33 +0100
Re: Difficulty with Brad Rodriguez' screenful albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-03-19 13:03 +0000
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-19 14:56 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 21:55 +0100
Re: Difficulty with Brad Rodriguez' screenful Alex McDonald <blog@rivadpm.com> - 2013-03-19 14:16 -0700
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-20 02:09 +0100
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 20:35 +0100
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-19 09:52 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 18:56 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-19 13:18 -0500
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 22:37 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-20 03:33 -0500
Re: Difficulty with Brad Rodriguez' screenful "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-03-20 05:30 -0400
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-18 11:28 -0500
Re: Difficulty with Brad Rodriguez' screenful Alex McDonald <blog@rivadpm.com> - 2013-03-18 15:39 -0700
Re: Difficulty with Brad Rodriguez' screenful albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-03-19 13:07 +0000
Re: Difficulty with Brad Rodriguez' screenful m.a.m.hendrix@tue.nl - 2013-03-19 06:58 -0700
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 03:05 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-19 05:27 -0500
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 19:24 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-20 03:42 -0500
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-20 03:54 -0500
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-20 17:49 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-20 12:51 -0500
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-20 20:25 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-21 04:31 -0500
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-21 16:31 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-21 14:48 -0500
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-21 18:07 +0000
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-21 14:49 -0500
Re: Difficulty with Brad Rodriguez' screenful Coos Haak <chforth@hccnet.nl> - 2013-03-22 00:07 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-21 18:31 -0500
Re: Difficulty with Brad Rodriguez' screenful Coos Haak <chforth@hccnet.nl> - 2013-03-22 00:48 +0100
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-22 01:49 +0100
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-27 17:30 +0000
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-22 03:57 -0500
Re: Difficulty with Brad Rodriguez' screenful Alex McDonald <blog@rivadpm.com> - 2013-03-22 03:39 -0700
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-22 09:03 -0500
Re: Difficulty with Brad Rodriguez' screenful Alex McDonald <blog@rivadpm.com> - 2013-03-23 08:13 -0700
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-23 12:39 -0500
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-23 14:19 -0500
Re: Difficulty with Brad Rodriguez' screenful Alex McDonald <blog@rivadpm.com> - 2013-03-23 13:01 -0700
Re: Difficulty with Brad Rodriguez' screenful Brad Eckert <hwfwguy@gmail.com> - 2013-03-22 08:13 -0700
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-22 14:44 +0000
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-22 10:34 -0500
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-22 15:39 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-22 20:38 +0100
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-22 20:54 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-22 12:27 -0500
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-22 17:38 +0000
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-22 13:48 -0500
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-23 11:53 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-24 01:46 +0100
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-27 17:04 +0000
Re: Difficulty with Brad Rodriguez' screenful Brad Eckert <hwfwguy@gmail.com> - 2013-03-25 10:06 -0700
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-19 16:05 +0000
Re: Difficulty with Brad Rodriguez' screenful Alex McDonald <blog@rivadpm.com> - 2013-03-19 12:32 -0700
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-18 18:28 +0000
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-18 12:40 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-18 17:23 +0100
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-18 17:35 +0000
Re: Difficulty with Brad Rodriguez' screenful Brad Eckert <hwfwguy@gmail.com> - 2013-03-18 11:02 -0700
Re: Difficulty with Brad Rodriguez' screenful "WJ" <w_a_x_man@yahoo.com> - 2013-03-19 03:25 +0000
Re: Difficulty with Brad Rodriguez' screenful albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-03-18 19:35 +0000
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-18 18:17 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 03:29 +0100
Re: Difficulty with Brad Rodriguez' screenful Paul Rubin <no.email@nospam.invalid> - 2013-03-19 00:06 -0700
Re: Difficulty with Brad Rodriguez' screenful Paul Rubin <no.email@nospam.invalid> - 2013-03-19 00:11 -0700
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 16:16 +0100
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-19 15:06 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-19 22:27 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-20 03:49 -0500
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-20 11:09 +0000
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-20 10:25 -0500
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-20 18:08 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-20 13:04 -0500
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-20 20:12 +0100
Re: Difficulty with Brad Rodriguez' screenful Andrew Haley <andrew29@littlepinkcloud.invalid> - 2013-03-21 04:39 -0500
Re: Difficulty with Brad Rodriguez' screenful albert@spenarnc.xs4all.nl (Albert van der Horst) - 2013-03-20 19:22 +0000
Re: Difficulty with Brad Rodriguez' screenful Alex McDonald <blog@rivadpm.com> - 2013-03-20 10:27 -0700
Re: Difficulty with Brad Rodriguez' screenful anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2013-03-20 12:03 +0000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-20 18:47 +0100
Re: Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-16 22:27 -0700
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-17 10:10 +0200
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-17 18:15 +0200
Re: Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-17 13:00 -0700
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-17 23:34 +0200
Re: Difficulty with Brad Rodriguez' screenful Eduardo Costa <edu500ac@gmail.com> - 2013-03-17 16:44 -0700
Re: Difficulty with Brad Rodriguez' screenful "WJ" <w_a_x_man@yahoo.com> - 2013-03-17 23:53 +0000
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-18 23:32 +0200
Re: Difficulty with Brad Rodriguez' screenful Lars Brinkhoff <lars.spam@nocrew.org> - 2013-03-19 08:12 +0100
Re: Difficulty with Brad Rodriguez' screenful m.a.m.hendrix@tue.nl - 2013-03-19 00:33 -0700
Re: Difficulty with Brad Rodriguez' screenful Lars Brinkhoff <lars.spam@nocrew.org> - 2013-03-19 09:39 +0100
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-19 21:11 +0200
Re: Difficulty with Brad Rodriguez' screenful Elizabeth D Rather <erather@forth.com> - 2013-03-19 10:30 -1000
Re: Difficulty with Brad Rodriguez' screenful Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2013-03-19 22:31 +0100
Re: Difficulty with Brad Rodriguez' screenful Elizabeth D Rather <erather@forth.com> - 2013-03-19 12:09 -1000
Re: Difficulty with Brad Rodriguez' screenful Bernd Paysan <bernd.paysan@gmx.de> - 2013-03-18 19:23 +0100
Re: Difficulty with Brad Rodriguez' screenful stephenXXX@mpeforth.com (Stephen Pelc) - 2013-03-16 06:34 +0000
Re: Difficulty with Brad Rodriguez' screenful junnia@gmail.com - 2013-03-19 07:45 -0700
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-19 21:38 +0200
Re: Difficulty with Brad Rodriguez' screenful mhx@iae.nl (Marcel Hendrix) - 2013-03-23 01:31 +0200
csiph-web