Ferreteria/v0.6/clade/Sys/Data/Things/Array: Difference between revisions
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}} |}") |
m (→Concepts) |
||
| (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) | ||
| → {{l/ver/clade|Sys/Data/Things|Array}} | | → {{l/ver/clade|Sys/Data/Things|Array}} | ||
| | |||
→ {{l/ver/clade|Sys\Data\Things\Array|DStor}}<br> | |||
→ {{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 Family | ||
|---|---|---|
|
StandardBase (c,i) |
→ Array | |
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)
- Array: clade which consolidates all the array-type interfaces and code
- Array-type interfaces & code (traits) which go into Array:
- ARoot: tentatively, this stuff should all be in Array.
- To be explained:
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.