\section{forth\_false und ANS Forth}

Am 23.\ Dezember 2007 findet sich in de.comp.lang.forth
ein Beitrag von Anton Ertl, den wir mal als Leserbrief werten :-)

\begin{list}{}{}
\item\relax
\begin{small}
Betreff: forth\_false und ANS Forth (was: VD 3+4/07)\\
Datum: Sun, 23 Dec 2007 18:18:49 GMT   \\
Autor:   (Anton Ertl) \\

Rafael Deliano  writes:\\
> Die Diskussion in dclf ist einigermaßen unverdaut auch \\
> in die VD übergeschwappt.

Naja, vielleicht lesen dann ja auch einige der VD--Leser Folgendes:

Fred Behringer behauptet in seinem FALSE--Artikel, dass
ANS--Forth--Programme nicht auf ANS--Forth--Systemen laufen, und belegt
das damit, dass Ben Hoyts FALSE--Interpreter
<\href{http://wouter.fov120.com/files/lang/false/forthfalse.zip}{\texttt{http://wouter.fov120.com/files/lang/false/ forthfalse.zip}}> nicht auf
zwei (relativ obskuren) Forth--Systemen läuft, die von sich behaupten,
ANS--Forth--Systeme zu sein.

Wenn das so wäre, wäre der Standard ein totaler Fehlschlag, denn die
Kompatibilität zwischen Programmen und Systemen ist das wichtigste
Ziel eines Standards (wenn auch einige behaupten, dass die
Kompatibilität der Programmierer auch wichtig ist).

Ich habe einmal die Probe aufs Exempel gemacht und das gleiche
Programm auf einigen ANS--Forth--Systemen hier probiert, jeweils ohne
irgendwelche magischen Phrasen zu verwenden, die optionale Teile
nachladen:

\begin{tabular}{ll}
gforth 0.6.2:    &läuft.\\
iforth 2.1.2541: &läuft.\\
bigFORTH 2.1.6:  &läuft.\\
\multicolumn{2}{l}{VFX--Forth for Linux IA32 4.05 Alpha }\\
\multicolumn{2}{l}{[build 0118]: läuft nicht, es fehlt }\\
\multicolumn{2}{l}{zumindest FLUSH-FILE und "0." \ (also Doubles).}
\end{tabular}

Bei VFX--Forth könnte man sich vielleicht mit magischen Phrasen
behelfen, aber auf die Schnelle habe ich in der Doku nichts gefunden.

Meine Schlussfolgerung ist, dass ANS--Forth durchaus erfolgreich ist,
zumindest soweit es dieses Beispiel und einige andere betrifft.  Wenn
einige Forth--Systeme es nicht richtig unterstützen, dann bleiben
einem folgende Optionen:

\begin{tabular}{ll}
-- &Das als Fehler an den Entwickler melden,  \\
  &so dass er es ausbessert (werde ich gleich einmal \\
  &  mit VFX--Forth machen).\\
-- &Auf ein System wechseln, das ANS Forth richtig \\
  & unterstützt.
\end{tabular}\medskip

- anton\\
-{}- \\
M. Anton Ertl\\                   
Some things have to be seen to be believed\\
 Most things have to be believed to be seen\\
\email{anton@mips.complang.tuwien.ac.at}\\
http://www.complang.tuwien.ac.at/anton/home.html
\end{small}
\end{list}

und als Reaktion darauf von Rafael Deliano

\begin{list}{}{}
\item\relax
\begin{small}
Betreff: Re: forth\_false und ANS Forth (was: VD 3+4/07)    \\
Datum: Mon, 24 Dec 2007 11:38:44 +0100   \\
Autor:   Rafael Deliano 
 
>{}> Die Diskussion in dclf ist einigermaßen unverdaut\\
>{}> auch in die VD übergeschwappt.\\
> Naja, vielleicht lesen dann ja auch einige der VD--Leser \\
Wird halt wieder unverdaut zurückschwappen.
 
> Meine Schlussfolgerung ist, dass ANS--Forth durchaus\\
> erfolgreich ist, zumindest soweit es dieses Beispiel\\
> und einige andere betrifft. \\
Totes Rennen.

  An Routinen, die ich nicht selbst codiert habe, verwende ich z.B. 
nur eine Funktion von Klaus Kohl für die Quadratwurzel, die der vermutlich
mal aus einem FORTH--FFT--Programm in DrDobbs abgezweigt hat und später
in VD veröffentlichte. Ich habe hier auch im Fundus noch ein DES
in Forth aus clf das aber 32 Bit ist, so dass ich es noch nicht testen 
konnte, weil ich es auf 16 Bit ändern müsste.

 \glqq Portabilität\grqq\ wäre relevant, wenn nennenswert nützliche 
und dokumentierte Source veröffentlicht würde. 
Von Google gibts bekanntlich experimentelle Suche nach source
http://www.google.com/codesearch/advanced\_code\\\_search?hl=de,
die unter \glqq F\grqq\ aber eben nur \glqq Fortran\grqq\ hat. Ist nicht die Schuld von 
google: es gibt keinen nennenswerten frei verfügbaren für 
Endanwender relevanten Sourcecode in Forth. 

  Insofern halte ich es mit Charles Moore "give me your idea and I 
embed it in my code". Es ist auch für die VD besser, Routinen
system-- und programmiersprachenunabhängig z.B. als Flowcharts
zu veröffentlichen und dem Leser die Codierung in sein System 
zu überlassen.

MfG JRD
\end{small}
\end{list}

Interessant wäre, zu erfahren, wie es anderen Forth--Programmierern ergeht.\\
Zeit für einen Leserbrief?\hfill Ulrich Hoffmann





