4 ms·
Do note that this is K2/K3 vs. J J hasn't changed much, but K has. K9, the most recent incarnation, is much simpler and more generic than the version described
by beagle3 6y ago
Do note that this is K2/K3 vs. J
J hasn't changed much, but K has. K9, the most recent incarnation, is much simpler and more generic than the version described here, and also significantly faster.
- tluyben2 6y agoThe latest k is also still under active development by Arthur and colleagues under Shakti. There are frequent releases to play with.
- rscho 6y agoI know a fair bit of J, but never used K. What do you mean by "more generic"? I'm interested.
- beagle3 6y agoIt has 3 data shapes: atom, list, dict. Lists of elements of the same kind are called a vector, are more efficient, and are like J/APLs one dimensional array - but semantically are the same as any other list. A matrix is represented by a list of lists. No specialization there. You work on the 2nd dimension with “each”, on the 3rd with “each each”. Integers are all 64 but, but storage expands and contracts based on actual range. There is one operator for both “where” and “replicate”, one operator used for both “or” and “max”, similarly “and” and “min”. K is less pure and prefers to reuse concepts like lists instead of having more complicated (though sometimes helpful) structures like multiple dimensions. Hope that helps.