{{Short description|Computer programming standard meant to be interoperable across programming languages}} {{Use mdy dates|date=January 2019}} {{Use American English|date=January 2019}} {{One source|date=December 2025}}
A '''language-independent specification''' ('''LIS''')<ref>{{cite web |title=Information technology - Open Systems Interconnection (03) abstract data manipulation - Application Program Interface (API) (Language independent) |url=https://cdn.standards.iteh.ai/samples/24130/cf123942dbc7489798a49e85662c5c5f/ISO-IEC-14360-1996.pdf |website=cdn.standards.iteh.ai |access-date=29 December 2025}}</ref> is a programming language specification{{citationneeded|date=May 2016}} providing a common interface usable for defining semantics applicable toward arbitrary language bindings.
LIS's are language-agnostic; they mitigate the risk that a certain language binding might reduce compatibility with other languages. An ideal LIS allows the language bindings to take advantage of features of a programming language uncompromisingly.
Examples of LIS include Interface description language (IDL), Simplified Wrapper and Interface Generator (SWIG) and Common Language Infrastructure (CLI).
Recursive transcompiling can be used to distribute a language independent specification across many different technologies, with each technology potentially keeping an authoritative description of a different part of the specification. Recursive transcompiling provides the general methodology for distributing this authoritative information through the rest of the derivative code pipeline.
==See also==
{{columns-list|colwidth=30em| * Derivative code * ISO/IEC 10967 * ISO/IEC 11404 * Language interoperability * Pivot language * Recursive transcompiling * Specification language * Transcompiler }}
==References== {{Reflist}}
{{DEFAULTSORT:Language-Independent Specification}} Category:Technical communication
{{Compu-lang-stub}}