Bootstrappen eines Texteditors

45 views
Skip to first unread message

Manuel Rodriguez

unread,
Sep 2, 2018, 1:24:12 AM9/2/18
to
Normalerweise wird in Windows ein Standard-Texteditor verwendet, den jemand
anderes programmiert hat und dessen Sourcecode vorgegeben ist. Man kann
aber auch einen Texteditor “from scratch” erstellen. Das bedeutet,
man programmiert ihn jedesmal neu, am besten in einer Sprache wie Forth
oder C. Dazu werden eine Reihe von Methoden wie “insert string” oder
“Split line” benötigt. Anschließend lässt sich aus dem Editor ein
komplettes Betriebssystem aufbauen, was sich mittels sourceless programming
und einem Brainwave Tracker sehr einfach realisieren lässt. Um die
Aufgabe zu lösen, werden Kenntnisse des Mindforth Projektes (Mentifex),
Interesse für lowlevel Systemprogrammierung sowie ein sicherer Umgang
mit Bytecode orientierten Interpretern vorausgesetzt.

https://trollheaven.wordpress.com/2017/09/09/der-forth-metacompiler/comment-page-1/#comment-668

wlorenz65

unread,
Sep 2, 2018, 4:32:41 AM9/2/18
to
Am 02.09.2018 um 07:24 schrieb Manuel Rodriguez:
> werden Kenntnisse des Mindforth Projektes (Mentifex)

Laut http://www.nothingisreal.com/mentifex_faq.html hat der schon mit
Briefen Universitäten getrollt, als es noch gar kein Internet gab! Das
ist eine hohe Messlatte für heutige Internet-Trolle ;)

Manuel Rodriguez

unread,
Sep 2, 2018, 5:57:41 AM9/2/18
to
Am Sonntag, 2. September 2018 10:32:41 UTC+2 schrieb wlorenz65:
> Am 02.09.2018 um 07:24 schrieb Manuel Rodriguez:
> (Mentifex)
> hat der schon mit Briefen Universitäten getrollt, als es noch gar
> kein Internet gab! Das ist eine hohe Messlatte für heutige
> Internet-Trolle ;)

I'm not sure, if Mentifex is telling nonsense. His major project, Mindforth was discussed in a serious paper Frenger, Paul. "Mind. Forth: thoughts on artificial intelligence and Forth." ACM Sigplan Notices 33.12 (1998): 25-31. And Paul Frenger is not everyone, he was member of the ACM Society and main editor of the Sigplan Forth journal. So we should assume, that Mentifex knows what he is talking about.

Oh pardon, ich habe auf Englisch geantwortet. Die Gruppe ist auf Deutsch. Hier die Übersetzung aus Google Translate:

Ich bin mir nicht sicher, ob Mentifex Unsinn sagt. Sein Hauptprojekt, Mindforth, wurde in einer seriösen Zeitung, Frenger, Paul, besprochen. "Mind. Forth: Gedanken über künstliche Intelligenz und Forth." ACM Sigplan Mitteilungen 33.12 (1998): 25-31. Und Paul Frenger ist nicht irgendwer, er war Mitglied der ACM Society und Chefredakteur der Zeitschrift Sigplan Forth. Wir sollten also davon ausgehen, dass Mentifex weiß, wovon er spricht.

wlorenz65

unread,
Sep 2, 2018, 10:18:52 AM9/2/18
to
Naja, GOFAI: Ein Symboliker spricht einem anderen Symboliker Respekt
aus. Ich bin beeindruckt, wenn die Theory of Mind endlich mal vernünftig
implementiert wird. Dann braucht man nur einen Symboliker da rein
werfen, und die AI lernt den mitsamt seiner Symbole und Regeln.

Was zu Editoren, wenn du da selber einen schreiben willst, fehlt dir
denn was bei so Standard Editoren wie Notepad++ oder Gedit? Also ich
brauche manchmal eine Sortierfunktion, die kann man bei Notepad++ und
Gedit als Erweiterung laden.

