K: Difference between revisions

Jump to navigation Jump to search
123 bytes added ,  17:32, 15 June 2023
Rewrite opening paragraph
(The name K)
(Rewrite opening paragraph)
Line 19: Line 19:
| run online              = [https://kparc.com/k/ K9]
| run online              = [https://kparc.com/k/ K9]
}}
}}
'''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 [[glyph|glyphs]] and limited arrays to [[list model|(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 (the first "Shakti K") was the first K to have full Unicode support, and it also uses a limited set non-ASCII glyphs in the core language, for example <syntaxhighlight lang=apl inline>Ø</syntaxhighlight> and <syntaxhighlight lang=apl inline>∞</syntaxhighlight>, however non-ASCII glyphs were removed in the subsequent K9.
'''K''' denotes a family of programming languages designed by [[Arthur Whitney]], which is sold by Kx Systems and Shakti and also supported by several independent implementations. K is an ASCII-only language influenced by Whitney's previous APL design [[A+]]. It has fewer primitives in part because it represents arrays as [[list model|nested lists]], unifying [[rank]] and [[depth]], and encourages [[wikipedia:Scheme_(programming_language)|Scheme]]-like functional programming with [[wikipedia:first-class function|first-class function]]s. Whitney presented the first K implementation (K0) in 1992, and soon founded [[Kx Systems]] to develop it further with versions numbering K1 through K6. K4 is now the implementation language for the time-series database kdb+ as well as derivative language [[Q]]. Whitney has developed further versions of K at Shakti, beginning with K7. Notable non-commercial implementations include [[Kona]] based on K3, and [[ngn/k]] and [[oK]] based on K6.


== Releases ==
== Releases ==
Line 119: Line 119:
== External links ==
== External links ==
* [https://k.miraheze.org/ K Language Wiki]
* [https://k.miraheze.org/ K Language Wiki]
* [https://en.wikipedia.org/wiki/K_(programming_language) K (programming language)]
* [https://ngn.bitbucket.io/k.html Overview of K implementations] including links to documentation
* [https://ngn.bitbucket.io/k.html Overview of K implementations] including links to documentation


Navigation menu