[front] : [next] : [archives] : [bug fixes] =
deutsch

GF6

is a collection of Forth related files distributed under the terms and conditions of the GNU free software license (GPL), in the version supplied and transposed to german text.

Everything is in an experimental state and I do promise not a thing, thus there is no warranty concerning F6, the GF6 collection, nor any accompanying work, text, code or data. No one who doesn't fully agree to the above mentioned GPL is licensed to make use of F6 and the GF6 collection, in any way.


Forth

Forth is a computer language and an operating system (depending on how and where it is implemented), which does not impose any limits on creative programming. A traditional style Forth program is like a specialized "shell", including a commandline interpreter, and with access to all the well documented Forth words, which make up any new applications.

Forth is very much like a natural language, fairly easy to learn and easy to use, and can be extended to any level of complexity required, or go "down" till very low level assembler programming.
A Forth-style programmable and extendable macro assembler is usually an integral part of those systems, as well as a source text editor, suited to the "blockfiles" which are plain ASCII with no control characters at all (and thus can be used in any computer system).

The only drawback seems to be the limitless flexibility of the language, where it wouldn't be feasible to catch every bit of an error that might occur, some time; which in Forth is thus left to the user. Therefore Forth sometimes got some "fame" as an easily crashing system, which is not true. Only, you are allowed to do such things, and no one else decides about what might be "legal" or may be "necessary" or not...

F6 was made as an experimental system for different purposes, and a system that enables easy access to the quite impressive features the language offers. I'd try to design the GF6 system as safe as possible, while not limiting its features, regarding executional speed less important.


The GF6 Collection

As I always thought that there are many good 4th's around there for any kind of host cpu's, which are highly portable, standardish and well documented by texts written in the english language, this is an implementation highly specialized for the Sinclair QL (and its derivatives) with its 680xx operating systems of QDOS and SMSQ (or SMSQ/E) and comprehensively explained by texts written in the german language, because those seemed not to exist at all, while the english documentation is limited to the most essential comments.

F6 is an f.i.g.-model 64K Forth. It is not an ANSI Forth, though it is much extended, including an ANS compatibility set and most of the more remarkable features of the later standards (vocabulary stacks, locals, full memory access, OO programming, etc.), and more, new stuff.

F6 will run on any QDOS compatible platform, with no configuring nor other attention by its user required. This concept worked out successfully with the original QL equipment from JM on, and MINERVA, with SMSQ (2.76) in the QXL, with the many SMSQ/E versions (currently 2.85) running on GoldCard QLs, the QXL and with the Atari Mega ST QL Emulator, the old e.32-software inclusive. F6 did also run in the QL-emulators UQLX (modified JS or MINERVA, Linux), QLAY (true emulation, IBM-PC), and QPC(SMSQ/E, IBM-PC).

This Forth system was built "safety fast" in mind preferably for the novice to Forth, with many features and precautions an 'experienced' programmer might like to dispense with, at the cost of executional speed. Nevertheless it worked out to be fairly competitive with regard to speed and versatility, still.



First time loading

The files GF6{aa}{vvv}, where {aa} is the archive as mentioned below and {vvv} is the version string, contain the complete distribution.

GF6A{vvv} is the archive of all those archives.

Upgrading

GF6UP{vvv} contains just what is needed for replacement to upgrade to the version of {vvv}. If more than one such file present you might need to load all of them beginning with the 1st version above the one you already possess.

The ver. 818 updates (650K) archive expands to about 2M bytes. If you cannot store that much to a single medium try UNZIP with the following options:
First EX"unzip";"-l FLP1_GF6UP818" to finding out the file length',
then EX"unzip";"FLP1_GF6UP818 T1* -d FLP2_", for example, which will extract the T1 related files to flp2_, and create the directory, if necessary, and feasible.

For the QDOS systems you'ld best use no other than the ZIP/UNZIP version from the "InfoZip Group" to unpacking the archives - any other version I know is (badly) buggy!

With ANY new F6 version you'll most probably have to re-compile the .._4th-files.

