And then there's J, which, man. Hard to learn, but cool.
And then there's J, which, man. Hard to learn, but cool.
[0] https://codeberg.org/ngn/k
[1] https://aplwiki.com/wiki/List_of_open-source_array_languages
1 Nigerian naira / Boltzmann constant = 1.75931815 × 10^20 m^-2 kg^-1 s^2 K U.S. dollars
Since Kx is the proprietor of the main toolchain I assume such any such description would be more of an oral history rather than a technical document with a changelog, but I'm curious either way!
EDIT: There is a wiki page for this but it hasn't been filled out (yet) unfortunately. Sad trombone. https://k.miraheze.org/wiki/History
K2-K4
K5-K6
K7-K9
From my knowledge. Each group has the same general primitives and syntax, and major changes happen between those eras. Since K's design allows removal and addition of features, this is very hard to document. This, combined with Arthur Whitney's rocky relationship with documentation makes most sources of changes anecdotal. Most changes to primitives have been documented in the wiki's primitive pages. I'll have to summarize them in the history pages.
K4 has good docs, and K6 has a well-written manual on oK's repository. The rest are a fill-in-the-blanks game which have to be fished from archive pages and a lot of trial and error. K9, the latest one is still undergoing changes, but there are ongoing efforts to make tutorials in kparc/kcc and estradajke/k9-simples on github.
Back in 2002, I remember reading an article on kuro5hin where the author wrote: "I have heard rumors that there would be interest in opening up the language if there would be enough community response around it."
https://web.archive.org/web/20050621080857/http://www.kuro5h...
The source code for J7 is still available and it still compiles with only a few small edits:
https://web.archive.org/web/20161024144956/http://www.math.u...
People commenting on today's web like to make fun of the idea that anything about computing was "better" in the past (and they like to crticise C too), but just look at how portable this code was designed to be. Moreover, it is as old as the web itself and it still compiles today.
What is the longevity of something written in Javascript.
There was this on Slashdot:
"Arthur told me that he will open-source it, if there is sufficient interest. It is not very difficult to obtain the source from kx for your private use right now."
http://developers.slashdot.org/comments.pl?sid=28597&cid=307...
I wrote some JavaScript in the late 90s which is still being used as part of a complex financial services value chain.
The idea that computing was better in the past is indeed silly, and completely ignores all the advances in understanding that have been made in the last many decades.
If your opinion is different, I can assure you that's due to ignorance.
K is inspired by Lisp, although you can't adapt that style directly because of the limited scoping rules: variables are either local or global, so a function can't see variables from containing functions. This means no closures, which K implementers consider a feature (I don't).
having not touched K in about 15 years, when did this change? in k3:
K 3.2 2004-09-23 Copyright (C) 1993-2004 Kx Systems
LIN32 16CPU 15985MB ubuntu 0 EVAL
f:{a:x+1;{a+x}}
g:f 1
g
{a+x}
g 2
4
a
value error
a
^
parse errorSee https://news.ycombinator.com/item?id=22572778, as well as https://chat.stackexchange.com/transcript/message/53999576#5... with more discussion on following days.
That is definitely desirable! K (and kin) are fully referentially transparent and have value semantics. It would be bizarre and inconsistent to break referential transparency for closures.
Can't find any pricing info on their website. How expensive is "expensive"?