Prolog Projects Tips
https://occasionallycogent.com/prolog_project_helpers/index.html
Prolog Projects Tips
https://occasionallycogent.com/prolog_project_helpers/index.html
Prolog Basics Explained with Pokémon
https://unplannedobsolescence.com/blog/prolog-basics-pokemon/
#TIL about Sweep, which embeds #Prolog in #Emacs
> Sweep uses the C interfaces of both SWI-Prolog and Emacs Lisp to create a dynamically loaded Emacs module that contains the SWI-Prolog runtime. As such, Sweep has parts written in C, in Prolog and in Emacs Lisp.
https://eshelyaron.com/sweep.html#High_002dlevel-Architecture


In this paper, we present domain-specific languages (DSLs) that we devised for their use in the implementation of a finite domain constraint programming system, available as library(clpfd) in SWI-Prolog and YAP-Prolog. These DSLs are used in propagator selection and constraint reification. In these areas, they lead to concise specifications that are easy to read and reason about. At compilation time, these specifications are translated to Prolog code, reducing interpretative run-time overheads. The devised languages can be used in the implementation of other finite domain constraint solvers as well and may contribute to their correctness, conciseness and efficiency.