Not: Difference between revisions
Miraheze>Marshall (Created page with "{{Built-in|Not|~}} is a primitive monadic scalar function that returns the [https://en.wikipedia.org/wiki/Negation logical negation] of a Bool...") |
Miraheze>Adám Brudzewsky No edit summary |
||
Line 1: | Line 1: | ||
{{Built-in|Not|~}} is a [[Primitive function|primitive]] [[monadic]] [[scalar function]] that returns the [https://en.wikipedia.org/wiki/Negation logical negation] of a [[Boolean]] argument—that is, 0 if the argument is 1 and 1 if it is 0. In some languages, such as [[J]], it is extended so that Not <source lang=apl inline>x</source> is equivalent to <source lang=apl inline>1-x</source>. | {{Built-in|Not|~}} is a [[Primitive function|primitive]] [[monadic]] [[scalar function]] that returns the [https://en.wikipedia.org/wiki/Negation logical negation] of a [[Boolean]] argument—that is, 0 if the argument is 1 and 1 if it is 0. In some languages, such as [[J]], it is extended so that Not <source lang=apl inline>x</source> is equivalent to <source lang=apl inline>1-x</source> while in others, such as [[K]], it is extended so that Not <source lang=apl inline>x</source> is equivalent to <source lang=apl inline>0≠x</source>. | ||
== Examples == | == Examples == | ||
Line 21: | Line 21: | ||
== History == | == History == | ||
[[A Programming Language]] negates arrays using an overbar symbol like <math>\overline{p}</math>, matching a convention sometimes used in mathematics. In [[APL\360]] the current symbol <source lang=apl inline>~</source> was chosen, also due to its use in mathematics. Mathematical usage has arguably diverged from APL in this respect, as the negation of a variable <math>p</math> is now more often written <math>\neg p</math>, using the symbol ¬, when a prefix operator is desired. | [[A Programming Language]] negates arrays using an overbar symbol like <math>\overline{p}</math>, matching a convention sometimes used in mathematics. In [[APL\360]] the current symbol <source lang=apl inline>~</source> was chosen, also due to its use in mathematics. Mathematical usage has arguably diverged from APL in this respect, as the negation of a variable <math>p</math> is now more often written <math>\neg p</math>, using the symbol </math>¬</math>, when a prefix operator is desired. | ||
The arithmetic extension <source lang=apl inline>~x</source> {{←→}} <source lang=apl inline>1-x</source> was introduced to the array langauge family by [[J]]. For arguments in the interval <math>[0,1]</math> this extension may be seen as a probabilistic interpretation of negation. | The arithmetic extension <source lang=apl inline>~x</source> {{←→}} <source lang=apl inline>1-x</source> was introduced to the array langauge family by [[J]]. For arguments in the interval <math>[0,1]</math> this extension may be seen as a probabilistic interpretation of negation. |
Revision as of 23:00, 4 November 2019
~
|
Not (~
) is a primitive monadic scalar function that returns the logical negation of a Boolean argument—that is, 0 if the argument is 1 and 1 if it is 0. In some languages, such as J, it is extended so that Not x
is equivalent to 1-x
while in others, such as K, it is extended so that Not x
is equivalent to 0≠x
.
Examples
~ 0 1 1 0 1 1 0 0 1 0
Attempting to negate a non-Boolean argument usually results in a DOMAIN ERROR. In some languages it may instead subtract the argument from one.
~ 0 0.5 1 DOMAIN ERROR ~0 0.5 1 ∧
Properties
Not is the only Boolean function of a single argument which depends on that argument (it is not constant) and is not trivial (the same as Identity). Not is its own Inverse.
History
A Programming Language negates arrays using an overbar symbol like , matching a convention sometimes used in mathematics. In APL\360 the current symbol ~
was chosen, also due to its use in mathematics. Mathematical usage has arguably diverged from APL in this respect, as the negation of a variable is now more often written , using the symbol </math>¬</math>, when a prefix operator is desired.
The arithmetic extension ~x
1-x
was introduced to the array langauge family by J. For arguments in the interval this extension may be seen as a probabilistic interpretation of negation.
External links
Lessons
Documentation