Nya verk har visat kraften i linjära indexerade typsystem för att upprätthålla komplexa programegenskaper. Dessa system kombinerar linjära typer med ett språk av typ-nivå index, vilket möjliggör mer finkorniga analyser. Sådana system har på ett fruktbart sätt tillämpats inom olika områden, inklusive implicit komplexitet och differentiell integritet. Ett naturligt sätt att öka expressiviteten i detta tillvägagångssätt är genom att låta indexen vara beroende av information om runtime, i en anda av beroende typer. Detta tillvägagångssätt används i DFuzz, ett språk för differential integritet. DFuzz type systemet bygger på ett indexspråk som stöder verkliga och naturliga tal aritmetik över konstanter och variabler. Dessutom använder DFuzz en undertypingsmekanism för att göra typer mer flexibla. Genom sig själva kräver linearitet, beroende och subtyping varje känslig hantering när man utför typkontroll eller typ inference; deras kombination ökar denna utmaning avsevärt, eftersom funktionerna kan interagera på icke-triviala sätt. I den här artikeln studerar vi problemet med typkontroll för DFuzz. Vi visar hur vi kan minska typkontroll för (en enkel utvidgning av) DFuzz att begränsa lösa över en första ordningen teori om naturals och reella tal som, även om obeslutbara, ofta kan hanteras i praktiken av standard numeriska lösare.
De REF använde linjära typer med naturligt antal indexerade metoder för att fånga finkorniga analyser för differentialintegritet.
Really Natural Linear Indexed Type Checking
{'venue': 'ArXiv', 'journal': 'ArXiv', 'mag_field_of_study': ['Mathematics', 'Computer Science']}