{ }                         { }
     /   \       {.lang name}      |
   lang   by          -->         name
    |      |                       |
   'k'  'wojtek'                  'k'

The k-language Book

This book describes the k programming language - a minimal functional language for transforming tree-structured data using partial functions and algebraic data types.

Table of Contents

  1. Introduction
  2. Syntax and Values
  3. Types as Finite Automata
  4. Partial Functions and Composition
  5. Typing, Filters, and Normalization
  6. Values in Memory
  7. The Partial Function ABI
  8. Operational Semantics and Execution
  9. Compiler Architecture
  10. From AST to Intermediate Representation
  11. LLVM Basics
  12. Code Generation
  13. Linking and Execution
  14. Canonical Serialization
  15. Optimization and Folding
  16. Toward a Universal Schema Registry

Appendices


Note: This is the master file. Individual chapters are stored in the book/ directory for easier editing and maintenance. Each chapter can be edited independently and the changes will be reflected when the individual files are viewed.

Usage