From: usubrama@magnus.acs.ohio-state.edu (Uma M Subramanian)
Subject: Re: Sanskrit and the Unity of India
Organization: The Ohio State University
Date: Thu, 10 Sep 1992 04:59:52 GMT

In article <1992Sep9.223642.28959@cis.ohio-state.edu> jayasim@platypus.cis.ohio-state.edu (D Jayasimha) writes:
>In article <1992Sep8.225035.26471@colorado.edu> manu@tigger.cs.Colorado.EDU (K. S. Manu) writes:
>>In article <BuA34C.MzJ@acsu.buffalo.edu> C999S2W4@ubvm.cc.buffalo.edu writes:
>>>
>>>   Research has proved that Sanskrit is the best language for use in
>>>Computers. This will give a great boost to the Indian Contribution in the
>>>field of Computer Programming.
>>
>>Can you give the source of this information? I don't believe it can be true.
>>Sanskrit, I'm told, is rather complex language with many peculiarities,
>>the last thing you'd want in a Computer Language. Venmani Namboothiri was
>>known for writing "slokam"s with more than one meaning which implies that
>>the language is ambiguous. (He wrote in either Sanskrit or Manipravalam, a
>>language very similar to Sanskrit) I think he used the idea of breaking
>>up compount words differently to get different meanings.
>>
>>Njan
>
>The tall claim by the poster from Buffalo is probably based on the article,
>"Knowledge Representation in Sanskrit and AI" by Rick Briggs of the NASA
>Ames Research Center which appeared in the Spring 1985 issue of AI Magazine.
>Even in that article, it is not claimed that Sanskrit could be a replacement
>for computer languages a la Pascal, C, etc.  It is only claimed that unlike
>most natural languages, Sanskrit can admit of unambiguous representation for 
>mechanical processing.  One can argue on both sides of the issue even as
>far as the last statement is concerned.
>
>As Njan points out, sentences in Sanskrit can be ambiguous.  The source of
>ambiguity is both syntactic and semantic.  In an attempt to succinctly
>represent composite words, Sanskrit allows words to be joined using
>specific rules (Rules of Sandhi)- the joining is based on syntax alone.
>Composite meanings/descriptions can be encoded using the rules of Samaasa-
>for example, the statement "the person who has an unsuccessful date with 
>a vegetarian and who leafs through Debonair" could have a succinct 
>representation.  The problem arises when such compound words are disjoined
>to interpret them.  Many a time, they can be disjoined in more than one
>way.  Our own Mani Varadarajan had an interesting interpretation of the
>Gita verse 9:32 based on this non-uniqueness.  There is also the problem
>of "grammatical peculiarities" which make the application of syntactic
>rules context sensitive (the peculiarity "raajan sakhibhyaha touch" comes
>to mind particularly because we as high school students had a raunchy
>explantion of this rule when part of it is interpreted in English :-)).
>
>On the other hand, most other rules of Sanskrit grammar are laid out in a 
>methodical fashion.  The pioneering work on this was done by Paanini more 
>than two thousand years back.  The Backus-Naur form of expressing the 
>syntax of computer languages bears some resemblance to the manner of the
>Panini rules so much so somebody had suggested that BNF should be called PBNF.
>
>Perhaps, a modified form of Sanskrit which does not admit of grammatical
>peculiarities and the Sandhi/Samaasa formations could be used as a language
>for knowledge representation.
>language. 
>
>jayasimha (jayasim@cis.ohio-state.edu)
>

A few comments -- but before that, I'd like to say that what I've
done here is to dispel a few assumptions that I think are relevant
to this issue, without implying that the posters above made any or
all of those assumptions.

From a linguist's point of view, it makes no sense to claim that some
natural language NL is "best-suited" for use as a computer language, since
all natural langauges known to us lie within the same level of complexity.
For instance, we don't know of any human language that exhibits only 
linear patterns just as we don't know of any human language to describe
the patterns of which we absolutely *need* the full power of Turing
Machines. There is emerging consensus among mathematical linugists that
natural langauges lie somewhere between Context-Free and Context-Sensitive
langauges -- closer to the former than the latter, presumably forming
yet another level of languages, occasionally called "Index Languages". 
((i) Bambara and (ii) Swiss German (and closely related Dutch) are the two 
known languages that show patterns that would qualify as "crossed
dependencies" or"XX lanauage" to a *limited* extent --
except for this, we have absolutley no evidence to believe that natural
langauges differ in the level of complexity they exhibit, formally 
speaking.)

Of course, this means that Sanskrit, like any other natural language,
has ambiguous strings, which is obvioulsy undesirable in a computer 
language. To eliminate all ambiguous patterns from Sanskrit by 
obtaining a "PaaNini Normal Form" leaves us with a language which
is a completely different entity from Sanskrit strictly speaking --
sure, it's a set of strings over the Sanskrit vocabulary, but the
syntax (and correspondingly semantics) is that of a DIFFERENT
language, one that's unlike all other natural languages.

Secondly, this kind of "cleaning up", ridding of all ambiguities,
can be done for ANY human language. Of course, the result wouldn't
qualify as the original language. Historically however, only
a few languages have an ancient grammatical tradition where
some language scholars have labored over codifying the rules of
the language, its syntax and semantics, like PaaNini did for
Sanskrit. But the point is that potentially the same can be done
for any language. If one takes the existence of explicit codification
of the language as a standard for measuring the appropriateness of
a language as a computer language, then Chinese, Greek, Tamil
or Latin would qualify too. If one acknowledges that such
codification and disambiguation can be done for any language, then
ALL languages, be it Swahili, Navajo or Caribbean English, would 
be candidates for this enterprise.

Often, the existence of "scientific vocabulary" is taken to be a 
sign of how sophisticted a language is -- but vocabulary can be
added to a language (either borrowed or coined) without affecting
the formal complexity of the language.

Finally, regarding the "numerous peculiarities" of Sanskrit that has
been used as an argument against the use of Sanskrit as a computer
language -- this would hold true for other languages too -- every
language has peculiarities which is what makes it distinct from
every other language superficially inspite of the underlying
uniformity that human languages share. Notice that this *is*
an argument against using any human language as a computer
language.


Uma Subramanian

PS: There are too many references on this for me to provide them
all individually. However, a quick overview of some of this can be
found in "Mathematical Methods in Linguistics" by Barbara Partee, 
Alice ter Meulen, and Robert E. Wall (Kluwer, 1990). 

Xref: sparky alt.culture.kerala:295 soc.culture.indian:30981 soc.culture.tamil:2146