namin/logically

explorations in core.logic

Clojure

118

115 commits

updated Jun 14, 2024

See the code

README

logically

Explorations of logic programming in Clojure's core.logic.

Sources of inspiration

The Art of Prolog

  • Chapter 17: Interpreters
    • 17.1: Interpreters for Finite State Machines (src/test)
    • 17.2: Meta-Interpreters (src/test)
    • 17.3: Enhanced Meta-Interpreters for Debugging (src/test)

Prolog Programming for Artificial Intelligence

  • Chapter 25: Meta-Programming
    • 25.6: Explanation-based generalization (src/test)

αProlog for nominal logic programming

  • Regular expressions and automata (src/test)
  • Symbolic differentiation (src/test)
  • The pi-calculus operational semantics (src/test)
  • Cryptographic authentication protocols (Needham-Schroeder(-Lowe)) (src/test)

Meta-Circular Abstract Interpretation

  • 2 Interpretation and Abstraction (src/test)
  • 3 Concrete Semantics and Interpreters
    • 3.1 Observing the Success Set (src/test)
    • 3.2 Observing answers (src/test)
    • 3.3 Observing calls (src/test)
    • 3.4 Observing program points (src/test)
  • Meta-Circular Abstract Interpretation
    • goal independent analysis (src/test)
abstract-interpretation
binders
clojure
logic-programming
metaprogramming
paper-implementations
prolog

Contributors

namin

115 commits

namin/logically

explorations in core.logic

Clojure

118

115 commits

updated Jun 14, 2024

See the code

README

logically

Explorations of logic programming in Clojure's core.logic.

Sources of inspiration

The Art of Prolog

  • Chapter 17: Interpreters
    • 17.1: Interpreters for Finite State Machines (src/test)
    • 17.2: Meta-Interpreters (src/test)
    • 17.3: Enhanced Meta-Interpreters for Debugging (src/test)

Prolog Programming for Artificial Intelligence

  • Chapter 25: Meta-Programming
    • 25.6: Explanation-based generalization (src/test)

αProlog for nominal logic programming

  • Regular expressions and automata (src/test)
  • Symbolic differentiation (src/test)
  • The pi-calculus operational semantics (src/test)
  • Cryptographic authentication protocols (Needham-Schroeder(-Lowe)) (src/test)

Meta-Circular Abstract Interpretation

  • 2 Interpretation and Abstraction (src/test)
  • 3 Concrete Semantics and Interpreters
    • 3.1 Observing the Success Set (src/test)
    • 3.2 Observing answers (src/test)
    • 3.3 Observing calls (src/test)
    • 3.4 Observing program points (src/test)
  • Meta-Circular Abstract Interpretation
    • goal independent analysis (src/test)
abstract-interpretation
binders
clojure
logic-programming
metaprogramming
paper-implementations
prolog

Contributors

namin

115 commits

Languages

Clojure

100.0%