Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

A Start With Forth 2017 – new eBook

2,373 views
Skip to first unread message

JUERGEN

unread,
Jul 6, 2017, 1:14:07 PM7/6/17
to
Completing the 16 eBook set of the Forth Bookshelf.

Write some basic Forth code and execute it even without installation.

– Starts with the extreme basics – some code just using 12 words
Then improve to using 35 words, and continue from there.
Easyforth - program and execute words in Javascript and decipher the SNAKE program
VFXTESTAPP.exe roughly VFX for download without installation
4e4th for the MSP430G2553

But includes as well Sockpuppet,
Vic’s v4th
the 3 Word Forth Interface and
some information about how to Certify your code.

MicroBit Forth - Mecrisp installation data

Click on the Look Inside above the picture – for PC users
And/or download a free sample to your tablet/mobile for your e-reader.

All of the basic material is visible at
https://www.amazon.co.uk/Start-Forth-2017-Bits-Bites-ebook/dp/B073NMX1XP/ref=la_B00N8HVEZM_1_1?s=books&ie=UTF8&qid=1499357920&sr=1-1

or see all 16 of the Forth Bookshelf at
https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM

More will be added for download and print. Starting point for now at https://wiki.forth-ev.de/doku.php/en:projects:a-start-with-forth:start

menti...@gmail.com

unread,
Jul 6, 2017, 7:43:09 PM7/6/17
to
Apparently a lot of work has gone into this project. Obviously it is a labor of love.

The project assures me that Forth is alive and well.

Cheers,

Arthur

hughag...@gmail.com

unread,
Jul 6, 2017, 8:06:21 PM7/6/17
to
On Thursday, July 6, 2017 at 10:14:07 AM UTC-7, JUERGEN wrote:
> some information about how to Certify your code.

How does somebody certify their code? I have never heard of such a thing.

Elizabeth Rather, Stephen Pelc, Bernd Paysan, Andrew Haley, etc. say that I'm not a Forth programmer at all, and never will be --- is there anything more to certification than just getting their permission?

JUERGEN

unread,
Jul 7, 2017, 3:23:45 AM7/7/17
to
http://www.ldra.com/en/ for example - and somebody else does it.

JUERGEN

unread,
Jul 7, 2017, 3:32:35 AM7/7/17
to
Thanks Artur. Yes this was a lot of work and fun - basically the summary of 4 years and what did not fit into the other 15 - or what I thought was missing to start - but still some material left for Part 2 ...
One of it you might like: A demo example how Neural Network Learning works for Classification - roughly based on the RCE algorithm. The basics are done already - I just need the time to write the Forth code for it.

JUERGEN

unread,
Jul 7, 2017, 3:41:59 AM7/7/17
to
On Friday, July 7, 2017 at 1:06:21 AM UTC+1, hughag...@gmail.com wrote:
Relates to ANY software - or as example for Forth and see point 9 at
http://www.forth.org/forth_coding.html
and
http://www.complang.tuwien.ac.at/anton/euroforth/ef15/papers/bennet_Certification-slides.pdf
and going back to 1997 at EuroForth
http://www.complang.tuwien.ac.at/anton/euroforth/ef97.html

François

unread,
Jul 7, 2017, 10:18:49 AM7/7/17
to
I hope it's worth it, I just bought it
;)

hughag...@gmail.com

unread,
Jul 7, 2017, 11:22:05 AM7/7/17
to
Paul Bennet is an employee of MPE. So are you.

Realistically, neither of you are going to "certify" any Forth code that doesn't come from MPE.

Just as a test though, here are my disambiguifiers from the novice-package. Do you certify this as good ANS-Forth code?
---------------------------------------------------------------------------

\ ******
\ ****** Our disambiguifiers --- these allow FIND to work consistently on all ANS-Forth systems.
\ ******

\ The disambiguifiers should not work in interpretation mode. Because of this, I previously had them abort on STATE @ 0=.
\ Anton Ertl complained that this prevents them from being used inside of [ ] which sometimes makes sense.
\ So, now I just have them give a warning, rather than abort, although this isn't strictly ANS-Forth compliant.
\ Some still abort though --- if they access the return-stack, they really can't be used in interpretive mode.

: +loop state @ 0= if cr ." WARNING: *** no interpretation semantics for: +LOOP ***" cr then postpone +loop ; immediate
: ." state @ 0= if cr ." WARNING: *** no interpretation semantics for: .quote ***" cr then postpone ." ; immediate
: ; state @ 0= if cr ." WARNING: *** no interpretation semantics for: ; ***" cr then postpone ; ; immediate
: >r state @ 0= abort" *** no interpretation semantics for: >R ***" postpone >r ; immediate
: abort" state @ 0= if cr ." WARNING: *** no interpretation semantics for: ABORTquote ***" cr then postpone abort" ; immediate
: begin state @ 0= if cr ." WARNING: *** no interpretation semantics for: BEGIN ***" cr then postpone begin ; immediate
: do state @ 0= abort" *** no interpretation semantics for: DO ***" postpone do ; immediate
: does> state @ 0= if cr ." WARNING: *** no interpretation semantics for: DOES> ***" cr then postpone does> ; immediate
: else state @ 0= if cr ." WARNING: *** no interpretation semantics for: ELSE ***" cr then postpone else ; immediate
: exit state @ 0= abort" *** no interpretation semantics for: EXIT ***" postpone exit ; immediate
: I state @ 0= abort" *** no interpretation semantics for: I ***" postpone I ; immediate
: if state @ 0= if cr ." WARNING: *** no interpretation semantics for: IF ***" cr then postpone if ; immediate
: J state @ 0= abort" *** no interpretation semantics for: J ***" postpone J ; immediate
: leave state @ 0= abort" *** no interpretation semantics for: LEAVE ***" postpone leave ; immediate
: literal state @ 0= if cr ." WARNING: *** no interpretation semantics for: LITERAL ***" cr then postpone literal ; immediate
: loop state @ 0= abort" *** no interpretation semantics for: LOOP ***" postpone loop ; immediate
: postpone state @ 0= if cr ." WARNING: *** no interpretation semantics for: POSTPONE ***" cr then postpone postpone ; immediate
: r> state @ 0= abort" *** no interpretation semantics for: R> ***" postpone r> ; immediate
: r@ state @ 0= abort" *** no interpretation semantics for: R@ ***" postpone r@ ; immediate
: recurse state @ 0= if cr ." WARNING: *** no interpretation semantics for: RECURSE ***" cr then postpone recurse ; immediate
: repeat state @ 0= if cr ." WARNING: *** no interpretation semantics for: REPEAT ***" cr then postpone repeat ; immediate
: s" state @ 0= if cr ." WARNING: *** no interpretation semantics for: Squote ***" cr then postpone s" ; immediate
: then state @ 0= if cr ." WARNING: *** no interpretation semantics for: THEN ***" cr then postpone then ; immediate
: unloop state @ 0= abort" *** no interpretation semantics for: UNLOOP ***" postpone unloop ; immediate
: until state @ 0= if cr ." WARNING: *** no interpretation semantics for: UNTIL ***" cr then postpone until ; immediate
: while state @ 0= if cr ." WARNING: *** no interpretation semantics for: WHILE ***" cr then postpone while ; immediate
: [ state @ 0= abort" *** no interpretation semantics for: [ ***" postpone [ ; immediate
: ['] state @ 0= if cr ." WARNING: *** no interpretation semantics for: ['] ***" cr then postpone ['] ; immediate
: [char] state @ 0= if cr ." WARNING: *** no interpretation semantics for: [CHAR] ***" cr then postpone [char] ; immediate
: 2>r state @ 0= abort" *** no interpretation semantics for: 2>R ***" postpone 2>r ; immediate
: 2r> state @ 0= abort" *** no interpretation semantics for: 2R> ***" postpone 2r> ; immediate
: 2r@ state @ 0= abort" *** no interpretation semantics for: 2R@ ***" postpone 2r@ ; immediate
: ?do state @ 0= abort" *** no interpretation semantics for: ?DO ***" postpone ?do ; immediate
: again state @ 0= if cr ." WARNING: *** no interpretation semantics for: AGAIN ***" cr then postpone again ; immediate
: c" state @ 0= if cr ." WARNING: *** no interpretation semantics for: Cquote ***" cr then postpone c" ; immediate
: case state @ 0= if cr ." WARNING: *** no interpretation semantics for: CASE ***" cr then postpone case ; immediate
: compile, state @ 0= if cr ." WARNING: *** no interpretation semantics for: COMPILE, ***" cr then postpone compile, ; immediate
: endcase state @ 0= if cr ." WARNING: *** no interpretation semantics for: ENDCASE ***" cr then postpone endcase ; immediate
: endof state @ 0= if cr ." WARNING: *** no interpretation semantics for: ENDOF ***" cr then postpone endof ; immediate
: of state @ 0= if cr ." WARNING: *** no interpretation semantics for: OF ***" cr then postpone of ; immediate
VFX? [if]
: [compile] state @ 0= if cr ." WARNING: *** no interpretation semantics for: [COMPILE] ***" cr then postpone [compile] ; immediate
[then]
: 2literal state @ 0= if cr ." WARNING: *** no interpretation semantics for: 2LITERAL ***" cr then postpone 2literal ; immediate
: abort" state @ 0= if cr ." WARNING: *** no interpretation semantics for: ABORTquote ***" cr then postpone abort" ; immediate
: fliteral state @ 0= if cr ." WARNING: *** no interpretation semantics for: FLITERAL ***" cr then postpone fliteral ; immediate
: (local) state @ 0= if cr ." WARNING: *** no interpretation semantics for: (LOCAL) ***" cr then postpone (local) ; immediate
: locals| state @ 0= if cr ." WARNING: *** no interpretation semantics for: LOCALS| ***" cr then postpone locals| ; immediate
: ;code state @ 0= if cr ." WARNING: *** no interpretation semantics for: ;CODE ***" cr then postpone ;code ; immediate
: ahead state @ 0= if cr ." WARNING: *** no interpretation semantics for: AHEAD ***" cr then postpone ahead ; immediate
: cs-pick state @ 0= if cr ." WARNING: *** no interpretation semantics for: CS-PICK ***" cr then postpone cs-pick ; immediate
: cs-roll state @ 0= if cr ." WARNING: *** no interpretation semantics for: CS-ROLL ***" cr then postpone cs-roll ; immediate
: sliteral state @ 0= if cr ." WARNING: *** no interpretation semantics for: SLITERAL ***" cr then postpone sliteral ; immediate

\ All of the above words are provided for working around the bug in ANS-Forth in which they either
\ lack an xt value (for example: ; in Gforth) or they have an xt value that aborts when executed (for example: IF in VFX).
\ Note that S" and C" are both state-smart in VFX, but this is in violation to ANS-Forth that says they have no interpretation semantics.
\ I don't allow them to work in interpretation mode --- this doesn't matter anyway, because I redefine them later in the novice-package.
\ All of the above were listed in the ANS-Forth manual: "Interpretation semantics for this word are undefined." According to section 4.1.2
\ of the ANS-Forth document: "attempting to obtain the execution token, (e.g., with 6.1.0070 ', 6.1.1550 FIND, etc.) of a definition with
\ undefined interpretation semantics [is an ambiguous condition]."

\ SwiftForth doesn't have [COMPILE] but VFX does --- so [COMPILE] is only disambiguified for VFX.
\ SwiftForth isn't fully ANS-Forth compliant because it doesn't have [COMPILE] --- other ANS-Forth systems presumably do have [COMPILE] though.
\ Nobody really uses [COMPILE] so it is not important (I don't know why [COMPILE] is in ANS-Forth, as we have POSTPONE).

VFX? [if]
: to postpone to ; immediate
[then]

\ The ANS-Forth document (6.2.2295) states: "An ambiguous condition exists if either POSTPONE or [COMPILE] is applied to TO."
\ Disambiguifying TO does work under VFX though, so it is provided above. It may work under other ANS-Forth compilers too, although it is not ANS-Forth compliant.



JUERGEN

unread,
Jul 7, 2017, 12:12:47 PM7/7/17
to
Forth Killer At Work Again.
Who the fuck you think you are.
I would not touch anything with a barge pole that was within your reach or you have touched as this would smell like your shit for the next 20 years.

And I would not recommend anybody else does.

You do not have a clue what Certification is and you actually give a fuck to understand what it is.
Piss off and disappear out of my discussion with normal people here.

Either you are under drugs or pissed.
Or just mentally so insane that they should come and take you away
- you are a danger to the community and belong behind bars.

At least we have here a theme here where you do not have any clue and show quite clearly what an idiot you are.

JUERGEN

unread,
Jul 7, 2017, 12:30:33 PM7/7/17
to
On Friday, July 7, 2017 at 3:18:49 PM UTC+1, François wrote:
> I hope it's worth it, I just bought it
> ;)

I explained quite clearly at the beginning of the thread what it is.
The contents page is visible as well.
There are many links that you have checked I expect.

So you answer your own comment.

As you can see from my answer above I am not in the best of all moods at the moment.

Why did you buy it anyway?
I assume it was a process that lead to this decision to buy it
after you looked at all of the data that is visible free of charge to give you this data including the contents page.
Enjoy the surprise anyway. :) :) :) and a fourth :)


rickman

unread,
Jul 7, 2017, 1:38:10 PM7/7/17
to
Please, don't hold back, tell us how you really feel...

--

Rick C

hughag...@gmail.com

unread,
Jul 7, 2017, 4:11:29 PM7/7/17
to
How are you going to certify an ANS-Forth program if every ANS-Forth compiler behaves differently and incompatibily? You have to have an unambiguous language standard before you can even begin to think about certifying programs. Your coworker Paul Bennett is getting ahead of himself by claiming that he can certify ANS-Forth programs --- this is totally fake --- this is why ANS-Forth is considered to be a joke in the real world.

