Monadic function: Difference between revisions

Jump to navigation Jump to search
275 bytes added ,  22:26, 10 September 2022
m
Text replacement - "<source" to "<syntaxhighlight"
Miraheze>Marshall
(Created page with "A '''monadic function''' is a function with a single argument, written to its right. It is one of three possible function valences; the other two are dyadic an...")
 
m (Text replacement - "<source" to "<syntaxhighlight")
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
A '''monadic function''' is a [[function]] with a single [[argument]], written to its right. It is one of three possible function [[valences]]; the other two are [[dyadic]] and [[niladic]]. The term '''prefix function''' is used outside of APL to describe APL's monadic function syntax.
:''For [[operator]]s with one operand, see [[Monadic operator]].''
 
A '''monadic function''' is a [[function]] with a single [[argument]], written to its right. It is one of three possible function [[valence]]s; the other two are [[dyadic]] and [[niladic]]. The term '''prefix function''' is used outside of APL to describe APL's monadic function syntax.


In APL, a single function can be both monadic and dyadic; such a function is called [[ambivalent]] or sometimes variadic. Function pages on the APL Wiki usually only describe one valence of an ambivalent function because the connection between the two may not be consistent across languages. In this case the function is described as monadic even though it may only be half of an ambivalent function.
In APL, a single function can be both monadic and dyadic; such a function is called [[ambivalent]] or sometimes variadic. Function pages on the APL Wiki usually only describe one valence of an ambivalent function because the connection between the two may not be consistent across languages. In this case the function is described as monadic even though it may only be half of an ambivalent function.


A sequence of monadic functions is evaluated from right to left, a convention [[Comparison with traditional mathematics|drawn from mathematics]]. Such a sequence can be seen in the following expression:
A sequence of monadic functions is evaluated from right to left, a convention [[Comparison with traditional mathematics|drawn from mathematics]]. Such a sequence can be seen in the following expression:
<source lang=apl>
<syntaxhighlight lang=apl>
       f ← {⍵,⌽⍵}
       f ← {⍵,⌽⍵}
       f ×⍨ ⍳ 5
       f ×⍨ ⍳ 5
1 4 9 16 25 25 16 9 4 1
1 4 9 16 25 25 16 9 4 1
</source>
</syntaxhighlight>
The functions <source lang=apl inline>f</source>, <source lang=apl inline>×⍨</source> ([[Times]] [[Commute]]), and <source lang=apl inline>⍳</source> ([[Iota]]) are each monadic functions: a named [[dfn]], a [[derived function]], and a [[primitive]], respectively. Evaluating them first produces the [[Index|indices]] up to 5, then multiplies each index by itself to square it, then [[Catenate|catenates]] the resulting list to its [[reverse]].
The functions <syntaxhighlight lang=apl inline>f</syntaxhighlight>, <syntaxhighlight lang=apl inline>×⍨</syntaxhighlight> ([[Times]] [[Commute]]), and <syntaxhighlight lang=apl inline>⍳</syntaxhighlight> ([[Iota]]) are each monadic functions: a named [[dfn]], a [[derived function]], and a [[primitive function|primitive]], respectively. Evaluating them first produces the [[Index|indices]] up to 5, then multiplies each index by itself to square it, then [[catenate]]s the resulting list to its [[reverse]].
 
== External links ==
 
* [http://wiki.nars2000.org/index.php/Monadic NARS2000]
{{APL syntax}}[[Category:Kinds of functions]]

Navigation menu