Primitives: Difference between revisions

From The K Language Wiki
Content added Content deleted
m ('has' is not in k9 anymore)
Line 107: Line 107:
| [[in]] [[prm]]
| [[in]] [[prm]]
| [[in]] [[within]] [[bin]] [[like]] [[find]] [[freq]] [[prm]] [[cmb]]
| [[in]] [[within]] [[bin]] [[like]] [[find]] [[freq]] [[prm]] [[cmb]]
|[[in]] [[bin]] [[within]] [[has]] [[prm]] [[freq]] [[cmb]]
|[[in]] [[bin]] [[within]] [[prm]] [[freq]] [[cmb]]
|-
|-
|math
|math

Revision as of 13:34, 22 August 2021

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

Single argument forms(monadic) listed first, two-argument forms(dyadic) listed second.

Empty cells indicate that the primitives are the same as K4-K6.

Table of Primitives in major dialects
K3 K4-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
! 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 filter-out, drop
$ string pad, cast string parse
? distinct, random-float find, random unique find, random (with floats)
@ atom? type at type cast
. eval, values dot eval dot
Table of named primitives based on implementation
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 [n]log [n]exp [n]rand sin cos log div(`i) 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

K3-K6 K9
' each | binary search each | binary search
/ over | fixedpoint | for | while | join | base encode over | join | base encode
\ scan | scan-fixedpoint | scan-for | scan-while | split | base decode scan | split | base decode
': each prior | windows each prior
/: each right each right
\: each left each left