[sv-ec] Types, typedefs, and type parameters

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Tue Oct 16 2007 - 11:05:09 PDT
There was some question in Monday's EC meeting as to what Mentor was
after in the type/typedef/type parameter space.

Mentor views all types as having the same first-class status within
SystemVerilog.  Essentially this means that we believe that it is
always valid to use a typedef or a type parameter in a context in
which a direct type reference is permitted.

So, for example, if you can extend a class type or construct an object
by using a direct class type identifier, you can extend a type or
construct an object by using a typedef or type parameter that resolves
to a class type.  The same applies for all type-like contexts -- field
declarations, associative array index types, etc.

As with many language design principles, feature interaction issues do
show up as implementers apply principles to functional systems.  These
interaction issues need to be resolved as specific issues without
sacrificing language principles and regularity.  Mentor agrees that
there are a few issues related to name resolution when adopting the
approach of all types as first-class; we've raised these few specific
issues in prior discussion and again in the name resolution face-to-face.

Mentor believes that its approach to having all types treated as
first-class falls into the area of critical language principles and as
such, should not be unduly compromised.

Gord.
-- 
--------------------------------------------------------------------
Gordon Vreugdenhil                                503-685-0808
Model Technology (Mentor Graphics)                gordonv@model.com


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Oct 16 11:07:03 2007

This archive was generated by hypermail 2.1.8 : Tue Oct 16 2007 - 11:07:30 PDT