RE: [sv-bc] Serious issue with default expressions for task and function arguments

From: Rich, Dave <Dave_Rich_at_.....>
Date: Fri Mar 04 2005 - 21:28:41 PST
Mark,

I think you and Gord are probably in agreement. I think Gord was trying
to go a bit further in saying that the boundary that defines a region of
ambiguity can not be itself ambiguous.

I think we need to take a step back and see what the original purpose of
this feature was. I think it was to connect the names of commonly used
actual arguments with identically named formals. Seems exactly like what
.* does for port connections, something the EC was probably not aware
of. I don't think the EC ever intended the level of complexity that you
folks are trying to work out.

I suggest we make things much simpler and just use the declaration
context for default values and add .* functionality to task arguments.

Adam Krolnik made a proposal over a year and a half ago:

http://www.eda.org/svdb/bug_view_page.php?bug_id=0000096

Dave


> -----Original Message-----
> From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of
Mark
> Hartoog
> Sent: Friday, March 04, 2005 1:11 PM
> To: Vreugdenhil, Gordon; Mark Hartoog
> Cc: Greg Jaxon; ieee1800@eda.org; SV_BC List
> Subject: RE: [sv-bc] Serious issue with default expressions for task
and
> function arguments
> 
> Gordon Vreugdenhil wrote:
> > Mark Hartoog wrote:
> > [...]
> > > My opinion is that engineers are not language experts, and giving
an
> > > error when there is any ambiguity in what the default value
expression
> > > means is ok. I would just like to point out that the other
languages
> > > with this feature do not have things like hierarchical functional
> calls
> > > or interface function calls, which make this issue more
complicated.
> >
> >
> > Mark, the problem with this approach is that we're defining
> > a *standard*.  If you really want to permit ambiguity and room
> > for interpretation, fine, define the minimal required situations
> > in which something is guaranteed to have known behavior and
> > then add language for the remainder to the effect that
"implementations
> > may choose....".  Then it is clear to the users AND the implementors
> > what the base standard behavior is that one can rely on.
> 
> That is not what I meant at all.
> 
> Some knowledgeable people seem to expect default value expressions to
be
> evaluated in caller context. Other knowledgeable people expect default
> value expressions to be evaluated in the function/task declaration
> context.
> 
> Given this disagreement between knowledgeable people, we could simple
vote
> and pick one by majority vote on the committee, or we could say that
if
> it is not obvious to us, then it will not be obvious to users either,
and
> change the *standard* to say that any case were these two
interpretations
> might give different answers is illegal.
> 
> Mark Hartoog
> 700 E. Middlefield Road
> Mountain View, CA 94043
> 650 584-5404
> markh@synopsys.com
Received on Fri Mar 4 21:28:45 2005

This archive was generated by hypermail 2.1.8 : Fri Mar 04 2005 - 21:29:00 PST