Designing Lispy DSLs, part 1: SCSS (2012)
Summary
An analysis of using SCSS as a case study for building Lispy DSLs. The post argues that CSS benefits from first-class representations and shows how a Scheme-like DSL can generate CSS, nest rules, and manage complex values. It also discusses problems in the CSS ecosystem, such as string handling, escaping, and shorthand properties, and outlines design rules for creating maintainable DSLs that can evolve with CSS.