L4 Concepts

Understanding-oriented explanations of the principles, theories, and design decisions behind L4.

Purpose

Concepts documentation helps you understand:

  • Why L4 works the way it does
  • How different features relate to each other
  • When to use particular patterns or approaches
  • What theoretical foundations support L4's design

Unlike reference docs (which tell you what things are) or tutorials (which show you how to do things), concepts explain the why and provide deeper understanding.


Topics

🎨 Language Design

The philosophy and principles behind L4's design

Key Ideas: Human-readable code, legal text fidelity, accessibility for non-programmers

More topics planned: Layout Sensitivity, Legal Isomorphism, Scope


Representing legal concepts in code

Key Ideas: Deontic modalities, legal rules as code, contract patterns

More topics planned: Deontic Logic, Contract Composition, Constitutive vs Regulative


🏗️ Type System

How L4's type system works

Key Ideas: Type safety, algebraic data types, functional programming influence

More topics planned: Maybe and Nothing, Type Inference


How to Use Concepts

During Learning

  • Read concept docs after you've tried the feature in practice
  • Concepts build on knowledge from courses and tutorials

For Deeper Understanding

  • Concepts explain the "why" behind language features
  • Use concepts to inform design decisions in your L4 programs

For Discussion

  • Concepts provide vocabulary for discussing L4 design
  • Reference concepts when proposing changes or new features

Further Reading

Academic Papers

  • Coming soon: Links to papers on L4's theoretical foundations