rust-autolisp: AutoLISP Interpreter in Rust/WebAssembly

Hinweis: Die interaktive Demo benötigt JavaScript und WebAssembly. Zur interaktiven Version

Was ist rust-autolisp?

rust-autolisp ist ein AutoLISP Interpreter, der in Rust geschrieben und zu WebAssembly kompiliert wurde. Er ermöglicht das Ausführen von AutoLISP Code direkt im Browser - ohne Installation von AutoCAD.

Die Geschichte: Schaltplan Generator 1991

1991 stand ein kleiner Elektrobetrieb in Unterneukirchen, Bayern vor einer Herausforderung: Jede Maschineninstallation erforderte individuelle Schaltpläne - ein zeitaufwändiger manueller Prozess.

Die Lösung: AutoLISP, die in AutoCAD eingebaute Programmiersprache. Mit einem System aus CSV-Dateien, Templates und LISP-Code wurde die Schaltplanerstellung automatisiert.

LISP als frühe KI

LISP (List Processing) wurde 1958 von John McCarthy entwickelt und war jahrzehntelang die Sprache der Künstlichen Intelligenz Forschung. Was macht LISP besonders?

Im Schaltplan-Generator von 1991 schrieb der Code tatsächlich sich selbst: Das Einfügen eines Bauteils konnte weitere Bauteile auslösen, Templates generierten Templates.

Technische Details

Beispiel Code

; Zeichne ein Rechteck
(defun draw-box (x y w h)
  (command "LINE" (list x y) (list (+ x w) y) "")
  (command "LINE" (list (+ x w) y) (list (+ x w) (+ y h)) "")
  (command "LINE" (list (+ x w) (+ y h)) (list x (+ y h)) "")
  (command "LINE" (list x (+ y h)) (list x y) ""))

(draw-box 10 10 100 50)

Links