Racket: Eine freundliche Einführung in die Welt von Lisp

A Friendly Introduction to Racket

Racket: Eine freundliche Einführung in die Welt von Lisp

Dieser Artikel bietet einen sanften Einstieg in Racket, eine moderne Lisp-Variante. Er behandelt die Geschichte von Lisp, die Grundlagen der Syntax, Funktionen, Listen und Rekursion. Ein besonderes Highlight ist die Einführung in Homoikonizität und Makros, die es ermöglichen, die Sprache zu erweitern. Der Autor zeigt, wie man mit Racket eigene Syntax definieren kann und warum Lisp auch heute noch relevant ist.

„Lisp ist es wert, gelernt zu werden, wegen der tiefgreifenden Erleuchtung, die man erlebt, wenn man es endlich versteht.“ — Eric S. Raymond
  1. GregBuchholz

    Meine erste Sprache, 1980 an der CMU, war Pascal... schnell gefolgt von LISP in CS/AI-Kursen und C für EE-Kurse. Ich war damals ein großer Fan von MacLisp, der MIT-Version, an der GLS gearbeitet hat (man konnte seine Kommentare überall im Quellcode sehen). Natürlich wechselte GLS später zu Scheme und schrieb ein paar definitive Papiere über Closures. Ja, das war bevor es überall PCs gab... eine lange, lange Zeit her. (C++ kam Jahre und Jahre später, kein Fan. Ich wäre bei der Hardware geblieben, wenn mir die ++-Version von C damals aufgezwungen worden wäre.)

    GLS wechselte Anfang der 80er an die CMU... Ich erinnere mich, dass ich "Comparative Programming Languages" bei ihm belegt habe. Guter Lehrer und beeindruckender Typ. Neben dem Offensichtlichen behandelte er in dem Kurs auch SNOBOL und APL. Erinnerungen :-)

  2. SA9G

    > keine spezielle Syntax für irgendetwas.

    (list '(1. . #\#)

    -5/6+7.s-8i

    `(1 ,@2)

    1@1 ;hmmm, kein Unquote-Splicing-Komma ;-)

    10# ;überrascht?

    (list #i+1 +1i 1+i) ;kompliziert oder komplex?

    #e-1e10i ;Old MacDonald?

    "(* 9 10)" #())

  3. M0THXYZ

    > In The Amazing Digital Circus (Folge 8, "hjsakldfhl"), wenn Kinger das Terminal öffnet, um Caine zurückzusetzen, sieht man, dass Caine (eine kreative KI, gebaut 1996) in Lisp programmiert ist. Die Datei heißt buchstäblich Caine-core.lisp.

    Netter Touch. Erklärt, wie Caine in Folge 9 zurückkehrt: Lisp-Continuations erlauben eine elegante Fehlerbehandlung.

  4. perrygeo

    So sehr ich ein Fan von Racket bin, das ist keine freundliche Einführung. Das ist ein Speedrun.

    Wenn eine Einführung "freundlich" sagt, erwarte ich nicht, dass sie voraussetzt, dass ich weiß, was Lambda ist.

    Wenn eine Einführung "freundlich" sagt, erwarte ich nicht, dass Syntaxregeln darin vorkommen. Überhaupt nicht.

  5. fn-mote

    Obwohl die Sprache interessant ist, nutzt sie leider niemand in freier Wildbahn. Vielleicht wegen der umständlichen Bereitstellungsoptionen? Die Fähigkeit, native eigenständige ausführbare Dateien zu erzeugen, würde die Nutzung meiner Meinung nach ankurbeln.

Mehr von diesem Tag

2026-08-22