Antra
Die Antra-Ameise

Antra

Einfach. Elegant. Mächtig.

Eine funktionale Skriptsprache mit Pattern Matching, exakten Zahlen, getaggten Werten und einem Typsystem, das du dazunimmst, wenn du es brauchst.

Los geht’sInstallierenStandardbibliothek

fn fibo(0) -> 0
fn fibo(1) -> 1
fn fibo(n) when n > 0 -> fibo(n - 1) + fibo(n - 2)

val xs = [..select (n <- 0..10) yield fibo(n)]
println(xs)   # [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

Das Handbuch#

Für wen ist diese Doku geschrieben?#

Die Kapitel erklären Begriffe wie Pattern Matching, Tagged Values oder lexikalischen Scope nicht als bekannt voraus. Wenn du eher aus JavaScript, Python, PHP oder Java kommst, ist das beabsichtigt.

Antra hat zwar funktionale Einflüsse, aber du musst nicht "funktional denken" können, um produktiv zu werden. Hilfreich ist eher diese Arbeitshypothese:

  • Werte sind wichtiger als Objekte.
  • Datenformen werden oft direkt in Funktionsparametern beschrieben.
  • Pattern Matching ersetzt viele if-/switch-Kaskaden.
  • Mutation ist möglich, aber bewusst markiert.

Referenz vs. Tutorial#

Diese Kapitel sind tutorial-artiger geschrieben als die alte Monolith-Datei. Das heißt:

  • mehr kleine Beispiele
  • mehr Erklärung von Motivation und Lesart
  • weniger "hier ist nur die Syntax"

Für den Einstieg ist das meist besser. Für schnelles Nachschlagen bleibt antra.md als Startseite und Kapitelindex erhalten.

Relevante Specs fuer Enduser-APIs#