Und die schnelle Umschaltung zwischen Fließtext und Programmzeilen, also
den Wortumbruch am rechten Bildschirmrand. Das kann man sich mit
Notepad++ auf eine Tastenkombination legen.

Und als Letztes vielleicht noch das schnelle Makro mit Shift+Ctrl+R zum
Aufzeichnen und Shift+Ctrl+P zum Abspielen. Damit geht vieles einfacher,
was man über mehrere Zeilen immer wieder machen muss, als da mit
regulären Ausdrücken zu arbeiten. Wegen der fehlenden Farbdarstellung
kann ich da nie zwischen normalen Zeichen und Sonderzeichen
unterscheiden. Ist die Klammer jetzt ein Sonderzeichen? Oder das Minus
innerhalb einer Menge?

Aber ansonsten bin ich mit Notepad++ zufrieden, da brauche ich keinen
eigenen Editor.

menti...@gmail.com

unread,
Sep 2, 2018, 10:23:46 AM9/2/18
to
On Sunday, September 2, 2018 at 2:57:41 AM UTC-7, Manuel Rodriguez wrote:
> Am Sonntag, 2. September 2018 10:32:41 UTC+2 schrieb wlorenz65: [...]
> [...] Wir sollten also davon ausgehen, dass Mentifex weiß, wovon er spricht.

Als Mentifex möchte ich jetzt Bericht erstatten über die Neuigkeiten in den letzten Monaten.

Mitte Juli 2018 habe ich angefangen, die fünfzig Webseiten auszubessern, die meine KI erläutern oder verständlich machen. So ein Unternehmen war, als ob ich das 2002 Buch "AI4U" von neuem geschrieben hätte. Bei jeder Webseite habe ich währenddessen nach dem Namensraum (Namespace) "First Working AGI" gegriffen. Für viele Webseiten (so gut wie "Kapiteln") mußte ich ein neues Diagramm herstellen, und nun sind alle fünfzig Diagramme in http://ai.neocities.org/DiaGram.html vorhanden.

Im frühen August 2018 habe ich begonnen, einen zweiten Rundgang ("iteration") durch die fßnfzig "doc" Webseiten zu machen, denn ein gemeinsames Aussehen war erforderlich. Mitten darin habe ich angefangen, den Namensraum "first working artificial intelligence" (erste wirksame KI) in Anspruch zu nehmen.

Programm-Exemplare habe ich in Perl dargestellt, nicht in Forth oder JavaScript, denn Perl hat einen weiteren Zutritt zu Programmierern und Perl ist relativ lesbar (verglichen mit Forth) und Perl stört die Webseite nicht -- ein Problem mit JavaScript und HTML.

Gestern im neuen Monat September 2018 habe ich wieder angefangen, MindForth bei http://ai.neocities.org/mindforth.txt zu programmieren. In der MindBoot-Sequenz habe ich für einzelne Worte nicht einen fest-bestimmten Zeitpunkt angegeben, sondern mit Forth "1 t +!" oder "erhöhe die Zeit um eine Einheit" habe ich die Zeiten relativ gemacht. So entsteht ein KI-Programm, das man leichter auseinandernehmen order spalten kann, um ein neues, grösseres Programm herzustellen.

Im Usenet (wo wir jetzt sind) und bei Reddit und so weiter habe ich im Sommer 2018 angefangen, die ganze Liste von fünfzig Webseiten schauen zu lassen, damit die Leser sehen, daß es sich hier um ein komplettes KI-Programm handelt, zwar einfach wie ein KI-Kind oder Roboter-Kind, aber dennoch mit der Fähigkeit, ausgeweitert zu werden.

Das nunmehrige Hauptprogramm ghost.pl in Perl denkt auf englisch oder auf russisch. Deutsch habe ich weggelassen, denn Deutsch ist zu ähnlich wie Englisch. Die maschinelle Übersetzung zwischen Englisch und Russisch ist imposanter und interessanter als zwischen Englisch und Deutsch.

