3,038
edits
m (Marshall moved page Disclose (disambiguation) to Disclose over a redirect without leaving a redirect: wikipedia:wikipedia:Broad-concept article fits this better than a disambiguation page) |
(Explain how SHARP-family Mix is just Disclose rank 0) |
||
Line 5: | Line 5: | ||
Early experiments in array nesting usually defined a primitive to extract the contents of a nested [[scalar]], but did not always specify how it should behave on an array. [[Jim Brown]]'s "A Generalization of APL",<ref>[[Jim Brown]]. [http://www.softwarepreservation.org/projects/apl/Books/AGENERALIZATIONOFAPL "A Generalization of APL"] (Ph.D. thesis). 1971.</ref> stated that it "may be undefined" on non-scalar arrays. However, all dialects do define it on non-scalars, but with differing definitions. | Early experiments in array nesting usually defined a primitive to extract the contents of a nested [[scalar]], but did not always specify how it should behave on an array. [[Jim Brown]]'s "A Generalization of APL",<ref>[[Jim Brown]]. [http://www.softwarepreservation.org/projects/apl/Books/AGENERALIZATIONOFAPL "A Generalization of APL"] (Ph.D. thesis). 1971.</ref> stated that it "may be undefined" on non-scalar arrays. However, all dialects do define it on non-scalars, but with differing definitions. | ||
In the [[SHARP APL]] family, the behavior of Mix follows automatically by giving Disclose a [[function rank]] of 0. Disclose returns the contents of each [[box]] in an array, and rank treats these results as the cells of a result array. | |||
== History == | == History == | ||
The two [[glyph]]s commonly used for Disclose are [[Right Shoe]] and [[Up Arrow]]. The original [[NARS]] paper specified monadic <syntaxhighlight lang=apl inline>↑</syntaxhighlight> as Mix and <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> as First, so [[Dyalog]] and [[STSC]] implemented [[Dyalog APL]] and [[APL*PLUS]] accordingly. [[IBM]] decided to swap them in [[APL2]], causing the others to implement [[Migration Level]], as APL2 was seen as the authoritative implementation. When the ISO [[standard]] was written, it closely followed APL2, causing [[APLX]], [[NARS2000]], [[GNU APL]], and [[ngn/apl]] to adopt these notations. However, ngn/apl later switched to follow Dyalog. | The two [[glyph]]s commonly used for Disclose are [[Right Shoe]] and [[Up Arrow]]. The original [[NARS]] paper specified monadic <syntaxhighlight lang=apl inline>↑</syntaxhighlight> as Mix and <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> as First, so [[Dyalog]] and [[STSC]] implemented [[Dyalog APL]] and [[APL*PLUS]] accordingly. [[IBM]] decided to swap them in [[APL2]], causing the others to implement [[Migration Level]], as APL2 was seen as the authoritative implementation. When the ISO [[standard]] was written, it closely followed APL2, causing [[APLX]], [[NARS2000]], [[GNU APL]], and [[ngn/apl]] to adopt these notations. However, ngn/apl later switched to follow Dyalog. |