The Karaka Calling Convention: Semantic-Role Argument Binding for Logic Programming
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.
Authors
- Joy Bose (ORCID: https://orcid.org/0000-0002-6717-2187)
Publication Details
- Journal
- Preprints.org
- Published
- 2026-08-25
- DOI
- https://doi.org/10.20944/preprints202608.1750.v1
- Primary Topic
- Logic, Reasoning, and Knowledge
- Type
- preprint