Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #50446 > unrolled thread
| Started by | "WJ" <w_a_x_man@yahoo.com> |
|---|---|
| First post | 2016-08-24 15:27 +0000 |
| Last post | 2016-08-29 16:04 +0000 |
| Articles | 15 on this page of 75 — 19 participants |
Back to article view | Back to comp.lang.forth
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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2016-09-03 21:17 -0700 |
| Subject | Re: 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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2016-09-05 02:35 +1000 |
| Subject | Re: 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]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2016-09-05 03:18 +0200 |
| Subject | Re: 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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2016-09-08 22:04 +1000 |
| Subject | Re: 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]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2016-09-08 12:41 -0700 |
| Subject | Re: 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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2016-09-09 12:51 +1000 |
| Subject | Re: 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]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2016-09-08 21:50 -0700 |
| Subject | Re: 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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2016-09-12 17:16 +1000 |
| Subject | Re: 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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2016-09-12 16:59 +0000 |
| Subject | Re: 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]
| From | "HAA" <someone@microsoft.com> |
|---|---|
| Date | 2016-09-15 13:38 +1000 |
| Subject | Re: 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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2016-09-08 23:33 -0700 |
| Subject | Re: 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]
| From | Gerry Jackson <gerry@jackson9000.fsnet.co.uk> |
|---|---|
| Date | 2016-09-05 08:41 +0100 |
| Subject | Re: 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]
| From | hughaguilar96@gmail.com |
|---|---|
| Date | 2016-09-05 01:42 -0700 |
| Subject | Re: 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]
| From | albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) |
|---|---|
| Date | 2016-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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2016-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