Data

From Adam Colton
Revision as of 15:20, 19 September 2019 by Adamcolton (talk | contribs) (→Large Uint)
Jump to navigation Jump to search

Data; it's structure, formatting and storage.

Large Uint

A uint is a byte slice.

 (data uint) LoadUint(l uint) (this uint, rest uint) {
   if l==0{
     b = data[0]
     if b < 129 {
       return b, data[1:]
     }
     if b < 252 {
       return data[1:b-250], data[b-250:]
     }
     return LoadUint(b-251)
   }
   return data[1:l+1], data[l+1:]
 }

Fundamental Structures

Value

A type and bytes where the type indicates how to interpret the bytes.

Array

An ordered list, all of the same type.

Tagged Union

One of a set of types with a tag indicating the type.

Tuple

An ordered list where the tuple type defines the length and the type of each element.

Struct

An unordered list where each element has a tag and a type.

Associative Array

An unordered list where each element has key and value.