Disambiguifying FIND is the best thing that has ever happened to ANS-Forth --- FIND is a fundamental aspect of Forth programming, so nobody can get past the ultra-novice level (Elizabeth Rather's level, that primarily involves posting example code copied from the "Starting Forth" book) without getting FIND to work first --- disambiguifying FIND still doesn't redeem ANS-Forth, which continues to be a mess of ambiguity, but it is a huge first step!

Why doesn't Stephen Pelc accept the disambiguifiers? He is your employer --- ask him!

You are filled with hate toward my disambiguifiers --- how foolish will you appear when your employer accepts the disambiguifiers? --- I think that it is inevitable that Stephen Pelc will eventually accept the disambiguifiers, because arguing in favor of ambiguity is a not going to continue to work forever.

JUERGEN

unread,
Jul 7, 2017, 4:28:39 PM7/7/17
to
Forth Killer at work again.
I give a fuck about your disambiguifiers - as I give a fuck about any of your work you are claiming you have done. It stinks and it always will. You might flavour it - but shit stays shit.
You give a shit about anybody who does not like you - which is probably 200% of the Forth community. Piss off and get out of my thread - who gives you the right to comment here. You are drunk again or using other drugs.

Never looked at it never will. Why waste my time with it. An arshole is an arshole - and only shit comes out of it as you have proven for the last x years

jf...@ms4.hinet.net

unread,
Jul 7, 2017, 10:06:26 PM7/7/17
to
JUERGEN於 2017年7月8日星期六 UTC+8上午4時28分39秒寫道:
Is it all you can respond to one's opposite point of view? through a stream of abuse?

Jach Fong

Julian Fondren

unread,
Jul 7, 2017, 11:03:20 PM7/7/17
to
On Friday, July 7, 2017 at 9:06:26 PM UTC-5, jf...@ms4.hinet.net wrote:
> Is it all you can respond to [Hugh's streams of abuse]? through a stream of abuse?
>

People complain every time. It makes Juergen look bad. He understands.

>Is it all you can respond to one's opposite point of view? through a stream of abuse?

You're the type of fellow to show up to a mass murderer's trial--and
then get upset at the crowd outside, who don't seem to understand that
a man's life is at stake.

jf...@ms4.hinet.net

unread,
Jul 7, 2017, 11:22:45 PM7/7/17
to
Julian Fondren於 2017年7月8日星期六 UTC+8上午11時03分20秒寫道:
It's a bad analogy between these two. In America, we have the right of free speech, have no right of free murder.

Jach Fong

Julian Fondren

unread,
Jul 7, 2017, 11:38:49 PM7/7/17
to
On Friday, July 7, 2017 at 10:22:45 PM UTC-5, jf...@ms4.hinet.net wrote:
>
> It's a bad analogy between these two.

There's no analogy being made.

>In America, we have the right

"to a FAIR TRIAL before people ASSUME WE'RE MURDERERS"

is what a dweeb with no sense of TPO would say to the angry mob.

Hugh abuses others, constantly. Rather than hop onto a *reaction* to
this abuse and whine that it isn't sufficiently neutral and
intellectual for you, please exercise your right to remain silent. Or
your right to talk about Forth.

jf...@ms4.hinet.net

unread,
Jul 7, 2017, 11:52:46 PM7/7/17
to
Julian Fondren於 2017年7月8日星期六 UTC+8上午11時38分49秒寫道:
Hope you will say the same to everyone in this forum, not just to me:-)

Jach Fong

rickman

unread,
Jul 8, 2017, 1:44:12 AM7/8/17
to
Julian Fondren wrote on 7/7/2017 11:38 PM:
> On Friday, July 7, 2017 at 10:22:45 PM UTC-5, jf...@ms4.hinet.net wrote:
>>
>> It's a bad analogy between these two.
>
> There's no analogy being made.
>
>> In America, we have the right
>
> "to a FAIR TRIAL before people ASSUME WE'RE MURDERERS"

No, in the US we try to have a fair trial that doesn't start with the
assumption of guilt. We don't control what people think. The people
outside the courtroom are free to think what they want.


> is what a dweeb with no sense of TPO would say to the angry mob.
>
> Hugh abuses others, constantly. Rather than hop onto a *reaction* to
> this abuse and whine that it isn't sufficiently neutral and
> intellectual for you, please exercise your right to remain silent. Or
> your right to talk about Forth.

Juergen's reply is every bit as vitriolic as Hugh's post if not more so. It
is every bit as crude as Hugh's post. Juergen should know better than to
respond to Hugh at all when he posts his crap. It only serves to inflame
Hugh more and to bring greater attention to his posts. It also makes
Juergen look bad.

--

Rick C

Raimond Dragomir

unread,
Jul 8, 2017, 1:51:35 AM7/8/17
to
Juergen' over-reaction is just disgusting, I have to say it.
He is a real Forth Killer in Action, not Hugh. I don't need
such a person to tell me how wonderfull forth is. I prefer
a "Hugh" to told me what problems forth have and possible
solutions.

JUERGEN

unread,
Jul 8, 2017, 3:00:34 AM7/8/17
to
Jach, I see your name here for the first time.
WE DO NOT HAVE AN OPPOSITE POINT OF VIEW.
Hugh is attacking me personally with no reason - so I react personally. If you go over the last 4 years you can see the heaps of excrements he threw at me. As I said I do not care about his technical questions. They are just aimed at satisfying his dark mind - I have better things to do.
There are many people here that can do this a lot better, they have more of the relevant knowledge
- and as you can see, they perfer NOT to post as they do not want to receive Hugh excrements.
There are many links I gave to the item involved, so people can see themselves according to their interest. Nobody did.
Aguilar did not go to any of them before he posted - which level of intelligence does this represent?

JUERGEN

unread,
Jul 8, 2017, 3:02:47 AM7/8/17
to
... And now I cannot understand your post to me at all as you take the right of free speech, but do not give me the same freedom.

JUERGEN

unread,
Jul 8, 2017, 3:07:22 AM7/8/17
to
Thanks Julien, as said before I keep out of Forth discussions that are above my level. There are more knowledgeable ones.
And anything related to MPE: actually there is the possibility to write an email directly ...

JUERGEN

unread,
Jul 8, 2017, 3:15:06 AM7/8/17
to
- If I do not answer it looks like I like it.
- If I do react at least I get rid of my anger.
- And it has to show my level of anger here on clf for the rest of my life.
Over the years I have tried to find a balance.
There was a lot of work involved to put this together, let alone the other 15, so I could not let it stand it as given.

JUERGEN

unread,
Jul 8, 2017, 3:22:44 AM7/8/17
to
Dragomir, I do not understand your Post. You have never been the aim of my postings. Very often I add the FOR BEGINNERS - this is what it is aimed at.
I find it equally disgusing that you expect that my postings here are just for you.
And as I stated a few times before I keep out of the higher levels of Forth. This is for people like you.
I do like your attidude to support his attitude to complain atack and be rude but not to do anything about it.
In contrast at least I do something and make the hidden gems available (excluding obviously the ones I did myself to avoid any other thrown xxxx )

Elizabeth D. Rather

unread,
Jul 8, 2017, 4:05:35 AM7/8/17
to
Let it go. Years ago I realized, as most people here do, that Hugh is a
psycho and there is no point in trying to reason with him or even
correct his factual errors. Responding merely encourages him and spreads
the unpleasantness.

Fortunately I have a newsreader that allows you to screen out messages
from abusive individuals, and I have been free of his posts for some
years, except for when people who insist on responding to his nonsense
and cause some of it gets echoed. Put him on your newsreader's "kill
list" and ignore him. If everyone did the same, clf would be a better
and more productive place.

Cheers,
Elizabeth

--
Elizabeth D. Rather
FORTH, Inc.
6080 Center Drive, Suite 600
Los Angeles, CA 90045
USA

rene.h...@ibka.org

unread,
Jul 8, 2017, 4:15:17 AM7/8/17
to
Elizabeth D. Rather wrote:
>
> Fortunately I have a newsreader that allows you to screen out messages
> from abusive individuals, and I have been free of his posts for some
> years, except for when people who insist on responding to his nonsense
> and cause some of it gets echoed. Put him on your newsreader's "kill
> list" and ignore him. If everyone did the same, clf would be a better
> and more productive place.
>

Agreed. In the 'good old days' people were using a newsreader and simply added trolls to a killfile. Unfortunately I have to read Usenet via Google which doesn't seem to support this.

--
René Hartmann

Andrew Haley

unread,
Jul 8, 2017, 4:25:11 AM7/8/17
to
Raimond Dragomir <raimond....@gmail.com> wrote:

> Juergen' over-reaction is just disgusting, I have to say it.

Oh, nonsense, it was funny, heartfelt, and honest. Anger is an
energy.

> He is a real Forth Killer in Action, not Hugh. I don't need such a
> person to tell me how wonderfull forth is. I prefer a "Hugh" to told
> me what problems forth have and possible solutions.

LOL!

Andrew.

Anton Ertl

unread,
Jul 8, 2017, 4:53:37 AM7/8/17
to
rene.h...@ibka.org writes:
>Agreed. In the 'good old days' people were using a newsreader and simply ad=
>ded trolls to a killfile. Unfortunately I have to read Usenet via Google wh=
>ich doesn't seem to support this.

You can do something about this: Get an account at an NNTP provider
(e.g., eternal-september.org), get a good Usenet client (with
killfile:-) for your platform, and you are set.

I don't find it at all difficult not to respond to Hugh Aguilar's
abuse even though I don't have him in the killfile, but if you find it
difficult, then a killfile is a good help.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: http://www.forth200x.org/forth200x.html
EuroForth 2017: http://euro.theforth.net/

menti...@gmail.com

unread,
Jul 8, 2017, 11:31:35 AM7/8/17
to
On Friday, July 7, 2017 at 12:32:35 AM UTC-7, JUERGEN wrote:
> On Friday, July 7, 2017 at 12:43:09 AM UTC+1, menti...@gmail.com wrote:
> > On Thursday, July 6, 2017 at 10:14:07 AM UTC-7, JUERGEN wrote:
> > > Completing the 16 eBook set of the Forth Bookshelf.
[...]
** Apparently a lot of work has gone into this project. Obviously it is a labor of love.
**
** The project assures me that Forth is alive and well.
**
** Cheers,
**
** Arthur
*
* Thanks Artur. Yes this was a lot of work and fun - basically the summary of 4 years and what did not fit into the other 15 - or what I thought was missing to start - but still some material left for Part 2 ...
* One of it you might like: A demo example how Neural Network Learning works for Classification - roughly based on the RCE algorithm. The basics are done already - I just need the time to write the Forth code for it.

Juergen, sei hier bitte kein Lausbube in Deinen Auseinandersetzungen mit den anderen Teilnehmern. Since I am a year older than you, Juergen young fella, I have the privilege of remonstrating with you. Anyway, congratulations on your new e-book. I always like to simplify the URL, as follows:

http://www.amazon.com/dp/B073NMX1XP

A Start With Forth 2017: Forth - Bits and Bites Kindle Edition, $6.00

Amazon Best Sellers Rank [2017-07-08]:
#251,627 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
#21 in Books > Computers & Technology > Programming > Languages & Tools > Compiler Design
#59 in Books > Computers & Technology > Programming > Languages & Tools > Compilers
#1057 in Kindle Store > Kindle eBooks > Computers & Technology > Programming

Cheers,

Arthur
--
http://cyborg.blogspot.com/2017/07/pmpj0707.html

Ilya Tarasov

unread,
Jul 8, 2017, 1:38:34 PM7/8/17
to
пятница, 7 июля 2017 г., 3:06:21 UTC+3 пользователь hughag...@gmail.com написал:
> On Thursday, July 6, 2017 at 10:14:07 AM UTC-7, JUERGEN wrote:
> > some information about how to Certify your code.
>
> How does somebody certify their code? I have never heard of such a thing.
>
> Elizabeth Rather, Stephen Pelc, Bernd Paysan, Andrew Haley, etc. say that I'm not a Forth programmer at all, and never will be --- is there anything more to certification than just getting their permission?

Why do you ever worried about this? There are many magicians, prophets, healers etc who can show a kind of 'certificate' approving their 'talents'. Any kind of such documents must be enforced by authority of corresponding organization.

Alex

unread,
Jul 8, 2017, 1:52:27 PM7/8/17
to
Both you and Hugh are fools.

--
Alex

JUERGEN

unread,
Jul 8, 2017, 1:59:51 PM7/8/17
to
Thanks for the link - here it the UK I do not see so many rankings, so I was not aware of it.
And some people must have read it as I can see at the featured sequence on my page.
A Start With Forth first
Programming Forth second
MicroBit third - well, there are a lot of non-Forthers that like Burkhard's book, I just did the translation
Forth LITE Tutorial fourth
So there must have been some activity ...

JUERGEN

unread,
Jul 8, 2017, 2:04:53 PM7/8/17
to
There are two kinds of fools: those who can't change their opinions and those who won't.

Josh Billings

And thanks for joining the club.

JUERGEN

unread,
Jul 8, 2017, 2:07:16 PM7/8/17
to
On Saturday, July 8, 2017 at 6:52:27 PM UTC+1, Alex wrote:
And as I do not know you this might be more appropriate?

There is a foolish corner in the brain of the wisest man.

Aristotle

Ilya Tarasov

unread,
Jul 8, 2017, 2:41:48 PM7/8/17
to
суббота, 8 июля 2017 г., 20:52:27 UTC+3 пользователь Alex написал:
Well, I prefer to be in the Hugh's company :)

JUERGEN

unread,
Jul 8, 2017, 2:59:24 PM7/8/17
to
On Friday, July 7, 2017 at 5:30:33 PM UTC+1, JUERGEN wrote:
> On Friday, July 7, 2017 at 3:18:49 PM UTC+1, François wrote:
> > I hope it's worth it, I just bought it
> > ;)
>
> I explained quite clearly at the beginning of the thread what it is.
> The contents page is visible as well.
> There are many links that you have checked I expect.
>
> So you answer your own comment.
>
> As you can see from my answer above I am not in the best of all moods at the moment.
>
> Why did you buy it anyway?
> I assume it was a process that lead to this decision to buy it
> after you looked at all of the data that is visible free of charge to give you this data including the contents page.
> Enjoy the surprise anyway. :) :) :) and a fourth :)

