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


Groups > comp.lang.forth > #50446 > unrolled thread

Rosetta Code: Catamorphism

Started by"WJ" <w_a_x_man@yahoo.com>
First post2016-08-24 15:27 +0000
Last post2016-08-29 16:04 +0000
Articles 15 on this page of 75 — 19 participants

Back to article view | Back to comp.lang.forth


Contents

  Rosetta Code: Catamorphism "WJ" <w_a_x_man@yahoo.com> - 2016-08-24 15:27 +0000
    Rosetta Code: Catamorphism Julian Fondren <julian.fondren@gmail.com> - 2016-08-24 12:43 -0700
      Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-08-25 09:53 +0000
        Re: Rosetta Code: Catamorphism Julian Fondren <julian.fondren@gmail.com> - 2016-08-25 06:41 -0700
          Re: Rosetta Code: Catamorphism Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-08-25 16:06 -0500
            Re: Rosetta Code: Catamorphism foxaudioresearch@gmail.com - 2016-08-25 20:40 -0700
              Rosetta Code ( was Re: Rosetta Code: Catamorphism) "HAA" <someone@microsoft.com> - 2016-08-29 12:06 +1000
                Re: Rosetta Code ( was Re: Rosetta Code: Catamorphism) Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-08-29 01:41 -0500
          Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-08-27 10:01 +0000
            Re: Rosetta Code: Catamorphism hughaguilar96@gmail.com - 2016-08-29 01:21 -0700
              Re: Rosetta Code: Catamorphism hughaguilar96@gmail.com - 2016-08-29 01:36 -0700
                Re: Rosetta Code: Catamorphism Julian Fondren <ayrnieu@gmail.com> - 2016-08-29 07:23 -0700
                  Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-08-29 16:58 +0000
                    Re: Rosetta Code: Catamorphism peter.m.falth@gmail.com - 2016-08-29 13:15 -0700
                      Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-08-29 20:53 +0000
                        Re: Rosetta Code: Catamorphism peter.m.falth@gmail.com - 2016-08-30 04:47 -0700
                          Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-05 07:13 +0000
                      Re: Rosetta Code: Catamorphism "HAA" <someone@microsoft.com> - 2016-08-30 11:54 +1000
                  Re: Rosetta Code: Catamorphism "HAA" <someone@microsoft.com> - 2016-08-31 12:34 +1000
              Re: Rosetta Code: Catamorphism "HAA" <someone@microsoft.com> - 2016-08-29 18:44 +1000
                Re: Rosetta Code: Catamorphism hughaguilar96@gmail.com - 2016-09-01 23:47 -0700
                  Re: Rosetta Code: Catamorphism Coos Haak <htrofhc@gmail.com> - 2016-09-02 12:42 +0200
                    Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-02 11:45 +0000
                      Re: Rosetta Code: Catamorphism Coos Haak <htrofhc@gmail.com> - 2016-09-02 15:01 +0200
                        Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-02 16:04 +0000
                      Re: Rosetta Code: Catamorphism albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-09-02 16:23 +0200
              Re: Rosetta Code: Catamorphism Bruce Axtens <bruce.axtens@gmail.com> - 2016-08-29 18:29 +0800
                Re: Rosetta Code: Catamorphism Ron Aaron <rambamist@gmail.com> - 2016-08-29 13:41 +0300
                  Re: Rosetta Code: Catamorphism Bruce Axtens <bruce.axtens@gmail.com> - 2016-08-31 09:24 +0800
                    Standard or Forth? "HAA" <someone@microsoft.com> - 2016-09-01 13:45 +1000
                      Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-02 21:54 -0700
                        Re: Standard or Forth? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-09-04 07:35 +0100
                          Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-04 00:41 -0700
                            Re: Standard or Forth? Julian Fondren <julian.fondren@gmail.com> - 2016-09-04 02:55 -0700
                            Re: Standard or Forth? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-09-04 13:26 +0100
                              Re: Standard or Forth? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-04 13:59 +0000
                              Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-04 23:09 -0700
                                Re: Standard or Forth? Ron Aaron <rambamist@gmail.com> - 2016-09-05 09:55 +0300
                                Re: Standard or Forth? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-09-05 08:39 +0100
                          Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-04 01:25 -0700
                            Re: Standard or Forth? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-09-04 14:13 +0100
                              Re: Standard or Forth? Coos Haak <htrofhc@gmail.com> - 2016-09-04 23:16 +0200
                              Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-04 22:33 -0700
                                Re: Standard or Forth? Ron Aaron <rambamist@gmail.com> - 2016-09-05 09:03 +0300
                                  Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-06 23:23 -0700
                                    Re: Standard or Forth? Ron Aaron <rambamist@gmail.com> - 2016-09-07 10:14 +0300
                                      Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-07 01:01 -0700
                                        Re: Standard or Forth? Ron Aaron <rambamist@gmail.com> - 2016-09-07 11:18 +0300
                                        Re: Standard or Forth? Cecil Bayona <cbayona@cbayona.com> - 2016-09-07 08:47 -0500
                                Re: Standard or Forth? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-09-05 09:20 +0100
                                  Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-05 02:21 -0700
                              Re: Standard or Forth? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-05 08:10 +0000
                                Re: Standard or Forth? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-09-05 10:51 +0100
                      Re: Standard or Forth? "Elizabeth D. Rather" <erather@forth.com> - 2016-09-03 08:05 +0200
                        Re: Standard or Forth? Andrew Haley <andrew29@littlepinkcloud.invalid> - 2016-09-03 03:00 -0500
                        Re: Standard or Forth? "HAA" <someone@microsoft.com> - 2016-09-03 22:48 +1000
                          Re: Standard or Forth? Alex <alex@rivadpm.com> - 2016-09-03 15:05 +0100
                          Re: Standard or Forth? Julian Fondren <julian.fondren@gmail.com> - 2016-09-03 07:46 -0700
                          Re: Standard or Forth? "Elizabeth D. Rather" <erather@forth.com> - 2016-09-03 23:53 +0200
                          Re: Standard or Forth? stephen@mpeforth.com (Stephen Pelc) - 2016-09-03 22:37 +0000
                            Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-03 21:17 -0700
                            Re: Standard or Forth? "HAA" <someone@microsoft.com> - 2016-09-05 02:35 +1000
                              Re: Standard or Forth? albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-09-05 03:18 +0200
                                Re: Standard or Forth? "HAA" <someone@microsoft.com> - 2016-09-08 22:04 +1000
                                  Re: Standard or Forth? Paul Rubin <no.email@nospam.invalid> - 2016-09-08 12:41 -0700
                                    Re: Standard or Forth? "HAA" <someone@microsoft.com> - 2016-09-09 12:51 +1000
                                      Re: Standard or Forth? Paul Rubin <no.email@nospam.invalid> - 2016-09-08 21:50 -0700
                                        Re: Standard or Forth? "HAA" <someone@microsoft.com> - 2016-09-12 17:16 +1000
                                          Re: Standard or Forth? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-09-12 16:59 +0000
                                            Re: Standard or Forth? "HAA" <someone@microsoft.com> - 2016-09-15 13:38 +1000
                                    Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-08 23:33 -0700
                              Re: Standard or Forth? Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2016-09-05 08:41 +0100
                                Re: Standard or Forth? hughaguilar96@gmail.com - 2016-09-05 01:42 -0700
            Re: Rosetta Code: Catamorphism albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-08-29 16:03 +0200
              Re: Rosetta Code: Catamorphism anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-08-29 16:04 +0000

