{"id":"https://openalex.org/W2538883850","doi":"https://doi.org/10.1145/2989225.2989230","title":"A small embedding of logic programming with a simple complete search","display_name":"A small embedding of logic programming with a simple complete search","publication_year":2016,"publication_date":"2016-10-21","ids":{"openalex":"https://openalex.org/W2538883850","doi":"https://doi.org/10.1145/2989225.2989230","mag":"2538883850"},"language":"en","primary_location":{"id":"doi:10.1145/2989225.2989230","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2989225.2989230","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th Symposium on Dynamic Languages","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5088519802","display_name":"Jason Hemann","orcid":"https://orcid.org/0000-0002-5405-2936"},"institutions":[{"id":"https://openalex.org/I592451","display_name":"Indiana University","ror":"https://ror.org/01kg8sb98","country_code":"US","type":"education","lineage":["https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Jason Hemann","raw_affiliation_strings":["Indiana University, USA"],"affiliations":[{"raw_affiliation_string":"Indiana University, USA","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070161899","display_name":"Daniel P. Friedman","orcid":null},"institutions":[{"id":"https://openalex.org/I592451","display_name":"Indiana University","ror":"https://ror.org/01kg8sb98","country_code":"US","type":"education","lineage":["https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Daniel P. Friedman","raw_affiliation_strings":["Indiana University, USA"],"affiliations":[{"raw_affiliation_string":"Indiana University, USA","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5005980154","display_name":"William E. Byrd","orcid":"https://orcid.org/0000-0003-4730-5293"},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"William E. Byrd","raw_affiliation_strings":["University of Utah, USA"],"affiliations":[{"raw_affiliation_string":"University of Utah, USA","institution_ids":["https://openalex.org/I223532165"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5086121459","display_name":"Matthew Might","orcid":"https://orcid.org/0000-0002-8430-5316"},"institutions":[{"id":"https://openalex.org/I223532165","display_name":"University of Utah","ror":"https://ror.org/03r0ha626","country_code":"US","type":"education","lineage":["https://openalex.org/I223532165"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Matthew Might","raw_affiliation_strings":["University of Utah, USA"],"affiliations":[{"raw_affiliation_string":"University of Utah, USA","institution_ids":["https://openalex.org/I223532165"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5088519802"],"corresponding_institution_ids":["https://openalex.org/I592451"],"apc_list":null,"apc_paid":null,"fwci":1.7136,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.89293488,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"96","last_page":"107"},"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.9961000084877014,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9926000237464905,"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/programming-language","display_name":"Programming language","score":0.7802157402038574},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7471902966499329},{"id":"https://openalex.org/keywords/logic-programming","display_name":"Logic programming","score":0.6753103733062744},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6726041436195374},{"id":"https://openalex.org/keywords/prolog","display_name":"Prolog","score":0.6327751278877258},{"id":"https://openalex.org/keywords/embedding","display_name":"Embedding","score":0.5851305723190308},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.5754575133323669},{"id":"https://openalex.org/keywords/functional-logic-programming","display_name":"Functional logic programming","score":0.5216163396835327},{"id":"https://openalex.org/keywords/declarative-programming","display_name":"Declarative programming","score":0.4577369689941406},{"id":"https://openalex.org/keywords/smalltalk","display_name":"Smalltalk","score":0.4545445144176483},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.4257873296737671},{"id":"https://openalex.org/keywords/fifth-generation-programming-language","display_name":"Fifth-generation programming language","score":0.42538610100746155},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.420383483171463},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.361667662858963},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.32771748304367065},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.2964511513710022},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2164033055305481},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.15077826380729675}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7802157402038574},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7471902966499329},{"id":"https://openalex.org/C128838566","wikidata":"https://www.wikidata.org/wiki/Q275603","display_name":"Logic programming","level":2,"score":0.6753103733062744},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6726041436195374},{"id":"https://openalex.org/C81721847","wikidata":"https://www.wikidata.org/wiki/Q163468","display_name":"Prolog","level":2,"score":0.6327751278877258},{"id":"https://openalex.org/C41608201","wikidata":"https://www.wikidata.org/wiki/Q980509","display_name":"Embedding","level":2,"score":0.5851305723190308},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.5754575133323669},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.5216163396835327},{"id":"https://openalex.org/C146206909","wikidata":"https://www.wikidata.org/wiki/Q531152","display_name":"Declarative programming","level":4,"score":0.4577369689941406},{"id":"https://openalex.org/C2777293101","wikidata":"https://www.wikidata.org/wiki/Q235086","display_name":"Smalltalk","level":3,"score":0.4545445144176483},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4257873296737671},{"id":"https://openalex.org/C199305712","wikidata":"https://www.wikidata.org/wiki/Q3205914","display_name":"Fifth-generation programming language","level":3,"score":0.42538610100746155},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.420383483171463},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.361667662858963},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.32771748304367065},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.2964511513710022},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2164033055305481},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.15077826380729675},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2989225.2989230","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2989225.2989230","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th Symposium on Dynamic Languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.5699999928474426}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":21,"referenced_works":["https://openalex.org/W574022443","https://openalex.org/W1484198662","https://openalex.org/W1493847148","https://openalex.org/W1511834278","https://openalex.org/W1585533089","https://openalex.org/W1970782371","https://openalex.org/W1979039632","https://openalex.org/W2003859719","https://openalex.org/W2035164592","https://openalex.org/W2096947206","https://openalex.org/W2100738443","https://openalex.org/W2107474854","https://openalex.org/W2128992690","https://openalex.org/W2155187121","https://openalex.org/W2296549752","https://openalex.org/W2911838076","https://openalex.org/W2999328989","https://openalex.org/W3142083993","https://openalex.org/W6616529637","https://openalex.org/W6758525803","https://openalex.org/W6792498026"],"related_works":["https://openalex.org/W1598781941","https://openalex.org/W1512480360","https://openalex.org/W3004782279","https://openalex.org/W4297858271","https://openalex.org/W2146478143","https://openalex.org/W2161156675","https://openalex.org/W4239436350","https://openalex.org/W1024151587","https://openalex.org/W2348463574","https://openalex.org/W1505955281"],"abstract_inverted_index":{"We":[0,17,31],"present":[1],"a":[2,7,13,39],"straightforward,":[3],"call-by-value":[4],"embedding":[5],"of":[6,25,27,41,59],"small":[8],"logic":[9,44],"programming":[10,45],"language":[11,21],"with":[12],"simple":[14],"complete":[15],"search.":[16],"construct":[18],"the":[19],"entire":[20],"in":[22,36,75],"54":[23],"lines":[24],"Racket---half":[26],"which":[28],"implement":[29],"unification.":[30],"then":[32],"layer":[33],"over":[34,72,76],"it,":[35],"43":[37],"lines,":[38],"reconstruction":[40],"an":[42],"existing":[43],"language,":[46],"miniKanren,":[47],"and":[48,62,85],"attest":[49],"to":[50],"our":[51,57],"implementation's":[52],"pedagogical":[53],"value.":[54],"Evidence":[55],"suggests":[56],"combination":[58],"expressiveness,":[60],"concision,":[61],"elegance":[63],"is":[64],"compelling:":[65],"since":[66],"microKanren's":[67],"release,":[68],"it":[69],"has":[70],"spawned":[71],"50":[73],"embeddings":[74],"two":[77],"dozen":[78],"host":[79],"languages,":[80],"including":[81],"Go,":[82],"Haskell,":[83],"Prolog":[84],"Smalltalk.":[86]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":3},{"year":2016,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
