Closed gnidan closed 7 months ago
I'm trying to close out my outstanding changes, so I'm calling this PR in a good enough state to get it merged.
There are probably things I'm forgetting that we might need in this schema, but the one big omission on my mind right now is that I don't yet have an example for mapping types.
Whatever. That came come in a subsequent PR... I want to get these changes deployed to a cleaner URL than those Fleek previews.
Define a pointer to be a region or collection of pointers
Define a region to be an optionally-named, continuous sequence of bytes somewhere
Define slice and segment addressing schemes for memory-like addresses and storage-like addresses, respectively
Define different regions for different data locations using the appropriate addressing scheme
Allow a static group of pointers as a collection
Allow a dynamic list of pointers as a collection (for arrays, etc.)
Allow a conditional choice of pointers as a collection (for strings in storage)
Define an expression schema for writing offsets, etc. in terms of the computation of some expression
Allow referencing regions by name in these expressions
Allow expressions to include arithmetic operations and a few other builtins ($keccak256, e.g.)