[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Issue: DECLARE-TYPE-FREE (Version 9)
- To: masinter.pa@Xerox.COM
- Subject: Issue: DECLARE-TYPE-FREE (Version 9)
- From: Jon L White <jonl@lucid.com>
- Date: Wed, 4 Jan 89 01:39:19 PST
- Cc: CL-Cleanup@sail.stanford.edu
- In-reply-to: masinter.pa@Xerox.COM's message of 2 Jan 89 22:12 PST <890102-221315-1967@Xerox>
re: If I say (DECLARE (TYPE (SIGNED-BYTE 12) X)), I'd think I'd like it to mean
that X never even momentarily holds a value that isn't of the declared
type.
For "bound" type declarations, it does mean this -- because the lexical
scope includes all the code that can ever be executed during the dynamic
extent of that (binding) contour. But for "free" type declarations,
we have a choice; we can say that it applies to the lexical scope,
or that it applies to the dynamic extent. Clearly, the former is
simpler, and more in line with our other views on declaration
scoping; see for example this issue DECLARATION-SCOPE, especially
the parallelism between the scoping rules for variables (lexical)
and those for declarations.
re: I'd like to see the writeup make it clear that the following is subsumed;
note that this issue never was released or appeared on a Status list, so
it should probably just be included:
Date: Fri, 4 Nov 88 18:05:21 CST
From: David N Gray <Gray@DSG.csc.ti.com>
To: cl-cleanup@sail.stanford.edu
Subject: Issue SPECIAL-TYPE-SHADOWING (V1)
. . .
Proposal SPECIAL-TYPE-SHADOWING:CLARIFY
Clarify that if there is a local type declaration for a special
variable, and there is also a global type proclamation for that same
variable, then the value of the variable within the scope of the local
declaration must be a member of the intersection of the two declared
types.
I don't think it is subsumed. The various versions of DECLARE-TYPE-FREE
permitted an inner nested declaration to be merely overlapping with
an outer declaration; but Gray's proposal requires local (read: "inner")
declarations to be subtypes of the global proclamations (read: "outter")
-- JonL --