miniDusa: An Extensible Finite-Choice Logic Programming Language (Lightning Talk)
summary
miniDusa implements Dusa-style finite-choice primitive logic programming as a hosted DSL using syntax-spec in Racket, compiling surface syntax to a core with static checks and runtime solver calls. It supports macro-defined constructs like a forbid/demand rule implemented as macros, imports external Racket functions and facts, and exposes a stream of solutions. The runtime works but is explicitly an extremely naive solver, with open rules and richer Racket APIs listed as future work.
AI-written summary · about