A Start With Forth
Part of the top 20 today under
amazon - Best Sellers in Compiler Design - definitely not planned or expected
https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last
Thank you very much to everybody who got me there.

Special thanks to Arthur who pointed me to these rankings, otherwise I would have never known.

JUERGEN

unread,
Jul 8, 2017, 4:44:11 PM7/8/17
to
A Bit of Fun. Thanks again - now up from top 20 to top 18 https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last

Rene Hartmann

unread,
Jul 8, 2017, 5:44:20 PM7/8/17
to
Anton Ertl wrote:
>
> You can do something about this: Get an account at an NNTP provider
> (e.g., eternal-september.org), get a good Usenet client (with
> killfile:-) for your platform, and you are set.
>
> I don't find it at all difficult not to respond to Hugh Aguilar's
> abuse even though I don't have him in the killfile, but if you find it
> difficult, then a killfile is a good help.
>

Simply not responding is the easiest option, but the number of crackpots on c.l.f seems to be so high that I may consider your suggestion.

René Hartmann

hughag...@gmail.com

unread,
Jul 8, 2017, 8:55:24 PM7/8/17
to
On Friday, July 7, 2017 at 10:51:35 PM UTC-7, Raimond Dragomir wrote:
> sâmbătă, 8 iulie 2017, 06:03:20 UTC+3, Julian Fondren a scris:
> > On Friday, July 7, 2017 at 9:06:26 PM UTC-5, jf...@ms4.hinet.net wrote:
> > > Is it all you can respond to [Hugh's streams of abuse]? through a stream of abuse?
> > >
> >
> > People complain every time. It makes Juergen look bad. He understands.
> >
> > >Is it all you can respond to one's opposite point of view? through a stream of abuse?
> >
> > You're the type of fellow to show up to a mass murderer's trial--and
> > then get upset at the crowd outside, who don't seem to understand that
> > a man's life is at stake.

Julien Fondren's analogies never make any sense at all.

> Juergen' over-reaction is just disgusting, I have to say it.
> He is a real Forth Killer in Action, not Hugh. I don't need
> such a person to tell me how wonderfull forth is. I prefer
> a "Hugh" to told me what problems forth have and possible
> solutions.

I don't know why Juergen responded with so much hate. All I said was that you can't certify programs if the language standard is ambiguous. Is this controversial, or obvious?

At best, you can have vendor-specific programs get certified by the vendor --- this seems to be what we have, considering that Paul Bennett and Juergen Pintaske are both employees of MPE --- I also said that nobody at MPE is going to certify my programs, because they get paid by Stephen Pelc not by me, which also seems obvious.

I provided the complete list of disambiguifiers that disambiguify FIND --- this is a really good solution to the bug in ANS-Forth because it is ANS-Forth compliant --- the disambiguifiers were invented by Anton Ertl in 2009, and Bernd Paysan also has them in his MiniOOF, although Anton Ertl now refuses to acknowledge their existence and complains that I'm attacking him by saying that the disambiguifiers exist, and he encourages everybody to kill-file me.

It seems obvious that Anton Ertl has been told by Elizabeth Rather to not acknowledge the existence of the disambiguifiers --- he blundered back in 2009 when he told me how to write a disambiguifier --- now he is trying to put the toothpaste back in the tube, which isn't going to work.

This was the thread in which Anton Ertl invented the disambiguifiers:
https://groups.google.com/forum/#!topic/comp.lang.forth/wP5nw1ClzsM%5B1-25%5D
This was what he said:

On Thursday, November 26, 2009 at 3:24:06 AM UTC-7, Anton Ertl wrote:
> Hugh Aguilar <hugoa...@rosycrew.com> writes:
> >On Nov 25, 4:14=A0am, an...@mips.complang.tuwien.ac.at (Anton Ertl)
> >wrote:
> >> >On Nov 25, 8:57=3DA0am, Hugh Aguilar <hugoagui...@rosycrew.com> wrote:
> >> >> I don't use gforth. What does that error message mean? What is a
> >> >> "compile-only word?"
> >>
> >> A word without interpretation semantics.
> >>
> >> >It doesn't like you taking the address of ";" , though I don't
> >> >understand why.
> >>
> >> Because ";" has no execution or interpretation semantics. =A0The
> >> execution token returned by ['] represents the execution semantics,
> >> but since ";" does not have that ...
> >
> >I don't understand how a word can not have execution semantics.
>
> That's quite simple: By not defining execution semantics in the
> definition of the word in the standard document. Look up the
> definition of ";" in the standard, and you will see that there is no
> "Execution:" section there; and there are other labeled sections
> there, so the "omitted label" sentence of 3.4.3.1 does not apply.
>
> >For immediate words (IF, ;, etc.)
>
> IF and ";" are not immediate words in the standard. A system can
> implement them as immediate words, but a program cannot rely on their
> immediacy.
>
> >I looked up ['] in the ANS-Forth document and it says:
> >
> >"Place name's execution token xt on the stack."
>
> What's the execution token of a word that has no execution semantics?
>
> Hmm, since you think that ";" is immediate, I guess you want an
> execution token that, when executed, performs the compilation
> semantics. You can get that as follows. Before the rest of the
> program, define:
>
> : ; postpone ; ; immediate
>
> Now you have an immediate ";" with an execution semantics that's the
> same as the compilation semantics, and you can tick it.
>
> >What I am saying is that I didn't have any warning that what I was
> >doing in MACRO: was going to be a problem.
>
> A system that would tell us all non-standard usages would be nice, but
> we don't have that. For now the solution is to test on as many
> systems as possible.
>
> - anton

In that thread I was getting told that I'm not an ANS-Forth programmer because my early-binding MACRO: failed under gForth (it crashed when I tried to obtain the xt of semicolon) --- I had only tested it under SwiftForth in which it worked --- I was assuming at that time that ANS-Forth compilers were compatible with each other and generate code that behaves the same from one system to another (rather than work as expected on one system and crash on another).

Because of this, I switched to a late-binding MACRO: that I used for years. I was told however, that I'm not an ANS-Forth programmer because a late-binding MACRO: can introduce bugs if words get redefined (this had never actually happened to me though). We had this thread in which I was attacked for my late-binding MACRO: definer:
https://groups.google.com/forum/#!topic/comp.lang.forth/92KNs8p4J6Y%5B1-25%5D

By this time, I had already written all of the disambiguifiers (there are over 50 of them). So, I went ahead and rewrote MACRO: to be early-binding. Thanks to the disambiguifiers, this works on all ANS-Forth systems (my original early-binding MACRO: only worked on some and not on others).

I was not praised for doing this:

On Saturday, December 31, 2016 at 8:46:15 AM UTC-7, Julian Fondren wrote:
> The only thing Hugh has added to clf in his entire time here is an
> awareness that CREATE ... DOES> with constant data is less optimal
> than could be. Possibly some people have also benefited by having
> been encouraged to get real Usenet clients or subscriptions--so as to
> avoid him. All of his other contributions have been negative. We are
> actually stupider because of him--people have stopped coming by, that
> brightened things up; people who know better don't bother voicing
> response #1929 to the same iterated complaint from Hugh that was
> stupid and baseless the first time it provoked a response.
>
> And of course, instead of Forth discussion, you get the occasional
> admissions like mine that moderators can be nice to have, that the
> problems they exhibit shouldn't be solved by doing away with them.
> At one point I would've defended to the death Hugh's right to
> fantasize grossly about people going to hell, as the saying goes, and
> now I would just shrug and say he had it coming were jack-booted
> thugs to black-bag him and remove him from society.

On Wednesday, January 4, 2017 at 7:21:38 AM UTC-7, JUERGEN wrote:
> THERE IS NO ALTERNATIVE GROUP TO THE STANDARDS GROUP, which means people might have good ideas - but are not interested to contribute, have it judged and integrated as part of the Forth Standard - or not. Or form another group.
>
> There are loads of moaners and trolls here, many of them would get a well deserved kick in the teeth if met in person, as they are wasting our time and are sometimes rather aggressive and insulting - they would never dare to show the same behavior in personal meetings - as the reactions of the others are very predictable.

So, I'm still not an ANS-Forth programmer --- this is despite the fact that my disambiguifiers are ANS-Forth compliant and work under all ANS-Forth systems --- my early-binding MACRO: is based on the disambiguifiers and hence is fully ANS-Forth compliant.

It is not possible to write an early-binding MACRO: without the disambiguifiers. This is why I said early that the disambiguifiers are the "best thing that has ever happened to ANS-Forth:"

On Friday, July 7, 2017 at 1:28:39 PM UTC-7, JUERGEN wrote:
> On Friday, July 7, 2017 at 9:11:29 PM UTC+1, hughag...@gmail.com wrote:
> > Disambiguifying FIND is the best thing that has ever happened to ANS-Forth --- FIND is a fundamental aspect of Forth programming, so nobody can get past the ultra-novice level (Elizabeth Rather's level, that primarily involves posting example code copied from the "Starting Forth" book) without getting FIND to work first --- disambiguifying FIND still doesn't redeem ANS-Forth, which continues to be a mess of ambiguity, but it is a huge first step!
> >
> > Why doesn't Stephen Pelc accept the disambiguifiers? He is your employer --- ask him!
> >
> > You are filled with hate toward my disambiguifiers --- how foolish will you appear when your employer accepts the disambiguifiers? --- I think that it is inevitable that Stephen Pelc will eventually accept the disambiguifiers, because arguing in favor of ambiguity is a not going to continue to work forever.
>
> Forth Killer at work again.
> I give a fuck about your disambiguifiers - as I give a fuck about any of your work you are claiming you have done. It stinks and it always will. You might flavour it - but shit stays shit.
> You give a shit about anybody who does not like you - which is probably 200% of the Forth community. Piss off and get out of my thread - who gives you the right to comment here. You are drunk again or using other drugs.
>
> Never looked at it never will. Why waste my time with it. An arshole is an arshole - and only shit comes out of it as you have proven for the last x years

hughag...@gmail.com

unread,
Jul 8, 2017, 9:50:32 PM7/8/17
to
On Thursday, July 6, 2017 at 10:14:07 AM UTC-7, JUERGEN wrote:
> – Starts with the extreme basics – some code just using 12 words
> Then improve to using 35 words, and continue from there.

I could write my own ebook on ANS-Forth, as I know a lot about the subject.
This would be the title: "How to not program in ANS-Forth like a retard"

Of course, out in the real world, everybody will say:
"We don't need a book to teach us how to not program in ANS-Forth.
We have been not programming in ANS-Forth every day since 1994!"

A sample chapter would be:
"how to not use CASE --- by using <SWITCH SWOF FAST-SWITCH> and SLOW-SWITCH> instead"

Another sample chapter would be:
"how to not use PAD --- by using STRING-STACK.4TH instead"

I could have a dozen chapters like this, each in 100% contradiction to what Elizabeth Rather teaches. Quite a lot of writing to produce a book that nobody will read! Unlike Juergen's book, I would not start with the extreme basics (too boring!) --- I would assume that the student already knows how to program in ANS-Forth like a retard, but wants to stop doing so.

I've already written documentation for STRING-STACK.4TH --- this is my STRING-STACK.TXT file which is 433 lines long --- that's pretty lengthy!

I don't know off the top of my head how many words are documented in there. It is around 35 --- so I have as many words in STRING-STACK.4TH as Juergen is describing for the entire ANS-Forth language --- it originally started out duplicating QBASIC string support, but it grew to about double that many words (there is a lot of support for pattern-matching sub-strings and extracting sub-strings because I'm planning on using it for parsing Ido text, although I haven't started that program yet).

Realistically, no ANS-Forth programmer wants this stuff. There is a lot to learn! In addition to learning all the words in the API, you also have to learn about COW (copy-on-write) so you can understand the gist of the internal workings (not strictly necessary as you can just pretend that every string on the string-stack is unique, because the behavior is the same).

If you use STRING-STACK.4TH, Elizabeth Rather, Andrew Haley, etc. will tell you that you aren't an ANS-Forth programmer. Being an ANS-Forth programmer means being an expert on how PAD works --- PAD is the "standard" place to hold strings --- if you use PAD then Elizabeth Rather will praise you as an ANS-Forth programmer, but if you use STRING-STACK.4TH then she will call you a "psycho" and kill-file you.

I wrote STRING-STACK.4TH in 2016. It will go in the next novice-package release. I haven't bothered to release the upgraded novice-package. I'm not enthusiastic about doing so --- at best it will be ignored --- at worst I will get death threats.

Julian Fondren

unread,
Jul 8, 2017, 10:12:03 PM7/8/17
to
On Saturday, July 8, 2017 at 8:50:32 PM UTC-5, hughag...@gmail.com wrote:
> On Thursday, July 6, 2017 at 10:14:07 AM UTC-7, JUERGEN wrote:
> > – Starts with the extreme basics – some code just using 12 words
> > Then improve to using 35 words, and continue from there.
>
> I could write my own ebook on ANS-Forth, as I know a lot about the subject.
> This would be the title: "How to not program in ANS-Forth like a retard"
>
> Of course, out in the real world, everybody will say:
> "We don't need a book to teach us how to not program in ANS-Forth.
> We have been not programming in ANS-Forth every day since 1994!"
>
> A sample chapter would be:
> "how to not use CASE --- by using <SWITCH SWOF FAST-SWITCH> and SLOW-SWITCH> instead"
>
> Another sample chapter would be:
> "how to not use PAD --- by using STRING-STACK.4TH instead"
>
> I could have a dozen chapters like this,

For you this is a charming and productive idea. Go for it. I suggest
just posting the chapters as you write them to clf, and then using
that success to drive you on to having them on a proper website, and
then as a proper book on Amazon. Definitely don't treat the book like
your novice package, which will never be updated--ever. Or rather, you
can include with your book the individual wordsets used from the
novice package, as you use them. Perhaps in the end the entire novice
package can be reconstructed from the book.

> I'm not enthusiastic about doing so --- at best it will be ignored --- at worst I will get death threats.

You'll get 'death threats' if you don't release it, you know? Have
faith in your ability to discern a death threat. Look, this paragraph
has 'death threat' three times in it--four if you include the quote.
Four also sounds like 'death' in Chinese. Are the Chinese plotting,
with the Russians, to kill you before your book can revitalize Forth
in the West? Probably!

hughag...@gmail.com

unread,
Jul 8, 2017, 10:33:51 PM7/8/17
to
On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D. Rather wrote:
> On 7/7/17 9:00 PM, JUERGEN wrote:
> > Hugh is attacking me personally with no reason - so I react personally. If you go over the last 4 years you can see the heaps of excrements he threw at me.

All I said was that you can't certify programs if the language standard is ambiguous. That is an attack? That is excrement? No it isn't --- it is an obvious point --- there is no argument that can be made against this point.

My disambiguifiers are obviously a positive contribution to ANS-Forth --- there is no argument that can be made in favor of FIND behaving differently in every ANS-Forth system --- there is no argument that can be made in favor of ambiguity in a language standard.

> > As I said I do not care about his technical questions. They are just aimed at satisfying his dark mind - I have better things to do.

I'm asking the MPE salesman technical questions??? Why would I do that?

> Let it go. Years ago I realized, as most people here do, that Hugh is a
> psycho and there is no point in trying to reason with him or even
> correct his factual errors. Responding merely encourages him and spreads
> the unpleasantness.

This is what you said about the general-purpose data-structures in my novice-package:
---------------------------------------------------------------------
Does "*every* application" you write use exactly the same kind of data
arranged in the same way? If so, having written it once you can
reuse it often. If not, you either have to rearrange your data to make it
work or modify your "general-purpose" structure.
---------------------------------------------------------------------
Apparently you were trying to correct my "factual errors" when I said that a general-purpose data-structure can work with any struct containing any data arranged in any way, without being rewritten.

> Fortunately I have a newsreader that allows you to screen out messages
> from abusive individuals, and I have been free of his posts for some
> years, except for when people who insist on responding to his nonsense
> and cause some of it gets echoed. Put him on your newsreader's "kill
> list" and ignore him. If everyone did the same, clf would be a better
> and more productive place.

You are afraid of Forth programmers!

Your idea of "productive" is to sell SwiftForth --- you actually know nothing about programming --- you are a salesperson.

hughag...@gmail.com

unread,
Jul 9, 2017, 12:46:09 AM7/9/17
to
piss off

Cecil Bayona

unread,
Jul 9, 2017, 12:55:44 AM7/9/17
to
On 7/8/2017 7:55 PM, hughag...@gmail.com wrote:
> I was assuming at that time that ANS-Forth compilers were compatible with each other and generate code that behaves the same from one system to another (rather than work as expected on one system and crash on another).

I been working on a problem in Forth but I'm having issues with PARSE
and WORD not working the same between eForth, SwiftForth, and VFX, their
specs seem the same but the results are different, heck they are
different from on execution to the next using the same program, it's
perplexing. I'm also getting some Forth crashing while using an example
test program.

I will need to take a break away from it and start at the basics first
to see if the words work as defined, and if they are consistent with the
same program from one execution to next try.

Maybe I'm missing something basic, at this point it's frustrating.

--
Cecil - k5nwa

Julian Fondren

unread,
Jul 9, 2017, 1:15:30 AM7/9/17
to
On Saturday, July 8, 2017 at 11:55:44 PM UTC-5, Cecil - k5nwa wrote:
> On 7/8/2017 7:55 PM, hughag...@gmail.com wrote:
> > I was assuming at that time that ANS-Forth compilers were compatible with each other and generate code that behaves the same from one system to another (rather than work as expected on one system and crash on another).
>
> I been working on a problem in Forth but I'm having issues with PARSE
> and WORD not working the same between eForth, SwiftForth, and VFX, their
> specs seem the same but the results are different

There are issues with blocks vs. files, but it's more likely that
you have an unrelated error or are very confused. Rather than reply to
Hugh in a Hugh thread, why don't you ask a question in your own
thread? Do the usual technical programming thing: reduce your code to
a sample that displays the confusing behavior, and present it with A)
what you see it doing, and B) what you expect it to do, that it isn't
doing.

> heck they are
> different from on execution to the next using the same program

You have an unrelated error or are very confused.

A problem with buffers is likely.

> I will need to take a break away from it and start at the basics first
> to see if the words work as defined, and if they are consistent with the
> same program from one execution to next try.

Of SF and VFX, yes they are. You're talking about WORD and PARSE
It would be *absurd* for these to be buggy in a Forth.

They are probably also fine in your eForth.

https://github.com/gerryjackson/forth2012-test-suite
has tests for PRASE in src/coreexttest.fth

JUERGEN

unread,
Jul 9, 2017, 3:36:45 AM7/9/17
to
> A Bit of Forth and Fun. Thanks again - now up from top 20 to top 18 https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last

Just to show the wider range of the Forth Bookshelf in comparison
https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM
this morning at 8.30:
https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last

23. Juergen's A Start With Forth - thanks again to Arthur who sent the link
32. Stephen Pelc Programming Forth
57. Chuck's Programming a Problem-oriented Language
60. Ting's eForth and Zen 2017
65. Ting's Zen and the Forth Language
75. Ting's Footsteps in an Empty Valley
78. Ting's eForth Overview
94. Chuck's The Early Years
99. Ting's Fig Forth Manual, including Steve Teal's 1802 IP for FPGA and a link to downloads to program the FPGA and run it.

Interesting to see what people like - either as part of the Forth community or outside

hughag...@gmail.com

unread,
Jul 9, 2017, 12:49:18 PM7/9/17
to
The definition of WORD (6.1.2450) contains this:
"c-addr is the address of a transient region containing the parsed word as a counted string."

This is the same bug in ANS-Forth that we have in <# #> --- we are passing data between functions in global variables --- this "transient region" is a static buffer that may get clobbered in a variety of ways.

We have section 3.3.3.6 that says:
-------------------------------------------------------------------------
The data space regions identified by PAD, WORD, and #> (the pictured numeric output string buffer) may
be transient. Their addresses and contents may become invalid after:
– a definition is created via a defining word;
– definitions are compiled with : or :NONAME;
– data space is allocated using ALLOT, , (comma), C, (c-comma), or ALIGN.
The previous contents of the regions identified by WORD and #> may be invalid after each use of these
words. Further, the regions returned by WORD and #> may overlap in memory. Consequently, use of one
of these words can corrupt a region returned earlier by a different word. The other words that construct
pictured numeric output strings (<#, #, #S, and HOLD) may also modify the contents of these regions.
Words that display numbers may be implemented using pictured numeric output words. Consequently, .
(dot), .R, .S, ?, D., D.R, U., and U.R could also corrupt the regions.
...
The size of the region identified by WORD shall be at least 33 characters.
The size of the pictured numeric output string buffer shall be at least (2*n) + 2 characters, where n is the
number of bits in a cell. Programs that consider it a fixed area with unchanging access parameters have
an environmental dependency.
-------------------------------------------------------------------------

I fixed the problem with <# #> etc. by rewriting <# #> etc. to use my <CSTR and this worked well.

Thanks for pointing out the problem with WORD --- I can rewrite WORD to use <CSTR also, and this will fix the problem there too --- I'll include this in my next novice-package release (this is why I delay on releasing the novice-package: I keep getting adding new code).

Also, thanks to Raimond Dragomir for pointing out a problem in <CSTR and providing a solution --- that will also be in the next novice-package release.

In the meantime, you could fix the problem by immediately moving the string returned by WORD to the heap, before it gets corrupted. Use HSTR from the novice-package to do this. If you do this though, be sure that you FREE it when you are done, or you will have a memory leak. HSTR is defined like this:

: <hstr> ( adr cnt -- hstr ) \ hstr is a copy in the heap
dup char+ alloc >r \ -- adr cnt
dup r@ c!
r@ char+ swap cmove>
r> ;

: hstr ( str -- hstr ) \ hstr is a copy in the heap
count <hstr> ;

As for PARSE --- it returns a pointer to inside of the input buffer --- it won't get corrupted until the input buffer gets changed. This string won't last indefinitely either.

Alex

unread,
Jul 9, 2017, 12:52:27 PM7/9/17
to
On 7/9/2017 03:33, hughag...@gmail.com wrote:
> On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D. Rather
> wrote:
>> On 7/7/17 9:00 PM, JUERGEN wrote:
>>> Hugh is attacking me personally with no reason - so I react
>>> personally. If you go over the last 4 years you can see the heaps
>>> of excrements he threw at me.
> All I said was that you can't certify programs if the language
> standard is ambiguous. That is an attack? That is excrement? No it
> isn't --- it is an obvious point --- there is no argument that can be
> made against this point.


What is certified is a program against a specification. It happens every
day of every weak in the aerospace, nuclear and health equipment markets.

What is *specified* in the requirements is tested against the program as
*executed*. (There are static correctness analyses that are possible
too, but they are part of this larger testing process).

No-one certifies the source code, and ambiguities in the language
specification generally don't matter, since the execution of the code
isn't ambiguous. It either meets the testing specification or it doesn't
(and as the Ariane 5 rocket failure proved, they can be expensive).

A separate question is; can we specify & select an appropriate language
to avoid failure? Would a language without ambiguities have avoided the
failure?
http://www.rvs.uni-bielefeld.de/publications/Incidents/DOCS/Research/Rvs/Misc/Additional/Reports/ariane.html#RoleLanguage
says no; it wouldn't, since the problems were underspecified (in that
the engineers didn't know what the range of inputs were acceptable from
the Ariane 5 vs the Ariane 4).

The experience of the Ariane 5 was an example of a failure of specification.

Certification is not about getting "magicians, prophets, healers etc who
can show a kind of 'certificate' approving their 'talents'". Nor is it
true in any sense that "you can't certify programs if the language
standard is ambiguous."

--
Alex

Alex

unread,
Jul 9, 2017, 12:54:53 PM7/9/17
to
On 7/9/2017 17:52, Alex wrote:
> every day of every weak

Heh. Week.

--
Alex

hughag...@gmail.com

unread,
Jul 9, 2017, 1:02:52 PM7/9/17
to
On Sunday, July 9, 2017 at 9:52:27 AM UTC-7, Alex wrote:
> On 7/9/2017 03:33, hughag...@gmail.com wrote:
> > On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D. Rather
> > wrote:
> >> On 7/7/17 9:00 PM, JUERGEN wrote:
> >>> Hugh is attacking me personally with no reason - so I react
> >>> personally. If you go over the last 4 years you can see the heaps
> >>> of excrements he threw at me.
> > All I said was that you can't certify programs if the language
> > standard is ambiguous. That is an attack? That is excrement? No it
> > isn't --- it is an obvious point --- there is no argument that can be
> > made against this point.
>
> What is certified is a program against a specification. It happens every
> day of every weak in the aerospace, nuclear and health equipment markets.
>
> What is *specified* in the requirements is tested against the program as
> *executed*. (There are static correctness analyses that are possible
> too, but they are part of this larger testing process).

You snipped out the important paragraph:
On Saturday, July 8, 2017 at 5:55:24 PM UTC-7, hughag...@gmail.com wrote:
> At best, you can have vendor-specific programs get certified by the vendor --- this seems to be what we have, considering that Paul Bennett and Juergen Pintaske are both employees of MPE --- I also said that nobody at MPE is going to certify my programs, because they get paid by Stephen Pelc not by me, which also seems obvious.

What is the point of having a language standard if every program is vendor-specific?

ANS-Forth is meaningless --- ANS-Forth is a marketing gimmick from Forth Inc. intended to convince the world that Forth Inc. sets the standard for the entire Forth community --- Juergen Pintaske is being dishonest when he says that ANS-Forth programs can be certified; they can't due to the ambiguities in ANS-Forth.

hughag...@gmail.com

unread,
Jul 9, 2017, 1:17:49 PM7/9/17
to
On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D. Rather wrote:
> Years ago I realized, as most people here do, that Hugh is a
> psycho and there is no point in trying to reason with him or even
> correct his factual errors. Responding merely encourages him and spreads
> the unpleasantness.

The problem with Elizabeth Rather is that she is abysmally ignorant of basic computer-science concepts such as reentrancy. As an obvious example: she designed ANS-Forth so that strings are passed between functions in "transient regions" that are static buffers that can be corrupted in a variety of ways. This is stupid!

The reason why Elizabeth Rather's abysmal ignorance is a problem, is because she demands that she be recognized as the "leading expert" of Forth, essentially demanding that every Forth programmer submit to being stupider than she is (a good example of this is how Anton Ertl now pretends that the disambiguifiers don't exist, despite the fact that he invented them). For Elizabeth Rather, there is no compromise! She never backs down on this.

There is no compromise for me either. I will never recognize Elizabeth Rather as a leading expert. She is not a big chief, or even a medium-sized chief --- she is a sales clown for a corporation that I don't work for --- I will never have any respect for her at all. Nobody out in the real world has any respect for Elizabeth Rather either. She has her "charmed circle" of sycophants here on comp.lang.forth --- she appointed all of the Forth-200x committee (Anton Ertl, Andrew Haley, etc.) and they are required to recognize her as their "leading expert" (under threat that she will replace them with sycophants who are more loyal and NEVER think for themselves).

Somebody once made an analogy for what entropy is. He said that if you have a barrel of sewage and you pour in a cup of wine, it is still a barrel of sewage. OTOH, if you have a barrel of wine and you pour in a cup of sewage, it becomes a barrel of sewage. That is entropy!

Forth is the barrel of wine and Elizabeth Rather is the cup of sewage --- there can be no compromise --- Elizabeth Rather (and Forth Inc.) has to leave in order for Forth to be anything more than a barrel of sewage.

Alex

unread,
Jul 9, 2017, 1:45:44 PM7/9/17
to
On 7/9/2017 18:02, hughag...@gmail.com wrote:
> On Sunday, July 9, 2017 at 9:52:27 AM UTC-7, Alex wrote:
>> On 7/9/2017 03:33, hughag...@gmail.com wrote:
>>> On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D.
>>> Rather wrote:
>>>> On 7/7/17 9:00 PM, JUERGEN wrote:
>>>>> Hugh is attacking me personally with no reason - so I react
>>>>> personally. If you go over the last 4 years you can see the
>>>>> heaps of excrements he threw at me.
>>> All I said was that you can't certify programs if the language
>>> standard is ambiguous. That is an attack? That is excrement? No
>>> it isn't --- it is an obvious point --- there is no argument that
>>> can be made against this point.
>>
>> What is certified is a program against a specification. It happens
>> every day of every weak in the aerospace, nuclear and health
>> equipment markets.
>>
>> What is *specified* in the requirements is tested against the
>> program as *executed*. (There are static correctness analyses that
>> are possible too, but they are part of this larger testing
>> process).
>
> You snipped out the important paragraph:

Important as in the sense of "here's a strawman...

> On Saturday, July 8, 2017 at 5:55:24 PM UTC-7, hughag...@gmail.com
> wrote:
>> At best, you can have vendor-specific programs get certified by the
>> vendor --- this seems to be what we have, considering that Paul
>> Bennett and Juergen Pintaske are both employees of MPE --- I also
>> said that nobody at MPE is going to certify my programs, because
>> they get paid by Stephen Pelc not by me, which also seems obvious.
>
> What is the point of having a language standard if every program is
> vendor-specific?

... that I will now demolish." Well, duh.

>
> ANS-Forth is meaningless --- ANS-Forth is a marketing gimmick from
> Forth Inc. intended to convince the world that Forth Inc. sets the
> standard for the entire Forth community --- Juergen Pintaske is being
> dishonest when he says that ANS-Forth programs can be certified; they
> can't due to the ambiguities in ANS-Forth.
>

You might be right. Perhaps it's only you that's certifiable.

--
Alex

Alex

unread,
Jul 9, 2017, 1:47:55 PM7/9/17
to
On 7/9/2017 18:17, hughag...@gmail.com wrote:
> On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D. Rather
> wrote:
>> Years ago I realized, as most people here do, that Hugh is a psycho
>> and there is no point in trying to reason with him or even correct
>> his factual errors. Responding merely encourages him and spreads
>> the unpleasantness.
> The problem with Elizabeth Rather is that she is abysmally ignorant
> of basic computer-science concepts such as reentrancy.

Says the man that doesn't understand how to use pointers.
Congratulations Hugh; you made me laugh.

--
Alex

hughag...@gmail.com

unread,
Jul 9, 2017, 1:49:30 PM7/9/17
to
On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D. Rather wrote:
> Years ago I realized, as most people here do, that Hugh is a
> psycho and there is no point in trying to reason with him or even
> correct his factual errors. Responding merely encourages him and spreads
> the unpleasantness.

"Years ago" means 2009. This was my first contact with Elizabeth Rather:
https://groups.google.com/forum/#!topic/comp.lang.forth/BcWvGxFFuzA%5B1-25%5D

Here is our conversation:
On Friday, November 20, 2009 at 12:07:12 AM UTC-7, Elizabeth D Rather wrote:
> Hugh Aguilar wrote:
> ...
> > The problem is the ANS-Forth standard. Really, how obvious was the
> > need for double-precision arithmetic? This could have been an
> > extension to the language similar to floating-point. Compiler-writers
> > working on small microprocessors could decline to implement it if they
> > didn't want to.
> >
> > I am frustrated with the ANS-Forth standard because I believe that the
> > bad design of the standard is the #1 reason for the failure of Forth
> > to become an important language. Forth was doing pretty well in the
> > 1980s, but we needed a standard. What we got was Forth-83, and then
> > ANS-Forth-94, both of which were badly designed. With some more
> > thoughtful leadership we could have succeeded.
>
> There are D+, D-, M*, M/, and M*/ (and the unsigned operators). These
> were adequate in a very wide variety of projects over a 30 year period,
> many of which were extremely computation-intensive and running on slow
> 16-bit processors.
>
> Forth's design is pragmatic: it has functions that have been needed and
> that have proven their usefulness *in Forth*, not necessarily those that
> have been required in other languages. Generally speaking, Forth has
> the most flexible set of *integer* arithmetic operators of any language.
> In particular, M*/ was one of Chuck's most brilliant innovations. I'm
> sure if Chuck were trying to do your continued fractions that is what he
> would rely on. Yes, that sometimes requires thinking differently, like
> many other things in Forth.
>
> Cheers,
> Elizabeth

She says that ANS-Forth: "requires thinking differently." Differently from what? Reality? She is essentially saying that ANS-Forth is a cult --- the cult members have to think differently. To be an ANS-Forth "programmer" you have to drink the kool-aid, or you will be labeled a "psycho" and kill-filed --- you are required to believe what the "leading expert" believes --- this is despite the fact that what the "leading expert" believes is obviously nonsense.

Shortly thereafter in this thread, John Passaniti talking nonsense about continued fractions (he doesn't know what they are) and also hinting heavily that his "partner" is an ass-clown and he is a gay-boy. I was so new to comp.lang.forth that I was not aware that it is common for John Passaniti to twist every technical discussion into a description of his homosexuality. I didn't know that he was homosexual, so I asked him if he was.

On Monday, November 23, 2009 at 4:00:59 AM UTC-7, Stephen Pelc wrote:
> On Sun, 22 Nov 2009 20:23:23 -0800 (PST), Hugh Aguilar
> <hugoa...@rosycrew.com> wrote:
>
> >Are you trying to tell us that you're a faggot?
>
> My tolerance level has been exceeded. Please apologise and/or
> go away.
>
> Stephen

Here we have Stephen Pelc bravely defending the homosexual community on comp.lang.forth. Why does he care about faggots? There are only two explanations:
1.) He is an ass-clown himself. He buggers his male employees, such as Juergen Pintaske, Peter Knaggs, Paul Bennett, etc..
2.) He doesn't actually care about faggots --- he just uses political-correctness as a weapon against Forth programmers --- he is actually defending ANS-Forth; homosexuality is a surrogate for ANS-Forth.

All of the ANS-Forth cult members are deeply afraid of Forth programmers. They will use any weapon available against Forth programmers --- they would rather descend to the level of the homosexual community than discuss technical issues with programmers --- Stephen Pelc doesn't have an explanation for why ANS-Forth lacks a double-precision division, so he accuses me of being homophobic instead because this is an argument he can win (taking the politically-correct high-ground allows anybody to win any argument on any subject).

hughag...@gmail.com

unread,
Jul 9, 2017, 1:57:52 PM7/9/17
to
This is typical cult behavior --- a false dichotomy in which the "leading expert" knows everything and anybody who refuses to join the cult knows nothing (in the context of programming, doesn't know what pointers are).

Religious cults do this all the time. They believe that their "leading expert" knows everything that there is to know about spirituality, and anybody who refuses to join the cult knows nothing about spirituality (in the context of religion, the person is basically an animal or a goy or whatever, but is essentially soul-less).

The real world isn't actually this clear cut. I know what pointers are (I do! I do!). Everybody knows at least a little about spirituality --- nobody is actually soul-less --- God hasn't "chosen" any particular race and excluded all other races.

Melzzzzz

unread,
Jul 9, 2017, 2:28:20 PM7/9/17
to
On 2017-07-09, hughag...@gmail.com <hughag...@gmail.com> wrote:
> God hasn't "chosen" any particular race and excluded all other races.
God? You mean Jewish God?


--
press any key to continue or any other to quit...

hughag...@gmail.com

unread,
Jul 9, 2017, 2:42:19 PM7/9/17
to
On Sunday, July 9, 2017 at 11:28:20 AM UTC-7, Melzzzzz wrote:
> On 2017-07-09, hughag...@gmail.com <hughag...@gmail.com> wrote:
> > God hasn't "chosen" any particular race and excluded all other races.
> God? You mean Jewish God?

Well, the Jewish god did obviously choose the Jewish people --- as everybody knows, a god is created in the image of a people, and the first thing the god does is chose that people for blessedness (it would be an easy matter to build a robot whose function was indistinguishable from a god) --- for example, quite humorously, Jesus Christ is routinely depicted as a white European, despite the fact that the New Testament says he was born in Palestine and hence presumably looked Palestinian (although maybe his virgin-birth caused his skin to turn white).

I actually meant "God" capitalized, meaning the creator of the whole friggin universe --- actually, the word "God" is synonymous with the word "universe" --- both words are actually meaningless because you don't have anything to compare them with.

> press any key to continue or any other to quit...

Worship any god to go to heaven or any other god to go to hell...

Cecil Bayona

unread,
Jul 9, 2017, 3:36:20 PM7/9/17
to
On 7/9/2017 11:49 AM, hughag...@gmail.com wrote:
I will look at it in a few days, I need a break so I will go out and
take some photos, I been using PARSE and WORD in one word and then
looking at the result elsewhere and often the data makes no sense, even
repeating the same sequence yields different results so it might be
corruption of data but now I need a break.

--
Cecil - k5nwa

Alex

unread,
Jul 9, 2017, 4:17:34 PM7/9/17
to
On 7/9/2017 18:49, hughag...@gmail.com wrote:
> On Saturday, July 8, 2017 at 1:05:35 AM UTC-7, Elizabeth D. Rather wrote:
>> Years ago I realized, as most people here do, that Hugh is a
>> psycho and there is no point in trying to reason with him or even
>> correct his factual errors. Responding merely encourages him and spreads
>> the unpleasantness.
>
> "Years ago" means 2009. This was my first contact with Elizabeth Rather:

[vileness snipped]

You are one sick puppy.


--
Alex

hughag...@gmail.com

unread,
Jul 9, 2017, 7:28:40 PM7/9/17
to
Here is an example of out-of-the-box ANS-Forth:

: test cr bl word bl word swap count type count type ; ok
test hello you
youyou ok

I rewrote WORD like this:

: word ( delim -- cstr ) \ stream: data...delim
<cstr parse <+cstr> cstr> ;

Here is ANS-Forth with my new WORD installed:

: test cr bl word bl word swap count type count type ; ok
test hello you
helloyou ok

The ANS-Forth WORD (section 6.1.2450) says this:
"An ambiguous condition exists if the length of the parsed string is greater
than the implementation-defined length of a counted string."
This seems to indicate that the length of the parsed string can be 255 chars. This is not true however. Section 3.3.3.6 says:
"The size of the region identified by WORD shall be at least 33 characters."
This is another possible problem in your program --- you may be parsing out a string that is longer than 33 characters --- this would explain why your program works differently on different ANS-Forth systems (some may be 33, some may be more; it is ambiguous).
Anyway, with my WORD definition above you do get to parse out strings up to 255 chars.

Normally when I have ANS-Forth code that doesn't work, I assume that it is a bug in ANS-Forth, not a bug in my code. You seem to have racked your brain trying to figure out what you did wrong, and become stressed out. Don't worry! It is almost certainly Elizabeth Rather's idiocy that is tripping you up. Don't rack your brain trying to figure out what is causing the weirdly corrupted strings. Just fix Elizabeth Rather's mistakes for her, and all the weirdness goes away --- you don't have to actually figure out a detailed explanation of every weirdity --- in many cases, an out-of-the-box ANS-Forth system will behave very weirdly and you will never figure out what exactly is going on.

To a large extent, the novice-package is all about fixing Elizabeth Rather's bugs for her. If you load the novice-package, you get a rational system that makes sense, and in which it is easy to write working programs --- the out-of-the-box ANS-Forth system is going to be weird and baffling --- you will rack your brain and become stressed-out trying to debug programs written under out-of-the-box ANS-Forth, and you won't get all the bugs out because the bugs are in ANS-Forth itself, not your program.

Most people give up on out-of-the-box ANS-Forth within a matter of weeks --- they spend the rest of their lives telling everybody: "Forth sucks!" --- they don't realize that Forth is actually pretty cool, but ANS-Forth is not really Forth at all; ANS-Forth is just a marketing gimmick created by a sales clown.

Cecil Bayona

unread,
Jul 9, 2017, 10:28:15 PM7/9/17
to
On 7/9/2017 6:28 PM, hughag...@gmail.com wrote:

> Here is an example of out-of-the-box ANS-Forth:
>
> : test cr bl word bl word swap count type count type ; ok
> test hello you
> youyou ok
>
> I rewrote WORD like this:
>
> : word ( delim -- cstr ) \ stream: data...delim
> <cstr parse <+cstr> cstr> ;
>
> Here is ANS-Forth with my new WORD installed:
>
> : test cr bl word bl word swap count type count type ; ok
> test hello you
> helloyou ok
>
> The ANS-Forth WORD (section 6.1.2450) says this:
> "An ambiguous condition exists if the length of the parsed string is greater
> than the implementation-defined length of a counted string."
> This seems to indicate that the length of the parsed string can be 255 chars. This is not true however. Section 3.3.3.6 says:
> "The size of the region identified by WORD shall be at least 33 characters."
> This is another possible problem in your program --- you may be parsing out a string that is longer than 33 characters --- this would explain why your program works differently on different ANS-Forth systems (some may be 33, some may be more; it is ambiguous).
> Anyway, with my WORD definition above you do get to parse out strings up to 255 chars.
>
> Normally when I have ANS-Forth code that doesn't work, I assume that it is a bug in ANS-Forth, not a bug in my code. You seem to have racked your brain trying to figure out what you did wrong, and become stressed out. Don't worry! It is almost certainly Elizabeth Rather's idiocy that is tripping you up. Don't rack your brain trying to figure out what is causing the weirdly corrupted strings. Just fix Elizabeth Rather's mistakes for her, and all the weirdness goes away --- you don't have to actually figure out a detailed explanation of every weirdity --- in many cases, an out-of-the-box ANS-Forth system will behave very weirdly and you will never figure out what exactly is going on.
>
> To a large extent, the novice-package is all about fixing Elizabeth Rather's bugs for her. If you load the novice-package, you get a rational system that makes sense, and in which it is easy to write working programs --- the out-of-the-box ANS-Forth system is going to be weird and baffling --- you will rack your brain and become stressed-out trying to debug programs written under out-of-the-box ANS-Forth, and you won't get all the bugs out because the bugs are in ANS-Forth itself, not your program.
>
> Most people give up on out-of-the-box ANS-Forth within a matter of weeks --- they spend the rest of their lives telling everybody: "Forth sucks!" --- they don't realize that Forth is actually pretty cool, but ANS-Forth is not really Forth at all; ANS-Forth is just a marketing gimmick created by a sales clown.
>

So where can I get the latest copy of the Novice package to I can try to
fix this problem, is it at forth.org? The last time I looked there is
was a very old copy.

Lately I been actually trying to create an application in ANS Forth but
I have spent little time on it due to frustration, specially when I
tried to make an assembler to use conventional notation for the
instructions, I started using PARSE and WORD to make life easier and it
has been anything but easy, totally irrational results, corruption of
the buffers explains a lot of what I have been seeing.

A long time ago I used to use Forth a lot but I used a version based on
CMForth called Pygmy Forth and I was quite happy with it, it worked
predictably and I even wrote an assembler using conventional mnemonics
and it worked well and I didn't have problems with it. Pygmy did not
have PARSE so I had several libraries of enhancements, one being a word
called TOKEN that as the name implies gets a token from the input buffer
but in a safe manner so it does not become corrupted. Between TOKEN and
EVALUATE the assembler looked for the operands after the mnemonic and
all was well.

Lately I been trying to do the same with ANS Forth and the stuff hit the
fan, I saw WORD and PARSE so I thought I could use them to save time,
wrong. Mind you someone will say WORD and PARSE work as advertised you
just need to read the fine print somewhere and that is true but why all
this gotcha unless you memorize everything? Now knowing what is going on
then I can account for the corruption. On an interesting note PARSE on
eForth for Windows latest incantation seems to work fine but WORD does
not, it might have the same problem but I have not looked into it.

The latest SwiftForth and VFX Forth use which ANS version? I want to
print a copy of the ANS document and read it when I have nothing else to do.

--
Cecil - k5nwa

Julian Fondren

unread,
Jul 9, 2017, 10:42:21 PM7/9/17
to
On Sunday, July 9, 2017 at 9:28:15 PM UTC-5, Cecil - k5nwa wrote:
> On 7/9/2017 6:28 PM, hughag...@gmail.com wrote:

The mad leading the daft.

> The latest SwiftForth and VFX Forth use which ANS version?

Forth-94 for the most part. Forth-2012 for the most part.

Though you can close the gap with Forth-94 implementations
of the missing features.

> I want to
> print a copy of the ANS document and read it when I have nothing else to do.

http://dl.forth.com/sitedocs/dpans94.pdf
http://www.forth200x.org/documents/forth-2012.pdf

hughag...@gmail.com

unread,
Jul 9, 2017, 11:30:13 PM7/9/17
to
I'll email it to you --- I have your email address.

I'll also send you STRING-STACK.4TH which might be useful. I have a lot of support for pattern-matching sub-strings and extracting sub-strings --- that could be used, for example to figure out assembler addressing-modes.

What processor are you assembling for?

Note that PARSE works better than WORD because you can do more than one of them and the second one won't corrupt the first one's data.

WORD was originally written by Charles Moore in the 1970s, but it was a bad design --- PARSE is better --- WORD was left in to support legacy programs.

hughag...@gmail.com

unread,
Jul 10, 2017, 12:07:24 AM7/10/17
to
On Sunday, July 9, 2017 at 7:28:15 PM UTC-7, Cecil - k5nwa wrote:
> The latest SwiftForth and VFX Forth use which ANS version? I want to
> print a copy of the ANS document and read it when I have nothing else to do.

There is only one ANS-Forth version --- rubber-stamped by ANSI in 1994.

As for Forth-200x, it is a step backwards from ANS-Forth, and ANS-Forth was the worst-ever language standard since COBOL.

Cecil Bayona

unread,
Jul 10, 2017, 12:15:23 AM7/10/17
to
> WORD was originally written by Charles Moore in the 1970s, but it was a bad design --- PARSE is better --- WORD was left in to support legacy programs..
>
I been planing on using PARSE but I tried out WORD when I started having
problems but it didn't work as expected either.

Pattern matching is a good thing, I'm a big fan of text based optimizing
it can be quite good if you know what you are doing and even better when
combined with Forth.

MSP430 for the first go at it, to be followed by PDP11, PIC24, PIC32
and others eventually. I have some of the basics for a RPN assembler but
would like for it to use conventional mnemonics.

I was looking at various CPUs to figure out a generic assembler mnemonic
set, I used the PDP11 in the early 70's and forgot a good deal of the
details on it, I will be looking eventually for a PDP11 FPGA
implementation as reading about the PDP11 refreshed my mind on what a
wonderful CPU that was, I used a PDP11-45 where I worked in the early
70s, everybody there used FORTRAN or Basic, I was the only person using
Assembler, a modern FPGA implementation could be way faster.

--
Cecil - k5nwa

Cecil Bayona

unread,
Jul 10, 2017, 12:23:09 AM7/10/17
to
I have just printed a copy of ANS94 and I have it in a binder to use
when I have free time to read or when needed to look up a word.

Many downplay ambiguity here but I can't stand it, ANS Forth is full of
it. I looked up PARSE and WORD and ambiguity raised it head.

--
Cecil - k5nwa

Elizabeth D. Rather

unread,
Jul 10, 2017, 3:16:57 AM7/10/17
to
This is the critical piece of information. WORD uses its *own* buffer.
There is only one of it. Therefore, if you use WORD to parse a string,
the addr-len pair it returns *must* be used before any other invocation
of WORD, because that will overwrite the buffer. Since systems commonly
use WORD to parse the input stream, repeated uses of WORD will overwrite
its buffer.

Does this help?

Cheers,
Elizabeth

--
Elizabeth D. Rather
FORTH, Inc.
6080 Center Drive, Suite 600
Los Angeles, CA 90045
USA

Elizabeth D. Rather

unread,
Jul 10, 2017, 3:21:16 AM7/10/17
to
A standard is not intended as an implementation spec except in the sense
of boundary conditions, i.e., things you can count on and warnings of
things that may vary.

Rene Hartmann

unread,
Jul 10, 2017, 4:05:37 AM7/10/17
to
Regarding "ambiguities" in a standard, it is completely common for a standard not to specify a behavior for every situation.

Just look into the C standard. There you will find the phrase "the behavior is undefined" at lots of places. Often people would post C code to a C newsgroup and get told that according to the standard the behavior of that code is undefined. In the C community no one has a problem with hat.

Cecil Bayona

unread,
Jul 10, 2017, 4:07:35 AM7/10/17
to
I have tried both words but not at the same time, only one at a time but
PARSE or WORD is used in a word and the results are looked at outside
that word.

--
Cecil - k5nwa

Ilya Tarasov

unread,
Jul 10, 2017, 7:39:48 AM7/10/17
to
> Certification is not about getting "magicians, prophets, healers etc who
> can show a kind of 'certificate' approving their 'talents'". Nor is it
> true in any sense that "you can't certify programs if the language
> standard is ambiguous."

: + ( list1, list2 -- list3) \ concatenating lists represented by their identifiers, returning result list

How you will certify a program full of words, depending on context?

François

unread,
Jul 10, 2017, 8:05:05 AM7/10/17
to
Well, I think the book should have been called : A Start With MPE Forth 2017

i'm not a beginner, so it's not very interesting...


i bought Eforth And Zen - 3rd Edition 2017 in same time
.. more interesting

rickman

unread,
Jul 10, 2017, 10:53:45 AM7/10/17
to
JUERGEN wrote on 7/8/2017 3:15 AM:
> On Saturday, July 8, 2017 at 6:44:12 AM UTC+1, rickman wrote:
>> Julian Fondren wrote on 7/7/2017 11:38 PM:
>>> On Friday, July 7, 2017 at 10:22:45 PM UTC-5, jf...@ms4.hinet.net wrote:
>>>>
>>>> It's a bad analogy between these two.
>>>
>>> There's no analogy being made.
>>>
>>>> In America, we have the right
>>>
>>> "to a FAIR TRIAL before people ASSUME WE'RE MURDERERS"
>>
>> No, in the US we try to have a fair trial that doesn't start with the
>> assumption of guilt. We don't control what people think. The people
>> outside the courtroom are free to think what they want.
>>
>>
>>> is what a dweeb with no sense of TPO would say to the angry mob.
>>>
>>> Hugh abuses others, constantly. Rather than hop onto a *reaction* to
>>> this abuse and whine that it isn't sufficiently neutral and
>>> intellectual for you, please exercise your right to remain silent. Or
>>> your right to talk about Forth.
>>
>> Juergen's reply is every bit as vitriolic as Hugh's post if not more so. It
>> is every bit as crude as Hugh's post. Juergen should know better than to
>> respond to Hugh at all when he posts his crap. It only serves to inflame
>> Hugh more and to bring greater attention to his posts. It also makes
>> Juergen look bad.
>>
>> --
>>
>> Rick C
>
>> Juergen's reply is every bit as vitriolic as Hugh's post if not more so. It
>> is every bit as crude as Hugh's post. Juergen should know better than to
>> respond to Hugh at all when he posts his crap. It only serves to inflame
>> Hugh more and to bring greater attention to his posts. It also makes
>> Juergen look bad.
>
> - If I do not answer it looks like I like it.

Nonsense. If you don't reply it looks like you are ignoring the rantings of
an insane person.


> - If I do react at least I get rid of my anger.

Then by all means react, write a strongly worded message *and send it to
HUGH* directly!!! Don't make yourself also look like an insane person.


> - And it has to show my level of anger here on clf for the rest of my life.

Like an insane person.


> Over the years I have tried to find a balance.

The only balance is to ignore Hugh's insults.


> There was a lot of work involved to put this together, let alone the other 15, so I could not let it stand it as given.

So instead you help Hugh work to tear it down. All you have done is to
attack your own work by drawing attention to the village idiot instead of
your work.

Actually I think you have made yourself into the village idiot displacing
Hugh and making your work look like something that should be ignored.

--

Rick C

gavino himself

unread,
Jul 10, 2017, 11:02:47 AM7/10/17
to
On Thursday, July 6, 2017 at 1:14:07 PM UTC-4, JUERGEN wrote:
> Completing the 16 eBook set of the Forth Bookshelf.
>
> Write some basic Forth code and execute it even without installation.
>
> – Starts with the extreme basics – some code just using 12 words
> Then improve to using 35 words, and continue from there.
> Easyforth - program and execute words in Javascript and decipher the SNAKE program
> VFXTESTAPP.exe roughly VFX for download without installation
> 4e4th for the MSP430G2553
>
> But includes as well Sockpuppet,
> Vic’s v4th
> the 3 Word Forth Interface and
> some information about how to Certify your code.
>
> MicroBit Forth - Mecrisp installation data
>
> Click on the Look Inside above the picture – for PC users
> And/or download a free sample to your tablet/mobile for your e-reader.
>
> All of the basic material is visible at
> https://www.amazon.co.uk/Start-Forth-2017-Bits-Bites-ebook/dp/B073NMX1XP/ref=la_B00N8HVEZM_1_1?s=books&ie=UTF8&qid=1499357920&sr=1-1
>
> or see all 16 of the Forth Bookshelf at
> https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM
>
> More will be added for download and print. Starting point for now at https://wiki.forth-ev.de/doku.php/en:projects:a-start-with-forth:start

do a wikibook

and let hugh add his own chapters!!
yeahehaehaeh!!

JUERGEN

unread,
Jul 10, 2017, 11:23:57 AM7/10/17
to
Even if I start a new Shit Storm:

1. I must say your comment is unfair - and as you state yourself actually irrelevant - can fortunately not be deleted so it will stay, and see further down.

2. It was clearly stated that it is for beginners

3. Dirk at Bruehlconsult will not be happy to be seen as employee of MPE.

4. I wonder, if Nick Morgan at Twitter will be happy to know that he has a new employer now

4. As far a I know, Vic is not related to MPE.

5. It is new to me that Charles Moore is now part of MPE. I thought he founded Forth INC.

6. It is new to me as well that Mecrisp and Matthias are now part of MPE.

7. Paul Bennett is an idependent consultant as you have seen looking at his website.

8. I own the consultancy Exmark as you have seen at the end of the eBook and looking at my website.

As summary I can only conclude, that you commented on an eBook you have not read - so it is rather silly to comment. And if you read it the summary stays the same.

You are basically saying - I do not like this children's book - there is no pron or similar in it.


And show me which other Forths have the same support for Beginners.
So you are saying, do not use a Forth to do examples.
Or do you say there must be an example from every Forth on earth?

Well having looked higher up we had the same discussion roughly before, so you probably have a memory problem, so let's talk about this tomorrow when you have forgotten it all;
and as you have proven now you did not go through any decision process as discussed above - seemingly you bought the wrong product - that is fine for me; it will just join the other wrong ones you have bought and probably cmplained about bitterly.

And one thing is at least achieved -
A Start With Forth 2017 was on position 9 this morning, unfortunately down to 15 now - but still fun
https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#1

Having reviewed my comment again I am very sorry but change my mind - you must be blind. Very sorry for this.

In A Start With Forth Part 2 I might do a bit of research and as well add clippings from CLF - including your comments.

A headline of such a chapter something like
https://groups.google.com/forum/#!topic/comp.lang.forth/VZnbkqEm-NU

I spent a lot of time and communication to create a Forth Bookshelf over the last 4 years saving some of them from being lost completely, staring with the 2 by Chuck Moore with the author's consent; and included in this Bookshelf as well very basic material and links, so new people can try this interesting language with little or no effort and money.

It was interesting to see how people on CLF had to present themselves,
but judge yourself - I just deliver the data and links:
Francois said
Hugh said
and so on

JUERGEN

unread,
Jul 10, 2017, 11:43:38 AM7/10/17
to
On Monday, July 10, 2017 at 4:23:57 PM UTC+1, JUERGEN wrote:
> On Monday, July 10, 2017 at 1:05:05 PM UTC+1, François wrote:
> > Well, I think the book should have been called : A Start With MPE Forth 2017
> >
> > i'm not a beginner, so it's not very interesting...
> >
> >
> > i bought Eforth And Zen - 3rd Edition 2017 in same time
> > .. more interesting
>
> Even if I start a new Shit Storm:
>
> 1. I must say your comment is unfair - and as you state yourself actually irrelevant - can fortunately not be deleted so it will stay, and see further down.
>
> 2. It was clearly stated that it is for beginners
>
> 3. Dirk at Bruehlconsult will not be happy to be seen as employee of MPE.
>
> 4. I wonder, if Nick Morgan at Twitter will be happy to know that he has a new employer now
>
> 5. As far a I know, Vic is not related to MPE.
>
> 6. It is new to me that Charles Moore is now part of MPE. I thought he founded Forth INC.
>
> 7. It is new to me as well that Mecrisp and Matthias are now part of MPE.
>
> 8. Paul Bennett is an independent consultant as you have seen looking at his website.
>
> 9. I own the consultancy Exmark as you have seen at the end of the eBook and looking at my website.
>
> As summary I can only conclude, that you commented on an eBook you have not read - so it is rather silly to comment. And if you read it the summary stays the same.
>
> You are basically saying - I do not like this children's book - there is no pron or similar in it.
>
>
> And show me which other Forths have the same support for Beginners.
> So you are saying, do not use a Forth to do examples.
> Or do you say there must be an example from every Forth on earth?
>
> Well having looked higher up we had the same discussion roughly before, so you probably have a memory problem, so let's talk about this tomorrow when you have forgotten it all;
> and as you have proven now you did not go through any decision process as discussed above - seemingly you bought the wrong product - that is fine for me; it will just join the other wrong ones you have bought and probably cmplained about bitterly.
>
> And one thing is at least achieved -
> A Start With Forth 2017 was on position 9 this morning, unfortunately down to 15 now - but still fun
> https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#1
>
> Having reviewed my comment again I am very sorry but change my mind - you must be blind. Very sorry for this.
>
> In A Start With Forth Part 2 I might do a bit of research and as well add clippings from CLF - including your comments.
>
> A headline of such a chapter something like
> https://groups.google.com/forum/#!topic/comp.lang.forth/VZnbkqEm-NU
>
> I spent a lot of time and communication to create a Forth Bookshelf over the last 4 years saving some of them from being lost completely, staring with the 2 by Chuck Moore with the author's consent; and included in this Bookshelf as well very basic material and links, so new people can try this interesting language with little or no effort and money.
>
> It was interesting to see how people on CLF had to present themselves,
> but judge yourself - I just deliver the data and links:
> Francois said
> Hugh said
> and so on

I suddenly realized that I had forgotten to mention another new member of MPE:
A 3-INSTRUCTION FORTH FOR EMBEDDED SYSTEMS
Illustrated on the Motorola MC68HC11
by Frank Sergeant
Copyright 1991 Frank Sergeant
http://pygmy.utoh.org/forth.html.

I am very sorry.

BUT 8 NEW EMPLOYEES AT MPE - quite growth - you must know something I do not.

Alex

unread,
Jul 10, 2017, 12:03:20 PM7/10/17
to
By writing a specification, and testing against it. This is not rocket
science (but it does apply to rockets and their software, qv Ariane 5).

Certification isn't about verifying stack comments and a one line
description; although a well documented & tested function is always
desirable.

Lets say we wanted to certify your +. We would write a specification; it
would describe inputs and the expected output. Then we would ask; what
are the allowable error conditions, when it should be used and when not,
what other words does it use and depend on, is it re-entrant or thread
safe or both and does it need to be, what resources like memory, code
space, or CPU and I/O does it consume. A test would be written to
exercise the code as much as possible, and to ensure all internal paths
are exercised. And so on.

These techniques are well understood engineering principles. Building
bridges or ships, managing nuclear power plants, using medical imaging
systems; all have components that are certified, including the software.

Once we have specified & tested, a professional body can issue a
certification that says; this software and hardware and components have
been tested in this way, and it is suitable for this kind of use.

Would you have an X ray on a machine where the software was uncertified
and might fry your brains? Do you think "magicians, prophets, healers
etc who can show a kind of 'certificate' approving their 'talents'" are
involved?

--
Alex

Anton Ertl

unread,
Jul 10, 2017, 12:24:47 PM7/10/17
to
Rene Hartmann <rehar...@t-online.de> writes:
>Just look into the C standard. There you will find the phrase "the behavior=
> is undefined" at lots of places. Often people would post C code to a C new=
>sgroup and get told that according to the standard the behavior of that cod=
>e is undefined. In the C community no one has a problem with hat.

Depends on who you consider to be the "C community", if there is such
a thing at all. Some people embrace undefined behaviour as a way to
demonstrate their superior knowledge. Compiler maintainers love
undefined behaviour because it allows them to optimize another few
percent out of benchmarks. They may also use it as a business model
in a world dominated by free software, maybe like this: We give
programmers a compiler for free, but their programs invariably contain
undefined behaviour, so we refuse to provide useful support unless
they have a support contract.

Anyway, you can read my position about this in
<http://www.complang.tuwien.ac.at/kps2015/proceedings/KPS_2015_submission_29.pdf>

Fortunately, Forth compiler maintainers are not that crazy, but just
in case, we are tightening the standard to reduce the number of
ambiguous conditions. E.g., the next standard standardizes what
happens on integer overflow.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: http://www.forth200x.org/forth200x.html
EuroForth 2017: http://euro.theforth.net/

Alex

unread,
Jul 10, 2017, 12:29:44 PM7/10/17
to
On 7/10/2017 17:13, Anton Ertl wrote:

>
> Fortunately, Forth compiler maintainers are not that crazy, but

But it helps.

> just in case, we are tightening the standard to reduce the number of
> ambiguous conditions. E.g., the next standard standardizes what
> happens on integer overflow.

Fireworks & cowbells, or just a wraparound?

Are they currently documented up for approval?

--
Alex

François

unread,
Jul 10, 2017, 5:02:11 PM7/10/17
to
I'm sorry, I didn't want to look contemptuous,

Indeed I did not read this book carefully, I rather flew over it.
But it made me think of an "advertisement" for VFX and MPE
(The word MPE appears 44 times and VFX 21 times in the book)

But I didn't say "this book is a shit", just that "for me" it was not interesting.

I see that there are wars here to know who is right and who is wrong, and frankly I do not care, I program myself in my own corner, and I give myself pleasure;)

