{"id":"https://openalex.org/W1982243747","doi":"https://doi.org/10.1016/s0743-1066(96)00068-4","title":"The execution algorithm of mercury, an efficient purely declarative logic programming language","display_name":"The execution algorithm of mercury, an efficient purely declarative logic programming language","publication_year":1996,"publication_date":"1996-10-01","ids":{"openalex":"https://openalex.org/W1982243747","doi":"https://doi.org/10.1016/s0743-1066(96)00068-4","mag":"1982243747"},"language":"en","primary_location":{"id":"doi:10.1016/s0743-1066(96)00068-4","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s0743-1066(96)00068-4","pdf_url":"https://www.sciencedirect.com/science/article/pii/S0743106696000684/pdf","source":{"id":"https://openalex.org/S86488779","display_name":"The Journal of Logic Programming","issn_l":"0743-1066","issn":["0743-1066","1873-5789"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Journal of Logic Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://www.sciencedirect.com/science/article/pii/S0743106696000684/pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5082632656","display_name":"Zolt\u00e1n Somogyi","orcid":"https://orcid.org/0000-0002-3721-6513"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"The University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":true,"raw_author_name":"Zoltan Somogyi","raw_affiliation_strings":["Department of Computer Science, University of Melbourne, Parkville, 3052 Vict., Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Melbourne, Parkville, 3052 Vict., Australia","institution_ids":["https://openalex.org/I165779595"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027496024","display_name":"Fergus Henderson","orcid":null},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"The University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Fergus Henderson","raw_affiliation_strings":["Department of Computer Science , University of Melbourne , Paxkville , 3052 Vict. , Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science , University of Melbourne , Paxkville , 3052 Vict. , Australia","institution_ids":["https://openalex.org/I165779595"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5046030886","display_name":"Thomas Conway","orcid":"https://orcid.org/0000-0003-3966-5109"},"institutions":[{"id":"https://openalex.org/I165779595","display_name":"The University of Melbourne","ror":"https://ror.org/01ej9dk98","country_code":"AU","type":"education","lineage":["https://openalex.org/I165779595"]}],"countries":["AU"],"is_corresponding":false,"raw_author_name":"Thomas Conway","raw_affiliation_strings":["Department of Computer Science , University of Melbourne , Paxkville , 3052 Vict. , Australia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science , University of Melbourne , Paxkville , 3052 Vict. , Australia","institution_ids":["https://openalex.org/I165779595"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5082632656"],"corresponding_institution_ids":["https://openalex.org/I165779595"],"apc_list":null,"apc_paid":null,"fwci":20.7393,"has_fulltext":true,"cited_by_count":334,"citation_normalized_percentile":{"value":0.99494341,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"29","issue":"1-3","first_page":"17","last_page":"64"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9988999962806702,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8336336612701416},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7726916074752808},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6187496185302734},{"id":"https://openalex.org/keywords/declarative-programming","display_name":"Declarative programming","score":0.5902661085128784},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.5371469259262085},{"id":"https://openalex.org/keywords/mercury","display_name":"Mercury (programming language)","score":0.5069342255592346},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.47610363364219666},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.44987383484840393},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.3810562491416931},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.335265189409256},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.26785191893577576}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8336336612701416},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7726916074752808},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6187496185302734},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.5902661085128784},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.5371469259262085},{"id":"https://openalex.org/C2777777548","wikidata":"https://www.wikidata.org/wiki/Q206040","display_name":"Mercury (programming language)","level":2,"score":0.5069342255592346},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.47610363364219666},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.44987383484840393},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.3810562491416931},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.335265189409256},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.26785191893577576}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1016/s0743-1066(96)00068-4","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s0743-1066(96)00068-4","pdf_url":"https://www.sciencedirect.com/science/article/pii/S0743106696000684/pdf","source":{"id":"https://openalex.org/S86488779","display_name":"The Journal of Logic Programming","issn_l":"0743-1066","issn":["0743-1066","1873-5789"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Journal of Logic Programming","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.46.9861","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.9861","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.mu.oz.au/mercury/information/papers/jlp.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.47.3883","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.3883","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.mu.oz.au/publications/tr_db/./mu_95_14.ps.gz","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1016/s0743-1066(96)00068-4","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s0743-1066(96)00068-4","pdf_url":"https://www.sciencedirect.com/science/article/pii/S0743106696000684/pdf","source":{"id":"https://openalex.org/S86488779","display_name":"The Journal of Logic Programming","issn_l":"0743-1066","issn":["0743-1066","1873-5789"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310320990","host_organization_name":"Elsevier BV","host_organization_lineage":["https://openalex.org/P4310320990"],"host_organization_lineage_names":["Elsevier BV"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"The Journal of Logic Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1982243747.pdf","grobid_xml":"https://content.openalex.org/works/W1982243747.grobid-xml"},"referenced_works_count":43,"referenced_works":["https://openalex.org/W29395856","https://openalex.org/W55213254","https://openalex.org/W104274908","https://openalex.org/W163005890","https://openalex.org/W187509663","https://openalex.org/W197939411","https://openalex.org/W1489799245","https://openalex.org/W1492803714","https://openalex.org/W1504949952","https://openalex.org/W1530251652","https://openalex.org/W1544975770","https://openalex.org/W1559402073","https://openalex.org/W1576119130","https://openalex.org/W1579672261","https://openalex.org/W1593857133","https://openalex.org/W1599575838","https://openalex.org/W1638365353","https://openalex.org/W1750296818","https://openalex.org/W2005907808","https://openalex.org/W2010152469","https://openalex.org/W2027026606","https://openalex.org/W2032853531","https://openalex.org/W2038037493","https://openalex.org/W2058847156","https://openalex.org/W2912106379","https://openalex.org/W4285719527","https://openalex.org/W6601171915","https://openalex.org/W6602215537","https://openalex.org/W6604212933","https://openalex.org/W6606542687","https://openalex.org/W6607601785","https://openalex.org/W6608037528","https://openalex.org/W6631619146","https://openalex.org/W6632830771","https://openalex.org/W6634389287","https://openalex.org/W6635544150","https://openalex.org/W6636005729","https://openalex.org/W6636811614","https://openalex.org/W6637746236","https://openalex.org/W6652915425","https://openalex.org/W6658827544","https://openalex.org/W6739692178","https://openalex.org/W6758589049"],"related_works":["https://openalex.org/W1589124319","https://openalex.org/W2348463574","https://openalex.org/W2089642402","https://openalex.org/W3018143143","https://openalex.org/W2951004607","https://openalex.org/W1598781941","https://openalex.org/W4252624629","https://openalex.org/W2553706208","https://openalex.org/W2108000406","https://openalex.org/W151144758"],"abstract_inverted_index":{"We":[0,42],"introduce":[1],"Mercury,":[2],"a":[3,44],"new":[4,45],"purely":[5],"declarative":[6],"logic":[7,99],"programming":[8,100],"language":[9],"designed":[10],"to":[11,71],"provide":[12],"the":[13,55,80,90],"support":[14],"that":[15,51,79],"groups":[16],"of":[17,54,97],"application":[18],"programmers":[19],"need":[20],"when":[21],"building":[22],"large":[23],"programs.":[24],"Mercury's":[25],"strong":[26],"type,":[27],"mode,":[28],"and":[29,46],"determinism":[30],"systems":[31,58],"improve":[32],"program":[33],"reliability":[34],"by":[35,83,93],"catching":[36],"many":[37],"errors":[38],"at":[39],"compile":[40],"time.":[41],"present":[43],"relatively":[47],"simple":[48],"execution":[49,69],"model":[50,70],"takes":[52],"advantage":[53],"information":[56],"these":[57],"provide,":[59],"yielding":[60],"very":[61],"efficient":[62],"code.":[63,75],"The":[64],"Mercury":[65],"compiler":[66],"uses":[67],"this":[68],"generate":[72],"portable":[73],"C":[74],"Our":[76],"benchmarking":[77],"shows":[78],"code":[81,91],"generated":[82,92],"our":[84],"implementation":[85],"is":[86],"significantly":[87],"faster":[88],"than":[89],"mature":[94],"optimizing":[95],"implementations":[96],"other":[98],"languages.":[101]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":7},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":5},{"year":2021,"cited_by_count":6},{"year":2020,"cited_by_count":5},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":7},{"year":2013,"cited_by_count":8},{"year":2012,"cited_by_count":7}],"updated_date":"2026-07-31T08:31:51.225901","created_date":"2025-10-10T00:00:00"}
