00-foreword (pocket version)

TL;DR (5 lines)

  • Vitte favors explicit contracts over implicit convention.
  • A philosophy chapter still needs code, not only prose.
  • The smallest useful example already separates domain and transport.
  • Invalid paths are part of the design contract.
  • Readable structure is a technical property, not decoration.

Concrete Problem

Readers often learn syntax before learning the design contract of the language. That creates code that compiles but is hard to maintain, review, or debug.

Coherent example

space demo/philosophy

form BuildRequest {
  name: string
  retries: int
}

pick Decision {
  case Accepted(name: string)
  case Rejected(code: int)
}

proc decide(req: BuildRequest) -> Decision {
  if req.name == "" { give Decision.Rejected(11) }
  if req.retries < 0 { give Decision.Rejected(12) }
  give Decision.Accepted(req.name)
}

entry main at core/app {
  return 0
}

Global explanation

The chapter is not about one token. It is about explicit contracts, clear boundaries, and stable failure surfaces. The example is small, but it already separates domain data, decision logic, and process entry.

Short exercise

Take one vague helper in your own code and rewrite it so that the domain input, the branch conditions, and the result boundary are explicit.

Next best action

Keep the example small, reproduce it locally, then continue to the full chapter if you need the broader context.