Ferreteria/v0.6/clade/Sys/Data/Things/Array: Difference between revisions

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | Sys‎ | Data‎ | Things
Jump to navigation Jump to search
(Created page with "{{page/clade}} {| style="border: solid 1px black; float: right;" ! colspan=3 | Clade Family |- | align=right | {{l/ver/clade|Aux|StandardBase}} (c,i)<br> {{l/ver/clade|Sys\Data\Things\Array\ifaces|Keyed}} (i,t)<br> {{l/ver/clade|Sys\Data\Things\Array\ifaces|Series}} (i,t)<br> {{l/ver/clade|Sys\Data\Things\Array\ifaces|Whole}} (i,t) | → {{l/ver/clade|Sys/Data/Things|Array}} |}")
 
 
(5 intermediate revisions by the same user not shown)
Line 9: Line 9:
{{l/ver/clade|Sys\Data\Things\Array\ifaces|Whole}} (i,t)
{{l/ver/clade|Sys\Data\Things\Array\ifaces|Whole}} (i,t)
| &rarr; {{l/ver/clade|Sys/Data/Things|Array}}
| &rarr; {{l/ver/clade|Sys/Data/Things|Array}}
|
&rarr; {{l/ver/clade|Sys\Data\Things\Array|DStor}}<br>
&rarr; {{l/ver/clade|Sys\Data\Things\Array|QStor}}
|}
|}
==About==
===Concepts===
* An Array is always a Series (i.e. it retains order), but a Series is not necessarily an Array. (It could be more like a stream.)
* An Array always has a key, but sometimes the key is just a sequential number. A Keyed array is an Array with assigned key-values.
* (not implemented) A Flags[et] is a collection of boolean values, i.e. predefined items which are either present or absent
** It ''probably'' makes more sense to just implement these as integer constants defined with binary values, rather than a clade... unless you want a user-friendly readout? To be explored.
* (not implemented) An enum is a fixed set of values, and can represent each of those values individually. A wrapper for this could provide additional services not permitted by {{l/htyp|PHP/enum|PHP's enum implementaton}}.
===Clade structure===
''subject to revision while I think through the concepts (2025-08-16)''
* {{l/ver/clade|Sys/Data/Things|Array}}: clade which consolidates all the array-type interfaces and code
* Array-type interfaces & code (traits) which go into {{l/ver/clade|Sys/Data/Things|Array}}:
** {{l/ver/clade|Sys\Data\Things\Array\ifaces|Keyed}}
** {{l/ver/clade|Sys\Data\Things\Array\ifaces|Series}}
** {{l/ver/clade|Sys\Data\Things\Array\ifaces|Whole}}
* {{l/ver/clade|Sys\Data\Things\Array\ifaces|ARoot}}: tentatively, this stuff should all be in {{l/ver/clade|Sys/Data/Things|Array}}.
* To be explained:
** {{l/ver/clade|Sys\Data\Things\Array|DStor}} stuff:
*** interfaces:
**** {{l/ver/clade|Sys\Data\Things\Array\ifaces\D|Keyed}}
**** {{l/ver/clade|Sys\Data\Things\Array\ifaces\D|Series}}
**** {{l/ver/clade|Sys\Data\Things\Array\ifaces\D|Whole}}
*** podlings:
**** {{l/ver/clade|Sys\Data\Things\Array\DStor|AStr}}
**** {{l/ver/clade|Sys\Data\Things\Array\DStor|Pieces}}
***** {{l/ver/clade|Sys\Data\Things\Array\DStor\AStr|Row}}
** {{l/ver/clade|Sys\Data\Things\Array|QStor}} stuff:
*** interfaces:
**** {{l/ver/clade|Sys\Data\Things\Array\ifaces\Q|Keyed}}
**** {{l/ver/clade|Sys\Data\Things\Array\ifaces\Q|Series}}
**** {{l/ver/clade|Sys\Data\Things\Array\ifaces\Q|Whole}}
*** podlings:
**** {{l/ver/clade|Sys\Data\Things\Array\DStor|AObj}}
**** {{l/ver/clade|Sys\Data\Things\Array\DStor|Fields}}
==History==
* '''2025-08-15''' I keep getting muddled about how this is supposed to work, and therefore writing problematic code -- so, finally mapping it out conceptually.

Latest revision as of 14:12, 17 August 2025

clade: Sys\Data\Things\Array
Clade Family

StandardBase (c,i)
Keyed (i,t)
Series (i,t)
Whole (i,t)

Array

DStor
QStor

About

Concepts

  • An Array is always a Series (i.e. it retains order), but a Series is not necessarily an Array. (It could be more like a stream.)
  • An Array always has a key, but sometimes the key is just a sequential number. A Keyed array is an Array with assigned key-values.
  • (not implemented) A Flags[et] is a collection of boolean values, i.e. predefined items which are either present or absent
    • It probably makes more sense to just implement these as integer constants defined with binary values, rather than a clade... unless you want a user-friendly readout? To be explored.
  • (not implemented) An enum is a fixed set of values, and can represent each of those values individually. A wrapper for this could provide additional services not permitted by PHP's enum implementaton.

Clade structure

subject to revision while I think through the concepts (2025-08-16)

History

  • 2025-08-15 I keep getting muddled about how this is supposed to work, and therefore writing problematic code -- so, finally mapping it out conceptually.