Published October 25, 2026 | Version v1

K: the programming language

Authors/Creators

  • 1. ROR icon Université du Québec en Outaouais

Description

K is a minimalist programming language inspired by the algebraic principles of Milner's CCS and Hoare's CSP. Computation is modeled as partial functions (called relations) over rooted, edge-labeled trees, built from three fundamental combinators: sequential composition, concurrent choice, and parallel composition. Together with elementary tree navigation and construction, these combinators replace the control-flow constructs, variable bindings, and built-in primitive types of traditional programming languages.

In K, both partial functions (relations) and their types (called patterns) are content-addressable. Because K is Turing-complete, semantic function equality is undecidable; however, patterns denote regular tree languages, which admit an effective canonical representation. Through parameterized Named Patterns, K factors schemas into canonical linear skeletons and parameter routing vectors, enabling exact structural type equivalence, global cryptographic deduplication, and static verification with zero runtime overhead.

Files

k-paper.pdf

Files (377.8 kB)

Name Size
md5:69587ab5b9d21df730988549dbc51ed8
352.1 kB Preview Download
md5:14ed38a6dddd15906c891d88eb692ec0
25.8 kB Download

Additional details

Related works

Is supplemented by
Software: https://github.com/fraczak/k (URL)