Prolog PROgramming LOGic (programmation en logique)
Programspråktteori - Mikael Åkesson Introduktion Prolog är ett logikspråk Utvecklat av Alain Colmerauer, Phillippe Roussel och Robert Kowalski Första kommandotolken 1972 Prolog är ett regelbaserat, deklarativt språk Ett huvudmål var hantering av naturligt språk Stöd för GUI
Programspråktteori - Mikael Åkesson Beskrivning av Prolog (1) Prologprogram är en samling uttryck En datatyp: Term Atom Nummer Variabel Sammansatt term
Programspråktteori - Mikael Åkesson Beskrivning av Prolog (2) Typer av uttryck Fakta Regler Frågor ställs till programmet som mål Kan programmet bevisa mål -> Yes Iterativa algoritmer görs med rekursion
Programspråktteori - Mikael Åkesson Utvärdering av Prolog (1) Läslighet Enkelhet: Prolog har få operatorer Ortogonalitet: Regelbundet och få datatyper Kontrollkommandon: Dåligt Datastrukturer: Få, lätt att göra listor Syntaxdesign: Beskrivande specialord men inte som folk är vana vid
Programspråktteori - Mikael Åkesson Utvärdering av Prolog (2) Skrivbarhet Enkelhet och ortogonalitet: Ja och nja Stöd för abstraktion: Uttryck: Ganska enkla dock ovana
Programspråktteori - Mikael Åkesson Utvärdering av Prolog (3) Pålitlighet Typkontroll: Finns bara termer Undantagshantering: Oändlig loop Alias: Nej Läslighet och skrivbarhet: Nja
Programspråktteori - Mikael Åkesson Utvärdering av Prolog (4) Kostnad Andra faktorer Portabilitet: Ibland Generalisering: Nej Väl definierat: Ja
Programspråktteori - Mikael Åkesson Slutsats Två saker emot Prolog och logikspråk Oeffektiva jämfört med imperativa språk Få riktigt bra tillämpningsområden
Programspråktteori - Mikael Åkesson OO-Prolog Prolog++ Visual Prolog P# Java och Prologbroar utvecklas