Derived function: Difference between revisions

Jump to navigation Jump to search
188 bytes added ,  22:18, 10 September 2022
m
Text replacement - "<source" to "<syntaxhighlight"
Miraheze>Adám Brudzewsky
No edit summary
 
m (Text replacement - "<source" to "<syntaxhighlight")
 
(3 intermediate revisions by 3 users not shown)
Line 2: Line 2:


Consider for example applying a [[Windowed Reduction]] to an array:
Consider for example applying a [[Windowed Reduction]] to an array:
<source lang=apl>
<syntaxhighlight lang=apl>
       3 ⌈/ 2 9 0 ¯1 0 2 5
       3 ⌈/ 2 9 0 ¯1 0 2 5
9 9 0 2 5
9 9 0 2 5
</source>
</syntaxhighlight>
In this statement the [[Reduce]] operator (<source lang=apl inline>/</source>) is applied to the [[Minimum]] function (<source lang=apl inline>⌈</source>) resulting in the derived function <source lang=apl inline>⌈/</source>. In most modern APLs this function can be manipulated like any other function, for example to [[assign]] it to a name:
In this statement the [[Reduce]] operator (<syntaxhighlight lang=apl inline>/</syntaxhighlight>) is applied to the [[Minimum]] function (<syntaxhighlight lang=apl inline>⌈</syntaxhighlight>) resulting in the derived function <syntaxhighlight lang=apl inline>⌈/</syntaxhighlight>. In most modern APLs this function can be manipulated like any other function, for example to [[assign]] it to a name:
<source lang=apl>
<syntaxhighlight lang=apl>
       f ← ⌈/
       f ← ⌈/
       3 f 2 9 0 ¯1 0 2 5
       3 f 2 9 0 ¯1 0 2 5
9 9 0 2 5
9 9 0 2 5
</source>
</syntaxhighlight>
Here the value of <source lang=apl inline>f</source> is a derived function. Many APLs display a derived function by placing its operands next to the operator, as it is written:
Here the value of <syntaxhighlight lang=apl inline>f</syntaxhighlight> is a derived function. Many APLs display a derived function by placing its operands next to the operator, as it is written:
<source lang=apl>
<syntaxhighlight lang=apl>
       f
       f
⌈/
⌈/
</source>
</syntaxhighlight>
{{Works in|[[Dyalog APL]]}}
{{Works in|[[Dyalog APL]]}}


In APL a [[user-defined operator]] such as a [[tradop]] or [[dop]] creates a derived function from its arguments without executing any of the user's code. In [[J]], the user's code is evaluated and must return a value, which could but doesn't have to be a derived function.
In APL a [[user-defined operator]] such as a [[tradop]] or [[dop]] creates a derived function from its arguments without executing any of the user's code. In [[J]], the user's code is evaluated and must return a value, which could but doesn't have to be a derived function.


{{APL syntax}}
{{APL syntax}}[[Category:Kinds of functions]][[Category:Defining functions]]

Navigation menu