File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66
77## Summary
88
9+ Vortex separates logical types (` DType ` ) from physical encodings, but the boundary between them has
10+ been defined informally. This has led to recurring debates, such as whether ` FixedSizeBinary<n> `
11+ warrants a new ` DType ` variant or is merely ` FixedSizeList<u8, n> ` under a different name. More
12+ fundamentally, we lack a shared vocabulary for reasoning about what makes two types "different" at
13+ the logical level.
14+
915This RFC formalizes the Vortex type system by grounding ` DType ` as a quotient type over physical
10- encodings and establishes a decision framework (based on refinement types) for when new ` DType `
11- variants are justified.
16+ encodings: each ` DType ` variant names an equivalence class of encodings that decode to the same
17+ logical values. It then uses refinement types to establish a decision framework for when new ` DType `
18+ variants are justified. A new logical type requires either semantic distinctness (a genuinely
19+ different equivalence class) or a refinement predicate that gates operations unavailable on the
20+ parent type. If justified, a second step determines whether the type belongs in core ` DType ` or as
21+ an extension type.
1222
1323## Overview
1424
You can’t perform that action at this time.
0 commit comments