[front] : [top] : [archives]


GF6

ist eine Anzahl Forth- und Forth-bezogener Texte, verfügbar zu den Bedingungen der GNU-Lizenz, wie sie in deutschsprachiger Fassung den einzenen Archiven beigefügt ist.

Texte und Programme befinden sich in experimentellem Zustand. Wenngleich sie nach bestem Wissen des Autors verfaßt und geprüft sind, wird darum jedoch nichts "zugesagt", und jede wie auch immer geartete Gewährleistung ist ausgeschlossen. Die Nutzungseerlaubnis ist nur solange gegeben, wie o.g. ergänzte GNU-Lizenz in vollem Umfang anerkannt und eingehalten wird.


Forth

Forth ist eine Computersprache, je nach Art und Zweck der Installation samt Betriebssystem, die unbegrenzt kreatives Programmieren ermöglicht. Sie legt dem programmierenden Anwender keinerlei Beschränkungen auf. Traditionelle Forth-Programme sind zugleich einer "shell" vergleichbar, die mit ihrem Eingabeinterpreter neben dem Zugriff auf alle Worte der Sprache auch alle sonst gebräuchlichen Handhabungen erlaubt und auf einen bestimmten Zweck, das "Programm", spezialisiert ist.

Forth steht den "lebenden" natürlichen Sprachen sehr nahe, ist einigermaßen leicht zu erlernen und leicht zu gebrauchen. Es kann auf einfachste Weise bis hin zu umfassenden Strukturen höchster Ebene ausgebaut werden und erlaubt zugleich den Zugriff auf die elementaren Bereiche eines Rechnersystems.
Ein in Forth verfaßter programmier- und erweiterbarer Macro-Assembler ist im allgemeinen Bestandteil solcher Systeme, ebenso ein leicht bedienbarer Editor für die 4th-typischen "Blockfiles" für Quelltexte oder "Batchfiles", die nur ASCII-Klartext und keinerlei Steuerzeichen enthalten - wodurch sie völlig unabhängig vom jeweiligen Rechnersystem sind.

Aufgrund seiner Erweiterbarkeit ist es im Forth nicht möglich, von vornherein alle in Verlauf der Bedienung eines Programms eventuell auftretenden Fehler bereits durch die Grundstrukturen der Sprache abzufangen. Hierfür muß als Preis der nahezu grenzenlosen Gestaltungsfreiheit in den betr. Programmen selbst Sorge getragen werden. Lohn der Mühe ist ein Programm(ier)system, bei dem kein bornierter "Systemprogrammierer" bestimmt, was "man" braucht, oder "kann", oder "darf", oder nicht.

Forth-Systemen wird mitunter nachgesagt, daß sie leicht "abstürzen". Das ist Humbug! Nur, es ist dem Benutzer zunächst einmal eben (fast) alles erlaubt...

Nicht weniger unsinnig ist das Gerede von der angeblich ungewöhnlichen oder gar schwierigen Schreibweise von z.B. Rechenoperationen in "umgekehrter Polnischer Notation", wo erst der Gegenstand genannt wird, und dann die zugehörige Aktion. Ganz im Gegenteil ist dies oft gerade die gebräuchliche Darstellung. Allein z.B. die Feststellungen, daß man "mehre Zahlen addieren", oder "ein Haus bauen" wolle, sind bereits "umgekehrt polnisch notiert", wo also soll das Problem sein? Noch dazu, wo das Rechnen dadurch, daß keinerlei Klammerung von Ausdrücken nötig ist, enorm vereinfacht wird.

F6 wurde zu Versuchszwecken entwickelt, dann aber vor allem, um Anfängern die Beschäftigung mit Forth zu erleichtern, auch hinsichtlich der Fehlertoleranz besonders ausgebaut. Dabei ohne Einschränkung seiner Möglichkeiten, wobei jedoch die Ausführungsgeschwindigkeit ein wenig zurückstehen mußte.


Die GF6-Sammlung