Page 4 of 4 — ← Prev page 1 2 3 [4]


#50646 — Re: Standard or Forth?

Fromhughaguilar96@gmail.com
Date2016-09-03 21:17 -0700
SubjectRe: Standard or Forth?
Message-ID<f26c3caa-5eea-4f77-9555-0ee85a992ced@googlegroups.com>
In reply to#50644
On Saturday, September 3, 2016 at 3:37:26 PM UTC-7, Stephen Pelc wrote:
> On Sat, 3 Sep 2016 22:48:06 +1000, "HAA" <someone@microsoft.com>
> wrote:
> 
> >Except that 35 years on there are still no portable programs as
> >WJ makes clear.
> 
> Absolute rubbish. Since the ANS standard was adopted, MPE's ability
> to use other people's Forth source code has improved markedly.
> We speak from experience, not from hand-waving.

Does any of that source-code use FIND anywhere? The VFX FIND behaves completely differently from the Gforth FIND --- and the SwiftForth FIND behaves completely differently from either of those --- but my disambiguifiers (written in ANS-Forth) make FIND behave the same on all three compilers.

Why do you refuse to acknowledge the existence of the disambiguifiers?

Why do you refuse to acknowledge the many many ambiguities and bad design decisions in ANS-Forth that have to be worked around?

