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
- Principles - Core design principles of L4
Key Ideas: Human-readable code, legal text fidelity, accessibility for non-programmers
More topics planned: Layout Sensitivity, Legal Isomorphism, Scope
⚖️ Legal Modeling
Representing legal concepts in code
- Regulative Rules - Obligations, permissions, prohibitions
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
- Algebraic Types - Sum types and product types
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