summaryrefslogtreecommitdiff
path: root/docs/type_system/select.md
diff options
context:
space:
mode:
authornodist <kevin.comas.git@gmail.com>2026-06-10 13:34:38 -0400
committernodist <kevin.comas.git@gmail.com>2026-06-10 13:34:38 -0400
commit51d055dc7e1a6edbaedb7ea80b1e678eff924fe0 (patch)
tree03643ee752fb6df836d662df1ce099d547d708dd /docs/type_system/select.md
parentaebce1e48e81559ffe5f496af855a1140d8e0107 (diff)
specify type representation
Diffstat (limited to 'docs/type_system/select.md')
-rw-r--r--docs/type_system/select.md24
1 files changed, 24 insertions, 0 deletions
diff --git a/docs/type_system/select.md b/docs/type_system/select.md
new file mode 100644
index 0000000..b2f8f61
--- /dev/null
+++ b/docs/type_system/select.md
@@ -0,0 +1,24 @@
+# Select
+
+---
+
+A symbol associated with a type
+
+```text
+Select[[SINGLE | MULTIPLE] Type; Collection[.symbol : Const[Value]]]
+```
+
+# Alias
+
+```text
+Enum[Generic.T; Collection[.symbol : Const[Value]]] `alias Select[[SINGLE]; Generic.T; Collection[.symbol : Const[Value]]]
+
+Mask[Generic.T; Collection[.symbol : Const[Value]]] `alias Select[[MULTIPLE]; Generic.T; Collection[.symbol : Const[Value]]]
+```
+
+## Definition Example
+
+```text
+E : Enum[I64; .a; .b; .c]
+`log E // Enum[I64; .a : 0; .b : 1; .c : 2]
+```