Backwards compatibility: Difference between revisions

Jump to navigation Jump to search
m
→‎Dialects: BQN stays compatible with itself now
(→‎Dialects: Rationalized APL was intended to be backwards-compatible; Dictionary was iffy but not a huge break)
m (→‎Dialects: BQN stays compatible with itself now)
Line 39: Line 39:
* [[BQN]] for numerous reasons including [[leading axis theory]], redesigned [[glyph]]s, and removing implicit [[stranding]]
* [[BQN]] for numerous reasons including [[leading axis theory]], redesigned [[glyph]]s, and removing implicit [[stranding]]


Of these, [[J]] has built a large enough user base to develop its own backwards compatibility concerns, even though early J design was fairly loose with respect to backwards compatibility. Beginning with version 8.07 in 2018 it has removed various features that are considered less important.
Of these, [[J]] has built a large enough user base to develop its own backwards compatibility concerns, even though early J design was fairly loose with respect to backwards compatibility. Beginning with version 8.07 in 2018 it has removed various features that are considered less important. [[BQN]] now strongly emphasizes backwards compatibility.


Newer and less commercial APLs such as [[APL\iv]], [[April]], or [[ngn/apl]] tend to be less focused on backwards compatibility than historical ones. These dialects tend to take most design choices from a well-known APL such as [[Dyalog APL]] or [[GNU APL]], but make small breaks for experimentation or address particular issues. They typically do not support features that were historically important but are now rarely used, such as [[shared variables]] or [[Branch]], and may discard features that are still in use but have an adequate replacement, for example removing [[tradfn]]s in favor of [[dfn]]s.
Newer and less commercial APLs such as [[APL\iv]], [[April]], or [[ngn/apl]] tend to be less focused on backwards compatibility than historical ones. These dialects tend to take most design choices from a well-known APL such as [[Dyalog APL]] or [[GNU APL]], but make small breaks for experimentation or address particular issues. They typically do not support features that were historically important but are now rarely used, such as [[shared variables]] or [[Branch]], and may discard features that are still in use but have an adequate replacement, for example removing [[tradfn]]s in favor of [[dfn]]s.

Navigation menu