Electronic Design Automation Domain-Specific Language
Work in progress — no public interpreter released yet
A domain-specific language for electronic design automation (schematic capture and PCB layout). Circuits are plain text: parts, nets, connections, physical constraints, solver setup. The spec is detailed enough that 10 independent developers can read it and each end up with a functionally identical implementation.
Features
Circuits as text — parts, nets and connections via elec.part, elec.net, elec.connect
Two output targets — make.schematic and make.pcb
Physical constraints — length and inductance matching (phys.connmatch), handled by a solver model
~700 built-in functions — math, trig, tensors, linear algebra, strings
Static types — int, real, complex, tensor, list, set