Skip to content

Learning Path 30 Min

Simon B.Stirling edited this page Mar 2, 2026 · 1 revision

L0 Learning Path (30 Minutes)

I use this as the shortest deterministic path to become productive with L0.

0-5 Minutes: Core Shape

Read:

  • docs/HOW_TO_WRITE_L0.md
  • docs/LLM_QUICK_REFERENCE.md

Goal:

  • understand section order, id families, and instruction line forms.

5-10 Minutes: First Run

Run:

./bin/l0c verify docs/examples/01_arithmetic_add_wrap.l0
./bin/l0c build docs/examples/01_arithmetic_add_wrap.l0 /tmp/l0_lp_add.img
./bin/l0c run /tmp/l0_lp_add.img 5 8

Goal:

  • see verify/build/run loop and expected numeric output.

10-15 Minutes: Control Flow

Run:

./bin/l0c verify docs/examples/03_control_cbr_select.l0
./bin/l0c build docs/examples/03_control_cbr_select.l0 /tmp/l0_lp_cbr.img
./bin/l0c run /tmp/l0_lp_cbr.img 1
./bin/l0c run /tmp/l0_lp_cbr.img 0

Goal:

  • see icmp.eq + cbr behavior and block-level control flow.

15-20 Minutes: Memory and Calls

Run:

./bin/l0c verify docs/examples/04_memory_roundtrip.l0
./bin/l0c verify docs/examples/06_call_add_two_function.l0

Goal:

  • understand memory/call shapes that verifier accepts.

20-25 Minutes: Debug and Trace

Run:

./bin/l0c build docs/examples/10_intrinsic_trace.l0 /tmp/l0_lp_trace.img --debug-map /tmp/l0_lp_trace.map --trace-schema /tmp/l0_lp_trace.schema
./bin/l0c run /tmp/l0_lp_trace.img 123 >/tmp/l0_lp_trace.out 2>/tmp/l0_lp_trace.bin
./bin/l0c tracejoin /tmp/l0_lp_trace.bin /tmp/l0_lp_trace.map

Goal:

  • map runtime trace values to instruction ranges.

25-30 Minutes: Error Model and Contracts

Read:

  • docs/ERROR_MODEL.md
  • docs/COMPATIBILITY_POLICY.md
  • docs/PRODUCTION_READINESS.md

Goal:

  • know failure classes and what counts as stable behavior.

Clone this wiki locally