Previous: , Up: Top  


21 Conclusion

I expect you are pleasantly surprised by the speed of k9 and by the fact that it all fits in 134,152 bytes! (For comparison the ls program weighs in at 51,888 bytes and can’t even change directory.)

If you’re frustrated by the syntax or terse errors, then you’re not alone. Many have had the same problems, but persevered, and finally came away a power user able to squeeze information from data faster than previously imagined.

Eventually, you’ll realize that this manual isn’t needed and it’s all here...

python:from k import k;k('+',2,3);nodejs:k=require('k').k;k('+',2,3)
*ffi:"./a.so"5:`a!"fi" //double a(int x){return 2.3+x;}

$k [-p 1024] a.k
verb                   adverb                  noun
: x         y          f' each                 char " ab"              \l a.k
+ flip      plus    [x]f/ over      c/ join    name ``ab               \t:n x
- minus     minus   [x]f\ scan      c\ splt    int  2 3                \u:n x
* first     times   [y]f':eachprior            flt  2 3.4 0w 0n        \v
%           divide     f/:eachright g/:over    date 2021.06.28   .z.d
& where     min/and    f\:eachleft  g\:scan    time 12:34:56.789 .z.t
| reverse   max/or     
< asc       less       i/o (*enterprise)       class                   \f
> desc      more       0: r/w line (N;C)0:     list (2;3.4;`c)         \fl x
= group     equal      1: r/w char             dict [n:`b;i:2]         \fc x   
~ not       match     *2: r/w data             func {[a;b]a+b}         \fs x
! key       key       *3: k-ipc set            expr :a+b               \cd [d]
, enlist    cat       *4: https get            
^ sort   [f]cut       *5: ffi:`f!"ifsIF"
# count  [f]take                              
_ floor  [f]drop                      
$ string    parse      $[b;t;f] cond
? unique    find                               limit {[p8]l8;g32;c128}
@ type   [f]at         @[x;i;f[;y]] amend      table [[]n:`b`c;i:2 3]
. value  [f]dot        .[x;i;f[;y]] dmend     utable  [[n:`b`c]i:2 3]

math: sqrt sqr exp log sin cos div mod bar in bin
aggr: count first last min max sum dot avg var [dev med mode ..]
sql: select A by B from T where C; update A from T; delete from T where C

/comment \trace [:return 'signal if do while] \\exit

Previous: , Up: Top