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


Groups > comp.lang.forth > #45741

Re: How do you remember the stack?

From "HAA" <someone@microsoft.com>
Newsgroups comp.lang.forth
Subject Re: How do you remember the stack?
Date 2016-02-29 13:47 +1100
Organization Aioe.org NNTP Server
Message-ID <nb0bik$1ftv$1@gioia.aioe.org> (permalink)
References <07ab86b1-3681-47c0-80ea-d7bd908925e7@googlegroups.com><87fuwxd1js.fsf@nightsong.com> <n9u1t3$bce$1@gioia.aioe.org><2016Feb16.082803@mips.complang.tuwien.ac.at><jaCdnRZNtdRaSl_LnZ2dnUU7-YH46u6z@supernews.com><na3t17$anv$1@gioia.aioe.org><fdf5a94b-8d18-4560-b995-0002d90ea559@googlegroups.com><nab7ko$1onb$1@gioia.aioe.org> <86egc4sre0.fsf@molnjunk.nocrew.org><4b862821-c8a5-47a6-b5f7-a9b242048b9c@googlegroups.com><natsmo$1n77$1@gioia.aioe.org> <kKmdncoKPNKCOU_LnZ2dnUU7-SXNnZ2d@supernews.com>

Show all headers | View raw


Elizabeth D. Rather wrote:
> On 2/27/16 6:22 PM, HAA wrote:
> > Whammo wrote:
> >> On Monday, February 22, 2016 at 7:20:58 AM UTC-8, Lars Brinkhoff wrote:
> >>> "HAA" <someone@microsoft.com> writes:
> >>>> OFW practice what they preach:
> >>>>
> >>>> : do-buffer  ( apf -- adr )
> >>>>     dup >user @  if          ( apf )
> >>>>        >user @                 ( adr )
> >>>>     else                           ( apf )
> >>>>        dup /user# + @      ( apf size )
> >>>>        dup alloc-mem       ( apf size adr )
> >>>>        dup rot erase         ( apf adr )
> >>>>        dup rot >user !       ( adr )
> >>>>     then
> >>>> ;
> >>>>
> >>>> Which code would you prefer to work with - with or without the stack
> >>>> comments?
> >>>
> >>> I like short words, so I might have written it something like this.
> >>>
> >>> : alloc-erased ( size -- adr ) dup >r alloc-mem  dup r> erase ;
> >>>
> >>> : /user ( apf -- size ) /user# + @ ;
> >>> : user@ ( apf -- adr ) >user @ ;
> >>> : user! ( adr apf -- ) >user ! ;
> >>> : alloc-user ( apf -- adr ) /user alloc-erased ;
> >>> : +user ( apf -- ) dup alloc-user swap user! ;
> >>> : ?+user ( apf -- apf ) dup user@ 0= if dup +user then ;
> >>>
> >>> : do-buffer ( apf -- adr ) ?+user user@ ;
> >>
> >>   Brilliant! Anyone could sort out this code.
> >
> > You have 7 new words and stack effects to remember.
> > How is this brilliant?
>
> New words, yes, but the stacks don't have to be "remembered" since they
> are annotated appropriately.

The original definition has documented stack effects too (the same
number in fact).  IMO the stack comments worked better here than
the factors.  Factoring results in more names.  If they're not needed,
they become a distraction...

WONG'S RULES FOR READABLE FORTH (FPH)

3. Do not factor just to factor.

>  A proper implementation would include a
> LOCATE facility, and the likelihood that the components defined here
> would be used elsewhere in the app is high.

Re-use is of course a reason to factor, however I'd add the benefit must
be real.  As regards the code in question we'll just have to accept Mitch
Bradley chose not to factor it.


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


Thread

