Difference between revisions of "K"

From APL Wiki
Jump to navigation Jump to search
m (Reverted edits by Adám Brudzewsky (talk) to last revision by Marshall)
Tag: Rollback
Line 108: Line 108:
| <source lang=k inline>':</source> || eachpair (like [[Windowed Reduce]])
| <source lang=k inline>':</source> || eachpair (like [[Windowed Reduce]])
==External links==
* [https://ngn.bitbucket.io/k.html Overview of K implementations]
{{APL dialects}}
{{APL dialects}}

Revision as of 20:52, 22 January 2020

K denotes a family of programming languages designed by Arthur Whitney and commercialized by Morgan Stanley, Kx Systems, and Shakti. In 1985, while at Morgan Stanley, Whitney created the statically typed A dialect of APL. His colleagues extended A into A+ in 1988. Finally, Whitney presented the first K implementation in 1992, a "reduced instruction set" dialect which only used ASCII glyphs and limited arrays to (nested) vectors. For a long time, K's main role was as implementation language for Q, the query language of kdb+, which is an in-memory, column-based database. K7 ("Shakti K") is the first K to have full Unicode support, and it also uses a limited set non-ASCII symbols in the core language, for example Ø and .


See The Evolution of Database Software.

Year Version
1992 K0
1994 K1
1996 K2
2000 K4
unreleased K5
unreleased K6
2018 K7 (Shakti)



From the Kona Wiki.

Verb Monadic Dyadic Triadic Tetradic
+ flip (Transpose) plus
- negate minus
* first times
% reciprocal divide
| reverse max|or
& where min|and
^ shape power
! enumerate (includes Iota) rotate|mod
< grade up less than
> grade down greater than
= group equals
~ not, attribute match
@ atom at index amend/trap amend
? range (Unique) function inverse/find/draw/deal/sample invert-guess
_ floor drop|cut
, enlist (like Enclose) join
# count take|reshape
$ format dollar (conversions)
. make/unmake dictionary dot index amend/trap amend
: colon assignment
Adverb Definition
/ over (incudes Reduce and Power)
\ scan
' each
/: each right
\: each left
': eachpair (like Windowed Reduce)

External links

APL dialects [edit]
Maintained APL+Win (APL*PLUS) ∙ APL2APL64APL\ivAprilCo-dfnsDyalog APLdzaima/APLExtended Dyalog APLGNU APLNARS2000ngn/apl
Historical Iverson notationA Programming LanguageA+ (A) ∙ APL#APL.68000APL.SVAPLXAPL\1130APL\3000APL\360NARSopenAPLRowanSAXSHARP APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLAPL\ivELIIIvyJJellyK (Q, KDB+) ∙ LYaPASNialRAD