iSpin, Forth und der Rest der Welt

Fragen zu Programmiersprachen und Software für den Hive und die Propellerchips
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: iSpin, Forth und der Rest der Welt

Beitrag von drohne235 »

ist ja ein hammer, da hängt ja sogar ein blockinterface dran! "21 list" zeigt den entsprechenden screen an.

Ich hab mit meinem Sohn mal einen kleinen Lego-Roboter gebastelt der ein Forth hatte - das ist echt geil interaktiv so ein System zu testen und zu erweitern. Ich hatte damals nur einen Atari-Portfolio mit einer Terminalsoftware dran und konnte direkt mit dem Robby, seinen Motoren und seinen Sensoren spielen - also ich meine mein Sohn konnte damit spielen... ;)

http://picasaweb.google.com/lh/photo/c8 ... directlink
http://picasaweb.google.com/lh/photo/3G ... directlink
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Benutzeravatar
Bushmills
Beiträge: 48
Registriert: Di 9. Jun 2009, 20:24
Wohnort: Wörrstadt

Re: iSpin, Forth und der Rest der Welt

Beitrag von Bushmills »

rainer,
"unstrukturiert" .. doch, kann man. das brauch aber ein paar kunstgriffe. es gibt mindestens zwei methoden, das zu tun:

durch den freien zugang auf den returnstack steht es die frei, die eigentliche rücksprungsaddresse, die am ende eines high-level wortes zum aufrufenden zurückführen würde, zu ersetzen. Das kommt einem GOTO am Ende des wortes relativ nahe.

oder du kompilierst ein wort, welches einen branch, gefolgt von einer sprungadresse (oder einem offset zur zieladresse) kompilert, wenn dieses wort abgearbeitet wird. zur namensgebung dieses wortes könnte man vorschlagen: GOTO :)

und bei forth systemen bei denen keine kontrolle auf balancierte flow control strukturen am ende vom wort gemacht wird, ließen sich recht eigenartige sachen machen. recht bekannt ist z.b.:

: min 2dup < if begin drop ;
: max 2dup < until then nip ;

nenn das mal strukturiert :)
Aber das ulkige an diesem letzten beispiel ist, auch wenns nicht so aussieht ... es *ist* strukturiert. strikt genommen. wenn du nicht mitrechnest, daß das erste semicolon ja eher ein exit mitten in der struktur darstellt.

und noch zwei weiter "unstrukturierte" sachen:
exit mittem im wort, und die populärer werdenden worte lest und unless, welche konditionelle exits darstellen, und beide erlauben, in der mitte eines wortes dessen weitere abarbeitung zu beenden.

also es geht schon, wenn man schon will. wär ja auch recht restriktiv, wenn eine programmiersprache sowas nicht zulassen würde :)
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: iSpin, Forth und der Rest der Welt

Beitrag von drohne235 »

Einführende PDF-Dateien zum Thema Forth (auch im Downloadbereich zu finden).

Forth - Eine moderne Softwarephilosophie
Erste Erfahrungen mit Forth
Dateianhänge
rfe 9-86 erste erfahrungen mit forth.rar
(1.39 MiB) 528-mal heruntergeladen
mp 2-88 forth - eine moderne softwarephilosophie.rar
(1.83 MiB) 552-mal heruntergeladen
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
cas
Beiträge: 1
Registriert: Mo 29. Jun 2009, 21:08

Re: iSpin, Forth und der Rest der Welt

Beitrag von cas »

Hallo,

auf dem LinuxTag in der letzten Woche haben wir (das LinuxTag Stand Team der Forth Gesellschaft) durch G. Baumann vom Hive Project erfahren, waren begeistert von der Idee und haben ein Board bestellen können.

