Methodological design introduces semantic-role argument binding in logic programming, enabling cross-predicate rewrite rules and dual compilation without lowering passes.
Positional argument binding, in which f(x, y, z) assigns meaning by slot order, degrades as arity grows, and logic programming suffers it worst: each position's semantics must be remembered rather than read off the call site, and keyword arguments only trade this for a vocabulary that is local to each predicate. We present the Karaka Calling Convention (KCC): arguments are bound by a fixed vocabulary of six semantic roles (agent, object, instrument, recipient, source, locus), drawn from Paninian Sanskrit grammar and carried morphologically by each argument. Because the vocabulary is predicate-independent, a rewrite rule written once against a role applies across all predicates, a property that keyword arguments and PropBank framesets lack. A parsed statement is already a labeled-edge graph, so the same object compiles to Prolog facts and to property-graph writes with no lowering pass, and groundness alone decides whether a statement is an assertion or a query. Rule conflicts resolve by requirement-set subsumption (the Paninian utsarga/apavada discipline), with incomparable rules rejected at registration as ambiguous. We give a formal definition, a worked end-to-end example, and a tested reference implementation with optional real Astadhyayi morphology via vidyut-prakriya; a prior-art search found one contemporaneous system using Karaka roles as call-site labels, and we characterize the overlap from its source. Measured readability benefit is open work, stated as such.
No takes yet. Share an insight, caveat, or question.
Joy Bose (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: