Primitives
K's primitives are designed to fit a large range of diverse functionality within the ASCII character set. This makes it typable on a keyboard, while keeping the language expressive and interesting to use.
All of K's primitives are made to be multipurpose, and have varied meanings based on the context they are used in. Symbol primitives can be either 1 or 2 characters long.
Verbs[edit]
Operator Verbs[edit]
Operator verbs use the following characters: : +  * % ! &  < > = ~ , ^ # _ $ ? @ .
.
Suffixing a verb with :
forces it to be interpreted as monadic.
Monadic forms (one argument) are listed first, dyadic forms (two arguments) are listed second.
Empty cells indicate that the primitives in the given dialect are the same as in K4K6.
K3  K4,K5,K6  K9^{*}  

monad  dyad  monad  dyad  monad  dyad  
:

identity  right  
+

transpose  add  transpose  add  


negate  subtract  negate  subtract  
*

first  multiply  first  multiply  
%

reciprocal  square root  divide  divide  
!

rotate, mod  enum, odometer, keys  mod, create dict  enum (odometer), keys  create dict  
&

where  min  where  min  


reverse  max  reverse  max  
<

grade up  lesser  ascending  lesser  
>

grade down  greater  descending  greater  
=

group, identity matrix  equal  group  equal  
~

not  match  not  match  
,

enlist  concatenate  enlist  concatenate  
^

shape  power  null?  except, fill  sort  cut 
#

length  take, reshape  count  filter, take  
_

floor, lowercase  drop, delete, cut  floor  filterout, drop  
$

string  pad, cast  string  parse  
?

distinct, randomfloat  find, random  unique  find, random  
@

atom?  type  at  type  cast  
.

eval, values  dot  eval  dot 
Special Forms[edit]
Polyadic Name  

@

amend 
.

deep amend, try 
$

if 
!

update (K4/qdb) 
?

splice 
?

select (K4/qdb) 
Named Verbs[edit]
oK  K7  K9^{*}  

utility  in prm  in within bin like find freq prm cmb  in bin within prm freq cmb 
math  sin cos exp log  sqrt sin cos abs log exp rand  sin cos log div exp sqr sqrt dot bar deltas sum sums rand 
stats  count first last min max sum avg var dev med  count first last avg med mode var mavg msum  
table(K7+)  asc dsc key  top key unkey meta  
misc  min max asc  min max countd 
Adverbs[edit]
Adverbs use the characters '
, /
and \
for their syntax.
They are primitives that take general verbs as arguments. As such they are higher order functions.
K3,K4,K5,K6  K9^{*}  

' 
each  binary search^{*}^{*}  each  binary search^{*}^{*} 
/ 
over  fixedpoint  for  while  join^{*}^{*}  base encode  over  join^{*}^{*}  base encode 
\ 
scan  scanfixedpoint  scanfor  scanwhile  split^{*}^{*}  base decode  scan  split^{*}^{*}  base decode 
': 
each prior  windows  each prior 
/: 
each right  each right 
\: 
each left  each left 
Remarks[edit]
^{*}: K9 is a nascent dialect which is still currently undergoing changes. Some pages may not be up to date with the latest build, and some are intentionally left unwritten in case of later changes.
^{*}^{*}: The primitives base encode, base decode, binary search, join and split are verbs in the adverb syntax space. They are distinguished by argument type.