Im Herbst 2018 habe ich vor, die KI mehr zu programmieren und mich mit den fünfzig Webseiten nicht mehr so viel zu beschäftigen, außer wenn die Arbeit am Programm neuen Einhalt fßr die entsprechende Webseite erzeugt.

Alles Gute,

Mentifex (Arthur)
--
http://old.reddit.com/r/mentifex
http://github.com/PriorArt/AGI/wiki/MindGrid
http://cyborg.blogspot.com/2018/09/mfpj0901.html
http://dl.acm.org/citation.cfm?doid=307824.307853

Manuel Rodriguez

unread,
Sep 2, 2018, 1:49:40 PM9/2/18
to
Am Sonntag, 2. September 2018 16:23:46 UTC+2 schrieb menti...@gmail.com:
> In der MindBoot-Sequenz habe ich für einzelne Worte nicht einen fest-
> bestimmten Zeitpunkt angegeben, sondern mit Forth "1 t +!" oder "erhöhe
> die Zeit um eine Einheit" habe ich die Zeiten relativ gemacht.

Nur mal aus reiner Neugierde gefragt: "ghost.pl" ist nicht zufällig in der
Lage mit Hilfe eines Quantencomputers durch die Zeit zu reisen? Also nicht,
das wir uns falsch verstehen, ich weiß natürlich dass Quantencomputer
noch in einem frühen Prototypenstadium sind. Aber zumindest im Fernsehen
sehen diese supraleitenden Spulen ziemlich imposant aus, und wenn man das
mit einer Artificial General Intelligence kombiniert ...

Paule Paul

unread,
Sep 2, 2018, 2:53:50 PM9/2/18
to
Hallo Gemeinde,

wenn Ihr an einen Editor Interesse habt, dann kann ich Euch
mit dienen - für Linux, evtl. auch Windows :D aber Windows
Programme mag ich nicht so ...

Aber Linux Programme, die Programme schreiben mag ich.

Manuel Rodriguez

unread,
Sep 2, 2018, 3:19:48 PM9/2/18
to
Am Sonntag, 2. September 2018 20:53:50 UTC+2 schrieb Paule Paul:
> Aber Linux Programme, die Programme schreiben mag ich.

Du hast also Erfahrung mit Linux artigen Texteditoren, wie z.B. Emacs, der
über den LISP Macrointerpreter beliebig erweitert werden kann. Das geht doch
schonmal in die richtige Richtung. Wie sieht es aus, kannst du auch in C
einen Search&Replace Codesnippet schreiben, der z.B. den String “aaab” in
“aaac” konvertiert wenn die Eingabe lautet “b to c”?

Paule Paul

unread,
Sep 2, 2018, 4:23:42 PM9/2/18
to
jup geht.
wobei man sich die Grammar erstmal überlegen sollte.

Manuel Rodriguez

unread,
Sep 2, 2018, 5:05:00 PM9/2/18
to
Am Sonntag, 2. September 2018 22:23:42 UTC+2 schrieb Paule Paul:
> wobei man sich die Grammar erstmal überlegen sollte.

Ich glaube, eine simple Parsing Expression Grammar als State-Machine
implementiert wird nicht ausreichen. Sondern was es bräuchte, wäre ein
Versions-Control-System in dem man verschiedene Alternativen diskutiert.
Dieses Versions-control-System wird mit einem Bugtracker gekoppelt in dem
ganz normales Englisch die Standard-Sprache ist. Es geht also nicht um
reguläre Expression vs. objektorientierte Programmierung, sondern es geht um
agile Softwareentwicklung.

Paule Paul

unread,
Sep 2, 2018, 6:43:08 PM9/2/18
to
das war meine Idee, vor paar Tagen.
Dauert noch ein klein Weilchen.

Paule Paul

unread,
Sep 3, 2018, 1:01:16 PM9/3/18
to
Hallo,

