Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #20762

Re: Difficulty with Brad Rodriguez' screenful

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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