I'm not opposed to having a standard. I'm opposed to ANS-Forth because it is the worst standard in the history of computer programming --- Elizabeth Rather's only programming experience was in COBOL --- the ANS-Forth standard was just a marketing gimmick for Forth Inc. with no technical merit whatsoever.

Whether Charles Moore is opposed to having a standard, is unclear. It is possible to cherry-pick quotes of his that seem to imply this. He refuses to communicate with anybody in the Forth community however, so there is no way to ask him. I don't actually care anyway.

The whole point of Straight Forth is to have a standard without ambiguity and without trying to be appropriate for every processor from the 6502 up to the 64-bit x86. Straight Forth has a 64-bit cell, so it is only for desktop computers --- it is primarily intended to be the host for a cross-compiler --- the features needed for a cross-compiler are obvious and easy.

Why do you refuse to standardize the features needed for a cross-compiler? Obviously, the reason why you got involved in Forth-200x was to prevent the Forth community from writing cross-compilers in competition with MPE --- you jumped onto the bandwagon for the purpose of dragging your feet.

[toc] | [prev] | [next] | [standalone]


#50658 — Re: Standard or Forth?

From"HAA" <someone@microsoft.com>
Date2016-09-05 02:35 +1000
SubjectRe: Standard or Forth?
Message-ID<nqhifo$1kbj$1@gioia.aioe.org>
In reply to#50644
Stephen Pelc wrote:
> On Sat, 3 Sep 2016 22:48:06 +1000, "HAA" <someone@microsoft.com>
> wrote:
>
> >Except that 35 years on there are still no portable programs as
> >WJ makes clear.
>
> Absolute rubbish. Since the ANS standard was adopted, MPE's ability
> to use other people's Forth source code has improved markedly.
> We speak from experience, not from hand-waving.
>
> Stephen

ANS' prime objective is stated as follows:

    1.1 Purpose
    The purpose of this Standard is to promote the portability of Forth programs
    for use on a wide variety of computing systems, ...

If in the 22 years ANS has existed, Forth has failed to produce said portable programs
and its only use of ANS has been "to facilitate the communication of programs,
programming techniques, and ideas among Forth programmers"  then it barely
needs a standard.  A glossary would have sufficed.


[toc] | [prev] | [next] | [standalone]


#50673 — Re: Standard or Forth?

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2016-09-05 03:18 +0200
SubjectRe: Standard or Forth?
Message-ID<nqih5f$vhh$1@cherry.spenarnc.xs4all.nl>
In reply to#50658
In article <nqhifo$1kbj$1@gioia.aioe.org>, HAA <someone@microsoft.com> wrote:
>Stephen Pelc wrote:
>> On Sat, 3 Sep 2016 22:48:06 +1000, "HAA" <someone@microsoft.com>
>> wrote:
>>
>> >Except that 35 years on there are still no portable programs as
>> >WJ makes clear.
>>
>> Absolute rubbish. Since the ANS standard was adopted, MPE's ability
>> to use other people's Forth source code has improved markedly.
>> We speak from experience, not from hand-waving.
>>
>> Stephen
>
>ANS' prime objective is stated as follows:
>
>    1.1 Purpose
>    The purpose of this Standard is to promote the portability of Forth programs
>    for use on a wide variety of computing systems, ...
>
>If in the 22 years ANS has existed, Forth has failed to produce said portable programs
>and its only use of ANS has been "to facilitate the communication of programs,
>programming techniques, and ideas among Forth programmers"  then it barely
>needs a standard.  A glossary would have sufficed.

You're apparently not a professional because you have the illusion of
absolute portability. Portability is more something of 2 nines (very good)
to 5 nines (almost unobtainable).

Groetjes Albert
>
>
>
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#50743 — Re: Standard or Forth?

