Anubis

Anubis er en funktionel sprog skabt i 2000 af den franske matematiker Alain Prouté baseret på kategori teori.

Beskrivelse

Princippet om opførelsen af ​​Anubis er at definere hvert element i sproget ved hjælp af teorien om de lukkede bicartésiennes kategorier. Målsætningen er at opnå et sikkert sprog, lette skrivning af programmer korrektion demonstrationer som et bevis assistent.

Blandt de elementer, der bidrager til sikkerheden er beskrevet betingede forgrening af Anubis, som kræver, at programmøren til at håndtere alle mulige tilfælde, og manglen på undtagelser. Sidstnævnte tvinger programmøren til at overveje alle mulige resultater af en operation. Således kan heltalsdivision returnere et heltal eller en værdi, der angiver noget resultat, fordi division med nul forårsager en fejl.

Prøve Program

Dette er for at beregne længden af ​​en liste. For det første er typen af ​​lister defineret som følger:

I denne definition $ T er en hvilken som helst type. Dette er derfor en "ordning" type definition. Den type to "alternativ", som repræsenterer den tomme liste og ikke-tomme lister.

Beregningen af ​​længden af ​​en liste kræver ødelægger List datatype, der leveres. Dette er nødvendigvis gøres med en betinget:

Hvad adskiller sig grundlæggende Anubis ML familie af sprog, er det faktum, at en sådan betingelse ikke et filter, fordi det er obligatorisk at give en enkelt behandling, hvis muligt. Således er der ingen problemer med filteret orden, og der er aldrig nogen undtagelse kastet hvis ingen filteret skal. Så der er direkte spring til den pågældende sag, uden retssag og fejl. Denne adfærd er den præcise oversættelse af den universelle problem, der definerer klasser er i teorien, mens filtrering modeller en ikke nødvendigvis disjunkte forening og ikke nødvendigvis dække alle mulige tilfælde. Denne funktion er en vigtig kilde til sikkerhed og brugervenlighed vedligeholdelsesprogrammer.

Andre funktioner

Anubis er et universelt sprog. Det tillader anvendelse af tvingende konstruktioner, samt objektorienteret programmering.

Anmeldelser

Hvis konstruktioner af Anubis garantere sikkerheden på bekostning af lange programmer, fordi de skal behandle alle mulige tilfælde, selv når det kan påvises, at de ikke kan forekomme. For eksempel skriver x / 2 kræver at behandle tilfælde af division med nul, således at 2 er forskellig fra nul.

Forrige artikel Argentina
Næste artikel Aegis