Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.1 6/24/83; site brl-tgr.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!ihnp4!zehntel!hplabs!hao!seismo!brl-tgr!gwyn
From: gwyn@brl-tgr.ARPA (Doug Gwyn )
Newsgroups: net.lang.c
Subject: re:  Required Declaration of C Function Parameters
Message-ID: <3816@brl-tgr.ARPA>
Date: Sun, 5-Aug-84 19:44:26 EDT
Article-I.D.: brl-tgr.3816
Posted: Sun Aug  5 19:44:26 1984
Date-Received: Wed, 8-Aug-84 19:37:07 EDT
References: <1516@ucbvax.UUCP>
Organization: Ballistics Research Lab
Lines: 11

Although the syntax of recursive type declaration can be made
simpler (as in the Cedar example), one will still run into
problems when type-checking recursive types unless some trick
similar in concept to the example I gave is used.  Note that
the idea of having two types of entity whose "useful" property
is the same but which have a different additional property for
cutting recursion short is commonly used, for example in the
axioms of a set theory free from Russell antinomies.  It is
possible to embed the recursion-truncation in an algorithm
in such a way that the two "levels" are not obvious, but they
are always there.