3,038
edits
No edit summary |
m (→Primitives: Link enlist to Pair) |
||
(13 intermediate revisions by 4 users not shown) | |||
Line 9: | Line 9: | ||
| developer = [[Arthur Whitney]] | | developer = [[Arthur Whitney]] | ||
| latest release version = K9 "Shakti" / 2020 | | latest release version = K9 "Shakti" / 2020 | ||
| implementation languages = [[wikipedia:C_(programming_language)|C]], [ | | implementation languages = [[wikipedia:C_(programming_language)|C]], [https://web.archive.org/web/20220823171916/https://kparc.com/b/ B] | ||
| platforms = macOS, Linux, Windows, [[kOS]] | | platforms = macOS, Linux, Windows, [[kOS]] | ||
| license = Free for personal use / Proprietary commercial software (free open source implementations exist) | | license = Free for personal use / Proprietary commercial software (free open source implementations exist) | ||
| website = [https://kx.com/ Kx Systems], [https://shakti.com/ Shakti] | | website = [https://k.miraheze.org/ Wiki], [https://kx.com/ Kx Systems], [https://shakti.com/ Shakti] | ||
| documentation = [ | | documentation = [https://web.archive.org/web/20220826224612/https://kparc.com/k.txt K4], [https://kparc.github.io/ref/ K9], [https://k.miraheze.org/ Wiki] | ||
| download = [https://kx.com/connect-with-us/download/ K4], [https://shakti.com/download/ K9] | | download = [https://kx.com/connect-with-us/download/ K4], [https://shakti.com/download/ K9] | ||
| influenced by = [[A+]], [[wikipedia:Scheme_(programming_language)|Scheme]] | | influenced by = [[A+]], [[wikipedia:Scheme_(programming_language)|Scheme]] | ||
| influenced = [[Q]], [[RAD]], [[Kona]], [[Klong]], [[kuc]], [[oK]], [[ngn/k]], [[xs]] | | influenced = [[Q]], [[RAD]], [[Kona]], [[Klong]], [[kuc]], [[oK]], [[ngn/k]], [[xs]], [[Goal]] | ||
| run online = [https://kparc.com/k/ K9] | | run online = [https://web.archive.org/web/20220905101252/https://kparc.com/k/ K9] | ||
}} | }} | ||
'''K''' denotes a family of programming languages designed by [[Arthur Whitney]] | '''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 64: | Line 64: | ||
| <code>%</code> || [[reciprocal]] || [[divide]] || || | | <code>%</code> || [[reciprocal]] || [[divide]] || || | ||
|- | |- | ||
| <code><nowiki>|</nowiki></code> || [[reverse]] | | <code><nowiki>|</nowiki></code> || [[reverse]] || [[max]]|[[or]] || || | ||
|- | |- | ||
| <code>&</code> || [[where]] || [[min]]|[[and]] || || | | <code>&</code> || [[where]] || [[min]]|[[and]] || || | ||
Line 76: | Line 76: | ||
| <code>></code> || [[grade down]] || [[greater than]] || || | | <code>></code> || [[grade down]] || [[greater than]] || || | ||
|- | |- | ||
| <code>=</code> || [[group]] | | <code>=</code> || [[Group (K)|group]] || [[equals]] || || | ||
|- | |- | ||
| <code>~</code> || [[not]], attribute || [[match]] || || | | <code>~</code> || [[not]], attribute || [[match]] || || | ||
Line 86: | Line 86: | ||
| <code>_</code> || [[floor]] || [[drop]]|[[Cut (K)|cut]] || || | | <code>_</code> || [[floor]] || [[drop]]|[[Cut (K)|cut]] || || | ||
|- | |- | ||
| <code>,</code> || enlist (like | | <code>,</code> || [[Pair|enlist]] (like Enclose) || [[Catenate|join]] || || | ||
|- | |- | ||
| <code>#</code> || [[count]] || [[take]]|[[reshape]] || || | | <code>#</code> || [[count]] || [[take]]|[[reshape]] || || | ||
Line 113: | Line 113: | ||
|} | |} | ||
==External links== | == The name K == | ||
* [https:// | |||
{{APL dialects}}[[Category:K dialects]] | K's single-letter name parallels [[J]], and [[Arthur Whitney]] had offered design input on J shortly before publishing K. Unlike J, K is often written k, without capitalization. Whitney has given various explanations of the choice of letter,<ref>[[Arthur Whitney]]. Re: Why call it K? [https://web.archive.org/web/20041024214058/http://www.kx.com/listbox/k/msg06334.html response 1], [https://web.archive.org/web/20041024212043/http://www.kx.com/listbox/k/msg06335.html response 2].</ref> including "keys to the kingdom".<ref>[[Arthur Whitney]]. [http://archive.vector.org.uk/art10010830 "K"]. [[Vector Journal]] volume 10 issue 1.</ref> | ||
== External links == | |||
* [https://k.miraheze.org/ K Language Wiki] | |||
* [https://en.wikipedia.org/wiki/K_(programming_language) K (programming language)] | |||
== References == | |||
<references/> | |||
{{APL dialects}}[[Category:K dialects]][[Category:IR compilers]] |