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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.