hier ein Proto-Type.
Leider keine Funktionen, einfach erstmal das Layout...

http://kallup.freecluster.eu/dbase/packed.zip

Jens Kallup

unread,
Sep 4, 2018, 6:21:23 PM9/4/18
to
sodele, Programm steht - also der Editor.
Jetzt die Frage: soll der Quellcode aus der Source (zum Beispiel BASIC)
in den Target (Forth, C ...) oder nativen Maschinencode transformiert
werden?

Jens

Jens Kallup

unread,
Sep 6, 2018, 5:37:08 PM9/6/18
to
so Update:
- BASIC Editor => Forth: print "Text"

http://kallup.freecluster.eu/dbase/dbase.bin

Hermann Riemann

unread,
Sep 8, 2018, 8:22:16 AM9/8/18
to
Am 02.09.2018 um 21:19 schrieb Manuel Rodriguez:
> Am Sonntag, 2. September 2018 20:53:50 UTC+2 schrieb Paule Paul:
>> Aber Linux Programme, die Programme schreiben mag ich.

Das ist keine Frage von Linux oder bestimmter Programmiersprache.
Inhaltlich geht es man besten mit lisp.
Da kann man sich (u.a. mit (quote keyword) elemente) Listen basteln
und mit (eval (list (programm_als_liste Argumentliste))) ausführen.

Programmiermäßig übersichtlicher geht es mit Python ( aktuell Python3 )
wo man auch vergleichbare listen basteln kann, aber beim eval einiges
basteln muss

class Quote()
def __init__(self,was, is_kewword=False):
self.was=was
self.is_kewword_ = is_keyword)
..
und dann das interpretiert,
oder python Quell Text erzeugt,
Text mit exec oder import oder os.system(python3 dateiname)
ausgeführt.

> Du hast also Erfahrung mit Linux artigen Texteditoren, wie z.B. Emacs, der
> über den LISP Macrointerpreter beliebig erweitert werden kann.

Theoretisch ja, aber in der Praxis scheitern ich an der Vielfalt
Z.B. an der Frage, wie heisst die Variable,
von der ich ich weiß nicht wie diedrehen mus,
damit wenigstens teilweise das getan wird, was ich wünsche.

> Das geht doch schonmal in die richtige Richtung.
> Wie sieht es aus, kannst du auch in C
> einen Search&Replace Codesnippet schreiben, der z.B. den String “aaab” in
> “aaac” konvertiert wenn die Eingabe lautet “b to c”?

in Python3
"aaab".replace("b",'"c")
In C einiges mehr Aufwand

Hermann
der, wenn Python quote und damit eval auf listen könnte,
lisp möglicherweise nie mehr verwenden würde.

--
http://www.hermann-riemann.de

Hans-Peter Diettrich

unread,
Sep 8, 2018, 2:33:52 PM9/8/18
to
Am 08.09.2018 um 14:22 schrieb Hermann Riemann:
> Am 02.09.2018 um 21:19 schrieb Manuel Rodriguez:
>> Am Sonntag, 2. September 2018 20:53:50 UTC+2 schrieb Paule Paul:
>>> Aber Linux Programme, die Programme schreiben mag ich.
>
> Das ist keine Frage von Linux oder bestimmter Programmiersprache.
> Inhaltlich geht es man besten mit lisp.
> Da kann man sich (u.a. mit (quote keyword) elemente)  Listen basteln
> und mit (eval (list (programm_als_liste Argumentliste))) ausführen.

Wer Probleme hat, die sich nicht mit einem ordinären Editor (notfalls
EDLIN) lösen lassen, oder mit einer IDE, oder mit einer
Textverarbeitung, der sollte erst einmal die Ursache seiner Probleme
beseitigen, bevor er einen neuen Editor erfindet. IMO :-]

DoDi

Hermann Riemann

unread,
Sep 11, 2018, 6:08:39 AM9/11/18
to
Am 08.09.2018 um 20:30 schrieb Hans-Peter Diettrich:

