Vi anser att problemet med att förena ett beroendeframkallande funktionellt språk med tvingande egenskaper som muterbar högre ordning, pekande alias och non-termination är ett problem. Vi föreslår Hoare Type Theory (HTT), som införlivar Hoare-stil specifikationer i typer, vilket gör det möjligt att statiskt spåra och genomdriva korrekt användning av biverkningar. Det viktigaste kännetecknet för HTT är Hoare-typen {P }x:A{Q} som anger beräkningar med förutsättning P och postvillkor Q som returnerar ett resultat av typ A. Hoare-typer kan häckas, kombineras med andra typer, och abstrakteras, vilket leder till en smidig integration med högre ordning funktioner och typ polymorfism. Vi visar vidare att i närvaro av typ polymorfism, blir det möjligt att tolka Hoare-typerna på det "små fotavtryck" sätt, som förespråkas av Separation Logic, där specifikationer beskriver noggrant det tillstånd som krävs vid beräkningen. Vi konstaterar att HTT är ljud och komposition, i den meningen att separata verifieringar av enskilda programkomponenter räcker för att säkerställa att det sammansatta programmet är korrekt.
Nyligen, REF presenterade en typ teori för högre ordning funktionella program som införlivar Hoare stil specifikationer i typer, vilket gör det möjligt att genomdriva korrekt användning av biverkningar.
Polymorphism and separation in hoare type theory
{'venue': 'ICFP', 'journal': None, 'mag_field_of_study': ['Computer Science']}