Implementation Comparisons: Difference between revisions
From NARS2000
Jump to navigationJump to search
(Created page with "Different designers make different choices. Neither should be considered Good or Bad, just different. Here are a few of the differences between Dyalog APL and NARS2000: <ul...") |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
==Features Missing in NARS2000== | |||
<ul> | |||
<li>Selective Assignment: The syntax of <apll>(...)←...</apll> where the code inside of the parens selects elements of a named array is missing from NARS2000. It may be emulated by using Indexed Assignment: | |||
{| | |||
|- | |||
|Dyalog:||<apll>((⊂ L)⌷R)←...</apll> | |||
|- | |||
|NARS2000:||<apll>R[L]←...</apll> | |||
|} | |||
</li> | |||
</ul> | |||
==Differences With Dyalog APL== | |||
Different designers make different choices. Neither should be considered Good or Bad, just different. Here are a few of the differences between Dyalog APL and NARS2000: | Different designers make different choices. Neither should be considered Good or Bad, just different. Here are a few of the differences between Dyalog APL and NARS2000: | ||
Latest revision as of 12:58, 7 April 2020
Features Missing in NARS2000
- Selective Assignment: The syntax of (...)←... where the code inside of the parens selects elements of a named array is missing from NARS2000. It may be emulated by using Indexed Assignment:
Dyalog: ((⊂ L)⌷R)←... NARS2000: R[L]←...
Differences With Dyalog APL
Different designers make different choices. Neither should be considered Good or Bad, just different. Here are a few of the differences between Dyalog APL and NARS2000:
- Multi-name assignment in Dyalog does not require parens, whereas NARS2000 does
Dyalog: i j ←⍺ NARS2000: (i j)←⍺ - A Train assigned to a name does not require parens in Dyalog, but are required in NARS2000
Dyalog: e← -phi grad NARS2000: e←(-phi grad) - Dyalog's definition of the monadic function ↑ depends upon the value of ⎕ML (⎕ML<2 is Mix, ⎕ML≥2 is First), whereas NARS2000 uses the monadic function ⊃ for Mix and ↑ for First
Dyalog: csc←{sign↑⍳n⍴n←⍴⍵} NARS2000: csc←{sign⊃⍳n⍴n←⍴⍵} - I'm not sure about Dyalog, but I know that NARS2000 does not have the concept of Rank well-integrated into its implementation.
- The Binding Strength Rules are different. In NARS2000, a numeric strand as the right operand to an operator must be enclosed in parens
Dyalog: ⍤ 0 1 NARS2000: ⍤(0 1)