4,493
edits
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Glyphbox|∇}} | {{Glyphbox|∇}} | ||
The [[glyph]] '''del''' is a triangular symbol resembling an inverted Greek [[wikipedia:delta (letter)|delta]] and is represented by the [[Unicode]] character <code>∇</code>, "nabla". Its uses include: | The [[glyph]] '''del''' is a triangular symbol resembling an inverted Greek [[wikipedia:delta (letter)|delta]] and is represented by the [[Unicode]] character <code>∇</code>, "nabla". Its uses include: | ||
* In [[APL\360]] and most other APLs, it is used to enter and exit the [[wikipedia:line editor|line editor]] which provides a function definition mode.<ref>[[Dyalog Ltd.]] Programming Reference Guide. [https://help.dyalog.com/latest/#Language/Defined%20Functions%20and%20Operators/APL%20Line%20Editor.htm APL Line Editor].</ref> | * In [[APL\360]] and most other APLs, it is used to enter and exit the [[wikipedia:line editor|line editor]] which provides a function definition mode.<ref>[[Dyalog Ltd.]] Programming Reference Guide. [https://help.dyalog.com/latest/#Language/Defined%20Functions%20and%20Operators/TradFns/APL%20Line%20Editor.htm APL Line Editor].</ref> | ||
* In [[Dyalog APL]], [[NARS2000]], [[ngn/apl]], and [[dzaima/APL]] <source lang=apl inline>∇</source> represents the current [[dfn]], or the function derived from the current [[dop]], such that anonymous functions and operators may [[wikipedia:recursion (computer science)|recurse]].<ref>[[Dyalog Ltd.]] Programming Reference Guide. [https://help.dyalog.com/latest/#Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Recursion.htm Recursion].</ref> | * In [[Dyalog APL]], [[NARS2000]], [[ngn/apl]], and [[dzaima/APL]] <source lang=apl inline>∇</source> represents the current [[dfn]], or the function derived from the current [[dop]], such that anonymous functions and operators may [[wikipedia:recursion (computer science)|recurse]].<ref>[[Dyalog Ltd.]] Programming Reference Guide. [https://help.dyalog.com/latest/#Language/Defined%20Functions%20and%20Operators/DynamicFunctions/Recursion.htm Recursion].</ref> | ||
* In [[Dyalog APL]], <source lang=apl inline>∇</source> is used to delimit [[tradfn]] members of scripted [[object oriented programming|objects]].<ref>[[Dyalog Ltd.]] Programming Reference Guide. [https://help.dyalog.com/latest/#Language/Object%20Oriented%20Programming/Class%20Members/Methods/Methods.htm Methods].</ref> | * In [[Dyalog APL]], <source lang=apl inline>∇</source> is used to delimit [[tradfn]] members of scripted [[object oriented programming|objects]].<ref>[[Dyalog Ltd.]] Programming Reference Guide. [https://help.dyalog.com/latest/#Language/Object%20Oriented%20Programming/Class%20Members/Methods/Methods.htm Methods].</ref> | ||
* In [[APL2]], [[APLX]], and [[APL*PLUS]], a variant glyph <source lang=apl inline>⍫</source>, consisting of a Del <source lang=apl inline>∇</source> overstruck with a Tilde <source lang=apl inline>~</source>, is used instead of the closing <source lang=apl inline>∇</source> to "lock" the function definition. This prevents viewing or modifying the function's definition while still allowing the function to run. <ref>[[MicroAPL]]. APLX Help. [http://microapl.com/apl_help/ch_020_010_070.htm User-defined Functions].</ref> [[Dyalog APL]] instead offers the [[Lock Definition]] (<source lang=apl inline>⎕LOCK</source>) [[system function]] which provides a more fine-grained management of locked behaviour.<ref>[[Dyalog Ltd.]] Language Reference Guide. [https://help.dyalog.com/latest/#Language/System%20Functions/lock. | * In [[APL2]], [[APLX]], and [[APL*PLUS]], a variant glyph <source lang=apl inline>⍫</source>, consisting of a Del <source lang=apl inline>∇</source> overstruck with a Tilde <source lang=apl inline>~</source>, is used instead of the closing <source lang=apl inline>∇</source> to "lock" the function definition. This prevents viewing or modifying the function's definition while still allowing the function to run. <ref>[[MicroAPL]]. APLX Help. [http://microapl.com/apl_help/ch_020_010_070.htm User-defined Functions].</ref> [[Dyalog APL]] instead offers the [[Lock Definition]] (<source lang=apl inline>⎕LOCK</source>) [[system function]] which provides a more fine-grained management of locked behaviour.<ref>[[Dyalog Ltd.]] Language Reference Guide. [https://help.dyalog.com/latest/#Language/System%20Functions/lock.htm Lock Definition].</ref> | ||
* In [[APL*PLUS]], <source lang=apl inline>⍝∇</source> marks a special "public comment" which can be retrieved with a dedicated system function even when the function is locked. This is also used to distinguish internal documentation from other comments. | * In [[APL*PLUS]], <source lang=apl inline>⍝∇</source> marks a special "public comment" which can be retrieved with a dedicated system function even when the function is locked. This is also used to distinguish internal documentation from other comments. | ||
It should be noted that Del (<source lang=apl inline>∇</source>) has no connection to Delta (<source lang=apl inline>∆</source>) other than visual similarity. The latter is treated as a normal [[wikipedia:identifier (computer languages)|identifier]] character in all respects. | It should be noted that Del (<source lang=apl inline>∇</source>) has no connection to Delta (<source lang=apl inline>∆</source>) other than visual similarity. The latter is treated as a normal [[wikipedia:identifier (computer languages)|identifier]] character in all respects. |