> Wer Probleme hat, die sich nicht mit einem ordinären Editor (notfalls
> EDLIN) lösen lassen,

Echte Programmierer verwenden nur hex Editoren.
Und Editoren unter Linux wie *emacs, *vi* und kate
reagieren manchmal abenteuerlich.

oder mit einer IDE,

Für Programmierung, bei denen eigenen Dateien verwendet werden,
die nicht zum Projekt gehören, nicht geeignet.
Und GUI ist wegen nur manuellen Schnittstellen oft ein ki-Feind.

> oder mit einer Textverarbeitung,

Office und ki passen zusammen wie Kirche und Intelligenz.

> der sollte erst einmal die Ursache seiner Probleme beseitigen,

Es gibt nicht die Ursache für alle Probleme.
Der Traum von "general problem solver"
mag für "Tic tac toe" gut genug sein.

> bevor er einen neuen Editor erfindet. IMO :-]
neue GUIs verbieten?

Hermann
der leider keine KI hat, die aus vi kate und emacs
einen Editor nach Wunsch bastelt.

--
http://www.hermann-riemann.de

Hans-Peter Diettrich

unread,
Sep 11, 2018, 7:16:46 AM9/11/18
to
Am 11.09.2018 um 12:08 schrieb Hermann Riemann:
> Am 08.09.2018 um 20:30 schrieb Hans-Peter Diettrich:
>
>> Wer Probleme hat, die sich nicht mit einem ordinären Editor (notfalls
>> EDLIN) lösen lassen,
>
> Echte Programmierer verwenden nur hex Editoren.

Ach?

> Und Editoren unter Linux wie *emacs, *vi* und kate
> reagieren manchmal abenteuerlich.

Ach?

>  oder mit einer IDE,
>
> Für Programmierung, bei denen eigenen Dateien verwendet werden,
> die nicht zum Projekt gehören, nicht geeignet.

Ach?

> Und GUI ist wegen nur manuellen Schnittstellen oft ein ki-Feind.

Ach?

>> oder mit einer Textverarbeitung,
>
> Office und ki passen zusammen wie Kirche und Intelligenz.

Aber KI und Editor schon?


>> der sollte erst einmal die Ursache seiner Probleme beseitigen,
>
> Es gibt nicht die Ursache für alle Probleme.

Ich meinte die Ursache, welche die Verwendung eines speziellen Editors
erst notwendig macht. Aber ich sehe schon, die sitzt wieder einmal vor
dem Bildschirm :-]

DoDi

Juergen Ilse

unread,
Sep 11, 2018, 9:38:50 AM9/11/18
to
Hans-Peter Diettrich <DrDiet...@aol.com> wrote:
> Am 11.09.2018 um 12:08 schrieb Hermann Riemann:
>> Am 08.09.2018 um 20:30 schrieb Hans-Peter Diettrich:
>>> Wer Probleme hat, die sich nicht mit einem ordinären Editor (notfalls
>>> EDLIN) lösen lassen,
>> Echte Programmierer verwenden nur hex Editoren.
> Ach?

Die verwenden sie, um binaries zu patchen, die "schon fast richtig"
funktionieren, das erspart Quelltext-Aenderungen, die sie vielleicht
noch dokumentieren muessten ...

>> Und Editoren unter Linux wie *emacs, *vi* und kate
>> reagieren manchmal abenteuerlich.
> Ach?

Als Texteditor verwenden echte Programmierer nur "du hast es so gewollt,
da hast du's" Editoren, kompliziert, Kryptisch, leistungsfaehig, gnadenlos,
gefaehrlich: TECO um genau zu sein.

Da hat wohl jemand seinen Text "Real Programmers don't use Pascla" nicht
gelesen ...

http://web.mit.edu/humor/Computers/real.programmers

Tschuess,
Juergen Ilse (jue...@usenet-verwaltung.de)
Reply all
Reply to author
Forward
0 new messages