Migration level: Difference between revisions

Jump to navigation Jump to search
(APL+Win)
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:


== APL+Win settings ==
== APL+Win settings ==
APL+Win's default is <syntaxhighlight lang=apl inline>)EvLevel 2</syntaxhighlight>.


{|class=wikitable
{|class=wikitable
Line 40: Line 42:
|-
|-
| Unparenthesised [[strand]] [[assignment]]
| Unparenthesised [[strand]] [[assignment]]
| [[EVOLUTION ERROR]]
| assigned value distributed to names
| assigned value distributed to names
| [[EVOLUTION ERROR]]
| [[EVOLUTION ERROR]]
Line 83: Line 86:
== Dyalog settings ==
== Dyalog settings ==


Dyalog APL currently offers the following settings:
Dyalog's default setting is currently <syntaxhighlight lang=apl inline>⎕ML=1</syntaxhighlight>.


{| class=wikitable
{| class=wikitable
| <syntaxhighlight lang=apl inline>⎕ML=0</syntaxhighlight>
! Feature !! <syntaxhighlight lang=apl inline>⎕ML←0</syntaxhighlight> !! <syntaxhighlight lang=apl inline>⎕ML←1</syntaxhighlight> !! <syntaxhighlight lang=apl inline>⎕ML←2</syntaxhighlight> !! <syntaxhighlight lang=apl inline>⎕ML←3</syntaxhighlight>
| <syntaxhighlight lang=apl inline>Z←∊R</syntaxhighlight>
|-
| Monadic <syntaxhighlight lang=apl inline>∊</syntaxhighlight> is interpreted as [[Type]] rather than [[Enlist]].
| Monadic <syntaxhighlight lang=apl inline>∊</syntaxhighlight>
| [[Type]]
| [[Enlist]]
| [[Enlist]]
| [[Enlist]]
|-
|-
| <syntaxhighlight lang=apl inline>⎕ML=1</syntaxhighlight>
| Monadic <syntaxhighlight lang=apl inline></syntaxhighlight>
|  
| [[Mix]]
| Default behaviour
| [[Mix]]
| [[First]]
| [[First]]
|-
|-
| rowspan=3 | <syntaxhighlight lang=apl inline>⎕ML≥2</syntaxhighlight>
| Monadic <syntaxhighlight lang=apl inline></syntaxhighlight>
| <syntaxhighlight lang=apl inline>Z←↑R</syntaxhighlight>
| [[First]]
| Monadic <syntaxhighlight lang=apl inline>↑</syntaxhighlight> is interpreted as [[First]] rather than [[Mix]].
| [[First]]
| [[Mix]]
| [[Mix]]
|-
|-
| <syntaxhighlight lang=apl inline>Z←⊃R</syntaxhighlight>
| Monadic <syntaxhighlight lang=apl inline></syntaxhighlight> on array of uneven [[depth]]
| Monadic <syntaxhighlight lang=apl inline></syntaxhighlight> is interpreted as [[Mix]] rather than [[First]].
| negative result
| negative result
| positive result
| positive result
|-  
|-  
| <syntaxhighlight lang=apl inline>Z←≡R</syntaxhighlight>
| Dyadic <syntaxhighlight lang=apl inline></syntaxhighlight>
| Monadic <syntaxhighlight lang=apl inline>≡</syntaxhighlight> returns a positive rather than a negative value, if its argument has non-uniform [[depth]].
| [[Partitioned enclose]]
| [[Partitioned enclose]]
| [[Partitioned enclose]]
| [[Partition]]
|-
|-
| rowspan=2| <syntaxhighlight lang=apl inline>⎕ML=3</syntaxhighlight>
| <syntaxhighlight lang=apl inline>R←X⊂[K]Y</syntaxhighlight>
| Dyadic <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> is interpreted as [[Partition]] (<syntaxhighlight lang=apl inline>⊆</syntaxhighlight>) rather than [[Partitioned Enclose]].
|-
| <syntaxhighlight lang=apl inline>⎕TC</syntaxhighlight>
| <syntaxhighlight lang=apl inline>⎕TC</syntaxhighlight>
| The order of the elements of <syntaxhighlight lang=apl inline>⎕TC</syntaxhighlight> is the same as in APL2.
| <syntaxhighlight lang=apl inline>⎕UCS 8 10 13</syntaxhighlight>
| <syntaxhighlight lang=apl inline>⎕UCS 8 10 13</syntaxhighlight>
| <syntaxhighlight lang=apl inline>⎕UCS 8 10 13</syntaxhighlight>
| <syntaxhighlight lang=apl inline>⎕UCS 8 13 10</syntaxhighlight>
|}
|}


Line 120: Line 136:
| <syntaxhighlight lang=apl inline>⎕ML=0</syntaxhighlight>
| <syntaxhighlight lang=apl inline>⎕ML=0</syntaxhighlight>
| <syntaxhighlight lang=apl>Epsilon←{×⎕NC'⍺':⍺∊⍵ ⋄ ⊃0⍴⊂⍵}</syntaxhighlight>
| <syntaxhighlight lang=apl>Epsilon←{×⎕NC'⍺':⍺∊⍵ ⋄ ⊃0⍴⊂⍵}</syntaxhighlight>
| <syntaxhighlight lang=apl inline>'''[^'']+''' '∊'⎕R'&' 'Epsilon'</syntaxhighlight>
| <syntaxhighlight lang=apl inline>'''[^'']+''' '∊'⎕R'&' ' Epsilon '</syntaxhighlight>
|-
|-
| <syntaxhighlight lang=apl inline>⎕ML=2</syntaxhighlight>
| <syntaxhighlight lang=apl inline>⎕ML=2</syntaxhighlight>
Line 128: Line 144:
EqualUnderbar←|≡
EqualUnderbar←|≡
</syntaxhighlight>
</syntaxhighlight>
| <syntaxhighlight lang=apl inline>'''[^'']+''' '↑' '⊃' '≡'⎕R'&' 'UpArrow' 'RightShoe' 'EqualUnderbar'</syntaxhighlight>
| <syntaxhighlight lang=apl inline>'''[^'']+''' '↑' '⊃' '≡'⎕R'&' ' UpArrow ' ' RightShoe ' ' EqualUnderbar '</syntaxhighlight>
|-
|-
| <syntaxhighlight lang=apl inline>⎕ML=3</syntaxhighlight>
| <syntaxhighlight lang=apl inline>⎕ML=3</syntaxhighlight>
Line 138: Line 154:
quadTC←(⎕UCS 8 13 10)
quadTC←(⎕UCS 8 13 10)
</syntaxhighlight>
</syntaxhighlight>
| <syntaxhighlight lang=apl inline>'''[^'']+''' '↑' '⊃' '≡' '⊂' '⎕TC'⎕R'&' 'UpArrow' 'RightShoe' 'EqualUnderbar' 'LeftShoe' ' quadTC'</syntaxhighlight>
| <syntaxhighlight lang=apl inline>'''[^'']+''' '↑' '⊃' '≡' '⊂' '⎕TC'⎕R'&' ' UpArrow ' ' RightShoe ' ' EqualUnderbar ' ' LeftShoe ' ' quadTC '</syntaxhighlight>
|}
|}
Alternatively, the definitions can be used directly inside the text substitutions, whereby one avoids polluting existing code with these cover names.
Alternatively, the definitions can be used directly inside the text substitutions, whereby one avoids polluting existing code with these cover names.

Navigation menu