400 BC – Formal Language Theory

This post continues our  Computer Systems History series.

Formal language theory is crucial to the computers history, because formal language can be taught, understood and processed – and, in turn, it leads to algorithms for analyzing sequences. Formal language theory includes grammars, regular expressions and finite state automata. A formal language is basically a set of sequences. Formal language theory is not just about infinite various sets of sequences: it considers only finite (accountable) description of languages. Any set of finite sequences that can be generated and defined by an algorithm is a computable set of sequences.

Devimahatmya manuscript
Devimahatmya manuscript on palm-leaf, in an early Bhujimol script, Bihar or Nepal, 11th century. Wikipedia image.

Formal Language Theory was introduced to the world by Pāṇini – an ancient Indian Sanskrit grammarian from Pushkalavati, Gandhara ( 4th century BC). Pāṇini is credited for the science of linguistics. It is believed by many that he is responsible for the birth of the science of comparative and historical linguistics. Specifically, Pāṇini is known for his Sanskrit grammar, particularly for his formulation of the 3,959 rules of Sanskrit morphology, syntax and semantics in the grammar known as Ashtadhyayi. Sanskrit is believed to be the most ancient language that contained traces of the Proto-Indo-European language.

Apart from being a valuable historical document, Pāṇini’s grammar has provided a model for language description, that treats both matter and mind, with morphology being a major component in the formal grammar, and syntax described as a part of morphology. Without formal language, without the computable sets of of sequences, computers would’ve never existed.

For more about Sanskrit, we recommend Wikipedia