Arthur Whitney releases an open-source subset of K with MIT license

Scope of the Release

  • This is an MIT-licensed, open-source subset of K, not the full commercial language or database.
  • Functionality is currently very limited: described as “a desktop calculator,” missing functions, conditionals, loops, paired syntax, stranding, and tacit functions.
  • Many primitives are unimplemented or buggy; users report easy segfaults and nonsensical results for basic operations.
  • Several commenters suggest it’s better seen as an educational or stylistic artifact than a practical K implementation; other open-source K variants are recommended for actual use.

Code Style and Readability

  • The C source is extremely dense: single-letter variables, many expressions per line, heavy macro use, almost no comments.
  • Some see it as effectively obfuscated or elitist, arguing it’s hostile to maintenance, teams, and long-term evolution.
  • Others frame it as a deliberate “array-language style” of C that becomes readable once you learn the idioms, similar to regexes, APL, J, or dense NumPy/Pandas one-liners.
  • Debugging is said to rely on interactivity and short code: you inspect small fragments in a REPL or rewrite from scratch instead of using a traditional debugger.

Array Languages: Pros, Cons, and Use Cases

  • Supporters argue array languages provide:
    • Extremely high expressiveness for numerical and data-manipulation tasks.
    • Fast development cycles for experts, especially for custom modeling and exploratory work.
    • A mental “shift” that can significantly change how you approach data problems.
  • Critics counter that:
    • Terseness often reduces clarity; more verbose Python/R/Matlab code can be faster to develop and maintain in practice.
    • Ecosystem, libraries, and tooling in mainstream languages often outweigh any syntactic advantage.
    • Some view the style as “write-only” and risky for production systems.

Performance Claims and Pricing

  • The author claims huge performance gaps over mainstream databases and tools; commenters are divided.
  • Some say such speedups are plausible for narrow, well-chosen analytical tasks on columnar, in-memory data.
  • Others are skeptical, noting:
    • Anti-benchmark clauses in commercial licenses.
    • Lack of independent, reproducible benchmarks.
    • Modern columnar/OLAP systems and GPU-backed Python stacks can be very competitive.

Practicalities and Ecosystem

  • Compilation currently requires specific hardware (x86-64 with AVX2 or ARM64) and a narrow toolchain (clang-13); gcc and newer clang versions need workarounds.
  • Documentation and website are widely described as cryptic and unwelcoming.
  • There is interest in packaging and experimenting, but consensus that this release is best treated as a curiosity or learning resource rather than a production-ready tool.