www.wikidata.uk-ua.nina.az
U Vikipediyi ye statti pro inshi znachennya cogo termina Prolog znachennya Prolo g fr Prolog angl Prolog mova logichnogo programuvannya zagalnogo priznachennya pov yazana zi shtuchnim intelektom ta matematichnoyu lingvistikoyu 1 2 3 PrologParadigma logichne programuvannyaData poyavi 1972Tvorci Alain Colmerauerd Robert Kovalskij i Philippe RousseldRozrobnik Alan Kolmeroe en Osnovni realizaciyi BProlog en Ciao en ECLiPSe en GNU Prolog en Jekejeke Prolog Logic Programming Associates en Prolog Poplog en P Quintus SICStus Strawberry SWI Prolog tuProlog XSB YAP Prolog en Dialekti Prolog ISO Edinburzka PrologPid vplivom vid PlannerVplinula na Visual Prolog en Mercury en Oz en Erlang Strand en KL0 en KL1 en Datalog CHR en XSBZvichajni rozshirennya fajliv code pl pro P code Prolog maye koreni v logici pershogo poryadku matematichnij logici ta na vidminu vid bagatoh inshih mov programuvannya ye deklarativnoyu logika programi virazhayetsya v terminah vidnoshen predstavlenih yak fakti ta pravila Obchislennya iniciyuyetsya zapuskom zapitu nad cimi vidnoshennyami 4 Cyu movu programuvannya spochatku bulo zadumano grupoyu navkolo Alana Kolmeroe en v Marseli na pochatku 1970 h a pershu sistemu Prolog bulo rozrobleno v 1972 mu Alanom Kolmeroe ta Filipom Russelem fr 5 6 Prolog bula odniyeyu z pershih logichnih mov programuvannya 7 j zalishayetsya najpopulyarnishoyu sered takih mov i na sogodni mayuchi dekilka bezkoshtovnih ta komercijnih realizacij Yiyi zastosovuvali yak dlya dovedennya teorem 8 ekspertnih sistem 9 tak i dlya yiyi pochatkovoyi oblasti priznachennya obrobki prirodnoyi movi 10 11 Suchasni seredovisha Prologu pidtrimuyut yak stvorennya grafichnih interfejsiv koristuvacha tak i administrativni abo merezhevi zastosuvannya Prolog dobre pidhodit dlya rozv yazannya specifichnih zadach sho vigrayu t vid logichnih zapitiv na bazi pravil takih yak poshuk bazami danih sistemi golosovogo keruvannya ta zapovnennya shabloniv Zmist 1 Sintaksis ta semantika 1 1 Tipi danih 1 2 Pravila ta fakti 1 3 Vikonannya 1 4 Cikli ta rekursiya 1 5 Zaperechennya 2 Programuvannya movoyu Prolog 2 1 Hello world 2 2 Optimizaciya kompilyatorom 2 3 Shvidke sortuvannya 3 Shabloni proektuvannya 4 Programuvannya vishih poryadkiv 5 Moduli 6 Gramatichnij rozbir 7 Meta interpretatori ta refleksiya 8 Povnota za Tyuringom 9 Realizaciya 9 1 Prolog ISO 9 2 Kompilyaciya 9 3 Hvostova rekursiya 9 4 Indeksuvannya termiv 9 5 Tabulyuvannya 9 6 Aparatna realizaciya 10 Nedoliki 11 Rozshirennya 11 1 Tipi 11 2 Rezhimi 11 3 Obmezhennya 11 4 Ob yektna oriyentaciya 11 5 Grafika 11 6 Paralelizm 11 7 Vebprogramuvannya 11 8 Adobe Flash 11 9 Inshi 12 Interfejsi do inshih mov 13 Istoriya 14 Vikoristannya u promislovosti 15 Div takozh 15 1 Sporidneni movi 16 Primitki 17 Literatura 18 PosilannyaSintaksis ta semantika RedaguvatiDokladnishe Sintaksis ta semantika ProloguProgramna logika u Prolozi virazhayetsya v terminah vidnoshen a obchislennya iniciyuyetsya zapuskom zapitu nad cimi vidnoshennyami Vidnoshennya ta zapiti stvoryuyutsya z vikoristannyam yedinogo tipu danih Prologu termu 4 Vidnoshennya virazhayutsya tverdzhennyami Otrimavshi zapit rushij Prologu namagayetsya znajti sprostuvannya rezolyuciyi zaperechennya zapitu Yaksho zaperechennya zapitu mozhe buti sprostovano tobto znajdeno konkretizaciyu vsih vilnih zminnih sho robit ob yednannya atomarnih formul ta mnozhini singletonu sho skladayetsya iz zaperechennya zapitu hibnim to z cogo viplivaye sho pochatkovij zapit iz zastosuvannyam znajdenoyi konkretizaciyi ye logichnim visnovkom programi Ce robit Prolog ta inshi logichni movi programuvannya nadzvichajno zruchnoyu dlya zastosuvannya v bazah danih simvolnij matematici ta gramatichnomu analizi mov Oskilki Prolog dozvolyaye nechisti predikati perevirka istinnosti pevnih specialnih predikativ mozhe mati deyakij navmisnij pobichnij efekt yak to vivedennya znachennya na ekran Cherez ce programistovi dozvoleno pevnoyu miroyu vikoristovuvati zvichajne imperativne programuvannya koli logichna paradigma ye nezruchnoyu Prolog maye yak chistu logichnu pidmnozhinu sho nazivayetsya chista Prolog tak i ryad pozalogichnih vlastivostej Tipi danih Redaguvati Yedinim tipom danih Prologu ye term Termi mozhut buti atomami chislami zminnimi abo skladenimi termami Atom ce zagalna nazva bez pritamannogo znachennya Prikladami atomiv ye x sinij Pirizhok ta yakijs atom Chisla mozhut buti z ruhomoyu komoyu abo cilimi Zminni poznachayutsya strichkami sho skladayutsya z liter cifr ta simvoliv pidkreslennya i pochinayutsya z velikoyi literi abo simvolu pidkreslennya Zminni duzhe podibni do zminnih v logici tim sho voni ye poznachkami zapovnyuvachami dlya dovilnih termiv Skladenij term skladayetsya z atomu sho zvetsya funktor ta pevnoyi kilkosti argumentiv sho v svoyu chergu tezh ye termami Skladeni termi zazvichaj zapisuyutsya u viglyadi funktora za yakim u duzhkah sliduye perelik termiv argumentiv cherez komu Kilkist argumentiv nazivayetsya arnistyu termu Atom mozhe rozglyadatisya yak skladenij term nulovoyi arnosti rik mashini Tavriya 1988 ta Druzi Osobi graj oko tur ye prikladami skladenih termiv Osoblivi vipadki skladenih termiv Spisok ye vporyadkovanoyu kolekciyeyu termiv Vin poznachayetsya kvadratnimi duzhkami z termami rozdilenimi komami abo u vipadku porozhnogo spisku Napriklad 1 2 3 abo chervonij zelenij sinij Strichki poslidovnist simvoliv u lapkah ekvivalentna spiskovi chislovih kodiv simvoliv zazvichaj u miscevomu koduvanni abo v Yunikodi yaksho sistema pidtrimuye Yunikod Napriklad buti chi ne buti Pravila ta fakti Redaguvati Prologovi programi opisuyut vidnoshennya viznacheni tverdzhennyami Chista Prolog obmezhena diz yunktami Gorna Ye dva tipi tverdzhen fakti ta pravila Pravilo maye viglyad Golova Tilo i chitayetsya yak golova istinna yaksho tilo istinne Tilo pravila skladayetsya z viklikiv predikativ sho nazivayutsya cilyami pravila Vbudovanij predikat 2 sho znachit dvoarnij operator z im yam poznachaye kon yunkciyu cilej a 2 diz yunkciyu Kon yunkciyi ta diz yunkciyi mozhut buti prisutni lishe v tili ale ne v golovi pravila Tverdzhennya z porozhnimi tilami nazivayutsya faktami Napriklad kit bazilio sho rivnocinne pravilu kit bazilio true Vbudovanij predikat true 0 ye zavzhdi istinnim Mayuchi navedenij vishe fakt mozhna spitati chi ye bazilio kotom kit bazilio Yes sho ye kotami kit X X bazilio Tverdzhennya z tilami nazivayutsya pravilami Napriklad tvarina X kit X Yaksho mi dodamo ce pravilo ta spitayemo sho ye tvarinami tvarina X X bazilio Oskilki priroda bagatoh vbudovanih predikativ ye vidnosnoyu yih zazvichaj mozhna vikoristovuvati v kilkoh napryamkah Napriklad length 2 mozhe vikoristovuvatisya yak dlya viznachennya dovzhini spisku length List L koli zadano spisok List tak i dlya stvorennya kistyaka spisku zadanoyi dovzhini length X 5 a takozh i dlya stvorennya kistyakiv spiskiv ta yih dovzhin odnochasno length X L Tak samo append 3 mozhe vikoristovuvatisya yak dlya z yednannya dvoh spiskiv append ListA ListB X koli zadano spiski ListA ta ListB tak i dlya rozdilennya zadanogo spisku na chastini append X Y List koli zadano spisok List Tomu vidnosno nevelikij nabir bibliotechnih predikativ ye dostatnim dlya velikoyi kilkosti prologovih program Yak mova zagalnogo priznachennya Prolog takozh proponuye riznomanitni vbudovani predikati dlya vikonannya vsyakoyi potochnoyi diyalnosti yak to vvedennya vivedennya vikoristannya grafiki ta inshoyi vzayemodiyi z operacijnoyu sistemoyu Ci predikati ne mayut znachennya vidnoshen i korisni lishe dlya pobichnih efektiv sho voni sprichinyayut u sistemi Napriklad predikat write 1 vidobrazhaye term na ekrani Vikonannya Redaguvati Vikonannya prologovoyi programi pochinayetsya zadavannyam koristuvachem yedinoyi cili sho zvetsya zapitom Z tochki zoru logiki rushij Prologu namagayetsya znajti sprostuvannya rezolyuciyi zaperechennya cogo zapitu Metod rezolyuciyi sho vikoristovuyetsya u Prolozi nazivayetsya VLV rezolyuciyeyu Yaksho zaperechennya zapitu mozhe buti sprostovano z cogo viplivaye sho zapit z vidpovidnimi zv yazuvannyami zminnih ye logichnim visnovkom programi U takomu razi vsi stvoreni zv yazuvannya zminnih povidomlyayutsya koristuvachevi i pro zapit povidomlyayetsya sho vin dosyag uspihu Z praktichnoyi tochki zoru strategiyu vikonannya Prologu mozhna uyaviti yak uzagalnennya viklikiv funkcij v inshih movah z tiyeyu rizniceyu sho zadanomu zapitovi mozhut vidpovidati golovi kilkoh tverdzhen V takomu vipadku sistema stvoryuye tochku viboru ob yednuye cil z golovoyu tverdzhennya pershoyi alternativi i prodovzhuye cilyami ciyeyi pershoyi alternativi Yaksho v napryamku vikonannya programi bud yaka cil zaznaye nevdachi vsi zv yazuvannya zminnih sho bulo zrobleno vid ostannoyi na toj moment tochki viboru skasovuyutsya i vikonannya prodovzhuyetsya z nastupnoyu alternativoyu ciyeyi tochki viboru Cya strategiya vikonannya nazivayetsya hronologichnim poshukom z vertannyam Napriklad mati ditini irina svyatoslav batko ditini yaroslav svyatoslav batko ditini yaroslav anna batko ditini volodimir yaroslav brat abo sestra X Y batko abo mati ditini Z X batko abo mati ditini Z Y batko abo mati ditini X Y batko ditini X Y batko abo mati ditini X Y mati ditini X Y Vihodyachi z cogo nastupnij zapit ocinyuyetsya yak istinnij brat abo sestra svyatoslav anna Yes Ce otrimuyetsya takim chinom Spochatku yedinoyu vidpovidnoyu golovoyu tverdzhennya do zapitu brat abo sestra svyatoslav anna ye persha tomu nadavannya zapitu ye rivnocinnim nadavannyu tila togo tverdzhennya z vidpovidnimi zv yazuvannyami zminnih tobto kon yunkciya batko abo mati ditini Z svyatoslav batko abo mati ditini Z anna Nastupnoyu cillyu dlya dovedennya ye krajnya zliva z ciyeyi kon yunkciyi tobto batko abo mati ditini Z svyatoslav Cij cili vidpovidayut golovi dvoh pravil Sistema stvoryuye tochku viboru i probuye pershij vibir chiyim tilom ye batko ditini Z svyatoslav Cyu cil mozhe buti dovedeno z vikoristannyam faktu batko ditini yaroslav svyatoslav tomu stvoryuyetsya zv yazuvannya Z yaroslav i nastupnoyu cillyu dlya dovedennya staye druga chastina navedenoyi vishe kon yunkciyi batko abo mati ditini yaroslav anna I znovu ce mozhe buti dovedeno vidpovidnim faktom Oskilki vsi cili dovedeno zapit dosyagaye uspihu Oskilki zapit ne mistit zhodnih zminnih koristuvachevi ne povidomlyayutsya zhodni zv yazuvannya Zapit zi zminnimi yak to batko ditini Batko Ditina perelichuye vsi dijsni vidpovidi poshuku z vertannyam Zvernit uvagu sho z navedenim vishe kodom zapit brat abo sestra svyatoslav svyatoslav takozh dosyagaye uspihu Yaksho potribno mozhna dodati dodatkovi cili dlya opisu vidpovidnih obmezhen Cikli ta rekursiya Redaguvati Iterativni algoritmi mozhe buti realizovano zasobami rekursivnih predikativ Zaperechennya Redaguvati Vbudovanij predikat Prologu 1 zabezpechuye zaperechennya yak vidmovu sho umozhlivlyuye nemonotonnu argumentaciyu Cil nelegalne X u pravili legalne X nelegalne X obchislyuyetsya takim chinom Prolog namagayetsya dovesti nelegalne X Yaksho dovedennya ciyeyi cili znajdeno to pochatkova cil tobto nelegalne X zaznaye nevdachi Yaksho dovedennya ne mozhe buti znajdeno to pochatkova cil dosyagaye uspihu Otzhe prefiksnij operator 1 nazivayetsya operatorom nedovidne oskilki zapit Cil dosyagaye uspihu yaksho Cil ne ye dovidnoyu Cej vid zaperechennya ye pravilnim yaksho jogo argument ye zamknenim tobto ne mistit zminnih Pravilnist vtrachayetsya yaksho argument mistit zminni i procedura dovedennya ye povnoyu Zokrema zapit legalne X teper vzhe ne mozhe buti vikoristano dlya perelichennya usih rechej sho ye legalnimi Programuvannya movoyu Prolog RedaguvatiU Prolozi zavantazhennya kodu nazivayetsya vzyattyam do uvagi Prolog mozhe vikoristovuvatisya interaktivno shlyahom vvedennya zapitiv do pidkazki Prologu Yaksho rozv yazku ne isnuye to Prolog pishe no Yaksho rozv yazok isnuye to todi drukuyetsya vin Yaksho isnuye dekilka rozv yazkiv zapitu to yih mozhe buti zapitano vvedennyam krapki z komoyu Isnuyut kerivni principi z nalezhnoyi praktiki programuvannya dlya pokrashennya efektivnosti chitabelnosti ta pidtrimuvanosti kodu 12 Dali sliduyut deyaki prikladi program napisanih movoyu Prolog Hello world Redaguvati Priklad zapitu write Privit svite nl Privit svite true Optimizaciya kompilyatorom Redaguvati Bud yake obchislennya mozhe buti virazheno deklarativno yak poslidovnist perehodu staniv Yak priklad optimizuvalnij kompilyator z troma prohodami optimizaciyi mozhe buti realizovano yak vidnoshennya mizh pochatkovoyu programoyu ta yiyi optimizovanoyu formoyu programa optimizovana Prog0 Prog optimizaciya prohid 1 Prog0 Prog1 optimizaciya prohid 2 Prog1 Prog2 optimizaciya prohid 3 Prog2 Prog abo rivnoznachno z vikoristannyam zapisu gramatiki viznachenih tverdzhen programa optimizovana gt optimizaciya prohid 1 optimizaciya prohid 2 optimizaciya prohid 3 Shvidke sortuvannya Redaguvati Algoritm shvidkogo sortuvannya sho stavit u vidpovidnist spiskovi jogo vidsortovanu versiyu rozdilennya rozdilennya X Xs Oporne Mali Veliki X lt Oporne gt Mali X Reshta rozdilennya Xs Oporne Reshta Veliki Veliki X Reshta rozdilennya Xs Oporne Mali Reshta shvidke sortuvannya gt shvidke sortuvannya X Xs gt rozdilennya Xs X Menshi Bilshi shvidke sortuvannya Menshi X shvidke sortuvannya Bilshi Shabloni proektuvannya RedaguvatiShablon proektuvannya ce zagalne rishennya bagatorazovogo vikoristannya poshirenoyi problemi u proektuvanni programnogo zabezpechennya U Prolozi shabloni proektuvannya mozhut nositi rizni nazvi kistyaki ta tehniki 13 14 klishe 15 programni shemi 16 ta shemi opisu logiki 17 Alternativoyu do shabloniv proektuvannya ye programuvannya vishih poryadkiv 18 Programuvannya vishih poryadkiv RedaguvatiDetalnishi vidomosti z ciyeyi temi vi mozhete znajti v statti Logika vishih poryadkiv en ta Programuvannya vishih poryadkiv Predikat vishogo poryadku ce predikat sho maye odin abo bilshe inshih predikativ yak argumenti Hocha pidtrimka programuvannya vishih poryadkiv i vivodit Prolog z oblasti logiki pershogo poryadku yaka ne dozvolyaye kvantifikaciyi predikativ 19 Prolog ISO vzhe maye deyaki vbudovani predikati vishih poryadkiv taki yak call 1 call 2 call 3 findall 3 setof 3 ta bagof 3 20 Krim togo oskilki dovilni cili Prologu mozhut stvoryuvatis ta ocinyuvatis u realnomu chasi neskladno pisati predikati vishih poryadkiv na kshtalt maplist 2 sho zastosovuye dovilnij predikat do kozhnogo elementa nadanogo spisku ta sublist 3 sho vidfiltrovuye elementi yaki zadovolnyayut nadanomu predikatovi umozhlivlyuyuchi takozh i karruvannya 18 Dlya peretvorennya rishen z chasovogo predstavlennya pidstanovki vidpovidej pri zvorotnomu poshuku do prostorovogo predstavlennya termiv Prolog maye riznomanitni predikati dlya vsih rishen sho zbirayut vsi pidstanovki vidpovidej dlya zadanogo zapitu do spisku Ce mozhe vikoristovuvatisya u spiskovih virazah Napriklad doskonali chisla dorivnyuyut sumi svoyih dilnikiv perfect N between 1 inf N U is N 2 findall D between 1 U D N mod D 0 Ds sumlist Ds N Ce mozhe buti vikoristano dlya perelichuvannya doskonalih chisel a takozh dlya perevirki chi ye chislo doskonalim Yak inshij priklad predikat maplist zastosovuye predikat P do vsih vidpovidnih polozhen u pari spiskiv maplist maplist P X Xs Y Ys call P X Y maplist P Xs Ys Koli P ye takim predikatom sho dlya kozhnogo X P X Y ob yednuye Y z yedinim unikalnim znachennyam maplist P Xs Ys ye ekvivalentom zastosuvannya funkciyi map u funkcijnomu programuvanni yak Ys map Function Xs Programuvannya vishih poryadkiv bulo zapochatkovano u Prolozi v HiLog en ta lProlog en Moduli RedaguvatiDlya velikogo programuvannya Prolog proponuye sistemu moduliv Cyu sistemu moduliv standartizovano ISO 21 Prote ne vsi kompilyatori Prologu pidtrimuyut moduli a takozh isnuyut problemi sumisnosti mizh sistemami moduliv osnovnih kompilyatoriv Prologu 22 Otzhe moduli napisani pid odnim kompilyatorom Prologu ne obov yazkovo pracyuvatimut pid inshimi Gramatichnij rozbir RedaguvatiDokladnishe Sintaksis ta semantika Prologu Gramatiki viznachenih tverdzhen ta Gramatika viznachenih tverdzhenIsnuye specialnij zapis sho nazivayetsya gramatikami viznachenih tverdzhen Pravilo viznachene cherez gt 2 zamist 2 rozkrivayetsya preprocesorom expand term 2 zasib analogichnij makrosam v inshih movah vidpovidno do kilkoh pryamih pravil perepisuvannya mayuchi rezultatom zvichajni tverdzhennya Prologu Najvazhlivishe sho perepisuvannya sporyadzhaye predikat dvoma dodatkovimi argumentami sho mozhut vikoristovuvatisya dlya neyavnogo prokruchuvannya stanu cherez nih analogichno do monad v inshih movah Gramatiki viznachenih tverdzhen chasto vikoristovuyutsya dlya napisannya sintaksichnih analizatoriv abo generatoriv spiskiv oskilki voni nadayut zruchnij interfejs do spiskiv vidminnostej Meta interpretatori ta refleksiya RedaguvatiProlog ye gomoikonnoyu movoyu i zabezpechuye bagato zasobiv dlya refleksiyi Yiyi neyavna strategiya vikonannya robit mozhlivim napisannya stislogo meta ciklichnogo interpretatora en sho takozh nazivayut meta interpretatorom kodu chistoyi Prolog solve true solve Subgoal1 Subgoal2 solve Subgoal1 solve Subgoal2 solve Head clause Head Body solve Body de true predstavlyaye porozhnyu kon yunkciyu a clause Head Body ob yednuyetsya z tverdzhennyami bazi danih viglyadu Head Body Oskilki prologovi programi sami ye poslidovnostyami termiv Prologu 2 ye infiksnim operatorom sho legko chitayutsya ta analizuyutsya z vikoristannyam vbudovanih mehanizmiv yak to read 1 mozhlivo pisati specialni interpretatori sho rozshiryuyut Prolog predmetno oriyentovanimi vlastivostyami Napriklad Sterling ta Shapiro predstavlyayut meta interpretator sho vikonuye mirkuvannya z netochnostyami vidtvorenij tut iz neznachnimi vidozminami 23 330 solve true 1 solve Subgoal1 Subgoal2 Certainty solve Subgoal1 Certainty1 solve Subgoal2 Certainty2 Certainty is min Certainty1 Certainty2 solve Goal 1 builtin Goal Goal solve Head Certainty clause cf Head Body Certainty1 solve Body Certainty2 Certainty is Certainty1 Certainty2 Cej interpretator vikoristovuye tablicyu vbudovanih predikativ Prolog u viglyadi 23 327 builtin A is B builtin read X etc ta tverdzhennya predstavleni yak clause cf Golova Tilo Vpevnenist Vrahovuyuchi ce jogo mozhna viklikati yak solve Cil Vpevnenist shobi vikonati Cil ta otrimati miru vpevnenosti v rezultati Povnota za Tyuringom RedaguvatiChista Prolog bazuyetsya na pidmnozhini predikatnoyi logiki pershogo poryadku diz yunktah Gorna sho ye povnoyu za Tyuringom Povnotu Prologu za Tyuringom mozhe buti pokazano shlyahom vikoristannya yiyi dlya imitaciyi mashini Tyuringa turing Tape0 Tape perform q0 Ls Tape0 Rs reverse Ls Ls1 append Ls1 Rs Tape perform qf Ls Ls Rs Rs perform Q0 Ls0 Ls Rs0 Rs symbol Rs0 Sym RsRest once rule Q0 Sym Q1 NewSym Action action Action Ls0 Ls1 NewSym RsRest Rs1 perform Q1 Ls1 Ls Rs1 Rs symbol b symbol Sym Rs Sym Rs action left Ls0 Ls Rs0 Rs left Ls0 Ls Rs0 Rs action stay Ls Ls Rs Rs action right Ls0 Sym Ls0 Sym Rs Rs left Rs0 b Rs0 left L Ls Ls Rs L Rs Prostij priklad mashini Tyuringa viznachayetsya faktami rule q0 1 q0 1 right rule q0 b qf 1 stay Cya mashina vikonuye zbilshennya na odinicyu chisla v unarnomu koduvanni vona prohodit bud yake chislo komirok 1 ta dodaye dodatkovu 1 u kinci Priklad zapitu ta rezultatu turing 1 1 1 Ts Ts 1 1 1 1 Ce pokazuye yak bud yake obchislennya mozhe buti predstavleno deklarativno yak poslidovnist perehodiv staniv realizovanu v Prolozi yak vidnoshennya mizh poslidovnimi stanami sho nas cikavlyat Realizaciya RedaguvatiDetalnishi vidomosti z ciyeyi temi vi mozhete znajti v statti Porivnyannya realizacij Prologu en Prolog ISO Redaguvati Standart Prologu ISO skladayetsya z dvoh chastin ISO IEC 13211 1 20 24 opublikovana v 1995 roci namagayetsya standartizuvati nayavni zastosuvannya bagatoh realizacij klyuchovih elementiv Prologu Vona proyasnila aspekti ciyeyi movi sho ranishe buli neodnoznachnimi i vede do perenosnosti program Ye dvi errati Cor 1 2007 25 ta Cor 2 2012 26 ISO IEC 13211 2 20 opublikovana v 2000 roci dodaye do standartu pidtrimku moduliv Standart pidtrimuyetsya robochoyu grupoyu ISO IEC JTC1 en SC22 en WG17 27 Tehnichnoyu doradchoyu grupoyu SShA dlya cogo standartu ye ANSI X3J17 28 Kompilyaciya Redaguvati Dlya bilshoyi efektivnosti kod Prologu zazvichaj kompilyuyetsya v kod abstraktnoyi mashini sho chasto znahoditsya pid vplivom naboru instrukcij bazovanoyi na registrah abstraktnoyi mashini Vorrena en 29 Deyaki realizaciyi vzhivayut abstraktnu interpretaciyu en dlya vstanovlennya informaciyi pro tip ta napryamok predikativ pid chas kompilyaciyi abo dlya vishoyi produktivnosti kompilyuyut u kod realnoyi mashini 30 U spilnoti logichnogo programuvannya pridumuvannya efektivnih metodiv realizaciyi kodu Prologu ye polem aktivnih doslidzhen i v deyakih realizaciyah zastosovuyetsya bagato inshih metodiv vikonannya Voni vklyuchayut peretvorennya tverdzhen u dvijkovu formu ta virtualni mashini bazovani na steku en dzherelo Hvostova rekursiya Redaguvati Dlya determinovanih predikativ sho demonstruyut hvostovu rekursiyu abo zagalnishe hvostovi vikliki prologovi sistemi zazvichaj realizuyut dobre vidomij metod optimizaciyi sho zvetsya optimizaciyeyu hvostovogo vikliku angl Tail Call Optimization TCO Pered vikonannyam vikliku v hvostovij poziciyi kadr steku tverdzhennya skasovuyetsya Otzhe determinovani predikati z hvostovoyu rekursiyeyu vikonuyutsya z nezminnim prostorom steku yak cikli v inshih movah Indeksuvannya termiv Redaguvati Detalnishi vidomosti z ciyeyi temi vi mozhete znajti v statti Indeksuvannya termiv en Poshuk tverdzhen sho ye ob yednuvanimi iz termom u zapiti ye linijnim vidnosno kilkosti tverdzhen Indeksuvannya termiv en vikoristovuye strukturu danih sho umozhlivlyuye sub linijnij poshuk 31 Indeksuvannya vplivaye lishe na produktivnist programi semantiki vono ne zachipaye Bilshist Prologiv vikoristovuye indeksuvannya lishe za pershim termom oskilki indeksuvannya za vsima termami ye vitratnim ale prijomi na bazi kodovanih polyami sliv abo nadnakladenih en kodovih sliv zabezpechuyut shvidke indeksuvannya po vsomu zapitovi ta golovi 32 33 Tabulyuvannya Redaguvati Deyaki prologovi sistemi BProlog en XSB Yap B Prolog ta Ciao realizuyut metod memoizaciyi sho zvetsya tabulyuvannya sho zvilnyaye koristuvacha vid neobhidnosti zberigati promizhni rezultati vruchnu 34 35 nbsp Pidcili sho zustrichayutsya pid chas vikonannya zapitu zberigayutsya v tablici razom iz vidpovidyami na ci pidcili Yaksho pidcil zustrichayetsya znovu to vikonannya vikoristovuye informaciyu z tablici zamist povtornogo vikonannya mirkuvannya nad rechennyami programi 36 Originalnij tekst angl Subgoals encountered in a query evaluation are maintained in a table along with answers to these subgoals If a subgoal is re encountered the evaluation reuses information from the table rather than re performing resolution against program clauses nbsp Tabulyuvannya ye prostorovo chasovim kompromisom trivalist vikonannya mozhe buti zmensheno za rahunok vikoristannya bilshoyi kilkosti pam yati dlya zberigannya promizhnih rezultativ Aparatna realizaciya Redaguvati Pid chas rozrobki proektu komp yuternih sistem p yatoyi generaciyi buli sprobi realizuvati Prolog v aparatnomu viglyadi z metoyu otrimannya shvidshogo vikonannya specialnimi arhitekturami 37 38 39 Do togo zh Prolog maye ryad vlastivostej sho mozhut dozvoliti priskorennya shlyahom paralelnogo vikonannya 40 Novishimi pidhodami bulo kompilyuvati obmezheni prologovi programi u programovani koristuvachem ventilni matrici 41 Odnak shvidkij rozvitok aparatnogo zabezpechennya zagalnogo priznachennya poslidovno viperediv specializovanishi arhitekturi Nedoliki RedaguvatiHocha Prolog shiroko zastosovuyetsya v doslidnickij roboti ta osviti vona ta inshi logichni movi programuvannya ne spravili istotnogo vplivu na komp yuternu promislovist u cilomu 42 Bilshist zastosunkiv ye malimi za promislovimi standartami lishe deyaki z nih mayut ponad 100 000 ryadkiv kodu 42 43 Velike programuvannya vvazhayetsya skladnim oskilki ne vsi kompilyatori Prologu pidtrimuyut moduli a takozh isnuyut problemi sumisnosti mizh sistemami moduliv osnovnih prologovih kompilyatoriv 22 Perenosnist kodu Prologu mizh realizaciyami takozh bula problemoyu ale rozrobka pislya 2007 roku oznachala perenosnist vseredini simejstva realizacij Prologu sho pohodyat vid Edinburzkoyi Prolog abo Quintus ye dostatno garnoyu dlya pidtrimki realnih perenosnih program 44 Programne zabezpechennya rozroblene na Prolozi kritikuvalosya za visoki vtrati produktivnosti u porivnyanni zi zvichajnimi movami programuvannya Zokrema prologova nedeterministska strategiya vikonannya mozhe buti problematichnoyu pri programuvanni deterministskih obchislen abo navit pri vikoristanni nezvazhannya na nedeterminizm koli robitsya yedinij vibir zamist zvorotnogo poshuku vsima mozhlivimi Dlya dosyagnennya bazhanoyi produktivnosti mozhe dovoditisya zastosovuvati vidsikannya ta inshi movni konstrukciyi rujnuyuchi odnu z golovnih prinad Prologu zdatnist vikonuvati programi nazad i vpered 45 Prolog ne ye chisto deklarativnoyu oskilki vona maye konstrukciyi na kshtalt operatora vidsikannya dlya yiyi rozuminnya potribne takozh i procedurne prochitannya napisanih neyu program 46 Poryadok tverdzhen u prologovij programi ye suttyevim oskilki strategiya vikonannya ciyeyi movi zalezhit vid nogo 47 Inshi logichni movi programuvannya taki yak Datalog ye chisto deklarativnimi ale ce obmezhuye movu V rezultati bagato praktichnih prologovih program napisano tak shobi voni vidpovidali prologovomu poshuku v glibinu a ne yak chisto deklarativni logichni programi 45 Rozshirennya RedaguvatiZ Prologu bulo rozvinuto riznomanitni realizaciyi dlya rozshirennya mozhlivostej logichnogo programuvannya u chislennih napryamkah Voni vklyuchayut tipi rezhimi logichne programuvannya z obmezhennyami en angl CLP ob yektno oriyentovane logichne programuvannya angl OOLP paralelizm linijnu logiku en mozhlivosti funkcijnogo programuvannya ta programuvannya logiki vishih poryadkiv en plyus funkcionalnu sumisnist z bazami znan Tipi Redaguvati Prolog ye netipizovanoyu movoyu Sprobi zaprovaditi tipi shodyat do 1980 h rokiv 48 49 i stanom na 2008 rik vse she isnuyut sprobi rozshiriti Prolog tipami 50 Cya informaciya korisna ne lishe dlya bezpechnoyi tipizaciyi en a j dlya rozuminnya prologovih program 51 Rezhimi Redaguvati Oznaka rezhimu Interpretaciya nonvar na vhodi var na vhodi Ne viznachenoSintaksis Prologu ne viznachaye yaki z argumentiv predikatu ye vhidnimi a yaki vihidnimi 52 Prote cya informaciya ye istotnoyu i rekomenduyetsya vklyuchati yiyi do komentariv 53 Rezhimi nadayut cinnu informaciyu dlya rozuminnya prologovih program 51 a takozh mozhut vikoristovuvatisya dlya priskorennya vikonannya 54 Obmezhennya Redaguvati Logichne programuvannya z obmezhennyami en rozshiryuye Prolog vklyuchennyam koncepcij iz zadovolennya obmezhen en 55 56 Programa z logikoyu obmezhen dozvolyaye obmezhennya v tilah tverdzhen yak napriklad A X Y X Y gt 0 Ce pidhodit dlya velikomasshtabnih zadach kombinatornoyi optimizaciyi 57 j otzhe dlya zastosuvan u promislovih umovah takih yak avtomatizovane skladannya rozkladiv ta planuvannya virobnictva en Bilshist prologovih sistem postachayutsya iz shonajmenshe odnim rozv yazuvachem obmezhen dlya zlichennih oblastej viznachennya a chasto takozh i z rozv yazuvachami dlya inshih oblastej viznachennya takih yak dijsni chisla Ob yektna oriyentaciya Redaguvati Flora 2 en ye ob yektno oriyentovanim predstavlennyam znan ta sistemoyu mirkuvan na bazi F logic en i vklyuchaye HiLog en tranzakcijnu logiku en ta mirkuvannya metodom viklyuchennya en Logtalk en ce ob yektno oriyentovana mova logichnogo programuvannya sho mozhe zastosovuvati bilshist realizacij Prologu yak vnutrishnij kompilyator Yak multiparadigmova mova vona vklyuchaye pidtrimku yak prototipiv tak i klasiv Oblog ce nevelike perenosne ob yektno oriyentovane rozshirennya Prologu vid Margariti Makdugall angl Margaret McDougall z EdCAAD Edinburzkogo universitetu Objlog en bula frejmovoyu movoyu sho poyednuvala ob yekti ta Prolog II vid NCND Franciyi u Marseli Prolog en bulo rozrobleno kompaniyeyu Logic Programming Associates en i vpershe vipusheno u 1989 roci dlya PK MS DOS Bulo dodano pidtrimku dlya inshih platform i 1995 roku vipusheno drugu versiyu U 1994 roci vidavnictvom Addison Wesley bulo opublikovano knigu Krisa Mossa angl Chris Moss pro Prolog Grafika Redaguvati Prologovimi sistemami sho proponuyut grafichnu biblioteku ye SWI prolog 58 Visual prolog LPA Prolog dlya Windows ta B Prolog Paralelizm Redaguvati Prolog MPI ye rozshirennyam SWI Prolog z vidkritim kodom dlya rozpodilenih obchislen cherez interfejs peredachi povidomlen angl MPI 59 Takozh isnuye dekilka konkurentnih mov programuvannya Prolog 60 Vebprogramuvannya Redaguvati Deyaki realizaciyi Prologu osoblivo SWI Prolog ta Ciao pidtrimuyut vebprogramuvannya na servernomu boci en z pidtrimkoyu vebprotokoliv HTML ta XML 61 Isnuyut takozh rozshirennya dlya pidtrimki formativ semantichnoyi pavutini takih yak RDF ta OWL 62 63 Prolog takozh proponuvalasya yak mova kliyentskogo boku en 64 Adobe Flash Redaguvati Cedar ye bezkoshtovnim ta elementarnim interpretatorom Prologu Vid versiyi 4 ta vishe Cedar maye pidtrimku FCA Flash Cedar App Ce zabezpechuye novu platformu dlya programuvannya Prologom cherez ActionScript Inshi Redaguvati F logic en rozshiryuye Prolog frejmami ob yektami dlya predstavlennya znan Tranzakcijna logika en rozshiryuye Prolog teoriyeyu logiki operatoriv onovlennya sho zminyuyut stan Vona maye yak teoretiko modelnu tak i procedurnu semantiku OW Prolog bulo stvoreno shobi dati vidpovid na brak grafiki ta interfejsu v Prolozi Interfejsi do inshih mov RedaguvatiIsnuyut karkasi dlya spoluchennya mizh Prologom ta inshimi movami LPA Intelligence Server dozvolyaye vklyuchennya LPA Prolog do C C C Java VB Delphi NET Lua Python ta inshih mov Vin vikoristovuye specialnij strichkovij tip danih sho nadaye LPA Prolog Logic Server API dozvolyaye yak rozshirennya Prologom tak i jogo vklyuchennya do C C Java VB Delphi NET ta bud yakih inshih mov seredovish sho mozhut viklikati dll abo so Jogo realizovano dlya Amzi Prolog Logic Server ale specifikaciyu API mozhe buti zrobleno dostupnoyu dlya bud yakoyi realizaciyi JPL ce dvospryamovanij mist mizh Java ta Prologom sho postachayetsya z SWI Prolog za zamovchuvannyam i sho dozvolyaye Java ta Prologovi viklikati odne odnogo rekursivno Vin vidomij garnoyu pidtrimkoyu paralelnosti ta znahoditsya v aktivnij rozrobci InterProlog programna biblioteka mostu mizh Java ta Prologom sho realizuye dvospryamovani vikliki predikativ metodiv mizh oboma movami Ob yekti Java mozhut vidobrazhatisya u termi Prologu i navpaki Dozvolyaye rozrobku grafichnogo interfejsu koristuvacha ta inshoyi funkcionalnosti v Java zalishayuchi obrobku logiki v shari Prologu Pidtrimuye XSB iz zaplanovanoyu na 2013 rik pidtrimkoyu SWI Prolog ta YAP Prova en nadaye integraciyu ridnogo sintaksisu z Java obmin povidomlennyami mizh programnimi agentami ta pravila reakciyi Prova pozicionuye sebe yak skriptovu sistemu na bazi pravil angl rule based scripting RBS dlya pidprogramnogo zabezpechennya Cya mova vidkrivaye novi obriyi u poyednanni imperativnogo ta deklarativnogo programuvannya PROL ce vbudovuvanij rushij Prologu dlya Java Vin vklyuchaye nevelike integrovane seredovishe rozrobki ta dekilka bibliotek GNU Prolog dlya Java ye realizaciyeyu Prologu ISO yak biblioteki Java gnu prolog Ciao en nadaye interfejsi do C C Java ta relyacijnih baz danih C Prolog ye interpretatorom Prologu napisanim kerovanoyu C Mozhe legko integruvatisya do program movoyu C Harakteristiki nadijnij ta dosit shvidkij interpretator interfejs komandnogo ryadka interfejs Windows vbudovana gramatika viznachenih tverdzhen XML predikati SQL predikati rozshiryuvanij Dostupnij povnij dzherelnij kod vklyuchno z generatorom sintaksichnogo analizatora sho mozhe buti vikoristano dlya dodavannya rozshiren osoblivogo priznachennya Jekejeke Prolog API nedostupne posilannya z kvitnya 2019 nadaye silnozv yazani mozhlivosti paralelnih vhidnih ta vihidnih viklikiv mizh Prologom ta Java abo Android z viznachnoyu mozhlivistyu stvorennya individualnih ob yektiv baz znan Vin mozhe zastosovuvatisya dlya vbudovuvannya Prologu ISO do samostijnih zastosunkiv apletiv servletiv APK tosho Abstraktna mashina Vorrena dlya PHP kompilyator ta interpretator Prologu v PHP 5 3 Biblioteka sho mozhe vikoristovuvatisya samostijno abo z karkasom Symfony2 1 Istoriya RedaguvatiNazvu Prolog fr Prolog bulo obrano Filipom Russelem fr yak abreviaturu vid programuvannya v logici fr programmation en logique Prolog bulo stvoreno v 1972 roci Alanom Kolmeroe en z Filipom Russelem na osnovi procedurnoyi interpretaciyi diz yunktiv Gorna Roberta Kovalskogo Ce bulo chastkovo motivovane bazhannyam primiriti vikoristannya logiki yak movi deklarativnogo predstavlennya znan z procedurnim predstavlennyam znan sho bulo populyarne v Pivnichnij Americi naprikinci 1960 h i na pochatku 1970 h rokiv Zgidno Roberta Kovalskogo pershu prologovu sistemu bulo rozrobleno v 1972 roci Alanom Kolmeroe ta Filipom Russelem 5 Pershi realizaciyi Prologu buli interpretatorami Odnak Devid Vorren en stvoriv abstraktnu mashinu Vorrena en rannij ta vplivovij kompilyator Prologu sho prijshov shobi viznachiti Edinburzkij dialekt Prologu sho posluzhiv osnovoyu sintaksisu bilshosti suchasnih realizacij Yevropejski doslidniki shtuchnogo intelektu viddavali perevagu Prologu todi yak amerikanci viddavali perevagu Lispu sho yak povidomlyalosya prizvodilo do chislennih nacionalistichnih debativ pro perevagi cih mov 65 Bilshist suchasnih rozrobok Prologu pishli vid poshtovhu proektu komp yuternih sistem p yatoyi generaciyi v ramkah yakogo bulo rozrobleno variant Prologu pid nazvoyu Kernel Language en dlya jogo pershoyi operacijnoyi sistemi Chistu Prolog bulo spochatku obmezheno vikoristannyam sistemi dovedennya teorem z diz yunktami Gorna formi G T1 Tn Zastosunok sistemi dovedennya teorem obroblyaye taki tverdzhennya yak proceduri shobi pokazati rozv yazati G pokazhi rozv yazhi T1 ta ta Tn Odnak chistu Prolog nezabarom bulo rozshireno vklyuchennyam zaperechennya yak vidmovi v yakomu zaperechni umovi formi not Ti pokazuyutsya shlyahom sprobi i nevdachi dovedennya vidpovidnih pozitivnih umov Ti Podalshi rozshirennya Prologu originalnoyu komandoyu vveli do realizacij mozhlivosti logichnogo programuvannya z obmezhennyami en Vikoristannya u promislovosti RedaguvatiProlog vikoristovuvalasya v komp yuternij sistemi Watson Watson vikoristovuye programne zabezpechennya DeepQA kompaniyi IBM ta programnij karkas Apache UIMA en angl Unstructured Information Management Architecture Arhitektura Keruvannya Nestrukturovanoyu Informaciyeyu Cyu sistemu bulo napisano bagatma movami vklyuchno z Java C ta Prolog vona pracyuye na operacijnij sistemi SUSE Linux Enterprise Server en 11 z vikoristannyam programnogo karkasa Apache Hadoop dlya zabezpechennya rozpodilenih obchislen Prolog vikoristovuyetsya dlya zistavlennya zi zrazkami nad sintaksichnimi derevami prirodnoyi movi Rozrobniki ciyeyi sistemi zayavili nbsp Mi potrebuvali movi yakoyu mi mogli bi zruchno virazhati pravila zistavlennya zi zrazkami nad sintaksichnimi derevami ta inshimi tlumachennyami takimi yak rezultati rozpiznavannya imenovanih sutnostej i tehnologiyi zdatnoyi vikonuvati ci pravila duzhe efektivno Mi viyavili sho Prolog bula idealnim viborom takoyi movi cherez svoyu prostotu ta viraznist 11 Originalnij tekst angl We required a language in which we could conveniently express pattern matching rules over the parse trees and other annotations such as named entity recognition results and a technology that could execute these rules very efficiently We found that Prolog was the ideal choice for the language due to its simplicity and expressiveness nbsp Div takozh RedaguvatiPorivnyannya realizacij Prologu en Logiko lingvistichne modelyuvannya en Metod pobudovi sistem na osnovi znan sho vikoristovuye Prolog Programuvannya naborami vidpovidej Povnistyu deklarativnij pidhid do logichnogo programuvannya Asociaciya logichnogo programuvannya en Sporidneni movi Redaguvati Mova Godel en ye suvoro tipizovanoyu realizaciyeyu paralelnogo programuvannya logiki z obmezhennyami en Yiyi pobudovano na bazi SICStus Prolog Visual Prolog en ranishe vidoma yak PDC Prolog ta Turbo Prolog ye suvoro tipizovanim ob yektno oriyentovanim dialektom Prologu sho duzhe silno vidriznyayetsya vid standartnoyi Prolog Yak Turbo Prolog vona prosuvalasya kompaniyeyu Borland ale teper vona rozroblyayetsya ta prosuvayetsya danskoyu firmoyu PDC Prolog Development Center yaka yiyi spochatku i stvorila Datalog ye pidmnozhinoyu Prologu Vona obmezhena vidnoshennyami sho mozhut stratifikovuvatisya i ne dozvolyaye skladenih termiv Na vidminu vid Prologu Dalalog ne ye povnoyu za Tyuringom Mercury en ye vidgaluzhennyam vid Prologu spryamovanim na veliku rozrobku programnogo zabezpechennya i maye statichnu polimorfnu sistemu tipizaciyi a takozh sistemu rezhimiv ta determinizmu CSC en GraphTalk en ye vlasnoyu realizaciyeyu abstraktnoyi mashini Vorrena z dodatkovimi ob yektno oriyentovanimi vlastivostyami U pevnomu sensi yakomu Prolog ye pidmnozhinoyu movi Planner Piznishe ideyi movi Planner bulo rozvinuto u metaforu naukovoyi spilnoti en AgentSpeak ye variantom Prologu dlya programuvannya povedinki agentiv u bagatoagentnih sistemah Erlang pochala zhittya z realizaciyi na bazi Prologu i zberigaye bilshist sintaksisu Prologu na bazi ob yednan Primitki Redaguvati Clocksin William F Mellish Christopher S 2003 Programming in Prolog Berlin New York Springer Verlag ISBN 978 3 540 00678 7 angl Bratko Ivan 2001 Prolog programming for artificial intelligence Harlow England New York Addison Wesley ISBN 0 201 40375 7 angl Covington Michael A 1994 Natural language processing for Prolog programmers Englewood Cliffs N J Prentice Hall ISBN 978 0 13 629213 5 angl a b Lloyd J W 1984 Foundations of logic programming Berlin Springer Verlag ISBN 3 540 13299 6 angl a b Kowalski R A 1988 The early years of logic programming Communications of the ACM 31 38 doi 10 1145 35043 35046 angl Colmerauer A Roussel P 1993 The birth of Prolog ACM SIGPLAN Notices 28 3 37 doi 10 1145 155360 155362 angl Div Logichne programuvannya Istoriya Stickel M E 1988 A prolog technology theorem prover Implementation by an extended prolog compiler Journal of Automated Reasoning 4 4 353 380 doi 10 1007 BF00297245 angl Merritt Dennis 1989 Building expert systems in Prolog Berlin Springer Verlag ISBN 0 387 97016 9 angl Fernando C N Pereira Stuart M Shieber 2005 Prolog and Natural Language Analysis Microtome angl a b Adam Lally Paul Fodor 31 bereznya 2011 Natural Language Processing With Prolog in the IBM Watson System Association for Logic Programming angl Div takozh IBM Watson Covington Michael A Bagnara Roberto O Keefe Richard A Wielemaker Jan Price Simon 2011 Coding guidelines for Prolog Theory and Practice of Logic Programming 12 6 889 927 arXiv 0911 2899 doi 10 1017 S1471068411000391 angl Kirschenbaum M Sterling L S 1993 Applying Techniques to Skeletons Constructing Logic Programs ed J M J Jacquet 27 140 angl Sterling Leon 2002 Patterns for Prolog Programming Computational Logic Logic Programming and Beyond Lecture Notes in Computer Science Lecture Notes in Artificial Intelligence 2407 s 17 26 ISBN 978 3 540 43959 2 doi 10 1007 3 540 45628 7 15 angl D Barker Plummer Cliche programming in Prolog In M Bruynooghe editor Proc Second Workshop on Meta Programming in Logic pages 247 256 Dept of Comp Sci Katholieke Univ Leuven 1990 angl Gegg harrison T S 1995 Representing Logic Program Schemata in Prolog Procs Twelfth International Conference on Logic Programming s 467 481 angl Deville Yves 1990 Logic programming systematic program development Wokingham England Addison Wesley ISBN 0 201 17576 2 angl a b Naish Lee 1996 Higher order logic programming in Prolog Department of Computer Science University of Melbourne Procitovano 2 listopada 2010 angl With regard to Prolog variables variables only in the head are implicitly universally quantified and those only in the body are implicitly existentially quantified Procitovano 04 travnya 2013 angl a b v ISO IEC 13211 Information technology Programming languages Prolog International Organization for Standardization Geneva angl ISO IEC 13211 2 Modules angl a b Paulo Moura Logtalk in Association of Logic Programming Newsletter Vol 17 n 3 August 2004 1 Arhivovano 2010 04 12 u Wayback Machine angl a b Shapiro Ehud Y Sterling Leon 1994 The art of Prolog advanced programming techniques Cambridge Mass MIT Press ISBN 0 262 19338 8 angl Ed Dbali A Deransart Pierre Cervoni L 1996 Prolog the standard reference manual Berlin Springer ISBN 3 540 59304 7 angl ISO IEC 13211 1 1995 Cor 1 2007 angl ISO IEC 13211 1 1995 Cor 2 2012 angl WG17 Working Group Arhivovano 24 zhovtnya 2009 u Wayback Machine angl X3J17 Committee Arhivovano 23 serpnya 2009 u Wayback Machine angl David H D Warren An abstract Prolog instruction set Technical Note 309 SRI International en Menlo Park CA October 1983 angl Van Roy P Despain A M 1992 High performance logic programming with the Aquarius Prolog compiler Computer 25 54 doi 10 1109 2 108055 angl Graf Peter 1995 Term indexing Springer ISBN 978 3 540 61040 3 angl Wise Michael J Powers David M W 1986 Indexing Prolog Clauses via Superimposed Code Words and Field Encoded Words International Symposium on Logic Programming s 203 210 angl Colomb Robert M 1991 Enhancing unification in PROLOG through clause indexing The Journal of Logic Programming 10 23 doi 10 1016 0743 1066 91 90004 9 angl Swift T 1999 Tabling for non monotonic programming Annals of Mathematics and Artificial Intelligence 25 3 4 201 200 doi 10 1023 A 1018990308362 angl Zhou Neng Fa Sato Taisuke 2003 Efficient Fixpoint Computation in Linear Tabling Proceedings of the 5th ACM SIGPLAN International Conference on Principles and Practice of Declarative Programming 275 283 angl Swift T Warren D S 2011 XSB Extending Prolog with Tabled Logic Programming Theory and Practice of Logic Programming 12 157 doi 10 1017 S1471068411000500 angl Abe S Bandoh T Yamaguchi S Kurosawa K Kiriyama K 1987 High performance integrated Prolog processor IPP Proceedings of the 14th annual international symposium on Computer architecture ISCA 87 s 100 ISBN 0818607769 doi 10 1145 30350 30362 angl Robinson Ian 1986 A Prolog processor based on a pattern matching memory device Third International Conference on Logic Programming Lecture Notes in Computer Science 225 Springer s 172 179 ISBN 978 3 540 16492 0 doi 10 1007 3 540 16492 8 73 angl Taki K Nakajima K Nakashima H Ikeda M 1987 Performance and architectural evaluation of the PSI machine ACM SIGPLAN Notices 22 10 128 doi 10 1145 36205 36195 angl Gupta G Pontelli E Ali K A M Carlsson M Hermenegildo M V 2001 Parallel execution of prolog programs a survey ACM Transactions on Programming Languages and Systems 23 4 472 doi 10 1145 504083 504085 angl http www cl cam ac uk am21 research sa byrdbox ps gz angl a b Logic programming for the real world Zoltan Somogyi Fergus Henderson Thomas Conway Richard O Keefe Proceedings of the ILPS 95 Postconference Workshop on Visions for the Future of Logic Programming angl The Prolog 1000 database http www faqs org faqs prolog resource guide part1 section 9 html angl Jan Wielemaker and Vitor Santos Costa Portability of Prolog programs theory and case studies CICLOPS WLPE Workshop 2010 Arhivovano 2010 07 16 u Wayback Machine angl a b Kiselyov Oleg Kameyama Yukiyoshi 2014 Re thinking Prolog Proc 31st meeting of the Japan Society for Software Science and Technology angl Torkel Franzen 1994 Declarative vs procedural Association of Logic Programming Newsletter Vol 7 3 angl Dantsin Evgeny Eiter Thomas Gottlob Georg Voronkov Andrei 2001 Complexity and Expressive Power of Logic Programming ACM Computing Surveys 33 3 374 425 doi 10 1145 502807 502810 angl Mycroft A O Keefe R A 1984 A polymorphic type system for prolog Artificial Intelligence 23 3 295 doi 10 1016 0004 3702 84 90017 1 angl Pfenning Frank 1992 Types in logic programming Cambridge Mass MIT Press ISBN 0 262 16131 1 angl Schrijvers Tom Santos Costa Vitor Wielemaker Jan Demoen Bart 2008 Towards Typed Prolog U Maria Garcia de la Banda Enrico Pontelli Logic programming 24th international conference ICLP 2008 Udine Italy December 9 13 2008 proceedings Lecture Notes in Computer Science 5366 s 693 697 ISBN 9783540899822 doi 10 1007 978 3 540 89982 2 59 angl a b Apt K R Marchiori E 1994 Reasoning about Prolog programs From modes through types to assertions Formal Aspects of Computing 6 6 743 doi 10 1007 BF01213601 angl O Keefe Richard A 1990 The craft of Prolog Cambridge Mass MIT Press ISBN 0 262 15039 5 angl Michael Covington Roberto Bagnara Richard O Keefe Jan Wielemaker Simon Price 2010 Coding guidelines for Prolog arXiv 0911 2899 cs PL angl Roy P Demoen B Willems Y D 1987 Improving the execution speed of compiled Prolog with modes clause selection and determinism Tapsoft 87 Lecture Notes in Computer Science 250 s 111 ISBN 3 540 17611 X doi 10 1007 BFb0014976 angl Jaffar J 1994 Constraint logic programming a survey The Journal of Logic Programming 19 20 503 581 doi 10 1016 0743 1066 94 90033 7 angl Colmerauer Alain 1987 Opening the Prolog III Universe Byte August angl Wallace M 2002 Constraint Logic Programming Computational Logic Logic Programming and Beyond Lecture Notes in Computer Science 2407 s 512 556 ISBN 3540456287 doi 10 1007 3 540 45628 7 19 angl XPCE graphics library Arhiv originalu za 25 chervnya 2013 Procitovano 10 grudnya 2012 angl prolog mpi Apps lumii lv Arhiv originalu za 25 chervnya 2013 Procitovano 16 veresnya 2010 angl Ehud Shapiro The family of concurrent logic programming languages ACM Computing Surveys en September 1989 angl Wielemaker J Huang Z Van Der Meij L 2008 SWI Prolog and the web Theory and Practice of Logic Programming 8 03 doi 10 1017 S1471068407003237 angl Jan Wielemaker and Michiel Hildebrand and Jacco van Ossenbruggen 2007 Using Prolog as the fundament for applications on the semantic web U S Heymans A Polleres E Ruckhaus D Pearse and G Gupta Proceedings of the 2nd Workshop on Applications of Logic Programming and to the web Semantic Web and Semantic Web Services CEUR Workshop Proceedings Porto Portugal CEUR WS org 287 84 98 angl Processing OWL2 Ontologies using Thea An Application of Logic Programming Vangelis Vassiliadis Jan Wielemaker and Chris Mungall Proceedings of the 5th International Workshop on OWL Experiences and Directions OWLED 2009 Chantilly VA United States October 23 24 2009 angl Loke S W Davison A 2001 Secure Prolog based mobile code Theory and Practice of Logic Programming 1 doi 10 1017 S1471068401001211 angl Pountain Dick Zhovten 1984 POP and SNAP BYTE s 381 Procitovano 23 zhovtnya 2013 angl Literatura RedaguvatiBlackburn Patrick Bos Johan Striegnitz Kristina 2006 Learn Prolog Now ISBN 1 904987 17 6 angl Bratko I en Algoritmy iskusstvennogo intellekta na yazyke PROLOG M SPb K Vilyams 2004 640 s ISBN 5 8459 0664 4 ros Clocksin W F Programming in Prolog Using the ISO Standard Mellish C S Vid 5 Springer 2003 299 s ISBN 978 3 540 00678 7 Ce vidannya onovleno dlya Prologu ISO Poperedni vidannya opisuvali Edinburzku Prolog angl Clocksin W F Clause and Effect Prolog Programming for the Working Programmer Springer 2003 152 s ISBN 978 3 540 62971 9 angl Covington M A Prolog Programming in Depth Nute D Vellino A 1996 516 s ISBN 0 13 138645 X angl Covington M A Natural Language Processing for Prolog Programmers 1994 348 s ISBN 978 0 13 629213 5 angl M S Dawe and C M Dawe Prolog for Computer Sciences Springer Verlag 1992 angl ISO IEC 13211 Information technology Programming languages Prolog Geneva International Organization for Standardization angl Feliks Kluzniak and Stanislaw Szpakowicz with a contribution by Janusz S Bien Prolog for Programmers Academic Press Inc London 1985 1987 dostupna pid licenziyeyu Creative Commons na https sites google com site prologforprogrammers ISBN 0 12 416521 4 angl O Keefe R en The Craft of Prolog 387 s ISBN 0 262 15039 5 angl Robert Smith John Gibson Sloman A en POPLOG s two level virtual machine support for interactive languages in Research Directions in Cognitive Science Volume 5 Artificial Intelligence Eds D Sleeman and N Bernsen Lawrence Erlbaum Associates pp 203 231 1992 angl Sterling L en Iskusstvo programmirovaniya na yazyke Prolog Shapiro E en M Mir 1990 333 s ISBN 5 03 000406 8 ros Warren D H D Prolog the language and its implementation compared with Lisp Pereira L M Pereira F ACM SIGART Bulletin archive Issue 64 Proceedings of the 1977 symposium on Artificial intelligence and programming languages s 109 115 angl Trushevskij V M Tehnologiyi ta movi programuvannya dlya shtuchnogo intelektu Chastina 1 Osnovi programuvannya movoyu Prolog Lviv 2006 120 s Posilannya RedaguvatiVikipidruchnik maye knigu na temu Prologcomp lang prolog FAQ angl Posibnik koristuvacha Prologu DECsystem 10 tekstovij format opisuye tipovu Edinburzku Prolog angl Prolog Tutorial vid J R Fisher angl Vikonuvani prikladi vid Lloyd Allison angl On line guide to Prolog Programming vid Roman Bartak angl Learn Prolog Now vid Patrick Blackburn Johan Bos ta Kristina Striegnitz angl fr Prolog and Logic Programming vid Dr Peter Hancox angl Adventure in Prolog navchalnij internet posibnik vid Dennis Merritt angl Building Expert Systems in Prolog internet kniga vid Dennis Merritt angl Literate programming in Prolog angl Amzi Prolog Logic Server vid Dennis Merritt angl Prolog Tutorial I nedostupne posilannya z kvitnya 2019 vid Klajva Spensera LPA angl Prolog Tutorial II nedostupne posilannya z kvitnya 2019 vid Klajva Spensera LPA angl JIProlog vid Ugo Kiriko angl Progopedia Prolog ros Otrimano z https uk wikipedia org w index php title Prolog amp oldid 39541888