Re: desugaring issue


Subject: Re: desugaring issue
From: Jonathan Aldrich (jonal@cs.washington.edu)
Date: Sun Jan 28 2001 - 16:58:46 PST


> forall `G <= AnalysisGraph[E, P],
> `E <= IREdge, `P <= AnalysisPriority[P]:
> object ScopeAnalysis[G]
> isa Analysis[GenericScopeAnalysisInfo,G];
>
> Semantically it is essential that all of `G, `E, and `P, together
> with all the constraints, should be part of both the "object" and
> "isa" desugared declarations.

Hmm...that makes sense. However, if there is already a constraint on the
second parameter of Analysis, it seems like that should automatically be
"inherited" by ScopeAnalysis. That is,

  -- somewhere else
forall `G <= AnalysisGraph[E, P],
       `E <= IREdge, `P <= AnalysisPriority[P], `I <= Something :
object Analysis[I,G];

  -- inherits all the constraints on G, E, and P from Analysis
object ScopeAnalysis[G] isa Analysis[GenericScopeAnalysisInfo,G];

To me, that would be the intuitive semantics, and one which naturally lets
you avoid excessive explicit constraints. Since I'm not a types expert,
I'm probably missing some subtlety, but that's what seems natural to me as
a user.

Jonathan :-)



This archive was generated by hypermail 2b25 : Sun Jan 28 2001 - 16:58:51 PST