Language-independent specification

{{Short description|Computer programming standard meant to be interoperable across programming languages}}

{{Use mdy dates|date=January 2019}}

{{Use American English|date=January 2019}}

{{Unreferenced stub|date=December 2009}}

A language-independent specification (LIS) 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