Die Forth Gesellschaft unterstützt seit 1984 die Verbreitung der Programmiersprache Forth durch Öffendlichkeitsarbeit (wie auf dem LinuxTag), Schulungen, Tagungen, Open Source Forth Implementierungen und Literatur. Auf der Webseite forth-ev.de (http://forth-ev.de) gibt es jede Menge Informationen zum Thema Forth, u.a. alle Ausgaben der Zeitschrift "Vierte Dimension" als PDF zum freien Download. Da wir schon vor dem WWW im Internet aktiv waren, treffen wir uns online im Usenet "comp.lang.forth" und "de.comp.lang.forth", immer Mittwochs gibt es eine IRC chat Sitzung (Informationen auf der Webseite).

Es wäre schön wenn es für die Propeller CPU(s) und für das Hive-Board eine leistungsfähige Forth Implememtierung geben könnte. Soweit ich es verstanden habe sind die Autoren der bisherigen zwei Forth Implementierungen "abgetaucht" und haben nur binär Pakete, aber keinen Quellcode hinterlassen.

Mein Vorschlag wäre es, an einem geeignetem Ort im Lande einen "Forth Implementierungs" Workshop zu organisieren (1 Tag) und hierzu ein paar "alte Forthler" einzuladen, die schon mehrere Forth Systeme für Mikroprozessoren von "der Pike auf" implementiert haben und mit diesen eine Forth Implementierung für den Propeller durchzusprechen. Hierzu wird dann unbedingt auch jemand mit Propeller Know-How benötigt.

Danach dann ein Implementierungs-Team zusammenstellen und ein gutes, freies (Open Source) und leistungsfähiges Forth für den Propeller und das Hive-Board erschaffen.

Ist das ein Plan der funktionieren kann?

Beste Grüsse

Carsten Strotmann

Apropos Literatur: Das sehr gute Einsteigerbuch "Die Programmiersprache Forth" (2004) von Albert Nijhof ist bei Amazon für 21,50 Euro erhältlich.

Weitere (englische) Literatur unter http://forth-ev.de/links/index.php?category=Literatur
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: iSpin, Forth und der Rest der Welt

Beitrag von drohne235 »

Ist das ein Plan der funktionieren kann?
Also ich denke das sollte funktionieren! Momentan müssen wir der Hardware noch ein wenig Zeit lassen zu gedeihen - es ist ja die erste größere Sammelbestellung, jeder muss das Gerät erstmal aufbauen und ein wenig damit spielen. Da wird noch viel bzgl. der Hardware zu tun sein. Was das Propeller-Know-How betrifft müssen wir alle wohl auch erst etwas Pionierarbeit leisten. Ich selbst beginne gerade die RISC-Prozessoren in Assembler zu erforschen - was in vielen Dingen für mich völlig von Assemblercode auf anderen Prozessoren abweicht. Auf gut Deutsch: Ich persönlich werde wohl für alte Hasen keine große Hilfe sein ein natives Forth zu realisieren, vielleicht kann ich ein wenig zur Hardware (was man bei den meisten Forthlern aber eh nicht muß) sagen, aber ich wäre in jedem Fall sehr daran interessiert bei dieser Sache lernend anwesend zu sein.

Forth ist zwar eine alte Liebe von mir, aber ich habe es bisher mehr auf dem Level von Leo Brodie benutzt. Ich kenne also die Vorteile und Besonderheiten von Forth und bin auch davon überzeugt das es die Lösung aller Probleme auf dem Hive wäre, aber ich wäre momentan nicht in vertretbarer Zeit in der Lage ein natives Forth zu programmieren. Eigentich wollte ich ja in meinem stillen Kämmerlein selbst eines programmieren, da man so wirklich am besten lernt wie Forth unter der Motorhaube funktioniert, aber ich bin schon ziemlich ratlos beim nachdenken darüber, welchen Minimalwortschatz man bräuchte und warum sich ganz bestimmte Strukturen genau so und nicht anders herauskristallisiert haben. Zumindest habe ich die Ohren ganz stromlinienförmig angelegt als ich mit Busmills ein wenig darüber geschwatzt habe, da er sehr viel intimer mit Forth ist. Forth auf einem einzelnen Propeller wäre dabei ebenso interessant wie Forth auf dem Hive. Und mit Forth in den EEProms wäre der Hive nach langer Zeit der erste echte Forth-Homecomputer nach dem Jupiter Ace! (http://www.zock.com/8-Bit/D_JupiterAce.HTML) Und ich persönlich denke das es der Versuch wert ist zu untersuchen, ob es nicht gerade die Besonderheiten von Forth sein könnten, welches besonders gut und effektiv mit den Möglichkeiten von 8 oder 24 RISC-Kernen harmonieren.

Pikant: Bis 2007 war ich noch zahlendes Mitglied in der Forth Gesellschaft. Jetzt wo ich kein Mitglied mehr bin beginne ich meinen Wunsch nach einem reinen Forthcomputer zu erfüllen... :) Das sich nun die Forthler der Forth Gesellschaft dafür interessieren finde ich wirklich super, aber irgendwie schimmert da auch gewaltig der historische Pioniergeist durch, denn ein echter Forthler kann meist eh solange nicht die Finger von einem neuen "Blech" fernhalten, bis man mit diesem Stück Metall interaktiv kommunizieren kann - die Assimilationsrate ist da schon ganz enorm... ;)

Also ich persönlich bin da in jedem Fall zu jeder Schandtat bereit sobald die Zeit reif dafür ist.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Antworten