{"id":"https://openalex.org/W7037618159","doi":null,"title":"Efficient Specialisation in Prolog Using a Hand-Written Compiler Generator","display_name":"Efficient Specialisation in Prolog Using a Hand-Written Compiler Generator","publication_year":1999,"publication_date":"1999-01-01","ids":{"openalex":"https://openalex.org/W7037618159"},"language":"en","primary_location":{"id":"pmh:oai:eprints.soton.ac.uk:252666","doi":null,"is_oa":false,"landing_page_url":"https://eprints.soton.ac.uk/252666/","pdf_url":null,"source":{"id":"https://openalex.org/S4306401019","display_name":"ePrints Soton (University of Southampton)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I43439940","host_organization_name":"University of Southampton","host_organization_lineage":["https://openalex.org/I43439940"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Monograph"},"volume":null,"type":"book","is_traditional":true,"indexed_in":[],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Michael Leuschel","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Michael Leuschel","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"middle","author":{"id":"https://openalex.org/A5112294253","display_name":"Jesper J\u00f8rgensen","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Jesper J\u00f8rgensen","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":null,"display_name":"Michael Leuschel","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Michael Leuschel","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.3438,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.8729817,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":true,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9940999746322632,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9940999746322632,"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"}},{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.0007999999797903001,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.000699999975040555,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/program-specialization","display_name":"program specialization","score":0.843999981880188},{"id":"https://openalex.org/keywords/partial-deduction","display_name":"partial deduction","score":0.8180000185966492},{"id":"https://openalex.org/keywords/partial-evaluation","display_name":"partial evaluation","score":0.8159999847412109},{"id":"https://openalex.org/keywords/logic-programming","display_name":"logic programming","score":0.8080000281333923},{"id":"https://openalex.org/keywords/prolog","display_name":"Prolog","score":0.9879999756813049},{"id":"https://openalex.org/keywords/compiler-generators","display_name":"compiler generators","score":0.7200000286102295},{"id":"https://openalex.org/keywords/self-application","display_name":"self-application","score":0.8399999737739563}],"concepts":[{"id":"https://openalex.org/C195701839","wikidata":"https://www.wikidata.org/wiki/Q4008398","display_name":"Partial evaluation","level":2,"score":0.8361999988555908},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7569000124931335},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7311000227928162},{"id":"https://openalex.org/C81721847","wikidata":"https://www.wikidata.org/wiki/Q163468","display_name":"Prolog","level":2,"score":0.725600004196167},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6292999982833862},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.5303000211715698},{"id":"https://openalex.org/C189790780","wikidata":"https://www.wikidata.org/wiki/Q933932","display_name":"Horn clause","level":3,"score":0.47040000557899475},{"id":"https://openalex.org/C2780992000","wikidata":"https://www.wikidata.org/wiki/Q17016113","display_name":"Generator (circuit theory)","level":3,"score":0.46880000829696655},{"id":"https://openalex.org/C2987117450","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic program","level":3,"score":0.43130001425743103},{"id":"https://openalex.org/C192209626","wikidata":"https://www.wikidata.org/wiki/Q190909","display_name":"Focus (optics)","level":2,"score":0.43059998750686646},{"id":"https://openalex.org/C182359184","wikidata":"https://www.wikidata.org/wiki/Q1756942","display_name":"Partial function","level":2,"score":0.38199999928474426},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.3467000126838684},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3325999975204468},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.29750001430511475},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.2802000045776367},{"id":"https://openalex.org/C148230440","wikidata":"https://www.wikidata.org/wiki/Q1172264","display_name":"Datalog","level":2,"score":0.27469998598098755},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.2727000117301941},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.27250000834465027},{"id":"https://openalex.org/C77781355","wikidata":"https://www.wikidata.org/wiki/Q223335","display_name":"Structured programming","level":2,"score":0.2574000060558319},{"id":"https://openalex.org/C195344581","wikidata":"https://www.wikidata.org/wiki/Q2555318","display_name":"Automated reasoning","level":2,"score":0.25589999556541443},{"id":"https://openalex.org/C2777394884","wikidata":"https://www.wikidata.org/wiki/Q762268","display_name":"Automatic programming","level":2,"score":0.2554999887943268},{"id":"https://openalex.org/C173404611","wikidata":"https://www.wikidata.org/wiki/Q528588","display_name":"Constraint programming","level":3,"score":0.25360000133514404},{"id":"https://openalex.org/C110686534","wikidata":"https://www.wikidata.org/wiki/Q451467","display_name":"Partial oxidation","level":3,"score":0.2526000142097473},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.25110000371932983},{"id":"https://openalex.org/C2776834041","wikidata":"https://www.wikidata.org/wiki/Q25346349","display_name":"Execution model","level":2,"score":0.23980000615119934},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.2387000024318695},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.23770000040531158},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.23680000007152557},{"id":"https://openalex.org/C94633896","wikidata":"https://www.wikidata.org/wiki/Q7140378","display_name":"Partial order reduction","level":3,"score":0.23319999873638153},{"id":"https://openalex.org/C57371142","wikidata":"https://www.wikidata.org/wiki/Q16914225","display_name":"Functional specification","level":5,"score":0.22169999778270721},{"id":"https://openalex.org/C157922185","wikidata":"https://www.wikidata.org/wiki/Q173198","display_name":"Logic synthesis","level":3,"score":0.22059999406337738},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.21889999508857727},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.2110999971628189},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.20559999346733093},{"id":"https://openalex.org/C9957790","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler construction","level":3,"score":0.20090000331401825},{"id":"https://openalex.org/C176783269","wikidata":"https://www.wikidata.org/wiki/Q5164378","display_name":"Constraint logic programming","level":4,"score":0.19280000030994415},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.19009999930858612},{"id":"https://openalex.org/C10418432","wikidata":"https://www.wikidata.org/wiki/Q560370","display_name":"AND gate","level":3,"score":0.1876000016927719},{"id":"https://openalex.org/C25016198","wikidata":"https://www.wikidata.org/wiki/Q781833","display_name":"Temporal logic","level":2,"score":0.1850000023841858},{"id":"https://openalex.org/C116253237","wikidata":"https://www.wikidata.org/wiki/Q1437424","display_name":"Formal specification","level":2,"score":0.18320000171661377}],"mesh":[],"locations_count":2,"locations":[{"id":"pmh:oai:eprints.soton.ac.uk:252666","doi":null,"is_oa":false,"landing_page_url":"https://eprints.soton.ac.uk/252666/","pdf_url":null,"source":{"id":"https://openalex.org/S4306401019","display_name":"ePrints Soton (University of Southampton)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I43439940","host_organization_name":"University of Southampton","host_organization_lineage":["https://openalex.org/I43439940"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":"","raw_type":"Monograph"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.46.1673","doi":null,"is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.1673","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ecs.soton.ac.uk/~mal/publications/dsse-tr-9906.ps.gz","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W1929307865","https://openalex.org/W2042965083","https://openalex.org/W7098424645","https://openalex.org/W7098728488","https://openalex.org/W7096003813","https://openalex.org/W2037317228","https://openalex.org/W6995876836","https://openalex.org/W48502565","https://openalex.org/W7075296146","https://openalex.org/W1596577905"],"abstract_inverted_index":{"The":[0],"so":[1],"called":[2,48],"\"cogen":[3],"approach\"":[4],"to":[5,40,71,94,102],"program":[6],"specialisation,":[7],"writing":[8],"a":[9,14,96,109,129],"compiler":[10],"generator":[11],"instead":[12],"of":[13,25,43,77],"specialiser,":[15],"has":[16,52],"been":[17,54,80],"used":[18],"with":[19],"considerable":[20,97],"success":[21],"in":[22,57,59],"partial":[23,41,49,73,87,112],"evaluation":[24,42],"both":[26],"functional":[27,64],"and":[28,65,68],"imperative":[29,66],"languages.":[30],"This":[31,105],"paper":[32,106],"demonstrates":[33],"that":[34,82],"this":[35,128],"approach":[36,91],"is":[37,133],"also":[38,47],"applicable":[39],"logic":[44,60,117],"programming":[45,61],"languages,":[46,67],"deduction.":[50],"Self-application":[51],"not":[53,79],"as":[55,62],"much":[56],"focus":[58],"for":[63,86,115],"the":[69,89],"attempts":[70],"self-apply":[72],"deduction":[74,113],"systems":[75],"have,":[76],"yet,":[78],"altogether":[81],"successful.":[83],"So,":[84],"especially":[85],"deduction,":[88],"cogen":[90,132],"should":[92],"prove":[93],"have":[95],"importance":[98],"when":[99],"it":[100],"comes":[101],"practical":[103],"applications.":[104],"first":[107],"develops":[108],"generic":[110],"offline":[111],"technique":[114],"pure":[116],"programs,":[118],"notably":[119],"supporting":[120],"partially":[121],"instantiated":[122],"datastructures":[123],"via":[124],"binding":[125],"types.":[126],"From":[127],"very":[130,137],"efficient":[131,138],"derived,":[134],"which":[135],"generates":[136],"generating":[139],"extensio...":[140]},"counts_by_year":[],"updated_date":"2026-10-13T10:08:12.033832","created_date":"2025-10-10T00:00:00"}
