[net.lang] I/O, and are Function Calls part of language?

knudsen@ihnss.UUCP (09/03/83)

In the great "does C have I/O" discussion, someone claimed that
function calls don't really count as part of the language.
Actually, anything can be done as a fuction call, so it should
be possible to create a language with no syntax at all (except
function calls)!  Is this then a language?
Such a language was developed at MIT back int the late 50's for
artificial intelligence work.  It spread to Calif. (Irvine)
and recently MIT even built machines just to execute this beast.
Of course the lack of syntax makes for a lot of (((((())))))))
and hard to read, etc. (yes, they've added infix operations,
and the COND isn't really just a function call).

SO, is LISP a language?  :-)   mike k

barmar@mit-eddie.UUCP (Barry Margolin) (09/05/83)

ihnss!knudsen made the claim that ANYTHING can be done as a function
call, and cited Lisp as an example of a language with only function
calls and no syntax.  As a long-time Lisp programmer, I have to
disagree.

There is one thing that cannot be done by function calls, and that is
control of the order of operations.  LISP would be pretty useless
without COND, which is not a function; it has a very definite syntax:
	(cond (predicate . resultants)
	      (predicate . resultants)
	      ...)
He was probably confused because the low-level syntax (parens and atoms)
is the same as that used for function calls and macro calls, but that is
no different than any other langage.  In most cases, the common point
isn't reached until you go lower: function calls and looping constructs
(as one example) in conventional languages are both made up of the same
kinds of tokens.
-- 
			Barry Margolin
			ARPA: barmar@MIT-Multics
			UUCP: ..!genrad!mit-eddie!barmar