Documentation
README
Safely Disposable Code via Contracts
Every implementation should be disposable. The system's correctness is defined by its contracts, not by any particular implementation behind them.
Core Principle
Define what a component does (contract), not how it does it (implementation). Any implementation that satisfies the contract is interchangeable.
A component is "safely disposable" when:
- Its behavior is fully described by a contract (trait, interface, protocol)
- No consumer depends on implementation details
- It can be deleted and rewritten from the contract alone without breaking the system
Workflow
Step 1: Define the Contract
Start with the contract. Write the trait/interface before any implementation.
This is the opening of the README. Read the full README on GitHub.