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


Groups > comp.lang.forth > #58956

Re: FP stack

From anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups comp.lang.forth
Subject Re: FP stack
Date 2017-05-10 09:58 +0000
Organization Institut fuer Computersprachen, Technische Universitaet Wien
Message-ID <2017May10.115818@mips.complang.tuwien.ac.at> (permalink)
References (6 earlier) <86ae3a80-ffe1-4a25-a727-908f353587d0@googlegroups.com> <oeue6m$60g$1@dont-email.me> <6tednSpqKomGXY_EnZ2dnUU7-N1QAAAA@supernews.com> <oeugmr$d7s$1@dont-email.me> <oeuh5h$eo7$1@dont-email.me>

Show all headers | View raw


Ron Aaron <rambamist@gmail.com> writes:
>IMO, this is one of the weaknesses of ANS Forth.  You have to keep track
>of how many cells your data takes up.  Strings can be one or two cells,
>so can numbers; and, I suppose, other things as well.
>
>Wouldn't it have made some sense to make all items take one cell on the
>stack so that you could just use SWAP without worrying?

In most cases, numbers just use one cell.  It's rare that 64 bits is
not enough.  For strings, having address and length as separate cells
gives us easy access to the address and to the length.  Of course, you
can argue that we so often use both as an atomic unit that it would be
more convenient to have 128-bit cells on 64-bit machines, and have
extraction words for address and length.  And likewise for doubles.

But we also have existing code, and a little convenience is not enough
reason to break that (there are ways to deal with that, though, see
below).  Another reason against is that operations like DUP and SWAP
would become more expensive (not much, but still) for data that uses
only 64 of the 128 bits.  And finally, small systems with a few KB of
RAM or less are still relevant for Forth, and you don't want to waste
anything there.

One way to deal with the backwards compatibility issues is to have new
words that deal with the new single-cell doubles and single-cell
strings, e.g.

E+ ( e e -- e ) \ where e is a single-cell double-length integer
TTYPE ( t -- )  \ where t is a single-cell string descriptor
T->ADDR ( t -- addr )
T->LEN  ( t -- u )