Why did I buy this book? Simply because as soon as I see a book that deals with Forth, I can't help myself :-D (compulsive purchase)

minf...@arcor.de

unread,
Jul 10, 2017, 6:02:52 PM7/10/17
to
Am Montag, 10. Juli 2017 18:24:47 UTC+2 schrieb Anton Ertl:
> Rene Hartmann <rehar...@t-online.de> writes:
> >Just look into the C standard. There you will find the phrase "the behavior=
> > is undefined" at lots of places. Often people would post C code to a C new=
> >sgroup and get told that according to the standard the behavior of that cod=
> >e is undefined. In the C community no one has a problem with hat.
>
> Depends on who you consider to be the "C community", if there is such
> a thing at all. Some people embrace undefined behaviour as a way to
> demonstrate their superior knowledge. Compiler maintainers love
> undefined behaviour because it allows them to optimize another few
> percent out of benchmarks. They may also use it as a business model
> in a world dominated by free software, maybe like this: We give
> programmers a compiler for free, but their programs invariably contain
> undefined behaviour, so we refuse to provide useful support unless
> they have a support contract.

True. Optimization can destroy safety, the loss being bigger than the
often negligible speed gain.

In this context see also:
http://compcert.inria.fr/compcert-C.html

Elizabeth D. Rather