From"HAA" <someone@microsoft.com>
Date2016-09-08 22:04 +1000
SubjectRe: Standard or Forth?
Message-ID<nqrk8l$11e5$1@gioia.aioe.org>
In reply to#50673
Albert van der Horst wrote:
> In article <nqhifo$1kbj$1@gioia.aioe.org>, HAA <someone@microsoft.com> wrote:
> >Stephen Pelc wrote:
> >> On Sat, 3 Sep 2016 22:48:06 +1000, "HAA" <someone@microsoft.com>
> >> wrote:
> >>
> >> >Except that 35 years on there are still no portable programs as
> >> >WJ makes clear.
> >>
> >> Absolute rubbish. Since the ANS standard was adopted, MPE's ability
> >> to use other people's Forth source code has improved markedly.
> >> We speak from experience, not from hand-waving.
> >>
> >> Stephen
> >
> >ANS' prime objective is stated as follows:
> >
> >    1.1 Purpose
> >    The purpose of this Standard is to promote the portability of Forth programs
> >    for use on a wide variety of computing systems, ...
> >
> >If in the 22 years ANS has existed, Forth has failed to produce said portable programs
> >and its only use of ANS has been "to facilitate the communication of programs,
> >programming techniques, and ideas among Forth programmers"  then it barely
> >needs a standard.  A glossary would have sufficed.
>
> You're apparently not a professional because you have the illusion of
> absolute portability. Portability is more something of 2 nines (very good)
> to 5 nines (almost unobtainable).
>
> Groetjes Albert

ANS does not require a program to have "absolute portability".  What it does
require is that non-portabilities be documented.  Despite the low bar ANS has
placed on program portability, there has been very little interest in writing them.
That includes me.  You can ask why it is, but the fact of it cannot be denied.


[toc] | [prev] | [next] | [standalone]


#50758 — Re: Standard or Forth?

FromPaul Rubin <no.email@nospam.invalid>
Date2016-09-08 12:41 -0700
SubjectRe: Standard or Forth?
Message-ID<87shtakwlt.fsf@jester.gateway.pace.com>
In reply to#50743
"HAA" <someone@microsoft.com> writes:
> ANS does not require a program to have "absolute portability".  What
> it does require is that non-portabilities be documented.  Despite the
> low bar ANS has placed on program portability, there has been very
> little interest in writing them.  That includes me.  You can ask why
> it is, but the fact of it cannot be denied.

Forth is unusual among programming languages in that its target
environments very often involve special hardware.  For such programs the
concept of portability doesn't apply since there is nothing to port to.

I've thought of ANS as providing a common word set for programmers to
expect to work on multiple systems, but in general they will expect to
add target-specific code for their own application environment.  An
example of something ANS standardizes is that OR means inclusive or.
There are some non-standard systems where it means exclusive or.  

ANS just means there is a base wordset that does what you expect it to
do.  It doesn't claim to give you everything you need.  You are on your
own for stuff that's not in the standard.

[toc] | [prev] | [next] | [standalone]


#50765 — Re: Standard or Forth?

From"HAA" <someone@microsoft.com>
Date2016-09-09 12:51 +1000
SubjectRe: Standard or Forth?
Message-ID<nqt83b$1iq0$1@gioia.aioe.org>
In reply to#50758
Paul Rubin wrote:
> "HAA" <someone@microsoft.com> writes:
> > ANS does not require a program to have "absolute portability".  What
> > it does require is that non-portabilities be documented.  Despite the
> > low bar ANS has placed on program portability, there has been very
> > little interest in writing them.  That includes me.  You can ask why
> > it is, but the fact of it cannot be denied.
>
> Forth is unusual among programming languages in that its target
> environments very often involve special hardware.  For such programs the
> concept of portability doesn't apply since there is nothing to port to.
>
> I've thought of ANS as providing a common word set for programmers to
> expect to work on multiple systems, but in general they will expect to
> add target-specific code for their own application environment.  An
> example of something ANS standardizes is that OR means inclusive or.
> There are some non-standard systems where it means exclusive or.
>
> ANS just means there is a base wordset that does what you expect it to
> do.  It doesn't claim to give you everything you need.  You are on your
> own for stuff that's not in the standard.

When the realization occurs that ANS hasn't, and 200x won't, deliver the
promised world of portable programs, then a forther is free.  Free to think for
himself.  To make decisions based on his needs - not the needs, compromises
and ideas of others.  Free to make mistakes, correct them and move on -
unlike standards which require constant defending.  Free to take the best
from standards and ignore the rest.


