type

From The K Language Wiki
Type
@x

The type primitive returns a constant (usually a symbol or character or integer) identifying the type of a k value. The set of types varies a lot between dialects. Some implementations have types that are internally considered different (e.g. for the purposes of match) but presented to the user as identical.

In k2, k3, and kona[1] @x returns 1 for atoms and 0 for non-atoms.

Type Classification k4[2] oK ngn/k k9 Example
list generic

list

mixed-type 0 "*" 0 `A `* (0;`1;"2";{3};%)
unitype `LT (0 1;2 3)
typed

list

ints 1-bit (bool) 1 "b" N/A `I 0 1
8-bit (byte) 4 "x" `I 0 100
16-bit (short) 5 "h" 0 10000
32-bit (int) 6 "i" -2147483648 2147483647
64-bit (long) 7 "j" 0N 9223372036854775807
floats 32-bit (single) 8 "e" N/A ?
64-bit (double) 9 "f" `F `F 3.14 -0w 0w 1.2e308 0n
chars (string) 10 "c" `C `C "ab"
symbols 11 "s" `S `N ``a`b
temporals 12..19 N/A N/A ?
table 98 N/A `M `A +`a`b!(0 1;2 3)
dictionary 99 99 `m `a `a`b!0 1
atom data

atom

int 1-bit (bool) -1 -9 N/A `i 1
8-bit (byte) -4 `i 100
16-bit (short) -5 10000
32-bit (int) -6 2147483647
64-bit (long) -7 9223372036854775807
float 32-bit (single) -8 N/A ?
64-bit (double) -9 `f `f 3.14
char -10 -10 `c `c "a"
symbol -11 -11 `s `n `
temporal -19..-12 N/A N/A ?
function user-defined 100 102 `o `. {}
primitive monadic verb 101 107 `u +:
dyadic verb 102 `v +
adverb 103 N/A `w N/A /
projection 104 107 `p `. 1+
composition 105 `q ++
derived verb 106..111 N/A `r +/
external 112 N/A `x ?