Q (equational Programmiersprache)

Q (kurz für die equational Programmiersprache) ist eine interpretierte, interaktive funktionelle Programmiersprache, die von Albert Gräf an der Universität Mainzes in Deutschland geschaffen ist. Q Programme sind gerade Sammlungen von Gleichungen, die verwendet werden, um Ausdrücke auf eine symbolische Mode zu bewerten. Q hat viele Ähnlichkeiten mit anderen modernen funktionellen Programmiersprachen wie Haskell und ML, aber basiert auf dem allgemeinen Begriff-Neuschreiben (eine Methode der Berechnung, die auch durch das Computeralgebra-System von Mathematica verwendet ist) statt der Lambda-Rechnung.

Trotz seiner Begriffseinfachheit ist Q eine voll gezeigte funktionelle Programmiersprache mit einer modernen Syntax, das mit Currysoße zubereitende, dynamische Schreiben mit einem objektorientierten Typ-System, dem Ausnahme-Berühren, der POSIX Nebenläufigkeit, einer umfassenden Standardbibliothek und einer Schnittstelle in die C Programmiersprache. Q ist eine unreine funktionelle Sprache (d. h. Operationen mit Nebenwirkungen werden erlaubt) mit einem Verzug eifrige Einschätzungsstrategie; "spezielle Formen" können verwendet werden, um Datenstrukturen und Operationen durchzuführen, die faule Einschätzung zeigen. Q ist zu einer Vielfalt von Betriebssystemen, einschließlich BeOS, FreeBSD, Linux, Mac OS X, Solaris und Windows von Microsoft getragen worden. Der Dolmetscher ist laut der GNU-Lizenz der Breiten Öffentlichkeit verteilte kostenlose Software.

Für verschiedene Erweiterungsmodule wird das Verbinden, z.B, zur GNU-Oktave, OpenDX (die wissenschaftliche Vergegenwärtigungssoftware von IBM), Tcl/Tk und ODBC gesorgt. Ein Graph-Redakteur und Bibliothek sind auch verfügbar. Das verwandelt die Sprache in ein praktisches Werkzeug für wissenschaftliche und andere fortgeschrittene Anwendungen. Q kommt auch mit einer umfassenden Systemschnittstelle (obwohl nicht so umfassend wie die Möglichkeiten, die durch andere scripting Sprachen wie Perl und Python zur Verfügung gestellt sind). Außerdem werden Computermusik-Anwendungen über tragbare Schnittstellen für MIDI und Digitalaudioprogrammierung unterstützt.

Q ist durch den Reinen nachgefolgt worden.

Beispiele

Ein "hallo" Weltbeispiel:

hallo = schreibt "Hallo, Welt! \n";

Die folgende Funktion erzeugt den "Strom" (a.k.a. unendliche Liste) von allen Primzahlen:

Blüte = Sieb (ints 2);

ints N = Behälter N (ints (N+1));

Sieb (Behälter X Xs) = Behälter X (Sieb (Filter (ndivby X) Xs));

ndivby M N = N mod M

Ein Algorithmus, um "N Königinnen" Problem mit dem Zurückverfolgen zu lösen:

Königinnen N = suchen N 1 1 [];

suchen Sie N I J P = schreiben, dass P || "\n" wenn I> N schreibt;

= suchen Sie N (I+1) 1 (P ++ [(ich, J)]) || scheitern wenn sicher (ich, J) P;

= suchen Sie N I (J+1) P wenn J

wo T:ByteStr = recv FD MSG_WAITALL (64*1024);

= S sonst;

Siehe auch

  • Rein, der Nachfolger von Q
  • A. Gräf. Die Q Programmiersprache. Musikinformatik & Medientechnik 6/92, Johannes Gutenberg-Universität Mainz, 1992.

Links


Kenneth Richard Norris / Die Labour Party der Liebe hat gewonnen
Impressum & Datenschutz