github.com/ipld/go-ipld-prime@v0.21.0/schema/gen/go/HACKME_abbrevs.md (about)

     1  abbreviations
     2  =============
     3  
     4  A lot of abbreviations are used the generated code in the interest of minimizing the size of the output.
     5  
     6  This is a short index of the most common ones:
     7  
     8  - `n` -- **n**ode, of course -- the accessor functions on node implementations usually refer to their 'this' as 'n'.
     9  - `na` -- **n**ode **a**ssembler
    10  	- `la` or `ma` may also be seen for **l**ist and **m**ap in some contexts (but may refer to same type being called `na` in other contexts).
    11  - `w` -- **w**ork-in-progress node -- you'll see this in nearly every assembler (e.g. `na.w` is a very common string).
    12  
    13  inside nodes:
    14  
    15  - `x` -- a placeholder for "the thing" for types that contain only one element of data (e.g., the string inside a codegen'd node of string kind).
    16  - `t` -- **t**able -- the slice inside most map nodes that is used for alloc amortizations and maintaining order.
    17  - `m` -- **m**ap -- the actual map inside most map nodes (seealso `t`, which is usually a sibling).
    18  
    19  inside assemblers:
    20  
    21  - `va` -- **v**alue **a**ssembler -- an assembler for values in lists or maps (often embedded in the node asembler, e.g. `ma.va` and `la.va` are common strings).
    22  - `ka` -- **k**ey **a**ssembler -- an assembler for keys in maps (often embedded in the node asembler, e.g. `ma.ka` is a common string).
    23  - `ca_*` -- **c**hild **a**ssembler -- the same concept as `ka` and `va`, but appearing in structs and other types that have differentiated children.
    24  - `cm` -- **c**hild **m**aybe -- a piece of memory sometimes found in a node assembler for statekeeping for child assemblers.
    25  - `m` -- **m**aybe pointer -- a pointer to where an assembler should put a mark when it's finished.  (this is often a pointer to a parent structure's 'cm'!)