2.4 Static Types
Note
This specification may be incomplete at this time.
The RD-VBA type system begins with VBType. VBType is at the core of RD-VBA static semantics; runtime values are described in RD-VBAL §2.5 Runtime Values.
All representations of a data type inherit the VBType class. A representation often inherits VBType indirectly, through other abstract types that semantically specialize VBType.
A type is a reference to its declaration; see RD-VBAL §2.3.1.3 Name Resolution.
Type Classifications
The type system defines abstractions that formalize the implicit type classifications in MS-VBAL:
| Abstraction | Kind | Classifies | Described in |
|---|---|---|---|
| VBIntrinsicType | Abstract type | Intrinsic types | RD-VBAL §2.4.1 Intrinsic Types |
| VBNumericType | Abstract type | Numeric types | RD-VBAL §2.4.1.1 VBNumericType |
| IIntegralNumericType | Marker interface | Integer types | RD-VBAL §2.4.1.1 VBNumericType |
| IFixedPointNumericType | Marker interface | Fixed-point numeric types | RD-VBAL §2.4.1.1 VBNumericType |
| IFloatingPointNumericType | Marker interface | Floating-point numeric types | RD-VBAL §2.4.1.1 VBNumericType |
These abstract types and interfaces support pattern-matching of types and values, in both static-semantics and runtime-semantics implementations.
In this section
| § | Title |
|---|---|
| 2.4.1 | Intrinsic Types |
| 2.4.2 | Non-intrinsic Types |
| 2.4.3 | Meta and Advanced Types |
| 2.4.4 | Deferred Types |
⏮️ RD-VBAL §2.3.2 Mode / State | ⏭️ RD-VBAL §2.4.1 Intrinsic Types