45
edits
No edit summary |
No edit summary |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 10: | Line 10: | ||
| latest release version = K7 "Shakti" / 2019 | | latest release version = K7 "Shakti" / 2019 | ||
| implementation language = [[wikipedia:C_(programming_language)|C]], [http://kparc.com/b/ B] | | implementation language = [[wikipedia:C_(programming_language)|C]], [http://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://kx.com/ Kx Systems], [https://shakti.com/ Shakti] | ||
Line 16: | Line 16: | ||
| download = [https://kx.com/connect-with-us/download/ K4], [https://shakti.com/download/ K7] | | download = [https://kx.com/connect-with-us/download/ K4], [https://shakti.com/download/ K7] | ||
| influenced by = [[A+]], [[J]], [[wikipedia:Scheme_(programming_language)|Scheme]] | | influenced by = [[A+]], [[J]], [[wikipedia:Scheme_(programming_language)|Scheme]] | ||
| influenced = [[Q]], [[RAD]] | | influenced = [[Q]], [[RAD]], [[Kona]], [[Klong]], [[oK]], [[ngn/k]] | ||
| run online = [https://kparc.io/kc K7] | | run online = [https://kparc.io/kc K7] | ||
}} | }} | ||
'''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 | '''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 ("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 <source lang=apl inline>Ø</source> and <source lang=apl inline>∞</source>. | ||
== Releases == | == Releases == | ||
Line 43: | Line 43: | ||
|} | |} | ||
== Primitives == | |||
=== K3 === | |||
From the [https://github.com/kevinlawler/kona/wiki#verbs Kona Wiki]. | |||
{|class=wikitable | |||
! Verb !! Monadic !! Dyadic !! Triadic !! Tetradic | |||
|- | |||
| <source lang=k inline>+</source> || flip ([[Transpose]]) || [[plus]] || || | |||
|- | |||
| <source lang=k inline>-</source> || [[negate]] || [[minus]] || || | |||
|- | |||
| <source lang=k inline>*</source> || [[first]] || [[times]] || || | |||
|- | |||
| <source lang=k inline>%</source> || [[reciprocal]] || [[divide]] || || | |||
|- | |||
| <source lang=k inline>|</source> || [[reverse]] || [[max]]|[[or]] || || | |||
|- | |||
| <source lang=k inline>&</source> || [[where]] || [[min]]|[[and]] || || | |||
|- | |||
| <source lang=k inline>^</source> || [[shape]] || [[power]] || || | |||
|- | |||
| <source lang=k inline>!</source> || enumerate (includes [[Iota]]) || [[rotate]]|[[mod]] || || | |||
|- | |||
| <source lang=k inline><</source> || [[grade up]] || [[less than]] || || | |||
|- | |||
| <source lang=k inline>></source> || [[grade down]] || [[greater than]] || || | |||
|- | |||
| <source lang=k inline>=</source> || [[group]] || [[equals]] || || | |||
|- | |||
| <source lang=k inline>~</source> || [[not]], attribute || [[match]] || || | |||
|- | |||
| <source lang=k inline>@</source> || [[atom]] || [[Index function|at index]] || [[amend]]/trap || [[amend]] | |||
|- | |||
| <source lang=k inline>?</source> || range ([[Unique]]) || function inverse/find/draw/deal/sample || invert-guess || | |||
|- | |||
| <source lang=k inline>_</source> || [[floor]] || [[drop]]|[[Cut (K)|cut]] || || | |||
|- | |||
| <source lang=k inline>,</source> || enlist (like [[Enclose]]) || [[Catenate|join]] || || | |||
|- | |||
| <source lang=k inline>#</source> || [[count]] || [[take]]|[[reshape]] || || | |||
|- | |||
| <source lang=k inline>$</source> || [[format]] || dollar (conversions) || || | |||
|- | |||
| <source lang=k inline>.</source> || make/unmake dictionary || dot index || [[amend]]/trap || [[amend]] | |||
|- | |||
| <source lang=k inline>:</source> || colon || [[assignment]] || || | |||
|} | |||
{|class=wikitable | |||
! Adverb !! Definition | |||
|- | |||
| <source lang=k inline>/</source> || over (incudes [[Reduce]] and [[Power operator|Power]]) | |||
|- | |||
| <source lang=k inline>\</source> || [[scan]] | |||
|- | |||
| <source lang=k inline>'</source> || [[each]] | |||
|- | |||
| <source lang=k inline>/:</source> || each right | |||
|- | |||
| <source lang=k inline>\:</source> || each left | |||
|- | |||
| <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}} |
edits