- 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 2017: http://www.euroforth.org/ef17/

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 15:27 +0100
  Recognizers discussion lehs <skydda.barnen@gmail.com> - 2017-05-02 07:52 -0700
    Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-02 08:19 -0700
      Re: Recognizers discussion lehs <skydda.barnen@gmail.com> - 2017-05-02 08:27 -0700
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 19:55 +0100
      Re: Recognizers discussion lehs <skydda.barnen@gmail.com> - 2017-05-03 02:38 -0700
        Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 15:16 +0000
  Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 17:05 +0100
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 17:23 +0100
      Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 17:26 +0100
      Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-02 13:03 -0500
        Re: Recognizers discussion Matthias Trute <matthias.trute@gmail.com> - 2017-05-02 12:44 -0700
          Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 04:36 -0500
        Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 13:28 +0000
          Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 09:13 -0500
  Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-02 12:35 -0500
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 18:53 +0100
      Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-02 13:10 -0500
        Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-02 19:22 +0100
        Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-02 22:53 +0000
          Re: Recognizers discussion Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-05-03 07:39 +0100
            Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 10:58 +0100
            Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 13:53 +0000
            Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-06 01:21 +0000
            Re: Recognizers discussion pahihu <pahihu@gmail.com> - 2017-05-06 00:22 -0700
              Re: Recognizers discussion Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2017-05-06 23:05 +0100
                Re: Recognizers discussion pahihu <pahihu@gmail.com> - 2017-05-06 22:36 -0700
          Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 04:38 -0500
            Re: Recognizers discussion minforth@arcor.de - 2017-05-03 04:49 -0700
              Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 05:03 -0700
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 09:02 -0500
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 07:45 -0700
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 11:24 -0500
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 09:45 -0700
                Re: Recognizers discussion Raimond Dragomir <raimond.dragomir@gmail.com> - 2017-05-03 10:08 -0700
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-09 15:56 +0000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 18:37 +0100
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 11:07 -0700
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 20:55 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 02:47 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:07 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 07:59 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 17:38 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 12:42 -0500
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 02:43 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:05 +0100
                Re: Recognizers discussion Ron Aaron <rambamist@gmail.com> - 2017-05-04 15:10 +0300
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:25 +0100
                Re: Recognizers discussion Ron Aaron <rambamist@gmail.com> - 2017-05-04 15:33 +0300
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 08:05 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-09 15:54 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-09 11:10 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-10 11:49 +0000
                Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-04 16:14 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 13:02 -0500
                Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-05 23:29 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-07 03:56 -0500
                Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-07 22:42 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-08 04:08 -0500
                Re: Recognizers discussion Julian Fondren <julian.fondren@gmail.com> - 2017-05-03 08:51 -0700
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 09:38 -0700
                Re: Recognizers discussion Julian Fondren <julian.fondren@gmail.com> - 2017-05-03 09:59 -0700
                Re: Recognizers discussion Mark Wills <markwills1970@gmail.com> - 2017-05-03 10:16 -0700
                Re: Recognizers discussion albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-03 22:04 +0200
                Re: Recognizers discussion minforth@arcor.de - 2017-05-03 22:09 -0700
                Re: Recognizers discussion Joel Rees <joel.rees@gmail.com> - 2017-05-07 19:50 -0700
                Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-07 21:33 -1000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-08 04:12 -0500
                Re: Recognizers discussion Joel Rees <joel.rees@gmail.com> - 2017-05-08 20:21 -0700
                FP stack (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-08 12:35 +0000
                Re: FP stack (was: Recognizers discussion) Joel Rees <joel.rees@gmail.com> - 2017-05-08 20:50 -0700
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-09 03:39 -0500
                Re: FP stack Joel Rees <joel.rees@gmail.com> - 2017-05-09 20:59 -0700
                Re: FP stack Julian Fondren <julian.fondren@gmail.com> - 2017-05-10 00:03 -0700
                Re: FP stack Alex <alex@rivadpm.com> - 2017-05-10 08:10 +0100
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-09 21:24 -1000
                Re: FP stack Julian Fondren <julian.fondren@gmail.com> - 2017-05-10 00:37 -0700
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-09 22:53 -1000
                Re: FP stack Alex <alex@rivadpm.com> - 2017-05-10 08:53 +0100
                Re: FP stack Ron Aaron <rambamist@gmail.com> - 2017-05-10 11:00 +0300
                Re: FP stack Paul Rubin <no.email@nospam.invalid> - 2017-05-10 01:02 -0700
                Re: FP stack Ron Aaron <rambamist@gmail.com> - 2017-05-10 11:06 +0300
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 09:58 +0000
                Re: FP stack Ron Aaron <rambamist@gmail.com> - 2017-05-10 14:17 +0300
                Re: FP stack Alex <alex@rivadpm.com> - 2017-05-10 13:09 +0100
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 15:05 +0000
                Re: FP stack albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-10 11:43 +0200
                Re: FP stack "HAA" <someone@microsoft.com> - 2017-05-10 18:34 +1000
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 09:45 +0000
                Re: FP stack "HAA" <someone@microsoft.com> - 2017-05-11 19:13 +1000
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-11 04:50 -0500
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-11 16:18 +0000
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-11 12:12 -0500
                Re: FP stack stephen@mpeforth.com (Stephen Pelc) - 2017-05-11 13:53 +0000
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-11 15:43 +0000
                Re: FP stack Joel Rees <joel.rees@gmail.com> - 2017-05-12 08:48 -0700
                Re: FP stack anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-11 16:31 +0000
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-11 10:18 -1000
                Re: FP stack Cecil Bayona <cbayona@cbayona.com> - 2017-05-11 15:37 -0500
                Re: FP stack "Elizabeth D. Rather" <erather@forth.com> - 2017-05-11 17:25 -1000
                Re: FP stack Cecil Bayona <cbayona@cbayona.com> - 2017-05-11 22:55 -0500
                Re: FP stack "HAA" <someone@microsoft.com> - 2017-05-13 14:24 +1000
                Re: FP stack albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-13 13:44 +0200
                Re: FP stack Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-10 05:58 -0500
                Re: FP stack (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-09 13:50 +0000
                Re: FP stack (was: Recognizers discussion) Joel Rees <joel.rees@gmail.com> - 2017-05-10 00:25 -0700
                Re: FP stack (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-10 11:39 +0000
                Re: FP stack (was: Recognizers discussion) Joel Rees <joel.rees@gmail.com> - 2017-05-10 11:49 -0700
                Re: FP stack (was: Recognizers discussion) "HAA" <someone@microsoft.com> - 2017-05-09 21:15 +1000
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-09 14:16 +1000
              Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 08:57 -0500
                Re: Recognizers discussion minforth@arcor.de - 2017-05-03 07:54 -0700
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-03 11:30 -0500
                Re: Recognizers discussion Cecil Bayona <cbayona@cbayona.com> - 2017-05-03 14:05 -0500
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-03 18:42 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 02:51 -0500
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-04 22:29 +1000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 13:41 +0100
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-04 09:06 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-15 12:22 +0000
                Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-15 07:36 -0500
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-18 21:21 +0000
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-18 21:24 +0000
                Re: Recognizers discussion albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-04 20:17 +0200
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-05 11:03 +1000
                Re: Recognizers discussion minforth@arcor.de - 2017-05-05 00:16 -0700
                Re: Recognizers discussion JUERGEN <epldfpga@aol.com> - 2017-05-05 13:15 -0700
                Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-06 16:49 +1000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-05 21:00 +0100
      Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-09 14:17 +0000
        Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-09 15:46 +0100
          Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-10 11:50 +0000
            Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-10 13:11 +0100
              Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-10 13:49 +0000
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-10 15:57 +0100
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-12 14:17 +0000
  Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-02 09:25 -1000
    Re: Recognizers discussion albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-03 01:19 +0200
    Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-05 15:50 +0000
      Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-08 11:43 +1000
        Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-08 19:17 +0000
          Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-09 14:25 +0000
            Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-09 21:22 -1000
              Re: Recognizers discussion "HAA" <someone@microsoft.com> - 2017-05-13 13:33 +1000
                Re: Recognizers discussion "Elizabeth D. Rather" <erather@forth.com> - 2017-05-12 21:32 -1000
                Re: Recognizers discussion Howerd <howerdo@yahoo.co.uk> - 2017-05-13 07:12 -0700
                Re: Recognizers discussion "Rudy Velthuis" <newsgroups@rvelthuis.de> - 2017-05-13 14:30 +0000
  Re: Recognizers discussion rickman <gnuarm@gmail.com> - 2017-05-04 11:37 -0400
    Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-04 17:51 +0100
      Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-05 07:31 +0000
        Re: Recognizers discussion Lars Brinkhoff <lars.spam@nocrew.org> - 2017-05-05 20:35 +0200
          Re: Recognizers discussion minforth@arcor.de - 2017-05-05 12:27 -0700
          Re: Recognizers discussion Cecil Bayona <cbayona@cbayona.com> - 2017-05-05 15:03 -0500
          Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-06 16:26 +0000
            Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-06 18:17 +0100
              Re: Recognizers discussion Brad Eckert <hwfwguy@gmail.com> - 2017-05-06 12:26 -0700
                Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-06 21:39 +0100
            Re: Recognizers discussion Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-07 03:58 -0500
              Re: Recognizers discussion Alex <alex@rivadpm.com> - 2017-05-07 10:39 +0100
                Re: Recognizers discussion Bernd Paysan <bernd@net2o.de> - 2017-05-07 23:39 +0000
                Re: Recognizers discussion Paul Rubin <no.email@nospam.invalid> - 2017-05-07 17:38 -0700
                Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-08 13:40 +0000
                Re: Recognizers discussion anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-08 13:25 +0000
                Re: Recognizers discussion Lars Brinkhoff <lars.spam@nocrew.org> - 2017-05-08 16:25 +0200
              Flash (was: Recognizers discussion) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 10:51 +0000
                Re: Flash Andrew Haley <andrew29@littlepinkcloud.invalid> - 2017-05-07 08:06 -0500
                Re: Flash anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 13:57 +0000
                Re: Flash Lars Brinkhoff <lars.spam@nocrew.org> - 2017-05-07 16:46 +0200
                Re: Flash Alex <alex@rivadpm.com> - 2017-05-07 16:31 +0100
                Re: Flash anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 17:16 +0000
                Re: Flash Alex <alex@rivadpm.com> - 2017-05-07 19:18 +0100
                Re: Flash albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2017-05-07 21:45 +0200
                Re: Flash Matthias Trute <matthias.trute@gmail.com> - 2017-05-07 12:54 -0700
                Re: Flash Alex <alex@rivadpm.com> - 2017-05-07 19:33 +0100
                Re: Flash Raimond Dragomir <raimond.dragomir@gmail.com> - 2017-05-07 08:50 -0700
                Re: Flash anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2017-05-07 17:21 +0000
    Re: Recognizers discussion Matthias Trute <matthias.trute@gmail.com> - 2017-05-04 10:07 -0700

csiph-web