unread,
Jul 10, 2017, 7:30:45 PM7/10/17
to
The important issue is whether the content of the buffer is used or
moved before the buffer is re-used, regardless of whether they're in the
same definition. For example:

: get ( -- addr len ) BL WORD COUNT ; ok
: show ( addr len -- ) TYPE ; ok
: test ( -- ) get show ; ok
ok
test hello! hello! ok
get something ok
show showthing ok

Even though the acquisition of the string was in a different word from
the word that used it, that worked fine since there was nothing to
disturb WORD's buffer, but when 'get' and 'show' were invoked
separately, the text interpreter had invoked WORD to acquire 'show', and
that corrupted the buffer.

Does this help? Maybe you can show us the code that doesn't work.

hughag...@gmail.com

unread,
Jul 10, 2017, 9:37:02 PM7/10/17
to
On Monday, July 10, 2017 at 9:03:20 AM UTC-7, Alex wrote:
> By writing a specification, and testing against it. This is not rocket
> science (but it does apply to rockets and their software, qv Ariane 5).

ANS-Forth has not been used for space missions --- ANS-Forth is crippleware that was designed to not support professional programming --- ANS-Forth seems to have been designed to teach Forth basics to novices (they can learn what DUP and SWAP etc. do).

hughag...@gmail.com

