Unglaubliches Projekt - Lisp Interpreter in Conways Game of Life CPU

Gast #6941594
Lesenswert?

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!!
Gast #6941648
Lesenswert?

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.
Gast #6941662
Lesenswert?

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.
Gast #6941706
Lesenswert?

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.
Gast #6942369
Lesenswert?

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).
Moderator #6943597
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren