• funktional
  • prozedural

Codebeispiel

(define (call name)
  (display (string-append "Hello World, and hello " name "!"))
  (newline))

(call "Hans")

Ausführung (Beispiel): csi <Dateiname>.scm

Beschreibung

Scheme ist ein Mitglied der Lisp-Sprachenfamilie. Im Vergleich zu Common Lisp zeichnet sich Scheme durch seine kleine Standardbibliothek aus. Da es durch seine vergleichsweise einfache Implementierbarkeit eine Vielzahl von Schemes gibt, kann die Größe der Standardbibliotheken verschieden sein. Abgesehen vom Scheme-Standard (definiert durch die aktuelle Version 6 des “The Revised Report on the Algorithmic Language Scheme”, kurz R6RS) gibt es einige Bibliotheken, die zur Implementierung vorgeschlagen werden (SRFI).

Da diese SRFIs nicht zwingend implementiert werden müssen, gibt es teils erhebliche Unterschiede zwischen verschiedenen Schemes, was auch sich auch im nicht vorhandenen portablen Paket- oder Bibliothekssystem zeigt (hier wird aber dran gearbeitet).

Installation

Windows

Ein Windows-Installer findet sich hier.

Linux

Auf den meisten Distributionen ist ein Chicken-Paket über den Paketverwalter erreichbar. Wie die entsprechenden Pakete heißen, kann hier nachgeschaut werden.

Mac OS X

Wir empfehlen Homebrew zur Paketverwaltung.

Homebrew installieren

  • ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Mehr Infos zu Homebrew gibt es hier.

Chicken installieren

  • brew install chicken

Tutorials