UI//Schema-Driven UI//DSL
Domain-Specific Language -- a language designed for a narrow problem domain rather than general-purpose programming. SQL is a DSL for relational data. CSS is a DSL for styling. Terraform HCL is a DSL for infrastructure.
Domain-Specific Language -- a language designed for a narrow problem domain rather than general-purpose programming. SQL is a DSL for relational data. CSS is a DSL for styling. Terraform HCL is a DSL for infrastructure.
When a schema-driven UI config becomes expressive enough (conditionals, computed fields, validation expressions), it is a DSL
Internal DSL: embedded in a host language (React JSX, Ruby ActiveRecord queries, Drizzle ORM's query builder)
External DSL: standalone syntax with its own parser (SQL, regex, GraphQL)
The power/complexity tradeoff: a DSL restricts what you can express, which is the point -- constraints make it harder to do the wrong thing
Risk: a DSL that keeps growing features eventually becomes a bad general-purpose language (see: Salesforce SOQL, Jira JQL growing conditionals)