Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!seismo!gatech!bloom-beacon!husc6!necntc!cullvax!drw
From: drw@cullvax.UUCP (Dale Worley)
Newsgroups: comp.lang.c
Subject: A modest proposal
Message-ID: <1362@cullvax.UUCP>
Date: Mon, 13-Jul-87 15:04:09 EDT
Article-I.D.: cullvax.1362
Posted: Mon Jul 13 15:04:09 1987
Date-Received: Tue, 14-Jul-87 06:50:14 EDT
Organization: Cullinet Software, Westwood, MA, USA
Lines: 14

Of all the features of C that are gross, the grossest one is NULL.  As
just a sample of its ugliness, consider the rule that "a pointer can
be compared against a zero integral constant".  This is the only place
in C in a comparison where (a) a constant can't be replaced by an
expression of the same value, or (b) a constant can't be replaced by a
constant with a different value but the same type.

What I propose is the NULL be made into a keyword of the language
which acts like a constant and whose value is a pointer, and
eliminating "0" as the null pointer.  As far as I know, no decently
written C program will break on this, and it would clean a lot of
cruft out of the language definition.

Dale