How do you remember the stack? laheadle@gmail.com - 2016-02-12 13:57 -0800
  Re: How do you remember the stack? Paul Rubin <no.email@nospam.invalid> - 2016-02-12 14:08 -0800
    Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-16 13:35 +1100
      Re: How do you remember the stack? Julian Fondren <julian.fondren@gmail.com> - 2016-02-15 19:28 -0800
      Re: How do you remember the stack? Whammo <sidciavic@gmail.com> - 2016-02-15 19:54 -0800
      Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-16 07:28 +0000
        Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-15 22:03 -1000
          Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-16 13:30 +0000
            Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-16 08:20 -1000
              Re: How do you remember the stack? dunno <dunno@dunno.dunno> - 2016-02-16 20:48 +0000
              Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-17 15:42 +0000
          Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-18 18:48 +1100
            Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-18 12:27 -0800
              Re: How do you remember the stack? Julian Fondren <julian.fondren@gmail.com> - 2016-02-18 14:53 -0800
                Re: How do you remember the stack? Julian Fondren <julian.fondren@gmail.com> - 2016-02-18 15:18 -0800
              Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-21 13:32 +1100
                Re: How do you remember the stack? Chris Curl <ccurl609@gmail.com> - 2016-02-20 20:57 -0800
                Re: How do you remember the stack? Ron Aaron <rambamist@gmail.com> - 2016-02-21 07:23 +0200
                Re: How do you remember the stack? Chris Curl <ccurl609@gmail.com> - 2016-02-21 08:54 -0800
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-21 22:05 -0800
                Re: How do you remember the stack? Lars Brinkhoff <lars.spam@nocrew.org> - 2016-02-22 16:20 +0100
                Re: How do you remember the stack? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-02-22 09:47 -0600
                Re: How do you remember the stack? Whammo <sidciavic@gmail.com> - 2016-02-23 16:51 -0800
                Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-28 15:22 +1100
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-27 21:30 -0800
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-27 21:33 -0800
                Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-27 21:39 -1000
                Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-29 13:47 +1100
                Re: How do you remember the stack? Paul Rubin <no.email@nospam.invalid> - 2016-02-28 19:02 -0800
                Re: How do you remember the stack? Julian Fondren <julian.fondren@gmail.com> - 2016-02-28 22:26 -0800
                Re: How do you remember the stack? Paul Rubin <no.email@nospam.invalid> - 2016-02-28 22:37 -0800
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-28 19:11 -0800
                Re: How do you remember the stack? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-02-29 11:55 -0600
                Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-29 19:30 -1000
                Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-03-02 00:49 +1100
                Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-03-01 13:50 -1000
                Re: How do you remember the stack? Paul Rubin <no.email@nospam.invalid> - 2016-03-01 16:49 -0800
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-03-01 18:04 -0800
                Re: How do you remember the stack? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-03-02 02:53 -0600
                Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-03-02 09:57 +0000
                Re: How do you remember the stack? Pablo Hugo Reda <pabloreda@gmail.com> - 2016-03-02 03:21 -0800
                Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-03-02 11:49 +0000
                Re: How do you remember the stack? Pablo Hugo Reda <pabloreda@gmail.com> - 2016-03-02 04:23 -0800
                Re: How do you remember the stack? stephen@mpeforth.com (Stephen Pelc) - 2016-03-02 18:32 +0000
                Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-03-02 18:41 +0000
                Re: How do you remember the stack? stephen@mpeforth.com (Stephen Pelc) - 2016-03-02 20:36 +0000
                Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-03-03 07:38 +0000
                Re: How do you remember the stack? stephen@mpeforth.com (Stephen Pelc) - 2016-03-03 09:26 +0000
                Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-03-03 11:15 +0000
                Re: How do you remember the stack? stephen@mpeforth.com (Stephen Pelc) - 2016-03-03 15:35 +0000
                Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-03-03 15:56 +0000
                Re: How do you remember the stack? stephen@mpeforth.com (Stephen Pelc) - 2016-03-03 17:04 +0000
                Re: How do you remember the stack? Whammo <sidciavic@gmail.com> - 2016-03-01 19:29 -0800
                Re: How do you remember the stack? Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-02-28 18:52 +0000
                Re: How do you remember the stack? Whammo <sidciavic@gmail.com> - 2016-02-28 13:30 -0800
                Re: How do you remember the stack? Lars Brinkhoff <lars.spam@nocrew.org> - 2016-02-29 07:55 +0100
                Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-29 19:34 -1000
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-03-01 20:40 -0800
                Re: How do you remember the stack? Unknown <dog@gmail.com> - 2016-06-02 05:46 +0000
                Re: How do you remember the stack? Lars Brinkhoff <lars.spam@nocrew.org> - 2016-06-02 08:48 +0200
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-06-02 00:17 -0700
                Re: How do you remember the stack? Michael Barry <barrym95838@yahoo.com> - 2016-06-02 19:48 -0700
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-06-02 20:34 -0700
                Re: How do you remember the stack? "WJ" <w_a_x_man@yahoo.com> - 2016-02-22 19:23 +0000
                Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-25 20:31 +1100
                Re: How do you remember the stack? Julian Fondren <julian.fondren@gmail.com> - 2016-02-25 07:44 -0800
                Re: How do you remember the stack? Lars Brinkhoff <lars.spam@nocrew.org> - 2016-02-25 20:22 +0100
                Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-28 13:43 +1100
                Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-27 21:43 -1000
                Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-28 14:53 +0000
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-28 15:27 -0800
                Re: How do you remember the stack? humptydumpty <ouatubi@gmail.com> - 2016-06-02 02:02 -0700
                Re: How do you remember the stack? JennyB <jennybrien@googlemail.com> - 2016-06-03 05:57 -0700
      Re: How do you remember the stack? Bernd Paysan <bernd.paysan@gmx.de> - 2016-03-01 16:38 +0000
  Re: How do you remember the stack? Chris Curl <ccurl609@gmail.com> - 2016-02-12 16:31 -0800
  Re: How do you remember the stack? Whammo <sidciavic@gmail.com> - 2016-02-12 17:31 -0800
  Re: How do you remember the stack? Lars Brinkhoff <lars.spam@nocrew.org> - 2016-02-13 08:03 +0100
  Re: How do you remember the stack? dunno <dunno@dunno.dunno> - 2016-02-13 08:06 +0000
    Re: How do you remember the stack? minforth@arcor.de - 2016-02-13 01:50 -0800
      Re: How do you remember the stack? mhx@iae.nl - 2016-02-13 03:22 -0800
        Re: How do you remember the stack? Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-02-13 17:09 +0000
      Re: How do you remember the stack? mhx@iae.nl - 2016-02-13 03:39 -0800
      Re: How do you remember the stack? mhx@iae.nl - 2016-02-13 03:42 -0800
      Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-13 11:27 +0000
        Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-13 12:33 +0000
          Re: How do you remember the stack? minforth@arcor.de - 2016-02-15 01:05 -0800
      Re: How do you remember the stack? dunno <dunno@dunno.dunno> - 2016-02-14 19:34 +0000
  Re: How do you remember the stack? Julian Fondren <julian.fondren@gmail.com> - 2016-02-13 06:43 -0800
    Re: How do you remember the stack? minforth@arcor.de - 2016-02-15 01:22 -0800
      Re: How do you remember the stack? dunno <dunno@dunno.dunno> - 2016-02-15 09:48 +0000
      Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-15 09:53 +0000
        Re: How do you remember the stack? Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-02-15 11:26 +0000
          Re: How do you remember the stack? minforth@arcor.de - 2016-02-15 04:53 -0800
            Re: How do you remember the stack? dunno <dunno@dunno.dunno> - 2016-02-15 17:06 +0000
              Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-16 14:57 +0000
          Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-16 14:14 +0000
      Re: How do you remember the stack? Ron Aaron <rambamist@gmail.com> - 2016-02-15 12:31 +0200
      Re: How do you remember the stack? Jan Coombs <jenfhaomndgfwutc@murmic.plus.com> - 2016-02-18 22:53 +0000
  Re: How do you remember the stack? Doug Hoffman <glidedog@gmail.com> - 2016-02-13 10:51 -0500
  Re: How do you remember the stack? "HAA" <someone@microsoft.com> - 2016-02-14 10:18 +1100
  Re: How do you remember the stack? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-02-14 04:21 -0600
  Re: How do you remember the stack? Whammo <sidciavic@gmail.com> - 2016-02-20 14:36 -0800
    Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-21 16:35 +0000
      Re: How do you remember the stack? Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-02-21 18:34 +0000
        Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-22 09:52 +0000
          Re: How do you remember the stack? Albert van der Horst <albert@spenarnc.xs4all.nl> - 2016-02-22 13:07 +0000
            Re: How do you remember the stack? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-02-22 15:41 +0000
              Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-22 08:24 -1000
            Re: How do you remember the stack? "Elizabeth D. Rather" <erather@forth.com> - 2016-02-22 08:21 -1000
              Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-22 17:51 -0800
                Re: How do you remember the stack? hughaguilar96@gmail.com - 2016-02-22 18:15 -0800
                Re: How do you remember the stack? "WJ" <w_a_x_man@yahoo.com> - 2016-02-29 06:20 +0000
                Re: How do you remember the stack? "WJ" <w_a_x_man@yahoo.com> - 2016-03-02 20:42 +0000
                Re: How do you remember the stack? "WJ" <w_a_x_man@yahoo.com> - 2016-06-02 20:13 +0000
  Re: How do you remember the stack? humptydumpty <ouatubi@gmail.com> - 2016-02-22 01:46 -0800

csiph-web