Na, wer von Euch baut diese CPU mal in Hardware?
https://github.com/woodrush/lisp-in-life
PS An alle Dieselmotor-Entwickler bei der Auto-Mafia, bitte nicht
antworten, denn Ihr versteht nicht, worum es hier überhaupt geht (das
hatten wir neulich schon...) Schuster, bleib bei Deinen Leisten (ob mit
gesundem Menschenverstand, oder ohne!) :D Spaß muss sein!!
Klar, irgendwie schon witzig, aber am Ende dann doch wieder nicht:
Sobald Turing Vollständigkeit für ein System bewiesen ist, kann damit
alles gemacht werden, was man sonst so mit einem Computer machen kann.
D.h. mit dem Lisp-Interpreter in Conways Game of life könnte man einen
kompletten PC simulieren, inkl. Betriebssystem mit Browser, und in
diesem Browser läuft wiederum ein Javascript-Programm, in dem ein
AVR-Mikrocontroller simuliert wird, der einen C64 simuliert, und dort
läuft dann ein Simulator für einen Z80, auf dem CP/M läuft, auf dem ein
oller Texteditor gestartet wird, in dem man etwas Source-Code tippt, der
...
Ja, das alles wird unendlich lahm, aber würde halt funktionieren.
Einer schrieb:> Klar, irgendwie schon witzig, aber am Ende dann doch wieder nicht:>> Sobald Turing Vollständigkeit für ein System bewiesen ist, kann damit> alles gemacht werden, was man sonst so mit einem Computer machen kann.
Ja, Turing-vollständig ist vieles (und auch sehr einfache Systeme). Ist
natürlich ne Spielerei, aber finde ich unglaublich, dass einer da sogar
einen Compiler für "Game of Life" Maschinensprache erstellt, womit dann
der Lisp-Interpreter compiliert wird.
Sicherlich kommt nächste Woche ein Lisp in Minecraft...
Hat einer mal die Trisolaris Trilogie von Liu Cixin gelesen? Dort wird
ein "Computer" zur Lösung des 3-Körperproblemes mit Heerschaaren von
Soldaten simuliert. Das erinnert mich hieran.
Cartman schrieb:> Ein LISP Interpreter auf einer 8 k PDP8 verdient Respekt.> Aber das hier ist nur ein akademischer Hirnfurz gelangweilter Deppen.
Nein, Lisp ist sehr einfach zu implementieren. Zumindest ein reiner
Interpreter mit einfacher GC.
Lisp wird größtenteils in Lisp selbst implementiert. Lisp in Lisp.
Kleiner Sprachkern. Ähnlich wie Forth diesbezüglich.
Cartman schrieb:> Ich glaube eher, du kennst keine PDP8 mit 8 k Worten.
8 k ist doch fürstlich (!!) Speicher - ich habe mit 256 12 Bit Worten
angefangen :-) In Maschinensprache. Nix mit Assembler. Ihr seid eben
Warmduscher hier. Außerdem - Du meinst sicher 8 K (K = 1024, k = 1000).
Christoph Z. schrieb:> Toppi schrieb:>> Wieso haben die Faulpelze nicht gleich Conways Game of Life in ihrem>> Interpreter implementiert?>> Das gibt es IMHO schon!
Nicht nur das, eine "VM" für ein verallgemeinertes Game of Life ist
sogar ein wesentlicher Bestandteil des Systems (s.u. in Ebene 1). Ich
habe mir das mal etwas näher angeschaut.
Das System kann in 5 Abstraktionsebenen aufgeteilt werden:
0. Klassisches Game of Life (niedrigste Abstraktionsebene)
1. Verallgemeinertes Game of Life mit OTCA-Metazellen (jede Metazelle
besteht aus einer quadratischen Anordnung von 2048² klassischer
Game-of-Life-Zellen)
2. Logikgatter und "elektrische" Leitungen mit fließenden "Elektronen"
3. Computer bestehend CPU, ROM und RAM
4. Auf der CPU ausführbarer Maschinencode (höchste Abstraktionsebene)
Die Elemente der Ebenen 1 bis 3 sind ausschließlich aus den Elementen
der jeweils nächstniedrigeren Ebene aufgebaut.
Für die CPU auf Ebene 3 gibt es eine Toolchain bestehend aus C-Compiler
und Assembler. Der Lisp-Interpreter ist in C geschrieben, wird
kompiliert und der erzeugte Maschinencode (Ebene 4) ins ROM des im Game
of Life implementierten Computers geschrieben. Der Lisp-Code wird ins
RAM geschrieben und von dort interpretiert.
Ich empfand das Game of Life bisher immer ziemlich langweilig, bin aber
inzwischen (nach dem Durchlesen einiger Artikel zu dem Thema) extrem
beeindruckt von dem, was da eine Fan-Gruppe über die Jahre hinweg
geschaffen hat.
Natürlich kann man sich fragen, warum die Leute ihr Gehirnschmalz nicht
in etwas "Sinnvolleres" (wie auch immer man das definieren mag) stecken.
Ich bin mir sicher, dass sie das auch tun, aber hin und wieder tut man
halt Dinge auch einfach nur deswegen, weil sie Spaß machen oder auf
einen eine Faszination ausüben.