Related reading
Parse, Don't Validate
The post argues for “parse, don’t validate”: instead of checking inputs and discarding the information, convert them into richer types that encode the validation result. Using Haskell’s NonEmpty type turns a partial head function into a total one, eliminating redundant runtime checks and catching bugs at compile time.
Hall of Famegithub.io18 minHN642230Article: Your Next DSL Author Is a Language Model
Typed Domain Grounding (TDG) embeds a DSL inside a mainstream language the LLM already knows (e.g., Kotlin) and uses the host compiler as an oracle. The author describes five building blocks—embedding, choosing a host language with high training‑data frequency, compiler‑driven type safety, a generate‑compile‑repair loop, and an on‑demand teaching tool—and shows measured results from kUML, a Kotli…
InfoQinfoq.com18 minRusty thoughts on "Parse, don't validate"
This post reviews the "Parse, don't validate" pattern in Rust, advocating for using the type system to enforce data invariants at compile time rather than relying on runtime checks. It demonstrates how custom types like NonEmpty<T>, AbsPathBuf, and NonZero prevent invalid states, improving code clarity and safety.
Dear Software Makers
Hacker News front pagejim-nielsen.comHN12091