Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => Programmierung => Topic started by: LambdaMikel on 09. December 2021, 17:31:39

Title: Forth für den CPC - Manuals
Post by: LambdaMikel on 09. December 2021, 17:31:39
Hat jemand das PDF Handbuch zum Kuma Forth, oder für andere Forths für den CPC (FIG Forth)?

https://cpcrulez.fr/applications_coding-kuma_forth_popu.htm?t=Uw==

Mich interessieren auch andere Forths, z.B. AMSForth

https://cpcrulez.fr/applications_coding-ams-forth.htm
Title: Re: Forth für den CPC - Manuals
Post by: TFM on 09. December 2021, 19:51:22
Aber gerne...  :winke0002:
Title: Re: Forth für den CPC - Manuals
Post by: LambdaMikel on 09. December 2021, 22:16:27
Ach schön, besten Dank! Kennst Du Dich damit aus? Und wie sieht es mit PDF für CPC KUMA aus?

Ich bin hier gerade mit meinem Microprofessor MF-IP Forth zu Werke, und habe 3 Tage lang verzweifelt versuch, Fakultät rekursiv zu programmieren. Jetzt habe ich ein KUMO Forth PDF Manual für die MSX-Version gefunden, und da war ein Tipp, den ich übertragen konnte... die Sprache ist ja sowas von gehirnverdrehend. Aber echt interessant. Und durchaus einige Gemeinsamkeiten mit LISP - die Unterscheidung zwischen Compile-Time und Runtime-Programmierung, im gleichen Programmiermodel! Sehr genial, dass man selbst den Compiler erweitern kann in der Sprache. Wie in LISP... und doch total anders.

Machst Du was damit? 

Hintergrund:


: FACT DUP < 2 IF DROP 1 ELSE DUP 1- FACT * THEN ; 


geht nicht, weil FACT nicht bekannt ist wenn FACT kompiliert wird. Daher hatte ich versucht, DOER/MAKE zu portieren, aber dazu muss man leider bereits ein Forth-Profi sein. Also gescheitert; das MF-IP Forth Manual ist sehr dürftig. Allerdings erklärt es alle Worte im Glossary. Aber zum Lernen komplett ungeeignet, das ist wie eine Sprache für Außerirdische. 

Dann habe ich allerdings im KUMA FIG-Forth  MSX Manual das hier gefunden:


: CALL LATEST PFA CFA , ; IMMEDIATE
: FACT DUP < 2 IF DROP 1 ELSE DUP 1 - CALL * ENDIF ;


Das funktionierte dann auch im CPC Kuma-Forth (gleicher Compiler, denke ich mal), und konnte das mit einer kleinen Änderung direkt auf dem Microprofessor laufen lassen!



: CALL LATEST PFA CFA , ; IMMEDIATE
: FACT DUP < 2 IF DROP 1 ELSE DUP 1- CALL * THEN ;






Title: Re: Forth für den CPC - Manuals
Post by: LambdaMikel on 09. December 2021, 22:23:02
PS Anbei mal das MSX KUMA Forth das ich gefunden habe.  S. Seite 42 (44) für FACTORIAL
Title: Re: Forth für den CPC - Manuals
Post by: LambdaMikel on 09. December 2021, 22:32:49
PS2 Auch interessant - Dein CPC Figforth hat MYSELF, damit geht's auch rekursiv. Allerdings hat KUMA Forth das nicht (obwohl auch ein FIG Forth), Der Microprofessor hat das ebenfalls nicht. Andere Kandidaten waren SELF, RECURSIVE, ITSELF, alles Fehlanzeige.
Title: Re: Forth für den CPC - Manuals
Post by: LambdaMikel on 09. December 2021, 22:38:25
PS3 Wer meint, Forth-Profi zu sein, sollte einmal "Appendix B / Defining DOER/MAKE" versuchen zu verstehen, im Buch anbei :00008351:

Title: Re: Forth für den CPC - Manuals
Post by: TFM on 15. December 2021, 00:36:41
Forth ist sicher eine sehr interessante Sprache, leider hatte ich bisher nie die Zeit mir sie etwas genauer anzusehen. Vor allem wenn es noch X-Lisp und E-Prolog gibt und so viel mehr. Da ende ich dann immer wieder bei Z80, weil's schon bekannt ist und kein Anfang bei Null nötig.  :binkybaby:
Title: Re: Forth für den CPC - Manuals
Post by: LambdaMikel on 19. December 2021, 05:32:23
Quote from: TFM on 15. December 2021, 00:36:41
Forth ist sicher eine sehr interessante Sprache, leider hatte ich bisher nie die Zeit mir sie etwas genauer anzusehen. Vor allem wenn es noch X-Lisp und E-Prolog gibt und so viel mehr. Da ende ich dann immer wieder bei Z80, weil's schon bekannt ist und kein Anfang bei Null nötig.  :binkybaby:

Ich mache demnächst ein paar Videos mit dem Microprofessor Forth... DOER/MAKE und Rekursion habe ich jetzt in der Tasche.
Title: Re: Forth für den CPC - Manuals
Post by: LambdaMikel on 27. February 2022, 21:56:38
Hi @TFM,

falls Du Dich mehr mit FORTH beschäftigen möchtest, sind vielleicht meine "Forth Tutorials" von Interesse:



Mich hat die Sprache dermaßen faszinierend (insbesondere einige Ähnlichkeiten zu LISP), dass ich mehr und mehr Videos gemacht habe.