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