Prolog: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
lf [Algol] |
|||
Regel 21:
== Ontwikkeling ==
Prolog werd oorspronkelijk in 1971-72<ref name="birth">{{Citeer tijdschrift |1=Alain |2=Colmerauer |3=Philippe |4=Roussel |datum=1993 |url=http://alain.colmerauer.free.fr/alcol/ArchivesPublications/HistoireProlog/19november92.pdf |titel=The birth of Prolog |tijdschrift=ACM SIGPLAN Notices |jaargang=28 |nummer=3 |pp=37–52 |doi=10.1145/154766.155362}}</ref><ref>{{Citeer tijdschrift |1=Robert A. |2=Kowalski |datum=1988 |url=http://www.doc.ic.ac.uk/~rak/papers/the%20early%20years.pdf |titel=The early years of logic programming |tijdschrift=Communications of the ACM |jaargang=31 |nummer=1 |pp=38–43}}</ref> ontworpen door [[Alain Colmerauer]] en zijn vakgroep aan de [[Universiteit van Marseille]] ([[Frankrijk]]). Het was de eerste implementatie van de ideeën van [[Robert Kowalski]] over het gebruik van [[Horn-clausule]]s als basis voor een programmeertaal. De eerste versie van de nieuwe taal werd door Colmerauers collega Philippe Roussel geïmplementeerd in [[
Een volgende mijlpaal werd bereikt met een Prologsysteem dat op een [[Digital Equipment Corporation|DEC]] [[PDP-10]] van de [[Universiteit van Edinburgh]] draaide. Met name [[David H.D. Warren]] speelde hierbij een belangrijke rol met de ontwikkeling van de [[Warren Abstract Machine]]. Deze versie van Prolog bood vele optimalisaties en uitbreidingen en was de eerste die kon worden gecompileerd naar DEC-10-[[machinetaal]]. ''Edinburgh Prolog'' geldt in velerlei opzicht nog steeds als richtinggevend. In 1995 werd Prolog door de [[Internationale Organisatie voor Standaardisatie|ISO]] gestandaardiseerd, waarbij het Edinburgh-[[I/O]]-systeem en vele predicaten werden vervangen. Dit leidde tot enige kritiek<ref name="Ransar">[http://pauillac.inria.fr/~deransar/prolog/overview.html Prolog overview, de Ransar]</ref> en heeft ertoe geleid dat vele moderne implementaties beide versies ondersteunen.
Regel 31:
{{Zie hoofdartikel|Warren Abstract Machine}}
In 1983 ontwierp [[David H.
Ondanks het feit dat het ook mogelijk is naar ''native'' [[machinetaal]] te compileren, zijn WAM's nog steeds vrij algemeen. De voordelen van een ''native'' implementatie zijn beperkt doordat vrij veel functionaliteit uiteindelijk toch in support-functies moeten worden geïmplementeerd en het wiel veelvuldig opnieuw moet worden uitgevonden.<ref name="SICStus" /> Tevens worden onvermijdelijk machine-afhankelijkheden (''machine dependencies'') geïntroduceerd, wat de [[Softwareportabiliteit|portabiliteit]] niet ten goede komt.{{Bron?||2015|01|14}}
|