A small embedding of logic programming with a simple complete search

Autor: Matthew Might, Jason Hemann, Daniel Friedman, William E. Byrd
Rok vydání: 2016
Předmět:
Theoretical computer science
Horn clause
Unification
Computer science
Functional logic programming
0102 computer and information sciences
02 engineering and technology
computer.software_genre
01 natural sciences
Datalog
Prolog
Very high-level programming language
0202 electrical engineering
electronic engineering
information engineering

Constraint programming
Reactive programming
Fifth-generation programming language
Programming domain
Smalltalk
Logic programming
computer.programming_language
Declarative programming
Symbolic programming
Programming language
Higher-order programming
020206 networking & telecommunications
020207 software engineering
Constraint satisfaction
Computer Graphics and Computer-Aided Design
Inductive programming
Procedural programming
010201 computation theory & mathematics
Programming paradigm
Haskell
Fourth-generation programming language
First-generation programming language
computer
Software
Zdroj: DLS
DOI: 10.1145/2989225.2989230
Popis: We present a straightforward, call-by-value embedding of a small logic programming language with a simple complete search. We construct the entire language in 54 lines of Racket---half of which implement unification. We then layer over it, in 43 lines, a reconstruction of an existing logic programming language, miniKanren, and attest to our implementation's pedagogical value. Evidence suggests our combination of expressiveness, concision, and elegance is compelling: since microKanren's release, it has spawned over 50 embeddings in over two dozen host languages, including Go, Haskell, Prolog and Smalltalk.
Databáze: OpenAIRE