Nand (⍲) is a dyadic scalar boolean function which tests if either argument is not true: it returns 0 if both are 1 and 1 if at least one is 0. It represents the Sheffer stroke or alternative denial in Boolean logic. Nand is the boolean negation ~ of the And function ∧, and so its glyph is composed from those. However, fonts vary in how they compose them; some overlaying the glyphs (∧̴), and some stacking them (∧̃).
Examples
The following shows all possible combinations of inputs as a Boolean function.
0 0 1 1 ⍲ 0 1 0 1
1 1 1 0
History
Nand and Nor were added to APL\360 between its original implementation in 1966 and public release in 1968, most likely in 1967. Peter Calingaert suggested them so that all nontrivial dyadic Boolean functions (those that depend on both arguments) would be represented as primitives. This proposal was quickly accepted, although an initial choice to overstrike minus with logical symbols for the glyphs was changed to use tilde instead due to their poor appearance with the type ball's font.[1]
External links
Documentation
References
| APL built-ins [edit]
|
| Primitives (Timeline) |
Functions
|
| Scalar
|
| Monadic
|
Conjugate ∙ Negate ∙ Signum ∙ Reciprocal ∙ Magnitude ∙ Exponential ∙ Natural Logarithm ∙ Floor ∙ Ceiling ∙ Factorial ∙ Not ∙ Pi Times ∙ Roll ∙ Type ∙ Imaginary ∙ Square Root ∙ Round
|
| Dyadic
|
Add ∙ Subtract ∙ Times ∙ Divide ∙ Residue ∙ Power ∙ Logarithm ∙ Minimum ∙ Maximum ∙ Binomial ∙ Comparison functions ∙ Boolean functions (And, Or, Nand, Nor) ∙ GCD ∙ LCM ∙ Circular ∙ Complex ∙ Root
|
| Non-Scalar
|
| Structural
|
Shape ∙ Reshape ∙ Tally ∙ Depth ∙ Ravel ∙ Enlist ∙ Table ∙ Catenate ∙ Reverse ∙ Rotate ∙ Transpose ∙ Raze ∙ Mix ∙ Split ∙ Enclose ∙ Nest ∙ Cut (K) ∙ Pair ∙ Link ∙ Partitioned Enclose ∙ Partition
|
| Selection
|
First ∙ Pick ∙ Take ∙ Drop ∙ Unique ∙ Identity ∙ Stop ∙ Select ∙ Replicate ∙ Expand ∙ Set functions (Intersection ∙ Union ∙ Without) ∙ Bracket indexing ∙ Index ∙ Cartesian Product ∙ Sort
|
| Selector
|
Index generator ∙ Grade ∙ Index Of ∙ Interval Index ∙ Indices ∙ Deal ∙ Prefix and suffix vectors
|
| Computational
|
Match ∙ Not Match ∙ Membership ∙ Find ∙ Nub Sieve ∙ Encode ∙ Decode ∙ Matrix Inverse ∙ Matrix Divide ∙ Format ∙ Execute ∙ Materialise ∙ Range ∙ Count In
|
| Operators |
Monadic
|
Each ∙ Commute ∙ Constant ∙ Replicate ∙ Expand ∙ Reduce ∙ Windowed Reduce ∙ Scan ∙ Outer Product ∙ Key ∙ I-Beam ∙ Spawn ∙ Function axis ∙ Identity (Null, Ident)
|
| Dyadic
|
Bind ∙ Compositions (Compose, Reverse Compose, Beside, Withe, Atop, Over) ∙ Inner Product ∙ Determinant ∙ Power ∙ At ∙ Under ∙ Rank ∙ Depth ∙ Variant ∙ Stencil ∙ Cut ∙ Direct definition (operator) ∙ Identity (Lev, Dex)
|
| Quad names
|
Index origin ∙ Comparison tolerance ∙ Migration level ∙ Atomic vector
|