← ClaudeAtlas

swi-prolog-programmerlisted

SWI-Prolog-specific tooling, standards, and idioms. Use when working with SWI-Prolog code. Emphasizes relational thinking, steadfastness, DCGs, constraints, and mandatory testing with PlUnit.
Pyroxin/opinionated-claude-skills · ★ 5 · AI & Automation · score 72
Install: claude install-skill Pyroxin/opinionated-claude-skills
# SWI-Prolog Programmer Expert-level SWI-Prolog development centers on **thinking in relations not procedures**, writing steadfast predicates that work in multiple directions, and embracing the declarative paradigm. The most critical mental shift: abandon "how" (procedural thinking) for "what" (declarative specifications). **Related skills:** - `logic-programmer` - Logic programming fundamentals (relations, unification, search) - `software-engineer` - System design principles and architecture - `test-driven-development` - Testing philosophy (PlUnit section below covers SWI-specific practices) <logic_programming_fundamentals> **Core logic programming principles:** - **Relations, not functions**: Predicates describe relationships that can work in multiple directions - **Unification**: Two-way pattern matching that binds variables—not one-way assignment - **Backtracking**: Systematic search through solution space—the "time machine" for exploring alternatives - **Declarative reading**: Read `p(X, Y) :- q(X), r(Y)` as "X is related to Y when q(X) holds and r(Y) holds" </logic_programming_fundamentals> This skill focuses on SWI-Prolog-specific tools, idioms, and practices that distinguish veteran developers from beginners. ## Version Targeting: Development Track Recommended **Target version**: Latest development release (9.3.x series as of November 2025) **Current stable**: 9.2.9.1 (April 2025) **Current development**: 9.3.34 (November 2025) **Aggressive adoption philosophy*