Antra

Referenz

Standardbibliothek

Die Standardbibliothek in Paketen nach Thema. Zu jedem Paket gibt es die API-Referenz, die antra doc aus den #:-Kommentaren im Quelltext erzeugt (jede öffentliche Funktion mit Signatur und Beispiel); zu vielen Paketen steht darüber ein Erklärtext aus diesem Ordner.

Abgrenzung zu den übrigen Doku-Teilen:

Daten und Sammlungen#

Antra::Array
Arrays: Zugriff, Sortieren, Umbauen und die Folgen-Helfer aus Enum
Antra::Map
Maps: lesen, setzen, mergen, filtern — der Tag bleibt erhalten
Antra::Set
Mengen und Mengenoperationen
Antra::Range
Ranges wie 1..10 und 0..1 by 0.25
Antra::String
Strings: zerlegen, suchen, ersetzen, formatieren
Antra::KeywordArray
Keyword-Arrays [a: 1, b: 2] mit doppelten Schlüsseln
Antra::Enum
Funktionen für jede Folge: Arrays, Ranges, Strings, Maps, Generatoren
Antra::Bytes
ByteString: Bytes lesen, schreiben und umwandeln

Zahlen#

Antra::Int
Ganzzahlen: Teiler, Bits, Ziffern
Antra::Rat
Brüche: Zähler, Nenner, Umwandlung
Antra::Math
Wurzeln, Runden, Trigonometrie und Konstanten
Antra::Random
Zufallszahlen mit reproduzierbarem Seed
Antra::Easing
Easing-Kurven für Animationen

Fehler und optionale Werte#

Antra::Result
%Ok[...] / %Err[...]: verketten, entpacken, umwandeln
Antra::Option
%Some[...] / %None[]: der Wert, der fehlen darf
Antra::Propagate
Protokoll hinter .^
Antra::Propagate::Option
.^ für Option
Antra::Propagate::Result
.^ für Result
Antra::Unwrap
Protokoll hinter .?
Antra::Unwrap::Option
.? für Option
Antra::Unwrap::Result
.? für Result
Antra::UnwrapOrThrow
Protokoll hinter .!
Antra::UnwrapOrThrow::Option
.! für Option
Antra::UnwrapOrThrow::Result
.! für Result

Protokolle und Werte#

Antra::Ops
Operator-Protokolle: Add, Eq, Ord, Index, …
Antra::Display
__str__: wie ein Wert sich zeigt
Antra::Enumerable
Eigene Typen in for, map und Enum
Antra::Generator
Generatoren als Folgen
Antra::Refine
Protokoll hinter getaggten Literalen wie regex"…"
Antra::Refine::Regex
regex"…"-Literale
Antra::Value
Getaggte Werte bauen und untersuchen
Antra::Class
Hilfen für bless-Objekte
Antra::Meta
Doku-Kommentare und Attribute zur Laufzeit lesen
Antra::TypeDefs
Die eingebauten Summentypen als typedef
Antra::Prelude
Was ohne import immer da ist

Text und Formate#

Antra::Regex
Reguläre Ausdrücke: suchen, ersetzen, zerlegen
Antra::PEG
Parser-Kombinatoren für eigene Grammatiken
Antra::JSON
JSON lesen und schreiben
Antra::AND
Antra Notation for Data: Antra-Werte als Text
Antra::HTML
HTML im Hiccup-Stil erzeugen
Antra::Validator
komponierbare String-Validatoren für Console.ask und Arg

Dateien, Prozesse und Zeit#

Antra::IO
Ein- und Ausgabe, Standardstreams
Antra::IO::File
Datei-Handles: öffnen, lesen, schreiben
Antra::FS
Dateisystem: Dateien, Ordner, temporäre Dateien
Antra::Path
Pfade, die auf Windows, macOS und Linux gleich funktionieren
Antra::Process
Externe Programme starten, Ausgabe lesen, Pipes
Antra::System
Umgebung, Prozess-IDs, fork, exit
Antra::Archive
.zip, .tar und .tar.gz packen und entpacken
Antra::Zlib
Deflate, zlib und gzip
Antra::Digest
Hashes (SHA, MD5) und HMAC
Antra::Time
Zeitpunkte, Formatieren, Parsen, Messen
Antra::Duration
Zeitdauern wie 10sec und 2min
Antra::Logger
Kleine Logger für Skripte und Dienste

Kommandozeile und Tests#

Antra::Arg
CLI-Argumente parsen, validieren und Hilfe rendern
Antra::Console
interaktive Eingaben (ask, confirm, menu), inkl. verdeckter Passwort-Eingabe
Antra::Terminal
Farben und ANSI-Sequenzen
Antra::Test
Assertions und kleine Test-Runner

Netz#

Antra::Net::Fetch
HTTP(S)-Anfragen und Downloads
Antra::Net::HTTP
Ein kleiner HTTP-Server, auch mit SSE
Antra::Net::HTTP::Status
HTTP-Statuscodes als Konstanten
Antra::Net::URI
Prozent-Kodierung für URLs und Formulare
Antra::Socket
Gemeinsame Socket-Operationen
Antra::Socket::TCP
TCP-Server und -Clients
Antra::Curl
HTTP über das curl-Programm des Systems

Native Bibliotheken und Grafik#

Antra::FFI
C-Funktionen direkt aufrufen
Antra::SQLite
SQLite-Datenbanken
Antra::PNG
PNG-Bilder aus RGBA-Pixeln schreiben
Antra::SDL
SDL2: Fenster, Eingabe, Grafik
Antra::Raylib
raylib: Spiele und Grafik
Antra::Raylib::Core
Fenster, Frame-Schleife, Eingabe, Kamera
Antra::Raylib::Shapes
2D-Formen
Antra::Raylib::Textures
Bilder und Texturen
Antra::Raylib::Text
Schriften und Text
Antra::Raylib::Models
3D-Formen, Meshes und Modelle
Antra::Raylib::Audio
Sounds und Musik
Antra::Raylib::Math
Vektoren und Matrizen (raymath)

Werkzeuge#

Antra::Project
Die Projektdatei antra.and und antra init
Antra::Packer
antra pack: Programme weitergeben
Antra::Builder
antra build --native
Antra::Installer
antra self: antra installieren und aktualisieren
Antra::NativeDeps
antra native: C-Bibliotheken pro Projekt

Weitere#

Antra::Duration::Parser