Zum Inhalt springen

Überblick

Ein FinDSL-Modul liest sich wie strukturiertes Gesetz. Diese Seite zeigt den Aufbau; die einzelnen Konzepte vertiefen die Folgeseiten. Die vollständige, formale Sprachdefinition steht in der Sprachreferenz.

Jede .findsl-Datei ist ein Modul, identifiziert über ihren Pfad. Ein Modul enthält Konstanten (konst) und Funktionen (fn), jeweils mit gesetzlicher Quelle und Doc-Kommentar.

--
# Solidaritätszuschlag 2025 — Nullzone (§§ 3, 4 SolzG)
Der erste `----`-Block am Dateianfang ist die Modul-Dokumentation.
--
-- Zuschlagssatz auf die festgesetzte Einkommensteuer. --
@Quelle("§ 4 Satz 1 SolzG 1995")
konst SOLI_SATZ: Prozent = 5,5%
-- Freigrenze: bis einschließlich hier kein Zuschlag (Einzelveranlagung). --
@Quelle("§ 3 Absatz 3 SolzG 1995")
konst FREIGRENZE: Euro = 19.950
--
Solidaritätszuschlag auf die festgesetzte Einkommensteuer.
@param est festgesetzte Einkommensteuer (ganzzahliger Euro-Betrag)
@rückgabe der Solidaritätszuschlag in Euro (abgerundet)
--
@Quelle("§ 3 Absatz 1, § 4 SolzG 1995")
fn Solidaritaetszuschlag(est: Euro): Euro = wähle {
falls est < FREIGRENZE + 1 -> 0
sonst -> (SOLI_SATZ * est).abrunden()
}
BausteinZweck
Doc-Kommentar --…--Markdown-Beschreibung; fließt in die generierte Doku ein
@Quelle("§ …")Pflicht-Annotation: die gesetzliche Grundlage
konst NAME: Typ = wertbenannter Wert (Großbuchstaben-Konvention)
fn Name(param: Typ): Typ = …reine Funktion ohne Seiteneffekte

Jede Konstante und jede normgebundene Regel trägt ein @Quelle — so bleibt die Verbindung zum Gesetz nachvollziehbar und landet automatisch in Dokumentation und Audit-Artefakten.