Dragaera

Evolving language

Melissa Fitzgerald meersan at mn.astound.net
Sat Aug 17 19:50:40 PDT 2002

At 06:31 PM 8/17/02 -0700, books at bofh.com wrote:
>I don't believe so.  Sendmail is an ugly beast, and it's configuration
>file is, I believe, in it's own right a programming language.  For instance,
>people have implemented calculators, and even the Towers of Hanoi in
>the sendmail configuration file.
>
>The example I'm thinking of (which doesn't make sense in context,
>but was valid when I was playing with this was):
>
>$:		$: $:
>
>In which all three $:'s meant different things.

A variable in a programming language can be likened to a pronoun
in English.  "You" may have any number of values depending on
the speaker, his audience and his situation.  It may even have
different meanings depending on its position in a sentence.  I 
intended to refer more to statements such as the following, quoted
>from http://www.vuse.vanderbilt.edu/~jgray/funny.html#LIAR

"I am pleased to say that this candidate is a former colleague
of mine."

This statement has at least two equally valid interpretations.
The speaker could fully intend to express both of them simultaneously.
There is an inherent ambiguity here which has never been approximated
in computer programming languages.  

I believe the example you furnished does not quite achieve the same
level of complexity.  Obviously a program statement like 
$:		$: $:
looks very ambiguous to a _human_ reader.  But to sendmail, its
meaning is quite clear.  Regardless of sendmail's semantic
brilliance (or lack thereof--it's quite a beast!), ultimately,
there are very concrete rules that determine how sendmail parses
its config file.  If there _were_ any ambiguity, sendmail would
puke out an error message.

I find it interesting that some programming languages, like Haskell
or Miranda, are "lazy" in that they don't evaluate an expression until
its value is required.  So you can finally define infinite data data
structures, like:
evens = [2,4..]
although no computer can actually represent all even numbers.

-- meersan