Start here
Welcome
The language and kernel under copperhead.
Fang is a Python-embedded language for circuit boards and the typed kernel that holds what you write. You author intent. The kernel decides what is true about it and refuses what it cannot justify.
It is the layer under copperhead. Copperhead is the agent you talk to. Fang is what it writes and what checks the writing.
Start here
Section titled “Start here”- Introduction: what fang is and what it refuses to do
- Installation: install it and build your first board
- Examples: eight programs, smallest first
Concepts
Section titled “Concepts”- Three phases: elaboration, operation and commit
- One canonical model: the governing invariant
- Values and undecided: the third truth value
- The commit gate: six conditions, one path in
- Interfaces and lowering: connections to pins
- Rationale: keeping the reasoning in the graph
Reference
Section titled “Reference”- CLI: every command, option and exit code
- Language: the authoring surface
- Interfaces: the catalogue
- Parts: the standard library
- Views: the six required views
- Simulation: plans, lowering and backends
- Workspace: what
.copperhead/holds - Diagnostics: every code fang emits
The normative document is the spec. Where these pages and the spec disagree, the spec is right and this is a bug.