2,927
edits
(→Dialects: APL2's precedence change is the exception that proves the rule; it's pretty compatible and doesn't belong on the second list) |
|||
Line 15: | Line 15: | ||
In the 1970s and early 1980s it was common to create new APL implementations to run on new hardware. These implementations almost always shared the primitive set of [[APL.SV]] or another IBM APL, but often developed new [[system function]]s or other peripheral functionality to better match the host system. | In the 1970s and early 1980s it was common to create new APL implementations to run on new hardware. These implementations almost always shared the primitive set of [[APL.SV]] or another IBM APL, but often developed new [[system function]]s or other peripheral functionality to better match the host system. | ||
Even the languages listed above may make changes to existing behavior. [[Dyalog APL 13.0]] broke compatibility for the [[Power]] function while introducing [[complex number]]s, | Even the languages listed above may make changes to existing behavior. [[APL2]] broke from [[APL\360]] by promoting [[bracket indexing]] to higher precedence than [[stranding]], a decision that wasn't taken up by its contemporary [[Dyalog APL]], but was shared by some later dialects including [[APLX]] and [[GNU APL]]. More recently, [[Dyalog APL 13.0]] broke compatibility for the [[Power]] function while introducing [[complex number]]s, which were controversial feature for that and other reasons. | ||
Notable APL dialects or offshoots that discard backwards compatibility with APL in significant ways include: | Notable APL dialects or offshoots that discard backwards compatibility with APL in significant ways include: | ||
* [[Ken Iverson|Iverson]]'s papers [[Rationalized APL]] and [[A Dictionary of APL]] | * [[Ken Iverson|Iverson]]'s papers [[Rationalized APL]] and [[A Dictionary of APL]] | ||
* [[A+]], primarily because [[leading axis theory]] allows primitives to be removed or simplified | * [[A+]], primarily because [[leading axis theory]] allows primitives to be removed or simplified | ||
* [[J]] to use only the [[wikipedia:ASCII|ASCII]] character set, [[leading axis theory]], and other primitive changes | * [[J]] to use only the [[wikipedia:ASCII|ASCII]] character set, [[leading axis theory]], and other primitive changes |