Zurück zur Übersicht

Begriff

Agda

Computer Science Tools S4
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Haskell ist cool. Aber das Typ-System hat Grenzen. Agda ist wie Haskell auf Steroiden (Dependent Types). In Agda schreibst du keinen Code, der testet. Du schreibst Code, der beweist. Agda prüft zur Compile-Zeit, ob deine Logik wasserdicht ist. Es ist gleichzeitig eine Programmiersprache und ein Beweis-Assistent. Besonderheit: Du programmierst interaktiv. Du schreibst ein "?", und Agda sagt dir: "Hier muss ein Beweis vom Typ X hin. Soll ich es versuchen?"

Merksatz: Eine funktional typisierte Programmiersprache mit abhängigen Typen, die primär als Beweisassistent verwendet wird, um die Korrektheit von Programmen mathematisch zu verifizieren.


Quick-Check

  1. Produktion?
    Kaum. Agda kompiliert zu Haskell oder JS, aber der Fokus liegt auf Verifikation, nicht Performance. Firmen nutzen eher Rust/Haskell, und Agda nur für Kern-Algorithmen.
  2. Unterschied zu Coq?
    Coq nutzt Taktiken ("Mach Schritt A, dann B"). Agda ist "Term-basiert" (Du schreibst das Programm direkt, wie in Haskell). Viele finden Agda intuitiver.
  3. Schweden?
    Geburtsort von Agda (Chalmers University, Göteborg). Benannt nach einer Henne (aus einer schwedischen Kindergeschichte).