< Terug naar vorige pagina

Project

Gevorderd meertraps programmeren met computationele effecten

De productiviteit van software-ontwikkelaars en de performantie van hun code primeren beide, maar moeilijk samen na te streven. Het eerste vereist rijke abstractielagen en zeer herbruikbare, context-onafhankelijke code. Het tweede vereist code zonder generische overhead of indirecties, volledig toegespits op zijn context. Algemene geoptimaliseerde compilatie kan de performantie van hoog-niveau code automatisch verbeteren, maar is verre van optimaal. Technieken voor codegeneratie zijn veel beloftevoller omdat ze in de vorm van "actieve bibliotheken" hoog-niveau APIs aanbieden die kennis van het probleemdomein en de codestructuur uitbuiten om sterk getunede code te produceren. Standaard codegeneratietechnieken (bv., C++ templates) zijn echter erg foutgevoelig en moeilijk te debuggen. Meertraps programmeren belooft deze drempel gevoelig te verlagen door op het niveau van generatoren sterke statische garanties te geven betreffende de hygiene en typering. Dit project heeft tot doel om de state-of-the-art van meertraps programmeren te verleggen. In het bijzonder zullen we de interactie met computationele effecten ontwikkelen. Het bestaande werk richt zich immers voornamelijk op effect-vrije code terwijl effecten essentieel zijn bij de functionaliteit en/of performantie van de meeste applicaties. We volgen een fundamentele aanpak met de ontwikkeling van een formele calculus voor meertraps programmeren met effecten, en complementeren deze met praktische case studies.

Datum:1 jan 2023 →  Heden
Trefwoorden:multi-stage programming, computational effects, monads
Disciplines:Coderingstools en -technieken, testen en debuggen, Taalontwerp, -constructies en -eigenschappen, Taalprocessoren, Programmeertalen en -technologieën