Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site gumby.UUCP
Path: utzoo!watmath!clyde!cbosgd!ihnp4!mhuxn!mhuxb!mhuxr!ulysses!allegra!mit-eddie!godot!harvard!seismo!uwvax!gumby!g-frank
From: g-frank@gumby.UUCP
Newsgroups: net.lang.c
Subject: Re: Language transitions
Message-ID: <282@gumby.UUCP>
Date: Thu, 7-Feb-85 00:04:53 EST
Article-I.D.: gumby.282
Posted: Thu Feb  7 00:04:53 1985
Date-Received: Sat, 9-Feb-85 07:33:43 EST
References: <252@gumby.UUCP> <535@ukma.UUCP> <258@gumby.UUCP> <4475@ucbvax.ARPA> <268@gumby.UUCP> <302@psivax.UUCP>
Organization: U of Wisconsin CS Dept
Lines: 25

> With all his talk about
> the importance of data hiding and locality, he did not include local
> statics. To get a static variable it must be global! This is significant
> lack, I use local statics regularly for internal state variables, which
> is what they are for.  I also do not seem to remember any facility
> for type casting or its equivalent, very useful for general purpose
> routines and record type.
> -- 

   Modules are intended to allow hiding of what you would call local
statics.  You just make a module small enough that state information
is reasonably kept in its private global variables without violating
scoping rules.  This doesn't always work, but most of the time it is
reasonable.

   Any type, including user-defined ones, may be cast to by taking its
name as though it were a function call, as in

      CARDINAL (myvar)    or   SuperType (somevar)


-- 
      Dan Frank

	"good news is just life's way of keeping you off balance."