From OrganicDesign Wiki
| This article is a stub. Stubs are articles that have not yet received substantial attention from the authors. They are short or insufficient pieces of information and require additions to further increase the article's usefulness. The project values stubs as useful first steps toward complete articles.
|
|
- Kinds of node reference
- Index: At runtime all nodes in use are a collection called node space which is itself a subset of list space. All the items in list space form a single ordered list addessable by integer index starting at item 0 which is root. At runtime nodes addessable directly by reference are called local and both the keys and values of all the key:value pairs within local nodes are list-space-indexes.
- GUID: GUID's are globally unique integer identifiers suplied by Identity to nodes which need to be persistently stored or communicated throughout the nodal network which is called global relative to a particular node space.
- Name: Names are for Human use and play similar roles to nodes and domain-names do to IP addresses except that names are allowed to conflict, change or be completely context-specific. Any node can have any number of names dynamically associated with it.
- Using references as association-keys
The concept used by list space of references to list items also playing the roles of lookup key in nodes is a tricky one which could do with some detailed explanation.
- What does it mean conceptually to use a hash-ref as a hash-key?
- Breaking down the division between data and process
- Not name-based
- No parsing, conversion or lookups
- High efficiency atomic operations
- List space does it with binary-traversal
- Pseduo node values
Since node references in a local node space are always integer indexes regardless of the specifics of the implementation, the values can be used for purposes other than references other nodes in the space. When node values are used non-nodally like this they are called pseudo node values. Nodal reduction uses pseudo values for executing functions; nodeCODE associations containing non-zero values are used as indexes into a local pointer list from which the function reference to execute is retrieved.