Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!yetti!geac!daveb From: daveb@geac.UUCP (Dave Brown) Newsgroups: comp.lang.c Subject: Re: Another portable code question Message-ID: <786@geac.UUCP> Date: Tue, 16-Jun-87 10:15:00 EDT Article-I.D.: geac.786 Posted: Tue Jun 16 10:15:00 1987 Date-Received: Wed, 17-Jun-87 00:37:38 EDT References: <16673@cca.CCA.COM> <7048@mimsy.UUCP> Reply-To: daveb@geac.UUCP (Dave Brown) Organization: GEAC Computers, Toronto, CANADA Lines: 20 Summary: automatic type-changing belongs in c++, c[1], etc. In article <7048@mimsy.UUCP> chris@mimsy.UUCP (Chris Torek) writes: >If you look at it properly, this is not so strange after all: >Values of type `function' are changed to values of type `pointer >to function' in most contexts. Why not change them thus even in >function call contexts, and then allow > pointer-to-function '(' argument-list ')' ';' >and accept either form? Probably for the same reason that caused so much discussion over automatic changing of array-name to pointer-to-array -vs- taking the address of an array-name: the more the compiler does for you, the more it has to guarantee that what it did will never cause future problems. Friendlyness -> Complexity -> Defaults -> PL/1 My solution? Promote all the niceties to a language called c+, c+-, c[1] or whatever and remove some of the warts on regular c. Then call *that* language c--. --dave (then *REAL PROGRAMMERS* would use c-- instead of fortran) brown