unread,
Jul 10, 2017, 9:47:04 PM7/10/17
to
On Monday, July 10, 2017 at 2:02:11 PM UTC-7, François wrote:
> Indeed I did not read this book carefully, I rather flew over it.
> But it made me think of an "advertisement" for VFX and MPE
> (The word MPE appears 44 times and VFX 21 times in the book)

Juergen Pintaski and Paul Bennet are employees of MPE:
http://www.mpeforth.com/sample-page/46-2/
"Juergen is our marketing and sales person promoting MPE Forth and MPE Consultancy Services."

He routinely presents himself as an average Forth programmer who just happens to think that MPE products are great --- he will never admit to being their salesman.

This is what he told you:
On Monday, July 10, 2017 at 8:43:38 AM UTC-7, JUERGEN wrote:
> On Monday, July 10, 2017 at 4:23:57 PM UTC+1, JUERGEN wrote:
> > On Monday, July 10, 2017 at 1:05:05 PM UTC+1, François wrote:
> > > Well, I think the book should have been called : A Start With MPE Forth 2017
> > ...
> > 8. Paul Bennett is an independent consultant as you have seen looking at his website.
> >
> > 9. I own the consultancy Exmark as you have seen at the end of the eBook and looking at my website.

All in all, this reminds me of that commercial for Chevrolet that we see at the beginning of movies that features: "real people, not actors." ;-)

JUERGEN

unread,
Jul 11, 2017, 2:47:50 AM7/11/17
to
And I am rather proud about this work I can do for MPE and Forth. It basically gave me the opportunity to publish/write 16 books - it had never been planned for but until now finished successfully and to be continued.
This basically means that The Consultancy ExMark supports in the Forth World 50% of of the Professional Forth Compiler Suppliers ( Sorry Ron, just to leave 8th out for the moment .. ) ( and Green Arrays is a different aspect as well and hardware).

You, Hugh, are the well known Forth-Killer and you are very active on the dark side.
You have probably done a very good sales job to sell yourself and are now very well paid by an unknown sponsor who wants to sell Chevrolets and make Forth look bad. Do you get paid an annual fee or paid per heap?
- rather stuck in the past with Testra - and not much after that. I talk 2017 and present.

JUERGEN

