https://dusa.rocks/docs/ Skip to content Dusa Search CtrlK Cancel GitHub Select theme [Auto ] * Dusa is... + Graph exploration + Datalog + Answer set programming * Language Reference + Declarations + Facts + Choices + Rules + Terms and variables + Constraints + Builtins + Lazy predicates + Syntax specification * JavaScript API + class Dusa + Terms + class DusaSolution + Helpers + Using Dusa in JS GitHub Select theme [Auto ] On this page * Overview On this page * Overview The Dusa Programming Language Dusa is a logic programming language designed by Rob Simmons and Chris Martens, the first implementation of finite-choice logic programming. * If you've heard of Datalog (as implemented in systems like Souffle), you may want to start by reading about how Dusa is datalog. * If you've heard of answer set programming (as implemented in systems like Potassco), you may want to start by reading about how Dusa is answer set programming. * If you have no familarity with either of these, that's okay too! You may want to start by reading about how Dusa is a graph exploration language. Then you can take a look at some of the other introductions, or fiddle with some of the default examples. * If you're interested in the mathematics of finite-choice logic programming, the paper Finite-Choice Logic Programming by Martens, Simmons, and Michael Arntzenius may be of interest. The easiest way to use Dusa is in our web editor. Dusa is also available as a command-line utility and JavaScript API via the Node package manager. Edit page