Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rutgers!ames!oliveb!sun!gorodish!guy
From: guy%gorodish@Sun.COM (Guy Harris)
Newsgroups: comp.lang.c
Subject: Re: Loopholes
Message-ID: <11243@sun.uucp>
Date: Sun, 11-Jan-87 18:11:28 EST
Article-I.D.: sun.11243
Posted: Sun Jan 11 18:11:28 1987
Date-Received: Mon, 12-Jan-87 00:37:31 EST
References: <2029@brl-adm.ARPA> <604@sdchema.sdchem.UUCP> <10849@sun.uucp> <1933@mmintl.UUCP>
Sender: news@sun.uucp
Lines: 16
Summary: But arguably C *does* need a LOOPHOLE operator!

> This isn't surprising.  Generally speaking, the stronger the type checking,
> the more need there is for this kind of operator -- especially if you want
> to do systems-type programming with it.

In some cases there are things you can't do in C without such an operator.
For example, if you have a "register" variable of some type, and you want to
interpret its bits as a value of some other type, you can't use the

	*(something_else *)(&x)

trick.

The lack of such an operator in C might not be surprising; it is amusing,
though, that there are grungy low-level non-portable things that can be
expressed in a language with more strongly checked types than C's, but not
in C.