[WIP] On IValue to IAction dispatch
#3133
greymistcube
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Definitions
Let$\mathbb{N}$ be the set of all block indices, $\mathbb{S}$ be the set of all $\mathbb{T}$ be the set of all $X_{\mathbb{T}}$ to be the set of all instances of $\mathbb{T}$ .
IValues, andtypes, includingnullfor the undefinedtype. Furthermore, we definetypes inMaps
We define
TypeLoadfunction to be a mapWe can define
Instantiatefunction to be a mapWe also define
Bencodingfunction to be a mapThen we want the following properties:
typeof
typeIValuewith indexof
typeIValuemust beIValuefor some instanceis some index
Preliminary Analysis
Although the maps$\Sigma, \Phi$ , and $\Gamma$ may be arbitrary, what we really want is $\Sigma$ to schematically map to $\mathbb{T}$ .
For example, we can have
Integer, map totypeText, map totypeHowever, it is lot more practical to have$t$ itself have the information required so that
typeTypeLoadfunction is intuitively defined.Hence, we further require$\mathbb{T}$ to have the following property:
To make use of this, we also need to require every$s \in \mathbb{S}$ to have include $e(t)$ schematically. This is currently semi-enforced by the usage of
IValuetype_idfield in the codebase1.So we also require$\mathbb{S}$ to have the following property:
typeIValueFootnotes
This forces $s$ to be a
Dictionarywith atype_idfield. Sadly, for backward compatibility, this must be supported going onwards. ↩Beta Was this translation helpful? Give feedback.
All reactions