Replicate: Difference between revisions

Jump to navigation Jump to search
490 bytes added ,  10:52, 13 March 2020
→‎History: Early history
(→‎History: Early history)
Line 57: Line 57:
== History ==
== History ==


Compress was described in [[A Programming Language]], which used the notation <math>/</math> and <math>//</math> for it. It was included in [[APL\360]] changing the doubled slash to a barred slash <source lang=apl inline>⌿</source>, and continued to be included in APLs essentially unchanged until 1980.
Compress was described in [[A Programming Language]], where it was written with the symbols <math>/</math> and <math>/\!\!/</math>. In [[Iverson notation]] compression was particularly important because [[Take]] and [[Drop]] could be performed only by compression with a [[prefix]] or [[suffix]] vector. It was included in [[APL\360]], which changed the doubled slash to a barred slash <source lang=apl inline>⌿</source>, and allowed a [[specified axis]] and [[singleton extension]] on both sides (very briefly, singleton extension was allowed only for the right argument<ref>Falkoff, A.D., and K.E. Iverson, "[http://keiapl.org/archive/APL360_UsersMan_Aug1968.pdf APL\360 User's Manual]". IBM, August 1968.</ref>). The APL\360 definition continued to be included in APLs unchanged until 1980.


In 1980, [[Bob Bernecky]] introduced the extension Replicate to [[SHARP APL]]: he allowed an operand (since SHARP's Replicate is an operator) consisting of non-negative integers rather than just [[Boolean]]s to indicate the number of times to copy.<ref>[[Bob Bernecky|Bernecky, Bob]]. SATN-34: Replication. [[IPSA]]. 1980-08-15.</ref> This extension was implemented in [[NARS]] in 1981, along with further extensions: a similar change to [[Expand]], and the extension allowing negative integers to indicate [[fill element]]s. Both extensions were quickly adopted by the APL community, and were included in new languages such as [[Dyalog APL]] and [[APL2]], and later the [[ISO/IEC 13751:2001]] standard.
In 1980, [[Bob Bernecky]] introduced the extension Replicate to [[SHARP APL]]: he allowed an operand (since SHARP's Replicate is an operator) consisting of non-negative integers rather than just [[Boolean]]s to indicate the number of times to copy.<ref>[[Bob Bernecky|Bernecky, Bob]]. SATN-34: Replication. [[IPSA]]. 1980-08-15.</ref> This extension was implemented in [[NARS]] in 1981, along with further extensions: a similar change to [[Expand]], and the extension allowing negative integers to indicate [[fill element]]s. Both extensions were quickly adopted by the APL community, and were included in new languages such as [[Dyalog APL]] and [[APL2]], and later the [[ISO/IEC 13751:2001]] standard.

Navigation menu