Newsgroups: comp.lang.dylan
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!oitnews.harvard.edu!hsdndev!purdue!ames!cnn.nas.nasa.gov!news
From: hultquis@nas.nasa.gov (Jeff P. M. Hultquist)
Subject: Infix Rehash (was Re: Dylan Competitive Analysis: Dylan vs. SmalltalkAgents?)
In-Reply-To: "John D. Burger"'s message of 16 Mar 1995 16:56:44 GMT
Message-ID: <HULTQUIS.95Mar16095441@wk206.nas.nasa.gov>
Lines: 38
Sender: news@cnn.nas.nasa.gov (News Administrator)
Nntp-Posting-Host: wk206.nas.nasa.gov
Reply-To: hultquis@nas.nasa.gov
Organization: NASA/Ames Research Center
References: <3jn9s4$sps@cantaloupe.srv.cs.cmu.edu> <3k09ve$b43@netnews.upenn.edu>
	<3k9qkc$7tb@linus.mitre.org>
Date: Thu, 16 Mar 1995 17:54:41 GMT


In article <3k9qkc$7tb@linus.mitre.org> "John D. Burger" <john@mitre.org> writes:

> From: "John D. Burger" <john@mitre.org>
> Date: 16 Mar 1995 16:56:44 GMT
> 
> Wolfgang Ziller (wziller@math.upenn.edu) writes:
> 
>   What do you believe is the advantage of using prefix syntax?
>   I've never understood Lisp's advocates' devotion to it.
> ...
> Even when I program in a "non-prefix" language like C, I find that a
> significant fraction of my code involves function calls.  Perhaps my
> experience is unique.

A very good point.  And this leads to the
following helpful definitions for the C languages:

	A "function" is a procedural abstraction applied to
	zero or more arguments and written in prefix notation.

	An "operator" is a special case of function which,
	when used with two arguments, is written using
	infix notation.  

	But if the operator is applied to one argument, 
	then we use prefix again.  

	If applied to three arguments, then this "ternary
	operator" is intermingled with its arguments!  Oh,
	and this operator has non-strict (lazy) evaluation.

It's simple, really.	:-)

--- NOTE: this contains *irony*, don't send flames ---

-- 
Jeff Hultquist                        voice: 415.604.4970