Es gibt eine große Anzahl guter und in höchstem Maße "portabler" standardkonformer Forth-Installationen für jeden gängigen Processor, samt umfassender Literatur, die keine Frage offenläßt. Dabei aber zum einen kaum für den QL und zum andern nur selten in deutscher Sprache. Diese Lücke sollte gefüllt werden: F6 ist ein besonders auf die QDOS-Rechner ausgerichtetes Forth-System, umfassend in deutscher Sprache erklärt und vollständig offengelegt. Englischsprachige Erklärungen sind auf das notwendige Minimum beschränkt.

F6 ist ein System nach dem f.i.g.-Modell mit 64K innerem Adressenbereich. Es ist KEIN ANSI-System, wobei es aber um alle nennenswerten Details der jüngeren Standards ergänzt ist, einschließlich der Erweiterungen zur ANS-Compatibilität, und solcher Dinge wie Vocabularstacks, wirklich(!) Localer Variabler, vollem Speicherzugriff, OO-Programmierbarkeit, bis hin zur Codeoptimierung und anderen - auch neuartigen - Eigenschaften.

F6 und seine Programme sind in jedem QDOS-compatiblen Rechner sofort und ohne Anpassungsmaßnahmen einsetzbar. Dies wurde in den QL-Systemen ab JM erfolgreich geprüft, sowie im QL mit MINERVA, in der QXL mit SMSQ 2.76, mit den diversen Versionen des SMSQ/E (derzeit 2.85) in QXL, QL mit Goldcard, und Atari Mega ST, dort auch mit der e.32-Software. Auch in den Software-QL-Emulatoren UQLX (modifiziertes JS, Linux), QLAY (alle QL-Systeme & Minerva, im IBM-PC), und QPC (SMSQ/E, IBM-PC) wurde das F6 erfolgreich eingesetzt.

Die Eigensicherheit auch bei versehentlicher Fehlbedienung hatte bei der Gestaltung gegenüber der Ausführungsgeschwindigkeit oder anderen Eigenschaften unbedingten Vorrang. Das F6 soll vor allem den weniger erfahrenen Interessenten die Beschäftigung mit Forth möglichst leichtmachen. Daneben hat sich gezeigt, daß es auch in der Geschwindigkeit dem Vergleich mit anderen für den QL existierenden Systemen durchaus gewachsen ist.



Erstinstallation

Die Files GF6{aa}{vvv}, wo {aa} das Archiv gemäß untenstehender Liste bezeichnet, und {vvv} die Versionsnummer, enthalten die vollständige(n Gruppen der) Sammlung.

GF6A{vvv} enthält alle genannten Archive.

Aktualisierung

GF6UP{vvv} liefert nur die zum Aufbau auf die Version {vvv} benötigten Bestandteile. Falls mehrere davon existieren, kann es beim Übergang aus einer entsprechend niedrigen Version erforderlich sein, alle diese Ergänzungen einzufügen. Gleichnamige ältere Files werden aus den Ergänzungsarchiven überschrieben.

Das Update-Archiv zur Version 818 (650K) liefert insgesamt ca. 2M Bytes.
Falls kein dafür ausreichender Datenträger zur Verfügung steht, können einzelne Files oder File-Gruppen folgendermaßen verteilt übernommen werden:
Mit EX"unzip";"-l FLP1_GF6UP818" Ermitteln der Dateilängen,
und EX"unzip";"FLP1_GF6UP818 T1* -d FLP2_", womit z.B. die zu T1 gehörenden Files nach FLP2_ übertragen werden; das Directory T1 wird ggf. selbstätig angelegt.

Zum Auspacken im QL ist unbedingt (und nur!) die ZIP/UNZIP-Version der "InfoZip Group" zu empfehlen, alle anderen mir bekannten Varianten haben - teils sehr üble - Fehler.

Bei jeder neuen F6-Version müssen die .._4th-Files erneut compiliert werden.

[front] : [top]


The GF6 Archives

 



[front] : [top] : e-mail
= .hpr.g3 = = (count)