unread,
Jul 11, 2017, 2:50:56 AM7/11/17
to
Thanks for the clarification, Francois.
Sorry, but I invest a lot of my time to do all of this work.
And after 4 years and 16 books I get a bit sensitive about the negativity I see sometimes here. Even if sometimes misunderstood.
At least it raised the spread of information about Forth.
And It seems you must has caused it somehow to push it higher up:
Best Sellers in Compiler Design:
A Start With Forth 2017 - in position 5 this morning - brilliant
eForth and Zen 2017 - in place 8.
Check yourself at https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#1
It seems that there are no other new publications, Press Releases, articles and books about Forth over the last 4 years that I can see in the professional area - if I am wrong please correct and it should be promoted. People should be proud about Forth - not talk it down.

Rod Pemberton

unread,
Jul 11, 2017, 3:24:29 AM7/11/17
to
On Mon, 10 Jul 2017 01:05:35 -0700 (PDT)
Rene Hartmann <rehar...@t-online.de> wrote:

> Regarding "ambiguities" in a standard, it is completely common for a
> standard not to specify a behavior for every situation.

But, the computing environment usually does so. Since most processors
and mainframes use the same or very similar computing model nowadays,
these "undefined" behaviors in the specifications are usually well
defined in reality. Now, back when C was first being standardized,
computing platforms hadn't standardized on much of anything, and many
couldn't even handle characters.

It' really in the mid-1970's that you see a standardization upon an
8-bit character and integers that are multiples of 8-bits, etc. ASCII
and EBCDIC clearly had an influence.
https://en.wikipedia.org/wiki/Word_(computer_architecture)#Table_of_word_sizes


Rod Pemberton
--

JUERGEN

unread,
Jul 11, 2017, 3:43:00 AM7/11/17
to
Just for the record - it seems you cannot even get the names right after 4 years, Max.
It is Juergen Pintaske and Paul Bennett - even copy and paste seems to be an effort for you. Or probably rather intentional.
But at least it is clearly now that you have a new job at a car manufacturer that you mentioned.
http://adage.com/article/cmo-strategy/holy-movie-integration-lego-batman-stars-chevy-ad/307505/
I am just surprised they have not told you yet that all of their software should be certified - Forth, C or other.

Mark Wills

unread,
Jul 11, 2017, 7:35:02 AM7/11/17
to
Paul is not an *employee* of MPE. He's a freelance contractor, same as me.
Paul and I have been working together on an (paid) embedded project
connected with the medical science industry.

We're about to embark (together) on a Forth-related embedded project,
for which work has already started.

Like any freelancer, he works for whoever wants his services at a particular
time. I presume MPE have his number on speed-dial because he knows Forth
inside out, and (even more importantly) he's a bloody good engineer.

He's also a good guy.

He doesn't frequent CLF anymore because he finds it too toxic, which is
a shame.

JUERGEN

unread,
Jul 11, 2017, 9:33:24 AM7/11/17
to
Thanks Mark for confirming my point regarding Paul

Thanks as well for proving evidence regarding the Forth-Killer Success

minf...@arcor.de

unread,
Jul 11, 2017, 10:29:55 AM7/11/17
to
Being in and out of CLF for about 20 years, I am missing Paul's contributions
as well.

Toxic is the right word...

Some poor bastards just aren't cultivated enough to understand the difference
between exchanging opinions and personal effrontery. To be a good engineer
you need to be cultivated because at the end of the day you deal with
people and not with machines.

Oldtimers here will remember the late Jerry Avins' footnote in his CLF postings...

hughag...@gmail.com

unread,
Jul 11, 2017, 6:24:17 PM7/11/17
to
I know Forth "inside out" too --- and yet Stephen Pelc insists that I'm not a Forth programmer, and has done so since 2009 from the first day he had seen me on comp.lang.forth --- I think Stephen is afraid of Forth programmers.

Paul Bennett and Juergen Pintaske are both listed on the MPE website:
http://www.mpeforth.com/sample-page/46-2/
They are both employees just as much as Barto Gillespie is an employee.

Peter Knaggs is also listed on this page. He is on the Forth-200x committee along with Stephen Pelc, which is a blatant violation of the rule against any company having more than one vote on the committee.

Similarly, Andrew Haley worked at Forth Inc. and taught the novice-class there (this is why he thinks that PAD and CASE etc. are good Forth programming). He is on the Forth-200x committee along with Leon Wagner, which is another blatant violation of the rule against any company having more than one vote on the committee.

Also, MPE and Forth Inc. do "joint projects" together. The whole Forth-200x committee is Elizabeth Rather's "charmed circle" --- they consider all Forth programmers to be competition for Forth Inc. and MPE --- the whole purpose of the Forth-200x committee is to distract the Forth community with decades-long debates about idiotic nonsense (recognizers, etc.), and to obtain a list of names of all Forth programmers so they can be listed on the Forth-200x document as supporters.

Maybe later Barto Gillespie can be appointed to the Forth-200x committee --- everybody in favor, say: "bow wow!"

hughag...@gmail.com

unread,
Jul 11, 2017, 7:17:14 PM7/11/17
to
On Monday, July 10, 2017 at 11:47:50 PM UTC-7, JUERGEN wrote:
> And I am rather proud about this work I can do for MPE and Forth. It basically gave me the opportunity to publish/write 16 books...

Maybe you should learn to program in Forth before you promote yourself to being a teacher of Forth.

> You, Hugh, are the well known Forth-Killer and you are very active on the dark side.

I'm not on the "dark side" --- your boss is Darth Vader --- ANS-Forth is the Death Star...

> - rather stuck in the past with Testra - and not much after that. I talk 2017 and present.

Your irony has red-lined the ironometer!

ANS-Forth came out in 1994 and it represented the state of the art circa about 1974. The business of passing data between functions in global variables (the buffers used by <# #> and WORD and PAD etc.) was typical of the 1970s. This was done because computers often had extremely limited RAM (2KB, 4KB and 8KB representing small, medium and large computers). Also, a lot of programmers in the 1970s were ignorant of computer-science concepts that didn't become well-known until the 1980s --- Elizabeth Rather's background is in COBOL in the 1970s --- she has not learned anything about computer-science since that time.

My code, such as LIST.4TH ASSOCIATION.4TH STRING-STACK.4TH ALLOCATION <SWITCH MACRO: etc. is written in ANS-Forth and is far superior to anything else available in ANS-Forth or Forth-200x. Why are Stephen Pelc and Elizabeth Rather opposed to this? They hate success at writing Forth code because this makes them look stupid --- decades have gone by with them braying about how they are the "leading experts" of Forth, but they have been unable to develop any general-purpose Forth code comparable to mine --- they aren't leading!

The major weakness of C is that it fails to support quotations. If ANS-Forth had come out with quotations it would have had an edge over C. 1994 was pretty much too late --- this should have been done in Forth-83 --- but it would have still been realistic to save Forth in 1994.

Now in 2017 Forth-200x has the Paysan-faked quotations that lack access to the parent function's local variables. WTF??? This seems like an unfunny joke! My rquotations do provide access to the parent function's local variables, and they work under VFX and SwiftForth; they should be easy to implement under any Forth system anywhere, although a few lines of assembly-language are required --- the Forth-200x committee refuse to acknowledge the existence of the rquotations --- the Forth-200x committee hate success at writing Forth code because this makes them look stupid.

Stephen Pelc's plan leading the Forth community is to have his salesman write a book teaching Forth, and the book is essentially sales brochure for MPE.
He thinks the Forth community is composed entirely of idiots who need a sales-clown teacher provide a book that:
"Starts with the extreme basics – some code just using 12 words
Then improve to using 35 words, and continue from there."
This is insulting!

In order to qualify for a leadership position, a Forther should write code that is at least half as good as my LIST.4TH ASSOCIATION.4TH STRING-STACK.4TH ALLOCATION <SWITCH MACRO: rquotations, etc..

Forth-200x committee --- start any time!

hughag...@gmail.com

unread,
Jul 11, 2017, 9:51:02 PM7/11/17
to
On Monday, July 10, 2017 at 4:30:45 PM UTC-7, Elizabeth D. Rather wrote:
> The important issue is whether the content of the buffer is used or
> moved before the buffer is re-used, regardless of whether they're in the
> same definition. For example:
>
> : get ( -- addr len ) BL WORD COUNT ; ok
> : show ( addr len -- ) TYPE ; ok
> : test ( -- ) get show ; ok
> ok
> test hello! hello! ok
> get something ok
> show showthing ok
>
> Even though the acquisition of the string was in a different word from
> the word that used it, that worked fine since there was nothing to
> disturb WORD's buffer, but when 'get' and 'show' were invoked
> separately, the text interpreter had invoked WORD to acquire 'show', and
> that corrupted the buffer.

This is your code with the novice-package installed:

: get ( -- addr len ) BL WORD COUNT ; ok
: show ( addr len -- ) CR ." string: " TYPE CR ;
SHOW is redefined ok
get something ok-2
get yet-more ok-4
show
string: yet-more
ok-2
show
string: something
ok

> Does this help?

Yes! That helps a lot!

> Maybe you can show us the code that doesn't work.

My code works fine. It is out-of-the-box ANS-Forth that doesn't work.

hughag...@gmail.com

unread,
Jul 11, 2017, 10:18:44 PM7/11/17
to
On Sunday, July 9, 2017 at 9:23:09 PM UTC-7, Cecil - k5nwa wrote:
> I have just printed a copy of ANS94 and I have it in a binder to use
> when I have free time to read or when needed to look up a word.

The ANS-Forth document makes for pretty entertaining reading!

I have always thought that a good song could be written by pasting together various quotes from the ANS-Forth document to be the lyrics. We could call this the "Leading Expert Song" --- I'm sure it would be a big hit (especially among C programmers).

Here is one example:
------------------------------------------------------------------------
For a given string, the values returned by FIND while compiling may differ
from those returned while not compiling.
------------------------------------------------------------------------

another:
------------------------------------------------------------------------
The control-flow stack may, but need not, physically exist in an implementation. If it does exist, it may
be, but need not be, implemented using the data stack. The format of the control-flow stack is
implementation defined. Since the control-flow stack may be implemented using the data stack, items
placed on the data stack are unavailable to a program after items are placed on the control-flow stack and
remain unavailable until the control-flow stack items are removed.
------------------------------------------------------------------------

another:
------------------------------------------------------------------------
The previous contents of the regions identified by WORD and [pictured numbers] may be invalid after each use of these
words. Further, the regions returned by WORD and [pictured numbers] may overlap in memory. Consequently, use of one
of these words can corrupt a region returned earlier by a different word. The other words that construct
pictured numeric output strings may also modify the contents of these regions.
Words that display numbers may be implemented using pictured numeric output words. Consequently, [they] could also corrupt the regions.
------------------------------------------------------------------------

We would also want to paste in various quotes from Elizabeth Rather:

"This is the critical piece of information. WORD uses its *own* buffer.
There is only one of it."

"Truly, I don't see the point of all this paranoia about reentrancy ... I think this is all about mythical dragons."

"I'd actually be grateful for a simple English explanation of what 'quotations' are, as I've heard the term used in various ways..."

"Does 'every application' you write use exactly the same kind of data
arranged in the same way? If so, having written it once you can
reuse it often. If not, you either have to rearrange your data to make it
work or modify your 'general-purpose' structure."

"Virtually every Forth application needs some kind of array structures. ...it's so easy to make a version that does *exactly* what the application needs rather than some generic definition."


These are just a few quotes that I noticed. There are a lot more. Every page of the ANS-Forth document, and every post from Elizabeth Rather on comp.lang.forth, contains idiocy! The difficulty would not be in finding enough funny quotes to make lyrics for a song --- the difficulty would be in keeping the length of the song down --- radio stations won't play a song that to too long.

Making the lyrics rhyme could also be difficult --- there has never been any rhyme or reason to ANS-Forth --- it is just a hodgepodge of nonsense.

rickman

unread,
Jul 11, 2017, 11:56:27 PM7/11/17
to
I recall the Transputer had an addition instruction for "safe" addition
which halted the processor on overflow. I thought that would be dangerous
in a safety system, but it was pointed out to be no less dangerous than
continuing operation with potentially corrupt data. In one case the system
can be restarted and the bug flagged for fixing, in the other case things
can go awry with no indication.

--

Rick C

rickman

unread,
Jul 12, 2017, 12:01:46 AM7/12/17
to
hughag...@gmail.com wrote on 7/11/2017 9:51 PM:
>
> My code works fine. It is out-of-the-box ANS-Forth that doesn't work.

I bet you have trouble driving a car when you put the shifter into 'R' for
"right straight ahead" and back into things. If you don't follow directions
there are very few things that work as intended. Can you follow directions?

--

Rick C

rickman

unread,
Jul 12, 2017, 12:04:23 AM7/12/17
to
JUERGEN wrote on 7/8/2017 3:00 AM:
>
> - and as you can see, they perfer NOT to post as they do not want to receive Hugh excrements.

Likewise, no one wants to receive *your* excrement!

--

Rick C

rickman

unread,
Jul 12, 2017, 12:06:56 AM7/12/17
to
Rene Hartmann wrote on 7/8/2017 5:44 PM:
> Anton Ertl wrote:
>>
>> You can do something about this: Get an account at an NNTP provider
>> (e.g., eternal-september.org), get a good Usenet client (with
>> killfile:-) for your platform, and you are set.
>>
>> I don't find it at all difficult not to respond to Hugh Aguilar's
>> abuse even though I don't have him in the killfile, but if you find it
>> difficult, then a killfile is a good help.
>>
>
> Simply not responding is the easiest option, but the number of crackpots on c.l.f seems to be so high that I may consider your suggestion.

Not responding only works if everyone does it. This would truly be a
different group if no one responded to Hugh's posts.

--

Rick C
It is loading more messages.
0 new messages