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


Groups > comp.lang.forth > #40758

Re: Forth programming style...

From "WJ" <w_a_x_man@yahoo.com>
Newsgroups comp.lang.forth
Subject Re: Forth programming style...
Date 2015-07-23 09:05 +0000
Organization A noiseless patient Spider
Message-ID <moqanv$g2b$1@dont-email.me> (permalink)
References (2 earlier) <1a2e838f-e3f7-4f99-a321-9a02c1d6d6cb@googlegroups.com> <84a2fcaf-807e-46a0-8c38-e68515a83c67@googlegroups.com> <654e3729-7fce-4a04-a707-a0d5f7ab6050@googlegroups.com> <55357ad6-5a4b-4ef6-b46b-7d05f9c5b3cf@googlegroups.com> <80ebb1e3-e866-447b-94f5-1bd49481b09b@googlegroups.com>

Show all headers | View raw


hughaguilar96@gmail.com wrote:

> The manual for ISYS Forth (for the Apple-IIc) gave us
> this example of good Forth style:
> 
> : par  \ r1 r2 -- r       \ calculate parallel resistance of two resistors
>     ddup +  */ ;
> 
> : par3  \ r1 r2 r3 -- r   \ calculate parallel resistance of three resistors
>     par par ;
> 
> The high-functioning C'diot may avoid stack-juggling
> (the DDUP in PAR above) like this:
> 
> : par  local{ r1 r2 -- r }  \ calculate parallel resistance of two resistors
>     r1 @  r2 @
>     r1 @  r2 @  +  */ ;
> 
> : par3  local{ r1 r2 r3 -- r }   \ calculate parallel resistance of three resistors
>     r1 @  r2 @  par
>     r3 @  par ;

Scheme:

;; Calculate parallel resistance of 2 or more resistors.
(define (par . rs)
  (if (null? (cddr rs))
    (/ (apply * rs) (apply + rs))
    (par (car rs) (apply par (cdr rs)))))

gosh> (par 24 24)
12
gosh> (par 24 24 24)
8
gosh> (par 24 24 24 24)
6
gosh> (par 24 24 24 24 24)
24/5

-- 
The report card by the American Society of Civil Engineers showed the national
infrastructure a single grade above failure, a step from declining to the point
where everyday things simply stop working the way people expect them to. ---
washingtonpost.com/local/trafficandcommuting/us-infrastructure-gets-d-in-annual-report/2013/03/19/c48cb010-900b-11e2-9cfd-36d6c9b5d7ad_story.html

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


Thread

Forth programming style... Mux <Yvo.Zoer@gmail.com> - 2015-07-21 15:40 -0700
  Re: Forth programming style... Julian Fondren <ayrnieu@gmail.com> - 2015-07-21 17:28 -0700
    Re: Forth programming style... Julian Fondren <ayrnieu@gmail.com> - 2015-07-21 17:39 -0700
      Re: Forth programming style... Mark Wills <markwills1970@gmail.com> - 2015-07-22 00:48 -0700
        Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-21 22:25 -1000
          Re: Forth programming style... onewingedshark@gmail.com - 2015-07-22 15:13 -0700
            Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-22 13:24 -1000
            Re: Forth programming style... stephen@mpeforth.com (Stephen Pelc) - 2015-07-23 08:28 +0000
        Re: Forth programming style... Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-22 02:38 -0700
          Re: Forth programming style... Mark Wills <markwills1970@gmail.com> - 2015-07-22 03:14 -0700
            Re: Forth programming style... humptydumpty <ouatubi@gmail.com> - 2015-07-22 03:45 -0700
              Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-22 08:37 -1000
              Re: Forth programming style... Paul Rubin <no.email@nospam.invalid> - 2015-07-22 12:51 -0700
                Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-07-22 10:14 -1000
                Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-23 06:23 +0000
                Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 16:59 -0700
                Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 20:18 -0700
                Re: Forth programming style... "HAA" <someone@microsoft.com> - 2015-07-28 21:06 +1000
                Re: Forth programming style... "Alex McDonald" <blog@rivadpm.com> - 2015-07-28 12:38 +0100
            Re: Forth programming style... "HAA" <someone@microsoft.com> - 2015-07-23 00:02 +1000
            Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-22 21:21 -0700
              Re: Forth programming style... "WJ" <w_a_x_man@yahoo.com> - 2015-07-23 09:05 +0000
                Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 16:47 -0700
                Re: Forth programming style... Mark Wills <markwills1970@gmail.com> - 2015-07-24 01:24 -0700
                Re: Forth programming style... franck.bensusan@gmail.com - 2015-07-24 03:48 -0700
                Re: Forth programming style... Paul Rubin <no.email@nospam.invalid> - 2015-07-24 18:15 -0700
                Re: Forth programming style... "HAA" <someone@microsoft.com> - 2015-08-01 13:21 +1000
            Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-22 21:48 -0700
            Re: Forth programming style... Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-22 22:28 -0700
              Re: Forth programming style... Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-02 00:43 +0200
            Re: Forth programming style... Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-02 00:22 +0200
              Re: Forth programming style... hughaguilar96@gmail.com - 2015-08-01 16:41 -0700
                Re: Forth programming style... "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-08-01 22:01 -0400
              Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-08-02 05:50 +0000
                Re: Forth programming style... Bernd Paysan <bernd.paysan@gmx.de> - 2015-08-02 16:33 +0200
            Re: Forth programming style... "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-08-01 22:04 -0400
              Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-08-02 08:54 -0500
                Re: Forth programming style... "Rod Pemberton" <boo@fasdfrewar.cdm> - 2015-08-03 04:51 -0400
                Re: Forth programming style... "Elizabeth D. Rather" <erather@forth.com> - 2015-08-03 17:36 -0500
        Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-22 10:16 +0000
      Re: Forth programming style... mhx@iae.nl - 2015-07-22 10:02 -0700
    Re: Forth programming style... anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-07-22 10:09 +0000
  Re: Forth programming style... Syd Rumpo <usenet@nononono.co.uk> - 2015-07-22 12:16 +0100
    Re: Forth programming style... Raimond Dragomir <raimond.dragomir@gmail.com> - 2015-07-22 07:59 -0700
  Re: Forth programming style... glidedog@gmail.com - 2015-07-23 04:24 -0700
  Re: Forth programming style... "Ala'a Alawi" <amalawi@gmail.com> - 2015-07-23 19:32 -0700
    Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 21:33 -0700
      Re: Forth programming style... borota@gmail.com - 2015-07-23 22:09 -0700
        Re: Forth programming style... hughaguilar96@gmail.com - 2015-07-23 22:57 -0700
        Re: Forth programming style... "Ala'a Alawi" <amalawi@gmail.com> - 2015-07-24 09:26 -0700
      Re: Forth programming style... "Ala'a Alawi" <amalawi@gmail.com> - 2015-07-24 09:26 -0700

csiph-web