[implementations-list] [OT] Language logic and syntax (was: Reading commit 1b34d16a226)

Štěpán Němec stepnem at gmail.com
Mon May 10 12:20:42 CEST 2010


On Sun, May 09, 2010 at 09:20:57PM +0000, Vegard Øye wrote:
> > Actually, I tend to feel mildly irritated by things like (= 2 )
> > (which you seem to prefer) -- to me it makes much more sense to
> > preserve the natural language logic of the expression, i.e.
> > "Is equal to 2?", in its programming-language rendering.
> 
> I agree that natural syntax matters, since we think in natural syntax.
> 
> The problem is that many programming statements, especially those in
> Lisp, have way more levels than do natural sentences. That clumsy
> matching and type conversion you pointed out was more or less the
> Elisp equivalent of the following passage:
> 
>     Isn't the proverbial German phenomenon of the verb-at-the-end
>     about which droll tales of absentminded professors who would begin
>     a sentence, ramble on for an entire lecture, and then finish up by
>     rattling off a string of verbs by which their audience, for whom
>     the stack had long since lost its coherence, would be totally
>     nonplussed, are told, an excellent example of linguistic
>     recursion?
> 
> Except that I actually phrased it in this way:
> 
>     Isn't an excellent example of linguistic recursion the proverbial
>     German phenomenon of the verb-at-the-end about which droll tales
>     of absentminded professors who would begin a sentence, ramble on
>     for an entire lecture, and then finish up by rattling off a string
>     of verbs by which their audience, for whom the stack had long
>     since lost its coherence, would be totally nonplussed, are told?
> 
> In this case, (eq <good-example> (level (level (level ...))))
> seems better to me than (eq (level (level ...)) <good-example>).

Not to me; and as the 3rd of your original lisp examples in a former
e-mail shows, you can use indentation to make it a non-issue even from
your-definition-of-readability point of view.

It's how you _think_ about things what really matters here, not how you
express something in a natural language. The two, albeit related, are
distinct -- that's why I used the word "logic", not "syntax".

The very example of the error you made shows how unhelpful going
against one's thinking while writing in a language is.

Štěpán 



More information about the implementations-list mailing list