[toc] | [prev] | [next] | [standalone]


#50767 — Re: Standard or Forth?

FromPaul Rubin <no.email@nospam.invalid>
Date2016-09-08 21:50 -0700
SubjectRe: Standard or Forth?
Message-ID<877falllrg.fsf@jester.gateway.pace.com>
In reply to#50765
"HAA" <someone@microsoft.com> writes:
> When the realization occurs that ANS hasn't, and 200x won't, deliver
> the promised world of portable programs, then a forther is free.  

What promised world of portable programs?  I've never seen a portable C
program (one with no system-dependent #ifdef's) of any size.  Even Java
("write once, debug everywhere") is less portable than some like to think.

> Free to take the best from standards and ignore the rest.

If the standard describes a workable way to do something and there's not
a substantial concrete benefit from doing something different, I don't
see good reason to depart from it.  The standard envisages a fairly
traditional approach to implementation though.  If you want to use a
very different approach (like Oforth in one direction, or Colorforth in
another) then ignoring the standard except as a distant source of
inspiration is more likely the way to go.

[toc] | [prev] | [next] | [standalone]


#50874 — Re: Standard or Forth?

From"HAA" <someone@microsoft.com>
Date2016-09-12 17:16 +1000
SubjectRe: Standard or Forth?
Message-ID<nr5kmh$1qb8$1@gioia.aioe.org>
In reply to#50767
Paul Rubin wrote:
> "HAA" <someone@microsoft.com> writes:
> > When the realization occurs that ANS hasn't, and 200x won't, deliver
> > the promised world of portable programs, then a forther is free.
>
> What promised world of portable programs?

    >     1.1 Purpose
    >     The purpose of this Standard is to promote the portability of Forth programs
    >     for use on a wide variety of computing systems, ...
    >

>  I've never seen a portable C
> program (one with no system-dependent #ifdef's) of any size.  Even Java
> ("write once, debug everywhere") is less portable than some like to think.
>
> > Free to take the best from standards and ignore the rest.
>
> If the standard describes a workable way to do something and there's not
> a substantial concrete benefit from doing something different, I don't
> see good reason to depart from it.  The standard envisages a fairly
> traditional approach to implementation though.

Really?  Since when are five words to handle defers traditional?  200x hasn't
been shy breaking tradition.  ANS says floats on the data stack is traditional
and permitted it.  200x says floats must have a separate stack.  ANS voted for
LOCALS|.  200x says its hideous and wants you to use {: :}.  ANS says one
interpreted S" string is sufficient.  200x says two is necessary.  ANS says use
CHAR and [CHAR].  200x tells you to use something else.  And so on.

The only choice Forth users have is whether to follow all this 'to and fro'ing
by TC's.  I can't think of any good reason to - particularly when portability is
discounted as you did above.


[toc] | [prev] | [next] | [standalone]


#50901 — Re: Standard or Forth?

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2016-09-12 16:59 +0000
SubjectRe: Standard or Forth?
Message-ID<2016Sep12.185924@mips.complang.tuwien.ac.at>
In reply to#50874
"HAA" <someone@microsoft.com> writes:
>Since when are five words to handle defers traditional?

Traditional are DEFER and IS.  Traditionally, carnal knowledge was
used when people wanted to do the things that Forth-2012 programs can
do with DEFER@ and DEFER!, but since we did not want to standardize
(uncarnalize) the carnal knowledge, we standardized DEFER@ and DEFER!.
Finally, someone wanted ACTION-OF as a parsing variant of DEFER@ (just
like we have IS as a parsing variant of DEFER!), and that's how we got
ACTION-OF.

>200x hasn't
>been shy breaking tradition.  ANS says floats on the data stack is traditional
>and permitted it.  200x says floats must have a separate stack.

Yes, so Forth-2012 has standardized an aspect of floating-point that
Forth-94 has not standardized.  That's based on common practice:
Hardly any programs that used FP were actually Forth-94 compliant and
would run on both kinds of systems; most programs depended on a
separate FP stack, so that's what we standardized.

>  ANS voted for
>LOCALS|.  200x says its hideous and wants you to use {: :}.

Most programmers who used locals found the locals order of LOCALS|
unacceptable, and used the { ... } syntax with the other order
instead.  That became {: ... :} on standardization to avoid a conflict
with a SwiftForth feature.  LOCALS| is in Forth-2012, but obsolescent,
so the recommendation is to change it to {: ... :} at some point in
the future.  But if you prefer LOCALS| and want to keep using it, you
can define it with (LOCAL).

>  ANS says one
>interpreted S" string is sufficient.  200x says two is necessary.

Wow, Forth-2012 is a horrible tradition-breaking monster!  It gives
more guarantees to programs than Forth-94!  The horror!

>ANS says use
>CHAR and [CHAR].  200x tells you to use something else. 

You can still use CHAR and [CHAR]; they are not obsolescent.  Now you
can also write 'a', and cut-and-paste it between interpretation and
compilation (a tradition-breaking change if ever there was one!).

- 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 2016: http://www.euroforth.org/ef16/

[toc] | [prev] | [next] | [standalone]


#50983 — Re: Standard or Forth?

From"HAA" <someone@microsoft.com>
Date2016-09-15 13:38 +1000
SubjectRe: Standard or Forth?
Message-ID<nrd531$1106$1@gioia.aioe.org>
In reply to#50901
Anton Ertl wrote:
> "HAA" <someone@microsoft.com> writes:
> >Since when are five words to handle defers traditional?
>
> Traditional are DEFER and IS.  Traditionally, carnal knowledge was
> used when people wanted to do the things that Forth-2012 programs can
> do with DEFER@ and DEFER!, but since we did not want to standardize
> (uncarnalize) the carnal knowledge, we standardized DEFER@ and DEFER!.
> Finally, someone wanted ACTION-OF as a parsing variant of DEFER@ (just
> like we have IS as a parsing variant of DEFER!), and that's how we got
> ACTION-OF.
>
> >200x hasn't
> >been shy breaking tradition.  ANS says floats on the data stack is traditional
> >and permitted it.  200x says floats must have a separate stack.
>
> Yes, so Forth-2012 has standardized an aspect of floating-point that
> Forth-94 has not standardized.  That's based on common practice:
> Hardly any programs that used FP were actually Forth-94 compliant and
> would run on both kinds of systems; most programs depended on a
> separate FP stack, so that's what we standardized.
>
> >  ANS voted for
> >LOCALS|.  200x says its hideous and wants you to use {: :}.
>
> Most programmers who used locals found the locals order of LOCALS|
> unacceptable, and used the { ... } syntax with the other order
> instead.  That became {: ... :} on standardization to avoid a conflict
> with a SwiftForth feature.  LOCALS| is in Forth-2012, but obsolescent,
> so the recommendation is to change it to {: ... :} at some point in
> the future.  But if you prefer LOCALS| and want to keep using it, you
> can define it with (LOCAL).
>
> >  ANS says one
> >interpreted S" string is sufficient.  200x says two is necessary.
>
> Wow, Forth-2012 is a horrible tradition-breaking monster!  It gives
> more guarantees to programs than Forth-94!  The horror!
>
> >ANS says use
> >CHAR and [CHAR].  200x tells you to use something else.
>
> You can still use CHAR and [CHAR]; they are not obsolescent.  Now you
> can also write 'a', and cut-and-paste it between interpretation and
> compilation (a tradition-breaking change if ever there was one!).
>
> - anton

With possible exception of the first, all these changes boil down to personal
preference - not need.

If somebody chooses to break tradition and implement DEFER in a manner
that requires five words where previously two sufficed, it shouldn't become
my problem or Forth's.  I could not justify three new words for a rarely used
feature that I could access in traditional ways.


[toc] | [prev] | [next] | [standalone]


#50769 — Re: Standard or Forth?

Fromhughaguilar96@gmail.com
Date2016-09-08 23:33 -0700
SubjectRe: Standard or Forth?
Message-ID<c73a4486-7631-4c64-9a77-d97228b2acf3@googlegroups.com>
In reply to#50758
On Thursday, September 8, 2016 at 12:41:35 PM UTC-7, Paul Rubin wrote:
> "HAA" <someone@microsoft.com> writes:
> > ANS does not require a program to have "absolute portability".  What
> > it does require is that non-portabilities be documented.  Despite the
> > low bar ANS has placed on program portability, there has been very
> > little interest in writing them.  That includes me.  You can ask why
> > it is, but the fact of it cannot be denied.
> 
> Forth is unusual among programming languages in that its target
> environments very often involve special hardware.  For such programs the
> concept of portability doesn't apply since there is nothing to port to.

Straight Forth is only for desktop computers. It has a 64-bit cell, so obviously it can't be used on micro-controllers. My goal here is a Forth that allows portability among programs that run on desktop computers. AFAIK, that is all that HAA is asking for too --- it is somewhat unrealistic to expect to port programs between the AVR and the ARM.

I'm dubious of the need for a standard for micro-controller Forth because the programs aren't going to be portable anyway, due to hardware dependencies. It might be possible to have a standard though. I'll leave that to Raimond --- he has a more experience in micro-controllers than I have --- Mark Wills thinks that common I/O can be standardized, and he may be right; he is someone else with more experience in micro-controllers than I have.

Straight Forth is intended to be the host for a cross-compiler, so it should be able to cross-compile any Forth for any micro-controller.

I don't know why everybody hates the idea of Straight Forth --- the need for a standard Forth for desktop computers is obvious --- way back in the late 1980s it was obvious that Forth-83 had serious problems, but I was told that there would soon be a Forth standard that fixed these problems and made sense.

[toc] | [prev] | [next] | [standalone]


#50683 — Re: Standard or Forth?

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2016-09-05 08:41 +0100
SubjectRe: Standard or Forth?
Message-ID<nqj7j4$sot$2@dont-email.me>
In reply to#50658
On 04/09/2016 17:35, HAA wrote:
> Stephen Pelc wrote:
>> On Sat, 3 Sep 2016 22:48:06 +1000, "HAA" <someone@microsoft.com>
>> wrote:
>>
>>> Except that 35 years on there are still no portable programs as
>>> WJ makes clear.
>>
>> Absolute rubbish. Since the ANS standard was adopted, MPE's ability
>> to use other people's Forth source code has improved markedly.
>> We speak from experience, not from hand-waving.
>>
>> Stephen
>
> ANS' prime objective is stated as follows:
>
>      1.1 Purpose
>      The purpose of this Standard is to promote the portability of Forth programs
>      for use on a wide variety of computing systems, ...
>
> If in the 22 years ANS has existed, Forth has failed to produce said portable programs
> and its only use of ANS has been "to facilitate the communication of programs,
> programming techniques, and ideas among Forth programmers"  then it barely
> needs a standard.

The condition for your initial 'If' is false so your 'then' part is  not 
applicable. I think you're just parroting Hugh. Even Hugh has written 
portable software in ANS Forth - his Novice package, string stack.

   A glossary would have sufficed.
>
>
>
A definition of Glossary

"noun, plural glossaries.
1.
a list of terms in a special subject, field, or area of usage, with 
accompanying definitions.
2.
such a list at the back of a book, explaining or defining difficult or 
unusual words and expressions used in the text."

Looks to me like definition 1 applies to both the ANS and Forth 2012 
standards. So they are already glossaries.

-- 
Gerry

[toc] | [prev] | [next] | [standalone]


#50689 — Re: Standard or Forth?

Fromhughaguilar96@gmail.com
Date2016-09-05 01:42 -0700
SubjectRe: Standard or Forth?
Message-ID<701883e1-11ba-440d-b808-6c94c834b94d@googlegroups.com>
In reply to#50683
On Monday, September 5, 2016 at 12:41:25 AM UTC-7, Gerry wrote:
> On 04/09/2016 17:35, HAA wrote:
> > Stephen Pelc wrote:
> >> On Sat, 3 Sep 2016 22:48:06 +1000, "HAA" <someone@microsoft.com>
> >> wrote:
> >>
> >>> Except that 35 years on there are still no portable programs as
> >>> WJ makes clear.
> >>
> >> Absolute rubbish. Since the ANS standard was adopted, MPE's ability
> >> to use other people's Forth source code has improved markedly.
> >> We speak from experience, not from hand-waving.
> >>
> >> Stephen
> >
> > ANS' prime objective is stated as follows:
> >
> >      1.1 Purpose
> >      The purpose of this Standard is to promote the portability of Forth programs
> >      for use on a wide variety of computing systems, ...
> >
> > If in the 22 years ANS has existed, Forth has failed to produce said portable programs
> > and its only use of ANS has been "to facilitate the communication of programs,
> > programming techniques, and ideas among Forth programmers"  then it barely
> > needs a standard.
> 
> The condition for your initial 'If' is false so your 'then' part is  not 
> applicable. I think you're just parroting Hugh. Even Hugh has written 
> portable software in ANS Forth - his Novice package, string stack.

All of my novice-package is ANS-Forth and should be portable to any ANS-Forth system --- but doing this was a major hassle as I had to work around the problems in ANS-Forth --- I know more about ANS-Forth than most, and I consider ANS-Forth to be the worst language standard ever; this opinion does not come from ignorance as is commonly presumed.

The main problem with ANS-Forth is that it is rife with ambiguity. It is possible for different ANS-Forth systems, all of which have support for their claim of ANS-Forth compliance in the ANS-Forth document, to be incompatible with each other in fundamental ways.

Another problem with ANS-Forth is that it lacks support for quotations. Consequently, it is difficult to implement general-purpose data-structures. You end up with pseudo-quotations, such as I used in the novice-package. If you don't have general-purpose data-structures then your new programs will use cut-and-paste-and-modify of old programs --- this also is a failure to support portability --- you want to have portable code-libraries so when you port a program you can find the same code-libraries available on the new system as you had on the old system, and all you have to port is your own code which is fairly small.

Another problem with ANS-Forth is that it lacks a lot of basic features. These features often require assembly-language to implement, so they are necessarily not portable. Also, there is no standard way to implement them, so there may be subtle differences from one implementation to another.

Another problem with ANS-Forth is that it has too many features, many of which are redundant. This doesn't cause portability problems, but it does make the language difficult to learn, and overly complicated to use. The goal with Straight Forth is that it should not only be twice as powerful as ANS-Forth, but also half the size.

P.S. for HAA --- it has only been 22 years since ANS-Forth came out, not 35 --- maybe you were thinking of Forth-83 which was 33 years ago (Forth-79, Forth-83 and ANS-Forth were all screwed up by Forth Inc., and Forth-200x will also be screwed up by Forth Inc.).

[toc] | [prev] | [next] | [standalone]


#50552

Fromalbert@cherry.spenarnc.xs4all.nl (Albert van der Horst)
Date2016-08-29 16:03 +0200
Message-ID<nq1fb3$qia$1@cherry.spenarnc.xs4all.nl>
In reply to#50505
In article <2016Aug27.120140@mips.complang.tuwien.ac.at>,
Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
<SNIP>
>  don't use POSTPONE, either.
>
>Anyway, let's see what the code above looks like with ]]...[[ and BOUNDS:
>
>: map< ( -- ) ]] cells bounds ?do i @ [[ ; immediate
>: >map ( -- ) ]] 1 +loop [[ ; immediate

Probably :
: >map ( -- ) ]] 1 CELLS +loop [[ ; immediate

>\ .array and sum-array look the same
>
>- 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 2016: http://www.euroforth.org/ef16/
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#50557

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2016-08-29 16:04 +0000
Message-ID<2016Aug29.180424@mips.complang.tuwien.ac.at>
In reply to#50552
albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) writes:
>In article <2016Aug27.120140@mips.complang.tuwien.ac.at>,
>Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
>>Anyway, let's see what the code above looks like with ]]...[[ and BOUNDS:
>>
>>: map< ( -- ) ]] cells bounds ?do i @ [[ ; immediate
>>: >map ( -- ) ]] 1 +loop [[ ; immediate
>
>Probably :
>: >map ( -- ) ]] 1 CELLS +loop [[ ; immediate

Yes.  Or alternativey

: >map ( -- ) 1 cells ]] literal +loop [[ ; immediate

On less sophisticated compilers, this results in more efficient code;
it also avoids the need for ]]...[[ to deal with numbers.  And it
demonstrates a benefit of ]]...[[ over defining a macro from the start
of the definition to the end: ]]...[[ allows putting parts in the word
that are executed rather than compiled when the compilation semantics
of the macro are performed.

However, for a Rosetta Code example, I would probably choose your
version, unless I want to explain the stuff I explained above.

- 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 2016: http://www.euroforth.org/ef16/

[toc] | [prev] | [standalone]


Page 4 of 4 — ← Prev page 1 2 3 [4]

Back to top | Article view | comp.lang.forth


csiph-web