Content deleted Content added
Files used on this page are up for deletion |
→Discuss delayed and manifest arrays: new section |
||
Line 315:
* [[commons:File:Octicons-terminal.svg|Octicons-terminal.svg]]<!-- COMMONSBOT: discussion | 2019-07-26T23:37:55.984986 | Octicons-terminal.svg -->
Participate in the deletion discussion at the [[commons:Commons:Deletion requests/File:Octicons-terminal.svg|nomination page]]. —[[User:Community Tech bot|Community Tech bot]] ([[User talk:Community Tech bot|talk]]) 23:38, 26 July 2019 (UTC)
== Discuss delayed and manifest arrays ==
We should have a section that discusses different conceptual representations of arrays i.e. manifest and delayed. On a high level:
Manifest arrays
* exists in memory;
* contain trash from the memory without initialisation
* can be hidden behind functions to act as delayed arrays
Delayed arrays
* do not have to actually exist;
* are represented by a function of type (!! :: ix -> a) where ix is the index type and a is the type of the values of the array;
* Multidimensional array access translates to function composition
Delayed arrays seem to become more and more prominent in languages such as Haskell, Accelerate, Single Assignment C, Halide, Repa, Massiv and Futhark.
--[[User:Cluzz|Cluzz]] ([[User talk:Cluzz|talk]]) 15:33, 21 January 2020 (UTC)
|