{"id":"https://openalex.org/W1560217700","doi":"https://doi.org/10.1016/s1571-0661(04)80352-9","title":"Specification of Logic Programming Languages from Reusable Semantic Building Blocks","display_name":"Specification of Logic Programming Languages from Reusable Semantic Building Blocks","publication_year":2002,"publication_date":"2002-09-01","ids":{"openalex":"https://openalex.org/W1560217700","doi":"https://doi.org/10.1016/s1571-0661(04)80352-9","mag":"1560217700"},"language":"en","primary_location":{"id":"doi:10.1016/s1571-0661(04)80352-9","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s1571-0661(04)80352-9","pdf_url":null,"source":{"id":"https://openalex.org/S50368787","display_name":"Electronic Notes in Theoretical Computer Science","issn_l":"1571-0661","issn":["1571-0661"],"is_oa":true,"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-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Notes in Theoretical Computer Science","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://doi.org/10.1016/s1571-0661(04)80352-9","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5017967454","display_name":"Jos\u00e9 Emilio Labra Gayo","orcid":"https://orcid.org/0000-0001-8907-5348"},"institutions":[{"id":"https://openalex.org/I165339363","display_name":"Universidad de Oviedo","ror":"https://ror.org/006gksa02","country_code":"ES","type":"education","lineage":["https://openalex.org/I165339363"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"J.E. Labra Gayo","raw_affiliation_strings":["Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]},{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043602579","display_name":"Juan Manuel Cueva Lovelle","orcid":"https://orcid.org/0000-0002-7812-7242"},"institutions":[{"id":"https://openalex.org/I165339363","display_name":"Universidad de Oviedo","ror":"https://ror.org/006gksa02","country_code":"ES","type":"education","lineage":["https://openalex.org/I165339363"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"J.M. Cueva Lovelle","raw_affiliation_strings":["Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]},{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5076858002","display_name":"M.C. Luengo D\u00edez","orcid":null},"institutions":[{"id":"https://openalex.org/I165339363","display_name":"Universidad de Oviedo","ror":"https://ror.org/006gksa02","country_code":"ES","type":"education","lineage":["https://openalex.org/I165339363"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"M.C. Luengo D\u00edez","raw_affiliation_strings":["Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]},{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5007467537","display_name":"Agust\u00edn Cernuda del R\u00edo","orcid":"https://orcid.org/0000-0002-2925-9118"},"institutions":[{"id":"https://openalex.org/I165339363","display_name":"Universidad de Oviedo","ror":"https://ror.org/006gksa02","country_code":"ES","type":"education","lineage":["https://openalex.org/I165339363"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"A. Cernuda del R\u00edo","raw_affiliation_strings":["Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/ Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]},{"raw_affiliation_string":"Department of Computer Science, University of Oviedo, C/Calvo Sotelo S/N, CP 33007, Oviedo, Spain","institution_ids":["https://openalex.org/I165339363"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5007467537","https://openalex.org/A5017967454","https://openalex.org/A5043602579","https://openalex.org/A5076858002"],"corresponding_institution_ids":["https://openalex.org/I165339363"],"apc_list":null,"apc_paid":null,"fwci":0.8523,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.75812685,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":96},"biblio":{"volume":"64","issue":null,"first_page":"220","last_page":"233"},"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.9997000098228455,"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.9997000098228455,"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.998199999332428,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9961000084877014,"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/programming-language","display_name":"Programming language","score":0.7989948391914368},{"id":"https://openalex.org/keywords/functor","display_name":"Functor","score":0.6768798828125},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.659019947052002},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.6380993723869324},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6351322531700134},{"id":"https://openalex.org/keywords/abstract-syntax","display_name":"Abstract syntax","score":0.5698442459106445},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.5679113268852234},{"id":"https://openalex.org/keywords/functional-logic-programming","display_name":"Functional logic programming","score":0.5173758268356323},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.4490358829498291},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3493380546569824},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.3399566411972046},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.31962698698043823},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.29904621839523315},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.2638128995895386},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.23254308104515076},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.19138389825820923},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.1411629617214203},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.14002543687820435},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.13127753138542175}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7989948391914368},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.6768798828125},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.659019947052002},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.6380993723869324},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6351322531700134},{"id":"https://openalex.org/C114408938","wikidata":"https://www.wikidata.org/wiki/Q333373","display_name":"Abstract syntax","level":3,"score":0.5698442459106445},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.5679113268852234},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.5173758268356323},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.4490358829498291},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3493380546569824},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.3399566411972046},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.31962698698043823},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.29904621839523315},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.2638128995895386},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.23254308104515076},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.19138389825820923},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.1411629617214203},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.14002543687820435},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.13127753138542175}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1016/s1571-0661(04)80352-9","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s1571-0661(04)80352-9","pdf_url":null,"source":{"id":"https://openalex.org/S50368787","display_name":"Electronic Notes in Theoretical Computer Science","issn_l":"1571-0661","issn":["1571-0661"],"is_oa":true,"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-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Notes in Theoretical Computer Science","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.23.5910","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.5910","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.informatik.uni-kiel.de/~wflp2001/proceedings/papers/paper23.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.23.7140","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.7140","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.di.uniovi.es/~labra/FTP/Papers/wflp01.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1016/s1571-0661(04)80352-9","is_oa":true,"landing_page_url":"https://doi.org/10.1016/s1571-0661(04)80352-9","pdf_url":null,"source":{"id":"https://openalex.org/S50368787","display_name":"Electronic Notes in Theoretical Computer Science","issn_l":"1571-0661","issn":["1571-0661"],"is_oa":true,"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-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Electronic Notes in Theoretical Computer Science","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.41999998688697815,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W1500702040","https://openalex.org/W1512931629","https://openalex.org/W1532465792","https://openalex.org/W1536939176","https://openalex.org/W1546439617","https://openalex.org/W1575027156","https://openalex.org/W1823867532","https://openalex.org/W1965439412","https://openalex.org/W1970782371","https://openalex.org/W1985058553","https://openalex.org/W2131540458","https://openalex.org/W2141576692","https://openalex.org/W2157592151","https://openalex.org/W2175912519","https://openalex.org/W2295914203","https://openalex.org/W2489678876","https://openalex.org/W2912180130","https://openalex.org/W2970025949","https://openalex.org/W4252656082","https://openalex.org/W6723538849"],"related_works":["https://openalex.org/W4246531319","https://openalex.org/W1575027156","https://openalex.org/W1546439617","https://openalex.org/W1500702040","https://openalex.org/W238463869","https://openalex.org/W2911333723","https://openalex.org/W3102015773","https://openalex.org/W2162121188","https://openalex.org/W2541081061","https://openalex.org/W2013770038"],"abstract_inverted_index":{"We":[0],"present":[1],"a":[2,27,65,73,102,121,132],"Language":[3],"Prototyping":[4],"System":[5],"that":[6],"facilitates":[7],"the":[8,24,35,49,57,79,95,105],"modular":[9],"development":[10],"of":[11,26,37,59,76],"interpreters":[12,97],"from":[13,84],"independent":[14],"semantic":[15],"building":[16],"blocks.":[17],"The":[18],"abstract":[19,80],"syntax":[20,81],"is":[21,48,54,82],"modelled":[22],"as":[23,34,56,101],"fixpoint":[25],"pattern":[28],"functor":[29,41],"which":[30],"can":[31],"be":[32],"obtained":[33,55,100],"sum":[36],"functors.":[38],"For":[39],"each":[40,69],"we":[42,88,114],"define":[43],"an":[44,109,117],"algebra":[45],"whose":[46],"carrier":[47],"computational":[50],"structure.":[51],"This":[52],"structure":[53],"composition":[58],"several":[60],"monad":[61,70],"transformers":[62],"applied":[63],"to":[64,130],"base":[66],"monad,":[67],"where":[68],"transformer":[71],"adds":[72],"new":[74],"notion":[75],"computation.":[77],"When":[78],"composed":[83],"mutually":[85],"recursive":[86],"categories,":[87],"use":[89],"many-sorted":[90],"algebras.":[91,107],"With":[92],"this":[93,112],"approach,":[94],"prototype":[96],"are":[98],"automatically":[99],"catamorphism":[103],"over":[104],"defined":[106],"As":[108],"example,":[110],"in":[111],"paper,":[113],"independently":[115],"specify":[116],"arithmetic":[118,137],"evaluator":[119],"and":[120,126],"simple":[122],"logic":[123,133],"programming":[124,134],"language":[125,135],"combine":[127],"both":[128],"specifications":[129],"obtain":[131],"with":[136],"capabilities.":[138]},"counts_by_year":[{"year":2014,"cited_by_count":2}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
